class Pettanr.Views.GroundPicture.NewElement extends Backbone.View tagName: 'div' className: 'new-element-body' initialize: (options) -> @parent = options.parent @target_model = options.target_model @pick_model = @target_model.pick_model() clear: () -> this.$el.html('') params = { controller: @pick_model.path_name(), action: 'index', page_size: 6, format: 'html' } @dialog().start(@target_model, params, null) @listenTo(@dialog(), 'pick', @pick) this render: () -> this.$el.html('') this pick: (item) -> if item.item_name() == @target_model.item_name() # Inspire new_item = new @target_model(item.attributes) else if @target_model.is_traceable(item.item_name()) # Trace n = @target_model['trace_from_' + item.item_name()] n() else if item.item_name() == @target_model.pick_item_name() # Pick resource_picture to ground_picture new_item = new @target_model() new_item.set(new_item.pick(item), {silent: true}) @dialog().stop() @trigger('pick', new_item) dock: () -> @parent.dock() editor: () -> @dock().editor() dialog: () -> @editor().dialog