|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.vaadin.server.AbstractClientConnector
com.vaadin.server.AbstractExtension
com.vaadin.ui.Grid.AbstractRenderer<T>
com.vaadin.ui.renderers.AbstractJavaScriptRenderer<T>
public abstract class AbstractJavaScriptRenderer<T>
Base class for Renderers with all client-side logic implemented using JavaScript.
When a new JavaScript renderer is initialized in the browser, the framework
will look for a globally defined JavaScript function that will initialize the
renderer. The name of the initialization function is formed by replacing .
with _ in the name of the server-side class. If no such function is defined,
each super class is used in turn until a match is found. The framework will
thus first attempt with com_example_MyRenderer for the
server-side
com.example.MyRenderer extends AbstractJavaScriptRenderer class.
If MyRenderer instead extends com.example.SuperRenderer , then
com_example_SuperRenderer will also be attempted if
com_example_MyRenderer has not been defined.
In addition to the general JavaScript extension functionality explained in
AbstractJavaScriptExtension, this class also provides some
functionality specific for renderers.
The initialization function will be called with this pointing to
a connector wrapper object providing integration to Vaadin with the following
functions:
getRowKey(rowIndex) - Gets a unique identifier for the row
at the given index. This identifier can be used on the server to retrieve the
corresponding ItemId using Grid.AbstractRenderer.getItemId(String).render(cell, data) - Callback for rendering the given data
into the given cell. The structure of cell and data are described in separate
sections below. The renderer is required to implement this function.
Corresponds to
com.vaadin.client.renderers.Renderer#render(com.vaadin.client.widget.grid.RendererCellReference, Object)
.init(cell) - Prepares a cell for rendering. Corresponds to
com.vaadin.client.renderers.ComplexRenderer#init(com.vaadin.client.widget.grid.RendererCellReference)
.destory(cell) - Allows the renderer to release resources
allocate for a cell that will no longer be used. Corresponds to
com.vaadin.client.renderers.ComplexRenderer#destroy(com.vaadin.client.widget.grid.RendererCellReference)
.onActivate(cell) - Called when the cell is activated by the
user e.g. by double clicking on the cell or pressing enter with the cell
focused. Corresponds to
com.vaadin.client.renderers.ComplexRenderer#onActivate(com.vaadin.client.widget.grid.CellReference)
.getConsumedEvents() - Returns a JavaScript array of event
names that should cause onBrowserEvent to be invoked whenever an event is
fired for a cell managed by this renderer. Corresponds to
com.vaadin.client.renderers.ComplexRenderer#getConsumedEvents().onBrowserEvent(cell, event) - Called by Grid when an event
of a type returned by getConsumedEvents is fired for a cell managed by this
renderer. Corresponds to
com.vaadin.client.renderers.ComplexRenderer#onBrowserEvent(com.vaadin.client.widget.grid.CellReference, com.google.gwt.dom.client.NativeEvent)
.The cell object passed to functions defined by the renderer has these properties:
element - The DOM element corresponding to this cell.
Readonly.rowIndex - The current index of the row of this cell.
Readonly.columnIndex - The current index of the column of this cell.
Readonly.colSpan - The number of columns spanned by this cell. Only
supported in the object passed to the render function - other
functions should not use the property. Readable and writable.
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from interface com.vaadin.server.ClientConnector |
|---|
ClientConnector.AttachEvent, ClientConnector.AttachListener, ClientConnector.ConnectorErrorEvent, ClientConnector.DetachEvent, ClientConnector.DetachListener |
| Constructor Summary | |
|---|---|
protected |
AbstractJavaScriptRenderer(java.lang.Class<T> presentationType)
|
| Method Summary | ||
|---|---|---|
protected void |
addFunction(java.lang.String functionName,
JavaScriptFunction function)
Register a JavaScriptFunction that can be called from the
JavaScript using the provided name. |
|
protected void |
callFunction(java.lang.String name,
java.lang.Object... arguments)
Invoke a named function that the connector JavaScript has added to the JavaScript connector wrapper object. |
|
protected com.vaadin.shared.JavaScriptExtensionState |
getState()
Returns the shared state for this connector. |
|
protected
|
registerRpc(R implementation,
java.lang.Class<R> rpcInterfaceType)
Registers an RPC interface implementation for this component. |
|
| Methods inherited from class com.vaadin.ui.Grid.AbstractRenderer |
|---|
encode, encode, extend, getColumn, getItemId, getParentGrid, getPresentationType, getSupportedParentType |
| Methods inherited from class com.vaadin.server.AbstractExtension |
|---|
getParent, remove, setParent |
| Methods inherited from class java.lang.Object |
|---|
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface com.vaadin.ui.renderers.Renderer |
|---|
remove, setParent |
| Methods inherited from interface com.vaadin.server.ClientConnector |
|---|
addAttachListener, addDetachListener, attach, beforeClientResponse, detach, encodeState, getErrorHandler, getExtensions, getParent, getRpcManager, getStateType, getUI, handleConnectorRequest, isAttached, isConnectorEnabled, markAsDirty, markAsDirtyRecursive, removeAttachListener, removeDetachListener, removeExtension, requestRepaint, requestRepaintAll, retrievePendingRpcCalls, setErrorHandler |
| Methods inherited from interface com.vaadin.shared.Connector |
|---|
getConnectorId |
| Constructor Detail |
|---|
protected AbstractJavaScriptRenderer(java.lang.Class<T> presentationType)
| Method Detail |
|---|
protected <R extends com.vaadin.shared.communication.ServerRpc> void registerRpc(R implementation,
java.lang.Class<R> rpcInterfaceType)
AbstractClientConnector
registerRpc in class AbstractClientConnectorimplementation - RPC interface implementationrpcInterfaceType - RPC interface class for which the implementation should be
registered
protected void addFunction(java.lang.String functionName,
JavaScriptFunction function)
JavaScriptFunction that can be called from the
JavaScript using the provided name. A JavaScript function with the
provided name will be added to the connector wrapper object (initially
available as this). Calling that JavaScript function will
cause the call method in the registered JavaScriptFunction to be
invoked with the same arguments.
functionName - the name that should be used for client-side callbackfunction - the JavaScriptFunction object that will be invoked
when the JavaScript function is called
protected void callFunction(java.lang.String name,
java.lang.Object... arguments)
name - the name of the functionarguments - function argumentsprotected com.vaadin.shared.JavaScriptExtensionState getState()
AbstractClientConnector
As a side effect, marks the connector dirty so any changes done to the
state will be sent to the client. Use getState(false) to avoid
marking the connector as dirty.
getState in class AbstractClientConnector
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||