X-Git-Url: http://git.osdn.net/view?p=pettanr%2Fpettanr.git;a=blobdiff_plain;f=app%2Fassets%2Fjavascripts%2Flocmare%2Ffiler.js.coffee;h=0fd0c0d7e92f09bc8d436d907e046ef633e02e20;hp=98411cbcf76530394e0ae2623d803c2ae5f0a9ce;hb=d7c8065be895b67dc453b0e11ad0f259f1ca6706;hpb=8c860bbc3faaff8c7a458b28f1cac7e30ff490df diff --git a/app/assets/javascripts/locmare/filer.js.coffee b/app/assets/javascripts/locmare/filer.js.coffee index 98411cbc..0fd0c0d7 100644 --- a/app/assets/javascripts/locmare/filer.js.coffee +++ b/app/assets/javascripts/locmare/filer.js.coffee @@ -1,14 +1,23 @@ -class Locmare.Filer extends Backbone.View +class Locmare.Filer extends Pettanr.View tagName: 'div' + className: 'filer' + initialize: (options) -> @item_name = options.item_name @items = options.items @pager = options.pager - @operators = options.operators @manifest = LocalManifest.manifest().filers[@item_name] - @header = new Locmare.FilerModule.Header({'filer': this}) - @body = new Locmare.FilerModule.Body({'filer': this}) - @render() + @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('') @@ -20,12 +29,42 @@ class Locmare.Filer extends Backbone.View model: () -> Manifest.item_name_to_model @item_name - # switch body class for dialog - mybody: () -> - Locmare.FilerModule.Body - 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