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 9bba5b9..5b24cbc 100644 (file)
@@ -4,17 +4,55 @@ class Pettanr.Views.GroundColor.NewElement extends Backbone.View
   \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
+    @target_model = options.target_model\r
+  \r
+  clear: () ->\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: () ->\r
-    this.$el.html(@img.clear().el)\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
+    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
+  set_form: (item) ->\r
+    @form = Locmare.Form.factory({\r
+      form_name: item.item_name(), \r
+      use_name: 'default' \r
+      item: item, \r
+      element_form: true, \r
+      submit: null, \r
+    })\r
+  \r
   dock: () ->\r
     @parent.dock()\r
   \r