OSDN Git Service

merge
[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 = Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.SymbolItemColumnFactory.factory this, @manifest().symbol, @item\r
8     @caption = Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnFactory.factory this, @manifest().caption, @item\r
9     @summary = Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.SummaryItemColumnFactory.factory this, @manifest().summary, @item\r
10     @icon = Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.IconItemColumnFactory.factory this, @manifest().icon, @item\r
11     @date = Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.DateItemColumnFactory.factory this, @manifest().date, @item\r
12     @edit = Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.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, 'navigate', @navigate)\r
18     @listenTo(@caption, 'navigate', @navigate)\r
19     @listenTo(@summary, 'navigate', @navigate)\r
20     @listenTo(@icon, 'navigate', @navigate)\r
21     @listenTo(@edit, 'navigate', @navigate)\r
22   \r
23   render: () ->\r
24     if @symbol.is_visible()\r
25       this.$el.append(@symbol.render().el)\r
26     if @caption.is_visible()\r
27       this.$el.append(@caption.render().el)\r
28     if @summary.is_visible()\r
29       this.$el.append(@summary.render().el)\r
30     if @icon.is_visible()\r
31       this.$el.append(@icon.render().el)\r
32     if @date.is_visible()\r
33       this.$el.append(@date.render().el)\r
34     if @edit.is_visible()\r
35       this.$el.append(@edit.render().el)\r
36     this\r
37   \r
38   filer: () ->\r
39     @file_body.filer()\r
40   \r
41   manifest: () ->\r
42     @filer().manifest\r
43   \r
44   item_name: () ->\r
45     @filer().item_name\r
46   \r
47   model: () ->\r
48     @filer().model\r
49   \r
50   items: () ->\r
51     @filer().items\r
52   \r
53   click_symbol: () ->\r
54     @trigger('click:symbol', this)\r
55   \r
56   click_caption: () ->\r
57     @trigger('click:caption', this)\r
58   \r
59   click_prof: (url) ->\r
60     @trigger('click:prof', this)\r
61     @trigger('navigate', url)\r
62   \r
63   navigate: (url) ->\r
64     @trigger('navigate', url)\r
65   \r
66 class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule\r
67 \r