Package org.apache.tapestry5.internal.services

## Class ClientBehaviorSupportImpl

- java.lang.Object
- - org.apache.tapestry5.internal.services.ClientBehaviorSupportImpl

- All Implemented Interfaces:
    `ClientBehaviorSupport`

      public class ClientBehaviorSupportImpl
      extends java.lang.Object
      implements ClientBehaviorSupport

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `ClientBehaviorSupportImpl()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `addFormFragment​(java.lang.String clientId, boolean alwaysSubmit, java.lang.String showFunctionName, java.lang.String hideFunctionName)` | Adds a new client-side Tapestry.FormFragment object.
    `void` | `addFormFragment​(java.lang.String clientId, boolean alwaysSubmit, java.lang.String showFunctionName, java.lang.String hideFunctionName, java.lang.String visibilityBoundFunctionName)` | Adds a new client-side Tapestry.FormFragment object.
    `void` | `addFormFragment​(java.lang.String clientId, java.lang.String showFunctionName, java.lang.String hideFunctionName)` | Adds a new client-side Tapestry.FormFragment object.
    `void` | `addFormInjector​(java.lang.String clientId, Link link, InsertPosition insertPosition, java.lang.String showFunctionName)` | Adds a new client-side Tapestry.FormInjector object.
    `void` | `addValidation​(Field field, java.lang.String validationName, java.lang.String message, java.lang.Object constraint)` | Collects field validation information.
    `void` | `addZone​(java.lang.String clientId, java.lang.String showFunctionName, java.lang.String updateFunctionName)` | Adds a new client-side Tapestry.Zone object.
    `void` | `linkZone​(java.lang.String linkId, java.lang.String elementId, Link eventLink)` | Sets the client-side onclick handler for an <a> element to perform an Ajax update of a zone.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### ClientBehaviorSupportImpl

          public ClientBehaviorSupportImpl()

  - ### Method Detail

    - #### addZone

          public void addZone​(java.lang.String clientId,
                              java.lang.String showFunctionName,
                              java.lang.String updateFunctionName)

      Description copied from interface: `ClientBehaviorSupport`
      Adds a new client-side Tapestry.Zone object. Zones are linked to a an element (typically, a <div>). A Zone may have handlers used to initially show it, or to highlight it when its content changes. Such handlers are referenced by name, as functions of the Tapestry.ElementEffect object.
      Specified by:
        `addZone` in interface `ClientBehaviorSupport`
      Parameters:
        `clientId` - client-side id of the element that will be updated by the zone
        `showFunctionName` - name of the function used to initially show the zone (if not visible), or null for default
        `updateFunctionName` - name of function used to highlight the function after an update, or null for default

    - #### linkZone

          public void linkZone​(java.lang.String linkId,
                               java.lang.String elementId,
                               Link eventLink)

      Description copied from interface: `ClientBehaviorSupport`
      Sets the client-side onclick handler for an <a> element to perform an Ajax update of a zone. Starting in Tapestry 5.4, this can be accomplished by adding a "data-update-zone" attribute to the element. The attribute value may be `^` or the id of the zone's client element.
      Specified by:
        `linkZone` in interface `ClientBehaviorSupport`
      Parameters:
        `linkId` - id of the link to Ajax enable
        `elementId` - id of an element that has been previously registered as a Zone

    - #### addFormFragment

          public void addFormFragment​(java.lang.String clientId,
                                      java.lang.String showFunctionName,
                                      java.lang.String hideFunctionName)

      Description copied from interface: `ClientBehaviorSupport`
      Adds a new client-side Tapestry.FormFragment object. FormFragment's are used to make parts of a client-side form visible or invisible, which involves interactions with both the server-side and client-side validation.
      Specified by:
        `addFormFragment` in interface `ClientBehaviorSupport`
      Parameters:
        `clientId` - client-side id of the element that will be made visible or invisible
        `showFunctionName` - name of function (of the Tapestry.ElementEffect object) used to make the SubForm visible, or null for the default
        `hideFunctionName` - name of the function used to make the SubForm invisible, or null for the default

    - #### addFormFragment

          public void addFormFragment​(java.lang.String clientId,
                                      boolean alwaysSubmit,
                                      java.lang.String showFunctionName,
                                      java.lang.String hideFunctionName)

      Description copied from interface: `ClientBehaviorSupport`
      Adds a new client-side Tapestry.FormFragment object. FormFragment's are used to make parts of a client-side form visible or invisible, which involves interactions with both the server-side and client-side validation.
      Specified by:
        `addFormFragment` in interface `ClientBehaviorSupport`
      Parameters:
        `clientId` - client-side id of the element that will be made visible or invisible
        `alwaysSubmit` - if true, the fragment ignores client-side visiblility and always submits its values
        `showFunctionName` - name of function (of the Tapestry.ElementEffect object) used to make the SubForm visible, or null for the default
        `hideFunctionName` - name of the function used to make the SubForm invisible, or null for the default

    - #### addFormFragment

          public void addFormFragment​(java.lang.String clientId,
                                      boolean alwaysSubmit,
                                      java.lang.String showFunctionName,
                                      java.lang.String hideFunctionName,
                                      java.lang.String visibilityBoundFunctionName)

      Description copied from interface: `ClientBehaviorSupport`
      Adds a new client-side Tapestry.FormFragment object. FormFragment's are used to make parts of a client-side form visible or invisible, which involves interactions with both the server-side and client-side validation. This implementation has been removed in 5.4; it throws an `UnsupportedOperationException`.
      Specified by:
        `addFormFragment` in interface `ClientBehaviorSupport`
      Parameters:
        `clientId` - client-side id of the element that will be made visible or invisible
        `alwaysSubmit` - if true, the fragment ignores client-side visiblility and always submits its values
        `showFunctionName` - name of function (of the Tapestry.ElementEffect object) used to make the SubForm visible, or null for the default
        `hideFunctionName` - name of the function used to make the SubForm invisible, or null for the default
        `visibilityBoundFunctionName` - name of the function used to bound the isDeepVisible search, or null for the default

    - #### addFormInjector

          public void addFormInjector​(java.lang.String clientId,
                                      Link link,
                                      InsertPosition insertPosition,
                                      java.lang.String showFunctionName)

      Description copied from interface: `ClientBehaviorSupport`
      Adds a new client-side Tapestry.FormInjector object. FormInjectors are used to extend an existing Form with new content.
      Specified by:
        `addFormInjector` in interface `ClientBehaviorSupport`
      Parameters:
        `clientId` - client-side id of the element that identifiess where the new content will be placed
        `link` - action request link used to trigger the server-side object, to render the new content
        `insertPosition` - where the new content should go (above or below the element)
        `showFunctionName` - name of function (of the Tapestry.ElementEffect object) used to make the new element visible, or null for the default

    - #### addValidation

          public void addValidation​(Field field,
                                    java.lang.String validationName,
                                    java.lang.String message,
                                    java.lang.Object constraint)

      Description copied from interface: `ClientBehaviorSupport`
      Collects field validation information.
      Specified by:
        `addValidation` in interface `ClientBehaviorSupport`
      Parameters:
        `field` - for which validation is being generated
        `validationName` - name of validation method (see Tapestry.Validation in tapestry.js)
        `message` - the error message to display if the field is invalid
        `constraint` - additional constraint value, or null for validations that don't require a constraint