class Locmare.FilerModule.BodyModule.FileBodyModule.FileItem extends Backbone.View tagName: 'li' initialize: (options) -> @file_body = options.file_body @item = options.item @symbol = @module().SymbolItemColumnFactory.factory this, @manifest().symbol, @item @caption = @module().CaptionItemColumnFactory.factory this, @manifest().caption, @item @summary = @module().SummaryItemColumnFactory.factory this, @manifest().summary, @item @icon = @module().IconItemColumnFactory.factory this, @manifest().icon, @item @date = @module().DateItemColumnFactory.factory this, @manifest().date, @item @edit = @module().EditItemColumnFactory.factory this, @manifest().edit, @item @el.className = 'filer-item filer-item-' + @item.item_name() @listenTo(@symbol, 'click:symbol', @click_symbol) @listenTo(@caption, 'click:caption', @click_caption) @listenTo(@icon, 'click:prof', @click_prof) @listenTo(@symbol, 'http_get', @http_get) @listenTo(@caption, 'http_get', @http_get) @listenTo(@summary, 'http_get', @http_get) @listenTo(@icon, 'http_get', @http_get) @listenTo(@edit, 'http_get', @http_get) @listenTo(@edit, 'http_post', @http_post) @listenTo(@item, 'destroy', @destroy) render: () -> this.$el.html('') if @pick this.$el.append(@pick.render().el) if @symbol.is_visible() this.$el.append(@symbol.render().el) if @caption.is_visible() this.$el.append(@caption.render().el) if @summary.is_visible() this.$el.append(@summary.render().el) if @icon.is_visible() this.$el.append(@icon.render().el) if @date.is_visible() this.$el.append(@date.render().el) if !@pick and @edit.is_visible() this.$el.append(@edit.render().el) this filer: () -> @file_body.filer() manifest: () -> @filer().manifest item_name: () -> @filer().item_name model: () -> @filer().model items: () -> @filer().items add_pick: (target_model) -> @pick = new Pettanr.Views.Common.PickIcon({ name: target_model.pick_type(@item_name()), class_name: 'filer-item-pick' }) @listenTo(@pick, 'click', @click_pick) @render() click_pick: () -> @trigger('click:pick', this) click_symbol: () -> @trigger('click:symbol', this) click_caption: () -> @trigger('click:caption', this) click_prof: (url) -> @trigger('click:prof', this) @trigger('http_get', url) http_get: (url) -> @trigger('http_get', url) http_post: (url) -> @trigger('http_post', url) destroy: (model, collection, options) -> @trigger('remove', this) module: () -> Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.PickModule class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.PickModule.Icon extends Backbone.View tagName: 'div' initialize: (options) -> @name = options.name @el.className = 'filer-item-pick' @button = new Pettanr.Views.Common.PickIcon({name: @name}) render: () -> this.$el.html('') @listenTo(@button, 'click', @click) this.$el.append(@button.render().el) this click: () -> @trigger('click', this)