OSDN Git Service

e143e723e2029a024fc118a26dd5d0545a085b3b
[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({cache: false}).done =>\r
41       @item.attributes = @item.decoded_attributes()\r
42       @trigger('title', @params, @item.get('caption'))\r
43       show = new Pettanr.Views.Panel.Show(@item, {\r
44         spot: null\r
45       })\r
46       show.render()\r
47       @trigger('ready', show)\r
48       @trigger('done', @params)\r
49   \r
50   count: () ->\r
51   \r
52   new: () ->\r
53     @trigger('title', @params)\r
54     @set_new()\r
55     @item = @item.edit({\r
56       context: this, \r
57       success: (@item) ->\r
58         @item.boosts 'post'\r
59         @render_form()\r
60     })\r
61     @trigger('done', @params)\r
62   \r
63   edit: () ->\r
64     @trigger('title', @params)\r
65     @set_edit()\r
66     @trigger('done', @params)\r
67   \r
68   render_edit: (item) ->\r
69     item.edit({\r
70       context: this, \r
71       success: (@item) ->\r
72         @item.boosts 'post'\r
73         @render_form()\r
74     })\r
75   \r
76   render_form: () ->\r
77     @form = new Editor.PanelEditor({root_item: @item})\r
78     @form.render()\r
79     @trigger('lock', @params, @form)\r
80     @trigger('ready', @form)\r
81   \r
82   create: () ->\r
83     # @form is editor\r
84     @form.panel.overwrite({})\r
85     @listenTo(@form, 'success', @post_success)\r
86     @listenTo(@form, 'fail', @post_fail)\r
87     @form.save()\r
88   \r
89   update: () ->\r
90     # @form is editor\r
91     @form.panel.overwrite({})\r
92     @listenTo(@form, 'success', @post_success)\r
93     @listenTo(@form, 'fail', @post_fail)\r
94     @form.save()\r
95   \r
96   destroy: () ->\r
97     @set_show(@render_destroy)\r
98   \r
99   render_destroy: (@item) ->\r
100     @listenTo(@item, 'destroy:success', @destroy_success)\r
101     @listenTo(@item, 'destroy:fail', @destroy_fail)\r
102     @item.destroy()\r
103   \r
104   @is_deny_action_on_picker: (params) ->\r
105     switch params['action']\r
106       when 'new'\r
107         true\r
108       when 'edit'\r
109         true\r
110       else\r
111         false\r
112   \r