OSDN Git Service

Merge branch 'v06' of git.sourceforge.jp:/gitroot/pettanr/pettanr into v06
[pettanr/pettanr.git] / app / assets / javascripts / views / ground_colors / new_element.js.coffee
index c1827b6..5b24cbc 100644 (file)
@@ -5,30 +5,42 @@ class Pettanr.Views.GroundColor.NewElement extends Backbone.View
   initialize: (options) ->\r
     @parent = options.parent\r
     @target_model = options.target_model\r
-    @pick_model = @target_model.pick_model()\r
   \r
   clear: () ->\r
-    this.$el.html('new or inspire')\r
+    this.$el.html('')\r
+    @pick_icon = new Pettanr.Views.Common.PickIcon({name: 'pick'})\r
+    @inspire_icon = new Pettanr.Views.Common.PickIcon({name: 'inspire'})\r
+    @listenTo(@pick_icon, 'click', @pick_click)\r
+    @listenTo(@inspire_icon, 'click', @inspire_click)\r
+    this.$el.append(@pick_icon.render().el)\r
+    this.$el.append(@inspire_icon.render().el)\r
     this\r
   \r
-  render: (form) ->\r
-    this.$el.html('')\r
-    this.$el.append(@form.render().el)\r
+  render: () ->\r
     this\r
   \r
+  pick_click: () ->\r
+    model = @target_model\r
+    new_item = new model()\r
+    # new_item.set({}, {silent: true})\r
+    @success(new_item)\r
+  \r
+  inspire_click: () ->\r
+    params = {\r
+      controller: @target_model.path_name(), action: 'index',\r
+      page_size: 6, format: 'html'\r
+    }\r
+    @dialog().start(@target_model, params, null)\r
+    @listenTo(@dialog(), 'pick', @pick)\r
+  \r
   pick: (item) ->\r
-    if item.item_name() == @target_model.item_name()\r
-      # Inspire\r
-      new_item = new @target_model(item.attributes)\r
-    else if @target_model.is_traceable(item.item_name())\r
-      # Trace\r
-      n = @target_model['trace_from_' + item.item_name()]\r
-      n()\r
-    else if item.item_name() == @target_model.pick_item_name()\r
-      # Pick\r
-      model = @target_model.pick_model()\r
-      new_item = new model()\r
+    new_item = new @target_model(item.attributes)\r
+    new_item.unset('id', {silent: true})\r
+    new_item.set({panel_id: @editor().item.get('id')}, {silent: true})\r
     @dialog().stop()\r
+    @success(new_item)\r
+  \r
+  success: (new_item) ->\r
     @set_form(new_item)\r
     @trigger('pick', new_item)\r
   \r