class Locmare.Filer extends Pettanr.View tagName: 'div' className: 'filer' initialize: (options) -> @item_name = options.item_name @items = options.items @pager = options.pager @manifest = LocalManifest.manifest().filers[@item_name] @header = new (@module().Header)({'filer': this}) @body = new (@module().Body)({'filer': this}) @listenTo(@header, 'click', @click_header) @listenTo(@body, 'click:pick', @click_pick) @listenTo(@body, 'click:symbol', @click_symbol) @listenTo(@body, 'click:caption', @click_caption) @listenTo(@body, 'click:prof', @click_prof) @listenTo(@body, 'http_get', @http_get) @listenTo(@body, 'http_post', @http_post) @listenTo(@body, 'remove', @remove) @listenTo(@pager, 'http_get', @http_get) if @pager render: () -> this.$el.html('') this.$el.append(@header.render().el) this.$el.append(@body.render().el) this.$el.append(@pager.render().el) if @pager this model: () -> Manifest.item_name_to_model @item_name image_dir: () -> '/images/' is_pickable: () -> true add_pick: (target_model) -> @body.add_pick(target_model) click_header: (url) -> @trigger('click:header', url) @http_get(url) click_pick: (file_item_view) -> @trigger('pick', file_item_view.item) click_symbol: (item_view) -> @trigger('click:symbol', item_view) click_caption: (item_view) -> @trigger('click:caption', item_view) click_prof: (item_view) -> @trigger('click:prof', item_view) http_get: (url) -> @trigger('http_get', url) http_post: (url) -> @trigger('http_post', url) remove: (item) -> @items = _.without(@items, item) module: () -> Locmare.FilerModule class Locmare.FilerModule