OSDN Git Service

fix picker
authoryasushiito <yas@pen-chan.jp>
Mon, 16 Mar 2015 05:06:42 +0000 (14:06 +0900)
committeryasushiito <yas@pen-chan.jp>
Mon, 16 Mar 2015 05:06:42 +0000 (14:06 +0900)
app/assets/javascripts/editor/panel_editor.js.coffee
app/assets/javascripts/editor/panel_editor/dock.js.coffee
app/assets/javascripts/locmare/filer/body/file_body.js.coffee
app/assets/javascripts/locmare/picker.js.coffee
app/assets/javascripts/locmare/picker/body.js.coffee
app/assets/javascripts/locmare/picker/body/file_body.js.coffee
app/assets/javascripts/locmare/picker/body/file_body/file_item.js.coffee
app/assets/javascripts/views/ground_colors/new_element.js.coffee [new file with mode: 0644]
app/assets/javascripts/views/ground_pictures/new_element.js.coffee [new file with mode: 0644]
app/assets/javascripts/views/panel_pictures/new_element.js.coffee [new file with mode: 0644]
app/assets/javascripts/views/speech_balloons/new_element.js.coffee [new file with mode: 0644]

index cf0d813..4ab84fd 100644 (file)
@@ -24,22 +24,6 @@ class Editor.PanelEditor extends Backbone.View
   add_credit: (element) ->\r
     @credits.add_picture(element.picture())\r
   \r
-  add_element: (element) ->\r
-    panel_element_view = @body.add_element(element)\r
-    element_tab_form = @dock.add_element_to_element_tab(element)\r
-    scenario_tab_form = @dock.add_element_to_scenario_tab(element)\r
-    @dig(element, panel_element_view, element_tab_form, scenario_tab_form)\r
-    if element.constructor.has_picture()\r
-      @credits.add_picture(element.picture())\r
-  \r
-  dig: (element, panel_element_view, element_tab_form, scenario_tab_form) ->\r
-    _.each element.elements_items(), (child_element) =>\r
-      child_element.fetch({cache: true}).done =>\r
-        child_panel_element_view = panel_element_view.add_element(child_element)\r
-        child_element_tab_form = element_tab_form.add_element(child_element)\r
-        child_scenario_tab_form = scenario_tab_form.add_element(child_element)\r
-        @dig(child_element, child_panel_element_view, child_element_tab_form, child_scenario_tab_form)\r
-  \r
   remove_element: (element) ->\r
     \r
   \r
index 78bc428..025b06e 100644 (file)
@@ -333,9 +333,6 @@ class Editor.EditorModule.DockModule.TabModule.ElementBoardBody extends Editor.E
   refresh: () ->\r
     @form.refresh()\r
   \r
-  mounted: () ->\r
-    true\r
-  \r
   element: () ->\r
     @parent.element\r
   \r
@@ -355,7 +352,6 @@ class Editor.EditorModule.DockModule.TabModule.NewElementBoardLabel extends Edit
     this\r
   \r
   face: () ->\r
-    this.$el.append()\r
     icon = new Pettanr.Image.SymbolImg({attr: {src: '/images/new.gif'}})\r
     linked_elements_tab = new Tag.A({\r
       attr: {href: '#' + @board().body.dom_id() },\r
@@ -380,11 +376,8 @@ class Editor.EditorModule.DockModule.TabModule.NewElementBoardBody extends Edito
     @buttons = new Editor.EditorModule.DockModule.NewElementButtons({\r
       parent: this, element_models: @element_models()\r
     })\r
-    @form_wrapper = new Editor.EditorModule.DockModule.NewElementFormWrapper({\r
-      parent: this\r
-    })\r
+    @listenTo(@buttons, 'click', @click_button)\r
     this.$el.append(@buttons.render().el)\r
-    this.$el.append(@form_wrapper.clear().el)\r
     this\r
   \r
   panel: () ->\r
@@ -393,6 +386,13 @@ class Editor.EditorModule.DockModule.TabModule.NewElementBoardBody extends Edito
   element_models: () ->\r
     @panel().my_class().child_models()\r
   \r
+  click_button: (model) ->\r
+    @new_element.remove() if @new_element\r
+    @new_element = new Pettanr.Views[model.singular()].NewElement({\r
+      parent: this, model: model\r
+    })\r
+    this.$el.append(@new_element.render().el)\r
+  \r
 class Editor.EditorModule.DockModule.NewElementButtons extends Backbone.View\r
   tagName: 'div'\r
   className: 'new-element-buttons'\r
@@ -407,9 +407,13 @@ class Editor.EditorModule.DockModule.NewElementButtons extends Backbone.View
       button = new Editor.EditorModule.DockModule.NewElementButton({\r
         parent: this, model: model\r
       })\r
+      @listenTo(button, 'click', @click)\r
       this.$el.append(button.render().el)\r
     this\r
   \r
+  click: (model) ->\r
+    @trigger('click', model)\r
+  \r
 class Editor.EditorModule.DockModule.NewElementButton extends Backbone.View\r
   tagName: 'div'\r
   \r
@@ -430,30 +434,7 @@ class Editor.EditorModule.DockModule.NewElementButton extends Backbone.View
     this\r
   \r
   click: () ->\r
-    params = {\r
-      controller: @model.path_name(), action: 'index',\r
-      page_size: 6, format: 'pick'\r
-    }\r
-    @dialog().get(params, null)\r
-    @set_form()\r
-  \r
-  set_form: () ->\r
-    @form_wrapper().select(@model)\r
-  \r
-  operators: () ->\r
-    @editor().operators\r
-  \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
+    @trigger('click', @model)\r
   \r
 class Editor.EditorModule.DockModule.NewElementLinkedButton extends Tag.A\r
   \r
@@ -461,24 +442,6 @@ class Editor.EditorModule.DockModule.NewElementLinkedButton extends Tag.A
     @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('')\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.SimpleBay\r
   \r
   initialize: (options) ->\r
index 3d784bf..9a9f30f 100644 (file)
@@ -5,12 +5,7 @@ class Locmare.FilerModule.BodyModule.FileBody extends Backbone.View
     @body = options.body\r
     @file_items = []\r
     @file_items = _.map @filer().items, (item) =>\r
-      file_item_view = new (@module().FileItem)({'file_body': this, 'item': item})\r
-      @listenTo(file_item_view, 'click:symbol', @click_symbol)\r
-      @listenTo(file_item_view, 'http_get', @http_get)\r
-      @listenTo(file_item_view, 'http_post', @http_post)\r
-      @listenTo(file_item_view, 'remove', @remove)\r
-      file_item_view\r
+      @init_file_item(item)\r
     @render()\r
   \r
   render: () ->\r
@@ -19,6 +14,14 @@ class Locmare.FilerModule.BodyModule.FileBody extends Backbone.View
       this.$el.append(file_item.render().el)\r
     this\r
   \r
+  init_file_item: (item) ->\r
+    file_item_view = new (@module().FileItem)({'file_body': this, 'item': item})\r
+    @listenTo(file_item_view, 'click:symbol', @click_symbol)\r
+    @listenTo(file_item_view, 'http_get', @http_get)\r
+    @listenTo(file_item_view, 'http_post', @http_post)\r
+    @listenTo(file_item_view, 'remove', @remove)\r
+    file_item_view\r
+  \r
   filer: () ->\r
     @body.filer\r
   \r
@@ -34,8 +37,8 @@ class Locmare.FilerModule.BodyModule.FileBody extends Backbone.View
   items: () ->\r
     @filer().items\r
   \r
-  click_symbol: (symbol_view) ->\r
-    @trigger('click:symbol', symbol_view)\r
+  click_symbol: (file_item_view) ->\r
+    @trigger('click:symbol', file_item_view)\r
   \r
   http_get: (url) ->\r
     @trigger('http_get', url)\r
index b72846f..809cf06 100644 (file)
@@ -1,8 +1,15 @@
 class Locmare.Picker extends Locmare.Filer\r
   className: 'picker'\r
   \r
-  @module: () ->\r
+  initialize: (options) ->\r
+    super(options)\r
+    @listenTo(@body, 'click:pick', @click_pick)\r
+  \r
+  module: () ->\r
     Locmare.PickerModule\r
   \r
+  click_pick: (file_item_view) ->\r
+    @trigger('pick', file_item_view.item)\r
+  \r
 class Locmare.PickerModule\r
 \r
index 80899d6..1805d13 100644 (file)
@@ -1,7 +1,14 @@
 class Locmare.PickerModule.Body extends Locmare.FilerModule.Body\r
   \r
+  initialize: (options) ->\r
+    super(options)\r
+    @listenTo(@file_body, 'click:pick', @click_pick)\r
+  \r
   module: () ->\r
     Locmare.PickerModule.BodyModule\r
   \r
+  click_pick: (file_item_view) ->\r
+    @trigger('click:pick', file_item_view)\r
+  \r
 class Locmare.PickerModule.BodyModule\r
 \r
index 25a6998..30091ad 100644 (file)
@@ -1,6 +1,17 @@
 class Locmare.PickerModule.BodyModule.FileBody extends Locmare.FilerModule.BodyModule.FileBody\r
   \r
+  initialize: (options) ->\r
+    super(options)\r
+  \r
+  init_file_item: (item) ->\r
+    file_item_view = super(item)\r
+    @listenTo(file_item_view, 'click:pick', @click_pick)\r
+    file_item_view\r
+  \r
   module: () ->\r
     Locmare.PickerModule.BodyModule.FileBodyModule\r
   \r
+  click_pick: (file_item_view) ->\r
+    @trigger('click:pick', file_item_view)\r
+  \r
 class Locmare.PickerModule.BodyModule.FileBodyModule\r
index 3ff42cf..7a679c3 100644 (file)
@@ -3,12 +3,18 @@ class Locmare.PickerModule.BodyModule.FileBodyModule.FileItem extends Locmare.Fi
   initialize: (options) ->\r
     @file_body = options.file_body\r
     @item = options.item\r
+    icon = new Pettanr.Image.SymbolImg({attr: {src: '/images/new.gif'}})\r
+    @pick = new Tag.A({\r
+      attr: {href: '#'},\r
+      content: icon.render().el\r
+    })\r
     @symbol = @module().SymbolItemColumnFactory.factory this, @manifest().symbol, @item\r
     @caption = @module().CaptionItemColumnFactory.factory this, @manifest().caption, @item\r
     @summary = @module().SummaryItemColumnFactory.factory this, @manifest().summary, @item\r
     @icon = @module().IconItemColumnFactory.factory this, @manifest().icon, @item\r
     @date = @module().DateItemColumnFactory.factory this, @manifest().date, @item\r
     @el.className = 'filer-item filer-item-' + @item.item_name()\r
+    @listenTo(@pick, 'click', @click_pick)\r
     @listenTo(@symbol, 'click:symbol', @click_symbol)\r
     @listenTo(@caption, 'click:caption', @click_caption)\r
     @listenTo(@icon, 'click:prof', @click_prof)\r
@@ -19,6 +25,7 @@ class Locmare.PickerModule.BodyModule.FileBodyModule.FileItem extends Locmare.Fi
     @listenTo(@item, 'destroy', @destroy)\r
   \r
   render: () ->\r
+    this.$el.append(@pick.render().el)\r
     if @symbol.is_visible()\r
       this.$el.append(@symbol.render().el)\r
     if @caption.is_visible()\r
@@ -31,6 +38,9 @@ class Locmare.PickerModule.BodyModule.FileBodyModule.FileItem extends Locmare.Fi
       this.$el.append(@date.render().el)\r
     this\r
   \r
+  click_pick: () ->\r
+    @trigger('click:pick', this)\r
+  \r
   module: () ->\r
     # use FilerModule namespace\r
     Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule\r
diff --git a/app/assets/javascripts/views/ground_colors/new_element.js.coffee b/app/assets/javascripts/views/ground_colors/new_element.js.coffee
new file mode 100644 (file)
index 0000000..9bba5b9
--- /dev/null
@@ -0,0 +1,26 @@
+class Pettanr.Views.GroundColor.NewElement extends Backbone.View\r
+  tagName: 'div'\r
+  className: 'new-element-body'\r
+  \r
+  initialize: (options) ->\r
+    @parent = options.parent\r
+    @model = options.model\r
+    params = {\r
+      controller: @model.path_name(), action: 'index',\r
+      page_size: 6, format: 'pick'\r
+    }\r
+    @dialog().get(params, null)\r
+  \r
+  render: () ->\r
+    this.$el.html(@img.clear().el)\r
+    this\r
+  \r
+  dock: () ->\r
+    @parent.dock()\r
+  \r
+  editor: () ->\r
+    @dock().editor()\r
+  \r
+  dialog: () ->\r
+    @editor().dialog\r
+  \r
diff --git a/app/assets/javascripts/views/ground_pictures/new_element.js.coffee b/app/assets/javascripts/views/ground_pictures/new_element.js.coffee
new file mode 100644 (file)
index 0000000..96a754e
--- /dev/null
@@ -0,0 +1,26 @@
+class Pettanr.Views.GroundPicture.NewElement extends Backbone.View\r
+  tagName: 'div'\r
+  className: 'new-element-body'\r
+  \r
+  initialize: (options) ->\r
+    @parent = options.parent\r
+    @model = options.model\r
+    params = {\r
+      controller: @model.path_name(), action: 'index',\r
+      page_size: 6, format: 'pick'\r
+    }\r
+    @dialog().get(params, null)\r
+  \r
+  render: () ->\r
+    this.$el.html(@img.clear().el)\r
+    this\r
+  \r
+  dock: () ->\r
+    @parent.dock()\r
+  \r
+  editor: () ->\r
+    @dock().editor()\r
+  \r
+  dialog: () ->\r
+    @editor().dialog\r
+  \r
diff --git a/app/assets/javascripts/views/panel_pictures/new_element.js.coffee b/app/assets/javascripts/views/panel_pictures/new_element.js.coffee
new file mode 100644 (file)
index 0000000..930cc9e
--- /dev/null
@@ -0,0 +1,29 @@
+class Pettanr.Views.PanelPicture.NewElement extends Backbone.View\r
+  tagName: 'div'\r
+  className: 'new-element-body'\r
+  \r
+  initialize: (options) ->\r
+    @parent = options.parent\r
+    @model = options.model\r
+  \r
+  render: () ->\r
+    this.$el.html('')\r
+    params = {\r
+      controller: @model.path_name(), action: 'index',\r
+      page_size: 6, format: 'pick'\r
+    }\r
+    @dialog().get(params, null)\r
+    @listenTo(@dialog(), 'pick', @pick)\r
+    this\r
+  \r
+  pick: (item) ->\r
+  \r
+  dock: () ->\r
+    @parent.dock()\r
+  \r
+  editor: () ->\r
+    @dock().editor()\r
+  \r
+  dialog: () ->\r
+    @editor().dialog\r
+  \r
diff --git a/app/assets/javascripts/views/speech_balloons/new_element.js.coffee b/app/assets/javascripts/views/speech_balloons/new_element.js.coffee
new file mode 100644 (file)
index 0000000..03bce08
--- /dev/null
@@ -0,0 +1,26 @@
+class Pettanr.Views.SpeechBalloon.NewElement extends Backbone.View\r
+  tagName: 'div'\r
+  className: 'new-element-body'\r
+  \r
+  initialize: (options) ->\r
+    @parent = options.parent\r
+    @model = options.model\r
+    params = {\r
+      controller: @model.path_name(), action: 'index',\r
+      page_size: 6, format: 'pick'\r
+    }\r
+    @dialog().get(params, null)\r
+  \r
+  render: () ->\r
+    this.$el.html(@img.clear().el)\r
+    this\r
+  \r
+  dock: () ->\r
+    @parent.dock()\r
+  \r
+  editor: () ->\r
+    @dock().editor()\r
+  \r
+  dialog: () ->\r
+    @editor().dialog\r
+  \r