Module org.apache.wicket.extensions
Class UploadProgressBar
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<Component>
,IEventSink
,IEventSource
,IFeedbackContributor
,IConverterLocator
,IMetadataContext<Serializable,
,Component> IQueueRegion
,IHeaderContributor
,IRequestableComponent
,IHierarchical<Component>
,IClusterable
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
Modifier and TypeClassDescriptionstatic final class
Initializer for this component; binds static resources. -
Field Summary
Modifier and TypeFieldDescriptionstatic final String
Resource key used to retrieve starting message for.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
ConstructorDescriptionUploadProgressBar
(String id, Form<?> form) Constructor that will display the upload progress bar for every submit of the given form.UploadProgressBar
(String id, Form<?> form, 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, FileUploadField uploadField) Constructor that will display the upload progress bar for every submit of the given form. -
Method Summary
Modifier and TypeMethodDescriptionprotected ResourceReference
getCss()
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 MarkupContainer
Creates a component for the barprotected MarkupContainer
Creates a component for the status textprotected void
This method is meant to be used as an alternative to initialize components.void
renderHead
(IHeaderResponse response) Render to the web response whatever the component wants to contribute to the head section.void
start
(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
-
RESOURCE_STARTING
Resource key used to retrieve starting message for. Example: UploadProgressBar.starting=Upload starting...- See Also:
-
-
Constructor Details
-
UploadProgressBar
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
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
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
Description copied from class:Component
This method is meant to be used as an alternative to initialize components. Usually the component's constructor is used for this task, but sometimes a component cannot be initialized in isolation, it may need to access its parent component or its markup in order to fully initialize. This method is invoked once per component's lifecycle when a path exists from this component to thePage
thus providing the component with an atomic callback when the component's environment is built out.Overrides must call super#
Component.onInitialize()
. Usually this should be the first thing an override does, much like a constructor.Parent containers are guaranteed to be initialized before their children
It is safe to use
Component.getPage()
in this methodNOTE:The timing of this call is not precise, the contract is that it is called sometime before
Component.onBeforeRender()
.- Overrides:
onInitialize
in classMarkupContainer
-
newStatusComponent
Creates a component for the status text- Parameters:
id
- The component id- Returns:
- the status component
-
newBarComponent
Creates a component for the bar- Parameters:
id
- The component id- Returns:
- the bar component
-
getCss
Override this to provide your own CSS, or return null to avoid including the default.- Returns:
- ResourceReference for your CSS.
-
renderHead
Render to the web response whatever the component wants to contribute to the head section.- Specified by:
renderHead
in interfaceIHeaderContributor
- Overrides:
renderHead
in classComponent
- Parameters:
response
- Response object
-
getOnProgressUpdatedCallBack
Allows to pass a JavaScript function that is called when progress in updated.- Returns:
- A JavaScript function.
-
start
-