HTML Client 5.0.1

Class DynaMetapushTable

Object
   |
   +--Table
         |
         +--VisualTable
               |
               +--DynaMetapushTable
Direct Known Subclasses:
MultiDynaMetapushTable

class DynaMetapushTable
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 either 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 is dynamically maintained by Lightstreamer, starting from an HTML hidden template row, containing cells. The template row can be provided as any HTML element owning the "source='Lightstreamer'" special attribute, while the element "ID" attribute 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. The contained cells are defined as any DOM elements owning the "source='Lightstreamer'" special attribute, together with a "field" attribute.
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. If necessary, new rows are cloned from the hidden template and attached after it, or existing rows are dropped. By default the new/updated value will be set as 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 field is supported in the template.
Note that the template element can contain an arbitrary HTML structure and should contain HTML cells to be used to display the row field values. However, it should not contain elements to which an ID has been assigned, because the elements will be cloned and the HTML specification prescribes that an ID must be unique in the document. (The ID of the template element, required by Lightstreamer, is not cloned).
More visualization actions can be performed through the provided event handlers.
See:

Defined in lspushpage.js


Constructor Summary
DynaMetapushTable (<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 getCurrentPages()
           Inquiry method that gets the current number of nonempty logical pages needed to show the rows in the data table.
 Number getDisplayedPage()
           Inquiry method that gets the number of the logical page currently displayed.
 Number getMaxDynaRows()
           Inquiry method that gets the maximum number of visible rows allowed in the screen table.
 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.
 void goToPage(<Number> pageNumber)
           Operation method that shows a particular logical page in the data table.
 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(<DOMElement> domNode, <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 onCurrentPagesChanged(<Number> numPages)
           Event handler that receives the notification that the number of logical pages has changed.
 void setAutoScroll(<String> type, <String> elementId)
           Setter method that enables or disables the automatic adjustment of the screen table scrollbars at each new update.
 void setMaxDynaRows(<Number> maxDynaRows)
           Setter method that sets the maximum number of visible rows allowed 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 sorting 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

DynaMetapushTable

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

Method Detail

getCurrentPages

Number getCurrentPages()

getDisplayedPage

Number getDisplayedPage()

getMaxDynaRows

Number getMaxDynaRows()

getMetapushSortField

Number getMetapushSortField()

getMetapushSortFieldName

String getMetapushSortFieldName()

goToPage

void goToPage(<Number> pageNumber)

isCommaAsDecimalSeparator

boolean isCommaAsDecimalSeparator()

isDescendingSort

boolean isDescendingSort()

isNumericSort

boolean isNumericSort()

onChangingValues

void onChangingValues(<DOMElement> domNode, <VisualUpdateInfo> updateInfo)

onCurrentPagesChanged

void onCurrentPagesChanged(<Number> numPages)

setAutoScroll

void setAutoScroll(<String> type, <String> elementId)

setMaxDynaRows

void setMaxDynaRows(<Number> maxDynaRows)

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