OSDN Git Service

fix: view
[pettanr/pettanr.git] / app / assets / javascripts / views / ground_colors / element.js.coffee
1 class Pettanr.Views.GroundColor.Element extends Pettanr.View\r
2   tagName: 'div'\r
3   className: 'pettanr-comic-ground-color'\r
4   \r
5   initialize: (options) ->\r
6     @element = options.element\r
7     @root = options.root\r
8     @spot = options.spot\r
9     @add_element()\r
10   \r
11   clear: () ->\r
12     this\r
13   \r
14   render: () ->\r
15     @restyle()\r
16     this\r
17   \r
18   restyle: () ->\r
19     attr = {\r
20       style: Pettanr.to_style(@style(@spot))\r
21     }\r
22     this.$el.attr(attr)\r
23   \r
24   add_element: () ->\r
25     null\r
26   \r
27   div_offset: () ->\r
28     if @element.get('xy')\r
29       @element.get('xy')\r
30     else\r
31       0\r
32   \r
33   div_size: () ->\r
34     if @element.get('wh')\r
35       @element.get('wh')\r
36     else\r
37       100 - @div_offset()\r
38   \r
39   div_x: () ->\r
40     if @element.get('orientation') == 0\r
41       0\r
42     else\r
43       @div_offset()\r
44   \r
45   div_y: () ->\r
46     if @element.get('orientation') == 0\r
47       @div_offset()\r
48     else\r
49       0\r
50   \r
51   div_width: () ->\r
52     if @element.get('orientation') == 0\r
53       100\r
54     else\r
55       @div_size()\r
56   \r
57   div_height: () ->\r
58     if @element.get('orientation') == 0\r
59       @div_size()\r
60     else\r
61       100\r
62   \r
63   style: (spot = null, opacity = 20) ->\r
64     r = {\r
65       position: 'absolute', \r
66       'z-index': @element.get('z'), \r
67       top: Pettanr.to_s(@div_y()) + '%', \r
68       left: Pettanr.to_s(@div_x()) + '%', \r
69       width: Pettanr.to_s(@div_width()) + '%', \r
70       height: Pettanr.to_s(@div_height()) + '%', \r
71       'background-color': '#' + ('000000' + @element.get('code').toString(16)).slice(-6)\r
72     }\r
73     r\r
74   \r
75 class Pettanr.Views.GroundColor.Element.Edit extends Pettanr.Views.GroundColor.Element\r
76   \r
77   initialize: (options) ->\r
78     super(options)\r
79     @listenTo(@element, 'input:code', @restyle)\r
80     @listenTo(@element, 'input:xy', @restyle)\r
81     @listenTo(@element, 'input:wh', @restyle)\r
82     @listenTo(@element, 'input:orientation', @restyle)\r
83     @listenTo(@element, 'sort', @restyle)\r
84     @listenTo(@element, 'active', @active)\r
85     @listenTo(@element, 'inactive', @inactive)\r
86   \r
87   active: () ->\r
88     @root.trigger('active')\r
89   \r
90   inactive: () ->\r
91     @root.trigger('inactive')\r
92   \r