Package org.zkoss.stateless.sul

## Interface IPopupBase<I extends IPopupBase>

- All Superinterfaces:
    `IComponent<I>`, `IHtmlBasedComponent<I>`, `IXulElement<I>`
  All Known Subinterfaces:
    `IMenupopup`, `IPopup<I>`

      public interface IPopupBase<I extends IPopupBase>
      extends IXulElement<I>

  Immutable `Popup` base component

  ### Support @Action

  Name | Action Type
  --- | ---
  onOpen | ActionData: `OpenData` Denotes user has opened or closed a component.

  ## Position

  You can simply specify a popup's position when attaching to a component by

  - built-in position
  - x, y coordinate

  ZK supports the following position string:

  Author:
    katherine

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Interface | Description
    --- | --- | ---
    `static class` | `IPopupBase.OpenOptionBuilder` | An OpenOption builder to add options for `withOpen(OpenOptionBuilder)` to manipulate the open state programmatically.
    `static class` | `IPopupBase.Position` | Specify a popup's position when attaching to a component.

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `IPopupBase.OpenOptionBuilder` | `getOpen()` | Returns the open options that passed from `withOpen(OpenOptionBuilder)`
    `default boolean` | `isVisible()` | Returns whether this component is visible at client.
    `I` | `withOpen​(IPopupBase.OpenOptionBuilder builder)` | Returns a copy of `this` immutable component with the specified `span`.

    - ### Methods inherited from interface org.zkoss.stateless.sul.IComponent

      `getAction, getActions, getClientAttributes, getId, getMold, getWidgetClass, getWidgetListeners, getWidgetOverrides, withAction, withAction, withAction, withAction, withAction, withAction, withAction, withAction, withAction, withAction, withAction, withActions, withActions, withClientAttribute, withClientAttributes, withId, withMold, withVisible, withWidgetClass, withWidgetListener, withWidgetListeners, withWidgetOverride, withWidgetOverrides`

    - ### Methods inherited from interface org.zkoss.stateless.sul.IHtmlBasedComponent

      `getClientAction, getDraggable, getDroppable, getHeight, getHflex, getLeft, getRenderdefer, getSclass, getStyle, getTabindex, getTooltiptext, getTop, getVflex, getWidth, getZclass, getZIndex, isFocus, withClientAction, withDraggable, withDroppable, withFocus, withHeight, withHflex, withLeft, withRenderdefer, withSclass, withStyle, withTabindex, withTabindex, withTooltiptext, withTop, withVflex, withWidth, withZclass, withZIndex`

    - ### Methods inherited from interface org.zkoss.stateless.sul.IXulElement

      `getContext, getCtrlKeys, getPopup, getTooltip, withContext, withCtrlKeys, withPopup, withTooltip`

- - ### Method Detail

    - #### isVisible

          default boolean isVisible()

      Returns whether this component is visible at client.

      Default: `false`

      Specified by:
        `isVisible` in interface `IComponent<I extends IPopupBase>`

    - #### getOpen

          @Nullable
          IPopupBase.OpenOptionBuilder getOpen()

      Returns the open options that passed from `withOpen(OpenOptionBuilder)`

      Default: `null`

    - #### withOpen

          I withOpen​(@Nullable
                     IPopupBase.OpenOptionBuilder builder)

      Returns a copy of `this` immutable component with the specified `span`.

      Sets the given open options to this popup to open.

      Parameters:
        `builder` - The allowed values of `IPopupBase.OpenOptionBuilder`

        Default: `null`.

      Returns:
        A modified copy of the `this` object
      See Also:
        `IPopupBase.OpenOptionBuilder`