OSDN Git Service

fix:replace row break
[pettanr/pettanr.git] / app / assets / javascripts / views / authors / show.js.coffee
1 class Pettanr.Views.Author.ShowModule\r
2 class Pettanr.Views.Author.ShowModule.Header extends Pettanr.Views.Show.Header\r
3   \r
4   initialize: (options) ->\r
5     super(options)\r
6   \r
7 class Pettanr.Views.Author.ShowModule.Scrolls extends Pettanr.View\r
8   \r
9   initialize: (options) ->\r
10     super(options)\r
11     @item = options.item\r
12   \r
13   render: () ->\r
14     params = {\r
15       controller: 'scrolls', action: 'by_author', id: @item.get('id'),\r
16       page_size: 5\r
17     }\r
18     @list = Locmare.ListGroup.list(\r
19       params['controller'], params['action'], params\r
20     )\r
21     @list.open(() =>\r
22       pager = Locmare.ListGroupModule.LibModule.Pager.factory(@list.page_status, params)\r
23       filer = new Locmare.Filer({\r
24         item_name: @list.item_name, \r
25         items: @list.items(), \r
26         pager: pager\r
27       })\r
28       @listenTo(filer, 'http_get', @http_get)\r
29       this.$el.append(filer.render().el)\r
30     )\r
31     this\r
32   \r
33   http_get: (url) ->\r
34     @trigger('http_get', url)\r
35   \r
36 class Pettanr.Views.Author.ShowModule.PanelsBody extends Pettanr.View\r
37   \r
38   initialize: (options) ->\r
39     super(options)\r
40     @item = options.item\r
41   \r
42   render: () ->\r
43     params = {\r
44       controller: 'panels', action: 'by_author', id: @item.get('id'),\r
45       page_size: 5\r
46     }\r
47     @list = Locmare.ListGroup.list(\r
48       params['controller'], params['action'], params\r
49     )\r
50     @list.open(() =>\r
51       pager = Locmare.ListGroupModule.LibModule.Pager.factory(@list.page_status, params)\r
52       _.each @list.items(), (panel) =>\r
53         panel = panel.with_elements() # retake panel for 'with_elements' mode\r
54         panel.fetch({cache: false}).done =>\r
55           panel.attributes = panel.replaced_attributes()\r
56           body = new Pettanr.Views.Panel.Body({\r
57             panel: panel,\r
58             spot: null\r
59           })\r
60           @trigger('ready', panel)\r
61           this.$el.append(body.render().el)\r
62     )\r
63     this\r
64   \r
65 class Pettanr.Views.Author.ShowModule.Panels extends Pettanr.View\r
66   \r
67   initialize: (options) ->\r
68     super(options)\r
69     @item = options.item\r
70     @panels_body = new Pettanr.Views.Author.ShowModule.PanelsBody({item: @item})\r
71     @credits = new Pettanr.Views.Scroll.PlayModule.Credits({parent: this})\r
72   \r
73   render: () ->\r
74     @listenTo(@panels_body, 'ready', @ready)\r
75     @listenTo(@panels_body, 'http_get', @http_get)\r
76     @listenTo(@credits, 'click:credit:icon', @click_credit_icon)\r
77     this.$el.append(@panels_body.render().el)\r
78     this.$el.append(@credits.render().el)\r
79     this\r
80   \r
81   http_get: (url) ->\r
82     @trigger('http_get', url)\r
83   \r
84   ready: (panel) ->\r
85     @credits.push(panel.licensed_pictures())\r
86   \r
87   click_credit_icon: (item) ->\r
88     @trigger('http_get', item.show_url())\r
89   \r
90 class Pettanr.Views.Author.ShowModule.Body extends Pettanr.View\r
91   \r
92   initialize: (options) ->\r
93     super(options)\r
94     @item = options.item\r
95     @scrolls = new Pettanr.Views.Author.ShowModule.Scrolls({item: @item})\r
96     @panels = new Pettanr.Views.Author.ShowModule.Panels({item: @item})\r
97   \r
98   render: () ->\r
99     this.$el.html('')\r
100     @listenTo(@scrolls, 'http_get', @http_get)\r
101     @listenTo(@panels, 'http_get', @http_get)\r
102     this.$el.append(@scrolls.render().el)\r
103     this.$el.append(@panels.render().el)\r
104     this\r
105   \r
106   http_get: (url) ->\r
107     @trigger('http_get', url)\r
108   \r
109 class Pettanr.Views.Author.Show extends Pettanr.View\r
110   tagName: 'div'\r
111   \r
112   initialize: (options) ->\r
113     @item = options.item\r
114     @header = new Pettanr.Views.Author.ShowModule.Header({\r
115       item: @item, \r
116       caption: @item.get('name'), \r
117       icon_url: @item.show_url(),\r
118       caption_url: @item.show_url(),\r
119       prof_url: @item.prof_url()\r
120     })\r
121     @body = new Pettanr.Views.Author.ShowModule.Body({\r
122       item: @item, \r
123     })\r
124     @listenTo(@body, 'http_get', @http_get)\r
125   \r
126   render: () ->\r
127     this.$el.html('')\r
128     this.$el.append(@header.render().el)\r
129     this.$el.append(@body.render().el)\r
130     this\r
131   \r
132   http_get: (url) ->\r
133     @trigger('http_get', url)\r
134   \r