OSDN Git Service

fix: view
[pettanr/pettanr.git] / app / assets / javascripts / locmare / filer / body / file_body.js.coffee
1 class Locmare.FilerModule.BodyModule.FileBody extends Pettanr.View\r
2   tagName: 'div'\r
3   \r
4   initialize: (options) ->\r
5     @body = options.body\r
6     @file_items = []\r
7     @file_items = _.map @filer().items, (item) =>\r
8       @init_file_item(item)\r
9   \r
10   render: () ->\r
11     this.$el.html('')\r
12     _.each @file_items, (file_item) =>\r
13       this.$el.append(file_item.render().el)\r
14     this\r
15   \r
16   init_file_item: (item) ->\r
17     file_item_view = new (@module().FileItem)({'file_body': this, 'item': item})\r
18     @listenTo(file_item_view, 'click:pick', @click_pick)\r
19     @listenTo(file_item_view, 'click:symbol', @click_symbol)\r
20     @listenTo(file_item_view, 'http_get', @http_get)\r
21     @listenTo(file_item_view, 'http_post', @http_post)\r
22     @listenTo(file_item_view, 'remove:success', @remove_success)\r
23     file_item_view\r
24   \r
25   filer: () ->\r
26     @body.filer\r
27   \r
28   manifest: () ->\r
29     @filer().manifest\r
30   \r
31   item_name: () ->\r
32     @filer().item_name\r
33   \r
34   model: () ->\r
35     @filer().model\r
36   \r
37   items: () ->\r
38     @filer().items\r
39   \r
40   add_pick: (target_model) ->\r
41     _.each @file_items, (file_item) =>\r
42       file_item.add_pick(target_model)\r
43   \r
44   click_pick: (file_item_view) ->\r
45     @trigger('click:pick', file_item_view)\r
46   \r
47   click_symbol: (file_item_view) ->\r
48     @trigger('click:symbol', file_item_view)\r
49   \r
50   http_get: (url) ->\r
51     @trigger('http_get', url)\r
52   \r
53   http_post: (url) ->\r
54     @trigger('http_post', url)\r
55   \r
56   remove_success: (file_item_view) ->\r
57     @trigger('remove', file_item_view.item)\r
58     @file_items = _.without(@file_items, file_item_view)\r
59     file_item_view.remove()\r
60   \r
61   module: () ->\r
62     Locmare.FilerModule.BodyModule.FileBodyModule\r
63   \r
64 class Locmare.FilerModule.BodyModule.FileBodyModule\r