OSDN Git Service

fix open dialog
authoryasushiito <yas@pen-chan.jp>
Tue, 20 Jan 2015 23:21:19 +0000 (08:21 +0900)
committeryasushiito <yas@pen-chan.jp>
Tue, 20 Jan 2015 23:21:19 +0000 (08:21 +0900)
app/assets/javascripts/editor.js.coffee
app/assets/javascripts/editor/panel_editor.js.coffee
app/assets/javascripts/editor/panel_editor/dock.js.coffee
app/assets/stylesheets/test.css.scss

index 0afebd8..a912f7b 100644 (file)
@@ -315,109 +315,3 @@ class Editor.EditorModule.DestroyButton extends Backbone.View
   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
-  \r
index 23f1a84..6431d4e 100644 (file)
@@ -5,6 +5,9 @@ class Editor.PanelEditor extends Backbone.View
   initialize: (options) ->\r
     @panel = options.root_item\r
     @operators = options.operators\r
+    @dialog = new Editor.PanelEditor.Dialog({\r
+      parent: this\r
+    })\r
     @body = new Pettanr.Views.Panel.Body.Edit({\r
       panel: @root_item(),\r
       operators: @operators,\r
@@ -42,6 +45,11 @@ class Editor.PanelEditor extends Backbone.View
   \r
   render: () ->\r
     this.$el.html('')\r
+    this.$el.append(@dialog.render().el)\r
+    @dialog.$el.dialog({\r
+      autoOpen: false,\r
+      width: 640, height: 560\r
+    })\r
     this.$el.append(@body.render().el)\r
     this.$el.append(@dock.render().el)\r
     @dock.element_bay.add_new_tab()\r
@@ -67,3 +75,14 @@ class Editor.PanelEditor extends Backbone.View
   dom_class: () ->\r
     'editor'\r
 \r
+class Editor.PanelEditor.Dialog extends Backbone.View\r
+  tagName: 'div'\r
+  className: 'panel-editor-dialog'\r
+  \r
+  initialize: (options) ->\r
+    @parent = options.parent\r
+  \r
+  render: () ->\r
+    this.$el.html('')\r
+    this\r
+  \r
index 0469822..375c888 100644 (file)
@@ -311,125 +311,84 @@ class Editor.EditorModule.DockModule.TabModule.NewElementBoardLabel extends Edit
     this.$el.attr('id', @dom_id())\r
   \r
 class Editor.EditorModule.DockModule.TabModule.NewElementBoardBody extends Editor.EditorModule.DockModule.TabModule.BoardBody\r
+  className: 'new-element-board-body'\r
   \r
   initialize: (options) ->\r
     super(options)\r
   \r
   render: () ->\r
     this.$el.attr('id', @dom_id())\r
-    @new_element_pocket = new Editor.EditorModule.DockModule.NewElementPocket({\r
-      parent: this\r
+    @buttons = new Editor.EditorModule.DockModule.NewElementButtons({\r
+      parent: this, element_models: @element_models()\r
     })\r
-    this.$el.append(@new_element_pocket.render().el)\r
-    this\r
-  \r
-class Editor.EditorModule.DockModule.NewElementPocket extends Editor.EditorModule.DockModule.Pocket\r
-  \r
-  initialize: (options) ->\r
-    super(options)\r
-    @button_wrapper = new Editor.EditorModule.DockModule.NewElementPocket.ButtonWrapper({\r
+    @form_wrapper = new Editor.EditorModule.DockModule.NewElementFormWrapper({\r
       parent: this\r
     })\r
-  \r
-  render: () ->\r
-    this.$el.html('')\r
-    this.$el.append(@button_wrapper.clear().el)\r
-    @add_tabs()\r
-    _.each @tabs, (tab) =>\r
-      this.$el.append(tab.body.render().el)\r
-    @button_wrapper.render()\r
-    this.$el.tabs()\r
+    this.$el.append(@buttons.render().el)\r
+    this.$el.append(@form_wrapper.clear().el)\r
     this\r
   \r
-  add_tabs: () ->\r
-    index = 0\r
-    _.each @element_models(), (model) =>\r
-      tab = new Editor.EditorModule.DockModule.NewElementPocketTab({\r
-        parent: this, index: index, name: model.item_name(), model: model\r
-      })\r
-      bb = new Editor.EditorModule.DockModule.TabModule.NewElementPocketBody({\r
-        parent: tab\r
-      })\r
-      bl = new Editor.EditorModule.DockModule.TabModule.NewElementPocketLabel({\r
-        parent: tab\r
-      })\r
-      @add_tab(tab, bl, bb)\r
-      @button_wrapper.add_label(bl)\r
-      index++\r
-  \r
   panel: () ->\r
-    @parent.parent.panel\r
+    @parent.panel\r
   \r
   element_models: () ->\r
     @panel().my_class().child_models()\r
   \r
-class Editor.EditorModule.DockModule.NewElementPocket.ButtonWrapper extends Backbone.View\r
+class Editor.EditorModule.DockModule.NewElementButtons extends Backbone.View\r
   tagName: 'div'\r
-  className: 'new_elements_tabs ui-tabs-vertical ui-helper-clearfix'\r
+  className: 'new-element-buttons'\r
   \r
   initialize: (options) ->\r
     super(options)\r
     @parent = options.parent\r
-    @buttons = new Editor.EditorModule.DockModule.NewElementPocket.Buttons({\r
-      parent: this\r
-    })\r
-  \r
-  clear: () ->\r
-    this.$el.html('')\r
-    this\r
+    @element_models = options.element_models\r
   \r
   render: () ->\r
-    this.$el.append(@buttons.render().$el)\r
+    _.each @element_models, (model) =>\r
+      button = new Editor.EditorModule.DockModule.NewElementButton({\r
+        parent: this, model: model\r
+      })\r
+      this.$el.append(button.render().el)\r
     this\r
   \r
-  add_label: (label) ->\r
-    @buttons.add_label(label)\r
-  \r
-class Editor.EditorModule.DockModule.NewElementPocket.Buttons extends Backbone.View\r
-  tagName: 'ul'\r
+class Editor.EditorModule.DockModule.NewElementButton extends Backbone.View\r
+  tagName: 'div'\r
   \r
   initialize: (options) ->\r
     super(options)\r
     @parent = options.parent\r
-    @labels = []\r
+    @model = options.model\r
   \r
   render: () ->\r
     this.$el.html('')\r
-    this.$el.addClass('inner-new-elements-tabs')\r
-    _.each @labels, (label) =>\r
-      this.$el.append(label.render().$el)\r
-    this\r
-  \r
-  add_label: (label) ->\r
-    @labels.push(label)\r
-  \r
-class Editor.EditorModule.DockModule.TabModule.NewElementPocketLabel extends Editor.EditorModule.DockModule.TabModule.PocketLabel\r
-  \r
-  render: () ->\r
-    super()\r
-    this.$el.removeClass('ui-corner-top')\r
-    this.$el.addClass('ui-corner-left')\r
+    icon = new Pettanr.Image.Icon({item: @model})\r
+    linked_icon = new Editor.EditorModule.DockModule.NewElementLinkedButton({\r
+      attr: {href: '#event' },\r
+      content: icon.render().el,\r
+      handler_name: 'click'\r
+    })\r
+    @listenTo(linked_icon, 'click', @click)\r
+    this.$el.append(linked_icon.render().el)\r
     this\r
   \r
-  add_label: () ->\r
-    this.$el.attr('id', @dom_id())\r
+  click: () ->\r
+    @set_dialog()\r
+    @set_form()\r
+    @dialog().$el.dialog('open')\r
   \r
-class Editor.EditorModule.DockModule.TabModule.NewElementPocketBody extends Editor.EditorModule.DockModule.TabModule.PocketBody\r
-  \r
-  initialize: (options) ->\r
-    super(options)\r
-  \r
-  render: () ->\r
-    this.$el.attr('id', @dom_id())\r
-    @params = {controller: @model().path_name(), action: 'index'}\r
+  set_dialog: () ->\r
+    @params = {\r
+      controller: @model.path_name(), action: 'index',\r
+      page_size: 6\r
+    }\r
     @list = Locmare.ListGroup.list(\r
-      @model().path_name(), 'index', @operators(), @params\r
+      @model.path_name(), 'index', @operators(), @params\r
     )\r
     @list.open(() =>\r
       pager = Locmare.ListGroupModule.LibModule.Pager.factory(@list.page_status, @params)\r
       f = new Locmare.Filer({\r
-        el: '#' + @dom_id(),\r
-        item_name: @model().item_name(), \r
+        el: @dialog().$el,\r
+        item_name: @model.item_name(), \r
         items: @list.items(), \r
         pager: pager, \r
         operators: @operators()\r
@@ -437,15 +396,48 @@ class Editor.EditorModule.DockModule.TabModule.NewElementPocketBody extends Edit
     )\r
     this\r
   \r
+  set_form: () ->\r
+    @form_wrapper().select(@model)\r
+  \r
   operators: () ->\r
     @editor().operators\r
   \r
-  model: () ->\r
-    @pocket_tab().model\r
+  form_wrapper: () ->\r
+    @parent.parent.form_wrapper\r
+  \r
+  dock: () ->\r
+    @parent.parent.dock()\r
+  \r
+  dialog: () ->\r
+    @editor().dialog\r
   \r
   editor: () ->\r
     @dock().parent\r
   \r
+class Editor.EditorModule.DockModule.NewElementLinkedButton extends Tag.A\r
+  \r
+  click: () ->\r
+    @trigger('click')\r
+    return false\r
+  \r
+class Editor.EditorModule.DockModule.NewElementFormWrapper extends Backbone.View\r
+  tagName: 'div'\r
+  \r
+  initialize: (options) ->\r
+    super(options)\r
+    @parent = options.parent\r
+  \r
+  clear: () ->\r
+    this.$el.html('new form')\r
+    this\r
+  \r
+  render: () ->\r
+    this.$el.html(@model.item_name())\r
+  \r
+  select: (model) ->\r
+    @model = model\r
+    @render()\r
+  \r
 class Editor.EditorModule.DockModule.ScenarioBay extends Editor.EditorModule.DockModule.BoardBay\r
   \r
   initialize: (options) ->\r
index e138a1a..90d8ea3 100644 (file)
@@ -130,7 +130,7 @@ font-style : italic;
 font-family : monospace;
 }
 
-.ui-resizable-handle {
+.pettanr-comic-panel .ui-resizable-handle {
   background-color:#f8b87c;
 }
 .ui-resizable-n {
@@ -383,6 +383,13 @@ font-family : monospace;
   background-image: image-url("destroy-highlighted.png");
 }
 
+.new-element-board-body div {
+   float: left;
+}
+.new-element-buttons div {
+  clear: both;
+}
+
 .speech_balloon_template_item {
   float: left;
 }