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