initialize: (options) ->\r
@panel = options.root_item\r
@operators = options.operators\r
+ @item = @panel\r
@dialog = new Editor.PanelEditor.Dialog({\r
parent: this\r
})\r
element.fetch({cache: true}).done =>\r
@add_element(element)\r
@body.on('panel:resize', @panel_resize)\r
- @listenTo(@dock, 'put', @put)\r
- Pettanr.History.lock_url = @panel.edit_url()\r
+ @listenTo(@dock, 'http_post', @http_post)\r
\r
add_element: (element) ->\r
panel_element_view = @body.add_element(element)\r
rb = new Tag.RowBreak()\r
this.$el.append(rb.render().el)\r
@dock.init_tabs()\r
- window.editor = this # enable leave cancel flag on unsave\r
@dock.$el.tabs()\r
this\r
\r
@dialog.$el.dialog('destroy')\r
Pettanr.History.lock_url = null # release editor\r
\r
- put: () ->\r
- success = (data, textStatus) =>\r
- Pettanr.History.lock_url = null # release editor\r
- @dock.valid()\r
- error = (data, textStatus) =>\r
- @dock.invalid()\r
- @dock.save({success: success, error: error})\r
+ http_post: (url, dock) ->\r
+ @trigger('http_post', url, this) # send editor\r
+ \r
+ save: () ->\r
+ @listenTo(@panel, 'save:success', @post_success)\r
+ @listenTo(@panel, 'save:fail', @post_fail)\r
+ @panel.save(@dock.save_data())\r
false\r
\r
+ post_success: (model, response) ->\r
+ Pettanr.History.lock_url = null # release editor\r
+ @trigger('success', model, response)\r
+ \r
+ post_fail: (model, response) ->\r
+ @trigger('fail', response)\r
+ \r
root_item: () ->\r
@panel\r
\r