OSDN Git Service

fix:
[pettanr/pettanr.git] / app / assets / javascripts / views / stories / show.js.coffee
1 class Pettanr.Views.Story.ShowModule\r
2 class Pettanr.Views.Story.ShowModule.Header extends Pettanr.Views.Show.Header\r
3   \r
4   initialize: (options) ->\r
5     super(options)\r
6   \r
7 class Pettanr.Views.Story.ShowModule.Owner extends Pettanr.Views.Show.Owner\r
8   \r
9   initialize: (options) ->\r
10     super(options)\r
11   \r
12 class Pettanr.Views.Story.Show extends Backbone.View\r
13   tagName: 'div'\r
14   className: 'show'\r
15   \r
16   initialize: (options) ->\r
17     @item = options.item\r
18     @operators = options.operators\r
19     icon_url = Pettanr.url(@item.table_name(), 'show', {id: @item.get('id')})\r
20     caption_url = Pettanr.url(@item.table_name(), 'play', {id: @item.get('id')})\r
21     prof_url = Pettanr.url(@item.table_name(), 'show', {id: @item.get('id'), format: 'prof'})\r
22     @header = new Pettanr.Views.Story.ShowModule.Header({\r
23       item: @item, \r
24       caption: @item.get('title'), \r
25       operators: @operators,\r
26       icon_url: icon_url,\r
27       caption_url: caption_url,\r
28       prof_url: prof_url\r
29     })\r
30     @author = new Pettanr.Views.Show.HeaderAuthor({item: @item})\r
31     @owner = new Pettanr.Views.Story.ShowModule.Owner({item: @item, operators: @operators})\r
32     @listenTo(@header, 'click:pick', @click_pick)\r
33   \r
34   render: () ->\r
35     this.$el.html('')\r
36     this.$el.append(@header.render().el)\r
37     this.$el.append(@author.render().el)\r
38     this.$el.append(@owner.render().el) if @item.is_own(@operators)\r
39     this\r
40   \r
41   click_pick: () ->\r
42     @trigger('pick', @item)\r
43   \r
44   is_pickable: () ->\r
45     true\r
46   \r
47   add_pick: (target_model) ->\r
48     @header.add_pick(target_model)\r
49   \r