OSDN Git Service

fix gate
[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: () -> \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.replace_elements()\r
42       @trigger('title', @params, @item.get('caption'))\r
43       show = new Pettanr.Views.Panel.Show({\r
44         panel: @item,\r
45         operators: @operators,\r
46         spot: null\r
47       })\r
48       show.render()\r
49       @trigger('ready', show)\r
50       @trigger('done', @params)\r
51   \r
52   count: () ->\r
53   \r
54   new: () ->\r
55     if @gate and @gate.is_lock()\r
56       @trigger('lock', @params)\r
57     else\r
58       @trigger('title', @params)\r
59       @set_new()\r
60       @editor(@item.new_url())\r
61       @trigger('done', @params)\r
62   \r
63   edit: () ->\r
64     if @gate and @gate.is_lock()\r
65       @trigger('lock', @params)\r
66     else\r
67       @trigger('title', @params)\r
68       @set_model()\r
69       panel = new Pettanr.Panel({id: @params['id']})\r
70       @item = panel.with_elements()\r
71       @item.fetch({cache: false}).done =>\r
72         @item.replace_elements()\r
73         @editor(@item.edit_url())\r
74         @trigger('done', @params)\r
75   \r
76   editor: () ->\r
77     editor = new Editor.PanelEditor({root_item: @item, operators: @operators})\r
78     editor.render()\r
79     @trigger('lock', @params, editor)\r
80     @trigger('ready', editor)\r
81   \r
82   create: () ->\r
83     # @form is editor\r
84     @form.panel.overwrite({operators: @operators})\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({operators: @operators})\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: () ->\r
100     @listenTo(@item, 'destroy:success', @destroy_success)\r
101     @listenTo(@item, 'destroy:fail', @destroy_fail)\r
102     @item.destroy()\r
103   \r