class Locmare.FilerModule.BodyModule.FileBody extends Pettanr.View tagName: 'div' initialize: (options) -> @body = options.body @file_items = [] @file_items = _.map @filer().items, (item) => @init_file_item(item) render: () -> this.$el.html('') _.each @file_items, (file_item) => this.$el.append(file_item.render().el) this init_file_item: (item) -> file_item_view = new (@module().FileItem)({'file_body': this, 'item': item}) @listenTo(file_item_view, 'click:pick', @click_pick) @listenTo(file_item_view, 'click:symbol', @click_symbol) @listenTo(file_item_view, 'http_get', @http_get) @listenTo(file_item_view, 'http_post', @http_post) @listenTo(file_item_view, 'remove:success', @remove_success) file_item_view filer: () -> @body.filer manifest: () -> @filer().manifest item_name: () -> @filer().item_name model: () -> @filer().model items: () -> @filer().items add_pick: (target_model) -> _.each @file_items, (file_item) => file_item.add_pick(target_model) click_pick: (file_item_view) -> @trigger('click:pick', file_item_view) click_symbol: (file_item_view) -> @trigger('click:symbol', file_item_view) http_get: (url) -> @trigger('http_get', url) http_post: (url) -> @trigger('http_post', url) remove_success: (file_item_view) -> @trigger('remove', file_item_view.item) @file_items = _.without(@file_items, file_item_view) file_item_view.remove() module: () -> Locmare.FilerModule.BodyModule.FileBodyModule class Locmare.FilerModule.BodyModule.FileBodyModule