OSDN Git Service

clean
[pettanr/pettanr.git] / app / assets / javascripts / views / panel_pictures / element.js.coffee
1 class Pettanr.Views.PanelPicture.Element extends Backbone.View\r
2   tagName: 'div'\r
3   className: 'pettanr-panel-picture-wrapper'\r
4   \r
5   initialize: (options) ->\r
6     @element = options.element\r
7     @root = options.root\r
8     @spot = options.spot\r
9   \r
10   render: () ->\r
11     @attr = {style: Pettanr.to_style(@opt_div_style())}\r
12     this.$el.attr(@attr)\r
13     @picture = @element.picture()\r
14     @picture.fetch({cache: true}).done =>\r
15       @img = new Tag.Img({\r
16         attr: @opt_img_tag(@spot)\r
17       })\r
18       this.$el.html(@img.render().el)\r
19     this\r
20   \r
21   opt_div_style: () ->\r
22     {\r
23       'top': Pettanr.to_s(@element.get('y')) + 'px',\r
24       'left': Pettanr.to_s(@element.get('x')) + 'px',\r
25       'z-index': @element.get('z'),\r
26       'position': 'absolute'\r
27     }\r
28   \r
29   opt_img_tag: (spot = null, opacity = 20) ->\r
30     style = {}\r
31     if spot and spot.constructor == @element.constructor and spot.get('id') != @element.get('id')\r
32       @element.merge_opacity(style, opacity)\r
33     {\r
34       vPicture: @element.get('id'), \r
35       src: @element.r_url(@picture), \r
36       width: Pettanr.to_s(Math.abs(@element.get('width'))) + 'px', \r
37       height: Pettanr.to_s(Math.abs(@element.get('height'))) + 'px', \r
38       alt: @element.get('caption'), \r
39       style: Pettanr.to_style(style)\r
40     }\r
41   \r
42 class Pettanr.Views.PanelPicture.Element.Edit extends Pettanr.Views.PanelPicture.Element\r
43   \r