java.lang.Object
org.apache.wicket.Component
org.apache.wicket.MarkupContainer
org.apache.wicket.markup.html.WebMarkupContainer
org.apache.wicket.markup.html.panel.Panel
org.apache.wicket.extensions.ajax.markup.html.form.upload.UploadProgressBar
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 class UploadProgressBar extends org.apache.wicket.markup.html.panel.Panel
A panel to show the progress of an HTTP upload.

Note: For this to work upload progress monitoring must be enabled in the wicket application. Example:

 
  public class App extends WebApplication {
 
        @Override
        protected void init() {
                super.init();
 
                <b>getApplicationSettings().setUploadProgressUpdatesEnabled(true);</b> // <--
        }
 }
 
 
For customizing starting text see RESOURCE_STARTING. Implementation detail: Despite being located in an Ajax package, the progress communication is not done via Ajax but with an IFrame instead due to a bug in Webkit based browsers, see WICKET-3202.
Author:
Andrew Lombardi
See Also:
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static final class 
    Initializer for this component; binds static resources.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
    Resource key used to retrieve starting message for.

    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
    UploadProgressBar(String id, org.apache.wicket.markup.html.form.Form<?> form)
    Constructor that will display the upload progress bar for every submit of the given form.
    UploadProgressBar(String id, org.apache.wicket.markup.html.form.Form<?> form, org.apache.wicket.markup.html.form.upload.FileUploadField uploadField)
    Constructor that will display the upload progress bar for submissions of the given form, that include a file upload in the given file upload field; i.e. if the user did not select a file in the given file upload field, the progess bar is not displayed.
    UploadProgressBar(String id, org.apache.wicket.markup.html.form.upload.FileUploadField uploadField)
    Constructor that will display the upload progress bar for every submit of the given form.
  • Method Summary

    Modifier and Type
    Method
    Description
    protected org.apache.wicket.request.resource.ResourceReference
    Override this to provide your own CSS, or return null to avoid including the default.
    protected String
    Allows to pass a JavaScript function that is called when progress in updated.
    protected org.apache.wicket.MarkupContainer
    Creates a component for the bar
    protected org.apache.wicket.MarkupContainer
    Creates a component for the status text
    protected void
     
    void
    renderHead(org.apache.wicket.markup.head.IHeaderResponse response)
    void
    start(org.apache.wicket.core.request.handler.IPartialPageRequestHandler handler)
     

    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, 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, 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

    • UploadProgressBar

      public UploadProgressBar(String id, org.apache.wicket.markup.html.form.upload.FileUploadField uploadField)
      Constructor that will display the upload progress bar for every submit of the given form.
      Parameters:
      id - component id (not null)
      uploadField - the file upload field to check for a file upload, or null to display the upload field for every submit of the given form
    • UploadProgressBar

      public UploadProgressBar(String id, org.apache.wicket.markup.html.form.Form<?> form)
      Constructor that will display the upload progress bar for every submit of the given form.
      Parameters:
      id - component id (not null)
      form - form that will be submitted (not null)
    • UploadProgressBar

      public UploadProgressBar(String id, org.apache.wicket.markup.html.form.Form<?> form, org.apache.wicket.markup.html.form.upload.FileUploadField uploadField)
      Constructor that will display the upload progress bar for submissions of the given form, that include a file upload in the given file upload field; i.e. if the user did not select a file in the given file upload field, the progess bar is not displayed.
      Parameters:
      id - component id (not null)
      form - form that is submitted (not null)
      uploadField - the file upload field to check for a file upload, or null to display the upload field for every submit of the given form
  • Method Details

    • onInitialize

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

      protected org.apache.wicket.MarkupContainer newStatusComponent(String id)
      Creates a component for the status text
      Parameters:
      id - The component id
      Returns:
      the status component
    • newBarComponent

      protected org.apache.wicket.MarkupContainer newBarComponent(String id)
      Creates a component for the bar
      Parameters:
      id - The component id
      Returns:
      the bar component
    • getCss

      protected org.apache.wicket.request.resource.ResourceReference getCss()
      Override this to provide your own CSS, or return null to avoid including the default.
      Returns:
      ResourceReference for your CSS.
    • renderHead

      public void renderHead(org.apache.wicket.markup.head.IHeaderResponse response)
      Specified by:
      renderHead in interface org.apache.wicket.markup.html.IHeaderContributor
      Overrides:
      renderHead in class org.apache.wicket.Component
    • getOnProgressUpdatedCallBack

      Allows to pass a JavaScript function that is called when progress in updated.
      Returns:
      A JavaScript function.
    • start

      public void start(org.apache.wicket.core.request.handler.IPartialPageRequestHandler handler)