OSDN Git Service

fix js manifest
[pettanr/pettanr.git] / app / assets / javascripts / deprecated / pettanr_sheeter.js.coffee
1 class PettanrSheeter\r
2   @pettanr_current_sheet_id = 0\r
3   \r
4   @new_element_index = {}\r
5   @new_element_index[PettanrSheeter.pettanr_current_sheet_id] = 0\r
6   \r
7   @current_sheet = () ->\r
8     $('#sheet' + PettanrSheeter.pettanr_current_sheet_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       PettanrSheeter.set_tree_value(keys, last_attr[key], value)\r
17 \r
18   @is_editting = () ->\r
19     trace = '#sheet' + PettanrSheeter.pettanr_current_sheet_id.toString() + 'wrapper'\r
20     if $(trace) and $(trace).attr('editable')\r
21       return true\r
22     else\r
23       return false\r
24   @is_editable = (p) ->\r
25     if p.parent().attr('editable')\r
26       return true\r
27     else\r
28       return false\r
29   @is_var = (o) ->\r
30     if parseInt(o.attr('no_attr')) > 0\r
31       return false\r
32     else\r
33       if o.attr('column') \r
34         if o.attr('column') == '_destroy' and o.val().length < 1\r
35           return false\r
36         else\r
37           return true\r
38       else\r
39         return false\r
40   @is_element = (o) ->\r
41     if o.attr('element_type')\r
42       return true\r
43     else\r
44       return false\r
45   @is_element_part = (o) ->\r
46     if o.attr('element_part_type')\r
47       return true\r
48     else\r
49       return false\r
50   @element_is = (element_type, o) ->\r
51     if PettanrSheeter.is_element(o) and o.attr('element_type') == element_type\r
52       return true\r
53     else\r
54       return false\r
55   @element_types  = {'sheet_panel': 'sheet_panels'}\r
56   @element_type_to_table = (element_type) ->\r
57     PettanrSheeter.element_types[element_type]\r
58 \r
59   @make_tree = (attr, o) ->\r
60     if PettanrSheeter.is_var(o)\r
61       tree = 'sheets-' + o.attr('sheet_id') + '-'\r
62       if PettanrSheeter.is_element(o)\r
63         tree = tree + PettanrSheeter.element_type_to_table(o.attr('element_type')) + '_attributes-' + o.attr('element_id') + '-'\r
64         if PettanrSheeter.is_element_part(o)\r
65           tree = tree + o.attr('element_part_type') + '_attributes-'\r
66       tree = tree + o.attr('column')\r
67       keys = tree.split('-')\r
68       PettanrSheeter.set_tree_value(keys, attr, o.val())\r
69   \r
70   @sheet_tag_id = (element) ->\r
71     '#sheet' + element.attr('sheet_id')\r
72   \r
73   @element_tag_id = (element) ->\r
74     '#sheet' + element.attr('sheet_id') + element.attr('element_type') + element.attr('element_id')\r
75   \r
76   @element_part_tag_id = (element_part) ->\r
77     '#sheet' + element_part.attr('sheet_id') + element_part.attr('element_type') + element_part.attr('element_id') + element_part.attr('element_part_type') + element_part.attr('element_part_id')\r
78   \r
79   @refresh_attribute = (field) ->\r
80     attr = {}\r
81     $('input').map ->\r
82       PettanrSheeter.make_tree(attr, $(@))\r
83     $('textarea').map  ->\r
84       PettanrSheeter.make_tree(attr, $(@))\r
85     $('select').map ->\r
86       PettanrSheeter.make_tree(attr, $(@))\r
87     field.val(JSON.stringify(attr['sheets'][PettanrSheeter.pettanr_current_sheet_id.toString() ]))\r
88   \r
89 @PettanrSheeter = PettanrSheeter\r