#$(trace + 'width').val(w)\r
#$(trace + 'height').val(h)\r
\r
- window.editor = null # enable leave cancel flag on unsave\r
+ quit: () ->\r
+ @dialog.$el.dialog('destroy')\r
- attrs = @dock.save_data()\r
++ window.editor = null # release editor\r
++ \r
+ put: () ->\r
++ if @dock.save()\r
++ window.editor = null # release editor\r
++ @dock.valid()\r
++ else\r
++ @dock.invalid()\r
+ false\r
\r
root_item: () ->\r
@panel\r
dom_labels_class: () ->\r
@dom_class() + '-labels'\r
\r
+ put: () ->\r
+ @trigger('put')\r
+ false\r
+ \r
++ save: () ->\r
++ attrs = @save_data()\r
++ @root_bay.body.form.save(attrs)\r
++ \r
+ save_data: () ->\r
+ attrs = @root_bay.save_data()\r
+ _.extend(attrs, @element_bay.save_data())\r
+ attrs\r
+ \r
++ valid: () ->\r
++ @root_bay.body.form.valid()\r
++ \r
++ invalid: () ->\r
++ @root_bay.body.form.invalid()\r
++ \r
class Editor.EditorModule.DockModule.RootBay extends Editor.EditorModule.DockModule.SimpleBay\r
\r
render: () ->\r
_.each @fields, (field) =>\r
@item.set(field.field_name, field.val())\r
@item.overwrite({operators: @operators})\r
- if @item.save()\r
- attrs = @make_attrs()\r
- if @item.save(attrs)\r
-- window.router.navigate('/' + @item.table_name() + '/' + Pettanr.to_s(@item.get('id')), true)\r
-- return false\r
++ if @save()\r
++ @valid()\r
else\r
-- alert('invalid')\r
++ @invalid()\r
++ \r
++ save: (attrs = null) ->\r
++ if attrs\r
++ @item.save(attrs)\r
++ else\r
++ @item.save()\r
++ \r
++ valid: () ->\r
++ window.router.navigate('/' + @item.table_name() + '/' + Pettanr.to_s(@item.get('id')), true)\r
++ return false\r
++ \r
++ invalid: () ->\r
++ alert('invalid')\r
+ \r
+ save_data: () ->\r
+ @item.my_class().child_models()\r
+ attrs = {}\r
+ _.each @fields, (field) =>\r
+ attrs[field.field_name] = @item.get(field.field_name)\r
+ _.each @child_forms, (child_form, name) =>\r
+ mm = @item.my_class().my_manifest()\r
+ em = child_form.item.my_class().my_manifest()\r
+ if mm.associations.is_has_one(em)\r
+ attrs[name + '_attributes'] = child_form.save_data()\r
+ else\r
+ attrs[name + '_attributes'] = []\r
+ _.each child_form, (form) =>\r
+ attrs[name + '_attributes'].push(form.save_data())\r
+ attrs\r
\r
class Locmare.ExtendForm extends Locmare.FormBase\r
tagName: 'div'\r
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