OSDN Git Service

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