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=e2e48cd50232a8acea9ea9f0b9ce8ee661fa0276;hb=9edc3731389bcae0de05ef6045cceb6b7581cc8f;hpb=942a1397a3b54b927a27bd34108a8c8c4390cd3b diff --git a/app/assets/javascripts/editor.js.coffee b/app/assets/javascripts/editor.js.coffee index e2e48cd5..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 @@ -209,11 +188,20 @@ class Editor.EditorModule.DockModule.TabModule.BayLabel extends Editor.EditorMod render: () -> this.$el.html('') @el.className = @dom_class() - a = new Tag.A({attr: {href: '/#' + @body().dom_id()}, content: @caption}) + a = new Tag.A({attr: {href: '#' + @body().dom_id()}, content: @caption}) this.$el.html(a.render().el) this class Editor.EditorModule.DockModule.TabModule.BayBody extends Editor.EditorModule.DockModule.TabModule.Body + + initialize: (options) -> + super(options) + + render: () -> + this.$el.html('') + this.$el.attr('id', @dom_id()) + this + bay: () -> @parent @@ -253,12 +241,26 @@ class Editor.EditorModule.DockModule.TabModule.BoardLabel extends Editor.EditorM dom_class: () -> @board().dom_class() + '-label' + 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) + @destroy_button = new Editor.EditorModule.DestroyButton() + @listenTo(@destroy_button, 'destroy', @destroy) + this.$el.append(@destroy_button.render().el) + render: () -> this.$el.html('') - @el.className = @dom_class() - this.$el.html(@element().element_face().render().el) + this.$el.attr('id', @dom_id()) + this.$el.className = @dom_class() + @face() this + destroy: () -> + @trigger('destroy', @element()) + class Editor.EditorModule.DockModule.TabModule.BoardBody extends Editor.EditorModule.DockModule.TabModule.Body board: () -> @parent @@ -275,3 +277,24 @@ class Editor.EditorModule.DockModule.TabModule.BoardBody extends Editor.EditorMo dom_class: () -> @board().dom_class() + '-body' +class Editor.EditorModule.DestroyButton extends Pettanr.View + tagName: 'button' + + render: () -> + this.$el.html('') + this.$el.button { + icons: { + primary: 'ui-icon-close', + secondary: null + }, + text: false + } + @delegateEvents({'click': @click}) + this + + dom_id: () -> + @dom_id() + '-destroy_button' + + click: () -> + @trigger('destroy') +