OSDN Git Service

fix: new elm launcher
[pettanr/pettanr.git] / app / assets / javascripts / views / ground_colors / new_element.js.coffee
1 class Pettanr.Views.GroundColor.NewElementLauncher extends Editor.EditorModule.DockModule.NewElementLauncher\r
2   \r
3   initialize: (options) ->\r
4     super(options)\r
5     @links_conf = {\r
6       inspire: {\r
7         caption: 'Inspire',\r
8         params: {\r
9           controller: @model.path_name(), action: 'index',\r
10           page_size: 6, format: 'html'\r
11         }\r
12       }\r
13     }\r
14   \r
15   render: () ->\r
16     super()\r
17     @pick_icon = new Pettanr.Views.Common.PickIcon({name: 'pick'})\r
18     @listenTo(@pick_icon, 'click', @pick_click)\r
19     this.$el.append(@pick_icon.render().el)\r
20     @add_links()\r
21     this\r
22   \r
23   pick_click: () ->\r
24     model = @model\r
25     new_item = new model()\r
26     # new_item.set({}, {silent: true})\r
27     @pick(new_item)\r
28   \r
29   click_inspire: () ->\r
30     @click_default(@links_conf.inspire.params)\r
31   \r
32 class Pettanr.Views.GroundColor.NewElement extends Backbone.View\r
33   \r
34   initialize: (options) ->\r
35     @parent = options.parent\r
36     @target_model = options.target_model\r
37   \r
38   start: (@dialog, params) ->\r
39     @dialog.start(@target_model, params, null)\r
40     @listenTo(@dialog, 'pick', @pick)\r
41     @trigger('dialog:open', @dialog)\r
42   \r
43   pick: (item) ->\r
44     new_item = new @target_model(item.attributes)\r
45     new_item.unset('id', {silent: true})\r
46     new_item.set({panel_id: @editor().item.get('id')}, {silent: true})\r
47     @dialog.stop()\r
48     @trigger('pick', new_item)\r
49   \r
50   dock: () ->\r
51     @parent.dock()\r
52   \r
53   editor: () ->\r
54     @dock().editor()\r
55   \r