X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=app%2Fassets%2Fjavascripts%2Feditor%2Fpanel_editor%2Fdock.js.coffee;h=73f3b81fb2f492ae3ebf4b840bc1f624783e3192;hb=4087769c8b09e08d51f1714de3a6e2e9fe26fbb3;hp=508fc955ce3704c93394020eff5b97f0938b121e;hpb=6a209591533ecec4cfb48b5131ac530238eb832f;p=pettanr%2Fpettanr.git diff --git a/app/assets/javascripts/editor/panel_editor/dock.js.coffee b/app/assets/javascripts/editor/panel_editor/dock.js.coffee index 508fc955..73f3b81f 100644 --- a/app/assets/javascripts/editor/panel_editor/dock.js.coffee +++ b/app/assets/javascripts/editor/panel_editor/dock.js.coffee @@ -4,40 +4,40 @@ class Editor.PanelEditor.Dock extends Editor.EditorModule.DockBase initialize: (options) -> super(options) - @root = new Editor.EditorModule.DockModule.RootBay({ + @root_bay = new Editor.EditorModule.DockModule.RootBay({ parent: this, index: 0, name: 'panel' }) @add_tab( - @root, + @root_bay, new Editor.EditorModule.DockModule.TabModule.RootBayLabel({ - parent: @root, caption: 'panel' + parent: @root_bay, caption: 'panel' }), new Editor.EditorModule.DockModule.TabModule.RootBayBody({ - parent: @root + parent: @root_bay }) ) - @element = new Editor.EditorModule.DockModule.ElementBay({ + @element_bay = new Editor.EditorModule.DockModule.ElementBay({ parent: this, index: 1, name: 'elements' }) @add_tab( - @element, + @element_bay, new Editor.EditorModule.DockModule.TabModule.ElementBayLabel({ - parent: @element, caption: 'elements' + parent: @element_bay, caption: 'elements' }), new Editor.EditorModule.DockModule.TabModule.ElementBayBody({ - parent: @element + parent: @element_bay }) ) - @scenario = new Editor.EditorModule.DockModule.ScenarioBay({ + @scenario_bay = new Editor.EditorModule.DockModule.ScenarioBay({ parent: this, index: 2, name: 'scenario' }) @add_tab( - @scenario, + @scenario_bay, new Editor.EditorModule.DockModule.TabModule.ScenarioBayLabel({ - parent: @scenario, caption: 'scenario' + parent: @scenario_bay, caption: 'scenario' }), new Editor.EditorModule.DockModule.TabModule.ScenarioBayBody({ - parent: @scenario + parent: @scenario_bay }) ) @@ -52,7 +52,7 @@ class Editor.PanelEditor.Dock extends Editor.EditorModule.DockBase this add_element: (element) -> - @element.add_element(element) + @element_bay.add_element(element) editor: () -> @parent @@ -107,6 +107,8 @@ class Editor.EditorModule.DockModule.ElementBay extends Editor.EditorModule.Dock initialize: (options) -> super(options) + @elements_tabs = new Editor.EditorModule.DockModule.ElementBay.ElementsTabs({ + }) add_element: (element) -> index = element.get('z') - 1 @@ -119,62 +121,54 @@ class Editor.EditorModule.DockModule.ElementBay extends Editor.EditorModule.Dock new Editor.EditorModule.DockModule.TabModule.ElementBoardLabel({parent: tab, name: element.item_name()}), bb ) - bb + @elements_tabs.add_element_tab(tab) + @elements_tabs.$el.tabs('refresh') + bb.form add_new_tab: () -> render: () -> this.$el.html('') this.$el.attr('id', @body.dom_id()) - elements_tabs = new Editor.EditorModule.DockModule.ElementBay.ElementsTabs({ - tabs: @tabs - }) - this.$el.append(elements_tabs.render().el) - elements_tabs.$el.tabs() - elements_tabs.$el.addClass('ui-tabs-vertical ui-helper-clearfix') - $("li", elements_tabs.$el).removeClass('ui-corner-top') - $("li", elements_tabs.$el).addClass('ui-corner-left') + this.$el.append(@elements_tabs.render().el) + @elements_tabs.$el.tabs() this panel_body: () -> @dock().editor().body - elements: () -> - @root_item().scenario_elements() - class Editor.EditorModule.DockModule.ElementBay.ElementsTabs extends Backbone.View tagName: 'div' className: 'elements_tabs ui-tabs-vertical ui-helper-clearfix' initialize: (options) -> super(options) - @tabs = options.tabs + @inner_elements_tabs = new Editor.EditorModule.DockModule.ElementBay.InnerElementsTabs({ + }) render: () -> this.$el.html('') - labels = _.map @tabs, (tab) => - tab.label - inner_elements_tabs = new Editor.EditorModule.DockModule.ElementBay.InnerElementsTabs({ - labels: labels - }) - this.$el.append(inner_elements_tabs.render().el) - _.each @tabs, (tab) => - this.$el.append(tab.body.render().el) + this.$el.append(@inner_elements_tabs.render().$el) this + add_element_tab: (tab) -> + @inner_elements_tabs.add_label(tab.label) + this.$el.append(tab.body.render().$el) + class Editor.EditorModule.DockModule.ElementBay.InnerElementsTabs extends Backbone.View tagName: 'ul' initialize: (options) -> super(options) - @labels = options.labels render: () -> this.$el.html('') - _.each @labels, (label) => - this.$el.append(label.render().el) this + add_label: (label) -> + this.$el.append(label.render().$el) + label.add_label() + class Editor.EditorModule.DockModule.TabModule.ElementBayLabel extends Editor.EditorModule.DockModule.TabModule.BayLabel class Editor.EditorModule.DockModule.TabModule.ElementBayBody extends Editor.EditorModule.DockModule.TabModule.BayBody @@ -193,6 +187,15 @@ class Editor.EditorModule.DockModule.ElementBoard extends Editor.EditorModule.Do class Editor.EditorModule.DockModule.TabModule.ElementBoardLabel extends Editor.EditorModule.DockModule.TabModule.BoardLabel + render: () -> + super() + this.$el.removeClass('ui-corner-top') + this.$el.addClass('ui-corner-left') + this + + add_label: () -> + this.$el.attr('id', @dom_id()) + class Editor.EditorModule.DockModule.TabModule.ElementBoardBody extends Editor.EditorModule.DockModule.TabModule.BoardBody initialize: (options) ->