OSDN Git Service

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