HTML Client 5.0.1

Class MetapushTable

Object
   |
   +--Table
         |
         +--VisualTable
               |
               +--MetapushTable

class MetapushTable
extends VisualTable


A data table that can be fed with real-time data delivered by Lightstreamer Server and displayed into a screen table according to ADD, UPDATE and DELETE commands received as pushed values, which instruct the data table to add a row, just modify values on a row or delete a row. We call this a "COMMAND logic" behaviour. The class contains the subscription details and the event handlers needed to allow Lightstreamer to display the real-time data.
A screen table suitable for the visualization of pushed values should be made of a matrix of HTML cells. Such cells can be defined at page loading, through PushPage.cellMetapush(), or can be attached to the page DOM at any time, as DIV, SPAN or INPUT elements owning the "source='Lightstreamer'" special attribute, together with proper "row", "field" and "table" attributes; the latter defines the screen table id. The association is made when the data table is brought to the "running" state, through the identifier supplied to PushPage.addTable(), that must match the screen table id. A ScreenTableHelper can also be used to this purpose also enabling the possibility to specify tags other than SPAN DIV and INPUT.
For each pushed update, the involved row is determined and each value is displayed in a cell that is associated to the involved row and field. Scrolling operations on rows that are already displayed may be performed too. By default the new/scrolled value will replace the cell's content (or its value in case the cell is an INPUT or a TEXTAREA element). It is possible to override this behavior by specifying a special "update" attribute containing the name of the attribute of the cell to be updated. Any string can be specified; moreover a value of a stylesheet can be specified using the "style.attribute" form (note that the DOM attribute name should be used, not the CSS name; e.g. "style.backgroundColor" is correct, while "style.background-color" is not). WARNING: also events like "onclick" can be assigned; in such cases make sure that no malicious code will be pushed by the Data Adapter (for example through the injection of undesired JavaScript code).
Note: the cell/field association depends on the value specified in the "field" attribute of each cell, which should be a valid field descriptor. Only one cell for each row-field combination is supported.
The initial contents and stylesheets supplied to the cells will also be used when cell clearing has to be performed (the stylesheet used is the one supplied through the "class" attribute).
Note that rows that are added or scrolled down to row numbers for which no cells have been configured will not be displayed; however, they may be displayed again, if they are scrolled up after deletion of preceding rows.
More visualization actions can be performed through the event handlers provided.
See:

Defined in lspushpage.js


Constructor Summary
MetapushTable (<GroupDescriptor> tGroup, <SchemaDescriptor> tSchema, <String> tSubscriptionMode)
            Creates an object to be used to describe a data table to be managed with a "COMMAND logic" behaviour.
 
Method Summary
 Number getMetapushSortField()
           Inquiry method that gets the index of the field currently used as sort field, if available.
 String getMetapushSortFieldName()
           Inquiry method that gets the name of the field currently used as sort field, if available.
 boolean isCommaAsDecimalSeparator()
           Inquiry method that gets the type of interpretation to be used to parse the sort field values in order to perform numeric sort.
 boolean isDescendingSort()
           Inquiry method that gets the sort direction currently configured.
 boolean isNumericSort()
           Inquiry method that gets the type of sort currently configured.
 void onChangingValues(<VisualUpdateInfo> updateInfo)
           Event handler that is called by Lightstreamer each time a row of the data table, containing the values of the fields for a key, has been added (because of an ADD command) or changed (because of an UPDATE command).
 void onRowUpdate(<Number> rowNumber, <RowInfo> rowInfo)
           Event handler that receives the notification that a row of the data table is being displayed on the corresponding cells.
 void setLastVisibleRow(<Number> rowNumber)
           Setter method that specifies the row number of the last row in the screen table.
 void setMetapushFields(<Number> commandPos, <Number> keyPos)
           Setter method that configures the special metapush fields.
 void setMetapushSort(<FieldDescriptor> sortField, <boolean> descendingSort, <boolean> numericSort, <boolean> commaAsDecimalSeparator)
           Setter method that configures the sort policy of the data table.
 
Methods inherited from class VisualTable
setClearOnRemove, setClearOnDisconnected, setClearOnAdd, setPushedHtmlEnabled, isPushedHtmlEnabled, showValues
   
Methods inherited from class Table
getSchema, getGroup, setDataAdapter, getId, setSelector, setItemsRange, setRequestedMaxFrequency, setRequestedBufferSize, setSnapshotRequired, onItemUpdate, onLostUpdates, onEndOfSnapshot, onStart, getClassName
 

Constructor Detail

MetapushTable

MetapushTable(<GroupDescriptor> tGroup, <SchemaDescriptor> tSchema, <String> tSubscriptionMode)

Method Detail

getMetapushSortField

Number getMetapushSortField()

getMetapushSortFieldName

String getMetapushSortFieldName()

isCommaAsDecimalSeparator

boolean isCommaAsDecimalSeparator()

isDescendingSort

boolean isDescendingSort()

isNumericSort

boolean isNumericSort()

onChangingValues

void onChangingValues(<VisualUpdateInfo> updateInfo)

onRowUpdate

void onRowUpdate(<Number> rowNumber, <RowInfo> rowInfo)

setLastVisibleRow

void setLastVisibleRow(<Number> rowNumber)

setMetapushFields

void setMetapushFields(<Number> commandPos, <Number> keyPos)

setMetapushSort

void setMetapushSort(<FieldDescriptor> sortField, <boolean> descendingSort, <boolean> numericSort, <boolean> commaAsDecimalSeparator)

HTML Client 5.0.1

Lightstreamer HTML Client API
Documentation generated by JSDoc on Tue May 22 11:46:54 2012