1 class Editor.Player.PanelInsertDialog extends Editor.Dialog
\r
2 className: 'player-insert-dialog'
\r
4 initialize: (options) ->
\r
6 @parent = options.parent
\r
7 @binder = options.binder
\r
8 @target_model = options.target_model
\r
9 @insert_point = options.insert_point
\r
13 launcher = new Pettanr.Views[@target_model.singular()].NewElementLauncher({
\r
14 parent: this, model: @target_model
\r
16 @listenTo(launcher, 'http_get', @http_get) # http_get func already defined
\r
17 this.$el.append(launcher.render().el)
\r
21 this.$el.dialog({title: I18n.t('scroll_panels.player.insert_dialog')})
\r
27 close: (ui, event) ->
\r
30 this.$el.dialog('open')
\r
33 this.$el.dialog('close')
\r
36 @listenTo(view, 'http_get', @http_get)
\r
37 # @listenTo(view, 'http_post', @http_post)
\r
38 @listenTo(view, 'pick', @pick)
\r
39 if view['is_pickable'] and view.is_pickable()
\r
40 view.add_pick(@target_model)
\r
44 if item.item_name() == @target_model.item_name()
\r
46 else if @target_model.is_traceable(item.item_name())
\r
48 else if item.item_name() == @target_model.pick_item_name()
\r
49 # Pick resource_picture to panel_picture
\r
50 new_item = new @target_model()
\r
51 new_item.set(new_item.pick(item), {silent: true})
\r
52 t = if @insert_point.scroll_panel
\r
53 # insert before insert_point's panel_view
\r
54 @insert_point.scroll_panel.get('t')
\r
56 # insert before appender
\r
58 new_item.set({scroll_id: @binder.get('id'), t: t}, {silent: true})
\r
59 @listenTo(new_item, 'save:success', @success)
\r
60 @listenTo(new_item, 'save:fail', @fail)
\r
63 success: (model, response) ->
\r
65 model.url = model.default_url()
\r
66 Pettanr.cache.store(model)
\r
67 @trigger('pick', model, @insert_point)
\r
69 fail: (model, response) ->
\r
70 @trigger('fail', response)
\r