X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=app%2Fassets%2Fjavascripts%2Feditor.js.coffee;h=3aed291fc3bbcf86bee5c8de67559013742370a4;hb=64a5c08ed98fe6fef70b1078621bce7dbf2ed240;hp=0afebd89d5e3249a0cf4132e1968f8aafbca91c0;hpb=fc3c2d7f16e8d4084ba5109d31327bf7259447c9;p=pettanr%2Fpettanr.git diff --git a/app/assets/javascripts/editor.js.coffee b/app/assets/javascripts/editor.js.coffee index 0afebd89..3aed291f 100644 --- a/app/assets/javascripts/editor.js.coffee +++ b/app/assets/javascripts/editor.js.coffee @@ -1,7 +1,7 @@ class Editor @Editor = Editor class Editor.EditorModule -class Editor.EditorModule.DockBase extends Backbone.View +class Editor.EditorModule.DockBase extends Pettanr.View initialize: (options) -> @parent = options.parent @@ -13,6 +13,9 @@ class Editor.EditorModule.DockBase extends Backbone.View tab.body = body tab + remove_tab: (index) -> + @tabs.splice(index, 1) + root_item: () -> @parent.root_item() @@ -68,8 +71,7 @@ class Editor.EditorModule.DockModule.BoardBay extends Editor.EditorModule.DockMo render: () -> this.$el.html('') @el.className = @body.dom_class() - rb = new Tag.RowBreak() - this.$el.append(rb.render().el) + @append_rb() this dom_labels_class: () -> @@ -104,7 +106,7 @@ class Editor.EditorModule.DockModule.Board extends Editor.EditorModule.DockModul header_class: () -> "" -class Editor.EditorModule.DockModule.Bucket extends Backbone.View +class Editor.EditorModule.DockModule.Bucket extends Pettanr.View initialize: (options) -> super(options) @@ -119,32 +121,9 @@ class Editor.EditorModule.DockModule.FormBucket extends Editor.EditorModule.Dock render: () -> @form.render() -class Editor.EditorModule.DockModule.PriorityBucket extends Editor.EditorModule.DockModule.Bucket - - initialize: (options) -> - super(options) - - board: () -> - @parent.board() - - bay: () -> - @board().bay() - -class Editor.EditorModule.DockModule.ScenarioBucket extends Editor.EditorModule.DockModule.Bucket - - initialize: (options) -> - super(options) - @element = options.element - - board: () -> - @parent.board() - - bay: () -> - @board().bay() - class Editor.EditorModule.DockModule.TabModule -class Editor.EditorModule.DockModule.TabModule.Label extends Backbone.View +class Editor.EditorModule.DockModule.TabModule.Label extends Pettanr.View initialize: (options) -> @parent = options.parent @@ -168,7 +147,7 @@ class Editor.EditorModule.DockModule.TabModule.Label extends Backbone.View body: () -> @parent.body -class Editor.EditorModule.DockModule.TabModule.Body extends Backbone.View +class Editor.EditorModule.DockModule.TabModule.Body extends Pettanr.View initialize: (options) -> @parent = options.parent @@ -262,18 +241,15 @@ class Editor.EditorModule.DockModule.TabModule.BoardLabel extends Editor.EditorM dom_class: () -> @board().dom_class() + '-label' - with_destroy_button: () -> - true - face: () -> linked_elements_tab = new Tag.A({ attr: {href: '#' + @board().body.dom_id() }, content: @element().element_face().render().el }) this.$el.append(linked_elements_tab.render().el) - if @with_destroy_button() - destroy_button = new Editor.EditorModule.DestroyButton() - this.$el.append(destroy_button.render().el) + @destroy_button = new Editor.EditorModule.DestroyButton() + @listenTo(@destroy_button, 'destroy', @destroy) + this.$el.append(@destroy_button.render().el) render: () -> this.$el.html('') @@ -282,6 +258,9 @@ class Editor.EditorModule.DockModule.TabModule.BoardLabel extends Editor.EditorM @face() this + destroy: () -> + @trigger('destroy', @element()) + class Editor.EditorModule.DockModule.TabModule.BoardBody extends Editor.EditorModule.DockModule.TabModule.Body board: () -> @parent @@ -298,7 +277,7 @@ class Editor.EditorModule.DockModule.TabModule.BoardBody extends Editor.EditorMo dom_class: () -> @board().dom_class() + '-body' -class Editor.EditorModule.DestroyButton extends Backbone.View +class Editor.EditorModule.DestroyButton extends Pettanr.View tagName: 'button' render: () -> @@ -310,114 +289,12 @@ class Editor.EditorModule.DestroyButton extends Backbone.View }, text: false } + @delegateEvents({'click': @click}) this dom_id: () -> @dom_id() + '-destroy_button' -class Editor.EditorModule.DockModule.Pocket extends Editor.EditorModule.DockModule.Tab - - initialize: (options) -> - super(options) - - pocket_div: () -> - @parent - - board: () -> - @pocket_div().board() - - bay: () -> - @board.bay() - - dock: () -> - @bay().dock() - - bay_index: () -> - @bay().index - - dom_id: () -> - @board().dom_id() + '-pocket' - - dom_class: () -> - @board().dom_class() + '-pocket' - -class Editor.EditorModule.DockModule.NewElementPocketTab extends Editor.EditorModule.DockModule.Tab - - initialize: (options) -> - super(options) - @model = options.model - - pocket_div: () -> - @parent - - dom_id: () -> - @pocket_div().dom_id() + '-' + @name - -class Editor.EditorModule.DockModule.TabModule.PocketLabel extends Editor.EditorModule.DockModule.TabModule.Label - tagName: 'li' - - initialize: (options) -> - super(options) - - pocket_tab: () -> - @parent - - pocket_div: () -> - @pocket_tab().parent - - board: () -> - @pocket_div().board() - - bay: () -> - @board().bay() - - dock: () -> - @bay().dock() - - bay_name: () -> - bay().name - - dom_id: () -> - @pocket_tab().dom_id() + '-label' - - dom_class: () -> - @pocket_tab().dom_class() + '-label' - - face: () -> - icon = new Pettanr.Image.Icon({item: @pocket_tab().model}) - linked_elements_tab = new Tag.A({ - attr: {href: '#' + @pocket_tab().body.dom_id() }, - content: icon.render().el - }) - this.$el.append(linked_elements_tab.render().el) - - render: () -> - this.$el.html('') - this.$el.attr('id', @dom_id()) - this.$el.className = @dom_class() - @face() - this - -class Editor.EditorModule.DockModule.TabModule.PocketBody extends Editor.EditorModule.DockModule.TabModule.Body - - pocket_tab: () -> - @parent - - pocket_div: () -> - @pocket_tab().parent - - board: () -> - @pocket_div().board() - - bay: () -> - @board().bay() - - dock: () -> - @bay().dock() - - dom_id: () -> - @pocket_tab().dom_id() + '-body' - - dom_class: () -> - @pocket_tab().dom_class() + '-body' + click: () -> + @trigger('destroy')