OSDN Git Service

fix: fetch fail
[pettanr/pettanr.git] / app / assets / javascripts / views / comics / play.js.coffee
1 class Pettanr.Views.Comic.PlayModule\r
2 class Pettanr.Views.Comic.PlayModule.Footer extends Pettanr.View\r
3   tagName: 'table'\r
4   className: 'no-border'\r
5   \r
6   initialize: (options) ->\r
7     @panel = options.panel\r
8     @scroll_panel = options.scroll_panel\r
9   \r
10   render: () ->\r
11     this.$el.html('')\r
12     this.$el.append(\r
13       (new Pettanr.Views.Panel.Icon({item: @panel, half: true})).render().el\r
14     )\r
15     this.$el.append(\r
16       (new Pettanr.Views.Author.Icon({item: @panel.author(), half: true})).render().el\r
17     )\r
18     this.$el.append(Pettanr.AppHelper.distance_of_time_in_words_to_now(@panel.get('updated_at')))\r
19     #\r
20     this.$el.append(\r
21       (new Pettanr.Views.Panel.Icon({item: @scroll_panel, half: true})).render().el\r
22     )\r
23     this.$el.append(\r
24       (new Pettanr.Views.Author.Icon({item: @panel.author(), half: true})).render().el\r
25     )\r
26     this.$el.append(Pettanr.AppHelper.distance_of_time_in_words_to_now(@scroll_panel.get('updated_at')))\r
27     #\r
28     if @panel.is_own()\r
29       this.$el.append('')\r
30     this\r
31   \r
32 class Pettanr.Views.Comic.PlayModule.Story extends Pettanr.View\r
33   tagName: 'div'\r
34   \r
35   initialize: (options) ->\r
36     @comic_story = options.comic_story\r
37     @comic_story.get_parent('story', this, {\r
38       success: (@story) =>\r
39         @render()\r
40     })\r
41   \r
42   render: () ->\r
43     this.$el.html('')\r
44     this.$el.append('title')\r
45     this.$el.append('order')\r
46     this\r
47   \r
48 class Pettanr.Views.Comic.PlayModule.Stories extends Pettanr.View\r
49   tagName: 'div'\r
50   \r
51   initialize: (options) ->\r
52     @parent = options.parent\r
53     @items = options.items\r
54   \r
55   render: () ->\r
56     this.$el.html('')\r
57     _.each @items, (comic_story) =>\r
58       return if not comic_story.has_story()\r
59       story_view = new Pettanr.Views.Comic.PlayModule.Story({\r
60         comic_story: comic_story\r
61       })\r
62       this.$el.append(story_view.render().el)\r
63     this\r
64   \r
65 class Pettanr.Views.Comic.PlayModule.Body extends Pettanr.View\r
66   tagName: 'div'\r
67   \r
68   initialize: (options) ->\r
69     @parent = options.parent\r
70     @list = options.list\r
71     @items = @list.items()\r
72     if @items.length < 1\r
73       @render_empty()\r
74     else\r
75       @render()\r
76   \r
77   render_empty: () ->\r
78     this.$el.html('')\r
79     this.$el.append((new Tag.H2({content: I18n.t('comics.play.empty')})).render().el)\r
80     this\r
81   \r
82   render: () ->\r
83     this.$el.html('')\r
84     panels = new Pettanr.Views.Comic.PlayModule.Stories({\r
85       parent: this,\r
86       items: @items,\r
87     })\r
88     this.$el.append(panels.render().el)\r
89     this\r
90   \r
91 class Pettanr.Views.Comic.Play extends Pettanr.View\r
92   tagName: 'div'\r
93   className: 'show'\r
94   \r
95   initialize: (options) ->\r
96     @item = options.item\r
97     @list = options.list\r
98     icon_url = Pettanr.url(@item.table_name(), 'show', {id: @item.get('id')})\r
99     caption_url = Pettanr.url(@item.table_name(), 'play', {id: @item.get('id')})\r
100     prof_url = Pettanr.url(@item.table_name(), 'show', {id: @item.get('id'), format: 'prof'})\r
101     @header = new Pettanr.Views.Comic.PlayModule.Header({\r
102       item: @item, \r
103       caption: @item.get('title'), \r
104       icon_url: icon_url,\r
105       caption_url: caption_url,\r
106       prof_url: prof_url\r
107     })\r
108     @author = new Pettanr.Views.Show.HeaderAuthor({item: @item})\r
109     @body = new Pettanr.Views.Comic.PlayModule.Body({\r
110       parent: this,\r
111       list: @list, \r
112     })\r
113     @owner = new Pettanr.Views.Comic.PlayModule.Owner({item: @item})\r
114   \r
115   render: () ->\r
116     this.$el.html('')\r
117     this.$el.append(@header.render().el)\r
118     this.$el.append(@author.render().el)\r
119     this.$el.append(@body.render().el)\r
120     this.$el.append(@owner.render().el) if @item.is_own()\r
121     this\r
122   \r