form.Manager Class
Class for form Management. Instance of this class is created on demand by ludo.View.getForm(). Configuration is done via view.form config property.
Constructor
form.Manager
-
config
Parameters:
-
config
Object
Example:
var view = new ludo.View({
form:{
'resource' : 'Person',
autoLoad:true,
arguments:1
},
children:[
{ type:'form.Text', label:'First name' },
{
layout:{ type:'linear',orientation:'horizontal',height:25},
children:[
{ type:'form.SubmitButton', value:'Save' },
{ type:'form.ResetButton', value:'Reset form }
]
}
]
}); An instance of this class is created automatically and configured from the "form" config object of the View. You will get access to the instance of this class by calling View.getForm(), example: v.getForm().submit(); for the example above.
Item Index
Methods
Methods
deleteRecord
()
Send delete request to the server
getFormElements
()
private
Get all form elements, store them in an array and add valid and invalid events to them
getValues
()
Return array of values of all form elements inside this view. The format is [{name:value},{name:value}]
isDirty
()
private
Returns true if one or more form elements of view have value different from it' original
isValid
()
private
Returns true when form is valid.
onInvalid
-
value
-
formComponent
Set view invalid when a form element inside it is invalid
onValid
-
value
-
formComponent
One form element is valid. Fire valid event if all form elements are valid
submit
()
private
Submit form to server
validate
()
Validate form and fire "invalid" or "valid" event
Returns:
Attributes
arguments
String | Number
Read arguments sent when autoLoad is set to true
Default: undefined
Example:
form:{ url:'controller.php', resource:'Person', arguments:100, autoLoad:true } will send request 'Person/100/read' to controller.php.
cache
Boolean
Enable caching of read records
Default: false
Example:
new ludo.View({ form:{ cache:true, cacheTimeout : 5 } )
listeners
Object
Event listeners for the events fired by the form. user.
Default: undefined
Example:
new ludo.View({ form:{ "resource": "User", listeners:{ "saved": function(){ new ludo.Notification({ html : 'Your changes has been saved' }); }, "read": function(){ // Record has been successfully read from the server. } } }, children:[ { type:"form.Text", name:"firstname" }, { type:"form.Text", name:"lastname" } ] });
resource
String
Name of server side resource(example a class) which handles form data. Example: "User" when you have a form representing the details of a user.
Default: undefined
Example:
new ludo.View({ form:{ "resource": "User", "autoLoad" : true, "arguments" : 100 }, children:[ { type:"form.Text", name:"firstname" }, { type:"form.Text", name:"lastname" } ] });
Events
change
Event fired when a form element has been changed
Event Payload:
-
form
ludo.form.Manager -
form
ludo.form.Elementelement
clean
Fired when value of all views are equal to their original start value
delete
Event fired before delete request is sent to server
deleted
Event fired after successful delete request
deleteFailed
Event fired after form submission when success parameter in response is false.
To add listeners, use
ludo.View.getForm().addEvent('failure', fn);
dirty
Fired when value of one or more form views are different from their original start value
Event Payload:
-
formComponent
Object
failure
Event fired after form submission when success parameter in response is false.
To add listeners, use
ludo.View.getForm().addEvent('failure', fn);
invalid
form.SubmitButton listens to this event which is fired when one or more form elements inside a view is invalid. The submit button will be disabled automatically when this event is fired.
Event Payload:
-
form.Manager
Object
new
Event fired when newRecord is called, i.e. when the form is cleared and currentId unset.
read
Event fired after data for the form has been read successfully
To add listeners, use
ludo.View.getForm().addEvent('success', fn);
Event Payload:
-
JSON
Objectresponse from server
requestComplete
Event fired after read, save and delete requests has been completed with or without failures
requestComplete
Event fired before read, save and delete request
saved
Event fired after a form has been saved successfully.
To add listeners, use
ludo.View.getForm().addEvent('success', fn);
Event Payload:
-
JSON
Objectresponse from server
servererror
Server error event. Fired when the server didn't handle the request
valid
form.SubmitButton listens to this event which is fired when all form elements inside a view are valid. The submit button will be enabled automatically when this event is fired.
Event Payload:
-
form.Manager
Object