OSDN Git Service

63f6ee3471d34405a24c765114912f4b306814af
[pettanr/pettanr.git] / app / assets / javascripts / editor / panel_editor / dock.js.coffee
1 class Editor.PanelEditor.Dock extends Editor.EditorModule.DockBase\r
2   tagName: 'div'\r
3   className: 'dock'\r
4   \r
5   initialize: (options) ->\r
6     super(options)\r
7     @root_bay = new Editor.EditorModule.DockModule.RootBay({\r
8       parent: this, index: 0, name: 'panel'\r
9     })\r
10     @add_tab(\r
11       @root_bay, \r
12       new Editor.EditorModule.DockModule.TabModule.RootBayLabel({\r
13         parent: @root_bay, caption: 'panel'\r
14       }), \r
15       new Editor.EditorModule.DockModule.TabModule.RootBayBody({\r
16         parent: @root_bay\r
17       })\r
18     )\r
19     @element_bay = new Editor.EditorModule.DockModule.ElementBay({\r
20       parent: this, index: 1, name: 'elements'\r
21     })\r
22     @add_tab(\r
23       @element_bay, \r
24       new Editor.EditorModule.DockModule.TabModule.ElementBayLabel({\r
25         parent: @element_bay, caption: 'elements'\r
26       }), \r
27       new Editor.EditorModule.DockModule.TabModule.ElementBayBody({\r
28         parent: @element_bay\r
29       })\r
30     )\r
31     @scenario_bay = new Editor.EditorModule.DockModule.ScenarioBay({\r
32       parent: this, index: 2, name: 'scenario'\r
33     })\r
34     @add_tab(\r
35       @scenario_bay, \r
36       new Editor.EditorModule.DockModule.TabModule.ScenarioBayLabel({\r
37         parent: @scenario_bay, caption: 'scenario'\r
38       }), \r
39       new Editor.EditorModule.DockModule.TabModule.ScenarioBayBody({\r
40         parent: @scenario_bay\r
41       })\r
42     )\r
43     @listenTo(@root_bay.body, 'http_post', @http_post)\r
44   \r
45   render: () ->\r
46     this.$el.html('')\r
47     l = _.map @tabs, (tab) ->\r
48       tab.label\r
49     labels = new Tag.Ul({contents: l, class_name: @dom_labels_class()})\r
50     this.$el.append(labels.render().el)\r
51     _.each @tabs, (tab) =>\r
52       this.$el.append(tab.render().el)\r
53     this\r
54   \r
55   init_tabs: () ->\r
56     this.$el.tabs({\r
57       activate: (e, ui) ->\r
58         ui.newPanel.trigger('activate')\r
59     })\r
60   \r
61   add_element_to_element_tab: (element) ->\r
62     @element_bay.add_element(element)\r
63   \r
64   add_element_to_scenario_tab: (element) ->\r
65     @scenario_bay.add_element(element)\r
66   \r
67   editor: () ->\r
68     @parent\r
69   \r
70   dom_id: () ->\r
71     @editor().dom_id() + '-dock'\r
72   \r
73   dom_class: () ->\r
74     @editor().dom_class() + '-dock'\r
75   \r
76   dom_labels_class: () ->\r
77     @dom_class() + '-labels'\r
78   \r
79   http_post: (url, root_form) ->\r
80     @trigger('http_post', url, this)  # send dock\r
81     false\r
82   \r
83   save_data: () ->\r
84     attrs = @root_bay.save_data()\r
85     _.extend(attrs, @element_bay.save_data())\r
86     attrs\r
87   \r
88 class Editor.EditorModule.DockModule.RootBay extends Editor.EditorModule.DockModule.SimpleBay\r
89   \r
90   render: () ->\r
91     @body.render()\r
92   \r
93   save_data: () ->\r
94     @body.form.save_data()\r
95   \r
96 class Editor.EditorModule.DockModule.TabModule.RootBayLabel extends Editor.EditorModule.DockModule.TabModule.BayLabel\r
97   \r
98 class Editor.EditorModule.DockModule.TabModule.RootBayBody extends Editor.EditorModule.DockModule.TabModule.BayBody\r
99   \r
100   initialize: (options) ->\r
101     super(options)\r
102     @form = Locmare.Form.factory({\r
103       form_name: @root_item().item_name(), \r
104       use_name: 'default' \r
105       item: @root_item(), \r
106       mounted: @mounted(), \r
107       submit: 'default' \r
108       operators: @dock().editor().operators,\r
109       action: '/' + @root_item().table_name() + '/' + Pettanr.to_s(@root_item().get('id'))\r
110     })\r
111     @listenTo(@form, 'http_post', @http_post)\r
112   \r
113   render: () ->\r
114     super()\r
115     @el.className = @bay().body.dom_class()\r
116     this.$el.html(@form.render().el)\r
117     this\r
118   \r
119   mounted: () ->\r
120     true\r
121   \r
122   dock: () ->\r
123     @parent.dock()\r
124   \r
125   root_item: () ->\r
126     @dock().root_item()\r
127   \r
128   http_post: (url, root_form) ->\r
129     @trigger('http_post', url, root_form)\r
130     false\r
131   \r
132 class Editor.EditorModule.DockModule.ElementBay extends Editor.EditorModule.DockModule.BoardBay\r
133   \r
134   initialize: (options) ->\r
135     super(options)\r
136     @elements_tabs = new Editor.EditorModule.DockModule.ElementBay.ElementsTabs({\r
137     })\r
138     @listenTo(@elements_tabs, 'sorted', @sorted)\r
139   \r
140   add_element: (element) ->\r
141     index = element.get('z') - 1\r
142     tab = new Editor.EditorModule.DockModule.ElementBoard({\r
143       parent: this, index: index, name: element.item_name(), element: element\r
144     })\r
145     bb = new Editor.EditorModule.DockModule.TabModule.ElementBoardBody({parent: tab})\r
146     @add_tab(\r
147       tab, \r
148       new Editor.EditorModule.DockModule.TabModule.ElementBoardLabel({parent: tab, name: element.item_name()}), \r
149       bb\r
150     )\r
151     @elements_tabs.add_element_tab(tab)\r
152     @elements_tabs.$el.tabs('refresh')\r
153     bb.form\r
154   \r
155   add_new_tab: () ->\r
156     tab = new Editor.EditorModule.DockModule.NewElementBoard({\r
157       parent: this, index: 0, name: 'new'\r
158     })\r
159     bb = new Editor.EditorModule.DockModule.TabModule.NewElementBoardBody({parent: tab})\r
160     @add_tab(\r
161       tab, \r
162       new Editor.EditorModule.DockModule.TabModule.NewElementBoardLabel({parent: tab}), \r
163       bb\r
164     )\r
165     @elements_tabs.add_element_tab(tab)\r
166   \r
167   render: () ->\r
168     this.$el.html('')\r
169     @delegateEvents({'activate': 'activate'})\r
170     this.$el.attr('id', @body.dom_id())\r
171     this.$el.append(@elements_tabs.render().el)\r
172     _this = this\r
173     @elements_tabs.$el.tabs({\r
174       activate: (e, ui) ->\r
175         ui.newPanel.trigger('activate')\r
176     })\r
177     this\r
178   \r
179   activate: () ->\r
180     _.each @tabs, (tab) ->\r
181       return if not tab.element  # without new element tab\r
182       if tab.body.$el.css('display') != 'none'\r
183         tab.body.refresh()\r
184   \r
185   sorted: () ->\r
186     # data-z copy to model\r
187     _.each @tabs, (tab) ->\r
188       if tab.element   # without new_tab\r
189         z = parseInt(tab.label.$el.attr('data-z'))\r
190         tab.element.set({\r
191           z: z\r
192         }, {silent: true})\r
193         tab.element.trigger('sort')\r
194   \r
195   panel_body: () ->\r
196     @dock().editor().body\r
197   \r
198   save_data: () ->\r
199     attrs = {}\r
200     _.each @tabs, (tab) ->\r
201       return if not tab.element  # without new element tab\r
202       form = tab.body.form\r
203       name = form.item.table_name() + '_attributes'\r
204       attrs[name] ||= []\r
205       attrs[name].push(form.save_data())\r
206     attrs\r
207   \r
208 class Editor.EditorModule.DockModule.ElementBay.ElementsTabs extends Backbone.View\r
209   tagName: 'div'\r
210   className: 'elements_tabs ui-tabs-vertical ui-helper-clearfix'\r
211   \r
212   initialize: (options) ->\r
213     super(options)\r
214     @inner_elements_tabs = new Editor.EditorModule.DockModule.ElementBay.InnerElementsTabs({\r
215     })\r
216     @listenTo(@inner_elements_tabs, 'sorted', @sorted)\r
217   \r
218   render: () ->\r
219     this.$el.html('')\r
220     this.$el.append(@inner_elements_tabs.render().$el)\r
221     this\r
222   \r
223   add_element_tab: (tab) ->\r
224     @inner_elements_tabs.add_label(tab.label)\r
225     this.$el.append(tab.body.render().$el)\r
226   \r
227   sorted: () ->\r
228     # data-z copy to model\r
229     @trigger('sorted')\r
230   \r
231 class Editor.EditorModule.DockModule.ElementBay.InnerElementsTabs extends Backbone.View\r
232   tagName: 'ul'\r
233   \r
234   initialize: (options) ->\r
235     super(options)\r
236     @labels = []\r
237   \r
238   render: () ->\r
239     this.$el.html('')\r
240     this.$el.addClass('inner-elements-tabs')\r
241     _.each @zorderd_labels(), (label) =>\r
242       this.$el.append(label.render().$el)\r
243     _this = this\r
244     this.$el.sortable {\r
245       update: (event, ui) ->\r
246         z = 1\r
247         $('.z-label', $(@)).map ->\r
248           $(@).attr('data-z', z)\r
249           z++\r
250         _this.trigger('sorted')\r
251     }\r
252     this\r
253   \r
254   zorderd_labels: () ->\r
255     res = []\r
256     _.each @labels, (label) =>\r
257       res[label.z()] = label\r
258     res\r
259   \r
260   add_label: (label) ->\r
261     #z = label.z()\r
262     @labels.push(label) # insert array\r
263     @render()\r
264     label.add_label()\r
265   \r
266 class Editor.EditorModule.DockModule.TabModule.ElementBayLabel extends Editor.EditorModule.DockModule.TabModule.BayLabel\r
267   \r
268 class Editor.EditorModule.DockModule.TabModule.ElementBayBody extends Editor.EditorModule.DockModule.TabModule.BayBody\r
269   \r
270   render: () ->\r
271     @body.render()\r
272 class Editor.EditorModule.DockModule.ElementBoard extends Editor.EditorModule.DockModule.Board\r
273   \r
274   initialize: (options) ->\r
275     super(options)\r
276     @element = options.element\r
277   \r
278   dom_id: () ->\r
279     super() + '-' + @element.get('id')  # use tab index\r
280   \r
281 class Editor.EditorModule.DockModule.TabModule.ElementBoardLabel extends Editor.EditorModule.DockModule.TabModule.BoardLabel\r
282   \r
283   render: () ->\r
284     super()\r
285     this.$el.attr('data-z', @z())\r
286     this.$el.removeClass('ui-corner-top')\r
287     this.$el.addClass('ui-corner-left z-label')\r
288     _this = this\r
289     this.$el.mouseover -> \r
290       _this.element().trigger('active')\r
291     this.$el.mouseout -> \r
292       _this.element().trigger('inactive')\r
293     this\r
294   \r
295   z: () ->\r
296     @element().get('z')\r
297   \r
298   add_label: () ->\r
299     this.$el.attr('id', @dom_id())\r
300   \r
301 class Editor.EditorModule.DockModule.TabModule.ElementBoardBody extends Editor.EditorModule.DockModule.TabModule.BoardBody\r
302   \r
303   initialize: (options) ->\r
304     super(options)\r
305     @form = Locmare.Form.factory({\r
306       form_name: @element().item_name(), \r
307       use_name: 'default' \r
308       item: @element(), \r
309       mounted: @mounted(), \r
310       submit: null, \r
311       operators: @dock().editor().operators,\r
312       action: '/' + @element().table_name() + '/' + Pettanr.to_s(@element().get('id'))\r
313     })\r
314   \r
315   render: () ->\r
316     @delegateEvents({'activate': 'activate'})\r
317     this.$el.attr('id', @dom_id())\r
318     this.$el.html(@form.render().el)\r
319     this\r
320   \r
321   add_element: (element) ->\r
322     @form.add_element(element)\r
323   \r
324   activate: () ->\r
325     @refresh()\r
326   \r
327   refresh: () ->\r
328     @form.refresh()\r
329   \r
330   mounted: () ->\r
331     true\r
332   \r
333   element: () ->\r
334     @parent.element\r
335   \r
336 class Editor.EditorModule.DockModule.NewElementBoard extends Editor.EditorModule.DockModule.Board\r
337   \r
338   initialize: (options) ->\r
339     super(options)\r
340     @panel = @parent.dock().editor().panel\r
341   \r
342 class Editor.EditorModule.DockModule.TabModule.NewElementBoardLabel extends Editor.EditorModule.DockModule.TabModule.BoardLabel\r
343   \r
344   render: () ->\r
345     super()\r
346     this.$el.attr('data-z', @z())\r
347     this.$el.removeClass('ui-corner-top')\r
348     this.$el.addClass('ui-corner-left')\r
349     this\r
350   \r
351   face: () ->\r
352     this.$el.append()\r
353     icon = new Pettanr.Image.SymbolImg({attr: {src: '/images/new.gif'}})\r
354     linked_elements_tab = new Tag.A({\r
355       attr: {href: '#' + @board().body.dom_id() },\r
356       content: icon.render().el\r
357     })\r
358     this.$el.append(linked_elements_tab.render().el)\r
359   \r
360   z: () ->\r
361     0\r
362   \r
363   add_label: () ->\r
364     this.$el.attr('id', @dom_id())\r
365   \r
366 class Editor.EditorModule.DockModule.TabModule.NewElementBoardBody extends Editor.EditorModule.DockModule.TabModule.BoardBody\r
367   className: 'new-element-board-body'\r
368   \r
369   initialize: (options) ->\r
370     super(options)\r
371   \r
372   render: () ->\r
373     this.$el.attr('id', @dom_id())\r
374     @buttons = new Editor.EditorModule.DockModule.NewElementButtons({\r
375       parent: this, element_models: @element_models()\r
376     })\r
377     @form_wrapper = new Editor.EditorModule.DockModule.NewElementFormWrapper({\r
378       parent: this\r
379     })\r
380     this.$el.append(@buttons.render().el)\r
381     this.$el.append(@form_wrapper.clear().el)\r
382     this\r
383   \r
384   panel: () ->\r
385     @parent.panel\r
386   \r
387   element_models: () ->\r
388     @panel().my_class().child_models()\r
389   \r
390 class Editor.EditorModule.DockModule.NewElementButtons extends Backbone.View\r
391   tagName: 'div'\r
392   className: 'new-element-buttons'\r
393   \r
394   initialize: (options) ->\r
395     super(options)\r
396     @parent = options.parent\r
397     @element_models = options.element_models\r
398   \r
399   render: () ->\r
400     _.each @element_models, (model) =>\r
401       button = new Editor.EditorModule.DockModule.NewElementButton({\r
402         parent: this, model: model\r
403       })\r
404       this.$el.append(button.render().el)\r
405     this\r
406   \r
407 class Editor.EditorModule.DockModule.NewElementButton extends Backbone.View\r
408   tagName: 'div'\r
409   \r
410   initialize: (options) ->\r
411     super(options)\r
412     @parent = options.parent\r
413     @model = options.model\r
414   \r
415   render: () ->\r
416     this.$el.html('')\r
417     icon = new Pettanr.Image.Icon({item: @model})\r
418     linked_icon = new Editor.EditorModule.DockModule.NewElementLinkedButton({\r
419       attr: {href: '#event' },\r
420       content: icon.render().el,\r
421       handler_name: 'click'\r
422     })\r
423     @listenTo(linked_icon, 'click', @click)\r
424     this.$el.append(linked_icon.render().el)\r
425     this\r
426   \r
427   click: () ->\r
428     @set_dialog()\r
429     @set_form()\r
430     @dialog().$el.dialog('open')\r
431   \r
432   set_dialog: () ->\r
433     @params = {\r
434       controller: @model.path_name(), action: 'index',\r
435       page_size: 6\r
436     }\r
437     @list = Locmare.ListGroup.list(\r
438       @model.path_name(), 'index', @operators(), @params\r
439     )\r
440     @list.open(() =>\r
441       pager = Locmare.ListGroupModule.LibModule.Pager.factory(@list.page_status, @params)\r
442       f = new Locmare.Filer({\r
443         el: @dialog().$el,\r
444         item_name: @model.item_name(), \r
445         items: @list.items(), \r
446         pager: pager, \r
447         operators: @operators()\r
448       })\r
449     )\r
450     this\r
451   \r
452   set_form: () ->\r
453     @form_wrapper().select(@model)\r
454   \r
455   operators: () ->\r
456     @editor().operators\r
457   \r
458   form_wrapper: () ->\r
459     @parent.parent.form_wrapper\r
460   \r
461   dock: () ->\r
462     @parent.parent.dock()\r
463   \r
464   dialog: () ->\r
465     @editor().dialog\r
466   \r
467   editor: () ->\r
468     @dock().parent\r
469   \r
470 class Editor.EditorModule.DockModule.NewElementLinkedButton extends Tag.A\r
471   \r
472   click: () ->\r
473     @trigger('click')\r
474     return false\r
475   \r
476 class Editor.EditorModule.DockModule.NewElementFormWrapper extends Backbone.View\r
477   tagName: 'div'\r
478   \r
479   initialize: (options) ->\r
480     super(options)\r
481     @parent = options.parent\r
482   \r
483   clear: () ->\r
484     this.$el.html('new form')\r
485     this\r
486   \r
487   render: () ->\r
488     this.$el.html(@model.item_name())\r
489   \r
490   select: (model) ->\r
491     @model = model\r
492     @render()\r
493   \r
494 class Editor.EditorModule.DockModule.ScenarioBay extends Editor.EditorModule.DockModule.SimpleBay\r
495   \r
496   render: () ->\r
497     @body.render()\r
498   \r
499   add_element: (element) ->\r
500     element_li = @body.add_element(element)\r
501     element_li.body.form\r
502   \r
503   save_data: () ->\r
504     @body.form.save_data()\r
505   \r
506 class Editor.EditorModule.DockModule.TabModule.ScenarioBayLabel extends Editor.EditorModule.DockModule.TabModule.BayLabel\r
507   \r
508 class Editor.EditorModule.DockModule.TabModule.ScenarioBayBody extends Editor.EditorModule.DockModule.TabModule.BayBody\r
509   \r
510   initialize: (options) ->\r
511     super(options)\r
512     @elements = new Editor.EditorModule.DockModule.ScenarioBay.Elements({\r
513       parent: this, \r
514     })\r
515     @listenTo(@elements, 'sorted', @sorted)\r
516   \r
517   add_element: (element) ->\r
518     element_li = @elements.add_element(element)\r
519   \r
520   render: () ->\r
521     super()\r
522     this.$el.append(@elements.render().el)\r
523     @delegateEvents({'activate': 'activate'})\r
524     this\r
525   \r
526   activate: () ->\r
527     @elements.refresh()\r
528   \r
529   sorted: () ->\r
530     # data-t copy to model\r
531     _.each @elements.element_lis, (element_li) =>\r
532       t = parseInt(element_li.$el.attr('data-t'))\r
533       element_li.element.set({\r
534         t: t\r
535       }, {silent: true})\r
536       element_li.element.trigger('sort')\r
537   \r
538   panel_body: () ->\r
539     @dock().editor().body\r
540   \r
541   save_data: () ->\r
542     attrs = {}\r
543     _.each @tabs, (tab) ->\r
544       return if not tab.element  # without new element tab\r
545       form = tab.body.form\r
546       name = form.item.table_name() + '_attributes'\r
547       attrs[name] ||= []\r
548       attrs[name].push(form.save_data())\r
549     attrs\r
550   \r
551 class Editor.EditorModule.DockModule.ScenarioBay.Elements extends Backbone.View\r
552   tagName: 'ul'\r
553   className: 'scenarios_elements'\r
554   \r
555   initialize: (options) ->\r
556     super(options)\r
557     @parent = options.parent\r
558     @element_lis = []\r
559   \r
560   render: () ->\r
561     this.$el.html('')\r
562     _.each @scenario_elements(), (element_li) =>\r
563       this.$el.append(element_li.render().$el)\r
564     _this = this\r
565     this.$el.sortable {\r
566       update: (event, ui) ->\r
567         t = 0\r
568         $('.t-label', $(@)).map ->\r
569           $(@).attr('data-t', t)\r
570           t++\r
571         _this.trigger('sorted')\r
572     }\r
573     this\r
574   \r
575   refresh: () ->\r
576     _.each @element_lis, (element_li) =>\r
577       element_li.refresh()\r
578   \r
579   scenario_elements: () ->\r
580     res = []\r
581     _.each @element_lis, (element_li) =>\r
582       res[element_li.t()] = element_li\r
583     res\r
584   \r
585   add_element: (element) ->\r
586     e = new Editor.EditorModule.DockModule.ScenarioBay.Element({\r
587       parent: this, \r
588       element: element\r
589     })\r
590     @element_lis.push(e) # insert array\r
591     @render()\r
592     e\r
593   \r
594   sorted: () ->\r
595     # data-t copy to model\r
596     @trigger('sorted')\r
597   \r
598 class Editor.EditorModule.DockModule.ScenarioBay.Element extends Backbone.View\r
599   tagName: 'li'\r
600   className: 't-label'\r
601   \r
602   initialize: (options) ->\r
603     super(options)\r
604     @parent = options.parent\r
605     @element = options.element\r
606   \r
607   render: () ->\r
608     this.$el.html('')\r
609     this.$el.attr('data-t', @t())\r
610     @label = new Editor.EditorModule.DockModule.ScenarioBay.ElementLabel({\r
611       parent: this, \r
612     })\r
613     @body = new Editor.EditorModule.DockModule.ScenarioBay.ElementBody({\r
614       parent: this, \r
615     })\r
616     this.$el.append(@label.render().$el)\r
617     this.$el.append(@body.render().$el)\r
618     rb = new Tag.RowBreak()\r
619     this.$el.append(rb.render().el)\r
620     this\r
621   \r
622   refresh: () ->\r
623     @body.form.refresh()\r
624   \r
625   t: () ->\r
626     @element.get('t')\r
627   \r
628   dom_id: () ->\r
629     super() + '-' + @element.get('id')  # use tab index\r
630   \r
631 class Editor.EditorModule.DockModule.ScenarioBay.ElementLabel extends Backbone.View\r
632   className: 'scenario-label'\r
633   \r
634   initialize: (options) ->\r
635     super(options)\r
636     @parent = options.parent\r
637   \r
638   render: () ->\r
639     this.$el.append(@element().element_face().render().el)\r
640     _this = this\r
641     this.$el.mouseover -> \r
642       _this.element().trigger('active')\r
643     this.$el.mouseout -> \r
644       _this.element().trigger('inactive')\r
645     this\r
646   \r
647   element: () ->\r
648     @parent.element\r
649   \r
650   elements: () ->\r
651     @parent.parent\r
652   \r
653   bay: () ->\r
654     @elements().parent\r
655   \r
656   dock: () ->\r
657     @bay().dock()\r
658   \r
659 class Editor.EditorModule.DockModule.ScenarioBay.ElementBody extends Backbone.View\r
660   \r
661   initialize: (options) ->\r
662     super(options)\r
663     @parent = options.parent\r
664     @form = Locmare.Form.factory({\r
665       form_name: @element().item_name(), \r
666       use_name: 'scenario' \r
667       item: @element(), \r
668       mounted: @mounted(), \r
669       submit: null, \r
670       operators: @dock().editor().operators,\r
671       action: '/' + @element().table_name() + '/' + Pettanr.to_s(@element().get('id'))\r
672     })\r
673   \r
674   render: () ->\r
675     this.$el.html(@form.render().el)\r
676     this\r
677   \r
678   element: () ->\r
679     @parent.element\r
680   \r
681   elements: () ->\r
682     @parent.parent\r
683   \r
684   bay: () ->\r
685     @elements().parent\r
686   \r
687   dock: () ->\r
688     @bay().dock()\r
689   \r
690   mounted: () ->\r
691     true\r
692   \r
693   element: () ->\r
694     @parent.element\r
695   \r
696 class Editor.EditorModule.DockModule.NewBay extends Editor.EditorModule.DockModule.BoardBay\r
697   \r
698 \r
699 class Editor.EditorModule.DockModule.TabModule.NewBayLabel extends Editor.EditorModule.DockModule.TabModule.BayLabel\r
700   \r
701 \r
702 class Editor.EditorModule.DockModule.TabModule.NewBayBody extends Editor.EditorModule.DockModule.TabModule.BayBody\r
703   \r
704   initialize: (options) ->\r
705     super(options)\r
706   \r
707 class Editor.EditorModule.DockModule.NewBoard extends Editor.EditorModule.DockModule.Board\r
708   \r
709 class Editor.EditorModule.DockModule.TabModule.NewBoardLabel extends Editor.EditorModule.DockModule.TabModule.BoardLabel\r
710   \r
711 class Editor.EditorModule.DockModule.TabModule.NewBoardBody extends Editor.EditorModule.DockModule.TabModule.BoardBody\r
712   \r
713   initialize: (options) ->\r
714     super(options)\r
715 #    form_manager = Pettanr::Application::manifest.form_managers[self.root_item.form_name]\r
716 #    form = form_manager.open self.root_item, @dock_body.dock.editor.operators, mounted\r
717 #    bucket = Bucket.new self,form\r
718   \r