The GridRowModel
is one of the two models that are used within a grid assembly — the
other being the module:ct-grid/GridColumnModel
. The row model allows row data to be accessed,
and row events to be listened to. Classes that need to listen to row model events must implement the
module:ct-grid/GridRowModelListener
interface, and register themselves for these events by
calling module:ct-grid/GridRowModel#addRowModelListener
.
Although clients could choose to implement GridRowModel
themselves when they wish to provide
a new grid data-source (e.g. a row model that gets it's data by querying some custom web-service), it is
expected that clients will use the generic module:ct-grid/DataProviderRowModel
, and instead
implement module:ct-grid/GridDataProvider
to access any custom data &mdash this is much
simpler than implementing the entire GridRowModel
interface.
Members
(static, readonly) FILTERING :int
A constant definition used with module:ct-grid/GridRowModel#supportsFeature
to allow row models to declare whether they support
filtering.
Row models that do support filtering will need access to the module:ct-grid/GridColumnModel
they are working in tandem with (e.g. by having the column model as one of their constructor parameters) so
that they can listen to the column model events — in particular
module:ct-grid/GridColumnModelListener#onFiltersChanged
and
module:ct-grid/GridColumnModelListener#onApplyFilters
.
Type:
- int
(static, readonly) SORTING :int
A constant definition used with module:ct-grid/GridRowModel#supportsFeature
to allow row models to declare whether they support
sorting.
Row models that do support sorting will need access to the module:ct-grid/GridColumnModel
they are working in tandem with (e.g. by having the column model as one of their constructor parameters) so
that they can listen to the column model events — in particular
module:ct-grid/GridColumnModelListener#onSortColumnChanged
.
Type:
- int
Methods
add Row(sSubject)
Adds a row to the GridRowModel
.
Parameters:
Name | Type | Description |
---|---|---|
sSubject |
String | The RTTP subject identifier (e.g. /FX/EURUSD) for the new row. |
add Row Model Listener(oRow Model Listener)
Adds a listener to the row model, to be communicated of all row model events.
Parameters:
Name | Type | Description |
---|---|---|
oRowModelListener |
module:ct-grid |
The listener to add. |
can Receive()
- Implements:
- See:
can Receive Multiple Objects()
- Implements:
- See:
can Receive Objects()
- Implements:
- See:
clear Filter Expression(sFilter Nameopt)
Removes the named filter expression from the row model.
The filter name parameter is optional. If no parameter is passed then the 'default' parameter expression will be removed.
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
sFilterName |
String |
<optional> |
The name of the filter expression to remove. |
clear Group ByField()
Removes any grouping from the grid row model.
clear Sort Rule()
Removes any sorting from the grid row model.
get All Filter Expressions()
Returns a map of all filter expressions.
The returned map should not be modified by external clients as it is may be used internally by the row model class.
get Filter Expression(sFilter Nameopt) → {module:ct-grid /filter /Filter Expression}
Returns the named filter expression.
The filter name parameter is optional. If no parameter is passed then the 'default' parameter expression will be returned.
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
sFilterName |
String |
<optional> |
The name of the filter expression to remove. |
Returns:
the filter with the specified name.
get Grid Data Provider()
Returns the grid data provider which the row model listens to for data updates.
get Group ByField() → {String}
Get the field, if one has been set, that is used to group the rows contained within row model.
Returns:
a String, if one exists, or null
otherwise.
- Type
- String
get Index BySubject(sSubject)
Return the index of a subject.
Parameters:
Name | Type | Description |
---|---|---|
sSubject |
String | The RTTP subject identifier (e.g. /FX/EURUSD) for the row. |
get Last Receive Failure Message()
- Implements:
- See:
get Permission Key() → {module:ct-services /security /Permission Key}
Returns a tuple containing the permissioning search query parameters that can be used to determine whether the user has the available permissions to view the data contained within this row model.
Row models whose data is not permissioned do not need to return a permissioning key, and may instead
return null
.
Returns:
the permissioning key tuple, or null
get Row Data(nIndex) → {Object}
Returns the row data record at the specified index.
Parameters:
Name | Type | Description |
---|---|---|
nIndex |
int | The index of the specified row. |
Returns:
the row data for the specified index.
- Type
- Object
get Row Range Size()
Returns the size of the row range that is set with the setRowRange method.
get Serialized State() → {String}
Invoked when the grid is saved.
Returns:
An XML representation of the current state of this GridRowModel
. This may
be an empty string if the row model was configured by a parent grid definition.
- Type
- String
get Size() → {int}
Returns the number of rows available — not the number of rows that are currently visible.
Returns:
The number of rows available
- Type
- int
get Sort Rule() → {module:ct-grid /sort /Sort Rule}
Get the rule, if one exists, that is used to sort the data within the row model.
Returns:
a SortRule
, if one
exists, or null
otherwise.
get Start Index() → {int}
Returns the start index of the row model which can be used to see how many rows have been scrolled.
Returns:
The start index
- Type
- int
get Subject Id(nIndex) → {String}
Returns the RTTP subject identifier for the row at the specified index.
Row models whose rows correspond to objects that can be requested from a Liberator should use this method to make that information available — this may be true even for row models where the data itself does not come from a Liberator (e.g. a custom web-service) provided the row data corresponds to requestable objects within the Liberator.
Some decorators (such as the module:ct-grid/decorator/DragDecorator
require this information
in order to allow dragging & dropping of row data into trade panels or custom grids. Row models whose data
does not correspond to requestable objects within the Liberator can instead return null
.
Parameters:
Name | Type | Description |
---|---|---|
nIndex |
int | The index of the row being queried. |
Returns:
the RTTP subject identifier (e.g. /FX/EURUSD) for the given row, or null
otherwise.
- Type
- String
get Subjects()
- Deprecated:
- Use
module:ct-grid/GridRowModel##getVisibleSubjects
instead.
- Use
get Transform Mode() → {String}
Get the transform mode that determines how grid updates are pushed out from the data source.
Returns:
The transform mode - either 'snapshot' or 'live'
- Type
- String
get Visible Subjects() → {Array}
Returns an array of subjects currently in the model (corresponding to visible rows), in order.
Returns:
the visible subject
- Type
- Array
pause Updates()
Signals the GridRowModel
to temporarily pause any updates to all RowModelListener
instances.
receive Objects()
- Implements:
- See:
remove Row(sSubject)
Removes a row from the GridRowModel
.
Parameters:
Name | Type | Description |
---|---|---|
sSubject |
String | The RTTP subject identifier (e.g. /FX/EURUSD) for the new row. |
remove Row Model Listener(oRow Model Listener)
Removes a listener that no longer wishes to listen to row model events.
Parameters:
Name | Type | Description |
---|---|---|
oRowModelListener |
module:ct-grid |
The listener to remove. |
remove Rows(pSubjects)
Removes a number of rows from the GridRowModel
.
Parameters:
Name | Type | Description |
---|---|---|
pSubjects |
String | The RTTP subject identifiers of the rows to remove. |
resume Updates()
Signals the GridRowModel
to resume updates to any RowModelListener
instances.
set Filter Expression(oFilter Expression, sFilter Nameopt)
Add a filter expression to this row model.
The filter name parameter is optional. If no parameter is passed then this filter expression will be assumed to be 'default'.
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
oFilterExpression |
module:ct-grid |
The filter expression to apply to this row model. |
|
sFilterName |
String |
<optional> |
The name that this filter expression will be known by. |
set Group ByField(sField Name)
Sets the field to be used for grouping the rows within the row model.
Parameters:
Name | Type | Description |
---|---|---|
sFieldName |
String | The field name that will be used for grouping. |
set Row Data(nIndex, mRow Data)
Method added to allow editing data inside grid.
Sets the field value for the row with the specific index
Parameters:
Name | Type | Description |
---|---|---|
nIndex |
String | index id of the row to add field |
mRowData |
Map | field maps to update |
set Row Range(nStart Index, nSize)
Sets the start index and total number of rows that the module:ct-grid/GridView
is able to
display, and hence the the row model should provide.
Parameters:
Name | Type | Description |
---|---|---|
nStartIndex |
int | The start index of the first row visible within the view. |
nSize |
int | The number of rows visible within the view. |
set Sort Rule(oSort Rule)
Set a rule that will be used to sort the data within the row model.
Parameters:
Name | Type | Description |
---|---|---|
oSortRule |
module:ct-grid |
The object containing the sort parameters. |
supports Feature(nFeature)
Determine whether this instance of GridRowModel
supports a particular feature.
Parameters:
Name | Type | Description |
---|---|---|
nFeature |
int | the feature constant that is being queried. |
terminate Updates()
Signals the GridRowModel
to terminate all updates to any RowModelListener
instances.
This method is essentially the destructor for classes implementing GridRowModel
, and
is the opportunity to perform any clean-up that may be required.