OSDN Git Service

t#:
[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   \r
10   render: () ->\r
11     @restyle()\r
12     this\r
13   \r
14   restyle: () ->\r
15     attr = {\r
16       style: Pettanr.to_style(@style(@spot))\r
17     }\r
18     this.$el.attr(attr)\r
19   \r
20   div_offset: () ->\r
21     if @element.get('xy')\r
22       @element.get('xy')\r
23     else\r
24       0\r
25   \r
26   div_size: () ->\r
27     if @element.get('wh')\r
28       @element.get('wh')\r
29     else\r
30       100 - @div_offset()\r
31   \r
32   div_x: () ->\r
33     if @element.get('orientation') == 0\r
34       0\r
35     else\r
36       @div_offset()\r
37   \r
38   div_y: () ->\r
39     if @element.get('orientation') == 0\r
40       @div_offset()\r
41     else\r
42       0\r
43   \r
44   div_width: () ->\r
45     if @element.get('orientation') == 0\r
46       100\r
47     else\r
48       @div_size()\r
49   \r
50   div_height: () ->\r
51     if @element.get('orientation') == 0\r
52       @div_size()\r
53     else\r
54       100\r
55   \r
56   style: (spot = null, opacity = 20) ->\r
57     r = {\r
58       position: 'absolute', \r
59       'z-index': @element.get('z'), \r
60       top: Pettanr.to_s(@div_y()) + '%', \r
61       left: Pettanr.to_s(@div_x()) + '%', \r
62       width: Pettanr.to_s(@div_width()) + '%', \r
63       height: Pettanr.to_s(@div_height()) + '%', \r
64       'background-color': '#' + ('000000' + @element.get('code').toString(16)).slice(-6)\r
65     }\r
66     r\r
67   \r
68 class Pettanr.Views.GroundColor.Element.Edit extends Pettanr.Views.GroundColor.Element\r
69   \r
70   initialize: (options) ->\r
71     super(options)\r
72     @listenTo(@element, 'input:code', @restyle)\r
73     @listenTo(@element, 'input:xy', @restyle)\r
74     @listenTo(@element, 'input:wh', @restyle)\r
75     @listenTo(@element, 'input:orientation', @restyle)\r
76     @listenTo(@element, 'sort', @restyle)\r
77     @listenTo(@element, 'active', @active)\r
78     @listenTo(@element, 'inactive', @inactive)\r
79   \r
80   active: () ->\r
81     @root.trigger('active')\r
82   \r
83   inactive: () ->\r
84     @root.trigger('inactive')\r
85   \r