OSDN Git Service

6d8819dc2b91c6a1b087c1e11236166f215b19b0
[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_html: () ->\r
29     @item = new Pettanr.Panel.WithElements({id: @item.get('id')}) # retake panel for 'with_elements' mode\r
30     @item.fetch({cache: false}).done =>\r
31       @trigger('title', @params, @item.get('caption'))\r
32       show = new Pettanr.Views.Panel.Show({\r
33         panel: @item,\r
34         operators: @operators,\r
35         spot: null\r
36       })\r
37       show.render()\r
38       @trigger('ready', show)\r
39       @trigger('done', @params)\r
40       false\r
41   \r
42   show: () ->\r
43     @set_show()\r
44     switch @params['format']\r
45       when 'prof'\r
46         @show_prof()\r
47       else\r
48         @show_html()\r
49   \r
50   count: () ->\r
51   \r
52   new: () ->\r
53     @trigger('title', @params)\r
54     @set_new()\r
55     Pettanr.History.lock_url = @item.new_url()\r
56     @editor()\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       Pettanr.History.lock_url = @item.edit_url()\r
66       @editor()\r
67       @trigger('done', @params)\r
68   \r
69   editor: () ->\r
70     editor = new Editor.PanelEditor({root_item: @item, operators: @operators})\r
71     editor.render()\r
72     @trigger('ready', editor)\r
73   \r
74   create: () ->\r
75     # @form is editor\r
76     @form.panel.overwrite({operators: @operators})\r
77     @listenTo(@form, 'success', @post_success)\r
78     @listenTo(@form, 'fail', @post_fail)\r
79     @form.save()\r
80   \r
81   update: () ->\r
82     # @form is editor\r
83     @form.panel.overwrite({operators: @operators})\r
84     @listenTo(@form, 'success', @post_success)\r
85     @listenTo(@form, 'fail', @post_fail)\r
86     @form.save()\r
87   \r
88   destroy: () ->\r
89     @set_show()\r
90     @item.fetch({cache: true}).done =>\r
91       @listenTo(@item, 'destroy:success', @destroy_success)\r
92       @listenTo(@item, 'destroy:fail', @destroy_fail)\r
93       @item.destroy()\r
94   \r