OSDN Git Service

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