1 class Editor.PanelEditor.Dock extends Editor.EditorModule.DockBase
\r
5 initialize: (options) ->
\r
7 @root_bay = new Editor.EditorModule.DockModule.RootBay({
\r
8 parent: this, index: 0, name: 'panel'
\r
12 new Editor.EditorModule.DockModule.TabModule.RootBayLabel({
\r
13 parent: @root_bay, caption: 'panel'
\r
15 new Editor.EditorModule.DockModule.TabModule.RootBayBody({
\r
19 @element_bay = new Editor.EditorModule.DockModule.ElementBay({
\r
20 parent: this, index: 1, name: 'elements'
\r
24 new Editor.EditorModule.DockModule.TabModule.ElementBayLabel({
\r
25 parent: @element_bay, caption: 'elements'
\r
27 new Editor.EditorModule.DockModule.TabModule.ElementBayBody({
\r
28 parent: @element_bay
\r
31 @scenario_bay = new Editor.EditorModule.DockModule.ScenarioBay({
\r
32 parent: this, index: 2, name: 'scenario'
\r
36 new Editor.EditorModule.DockModule.TabModule.ScenarioBayLabel({
\r
37 parent: @scenario_bay, caption: 'scenario'
\r
39 new Editor.EditorModule.DockModule.TabModule.ScenarioBayBody({
\r
40 parent: @scenario_bay
\r
46 l = _.map @tabs, (tab) ->
\r
48 labels = new Tag.Ul({contents: l, class_name: @dom_labels_class()})
\r
49 this.$el.append(labels.render().el)
\r
50 _.each @tabs, (tab) =>
\r
51 this.$el.append(tab.render().el)
\r
54 add_element: (element) ->
\r
55 @element_bay.add_element(element)
\r
61 @editor().dom_id() + '-dock'
\r
64 @editor().dom_class() + '-dock'
\r
66 dom_labels_class: () ->
\r
67 @dom_class() + '-labels'
\r
69 class Editor.EditorModule.DockModule.RootBay extends Editor.EditorModule.DockModule.SimpleBay
\r
74 class Editor.EditorModule.DockModule.TabModule.RootBayLabel extends Editor.EditorModule.DockModule.TabModule.BayLabel
\r
76 class Editor.EditorModule.DockModule.TabModule.RootBayBody extends Editor.EditorModule.DockModule.TabModule.BayBody
\r
78 initialize: (options) ->
\r
80 @form = new Locmare.Bucket.factory(
\r
81 @root_item().item_name(),
\r
85 @dock().editor().operators
\r
87 @bucket = new Editor.EditorModule.DockModule.FormBucket({
\r
88 parent: this, form: @form
\r
93 @el.className = @bay().body.dom_class()
\r
94 this.$el.html(@bucket.render().el)
\r
104 @dock().root_item()
\r
106 class Editor.EditorModule.DockModule.ElementBay extends Editor.EditorModule.DockModule.BoardBay
\r
108 initialize: (options) ->
\r
110 @elements_tabs = new Editor.EditorModule.DockModule.ElementBay.ElementsTabs({
\r
112 @listenTo(@elements_tabs, 'sorted', @sorted)
\r
114 add_element: (element) ->
\r
115 index = element.get('z') - 1
\r
116 tab = new Editor.EditorModule.DockModule.ElementBoard({
\r
117 parent: this, index: index, name: element.item_name(), element: element
\r
119 bb = new Editor.EditorModule.DockModule.TabModule.ElementBoardBody({parent: tab})
\r
122 new Editor.EditorModule.DockModule.TabModule.ElementBoardLabel({parent: tab, name: element.item_name()}),
\r
125 @elements_tabs.add_element_tab(tab)
\r
126 @elements_tabs.$el.tabs('refresh')
\r
130 tab = new Editor.EditorModule.DockModule.NewElementBoard({
\r
131 parent: this, index: 0, name: 'new'
\r
133 bb = new Editor.EditorModule.DockModule.TabModule.NewElementBoardBody({parent: tab})
\r
136 new Editor.EditorModule.DockModule.TabModule.NewElementBoardLabel({parent: tab}),
\r
139 @elements_tabs.add_element_tab(tab)
\r
143 this.$el.attr('id', @body.dom_id())
\r
144 this.$el.append(@elements_tabs.render().el)
\r
145 @elements_tabs.$el.tabs()
\r
150 # data-z copy to model
\r
151 _.each @tabs, (tab) ->
\r
152 z = parseInt(tab.label.$el.attr('data-z'))
\r
156 tab.element.trigger('sort')
\r
159 @dock().editor().body
\r
161 class Editor.EditorModule.DockModule.ElementBay.ElementsTabs extends Backbone.View
\r
163 className: 'elements_tabs ui-tabs-vertical ui-helper-clearfix'
\r
165 initialize: (options) ->
\r
167 @inner_elements_tabs = new Editor.EditorModule.DockModule.ElementBay.InnerElementsTabs({
\r
169 @listenTo(@inner_elements_tabs, 'sorted', @sorted)
\r
173 this.$el.append(@inner_elements_tabs.render().$el)
\r
176 add_element_tab: (tab) ->
\r
177 @inner_elements_tabs.add_label(tab.label)
\r
178 this.$el.append(tab.body.render().$el)
\r
181 # data-z copy to model
\r
184 class Editor.EditorModule.DockModule.ElementBay.InnerElementsTabs extends Backbone.View
\r
187 initialize: (options) ->
\r
193 _.each @zorderd_labels(), (label) =>
\r
194 this.$el.append(label.render().$el)
\r
196 this.$el.sortable {
\r
197 update: (event, ui) ->
\r
199 $('li', $(@)).map ->
\r
200 $(@).attr('data-z', z)
\r
202 _this.trigger('sorted')
\r
206 zorderd_labels: () ->
\r
208 _.each @labels, (label) =>
\r
209 res[label.z()] = label
\r
212 add_label: (label) ->
\r
214 @labels.push(label) # insert array
\r
218 class Editor.EditorModule.DockModule.TabModule.ElementBayLabel extends Editor.EditorModule.DockModule.TabModule.BayLabel
\r
220 class Editor.EditorModule.DockModule.TabModule.ElementBayBody extends Editor.EditorModule.DockModule.TabModule.BayBody
\r
225 class Editor.EditorModule.DockModule.ElementBoard extends Editor.EditorModule.DockModule.Board
\r
227 initialize: (options) ->
\r
229 @element = options.element
\r
232 super() + '-' + @element.get('id') # use tab index
\r
234 class Editor.EditorModule.DockModule.TabModule.ElementBoardLabel extends Editor.EditorModule.DockModule.TabModule.BoardLabel
\r
238 this.$el.attr('data-z', @z())
\r
239 this.$el.removeClass('ui-corner-top')
\r
240 this.$el.addClass('ui-corner-left')
\r
242 this.$el.mouseover ->
\r
243 _this.element().trigger('active')
\r
244 this.$el.mouseout ->
\r
245 _this.element().trigger('inactive')
\r
249 @element().get('z')
\r
252 this.$el.attr('id', @dom_id())
\r
254 class Editor.EditorModule.DockModule.TabModule.ElementBoardBody extends Editor.EditorModule.DockModule.TabModule.BoardBody
\r
256 initialize: (options) ->
\r
258 @form = Locmare.Form.factory({
\r
259 form_name: @element().item_name(),
\r
261 mounted: @mounted(),
\r
263 operators: @dock().editor().operators,
\r
264 action: '/' + @element().table_name() + '/' + Pettanr.to_s(@element().get('id'))
\r
268 this.$el.attr('id', @dom_id())
\r
269 this.$el.html(@form.render().el)
\r
272 add_element: (element) ->
\r
273 @form.add_element(element)
\r
281 class Editor.EditorModule.DockModule.NewElementBoard extends Editor.EditorModule.DockModule.Board
\r
283 initialize: (options) ->
\r
286 class Editor.EditorModule.DockModule.TabModule.NewElementBoardLabel extends Editor.EditorModule.DockModule.TabModule.BoardLabel
\r
290 this.$el.attr('data-z', @z())
\r
291 this.$el.removeClass('ui-corner-top')
\r
292 this.$el.addClass('ui-corner-left')
\r
297 linked_elements_tab = new Tag.A({
\r
298 attr: {href: '#' + @board().body.dom_id() },
\r
301 this.$el.append(linked_elements_tab.render().el)
\r
307 this.$el.attr('id', @dom_id())
\r
309 class Editor.EditorModule.DockModule.TabModule.NewElementBoardBody extends Editor.EditorModule.DockModule.TabModule.BoardBody
\r
311 initialize: (options) ->
\r
315 this.$el.attr('id', @dom_id())
\r
316 @buttons = new Editor.EditorModule.DockModule.TabModule.NewElementButtons({parent: this})
\r
317 this.$el.append(@buttons.render().el)
\r
320 class Editor.EditorModule.DockModule.TabModule.NewElementButtons extends Backbone.View
\r
322 initialize: (options) ->
\r
323 @parent = options.parent
\r
324 @panel = @parent.dock().editor().panel
\r
328 _.each @panel.my_class().child_models(), (model) =>
\r
329 icon = new Pettanr.Image.Icon({item: model})
\r
330 this.$el.append(icon.render().el)
\r
333 class Editor.EditorModule.DockModule.ScenarioBay extends Editor.EditorModule.DockModule.BoardBay
\r
335 initialize: (options) ->
\r
338 _.each @elements(), (element) =>
\r
339 tab = new Editor.EditorModule.DockModule.ScenarioBoard({
\r
340 parent: this, index: i, name: element.item_name(), element: element
\r
344 new Editor.EditorModule.DockModule.TabModule.ScenarioBoardLabel({parent: tab, caption: element.item_name()}),
\r
345 new Editor.EditorModule.DockModule.TabModule.ScenarioBoardBody({parent: tab})
\r
351 this.$el.attr('id', @body.dom_id())
\r
352 elements_tabs = new Editor.EditorModule.DockModule.ScenarioBay.ScenarioTabs({
\r
355 this.$el.append(elements_tabs.render().el)
\r
356 _.each @tabs, (tab) =>
\r
357 this.$el.append(tab.body.render().el)
\r
358 elements_tabs.$el.tabs()
\r
362 @root_item().scenario_elements()
\r
367 class Editor.EditorModule.DockModule.ScenarioBay.ScenarioTabs extends Backbone.View
\r
371 initialize: (options) ->
\r
373 @tabs = options.tabs
\r
377 _.each @tabs, (tab) =>
\r
378 this.$el.append(tab.label.render().el)
\r
381 class Editor.EditorModule.DockModule.TabModule.ScenarioBayLabel extends Editor.EditorModule.DockModule.TabModule.BayLabel
\r
383 class Editor.EditorModule.DockModule.TabModule.ScenarioBayBody extends Editor.EditorModule.DockModule.TabModule.BayBody
\r
385 initialize: (options) ->
\r
388 class Editor.EditorModule.DockModule.ScenarioBoard extends Editor.EditorModule.DockModule.Board
\r
390 initialize: (options) ->
\r
392 @element = options.element
\r
394 class Editor.EditorModule.DockModule.TabModule.ScenarioBoardLabel extends Editor.EditorModule.DockModule.TabModule.BoardLabel
\r
396 with_destroy_button: () ->
\r
399 class Editor.EditorModule.DockModule.TabModule.ScenarioBoardBody extends Editor.EditorModule.DockModule.TabModule.BoardBody
\r
401 initialize: (options) ->
\r
403 @bucket = new Editor.EditorModule.DockModule.ScenarioBucket({
\r
407 class Editor.EditorModule.DockModule.PriorityBay extends Editor.EditorModule.DockModule.BoardBay
\r
409 initialize: (options) ->
\r
412 _.each @elements(), (element) =>
\r
413 tab = new Editor.EditorModule.DockModule.PriorityBoard({
\r
414 parent: this, index: i, name: element.item_name(), element: element
\r
418 new Editor.EditorModule.DockModule.TabModule.PriorityBoardLabel({parent: tab, name: element.item_name()}),
\r
419 new Editor.EditorModule.DockModule.TabModule.PriorityBoardBody({parent: tab})
\r
425 this.$el.attr('id', @body.dom_id())
\r
426 elements_tabs = new Editor.EditorModule.DockModule.PriorityBay.PriorityTabs({
\r
429 this.$el.append(elements_tabs.render().el)
\r
430 _.each @tabs, (tab) =>
\r
431 this.$el.append(tab.body.render().el)
\r
432 elements_tabs.$el.tabs()
\r
436 @root_item().scenario_elements()
\r
441 class Editor.EditorModule.DockModule.PriorityBay.PriorityTabs extends Backbone.View
\r
445 initialize: (options) ->
\r
447 @tabs = options.tabs
\r
451 _.each @tabs, (tab) =>
\r
452 this.$el.append(tab.label.render().el)
\r
455 class Editor.EditorModule.DockModule.TabModule.PriorityBayLabel extends Editor.EditorModule.DockModule.TabModule.BayLabel
\r
457 class Editor.EditorModule.DockModule.TabModule.PriorityBayBody extends Editor.EditorModule.DockModule.TabModule.BayBody
\r
459 initialize: (options) ->
\r
462 class Editor.EditorModule.DockModule.PriorityBoard extends Editor.EditorModule.DockModule.Board
\r
464 initialize: (options) ->
\r
466 @element = options.element
\r
471 class Editor.EditorModule.DockModule.TabModule.PriorityBoardLabel extends Editor.EditorModule.DockModule.TabModule.BoardLabel
\r
473 with_destroy_button: () ->
\r
476 class Editor.EditorModule.DockModule.TabModule.PriorityBoardBody extends Editor.EditorModule.DockModule.TabModule.BoardBody
\r
478 initialize: (options) ->
\r
480 @bucket = new Editor.EditorModule.DockModule.PriorityBucket({
\r
484 # form_manager = Pettanr::Application::manifest.form_managers[self.root_item.form_name]
\r
485 # form = form_manager.open self.root_item, @dock_body.dock.editor.operators, mounted
\r
486 # bucket = Bucket.new self,form
\r
488 class Editor.EditorModule.DockModule.NewBay extends Editor.EditorModule.DockModule.BoardBay
\r
491 class Editor.EditorModule.DockModule.TabModule.NewBayLabel extends Editor.EditorModule.DockModule.TabModule.BayLabel
\r
494 class Editor.EditorModule.DockModule.TabModule.NewBayBody extends Editor.EditorModule.DockModule.TabModule.BayBody
\r
496 initialize: (options) ->
\r
499 class Editor.EditorModule.DockModule.NewBoard extends Editor.EditorModule.DockModule.Board
\r
501 class Editor.EditorModule.DockModule.TabModule.NewBoardLabel extends Editor.EditorModule.DockModule.TabModule.BoardLabel
\r
503 class Editor.EditorModule.DockModule.TabModule.NewBoardBody extends Editor.EditorModule.DockModule.TabModule.BoardBody
\r
505 initialize: (options) ->
\r
507 # form_manager = Pettanr::Application::manifest.form_managers[self.root_item.form_name]
\r
508 # form = form_manager.open self.root_item, @dock_body.dock.editor.operators, mounted
\r
509 # bucket = Bucket.new self,form
\r