Class ConfirmAjaxButton

  • 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.IGenericComponent<String,​org.apache.wicket.markup.html.panel.GenericPanel<String>>, 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 ConfirmAjaxButton
    extends org.apache.wicket.markup.html.panel.GenericPanel<String>
    Provides a AjaxButton which pop-ups an OK-Cancel confirmation dialog when clicked. In case of confirmation, the form is sent via an ajax post.

    Note: this component is not an AjaxButton itself but a Panel, it should not be attached to a <button />; it can be attached on a <div /> or a <span /> for instance.

    Warning: it is not possible to get a form component value - that is going to be changed - to be displayed in the dialog box message. The reason is that in order to get a form component (updated) model object, the form component should be validated. The dialog does not proceed to a (whole) form validation while being opened, because the form validation will occur when the user will confirm (by clicking on OK button). This the intended behavior.
    Author:
    Sebastien Briquet - sebfz1
    See Also:
    Serialized Form
    • Field Summary

      • 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
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      protected String getIcon()
      Gets the icon being displayed in the button
      protected AjaxButton newAjaxButton​(String id, AbstractDialog<?> dialog)
      Gets the new AjaxButton that will open the supplied dialog
      protected AbstractFormDialog<?> newDialog​(String id, org.apache.wicket.model.IModel<String> title, org.apache.wicket.model.IModel<String> message)
      Creates the dialog instance
      Warning: to be overridden with care!
      protected void onDetach()  
      protected abstract void onError​(org.apache.wicket.ajax.AjaxRequestTarget target)
      Triggered when the form is submitted, but the validation failed
      protected void onInitialize()  
      protected abstract void onSubmit​(org.apache.wicket.ajax.AjaxRequestTarget target)
      Triggered when the form is submitted, and the validation succeed
      • 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, 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, getMetaData, getModelComparator, getOutputMarkupId, getOutputMarkupPlaceholderTag, getPage, getPageRelativePath, getParent, getPath, getRenderBodyOnly, getRequest, getRequestCycle, getRequestFlag, getResponse, getSession, 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 interface org.apache.wicket.IGenericComponent

        getDefaultModel, getDefaultModelObject, getModel, getModelObject, setDefaultModel, setDefaultModelObject, setModel, setModelObject
      • Methods inherited from interface org.apache.wicket.IQueueRegion

        dequeue, newDequeueContext
    • Constructor Detail

      • ConfirmAjaxButton

        public ConfirmAjaxButton​(String id,
                                 String label,
                                 String title,
                                 String message)
        Constructor
        Parameters:
        id - markup id
        label - the button text
        title - the dialog title
        message - the dialog message
      • ConfirmAjaxButton

        public ConfirmAjaxButton​(String id,
                                 org.apache.wicket.model.IModel<String> label,
                                 org.apache.wicket.model.IModel<String> title,
                                 org.apache.wicket.model.IModel<String> message)
        Constructor
        Parameters:
        id - markup id
        label - the button text
        title - the dialog title
        message - the dialog message
    • Method Detail

      • onInitialize

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

        protected abstract void onError​(org.apache.wicket.ajax.AjaxRequestTarget target)
        Triggered when the form is submitted, but the validation failed
        Parameters:
        target - the AjaxRequestTarget
      • onSubmit

        protected abstract void onSubmit​(org.apache.wicket.ajax.AjaxRequestTarget target)
        Triggered when the form is submitted, and the validation succeed
        Parameters:
        target - the AjaxRequestTarget
      • onDetach

        protected void onDetach()
        Overrides:
        onDetach in class org.apache.wicket.MarkupContainer
      • getIcon

        protected String getIcon()
        Gets the icon being displayed in the button
        Returns:
        the JQueryIcon
      • newDialog

        protected AbstractFormDialog<?> newDialog​(String id,
                                                  org.apache.wicket.model.IModel<String> title,
                                                  org.apache.wicket.model.IModel<String> message)
        Creates the dialog instance
        Warning: to be overridden with care!
        Parameters:
        id - the markupId
        title - the title of the dialog
        message - the message to be displayed
        Returns:
        the dialog instance