OSDN Git Service

try editor event dispatching
[pettanr/pettanr.git] / app / assets / javascripts / controllers / panels.js.coffee
1 class Pettanr.PanelsController extends Pettanr.AppController\r
2   \r
3   index: () ->\r
4     @redraw_title(@params)\r
5     @filer_list()\r
6   \r
7   by_author: () ->\r
8     @redraw_title(@params)\r
9     @filer_list()\r
10   \r
11   by_scroll: () ->\r
12     @redraw_title(@params)\r
13     @filer_list()\r
14   \r
15   by_sheet: () ->\r
16     @redraw_title(@params)\r
17     @filer_list()\r
18   \r
19   by_speech_balloon_template: () ->\r
20     @redraw_title(@params)\r
21     @filer_list()\r
22   \r
23   show_html: () ->\r
24     @item = new Pettanr.Panel({id: @item.get('id')}, {with_elements: true}) # retake panel for 'with_elements' mode\r
25     @item.fetch({cache: false}).done =>\r
26       @redraw_title(@params, @item.get('caption'))\r
27       view = new Pettanr.Views.Panel.Show({\r
28         el: "#pettanr",\r
29         panel: @item,\r
30         operators: @operators,\r
31         spot: null\r
32       })\r
33       view.render()\r
34       false\r
35   \r
36   show: () ->\r
37     @set_show()\r
38     switch @params['format']\r
39       when 'prof'\r
40         @show_prof()\r
41       else\r
42         @show_html()\r
43   \r
44   count: () ->\r
45   \r
46   new: () ->\r
47     @redraw_title(@params)\r
48     @set_new()\r
49     @editor()\r
50   \r
51   edit: () ->\r
52     @redraw_title(@params)\r
53     @set_model()\r
54     @item = new Pettanr.Panel({id: @params['id']}, {with_elements: true})\r
55     @item.fetch({cache: false}).done =>\r
56       @q = {}\r
57       _.each @item.my_class().child_models(), (element_model) =>\r
58         name = @item.my_class().my_manifest().associations.child_element_name(element_model)\r
59         if e = @item.get(name)\r
60           elm = new element_model(e)\r
61           @q[name + elm.dom_id()] = elm\r
62       @qf( )\r
63   \r
64   qf: ( ) ->\r
65     _.each @q, (e, name) =>\r
66       e.fetch({cache: true}).done =>\r
67         delete @q[name]\r
68         if _.isEmpty(@q)\r
69           @editor()\r
70   \r
71   editor: () ->\r
72     editor = new Editor.PanelEditor({root_item: @item, operators: @operators})\r
73     $("#pettanr").html(editor.render().el)\r
74   \r
75   create: () ->\r
76   \r
77   update: () ->\r
78   \r
79   destroy: () ->\r
80     \r