\r
initialize: (options) ->\r
@parent = options.parent\r
- @model = options.model\r
+ @target_model = options.target_model\r
+ @pick_model = @target_model.pick_model()\r
+ \r
+ clear: () ->\r
+ this.$el.html('')\r
params = {\r
- controller: @model.path_name(), action: 'index',\r
- page_size: 6, format: 'pick'\r
+ controller: @pick_model.path_name(), action: 'index',\r
+ page_size: 6, format: 'html'\r
}\r
- @dialog().get(params, null)\r
+ @dialog().start(@target_model, params, null)\r
+ @listenTo(@dialog(), 'pick', @pick)\r
+ this\r
\r
render: () ->\r
- this.$el.html(@img.clear().el)\r
+ this.$el.html('')\r
this\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 resource_picture to ground_picture\r
+ new_item = new @target_model()\r
+ new_item.set(new_item.pick(item), {silent: true})\r
+ @dialog().stop()\r
+ @trigger('pick', new_item)\r
+ \r
dock: () ->\r
@parent.dock()\r
\r