class Pettanr.Inspire\r
\r
- constructor: (options) ->\r
+ constructor: (@item) ->\r
_.extend(this, Backbone.Events)\r
- @item = options.item\r
\r
- inspire: () -> \r
+ go: (context, options) -> \r
@item = @item.with_elements() # retake panel for 'with_elements' mode\r
@item.fetch({cache: false}).done =>\r
@item.attributes = @item.replaced_attributes()\r
@item.overwrite({})\r
@set_root()\r
@set_elements()\r
- @save()\r
+ @save(context, options)\r
\r
set_root: () ->\r
@root_form = Locmare.Form.factory({\r
form.add_elements()\r
form\r
\r
- save: () ->\r
+ save: (context, options) ->\r
# merge panel and elements\r
attrs = @root_form.save_data()\r
delete attrs['id']\r
_.extend(attrs, @elements_save_data())\r
# save json data by panel form\r
- @listenTo(@root_form, 'success', @post_success)\r
- @listenTo(@root_form, 'fail', @post_fail)\r
+ success = (model, response) ->\r
+ options.success.call(context, model)\r
+ fail = (model, response) ->\r
+ options.fail.call(context, response)\r
+ @listenTo(@root_form, 'success', success)\r
+ @listenTo(@root_form, 'fail', fail)\r
@root_form.save(attrs)\r
\r
elements_save_data: () ->\r
attrs[name].push(d)\r
attrs\r
\r
- post_success: (model, response) ->\r
- @trigger('inspire', model)\r
- \r
- post_fail: (model, response) ->\r
- @trigger('fail', response)\r
- \r