OSDN Git Service

clean
[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     tab = new Editor.EditorModule.DockModule.RootBay({\r
8       parent: this, index: 0, name: 'panel'\r
9     })\r
10     @add_tab(\r
11       tab, \r
12       new Editor.EditorModule.DockModule.TabModule.RootBayLabel({\r
13         parent: tab, caption: 'panel'\r
14       }), \r
15       new Editor.EditorModule.DockModule.TabModule.RootBayBody({\r
16         parent: tab\r
17       })\r
18     )\r
19     tab = new Editor.EditorModule.DockModule.ElementBay({\r
20       parent: this, index: 1, name: 'elements'\r
21     })\r
22     @add_tab(\r
23       tab, \r
24       new Editor.EditorModule.DockModule.TabModule.ElementBayLabel({\r
25         parent: tab, caption: 'elements'\r
26       }), \r
27       new Editor.EditorModule.DockModule.TabModule.ElementBayBody({\r
28         parent: tab\r
29       })\r
30     )\r
31     tab = new Editor.EditorModule.DockModule.ScenarioBay({\r
32       parent: this, index: 2, name: 'scenario'\r
33     })\r
34     @add_tab(\r
35       tab, \r
36       new Editor.EditorModule.DockModule.TabModule.ScenarioBayLabel({\r
37         parent: tab, caption: 'scenario'\r
38       }), \r
39       new Editor.EditorModule.DockModule.TabModule.ScenarioBayBody({\r
40         parent: tab\r
41       })\r
42     )\r
43     tab = new Editor.EditorModule.DockModule.PriorityBay({\r
44       parent: this, index: 3, name: 'priority'\r
45     })\r
46     @add_tab(\r
47       tab, \r
48       new Editor.EditorModule.DockModule.TabModule.PriorityBayLabel({\r
49         parent: tab, caption: 'priority'\r
50       }), \r
51       new Editor.EditorModule.DockModule.TabModule.PriorityBayBody({\r
52         parent: tab\r
53       })\r
54     )\r
55     tab = new Editor.EditorModule.DockModule.NewBay({\r
56       parent: this, index: 4, name: 'new'\r
57     })\r
58     @add_tab(\r
59       tab, \r
60       new Editor.EditorModule.DockModule.TabModule.NewBayLabel({\r
61         parent: tab, caption: 'new'\r
62       }), \r
63       new Editor.EditorModule.DockModule.TabModule.NewBayBody({\r
64         parent: tab\r
65       })\r
66     )\r
67   \r
68   render: () ->\r
69     this.$el.html('')\r
70     l = _.map @tabs, (tab) ->\r
71       tab.label\r
72     labels = new Tag.Ul({contents: l, class_name: @dom_labels_class()})\r
73     this.$el.append(labels.render().el)\r
74     _.each @tabs, (tab) =>\r
75       this.$el.append(tab.render().el)\r
76     this\r
77   \r
78   editor: () ->\r
79     @parent\r
80   \r
81   dom_id: () ->\r
82     @editor().dom_id() + '-dock'\r
83   \r
84   dom_class: () ->\r
85     @editor().dom_class() + '-dock'\r
86   \r
87   dom_labels_class: () ->\r
88     @dom_class() + '-labels'\r
89   \r
90 class Editor.EditorModule.DockModule.RootBay extends Editor.EditorModule.DockModule.SimpleBay\r
91   \r
92   render: () ->\r
93     @body.render()\r
94   \r
95 class Editor.EditorModule.DockModule.TabModule.RootBayLabel extends Editor.EditorModule.DockModule.TabModule.BayLabel\r
96   \r
97 class Editor.EditorModule.DockModule.TabModule.RootBayBody extends Editor.EditorModule.DockModule.TabModule.BayBody\r
98   \r
99   initialize: (options) ->\r
100     super(options)\r
101     @form = new Locmare.Bucket.factory(\r
102       @root_item().item_name(), \r
103       @root_item(), \r
104       @mounted(), \r
105       'default', \r
106       @dock().editor().operators\r
107     )\r
108     @bucket = new Editor.EditorModule.DockModule.FormBucket({\r
109       parent: this, form: @form\r
110     })\r
111   \r
112   render: () ->\r
113     super()\r
114     @el.className = @bay().body.dom_class()\r
115     this.$el.html(@bucket.render().el)\r
116     this\r
117   \r
118   mounted: () ->\r
119     true\r
120   \r
121   dock: () ->\r
122     @parent.dock()\r
123   \r
124   root_item: () ->\r
125     @dock().root_item()\r
126   \r
127 class Editor.EditorModule.DockModule.ElementBay extends Editor.EditorModule.DockModule.BoardBay\r
128   \r
129   initialize: (options) ->\r
130     super(options)\r
131     i = 0\r
132     _.each @elements(), (element) =>\r
133       tab = new Editor.EditorModule.DockModule.ElementBoard({\r
134         parent: this, index: i, name: element.item_name(), element: element\r
135       })\r
136       @add_tab(\r
137         tab, \r
138         new Editor.EditorModule.DockModule.TabModule.ElementBoardLabel({parent: tab, name: element.item_name()}), \r
139         new Editor.EditorModule.DockModule.TabModule.ElementBoardBody({parent: tab})\r
140       )\r
141       i++\r
142   \r
143   render: () ->\r
144     this.$el.html('')\r
145     this.$el.attr('id', @body.dom_id())\r
146     elements_tabs = new Editor.EditorModule.DockModule.ElementBay.ElementsTabs({\r
147       tabs: @tabs\r
148     })\r
149     this.$el.append(elements_tabs.render().el)\r
150     elements_tabs.$el.tabs()\r
151     elements_tabs.$el.addClass('ui-tabs-vertical ui-helper-clearfix')\r
152     $("li", elements_tabs.$el).removeClass('ui-corner-top')\r
153     $("li", elements_tabs.$el).addClass('ui-corner-left')\r
154     this\r
155   \r
156   elements: () ->\r
157     @root_item().scenario_elements()\r
158   \r
159 class Editor.EditorModule.DockModule.ElementBay.ElementsTabs extends Backbone.View\r
160   tagName: 'div'\r
161   className: 'elements_tabs ui-tabs-vertical ui-helper-clearfix'\r
162   \r
163   initialize: (options) ->\r
164     super(options)\r
165     @tabs = options.tabs\r
166   \r
167   render: () ->\r
168     this.$el.html('')\r
169     labels = _.map @tabs, (tab) =>\r
170       tab.label\r
171     inner_elements_tabs = new Editor.EditorModule.DockModule.ElementBay.InnerElementsTabs({\r
172       labels: labels\r
173     })\r
174     this.$el.append(inner_elements_tabs.render().el)\r
175     _.each @tabs, (tab) =>\r
176       this.$el.append(tab.body.render().el)\r
177     this\r
178   \r
179 class Editor.EditorModule.DockModule.ElementBay.InnerElementsTabs extends Backbone.View\r
180   tagName: 'ul'\r
181   \r
182   initialize: (options) ->\r
183     super(options)\r
184     @labels = options.labels\r
185   \r
186   render: () ->\r
187     this.$el.html('')\r
188     _.each @labels, (label) =>\r
189       this.$el.append(label.render().el)\r
190     this\r
191   \r
192 class Editor.EditorModule.DockModule.TabModule.ElementBayLabel extends Editor.EditorModule.DockModule.TabModule.BayLabel\r
193   \r
194 class Editor.EditorModule.DockModule.TabModule.ElementBayBody extends Editor.EditorModule.DockModule.TabModule.BayBody\r
195   \r
196   render: () ->\r
197     @body.render()\r
198   \r
199 class Editor.EditorModule.DockModule.ElementBoard extends Editor.EditorModule.DockModule.Board\r
200   \r
201   initialize: (options) ->\r
202     super(options)\r
203     @element = options.element\r
204   \r
205   dom_id: () ->\r
206     super() + '-' + @element.get('id') + '-'  # use tab index\r
207   \r
208 class Editor.EditorModule.DockModule.TabModule.ElementBoardLabel extends Editor.EditorModule.DockModule.TabModule.BoardLabel\r
209   \r
210 class Editor.EditorModule.DockModule.TabModule.ElementBoardBody extends Editor.EditorModule.DockModule.TabModule.BoardBody\r
211   \r
212   initialize: (options) ->\r
213     super(options)\r
214     @form = Locmare.Bucket.factory(\r
215       @element().item_name(), \r
216       @element(), \r
217       @mounted(), \r
218       null, \r
219       @dock().editor().operators\r
220     )\r
221     @bucket = new Editor.EditorModule.DockModule.FormBucket({\r
222       parent: this, form: @form\r
223     })\r
224   \r
225   render: () ->\r
226     this.$el.attr('id', @dom_id())\r
227     this.$el.html(@bucket.render().el)\r
228     this\r
229   \r
230   mounted: () ->\r
231     true\r
232   \r
233   element: () ->\r
234     @parent.element\r
235   \r
236 class Editor.EditorModule.DockModule.ScenarioBay extends Editor.EditorModule.DockModule.BoardBay\r
237   \r
238   initialize: (options) ->\r
239     super(options)\r
240     i = 0\r
241     _.each @elements(), (element) =>\r
242       tab = new Editor.EditorModule.DockModule.ScenarioBoard({\r
243         parent: this, index: i, name: element.item_name(), element: element\r
244       })\r
245       @add_tab(\r
246         tab, \r
247         new Editor.EditorModule.DockModule.TabModule.ScenarioBoardLabel({parent: tab, caption: element.item_name()}), \r
248         new Editor.EditorModule.DockModule.TabModule.ScenarioBoardBody({parent: tab})\r
249       )\r
250       i++\r
251   \r
252   render: () ->\r
253     this.$el.html('')\r
254     this.$el.attr('id', @body.dom_id())\r
255     elements_tabs = new Editor.EditorModule.DockModule.ScenarioBay.ScenarioTabs({\r
256       tabs: @tabs\r
257     })\r
258     this.$el.append(elements_tabs.render().el)\r
259     _.each @tabs, (tab) =>\r
260       this.$el.append(tab.body.render().el)\r
261     elements_tabs.$el.tabs()\r
262     this\r
263   \r
264   elements: () ->\r
265     @root_item().scenario_elements()\r
266   \r
267   class_name: () ->\r
268     "tsort-box"\r
269   \r
270 class Editor.EditorModule.DockModule.ScenarioBay.ScenarioTabs extends Backbone.View\r
271   tagName: 'ul'\r
272   className: 'tsort'\r
273   \r
274   initialize: (options) ->\r
275     super(options)\r
276     @tabs = options.tabs\r
277   \r
278   render: () ->\r
279     this.$el.html('')\r
280     _.each @tabs, (tab) =>\r
281       this.$el.append(tab.label.render().el)\r
282     this\r
283   \r
284 class Editor.EditorModule.DockModule.TabModule.ScenarioBayLabel extends Editor.EditorModule.DockModule.TabModule.BayLabel\r
285   \r
286 class Editor.EditorModule.DockModule.TabModule.ScenarioBayBody extends Editor.EditorModule.DockModule.TabModule.BayBody\r
287   \r
288   initialize: (options) ->\r
289     super(options)\r
290   \r
291 class Editor.EditorModule.DockModule.ScenarioBoard extends Editor.EditorModule.DockModule.Board\r
292   \r
293   initialize: (options) ->\r
294     super(options)\r
295     @element = options.element\r
296   \r
297 class Editor.EditorModule.DockModule.TabModule.ScenarioBoardLabel extends Editor.EditorModule.DockModule.TabModule.BoardLabel\r
298   \r
299   with_destroy_button: () ->\r
300     false\r
301   \r
302 class Editor.EditorModule.DockModule.TabModule.ScenarioBoardBody extends Editor.EditorModule.DockModule.TabModule.BoardBody\r
303   \r
304   initialize: (options) ->\r
305     super(options)\r
306     @bucket = new Editor.EditorModule.DockModule.ScenarioBucket({\r
307       parent: this\r
308     })\r
309   \r
310 class Editor.EditorModule.DockModule.PriorityBay extends Editor.EditorModule.DockModule.BoardBay\r
311   \r
312   initialize: (options) ->\r
313     super(options)\r
314     i = 0\r
315     _.each @elements(), (element) =>\r
316       tab = new Editor.EditorModule.DockModule.PriorityBoard({\r
317         parent: this, index: i, name: element.item_name(), element: element\r
318       })\r
319       @add_tab(\r
320         tab, \r
321         new Editor.EditorModule.DockModule.TabModule.PriorityBoardLabel({parent: tab, name: element.item_name()}), \r
322         new Editor.EditorModule.DockModule.TabModule.PriorityBoardBody({parent: tab})\r
323       )\r
324       i++\r
325   \r
326   render: () ->\r
327     this.$el.html('')\r
328     this.$el.attr('id', @body.dom_id())\r
329     elements_tabs = new Editor.EditorModule.DockModule.PriorityBay.PriorityTabs({\r
330       tabs: @tabs\r
331     })\r
332     this.$el.append(elements_tabs.render().el)\r
333     _.each @tabs, (tab) =>\r
334       this.$el.append(tab.body.render().el)\r
335     elements_tabs.$el.tabs()\r
336     this\r
337   \r
338   elements: () ->\r
339     @root_item().scenario_elements()\r
340   \r
341   class_name: () ->\r
342     "zsort-box"\r
343   \r
344 class Editor.EditorModule.DockModule.PriorityBay.PriorityTabs extends Backbone.View\r
345   tagName: 'ul'\r
346   className: 'zsort'\r
347   \r
348   initialize: (options) ->\r
349     super(options)\r
350     @tabs = options.tabs\r
351   \r
352   render: () ->\r
353     this.$el.html('')\r
354     _.each @tabs, (tab) =>\r
355       this.$el.append(tab.label.render().el)\r
356     this\r
357   \r
358 class Editor.EditorModule.DockModule.TabModule.PriorityBayLabel extends Editor.EditorModule.DockModule.TabModule.BayLabel\r
359   \r
360 class Editor.EditorModule.DockModule.TabModule.PriorityBayBody extends Editor.EditorModule.DockModule.TabModule.BayBody\r
361   \r
362   initialize: (options) ->\r
363     super(options)\r
364   \r
365 class Editor.EditorModule.DockModule.PriorityBoard extends Editor.EditorModule.DockModule.Board\r
366   \r
367   initialize: (options) ->\r
368     super(options)\r
369     @element = options.element\r
370   \r
371   mounted: () ->\r
372     false\r
373   \r
374 class Editor.EditorModule.DockModule.TabModule.PriorityBoardLabel extends Editor.EditorModule.DockModule.TabModule.BoardLabel\r
375   \r
376   with_destroy_button: () ->\r
377     false\r
378   \r
379 class Editor.EditorModule.DockModule.TabModule.PriorityBoardBody extends Editor.EditorModule.DockModule.TabModule.BoardBody\r
380   \r
381   initialize: (options) ->\r
382     super(options)\r
383     @bucket = new Editor.EditorModule.DockModule.PriorityBucket({\r
384       parent: this\r
385     })\r
386     \r
387 #    form_manager = Pettanr::Application::manifest.form_managers[self.root_item.form_name]\r
388 #    form = form_manager.open self.root_item, @dock_body.dock.editor.operators, mounted\r
389 #    bucket = Bucket.new self,form\r
390   \r
391 class Editor.EditorModule.DockModule.NewBay extends Editor.EditorModule.DockModule.BoardBay\r
392   \r
393 \r
394 class Editor.EditorModule.DockModule.TabModule.NewBayLabel extends Editor.EditorModule.DockModule.TabModule.BayLabel\r
395   \r
396 \r
397 class Editor.EditorModule.DockModule.TabModule.NewBayBody extends Editor.EditorModule.DockModule.TabModule.BayBody\r
398   \r
399   initialize: (options) ->\r
400     super(options)\r
401   \r
402 class Editor.EditorModule.DockModule.NewBoard extends Editor.EditorModule.DockModule.Board\r
403   \r
404 class Editor.EditorModule.DockModule.TabModule.NewBoardLabel extends Editor.EditorModule.DockModule.TabModule.BoardLabel\r
405   \r
406 class Editor.EditorModule.DockModule.TabModule.NewBoardBody extends Editor.EditorModule.DockModule.TabModule.BoardBody\r
407   \r
408   initialize: (options) ->\r
409     super(options)\r
410 #    form_manager = Pettanr::Application::manifest.form_managers[self.root_item.form_name]\r
411 #    form = form_manager.open self.root_item, @dock_body.dock.editor.operators, mounted\r
412 #    bucket = Bucket.new self,form\r
413   \r