Class ExecuteJavaScriptElementUtils

java.lang.Object
com.vaadin.client.ExecuteJavaScriptElementUtils

public final class ExecuteJavaScriptElementUtils extends Object
Utility class which handles javascript execution context (see ExecuteJavaScriptProcessor#getContextExecutionObject()).
Since:
1.0
Author:
Vaadin Ltd
See Also:
  • Method Details

    • attachExistingElement

      public static void attachExistingElement(StateNode parent, elemental.dom.Element previousSibling, String tagName, int id)
      Calculate the data required for server side callback to attach existing element and send it to the server.
      Parameters:
      parent - the parent node whose child is requested to attach
      previousSibling - previous sibling element
      tagName - the tag name of the element requested to attach
      id - the identifier of the server side node which is requested to be a counterpart of the client side element
    • populateModelProperties

      public static void populateModelProperties(StateNode node, JsArray<String> properties)
      Populate model properties: add them into NodeFeatures.ELEMENT_PROPERTIES NodeMap if they are not defined by the client-side element or send their client-side value to the server otherwise.
      Parameters:
      node - the node whose properties should be populated
      properties - array of property names to populate
    • registerUpdatableModelProperties

      public static void registerUpdatableModelProperties(StateNode node, JsArray<String> properties)
      Register the updatable model properties of the node.

      Only updates for the properties from the properties array will be sent to the server without explicit synchronization. The properties array includes all properties that are allowed to be updated (including sub properties).

      Parameters:
      node - the node whose updatable properties should be registered
      properties - all updatable model properties
    • registerInitializer

      public static void registerInitializer(StateNode node, double id, ExecuteJavaScriptElementUtils.JsCallback cleanup)
      Stores a cleanup callback for a JS initializer registered through Element.addJsInitializer(java.lang.String, java.lang.Object...). If a callback was previously stored for the same id, it is invoked before being replaced (defensive against stale state from a discarded DOM). On the first registration for a node, an unregister listener is attached so that all remaining cleanups are drained when the node leaves the tree.
      Parameters:
      node - the state node owning the initializer, not null
      id - the UI-wide initializer id
      cleanup - the JS cleanup function to invoke when disposing, not null
    • disposeInitializer

      public static void disposeInitializer(StateNode node, double id)
      Disposes a previously registered JS initializer cleanup. No-op if the id is unknown (e.g. the node has already been unregistered).
      Parameters:
      node - the state node owning the initializer, not null
      id - the UI-wide initializer id