OSDN Git Service

fix: new elm
[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 = new Tag.A({\r
18       attr: {href: '/' + @model.path_name() + '/new'},\r
19       content: 'Default'\r
20     })\r
21     @listenTo(pick, 'click', @default_click)\r
22     this.$el.append(pick.render().el)\r
23     @add_links()\r
24     this\r
25   \r
26   default_click: () ->\r
27     model = @model\r
28     new_item = new model()\r
29     # new_item.set({}, {silent: true})\r
30     @pick(new_item)\r
31   \r
32   click_inspire: () ->\r
33     @click_default(@links_conf.inspire.params)\r
34   \r
35 class Pettanr.Views.GroundColor.NewElement extends Backbone.View\r
36   \r
37   initialize: (options) ->\r
38     @parent = options.parent\r
39     @target_model = options.target_model\r
40   \r
41   start: (@dialog, params) ->\r
42     @dialog.start(@target_model, params, null)\r
43     @listenTo(@dialog, 'pick', @pick)\r
44     @trigger('dialog:open', @dialog)\r
45   \r
46   pick: (item) ->\r
47     new_item = new @target_model(item.attributes)\r
48     new_item.unset('id', {silent: true})\r
49     new_item.set({panel_id: @editor().item.get('id')}, {silent: true})\r
50     @dialog.stop()\r
51     @trigger('pick', new_item)\r
52   \r
53   dock: () ->\r
54     @parent.dock()\r
55   \r
56   editor: () ->\r
57     @dock().editor()\r
58   \r