OSDN Git Service

fix js manifest
[pettanr/pettanr.git] / app / assets / javascripts / deprecated / pettanr_editor.js.coffee
1 class PettanrEditor\r
2   @pettanr_current_panel_id = 0\r
3   \r
4   @new_element_index = {}\r
5   @new_element_index[PettanrEditor.pettanr_current_panel_id] = 0\r
6   \r
7   @current_panel = () ->\r
8     $('#panel' + PettanrEditor.pettanr_current_panel_id.toString())\r
9   \r
10   @set_tree_value = (keys, last_attr, value) ->\r
11     key = keys.shift()\r
12     if keys.length <= 0\r
13       last_attr[key] = value\r
14     else\r
15       last_attr[key] = last_attr[key] || {}\r
16       PettanrEditor.set_tree_value(keys, last_attr[key], value)\r
17 \r
18   @repeat_texts = ['repeat', 'repeat-x', 'repeat-y', 'no-repeat']\r
19   \r
20   @is_editting = () ->\r
21     trace = '#panel' + PettanrEditor.pettanr_current_panel_id.toString() + 'wrapper'\r
22     if $(trace) and $(trace).attr('editable')\r
23       return true\r
24     else\r
25       return false\r
26   @is_editable = (p) ->\r
27     if p.parent().attr('editable')\r
28       return true\r
29     else\r
30       return false\r
31   @is_var = (o) ->\r
32     if parseInt(o.attr('no_attr')) > 0\r
33       return false\r
34     else\r
35       if o.attr('column') \r
36         if o.attr('column') == '_destroy' and o.val().length < 1\r
37           return false\r
38         else\r
39           return true\r
40       else\r
41         return false\r
42   @is_panel = (o) ->\r
43     if PettanrEditor.is_element(o)\r
44       return false\r
45     else\r
46       return true\r
47   @is_element = (o) ->\r
48     if o.attr('element_type')\r
49       return true\r
50     else\r
51       return false\r
52   @is_element_part = (o) ->\r
53     if o.attr('element_part_type')\r
54       return true\r
55     else\r
56       return false\r
57   @element_is = (element_type, o) ->\r
58     if PettanrEditor.is_element(o) and o.attr('element_type') == element_type\r
59       return true\r
60     else\r
61       return false\r
62   @element_types  = {'panel_picture': 'panel_pictures', 'speech_balloon': 'speech_balloons', 'ground_picture': 'ground_pictures', 'ground_color': 'ground_colors'}\r
63   @element_type_to_table = (element_type) ->\r
64     PettanrEditor.element_types[element_type]\r
65   @text_align_texts = ['left', 'left', 'right', 'center']\r
66 \r
67   @make_tree = (attr, o) ->\r
68     if PettanrEditor.is_var(o)\r
69       tree = 'panels-' + o.attr('panel_id') + '-'\r
70       if PettanrEditor.is_element(o)\r
71         tree = tree + PettanrEditor.element_type_to_table(o.attr('element_type')) + '_attributes-' + o.attr('element_id') + '-'\r
72         if PettanrEditor.is_element_part(o)\r
73           tree = tree + o.attr('element_part_type') + '_attributes-'\r
74       tree = tree + o.attr('column')\r
75       keys = tree.split('-')\r
76       PettanrEditor.set_tree_value(keys, attr, o.val())\r
77   \r
78   @panel_tag_id = (element) ->\r
79     '#panel' + element.attr('panel_id')\r
80   \r
81   @element_tag_id = (element) ->\r
82     '#panel' + element.attr('panel_id') + element.attr('element_type') + element.attr('element_id')\r
83   \r
84   @element_part_tag_id = (element_part) ->\r
85     '#panel' + element_part.attr('panel_id') + element_part.attr('element_type') + element_part.attr('element_id') + element_part.attr('element_part_type') + element_part.attr('element_part_id')\r
86   \r
87   @refresh_attribute = (field) ->\r
88     attr = {}\r
89     $('input').map ->\r
90       PettanrEditor.make_tree(attr, $(@))\r
91     $('textarea').map  ->\r
92       PettanrEditor.make_tree(attr, $(@))\r
93     $('select').map ->\r
94       PettanrEditor.make_tree(attr, $(@))\r
95     field.val(JSON.stringify(attr['panels'][PettanrEditor.pettanr_current_panel_id.toString() ]))\r
96   \r
97 @PettanrEditor = PettanrEditor\r