1 class Peta.Item extends Backbone.Model
\r
3 @my_manifest().child_models()
\r
5 @child_element_names: () ->
\r
6 @my_manifest().child_element_names()
\r
11 Pettanr[@constructor.name]
\r
14 return null if not Manifest.manifest().items
\r
15 Manifest.manifest().items[@item_name()]
\r
18 return null if not Manifest.manifest().models
\r
19 Manifest.manifest().models[@item_name()]
\r
34 Pettanr.underscore(@singular())
\r
37 Pettanr.underscore(@plural())
\r
51 @parent_model: () ->
\r
54 @path_name: (with_engine = false) ->
\r
57 @pickup_item_name: () ->
\r
60 @pickup_column_name: () ->
\r
63 @find_boost_name: (column_name) ->
\r
64 my_peta().find_boost_name column_name
\r
66 @is_extend_column: (column_name) ->
\r
67 my_peta().is_extend_column column_name
\r
69 @fold_extend_settings: (attr) ->
\r
70 _.each my_peta().boost, (name, manifest) ->
\r
71 my_settings = attr[manifest.settings_column_name]
\r
73 attr[manifest.settings_column_name] = my_settings.to_json
\r
78 Pettanr[@constructor.name].singular()
\r
81 Pettanr[@constructor.name].plural()
\r
84 @my_class().item_name()
\r
90 @my_class().table_name()
\r
92 path_name: (with_engine = false) ->
\r
93 @my_class().path_name(with_engine)
\r
95 pickup_item_name: () ->
\r
96 @my_class().pickup_item_name()
\r
98 pickup_column_name: () ->
\r
99 @my_class().pickup_column_name()
\r
102 @get(pickup_column_name())
\r
104 form_template: (with_engine = false) ->
\r
105 @path_name(with_engine) + '/form'
\r
108 if @extend_column()
\r
109 @get(@extend_column())
\r
114 _.each @my_class().my_peta().boost, (boost_name, boost_manifest) ->
\r
115 next if level == 'read' and boost_manifest.level == 'post'
\r
116 @boost boost_manifest
\r
118 boost: (boost_manifest) ->
\r
120 @boosters[boost_manifest.name] ||= new Locmare.Booster(boost_manifest, this)
\r
125 is_extend_column: (column_name) ->
\r
126 @is_extend_column column_name
\r
128 is_user_visible: (operators) ->
\r
129 if Manifest.manifest.magic_numbers['run_mode'] == 0
\r
130 return false if not operators.is_guest
\r
132 return false if not operators.is_resource_reader
\r
135 is_visible: (operators) ->
\r
136 return false if not @is_user_visible(operators)
\r
143 (@get('id') || '').toString()
\r
145 dom_pool_type: () ->
\r
146 @new_record ? 'stored' : 'new'
\r
148 merge_dom_item_id: (attr, name = null) ->
\r
150 _.extend(attr, {'id': @dom_item_id(name)})
\r
154 tag_attributes: (name = null, opt = {}) ->
\r
156 'data-pool_type': @dom_pool_type(), 'data-id': @dom_id(),
\r
157 'data-item_name': @item_name()
\r
159 r = @merge_dom_item_id(r, name)
\r
163 field_tag_attributes: (column_name, opt = {}) ->
\r
164 r = @tag_attributes(column_name, opt)
\r
165 _.extend(r, {'data-column_name': column_name})
\r
168 post_attribute_key: () ->
\r
172 console.log(@child_models())
\r
173 console.log(@child_element_names())
\r
174 console.log(@my_peta())
\r
175 console.log(@my_manifest())
\r
180 console.log(@my_class())
\r
181 console.log(@item_name())
\r
182 console.log(@model_name())
\r
183 console.log(@table_name())
\r
184 console.log(@path_name())
\r
185 console.log(@pickup_item_name())
\r
186 console.log(@pickup_column_name())
\r
187 console.log(@dom_id())
\r
188 console.log(@dom_pool_type())
\r
189 console.log(@tag_attributes())
\r
190 console.log(@field_tag_attributes('id'))
\r
191 console.log(@post_attribute_key())
\r