@root_form_name = @form_name\r
@manifest = LocalManifest.manifest().forms[@form_name]\r
@fields = {}\r
+ @on('change:field', @change)\r
+ \r
+ change: (field) ->\r
+ console.log(field.field_name)\r
\r
fold_extend_settings: (params) ->\r
@item.my_class().fold_extend_settings params[@item.item_name()]\r
\r
class Locmare.Form extends Locmare.FormBase\r
\r
+ @factory: (options) ->\r
+ custom_form = Pettanr.Views[Pettanr.camelize(options.item.model_name())].Form\r
+ if custom_form\r
+ new custom_form(options)\r
+ else\r
+ new Locmare.Form(options)\r
+ \r
initialize: (options) ->\r
super(options)\r
@submit = options.submit\r
this.$el.html('')\r
@error_explanation = null\r
@div_fields = new Locmare.FormModule.Fields({\r
- fields: @fields\r
+ parent: this, fields: @fields\r
})\r
#this.$el.append(@error_explanation.render().el) if not @error_explanation\r
this.$el.append(@div_fields.render().el)\r
@delegateEvents({'submit': method_type})\r
this\r
\r
+ add_element: (element) ->\r
+ form = new Locmare.Form(\r
+ element.item_name(), \r
+ element, \r
+ @mounted, \r
+ null, \r
+ @operators\r
+ )\r
+ this.$el.append( form.render().el)\r
+ form\r
+ \r
init_fields: () ->\r
_.each @manifest.field_names, (field_name) =>\r
field_manifest = @manifest.fields[field_name]\r
className: 'fields'\r
\r
initialize: (options) ->\r
+ @parent = options.parent\r
@fields = options.fields\r
\r
render: () ->\r