window.editor = null # release editor\r
\r
put: () ->\r
- if @dock.save()\r
+ success = (data, textStatus) =>\r
window.editor = null # release editor\r
@dock.valid()\r
- else\r
+ error = (data, textStatus) =>\r
@dock.invalid()\r
+ @dock.save({success: success, error: error})\r
false\r
\r
root_item: () ->\r
@trigger('put')\r
false\r
\r
- save: () ->\r
+ save: (options) ->\r
attrs = @save_data()\r
- @root_bay.body.form.save(attrs)\r
+ @root_bay.body.form.save(attrs, options)\r
\r
save_data: () ->\r
attrs = @root_bay.save_data()\r
form_name: @root_item().item_name(), \r
item: @root_item(), \r
mounted: @mounted(), \r
- submit: 'default', \r
+ submit: 'default' \r
operators: @dock().editor().operators,\r
action: '/' + @root_item().table_name() + '/' + Pettanr.to_s(@root_item().get('id'))\r
})\r
else\r
@invalid()\r
\r
- save: (attrs = null) ->\r
+ save: (attrs = null, options = null) ->\r
if attrs\r
- @item.save(attrs)\r
+ @item.save_with_elements(attrs, options)\r
else\r
@item.save()\r
\r
r[pid] = elm.picture() if not r[pid]\r
r\r
\r
+ save_with_elements: (attrs, options = {}) ->\r
+ options.attrs = {panel: attrs}\r
+ method = if @isNew()\r
+ 'create'\r
+ else\r
+ 'update'\r
+ xhr = @sync(method, this, options)\r
+ xhr\r
+ \r
initialize: (attr = {}, options = {}) ->\r
@set(attr)\r
if @get('id')\r
elements_items: () ->\r
r = _.map @my_class().child_models(), (element_model) =>\r
@element_items(element_model)\r
- _.flatten(r)\r
+ _.compact(_.flatten(r))\r
\r
boosts: (level) ->\r
super(level)\r
_.each @elements_items(), (item) =>\r
- item.boosts(level)\r
+ item.boosts(level) if item\r
\r
get: (name) ->\r
val = super(name)\r
def updated_json_format format
format.json {
- head :ok
+ render json: '{}', status: :ok
}
end
def destroyed_json_format format
format.json {
- head :ok
+ render json: '{}', status: :ok
}
end
@item = Panel.edit(params[:id], @operators)
@item.boosts 'post'
jsn = nil
+ p params[:json]
if params[:json]
jsn = JSON.parse(params[:json])
end
updated_html_format format
updated_json_format format
else
- p @item.errors
format.html {
flash[:notice] = I18n.t('flash.notice.not_updated', :model => @my_model_class.model_name.human)
@editor = Editor::PanelEditor.new @item, @operators