X-Git-Url: http://git.osdn.net/view?p=pettanr%2Fpettanr.git;a=blobdiff_plain;f=app%2Fassets%2Fjavascripts%2Feditor.js.coffee;h=3aed291fc3bbcf86bee5c8de67559013742370a4;hp=dbef8d3cce8cc851864608ceebd8b8b8ea62251c;hb=9edc3731389bcae0de05ef6045cceb6b7581cc8f;hpb=c937f01e8419650178b819cb630a4521ee0a3ef6 diff --git a/app/assets/javascripts/editor.js.coffee b/app/assets/javascripts/editor.js.coffee index dbef8d3c..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) @@ -121,7 +123,7 @@ class Editor.EditorModule.DockModule.FormBucket extends Editor.EditorModule.Dock 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 @@ -145,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 @@ -239,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('') @@ -259,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 @@ -275,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: () -> @@ -287,8 +289,12 @@ class Editor.EditorModule.DestroyButton extends Backbone.View }, text: false } + @delegateEvents({'click': @click}) this dom_id: () -> @dom_id() + '-destroy_button' + click: () -> + @trigger('destroy') +