Package org.zkoss.stateless.sul

## Interface IIframe

- All Superinterfaces:
    `IAnyGroup<IIframe>`, `IComponent<IIframe>`, `IHtmlBasedComponent<IIframe>`

      public interface IIframe
      extends IHtmlBasedComponent<IIframe>, IAnyGroup<IIframe>

  Immutable `Iframe` component

  Unlike HTML iframe, this component doesn't have the frameborder property. Rather, use the CSS style to customize the border (like any other components).

  ### Support @Action

  Name | Action Type
  --- | ---
  onURIChange | ActionData: `URIData` Denotes the associated URI (src) has been changed by user. Use getURI() to retrieve the URI being changed to.

  Author:
    katherine
  See Also:
    `Iframe`

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Interface | Description
    --- | --- | ---
    `static class` | `IIframe.Builder` | Builds instances of type `IIframe`.
    `static class` | `IIframe.Updater` | Builds an updater of type `IIframe` for `UiAgent.smartUpdate(Locator, SmartUpdater)`.

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static IIframe` | `DEFAULT` | Constant for default attributes of this immutable component.

  - ### Method Summary

    All Methods Static Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `java.lang.String` | `getName()` | Returns the frame name.
    `default java.lang.String` | `getScrolling()` | Return the scroll bars.
    `java.lang.String` | `getSrc()` | Returns the source URI.
    `default java.lang.String` | `getWidgetClass()` | Returns the client widget class.
    `default boolean` | `isAutohide()` | Returns whether to automatically hide this component if a popup or dropdown is overlapped with it.
    `static <I extends IAnyGroup> IIframe` | `of​(java.lang.String src)` | Returns the instance with the given src.
    `static <I extends IAnyGroup> IIframe` | `ofId​(java.lang.String id)` | Returns the instance with the given id.
    `static <I extends IAnyGroup> IIframe` | `ofSize​(java.lang.String width, java.lang.String height)` | Returns the instance with the given width and height.
    `IIframe` | `withAutohide​(boolean autohide)` | Returns a copy of `this` immutable component with the specified `autohide`.
    `IIframe` | `withName​(java.lang.String name)` | Returns a copy of `this` immutable component with the specified `name`.
    `IIframe` | `withScrolling​(java.lang.String scrolling)` | Returns a copy of `this` immutable component with the specified `scrolling`.
    `IIframe` | `withSrc​(java.lang.String src)` | Returns a copy of `this` immutable component with the specified `src`.

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

      `getAction, getActions, getClientAttributes, getId, getMold, getWidgetListeners, getWidgetOverrides, isVisible, 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`

- - ### Field Detail

    - #### DEFAULT

          static final IIframe DEFAULT

      Constant for default attributes of this immutable component.

  - ### Method Detail

    - #### getWidgetClass

          default java.lang.String getWidgetClass()

      Returns the client widget class.

      Default: `"zul.utl.Iframe"`

      Specified by:
        `getWidgetClass` in interface `IComponent<IIframe>`

    - #### getSrc

          @Nullable
          java.lang.String getSrc()

      Returns the source URI.

      Default: null.

    - #### withSrc

          IIframe withSrc​(@Nullable
                          java.lang.String src)

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

      Sets the source URI of the component.

      Parameters:
        `src` - The source URI of the component.

        Default: `null`.

      Returns:
        A modified copy of the `this` object

    - #### getName

          @Nullable
          java.lang.String getName()

      Returns the frame name.

      Default: `null` (use browser default).

    - #### withName

          IIframe withName​(@Nullable
                           java.lang.String name)

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

      Sets the frame name.

      Parameters:
        `name` - The frame name

        Default: `null`.

      Returns:
        A modified copy of the `this` object

    - #### getScrolling

          default java.lang.String getScrolling()

      Return the scroll bars.

      Default: `"auto"`

    - #### withScrolling

          IIframe withScrolling​(java.lang.String scrolling)

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

      Sets the scroll bars.

      Parameters:
        `scrolling` - The scroll bars. `"true"`, `"false"`, `"yes"`, `"no"` or `"auto"`

        Default: `"auto"`.

      Returns:
        A modified copy of the `this` object

    - #### isAutohide

          default boolean isAutohide()

      Returns whether to automatically hide this component if a popup or dropdown is overlapped with it.

      Default: `false`.

      If an iframe contains PDF or other non-HTML resource, it is possible that it obscures the popup that shall be shown above it. To resolve this, you have to specify `withAutohide(true)` to this component, and specify the following in the page:

      Please refer to Stackup and Shadow for more information.

    - #### withAutohide

          IIframe withAutohide​(boolean autohide)

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

      Sets whether to automatically hide this component if a popup or dropdown is overlapped with it.

      If an iframe contains PDF or other non-HTML resource, it is possible that it obscures the popup that shall be shown above it. To resolve this, you have to specify `withAutohide(true)` to this component, and specify the following in the page:

      Please refer to Stackup and Shadow for more information.

      Parameters:
        `autohide` - Whether to automatically hide this component.

        Default: `false`.

      Returns:
        A modified copy of the `this` object

    - #### of

          static <I extends IAnyGroup> IIframe of​(java.lang.String src)

      Returns the instance with the given src.
      Parameters:
        `src` - The source URI of the component

    - #### ofSize

          static <I extends IAnyGroup> IIframe ofSize​(java.lang.String width,
                                                      java.lang.String height)

      Returns the instance with the given width and height.
      Parameters:
        `width` - The width of the component
        `height` - The height of the component

    - #### ofId

          static <I extends IAnyGroup> IIframe ofId​(java.lang.String id)

      Returns the instance with the given id.
      Parameters:
        `id` - The id to identify this component