OSDN Git Service

685bf0715d4b6b4fb9a6206dc1b79b6810008883
[pettanr/pettanr.git] / app / assets / javascripts / controllers / panels.js.coffee
1 class Pettanr.PanelsController extends Pettanr.AppController\r
2   \r
3   index: () ->\r
4     @trigger('title', @params)\r
5     @filer_list()\r
6     @trigger('done', @params)\r
7   \r
8   by_author: () ->\r
9     @trigger('title', @params)\r
10     @filer_list()\r
11     @trigger('done', @params)\r
12   \r
13   by_scroll: () ->\r
14     @trigger('title', @params)\r
15     @filer_list()\r
16     @trigger('done', @params)\r
17   \r
18   by_sheet: () ->\r
19     @trigger('title', @params)\r
20     @filer_list()\r
21     @trigger('done', @params)\r
22   \r
23   by_speech_balloon_template: () ->\r
24     @trigger('title', @params)\r
25     @filer_list()\r
26     @trigger('done', @params)\r
27   \r
28   show: () ->\r
29     @set_show(@render_show)\r
30   \r
31   render_show: (@item) -> \r
32     switch @params['format']\r
33       when 'prof'\r
34         @show_prof()\r
35       when 'html'\r
36         @show_html()\r
37   \r
38   show_html: () -> \r
39     @item = @item.play() # retake panel for 'with_elements' mode\r
40     @item.fetch({\r
41       cache: false\r
42       success: (@parent_item, response, opt) =>\r
43         @item.attributes = @item.decoded_attributes()\r
44         @trigger('title', @params, @item.get('caption'))\r
45         show = new Pettanr.Views.Panel.Show(@item, {\r
46           spot: null\r
47         })\r
48         show.render()\r
49         @trigger('ready', show)\r
50         @trigger('done', @params)\r
51       error: (item, response, opt) =>\r
52         @trigger('fail', response, opt)\r
53     })\r
54   \r
55   count: () ->\r
56   \r
57   new: () ->\r
58     @trigger('title', @params)\r
59     @set_new()\r
60     @item = @item.edit({\r
61       context: this, \r
62       success: (@item) ->\r
63         @item.boosts 'post'\r
64         @render_form()\r
65       fail: (response, opt) ->\r
66         @trigger('fail', response, opt)\r
67     })\r
68     @trigger('done', @params)\r
69   \r
70   edit: () ->\r
71     @trigger('title', @params)\r
72     @set_edit()\r
73     @trigger('done', @params)\r
74   \r
75   render_edit: (item) ->\r
76     item.edit({\r
77       context: this, \r
78       success: (@item) ->\r
79         @item.boosts 'post'\r
80         @render_form()\r
81       fail: (response, opt) ->\r
82         @trigger('fail', response, opt)\r
83     })\r
84   \r
85   render_form: () ->\r
86     @form = new Editor.PanelEditor({root_item: @item})\r
87     @form.render()\r
88     @trigger('lock', @params, @form)\r
89     @trigger('ready', @form)\r
90   \r
91   create: () ->\r
92     # @form is editor\r
93     @form.panel.overwrite({})\r
94     @listenTo(@form, 'success', @post_success)\r
95     @listenTo(@form, 'fail', @post_fail)\r
96     @form.save()\r
97   \r
98   update: () ->\r
99     # @form is editor\r
100     @form.panel.overwrite({})\r
101     @listenTo(@form, 'success', @post_success)\r
102     @listenTo(@form, 'fail', @post_fail)\r
103     @form.save()\r
104   \r
105   destroy: () ->\r
106     @set_show(@render_destroy)\r
107   \r
108   render_destroy: (@item) ->\r
109     @listenTo(@item, 'destroy:success', @destroy_success)\r
110     @listenTo(@item, 'destroy:fail', @destroy_fail)\r
111     @item.destroy()\r
112   \r
113   @is_deny_action_on_picker: (params) ->\r
114     switch params['action']\r
115       when 'new'\r
116         true\r
117       when 'edit'\r
118         true\r
119       else\r
120         false\r
121   \r