API Docs for: 0.0.2
Show:

form.Manager Class

Extends Core
Module: effect

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:

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.

Methods

deleteRecord

()

Send delete request to the server

get

(
  • key
)
String | Number | Object

Return value of form element.

Parameters:

Returns:

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
)
private

Set view invalid when a form element inside it is invalid

Parameters:

onValid

(
  • value
  • formComponent
)
private

One form element is valid. Fire valid event if all form elements are valid

Parameters:

read

(
  • id
)

Read form values from the server

Parameters:

set

(
  • key
  • value
)

Set value of a form element

Parameters:

submit

() private

Submit form to server

validate

()

Validate form and fire "invalid" or "valid" event

Returns:

void

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.

autoLoad

Boolean

Autoload data from server on creation

Default: false

cache

Boolean

Enable caching of read records

Default: false

Example:

new ludo.View({ form:{ cache:true, cacheTimeout : 5 } )

cacheTimeout

Number

Time in minutes before a cached record is considered expired

Default: undefined

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" } ] });

updateCacheOnChange

Boolean

Update cached record when form value is modified

Default: true

Events

change

Event fired when a form element has been changed

Event Payload:

  • form ludo.form.Manager
  • form ludo.form.Element

    element

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

Event Payload:

deleteFailed

Event fired after form submission when success parameter in response is false. To add listeners, use
ludo.View.getForm().addEvent('failure', fn);

Event Payload:

dirty

Fired when value of one or more form views are different from their original start value

Event Payload:

failure

Event fired after form submission when success parameter in response is false. To add listeners, use
ludo.View.getForm().addEvent('failure', fn);

Event Payload:

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:

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 Object

    response 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 Object

    response from server

servererror

Server error event. Fired when the server didn't handle the request

Event Payload:

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: