1 class Pettanr.Views.PanelPicture.NewElementLauncher extends Editor.EditorModule.DockModule.NewElementLauncher
\r
3 initialize: (options) ->
\r
7 caption: 'Resource Picture',
\r
9 controller: @model.pick_model().path_name(), action: 'index',
\r
10 page_size: 6, format: 'html'
\r
20 click_resource_picture: () ->
\r
21 @click_default(@links_conf.resource_picture.params)
\r
23 class Pettanr.Views.PanelPicture.NewElement extends Backbone.View
\r
25 initialize: (options) ->
\r
26 @parent = options.parent
\r
27 @target_model = options.target_model
\r
28 @pick_model = @target_model.pick_model()
\r
30 start: (@dialog, params) ->
\r
31 @dialog.start(@target_model, params, null)
\r
32 @listenTo(@dialog, 'pick', @pick)
\r
33 @trigger('dialog:open', @dialog)
\r
36 if item.item_name() == @target_model.item_name()
\r
38 @listenTo(this, 'ready', @ready)
\r
39 new_item = new @target_model(item.attributes)
\r
40 new_item.unset('id', {silent: true})
\r
41 new_item.set({panel_id: @editor().item.get('id')}, {silent: true})
\r
42 @trigger('ready', new_item)
\r
43 else if @target_model.is_traceable(item.item_name())
\r
45 tracer_class = @target_model['TraceFrom' + item.singular()]
\r
46 tracer = new tracer_class()
\r
47 @listenTo(tracer, 'trace', @trace)
\r
49 else if item.item_name() == @target_model.pick_item_name()
\r
50 # Pick resource_picture to panel_picture
\r
51 @listenTo(this, 'ready', @ready)
\r
52 new_item = new @target_model()
\r
53 new_item.set(new_item.pick(item), {silent: true})
\r
54 new_item.set({x: 0, y: 0}, {silent: true})
\r
55 @trigger('ready', new_item)
\r
57 ready: (new_item) ->
\r
59 @trigger('pick', new_item)
\r
61 trace: (resource_picture) ->
\r
62 @dialog.http_get(resource_picture.show_url())
\r