OSDN Git Service

fix:new elm
[pettanr/pettanr.git] / app / assets / javascripts / views / ground_colors / new_element.js.coffee
1 class Pettanr.Views.GroundColor.NewElement extends Backbone.View\r
2   tagName: 'div'\r
3   className: 'new-element-body'\r
4   \r
5   initialize: (options) ->\r
6     @parent = options.parent\r
7     @target_model = options.target_model\r
8   \r
9   clear: () ->\r
10     this.$el.html('')\r
11     @pick_icon = new Pettanr.Views.Common.PickIcon({name: 'pick'})\r
12     @inspire_icon = new Pettanr.Views.Common.PickIcon({name: 'inspire'})\r
13     @listenTo(@pick_icon, 'click', @pick_click)\r
14     @listenTo(@inspire_icon, 'click', @inspire_click)\r
15     this.$el.append(@pick_icon.render().el)\r
16     this.$el.append(@inspire_icon.render().el)\r
17     this\r
18   \r
19   render: () ->\r
20     this\r
21   \r
22   pick_click: () ->\r
23     model = @target_model\r
24     new_item = new model()\r
25     # new_item.set({}, {silent: true})\r
26     @success(new_item)\r
27   \r
28   inspire_click: () ->\r
29     params = {\r
30       controller: @target_model.path_name(), action: 'index',\r
31       page_size: 6, format: 'html'\r
32     }\r
33     @dialog().start(@target_model, params, null)\r
34     @listenTo(@dialog(), 'pick', @pick)\r
35   \r
36   pick: (item) ->\r
37     new_item = new @target_model(item.attributes)\r
38     new_item.unset('id', {silent: true})\r
39     new_item.set({panel_id: @editor().item.get('id')}, {silent: true})\r
40     @dialog().stop()\r
41     @success(new_item)\r
42   \r
43   success: (new_item) ->\r
44     @set_form(new_item)\r
45     @trigger('pick', new_item)\r
46   \r
47   set_form: (item) ->\r
48     @form = Locmare.Form.factory({\r
49       form_name: item.item_name(), \r
50       use_name: 'default' \r
51       item: item, \r
52       element_form: true, \r
53       submit: null, \r
54     })\r
55   \r
56   dock: () ->\r
57     @parent.dock()\r
58   \r
59   editor: () ->\r
60     @dock().editor()\r
61   \r
62   dialog: () ->\r
63     @editor().dialog\r
64   \r