OSDN Git Service

fix: any
[pettanr/pettanr.git] / app / assets / javascripts / editor.js.coffee
index 0afebd8..3aed291 100644 (file)
@@ -1,7 +1,7 @@
 class Editor\r
 @Editor = Editor\r
 class Editor.EditorModule\r
-class Editor.EditorModule.DockBase extends Backbone.View\r
+class Editor.EditorModule.DockBase extends Pettanr.View\r
   \r
   initialize: (options) ->\r
     @parent = options.parent\r
@@ -13,6 +13,9 @@ class Editor.EditorModule.DockBase extends Backbone.View
     tab.body = body\r
     tab\r
   \r
+  remove_tab: (index) ->\r
+    @tabs.splice(index, 1)\r
+  \r
   root_item: () ->\r
     @parent.root_item()\r
   \r
@@ -68,8 +71,7 @@ class Editor.EditorModule.DockModule.BoardBay extends Editor.EditorModule.DockMo
   render: () ->\r
     this.$el.html('')\r
     @el.className = @body.dom_class()\r
-    rb = new Tag.RowBreak()\r
-    this.$el.append(rb.render().el)\r
+    @append_rb()\r
     this\r
   \r
   dom_labels_class: () ->\r
@@ -104,7 +106,7 @@ class Editor.EditorModule.DockModule.Board extends Editor.EditorModule.DockModul
   header_class: () ->\r
     ""\r
   \r
-class Editor.EditorModule.DockModule.Bucket extends Backbone.View\r
+class Editor.EditorModule.DockModule.Bucket extends Pettanr.View\r
   \r
   initialize: (options) ->\r
     super(options)\r
@@ -119,32 +121,9 @@ class Editor.EditorModule.DockModule.FormBucket extends Editor.EditorModule.Dock
   render: () ->\r
     @form.render()\r
   \r
-class Editor.EditorModule.DockModule.PriorityBucket extends Editor.EditorModule.DockModule.Bucket\r
-  \r
-  initialize: (options) ->\r
-    super(options)\r
-  \r
-  board: () ->\r
-    @parent.board()\r
-  \r
-  bay: () ->\r
-    @board().bay()\r
-  \r
-class Editor.EditorModule.DockModule.ScenarioBucket extends Editor.EditorModule.DockModule.Bucket\r
-  \r
-  initialize: (options) ->\r
-    super(options)\r
-    @element = options.element\r
-  \r
-  board: () ->\r
-    @parent.board()\r
-  \r
-  bay: () ->\r
-    @board().bay()\r
-  \r
 class Editor.EditorModule.DockModule.TabModule\r
   \r
-class Editor.EditorModule.DockModule.TabModule.Label extends Backbone.View\r
+class Editor.EditorModule.DockModule.TabModule.Label extends Pettanr.View\r
   \r
   initialize: (options) ->\r
     @parent = options.parent\r
@@ -168,7 +147,7 @@ class Editor.EditorModule.DockModule.TabModule.Label extends Backbone.View
   body: () ->\r
     @parent.body\r
   \r
-class Editor.EditorModule.DockModule.TabModule.Body extends Backbone.View\r
+class Editor.EditorModule.DockModule.TabModule.Body extends Pettanr.View\r
   \r
   initialize: (options) ->\r
     @parent = options.parent\r
@@ -262,18 +241,15 @@ class Editor.EditorModule.DockModule.TabModule.BoardLabel extends Editor.EditorM
   dom_class: () ->\r
     @board().dom_class() + '-label'\r
   \r
-  with_destroy_button: () ->\r
-    true\r
-  \r
   face: () ->\r
     linked_elements_tab = new Tag.A({\r
       attr: {href: '#' + @board().body.dom_id() },\r
       content: @element().element_face().render().el\r
     })\r
     this.$el.append(linked_elements_tab.render().el)\r
-    if @with_destroy_button()\r
-      destroy_button = new Editor.EditorModule.DestroyButton()\r
-      this.$el.append(destroy_button.render().el)\r
+    @destroy_button = new Editor.EditorModule.DestroyButton()\r
+    @listenTo(@destroy_button, 'destroy', @destroy)\r
+    this.$el.append(@destroy_button.render().el)\r
   \r
   render: () ->\r
     this.$el.html('')\r
@@ -282,6 +258,9 @@ class Editor.EditorModule.DockModule.TabModule.BoardLabel extends Editor.EditorM
     @face()\r
     this\r
   \r
+  destroy: () ->\r
+    @trigger('destroy', @element())\r
+  \r
 class Editor.EditorModule.DockModule.TabModule.BoardBody extends Editor.EditorModule.DockModule.TabModule.Body\r
   board: () ->\r
     @parent\r
@@ -298,7 +277,7 @@ class Editor.EditorModule.DockModule.TabModule.BoardBody extends Editor.EditorMo
   dom_class: () ->\r
     @board().dom_class() + '-body'\r
   \r
-class Editor.EditorModule.DestroyButton extends Backbone.View\r
+class Editor.EditorModule.DestroyButton extends Pettanr.View\r
   tagName: 'button'\r
   \r
   render: () ->\r
@@ -310,114 +289,12 @@ class Editor.EditorModule.DestroyButton extends Backbone.View
       }, \r
       text: false\r
     }\r
+    @delegateEvents({'click': @click})\r
     this\r
   \r
   dom_id: () ->\r
     @dom_id() + '-destroy_button'\r
   \r
-class Editor.EditorModule.DockModule.Pocket extends Editor.EditorModule.DockModule.Tab\r
-  \r
-  initialize: (options) ->\r
-    super(options)\r
-  \r
-  pocket_div: () ->\r
-    @parent\r
-  \r
-  board: () ->\r
-    @pocket_div().board()\r
-  \r
-  bay: () ->\r
-    @board.bay()\r
-  \r
-  dock: () ->\r
-    @bay().dock()\r
-  \r
-  bay_index: () ->\r
-    @bay().index\r
-  \r
-  dom_id: () ->\r
-    @board().dom_id() + '-pocket'\r
-  \r
-  dom_class: () ->\r
-    @board().dom_class() + '-pocket'\r
-  \r
-class Editor.EditorModule.DockModule.NewElementPocketTab extends Editor.EditorModule.DockModule.Tab\r
-  \r
-  initialize: (options) ->\r
-    super(options)\r
-    @model = options.model\r
-  \r
-  pocket_div: () ->\r
-    @parent\r
-  \r
-  dom_id: () ->\r
-    @pocket_div().dom_id() + '-' + @name\r
-  \r
-class Editor.EditorModule.DockModule.TabModule.PocketLabel extends Editor.EditorModule.DockModule.TabModule.Label\r
-  tagName: 'li'\r
-  \r
-  initialize: (options) ->\r
-    super(options)\r
-  \r
-  pocket_tab: () ->\r
-    @parent\r
-  \r
-  pocket_div: () ->\r
-    @pocket_tab().parent\r
-  \r
-  board: () ->\r
-    @pocket_div().board()\r
-  \r
-  bay: () ->\r
-    @board().bay()\r
-  \r
-  dock: () ->\r
-    @bay().dock()\r
-  \r
-  bay_name: () ->\r
-    bay().name\r
-  \r
-  dom_id: () ->\r
-    @pocket_tab().dom_id() + '-label'\r
-  \r
-  dom_class: () ->\r
-    @pocket_tab().dom_class() + '-label'\r
-  \r
-  face: () ->\r
-    icon = new Pettanr.Image.Icon({item: @pocket_tab().model})\r
-    linked_elements_tab = new Tag.A({\r
-      attr: {href: '#' + @pocket_tab().body.dom_id() },\r
-      content: icon.render().el\r
-    })\r
-    this.$el.append(linked_elements_tab.render().el)\r
-  \r
-  render: () ->\r
-    this.$el.html('')\r
-    this.$el.attr('id', @dom_id())\r
-    this.$el.className = @dom_class()\r
-    @face()\r
-    this\r
-  \r
-class Editor.EditorModule.DockModule.TabModule.PocketBody extends Editor.EditorModule.DockModule.TabModule.Body\r
-  \r
-  pocket_tab: () ->\r
-    @parent\r
-  \r
-  pocket_div: () ->\r
-    @pocket_tab().parent\r
-  \r
-  board: () ->\r
-    @pocket_div().board()\r
-  \r
-  bay: () ->\r
-    @board().bay()\r
-  \r
-  dock: () ->\r
-    @bay().dock()\r
-  \r
-  dom_id: () ->\r
-    @pocket_tab().dom_id() + '-body'\r
-  \r
-  dom_class: () ->\r
-    @pocket_tab().dom_class() + '-body'\r
+  click: () ->\r
+    @trigger('destroy')\r
   \r