Class SplitButtonWithDropdownMenu

java.lang.Object
org.apache.wicket.Component
org.apache.wicket.MarkupContainer
org.apache.wicket.markup.html.WebMarkupContainer
org.apache.wicket.markup.html.panel.Panel
com.evolveum.midpoint.gui.api.component.BasePanel<DropdownButtonDto>
com.evolveum.midpoint.web.component.input.SplitButtonWithDropdownMenu
All Implemented Interfaces:
Serializable, Iterable<org.apache.wicket.Component>, org.apache.wicket.event.IEventSink, org.apache.wicket.event.IEventSource, org.apache.wicket.feedback.IFeedbackContributor, org.apache.wicket.IConverterLocator, org.apache.wicket.IMetadataContext<Serializable,org.apache.wicket.Component>, org.apache.wicket.IQueueRegion, org.apache.wicket.markup.html.IHeaderContributor, org.apache.wicket.request.component.IRequestableComponent, org.apache.wicket.util.IHierarchical<org.apache.wicket.Component>, org.apache.wicket.util.io.IClusterable

public abstract class SplitButtonWithDropdownMenu extends BasePanel<DropdownButtonDto>
Split button with a primary action (left) and a dropdown (right). Uses DropdownButtonDto for items, reusing MidPoint's MenuLinkPanel rendering.

Markup contract (ids must match): - primaryButton : where the left button is rendered (container) - dropdownButton : the caret/toggle button (exists only in markup) - menuItems : ListView container - menuItem : each menu entry rendered by MenuLinkPanel

See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected static final String
     

    Fields inherited from class org.apache.wicket.markup.html.panel.Panel

    PANEL

    Fields inherited from class org.apache.wicket.Component

    ENABLE, FLAG_INITIALIZED, FLAG_RESERVED1, FLAG_RESERVED2, FLAG_RESERVED3, FLAG_RESERVED4, FLAG_RESERVED5, FLAG_RESERVED8, PARENT_PATH, PATH_SEPARATOR, RENDER, RFLAG_CONTAINER_DEQUEING, RFLAG_CONTAINER_HAS_REMOVALS
  • Constructor Summary

    Constructors
    Constructor
    Description
    SplitButtonWithDropdownMenu(String id, org.apache.wicket.model.IModel<DropdownButtonDto> model)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected org.apache.wicket.markup.html.panel.Fragment
     
    protected String
    Additional CSS class for the main container (override if needed).
    protected void
     
    protected boolean
     
    protected boolean
    Visibility/enable rules for the caret toggle.
    protected boolean
    Visibility/enable rules for the primary button (override if needed).
    protected void
    onBeforeClickMenuItem(org.apache.wicket.ajax.AjaxRequestTarget target, InlineMenuItemAction action, org.apache.wicket.model.IModel<? extends InlineMenuItem> item)
    Called before any menu item action is invoked.
    protected void
     
    protected void
    performPrimaryButtonAction(org.apache.wicket.ajax.AjaxRequestTarget target)
     
    protected boolean
    Show icons for ButtonInlineMenuItem entries?

    Methods inherited from class org.apache.wicket.markup.html.panel.Panel

    getRegionMarkup, newMarkupSourcingStrategy

    Methods inherited from class org.apache.wicket.markup.html.WebMarkupContainer

    getWebApplication, getWebPage, getWebRequest, getWebResponse, getWebSession

    Methods inherited from class org.apache.wicket.MarkupContainer

    add, addDequeuedComponent, addOrReplace, autoAdd, canDequeueTag, contains, dequeue, dequeue, dequeuePreamble, findChildComponent, findComponentToDequeue, get, getAssociatedMarkup, getAssociatedMarkupStream, getMarkup, getMarkupType, internalAdd, internalInitialize, iterator, iterator, newDequeueContext, onComponentTagBody, onDetach, onRender, queue, remove, remove, removeAll, renderAll, renderAssociatedMarkup, renderNext, replace, setDefaultModel, size, stream, streamChildren, toString, toString, visitChildren, visitChildren

    Methods inherited from class org.apache.wicket.Component

    add, addStateChange, beforeRender, canCallListener, canCallListenerAfterExpiry, checkComponentTag, checkComponentTagAttribute, checkHierarchyChange, clearOriginalDestination, configure, continueToOriginalDestination, createConverter, debug, detach, detachModel, detachModels, determineVisibility, error, exceptionMessage, fatal, findMarkupStream, findPage, findParent, findParentWithAssociatedMarkup, getAjaxRegionMarkupId, getApplication, getBehaviorById, getBehaviorId, getBehaviors, getBehaviors, getClassRelativePath, getConverter, getDefaultModel, getDefaultModelObject, getDefaultModelObjectAsString, getDefaultModelObjectAsString, getEscapeModelStrings, getFeedbackMessages, getFlag, getId, getInnermostModel, getInnermostModel, getLocale, getLocalizer, getMarkup, getMarkupAttributes, getMarkupId, getMarkupId, getMarkupIdFromMarkup, getMarkupIdImpl, getMarkupSourcingStrategy, getMarkupTag, getMetaData, getModelComparator, getOutputMarkupId, getOutputMarkupPlaceholderTag, getPage, getPageRelativePath, getParent, getPath, getRenderBodyOnly, getRequest, getRequestCycle, getRequestFlag, getResponse, getSizeInBytes, getStatelessHint, getString, getString, getString, getStyle, getVariation, hasBeenRendered, hasErrorMessage, hasFeedbackMessage, info, initModel, internalOnModelChanged, internalRenderComponent, internalRenderHead, isActionAuthorized, isAuto, isBehaviorAccepted, isEnableAllowed, isEnabled, isEnabledInHierarchy, isIgnoreAttributeModifier, isInitialized, isRenderAllowed, isRendering, isStateless, isVersioned, isVisibilityAllowed, isVisible, isVisibleInHierarchy, markRendering, modelChanged, modelChanging, onAfterRender, onBeforeRender, onComponentTag, onConfigure, onEvent, onModelChanged, onModelChanging, onReAdd, onRemove, redirectToInterceptPage, remove, remove, render, renderComponentTag, rendered, renderHead, renderPart, renderPlaceholderTag, replaceComponentTagBody, replaceWith, sameInnermostModel, sameInnermostModel, send, setAuto, setDefaultModelObject, setEnabled, setEscapeModelStrings, setFlag, setIgnoreAttributeModifier, setMarkup, setMarkupId, setMarkupIdImpl, setMetaData, setOutputMarkupId, setOutputMarkupPlaceholderTag, setParent, setRenderBodyOnly, setResponsePage, setResponsePage, setResponsePage, setVersioned, setVisibilityAllowed, setVisible, success, urlFor, urlFor, urlFor, urlForListener, urlForListener, visitParents, visitParents, warn, wrap

    Methods inherited from class java.lang.Object

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

    Methods inherited from interface org.apache.wicket.IQueueRegion

    dequeue, newDequeueContext

    Methods inherited from interface java.lang.Iterable

    forEach, spliterator
  • Field Details

  • Constructor Details

    • SplitButtonWithDropdownMenu

      public SplitButtonWithDropdownMenu(String id, org.apache.wicket.model.IModel<DropdownButtonDto> model)
  • Method Details

    • onInitialize

      protected void onInitialize()
      Overrides:
      onInitialize in class org.apache.wicket.MarkupContainer
    • initLayout

      protected void initLayout()
    • createPrimaryFragmentButton

      protected org.apache.wicket.markup.html.panel.Fragment createPrimaryFragmentButton()
    • performPrimaryButtonAction

      protected void performPrimaryButtonAction(org.apache.wicket.ajax.AjaxRequestTarget target)
    • onBeforeClickMenuItem

      protected void onBeforeClickMenuItem(org.apache.wicket.ajax.AjaxRequestTarget target, InlineMenuItemAction action, org.apache.wicket.model.IModel<? extends InlineMenuItem> item)
      Called before any menu item action is invoked.
    • showIcon

      protected boolean showIcon()
      Show icons for ButtonInlineMenuItem entries?
    • isDropdownVisible

      protected boolean isDropdownVisible()
      Visibility/enable rules for the caret toggle.
    • isDropdownEnabled

      protected boolean isDropdownEnabled()
    • isPrimaryButtonVisible

      protected boolean isPrimaryButtonVisible()
      Visibility/enable rules for the primary button (override if needed).
    • getAdditionalComponentCssClass

      protected String getAdditionalComponentCssClass()
      Additional CSS class for the main container (override if needed).