new ArrayModel()
This model use an internal Array to register objects.
- Implements:
Example
var o1 = { id : "key1" } ;
var o2 = { id : "key2" } ;
var o3 = { id : "key3" } ;
var o4 = { id : "key4" } ;
var o5 = { id : "key5" } ;
var o6 = { id : "key6" } ;
var model = new ArrayModel();
var added = function( index , value , model )
{
trace( model + " added(" + index + ") value:" + dump(value) ) ;
}
var beforeChanged = function( value , model )
{
trace( "[-] before:" + value + " current:" + dump(model.current) + " size:" + model.length ) ;
}
var changed = function( value , model )
{
trace( "[+] change:" + value + " current:" + dump(model.current) + " size:" + model.length ) ;
}
var cleared = function( model )
{
trace( "[x] clear current:" + dump(model.current) + " size:" + model.length ) ;
}
var removed = function( index , old , model )
{
trace( model + " removed(" + index + ") old:" + dump(old) ) ;
}
var updated = function( index , old , model )
{
trace( model + " updated(" + index + ") old:" + dump(old) ) ;
}
model.added.connect( added ) ;
model.beforeChanged.connect( beforeChanged ) ;
model.changed.connect( changed ) ;
model.cleared.connect( cleared ) ;
model.removed.connect( removed ) ;
model.updated.connect( updated ) ;
model.add( o1 ) ;
model.add( o2 ) ;
model.add( o3 ) ;
model.add( o4 ) ;
model.add( o5 ) ;
model.add( o6 ) ;
trace( "model length:" + model.length ) ;
trace( "model.get(0) == o1 : " + dump( model.get(0)) ) ;
trace( "model.get(1) == o4 : " + dump( model.get(1)) ) ;
model.updateAt( 0 , o4 ) ;
trace( "model.get(0) == o1 : " + dump( model.get(0)) ) ;
model.current = o1 ;
model.current = o2 ;
model.removeAt( 0 ) ;
model.removeAt( 0 , 2 ) ;
model.remove( o6 ) ;
trace( "model length:" + model.length ) ;
model.clear() ;
Extends
Members
-
<constant> added :system.signals.Signal
-
Emits a message when an entry is added in the model.
Type:
-
<constant> beforeChanged :system.signals.Signal
-
Emits a message before the current object in the model is changed.
Type:
- Inherited From:
-
<constant> changed :system.signals.Signal
-
Emits a message when the current object in the model is changed.
Type:
- Inherited From:
-
<constant> cleared :system.signals.Signal
-
Emits a message when the current object in the model is cleared.
Type:
- Inherited From:
-
current
-
Determinates the current selected value in this model.
- Inherited From:
-
<readonly> length :number
-
Indicates the number of elements register in the model.
Type:
- number
-
<constant> removed :system.signals.Signal
-
Emits a message when an entry is removed in the model.
Type:
-
security :boolean
-
This property defined if the current property can accept the same object in argument as the current one.
Type:
- boolean
- Inherited From:
- Default Value:
-
- true
-
<constant> updated :system.signals.Signal
-
Emits a message when an entry is updated in the model.
Type:
Methods
-
add(entry)
-
Inserts an entry in the model.
Parameters:
Name Type Description entry* The object to register in the model.
Throws:
ReferenceError if the entry in argument is 'null' or 'undefined'.
-
addAt(index, entry)
-
Inserts an entry in the model at a specific position index.
Parameters:
Name Type Description indexnumber The index position to register the object.
entry* The object to register in the model.
Throws:
ReferenceError if the entry in argument is 'null' or 'undefined'.
-
clear()
-
Removes all entries register in the model.
- Overrides:
-
clear(index)
-
Returns the element from this model at the passed index.
Parameters:
Name Type Description indexnumber The index of the element to return.
- Overrides:
Returns:
The element from this model at the passed index.
-
has(entry)
-
Returns
trueif the model contains the specified entry.Parameters:
Name Type Description entry* The entry reference to check.
Returns:
trueif the model contains the specified entry. -
isEmpty()
-
Returns
trueif this model is empty.Returns:
trueif this model is empty. -
notifyAdd()
-
Notify a signal when a new entry is inserted in the model.
-
notifyBeforeChange()
-
Notify a signal before the specified value is changed.
- Inherited From:
-
notifyChange()
-
Notify a signal when the model is changed.
- Inherited From:
-
notifyClear()
-
Notify a signal when the model is cleared.
- Inherited From:
-
notifyRemove()
-
Notify a signal when a new entry is removed in the model.
-
notifyUpdate()
-
Notify a signal when a new entry is updated in the model.
-
remove(entry)
-
Removes an entry in the model.
Parameters:
Name Type Description entry* The object to unregister in the model.
-
removeAt(id [, count])
-
Removes from this model all the elements that are contained between the specific
idposition and the end of this list (optional operation).Parameters:
Name Type Argument Default Description idnumber The index of the element or the first element to remove.
countnumber <optional>
1 The number of elements to remove (default 1).
Returns:
The Array representation of all elements removed in the original list.
-
removeRange(fromIndex, toIndex)
-
Removes from this model all of the elements whose index is between
fromIndex, inclusive andtoIndex, exclusive.Shifts any succeeding elements to the left (reduces their index).
This call shortens the model by (toIndex - fromIndex) elements. (If toIndex==fromIndex, this operation has no effect.)
Parameters:
Name Type Description fromIndexnumber The from index (inclusive) to remove elements in the list.
toIndexnumber The to index (exclusive) to remove elements in the list.
-
setArray(ar)
-
Enforce to set the internal array of this model (default use a new Array instance). This method change the model without notification.
Parameters:
Name Type Description ararray The Array reference to fill the model.
-
toArray()
-
Returns the internal array representation of this model.
Returns:
The array representation of this model.
-
updateAt(index, entry)
-
Update an entry in the model with the specified index.
Parameters:
Name Type Description indexnumber The index to update an entry.
entry* the new value to insert in the model at the specified index.