+class Pettanr.Views.GroundColor.NewElementLauncher extends Editor.EditorModule.DockModule.NewElementLauncher\r
+ \r
+ initialize: (options) ->\r
+ super(options)\r
+ @links_conf = {\r
+ inspire: {\r
+ caption: 'Inspire',\r
+ params: {\r
+ controller: @model.path_name(), action: 'index',\r
+ page_size: 6, format: 'html'\r
+ }\r
+ }\r
+ }\r
+ \r
+ render: () ->\r
+ super()\r
+ pick = new Tag.A({\r
+ attr: {href: '/' + @model.path_name() + '/new'},\r
+ content: 'Default'\r
+ })\r
+ @listenTo(pick, 'click', @default_click)\r
+ this.$el.append(pick.render().el)\r
+ @add_links()\r
+ this\r
+ \r
+ default_click: () ->\r
+ model = @model\r
+ new_item = new model()\r
+ # new_item.set({}, {silent: true})\r
+ @pick(new_item)\r
+ \r
+ click_inspire: () ->\r
+ @click_default(@links_conf.inspire.params)\r
+ \r
class Pettanr.Views.GroundColor.NewElement extends Backbone.View\r
- tagName: 'div'\r
- className: 'new-element-body'\r
\r
initialize: (options) ->\r
@parent = options.parent\r
@target_model = options.target_model\r
- @pick_model = @target_model.pick_model()\r
\r
- clear: () ->\r
- this.$el.html('new or inspire')\r
- this\r
- \r
- render: (form) ->\r
- this.$el.html('')\r
- this.$el.append(@form.render().el)\r
- this\r
+ start: (@dialog, params) ->\r
+ @dialog.start(@target_model, params, null)\r
+ @listenTo(@dialog, 'pick', @pick)\r
+ @trigger('dialog:open', @dialog)\r
\r
pick: (item) ->\r
- if item.item_name() == @target_model.item_name()\r
- # Inspire\r
- new_item = new @target_model(item.attributes)\r
- else if @target_model.is_traceable(item.item_name())\r
- # Trace\r
- n = @target_model['trace_from_' + item.item_name()]\r
- n()\r
- else if item.item_name() == @target_model.pick_item_name()\r
- # Pick\r
- model = @target_model.pick_model()\r
- new_item = new model()\r
- @dialog().stop()\r
- @set_form(new_item)\r
+ new_item = new @target_model(item.attributes)\r
+ new_item.unset('id', {silent: true})\r
+ new_item.set({panel_id: @editor().item.get('id')}, {silent: true})\r
+ @dialog.stop()\r
@trigger('pick', new_item)\r
\r
- set_form: (item) ->\r
- @form = Locmare.Form.factory({\r
- form_name: item.item_name(), \r
- use_name: 'default' \r
- item: item, \r
- element_form: true, \r
- submit: null, \r
- operators: @editor().operators,\r
- })\r
- \r
dock: () ->\r
@parent.dock()\r
\r
editor: () ->\r
@dock().editor()\r
\r
- dialog: () ->\r
- @editor().dialog\r
- \r