add_element: (element) ->\r
@body.add_element(element)\r
\r
+ remove_element: (element) ->\r
+ @body.remove_element(element)\r
+ \r
init_tabs: () ->\r
list = @root_item().scenario_elements()\r
_.each list, (element) =>\r
@add_element(element)\r
\r
+ pick: (new_item) ->\r
+ t = @length()\r
+ new_item.set({t: t}, {silent: true})\r
+ @add_element(new_item)\r
+ \r
save_data: () ->\r
@body.form.save_data()\r
\r
add_element: (element) ->\r
@elements.add_element(element)\r
\r
+ remove_element: (element) ->\r
+ @elements.remove_element(element)\r
+ @sorted() # recalc t\r
+ \r
render: () ->\r
super()\r
this.$el.append(@elements.render().el)\r
panel_body: () ->\r
@dock().editor().body\r
\r
- save_data: () ->\r
- attrs = {}\r
- _.each @tabs, (tab) ->\r
- return if not tab.element # without new element tab\r
- form = tab.body.form\r
- name = form.item.table_name() + '_attributes'\r
- attrs[name] ||= []\r
- attrs[name].push(form.save_data())\r
- attrs\r
- \r
length: () ->\r
@elements.element_lis.length\r
\r
-class Editor.EditorModule.DockModule.ScenarioBay.Elements extends Backbone.View\r
- tagName: 'ul'\r
- className: 'scenarios_elements'\r
- \r
- initialize: (options) ->\r
- super(options)\r
- @parent = options.parent\r
- @element_lis = []\r
- \r
- render: () ->\r
- this.$el.html('')\r
- _.each @scenario_elements(), (element_li) =>\r
- this.$el.append(element_li.render().$el)\r
- _this = this\r
- this.$el.sortable {\r
- update: (event, ui) ->\r
- t = 0\r
- $('.t-label', $(@)).map ->\r
- $(@).attr('data-t', t)\r
- t++\r
- _this.trigger('sorted')\r
- }\r
- this\r
- \r
- refresh: () ->\r
- _.each @element_lis, (element_li) =>\r
- element_li.refresh()\r
- \r
- scenario_elements: () ->\r
- res = []\r
- _.each @element_lis, (element_li) =>\r
- res[element_li.t()] = element_li\r
- res\r
- \r
- add_element: (element) ->\r
- e = new Editor.EditorModule.DockModule.ScenarioBay.Element({\r
- parent: this, \r
- element: element\r
- })\r
- @element_lis.push(e) # insert array\r
- @render()\r
- e\r
- \r
- sorted: () ->\r
- # data-t copy to model\r
- @trigger('sorted')\r
- \r
-class Editor.EditorModule.DockModule.ScenarioBay.Element extends Backbone.View\r
- tagName: 'li'\r
- className: 't-label'\r
- \r
- initialize: (options) ->\r
- super(options)\r
- @parent = options.parent\r
- @element = options.element\r
- \r
- render: () ->\r
- this.$el.html('')\r
- this.$el.attr('data-t', @t())\r
- @label = new Editor.EditorModule.DockModule.ScenarioBay.ElementLabel({\r
- parent: this, \r
- })\r
- @body = new Editor.EditorModule.DockModule.ScenarioBay.ElementBody({\r
- parent: this, \r
- })\r
- this.$el.append(@label.render().$el)\r
- this.$el.append(@body.render().$el)\r
- rb = new Tag.RowBreak()\r
- this.$el.append(rb.render().el)\r
- this\r
- \r
- refresh: () ->\r
- @body.form.refresh()\r
- \r
- t: () ->\r
- @element.get('t')\r
- \r
- dom_id: () ->\r
- super() + '-' + @element.get('id') # use tab index\r
- \r
-class Editor.EditorModule.DockModule.ScenarioBay.ElementLabel extends Backbone.View\r
- className: 'scenario-label'\r
- \r
- initialize: (options) ->\r
- super(options)\r
- @parent = options.parent\r
- \r
- render: () ->\r
- this.$el.append(@element().element_face().render().el)\r
- _this = this\r
- this.$el.mouseover -> \r
- _this.element().trigger('active')\r
- this.$el.mouseout -> \r
- _this.element().trigger('inactive')\r
- this\r
- \r
- element: () ->\r
- @parent.element\r
- \r
- elements: () ->\r
- @parent.parent\r
- \r
- bay: () ->\r
- @elements().parent\r
- \r
- dock: () ->\r
- @bay().dock()\r
- \r
-class Editor.EditorModule.DockModule.ScenarioBay.ElementBody extends Backbone.View\r
- \r
- initialize: (options) ->\r
- super(options)\r
- @parent = options.parent\r
- @form = Locmare.Form.factory({\r
- form_name: @element().item_name(), \r
- use_name: 'scenario' \r
- item: @element(), \r
- element_form: true, \r
- submit: null, \r
- })\r
- \r
- render: () ->\r
- this.$el.html(@form.render().el)\r
- this\r
- \r
- element: () ->\r
- @parent.element\r
- \r
- elements: () ->\r
- @parent.parent\r
- \r
- bay: () ->\r
- @elements().parent\r
- \r
- dock: () ->\r
- @bay().dock()\r
- \r
- mounted: () ->\r
- true\r
- \r
- element: () ->\r
- @parent.element\r
- \r
-class Editor.EditorModule.DockModule.NewBay extends Editor.EditorModule.DockModule.BoardBay\r
- \r
-\r
-class Editor.EditorModule.DockModule.TabModule.NewBayLabel extends Editor.EditorModule.DockModule.TabModule.BayLabel\r
- \r
-\r
-class Editor.EditorModule.DockModule.TabModule.NewBayBody extends Editor.EditorModule.DockModule.TabModule.BayBody\r
- \r
- initialize: (options) ->\r
- super(options)\r
- \r
-class Editor.EditorModule.DockModule.NewBoard extends Editor.EditorModule.DockModule.Board\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
- \r