5 def initialize manifest
10 @conf['type'] || 'default'
14 @conf['name'] || 'edit_template'
19 def initialize manifest
20 @manifest = manifest || {}
31 manifest = Manifest.new JSON.parse(
32 open(Rails.root + 'public/manifest.json').read
37 def initialize manifest
42 @conf['type'] || 'default'
46 @conf['name'] || 'edit_template'
53 def initialize item, attribute_name, attribute_conf
54 @attribute_conf = attribute_conf || {}
58 label = item.class.human_attribute_name(field_name)
62 case field_conf['type']
64 if item.attributes[field_name]
65 l item.attributes[field_name]
67 item.attributes[field_name]
70 item.attributes[field_name]
75 if field_conf['source']
76 case field_conf['source']['type']
78 t_selected_item(field_conf['source']['key'], item.attributes[field_name])
87 def initialize item, roles, cross
88 item_name = item.class.to_s.underscore
89 profiler_conf = ProfilerConf.new cross['profiles'][item_name]
90 edit_conf = EditConf.new conf['edit']
94 ender 'system/filer.html', :items => [item], :model => item.class, :roles => roles, :pager => nil
98 profiler_conf['fields'].each do |field_name|
99 yield label, value, note
104 profiler_conf['fields'].each do |field_name|
105 yield label, value, note
110 profiler_conf['fields'].each do |field_name|
111 yield label, value, note
116 profiler_conf['fields'].each do |field_name|
117 yield label, value, note
130 @conf['type'] || 'default'
134 @conf['name'] || 'edit_template'
140 def initialize symbol_conf
141 @symbol_conf = symbol_conf || {}
142 @link_conf = @symbol_conf['link'] || {'type' => 'action', 'name' => 'show'}
143 @type_conf = @symbol_conf['type'] || 'image'
144 @link_method = self.link_method
145 @tag_method = self.tag_method
149 case @link_conf['type']
151 case @link_conf['name']
167 tag = case @type_conf
179 def link_action_show view, item
180 view.polymorphic_path(item)
183 def link_action_else view, item
184 view.polymorphic_path(item, :action => @link_conf['name'])
187 def link_none view, item
191 def link_url_column view, item
192 item.__send__(@link_conf['name']).to_s
195 def link_else view, item
199 def tag_image view, item
200 view.tag(:img, :src => @symbol_conf['name'], :width => 64, :height => 64)
203 def tag_picture view, item
204 view.tag(:img, item.__send__(@symbol_conf['name']))
207 def tag_template view, item
208 view.render item.path_name + '/' + @symbol_conf['name'], :item => item
212 def tag_else view, item
216 def render view, item
217 link = self.__send__(@link_method, view, item)
218 tag = self.__send__(@tag_method, view, item)
220 link_to_unless link.blank?, tag, link
228 def initialize caption_conf
229 @caption_conf = caption_conf || {}
230 @link_conf = @symbol_conf['link'] || {'type' => 'action', 'name' => 'show'}
231 @type_conf = @symbol_conf['type'] || 'column'
232 @link_method = self.link_method
233 @tag_method = self.tag_method
237 case @link_conf['type']
239 case @link_conf['name']
255 tag = case @type_conf
265 def link_action_show view, item
266 view.polymorphic_path(item)
269 def link_action_else view, item
270 view.polymorphic_path(item, :action => @link_conf['name'])
273 def link_none view, item
277 def link_url_column view, item
278 item.__send__(@link_conf['name']).to_s
281 def link_else view, item
285 def tag_column view, item
286 item.attributes[caption['name']]
289 def tag_method view, item
290 item.__send__(caption['name']).to_s
293 def tag_else view, item
297 def render view, item
298 unless caption_type == 'none'
299 link = self.__send__(@link_method, view, item)
300 tag = self.__send__(@tag_method, view, item)
301 tag = 'no caption' if tag.blank?
303 link_to_unless link.blank?, tag, link
311 def initialize summary_conf
312 @summary_conf = summary_conf || {}
313 @type_conf = @summary_conf['type'] || 'none'
314 @type_method = self.type_method
328 def type_none view, item
332 def type_template view, item
333 view.render item.path_name + '/' + @summary_conf['name'], :item => item
336 def render view, item
337 self.__send__(@type_method, view, item)
343 def initialize icon_conf
344 @icon_conf = icon_conf || {}
347 def render view, item
348 view.link_to view.icon_tag(item.class.to_s, :object => item, :size => 64),
349 view.polymorphic_path(item, :format => :prof)
355 def initialize date_conf
356 @date_conf = date_conf || {}
358 def render view, item
359 view.distance_of_time_in_words_to_now item.updated_at
365 def initialize edit_conf
366 @edit_conf = edit_conf || {}
367 @type_conf = @edit_conf['type'] || 'default'
368 @type_method = self.type_method
386 def type_default view, item
388 view.link_to tag(:img, :src => view.asset_path('edit.png'), :width => 32, :height => 32),
389 view.polymorphic_path(item, :action => :edit)
390 view.link_to tag(:img, :src => view.asset_path('remove.png'), :width => 32, :height => 32),
391 item, confirm: 'Are you sure?', :method => :delete
395 def type_account view, item
397 view.link_to tag(:img, :src => view.asset_path('edit.png'), :width => 32, :height => 32),
402 def type_template view, item
403 view.render item.path_name + '/' + @edit_conf['name'], :item => item
406 def type_none view, item
410 def render view, item
411 self.__send__(@type_method, view, item)
417 def initialize item, symbol, caption, summary, icon, date, edit
418 edit_conf = EditConf.new conf['edit']
429 @symbol.render view, item
433 @caption.render view, item
437 @summary.render view, item
441 @icon.render view, item
445 @date.render view, item
449 @edit.render view, item
454 def initialize model, cross
456 @filer_conf = cross['filers'][@model.item_name] || {}
457 @symbol = Symbol.new @filer_conf['symbol']
458 @caption = Caption.new @filer_conf['caption']
459 @summary = Summary.new @filer_conf['summary']
460 @icon = Icon.new @filer_conf['icon']
461 @date = Date.new @filer_conf['date']
462 @edit = Edit.new @filer_conf['edit']
465 def list page, page_size
466 @page = @model.page_number params[:page]
467 @page_size = @model.page_size params[:page_size]
468 list_method = 'list' || configurations['models'][@model.to_s.underscore]['select']['method']
469 @items = @model.__send__(list_method, @page, @page_size).map {|item|
470 FileItem.new item, @symbol, @caption, @summary, @icon, @date, @edit
474 def symbol_action_show item, view
475 view.polymorphic_path(item)
478 def symbol_action_name item, view
479 view.polymorphic_path(item, :action => link['name'])