\r
initialize: (options) ->\r
super(options)\r
- tab = new Editor.EditorModule.DockModule.RootBay({\r
+ @root_bay = new Editor.EditorModule.DockModule.RootBay({\r
parent: this, index: 0, name: 'panel'\r
})\r
@add_tab(\r
- tab, \r
+ @root_bay, \r
new Editor.EditorModule.DockModule.TabModule.RootBayLabel({\r
- parent: tab, caption: 'panel'\r
+ parent: @root_bay, caption: 'panel'\r
}), \r
new Editor.EditorModule.DockModule.TabModule.RootBayBody({\r
- parent: tab\r
+ parent: @root_bay\r
})\r
)\r
- tab = new Editor.EditorModule.DockModule.ElementBay({\r
+ @element_bay = new Editor.EditorModule.DockModule.ElementBay({\r
parent: this, index: 1, name: 'elements'\r
})\r
@add_tab(\r
- tab, \r
+ @element_bay, \r
new Editor.EditorModule.DockModule.TabModule.ElementBayLabel({\r
- parent: tab, caption: 'elements'\r
+ parent: @element_bay, caption: 'elements'\r
}), \r
new Editor.EditorModule.DockModule.TabModule.ElementBayBody({\r
- parent: tab\r
+ parent: @element_bay\r
})\r
)\r
- tab = new Editor.EditorModule.DockModule.ScenarioBay({\r
+ @scenario_bay = new Editor.EditorModule.DockModule.ScenarioBay({\r
parent: this, index: 2, name: 'scenario'\r
})\r
@add_tab(\r
- tab, \r
+ @scenario_bay, \r
new Editor.EditorModule.DockModule.TabModule.ScenarioBayLabel({\r
- parent: tab, caption: 'scenario'\r
+ parent: @scenario_bay, caption: 'scenario'\r
}), \r
new Editor.EditorModule.DockModule.TabModule.ScenarioBayBody({\r
- parent: tab\r
- })\r
- )\r
- tab = new Editor.EditorModule.DockModule.PriorityBay({\r
- parent: this, index: 3, name: 'priority'\r
- })\r
- @add_tab(\r
- tab, \r
- new Editor.EditorModule.DockModule.TabModule.PriorityBayLabel({\r
- parent: tab, caption: 'priority'\r
- }), \r
- new Editor.EditorModule.DockModule.TabModule.PriorityBayBody({\r
- parent: tab\r
- })\r
- )\r
- tab = new Editor.EditorModule.DockModule.NewBay({\r
- parent: this, index: 4, name: 'new'\r
- })\r
- @add_tab(\r
- tab, \r
- new Editor.EditorModule.DockModule.TabModule.NewBayLabel({\r
- parent: tab, caption: 'new'\r
- }), \r
- new Editor.EditorModule.DockModule.TabModule.NewBayBody({\r
- parent: tab\r
+ parent: @scenario_bay\r
})\r
)\r
+ @listenTo(@root_bay.body, 'http_post', @http_post)\r
+ @listenTo(@root_bay.body, 'save:success', @post_success)\r
+ @listenTo(@root_bay.body, 'save:fail', @post_fail)\r
+ @listenTo(@element_bay, 'add:credit', @add_credit)\r
+ @listenTo(@element_bay, 'pick', @pick)\r
+ @listenTo(@element_bay, 'dialog:open', @open_dialog)\r
+ @listenTo(@element_bay, 'dialog:close', @close_dialog)\r
+ @listenTo(@element_bay, 'destroy', @destroy)\r
\r
render: () ->\r
this.$el.html('')\r
tab.label\r
labels = new Tag.Ul({contents: l, class_name: @dom_labels_class()})\r
this.$el.append(labels.render().el)\r
- _this = this\r
- _.each @tabs, (tab) ->\r
- _this.$el.append(tab.render().el)\r
+ _.each @tabs, (tab) =>\r
+ this.$el.append(tab.render().el)\r
this\r
\r
+ init_tabs: () ->\r
+ @element_bay.init_tabs()\r
+ @scenario_bay.init_tabs()\r
+ this.$el.tabs({\r
+ activate: (e, ui) ->\r
+ ui.newPanel.trigger('activate')\r
+ })\r
+ \r
editor: () ->\r
@parent\r
\r
dom_labels_class: () ->\r
@dom_class() + '-labels'\r
\r
-class Editor.EditorModule.DockModule.RootBay extends Editor.EditorModule.DockModule.SimpleBay\r
- \r
- render: () ->\r
- @body.render()\r
- \r
-class Editor.EditorModule.DockModule.TabModule.RootBayLabel extends Editor.EditorModule.DockModule.TabModule.BayLabel\r
- \r
-class Editor.EditorModule.DockModule.TabModule.RootBayBody extends Editor.EditorModule.DockModule.TabModule.BayBody\r
- \r
- initialize: (options) ->\r
- super(options)\r
- @form = new Locmare.Bucket.factory(\r
- @root_item().item_name(), \r
- @root_item(), \r
- @mounted(), \r
- 'default', \r
- @dock().editor().operators\r
- )\r
- @bucket = new Editor.EditorModule.DockModule.FormBucket({\r
- parent: this, form: @form\r
- })\r
- \r
- render: () ->\r
- super()\r
- @el.className = @bay().body.dom_class()\r
- this.$el.html(@bucket.render().el)\r
- this\r
- \r
- mounted: () ->\r
- true\r
- \r
- dock: () ->\r
- @parent.dock()\r
- \r
- root_item: () ->\r
- @dock().root_item()\r
- \r
-class Editor.EditorModule.DockModule.ElementBay extends Editor.EditorModule.DockModule.BoardBay\r
- \r
- initialize: (options) ->\r
- super(options)\r
- _this = this\r
- i = 0\r
- _.each @elements(), (element) ->\r
- tab = new Editor.EditorModule.DockModule.ElementBoard({\r
- parent: _this, index: i, name: element.item_name(), element: element\r
- })\r
- _this.add_tab(\r
- tab, \r
- new Editor.EditorModule.DockModule.TabModule.ElementBoardLabel({parent: tab, name: element.item_name()}), \r
- new Editor.EditorModule.DockModule.TabModule.ElementBoardBody({parent: tab})\r
- )\r
- i++\r
- \r
- render: () ->\r
- this.$el.html('')\r
- this.$el.attr('id', @body.dom_id())\r
- elements_tabs = new Editor.EditorModule.DockModule.ElementBay.ElementsTabs({\r
- tabs: @tabs\r
- })\r
- this.$el.append(elements_tabs.render().el)\r
- elements_tabs.$el.tabs()\r
- elements_tabs.$el.addClass('ui-tabs-vertical ui-helper-clearfix')\r
- $("li", elements_tabs.$el).removeClass('ui-corner-top')\r
- $("li", elements_tabs.$el).addClass('ui-corner-left')\r
- this\r
- \r
- elements: () ->\r
- @root_item().scenario_elements()\r
- \r
-class Editor.EditorModule.DockModule.ElementBay.ElementsTabs extends Backbone.View\r
- tagName: 'div'\r
- className: 'elements_tabs ui-tabs-vertical ui-helper-clearfix'\r
- \r
- initialize: (options) ->\r
- super(options)\r
- @tabs = options.tabs\r
- \r
- render: () ->\r
- this.$el.html('')\r
- _this = this\r
- labels = _.map @tabs, (tab) ->\r
- tab.label\r
- inner_elements_tabs = new Editor.EditorModule.DockModule.ElementBay.InnerElementsTabs({\r
- labels: labels\r
- })\r
- this.$el.append(inner_elements_tabs.render().el)\r
- _.each @tabs, (tab) ->\r
- _this.$el.append(tab.body.render().el)\r
- this\r
- \r
-class Editor.EditorModule.DockModule.ElementBay.InnerElementsTabs extends Backbone.View\r
- tagName: 'ul'\r
- \r
- initialize: (options) ->\r
- super(options)\r
- @labels = options.labels\r
- \r
- render: () ->\r
- this.$el.html('')\r
- _this = this\r
- _.each @labels, (label) ->\r
- _this.$el.append(label.render().el)\r
- this\r
- \r
-class Editor.EditorModule.DockModule.TabModule.ElementBayLabel extends Editor.EditorModule.DockModule.TabModule.BayLabel\r
- \r
-class Editor.EditorModule.DockModule.TabModule.ElementBayBody extends Editor.EditorModule.DockModule.TabModule.BayBody\r
- \r
- render: () ->\r
- @body.render()\r
- \r
-class Editor.EditorModule.DockModule.ElementBoard extends Editor.EditorModule.DockModule.Board\r
- \r
- initialize: (options) ->\r
- super(options)\r
- @element = options.element\r
- \r
- dom_id: () ->\r
- super() + '-' + @element.get('id') + '-' # use tab index\r
- \r
-class Editor.EditorModule.DockModule.TabModule.ElementBoardLabel extends Editor.EditorModule.DockModule.TabModule.BoardLabel\r
- \r
-class Editor.EditorModule.DockModule.TabModule.ElementBoardBody extends Editor.EditorModule.DockModule.TabModule.BoardBody\r
- \r
- initialize: (options) ->\r
- super(options)\r
- @form = Locmare.Bucket.factory(\r
- @element().item_name(), \r
- @element(), \r
- @mounted(), \r
- null, \r
- @dock().editor().operators\r
- )\r
- @bucket = new Editor.EditorModule.DockModule.FormBucket({\r
- parent: this, form: @form\r
- })\r
- \r
- render: () ->\r
- this.$el.attr('id', @dom_id())\r
- this.$el.html(@bucket.render().el)\r
- this\r
- \r
- mounted: () ->\r
- true\r
- \r
- element: () ->\r
- @parent.element\r
- \r
-class Editor.EditorModule.DockModule.ScenarioBay extends Editor.EditorModule.DockModule.BoardBay\r
- \r
- initialize: (options) ->\r
- super(options)\r
- _this = this\r
- i = 0\r
- _.each @elements(), (element) ->\r
- tab = new Editor.EditorModule.DockModule.ScenarioBoard({\r
- parent: _this, index: i, name: element.item_name(), element: element\r
- })\r
- _this.add_tab(\r
- tab, \r
- new Editor.EditorModule.DockModule.TabModule.ScenarioBoardLabel({parent: tab, caption: element.item_name()}), \r
- new Editor.EditorModule.DockModule.TabModule.ScenarioBoardBody({parent: tab})\r
- )\r
- i++\r
- \r
- render: () ->\r
- this.$el.html('')\r
- this.$el.attr('id', @body.dom_id())\r
- _this = this\r
- elements_tabs = new Editor.EditorModule.DockModule.ScenarioBay.ScenarioTabs({\r
- tabs: @tabs\r
- })\r
- this.$el.append(elements_tabs.render().el)\r
- _.each @tabs, (tab) ->\r
- _this.$el.append(tab.body.render().el)\r
- elements_tabs.$el.tabs()\r
- this\r
- \r
- elements: () ->\r
- @root_item().scenario_elements()\r
- \r
- class_name: () ->\r
- "tsort-box"\r
- \r
-class Editor.EditorModule.DockModule.ScenarioBay.ScenarioTabs extends Backbone.View\r
- tagName: 'ul'\r
- className: 'tsort'\r
- \r
- initialize: (options) ->\r
- super(options)\r
- @tabs = options.tabs\r
- \r
- render: () ->\r
- this.$el.html('')\r
- _this = this\r
- _.each @tabs, (tab) ->\r
- _this.$el.append(tab.label.render().el)\r
- this\r
- \r
-class Editor.EditorModule.DockModule.TabModule.ScenarioBayLabel extends Editor.EditorModule.DockModule.TabModule.BayLabel\r
- \r
-class Editor.EditorModule.DockModule.TabModule.ScenarioBayBody extends Editor.EditorModule.DockModule.TabModule.BayBody\r
- \r
- initialize: (options) ->\r
- super(options)\r
- \r
-class Editor.EditorModule.DockModule.ScenarioBoard extends Editor.EditorModule.DockModule.Board\r
- \r
- initialize: (options) ->\r
- super(options)\r
- @element = options.element\r
- \r
-class Editor.EditorModule.DockModule.TabModule.ScenarioBoardLabel extends Editor.EditorModule.DockModule.TabModule.BoardLabel\r
- \r
- with_destroy_button: () ->\r
- false\r
- \r
-class Editor.EditorModule.DockModule.TabModule.ScenarioBoardBody extends Editor.EditorModule.DockModule.TabModule.BoardBody\r
- \r
- initialize: (options) ->\r
- super(options)\r
- @bucket = new Editor.EditorModule.DockModule.ScenarioBucket({\r
- parent: this\r
- })\r
- \r
-class Editor.EditorModule.DockModule.PriorityBay extends Editor.EditorModule.DockModule.BoardBay\r
- \r
- initialize: (options) ->\r
- super(options)\r
- _this = this\r
- i = 0\r
- _.each @elements(), (element) ->\r
- tab = new Editor.EditorModule.DockModule.PriorityBoard({\r
- parent: _this, index: i, name: element.item_name(), element: element\r
- })\r
- _this.add_tab(\r
- tab, \r
- new Editor.EditorModule.DockModule.TabModule.PriorityBoardLabel({parent: tab, name: element.item_name()}), \r
- new Editor.EditorModule.DockModule.TabModule.PriorityBoardBody({parent: tab})\r
- )\r
- i++\r
- \r
- render: () ->\r
- this.$el.html('')\r
- this.$el.attr('id', @body.dom_id())\r
- _this = this\r
- elements_tabs = new Editor.EditorModule.DockModule.PriorityBay.PriorityTabs({\r
- tabs: @tabs\r
- })\r
- this.$el.append(elements_tabs.render().el)\r
- _.each @tabs, (tab) ->\r
- _this.$el.append(tab.body.render().el)\r
- elements_tabs.$el.tabs()\r
- this\r
- \r
- elements: () ->\r
- @root_item().scenario_elements()\r
- \r
- class_name: () ->\r
- "zsort-box"\r
- \r
-class Editor.EditorModule.DockModule.PriorityBay.PriorityTabs extends Backbone.View\r
- tagName: 'ul'\r
- className: 'zsort'\r
- \r
- initialize: (options) ->\r
- super(options)\r
- @tabs = options.tabs\r
- \r
- render: () ->\r
- this.$el.html('')\r
- _this = this\r
- _.each @tabs, (tab) ->\r
- _this.$el.append(tab.label.render().el)\r
- this\r
- \r
-class Editor.EditorModule.DockModule.TabModule.PriorityBayLabel extends Editor.EditorModule.DockModule.TabModule.BayLabel\r
- \r
-class Editor.EditorModule.DockModule.TabModule.PriorityBayBody extends Editor.EditorModule.DockModule.TabModule.BayBody\r
- \r
- initialize: (options) ->\r
- super(options)\r
- \r
-class Editor.EditorModule.DockModule.PriorityBoard extends Editor.EditorModule.DockModule.Board\r
- \r
- initialize: (options) ->\r
- super(options)\r
- @element = options.element\r
- \r
- mounted: () ->\r
+ http_post: (url, root_form) ->\r
+ @trigger('http_post', url, this) # send dock\r
false\r
\r
-class Editor.EditorModule.DockModule.TabModule.PriorityBoardLabel extends Editor.EditorModule.DockModule.TabModule.BoardLabel\r
+ post_success: (model, response) ->\r
+ @trigger('save:success', model, response)\r
\r
- with_destroy_button: () ->\r
- false\r
+ post_fail: (model, response) ->\r
+ @trigger('save:fail', response)\r
\r
-class Editor.EditorModule.DockModule.TabModule.PriorityBoardBody extends Editor.EditorModule.DockModule.TabModule.BoardBody\r
+ add_credit: (element) ->\r
+ @trigger('add:credit', element)\r
\r
- initialize: (options) ->\r
- super(options)\r
- @bucket = new Editor.EditorModule.DockModule.PriorityBucket({\r
- parent: this\r
- })\r
- \r
-# form_manager = Pettanr::Application::manifest.form_managers[self.root_item.form_name]\r
-# form = form_manager.open self.root_item, @dock_body.dock.editor.operators, mounted\r
-# bucket = Bucket.new self,form\r
- \r
-class Editor.EditorModule.DockModule.NewBay extends Editor.EditorModule.DockModule.BoardBay\r
+ save: () ->\r
+ # merge panel and elements\r
+ attrs = @root_bay.save_data()\r
+ _.extend(attrs, @element_bay.save_data())\r
+ # save json data by panel form\r
+ @root_bay.body.form.save(attrs)\r
\r
-\r
-class Editor.EditorModule.DockModule.TabModule.NewBayLabel extends Editor.EditorModule.DockModule.TabModule.BayLabel\r
+ pick: (new_item) ->\r
+ @scenario_bay.pick(new_item)\r
+ @trigger('add:element', new_item)\r
\r
-\r
-class Editor.EditorModule.DockModule.TabModule.NewBayBody extends Editor.EditorModule.DockModule.TabModule.BayBody\r
+ open_dialog: (dialog) ->\r
+ @trigger('dialog:open', dialog)\r
\r
- initialize: (options) ->\r
- super(options)\r
+ close_dialog: (dialog) ->\r
+ @trigger('dialog:close', dialog)\r
\r
-class Editor.EditorModule.DockModule.NewBoard extends Editor.EditorModule.DockModule.Board\r
+ destroy: (element) ->\r
+ @trigger('destroy', element)\r
+ @scenario_bay.remove_element(element)\r
\r
-class Editor.EditorModule.DockModule.TabModule.NewBoardLabel extends Editor.EditorModule.DockModule.TabModule.BoardLabel\r
- \r
-class Editor.EditorModule.DockModule.TabModule.NewBoardBody extends Editor.EditorModule.DockModule.TabModule.BoardBody\r
- \r
- initialize: (options) ->\r
- super(options)\r
-# form_manager = Pettanr::Application::manifest.form_managers[self.root_item.form_name]\r
-# form = form_manager.open self.root_item, @dock_body.dock.editor.operators, mounted\r
-# bucket = Bucket.new self,form\r
+ quit: () ->\r
+ @root_bay.body.form.quit()\r
\r