OSDN Git Service

fix:
[pettanr/pettanr.git] / app / assets / javascripts / models / panel_picture.js.coffee
1 class Pettanr.PanelPicture extends Peta.Element\r
2   url: '/panel_pictures/'\r
3   \r
4   @singular: () ->\r
5     'PanelPicture'\r
6   \r
7   @plural: () ->\r
8     'PanelPictures'\r
9   \r
10   defaults: {\r
11     id: null\r
12   } \r
13   \r
14   @pick_item_name: () ->\r
15     'resource_picture'\r
16   \r
17   @traceable_item_names: () ->\r
18     ['ground_picture', 'picture']\r
19   \r
20   trace_from_ground_picture: () ->\r
21   \r
22   trace_from_picture: () ->\r
23   \r
24   pick: (picked_item) ->\r
25     {\r
26       picture_id: picked_item.get('picture_id'),\r
27       width: picked_item.get('width'),\r
28       height: picked_item.get('height')\r
29     }\r
30   \r
31   picture: () ->\r
32     new Pettanr.Picture({id: @get('picture_id')})\r
33   \r
34   panel: (options = {}) ->\r
35     new Pettanr.Panel({id: @get('panel_id')}, options)\r
36   \r
37   @has_picture: () ->\r
38     true\r
39   \r
40   flip: () ->\r
41     v = if @get('height') > 0\r
42       ''\r
43     else\r
44       'v'\r
45     h = if @get('width') > 0\r
46       ''\r
47     else\r
48       'h'\r
49     res = v + h\r
50     res = res # format of /1.png?subdir=v\r
51     # res += '/' unless res.empty? # format of /v/1.png\r
52     res\r
53   \r
54   filename: (picture) ->\r
55     q = if _.isEmpty(@flip())\r
56       ''\r
57     else\r
58       '?subdir=' + @flip()\r
59     picture.filename() + q\r
60   \r
61   r_url: (picture) ->\r
62     '/pictures/' + @filename(picture)\r
63   \r
64   tmb_opt_img_tag: (picture) ->\r
65     new Pettanr.Image.SymbolPicture({\r
66       attr: {\r
67         src: picture.r_url(), \r
68         alt: @escape('caption')\r
69       },\r
70       picture: picture\r
71     })\r
72   \r
73   symbol_option: () ->\r
74     i = @picture()\r
75     i.fetch({cache: true}).done =>\r
76       @trigger('ready:symbol', i.tmb_opt_img_tag())\r
77   \r
78   element_face: () ->\r
79     new Pettanr.Views.PanelPicture.ElementFace({element: this})\r
80   \r
81   initialize: (attr, options) ->\r
82     super(attr, options)\r
83     if @id\r
84       @url = @url + @id\r
85     @bind('change:width', () ->\r
86       console.log('cng')\r
87     )\r
88   \r