OSDN Git Service

fix:
[pettanr/pettanr.git] / app / assets / javascripts / locmare / filer / body / file_body / file_item.js.coffee
1 class Locmare.FilerModule.BodyModule.FileBodyModule.FileItem extends Backbone.View\r
2   tagName: 'li'\r
3   \r
4   initialize: (options) ->\r
5     @file_body = options.file_body\r
6     @item = options.item\r
7     @symbol = @module().SymbolItemColumnFactory.factory this, @manifest().symbol, @item\r
8     @caption = @module().CaptionItemColumnFactory.factory this, @manifest().caption, @item\r
9     @summary = @module().SummaryItemColumnFactory.factory this, @manifest().summary, @item\r
10     @icon = @module().IconItemColumnFactory.factory this, @manifest().icon, @item\r
11     @date = @module().DateItemColumnFactory.factory this, @manifest().date, @item\r
12     @edit = @module().EditItemColumnFactory.factory this, @manifest().edit, @item\r
13     @el.className = 'filer-item filer-item-' + @item.item_name()\r
14     @listenTo(@symbol, 'click:symbol', @click_symbol)\r
15     @listenTo(@caption, 'click:caption', @click_caption)\r
16     @listenTo(@icon, 'click:prof', @click_prof)\r
17     @listenTo(@symbol, 'http_get', @http_get)\r
18     @listenTo(@caption, 'http_get', @http_get)\r
19     @listenTo(@summary, 'http_get', @http_get)\r
20     @listenTo(@icon, 'http_get', @http_get)\r
21     @listenTo(@edit, 'http_get', @http_get)\r
22     @listenTo(@edit, 'http_post', @http_post)\r
23     @listenTo(@item, 'destroy', @destroy)\r
24   \r
25   render: () ->\r
26     this.$el.html('')\r
27     if @pick\r
28       this.$el.append(@pick.render().el)\r
29     if @symbol.is_visible()\r
30       this.$el.append(@symbol.render().el)\r
31     if @caption.is_visible()\r
32       this.$el.append(@caption.render().el)\r
33     if @summary.is_visible()\r
34       this.$el.append(@summary.render().el)\r
35     if @icon.is_visible()\r
36       this.$el.append(@icon.render().el)\r
37     if @date.is_visible()\r
38       this.$el.append(@date.render().el)\r
39     if !@pick and @edit.is_visible()\r
40       this.$el.append(@edit.render().el)\r
41     this\r
42   \r
43   filer: () ->\r
44     @file_body.filer()\r
45   \r
46   manifest: () ->\r
47     @filer().manifest\r
48   \r
49   item_name: () ->\r
50     @filer().item_name\r
51   \r
52   model: () ->\r
53     @filer().model\r
54   \r
55   items: () ->\r
56     @filer().items\r
57   \r
58   add_pick: (target_model) ->\r
59     @pick = new Pettanr.Views.Common.PickIcon({\r
60       name: target_model.pick_type(@item_name()), class_name: 'filer-item-pick'\r
61     })\r
62     @listenTo(@pick, 'click', @click_pick)\r
63     @render()\r
64   \r
65   click_pick: () ->\r
66     @trigger('click:pick', this)\r
67   \r
68   click_symbol: () ->\r
69     @trigger('click:symbol', this)\r
70   \r
71   click_caption: () ->\r
72     @trigger('click:caption', this)\r
73   \r
74   click_prof: (url) ->\r
75     @trigger('click:prof', this)\r
76     @trigger('http_get', url)\r
77   \r
78   http_get: (url) ->\r
79     @trigger('http_get', url)\r
80   \r
81   http_post: (url) ->\r
82     @trigger('http_post', url)\r
83   \r
84   destroy: (model, collection, options) ->\r
85     @trigger('remove', this)\r
86   \r
87   module: () ->\r
88     Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule\r
89   \r
90 class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule\r
91 \r
92 class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.PickModule\r
93 class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.PickModule.Icon extends Backbone.View\r
94   tagName: 'div'\r
95   \r
96   initialize: (options) ->\r
97     @name = options.name\r
98     @el.className = 'filer-item-pick'\r
99     @button = new Pettanr.Views.Common.PickIcon({name: @name})\r
100   \r
101   render: () ->\r
102     this.$el.html('')\r
103     @listenTo(@button, 'click', @click)\r
104     this.$el.append(@button.render().el)\r
105     this\r
106   \r
107   click: () ->\r
108     @trigger('click', this)\r
109   \r