OSDN Git Service

operator move to cache
[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.with_elements() # retake panel for 'with_elements' mode\r
40     @item.fetch({cache: true}).done =>\r
41       @item.attributes = @item.replaced_attributes()\r
42       @trigger('title', @params, @item.get('caption'))\r
43       show = new Pettanr.Views.Panel.Show({\r
44         panel: @item,\r
45         spot: null\r
46       })\r
47       show.render()\r
48       @trigger('ready', show)\r
49       @trigger('done', @params)\r
50   \r
51   count: () ->\r
52   \r
53   new: () ->\r
54     @trigger('title', @params)\r
55     @set_new()\r
56     @editor(@item.new_url())\r
57     @trigger('done', @params)\r
58   \r
59   edit: () ->\r
60     @trigger('title', @params)\r
61     @set_model()\r
62     panel = new Pettanr.Panel({id: @params['id']})\r
63     @item = panel.with_elements()\r
64     @item.fetch({cache: false}).done =>\r
65       @item.attributes = @item.replaced_attributes()\r
66       @editor(@item.edit_url())\r
67       @trigger('done', @params)\r
68   \r
69   editor: () ->\r
70     editor = new Editor.PanelEditor({root_item: @item})\r
71     editor.render()\r
72     @trigger('lock', @params, editor)\r
73     @trigger('ready', editor)\r
74   \r
75   create: () ->\r
76     # @form is editor\r
77     @form.panel.overwrite({})\r
78     @listenTo(@form, 'success', @post_success)\r
79     @listenTo(@form, 'fail', @post_fail)\r
80     @form.save()\r
81   \r
82   update: () ->\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   destroy: () ->\r
90     @set_show(@render_destroy)\r
91   \r
92   render_destroy: () ->\r
93     @listenTo(@item, 'destroy:success', @destroy_success)\r
94     @listenTo(@item, 'destroy:fail', @destroy_fail)\r
95     @item.destroy()\r
96   \r
97   @is_deny_action_on_picker: (params) ->\r
98     switch params['action']\r
99       when 'new'\r
100         true\r
101       when 'edit'\r
102         true\r
103       else\r
104         false\r
105   \r