OSDN Git Service

fix js manifest
[pettanr/pettanr.git] / app / assets / javascripts / deprecated / item.js.coffee
1 class Item extends Backbone.Model\r
2   @singular: () ->\r
3     'Name'\r
4   \r
5   @plural: () ->\r
6     'Names'\r
7   \r
8   @class_name: () ->\r
9     @single()\r
10   \r
11   @item_name: () ->\r
12     @underscore(@single())\r
13   \r
14   @table_name: () ->\r
15     @underscore(@plural())\r
16   \r
17   @path_name: (with_engine = false) ->\r
18     @table_name()\r
19   \r
20   #>> https://gist.github.com/davidjbeveridge/3813724\r
21   @xeach: (arr, func, index=0) ->\r
22     if index < arr.length then [ func(arr[index], index), @xeach(arr, func, index + 1)... ] else []\r
23   \r
24   @camelize: (input) ->\r
25     pieces = input.split(/[\W_-]/)\r
26     @xeach(pieces, @capitalize).join("")\r
27   \r
28   @capitalize: (input) ->\r
29     input.charAt(0).toUpperCase() + input.slice(1)\r
30   \r
31   @lowercase: (input) ->\r
32     input.toLowerCase()\r
33    \r
34   @underscore: (input) ->\r
35     pieces = input.replace(/([A-Z])/g, '_$1').split(/[\W_-]/).filter (n) -> !!n\r
36     @xeach(pieces, @lowercase ).join("_")\r
37   # <<\r
38   @is_a_string: (str) ->\r
39     if (str instanceof String) or (typeof str == "string")\r
40       true\r
41     else\r
42       false\r
43   \r
44   has_picture: () ->\r
45     false\r
46   \r
47   has_helper: (column_name) ->\r
48     c = @constructor.colum_structures()\r
49     if c[column_name] and c[column_name]['helper']\r
50       true\r
51     else\r
52       false\r
53   \r
54   element_name: () ->\r
55     @constructor.element_name()\r
56   \r
57   extend_column: () ->\r
58     null\r
59   \r
60   extend_element_name: () ->\r
61     if @extend_column()\r
62       @get(@extend_column())\r
63     else\r
64       @element_name()\r
65   \r
66   find_configurations: (hash, key) ->\r
67     if @constructor.is_a_string(hash[key])\r
68       @find_configurations(hash, hash[key])\r
69     else\r
70       return hash[key]\r
71   \r
72   tag_id: (c = null) ->\r
73     'panel' + @tag_panel_id() + @tag_element_type() + @tag_element_id() + c\r
74   \r
75   field_tag_id: (f) ->\r
76     @tag_id() + f\r
77   \r
78   tag_panel_id: () ->\r
79     @get_panel().get('id') || '0'\r
80   \r
81   tag_element_id: () ->\r
82     @get('id') || '0'\r
83   \r
84   tag_element_type: () ->\r
85     @constructor.element_name()\r
86   \r
87   tag_new_index: () ->\r
88     @new_index()\r
89   \r
90   path_name: (with_engine = false) ->\r
91     @constructor.path_name(with_engine)\r
92   \r
93   form_template: (with_engine = false) ->\r
94     @path_name(with_engine) + '/form'\r
95   \r
96   form_helper_template: (column_name) ->\r
97     c = @constructor.colum_structures()\r
98     if @has_helper(column_name)\r
99       c[colum_name]['helper']\r
100     else\r
101       ''\r
102   \r
103   tag_attributes: (column = null, opt = {}) ->\r
104     r = {\r
105       id: @field_tag_id(column), panel_id: @tag_panel_id(), \r
106       element_id: @tag_element_id(), element_type: @tag_element_type()\r
107     }\r
108     _.extend(r, opt)\r
109     r\r
110   \r
111   field_tag_attributes: (column, no_attr, opt = {}) ->\r
112     r = @tag_attributes(column)\r
113     _.extend(r, {column: column, new_index: @tag_new_index(), no_attr: no_attr})\r
114     _.extend(r, opt)\r
115     r\r
116   \r
117   #render element by body\r
118   any_tag_attributes: (name = null, opt = {}) ->\r
119     r = @tag_attributes(name)\r
120     if @new_index()\r
121        _.extend(r, {new_index: @tag_new_index()})\r
122     _.extend(r, opt)\r
123     r\r
124   \r
125   select_tag_attributes: (selected, column, no_attr) ->\r
126     [\r
127       'last', 'first', \r
128       {html: {selected: selected}}, \r
129       @field_tag_attributes(column, no_attr)\r
130     ]\r
131   \r
132   tag_attr: (column = null, opt = {}) ->\r
133     @tag_attributes(column, opt).to_attr\r
134   \r
135   field_tag_attr: (column, no_attr, opt = {}) ->\r
136     @field_tag_attributes(column, no_attr, opt).to_attr\r
137   \r
138   any_tag_attr: (name = null, opt = {}) ->\r
139     @any_tag_attributes(name, opt).to_attr\r
140 \r
141 @Item = Item\r