Package io.jmix.webdavflowui.component
Class WebdavDocumentUploadField
java.lang.Object
com.vaadin.flow.component.Component
com.vaadin.flow.component.AbstractField<C,V>
io.jmix.flowui.kit.component.upload.AbstractSingleUploadField<C,V>
io.jmix.flowui.kit.component.upload.JmixFileStorageUploadField<WebdavDocumentUploadField,WebdavDocument>
io.jmix.webdavflowui.component.WebdavDocumentUploadField
- All Implemented Interfaces:
com.vaadin.flow.component.AttachNotifier
,com.vaadin.flow.component.DetachNotifier
,com.vaadin.flow.component.HasElement
,com.vaadin.flow.component.HasEnabled
,com.vaadin.flow.component.HasHelper
,com.vaadin.flow.component.HasLabel
,com.vaadin.flow.component.HasSize
,com.vaadin.flow.component.HasStyle
,com.vaadin.flow.component.HasTheme
,com.vaadin.flow.component.HasValidation
,com.vaadin.flow.component.HasValue<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<WebdavDocumentUploadField,
,WebdavDocument>, WebdavDocument> com.vaadin.flow.component.HasValueAndElement<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<WebdavDocumentUploadField,
,WebdavDocument>, WebdavDocument> com.vaadin.flow.component.shared.HasTooltip
,com.vaadin.flow.component.shared.HasValidationProperties
,HasRequired
,SupportsStatusChangeHandler<WebdavDocumentUploadField>
,SupportsValidation<WebdavDocument>
,SupportsValueSource<WebdavDocument>
,Serializable
,org.springframework.beans.factory.Aware
,org.springframework.beans.factory.InitializingBean
,org.springframework.context.ApplicationContextAware
public class WebdavDocumentUploadField
extends JmixFileStorageUploadField<WebdavDocumentUploadField,WebdavDocument>
implements SupportsValueSource<WebdavDocument>, SupportsValidation<WebdavDocument>, HasRequired, SupportsStatusChangeHandler<WebdavDocumentUploadField>, org.springframework.beans.factory.InitializingBean, org.springframework.context.ApplicationContextAware
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class com.vaadin.flow.component.AbstractField
com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<C extends com.vaadin.flow.component.Component,
V extends Object> Nested classes/interfaces inherited from interface com.vaadin.flow.component.HasValue
com.vaadin.flow.component.HasValue.ValueChangeEvent<V extends Object>, com.vaadin.flow.component.HasValue.ValueChangeListener<E extends com.vaadin.flow.component.HasValue.ValueChangeEvent<?>>
Nested classes/interfaces inherited from interface io.jmix.flowui.component.SupportsStatusChangeHandler
SupportsStatusChangeHandler.StatusContext<C extends com.vaadin.flow.component.Component>
-
Field Summary
Modifier and TypeFieldDescriptionprotected org.springframework.context.ApplicationContext
protected com.vaadin.flow.component.button.Button
protected Dialogs
protected WebdavDocumentsManagementService
protected com.vaadin.flow.component.button.Button
protected Downloader
protected FileStorage
protected FileStorageLocator
protected Messages
protected org.springframework.beans.factory.ObjectProvider<org.springframework.boot.autoconfigure.web.servlet.MultipartProperties>
static final String
protected Notifications
protected com.vaadin.flow.component.html.Span
protected boolean
protected TemporaryStorage
protected UiComponents
protected WebdavDocumentLink
protected WebdavProperties
protected WebdavTools
Fields inherited from class io.jmix.flowui.kit.component.upload.JmixFileStorageUploadField
fileStorageName, fileStoragePutMode
Fields inherited from class io.jmix.flowui.kit.component.upload.AbstractSingleUploadField
CLEAR_COMPONENT_ARIA_LABEL, CLEAR_COMPONENT_CLASS_NAME, clearButtonVisible, clearComponent, content, FILE_NAME_COMPONENT_CLASS_NAME, FILE_NAME_COMPONENT_EMPTY_CLASS_NAME, FILE_NOT_SELECTED, fileNameComponent, fileNameVisible, fileNotSelectedText, FULL_WIDTH_THEME, INPUT_CONTAINER_CLASS_NAME, internalValue, NO_FILE_NAME_THEME, UPLOAD, uploadButton, uploadText
Fields inherited from interface io.jmix.flowui.component.HasRequired
PROPERTY_REQUIRED
Fields inherited from interface io.jmix.flowui.component.SupportsValidation
PROPERTY_ERROR_MESSAGE
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected Consumer<ActionPerformedEvent>
com.vaadin.flow.shared.Registration
addValidator
(Validator<? super WebdavDocument> validator) void
protected void
protected void
protected void
protected void
void
protected String
protected String
protected void
handleJmixUploadInternalError
(String fileName) protected void
boolean
boolean
protected boolean
protected void
onAttach
(com.vaadin.flow.component.AttachEvent attachEvent) protected void
onDownloadButtonClick
(com.vaadin.flow.component.ClickEvent<?> event) protected void
onFailedEvent
(com.vaadin.flow.component.upload.FailedEvent event) protected void
onFileRejectedEvent
(com.vaadin.flow.component.upload.FileRejectedEvent event) protected void
onSucceededEvent
(com.vaadin.flow.component.upload.SucceededEvent event) protected void
onValueChange
(com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<WebdavDocumentUploadField, WebdavDocument> event) protected void
saveFile
(com.vaadin.flow.component.upload.SucceededEvent event) void
setApplicationContext
(org.springframework.context.ApplicationContext applicationContext) void
setClearButtonIcon
(String icon) void
setDownloadButtonIcon
(String icon) void
setDownloadButtonText
(String text) void
setDownloadButtonVisible
(boolean downloadButtonVisible) void
setFileNameVisible
(boolean visible) Enables or disables displaying name of uploaded file.void
setFileNotSelectedText
(String fileNotSelectedText) Sets text that is shown when file is not uploaded.void
setInvalid
(boolean invalid) Sets invalid state to the field considering result of field validation.void
setMaxFileSize
(int maxFileSize) Specify the maximum file size in bytes allowed to upload.void
setReadOnly
(boolean readOnly) void
setRequired
(boolean required) void
setRequiredIndicatorVisible
(boolean requiredIndicatorVisible) void
setRequiredMessage
(String requiredMessage) void
setStatusChangeHandler
(Consumer<SupportsStatusChangeHandler.StatusContext<WebdavDocumentUploadField>> handler) Sets a callback to be used to handle component status changes, e.g.void
setValue
(WebdavDocument value) void
setValueSource
(ValueSource<WebdavDocument> valueSource) protected void
showUploadErrorNotification
(String fileName) protected WebdavDocument
updateLink
(WebdavDocument webdavDocument) protected void
validate()
Methods inherited from class io.jmix.flowui.kit.component.upload.JmixFileStorageUploadField
generateFileName, getFileStorageName, getFileStoragePutMode, setFileStorageName, setFileStoragePutMode
Methods inherited from class io.jmix.flowui.kit.component.upload.AbstractSingleUploadField
addClassNames, addFileUploadFailedListener, addFileUploadFileRejectedListener, addFileUploadFinishedListener, addFileUploadProgressListener, addFileUploadStartedListener, addFileUploadSucceededListener, addThemeNames, addValueChangeListener, attachContent, attachUploadEvents, createClearComponent, createContentComponent, createFileNameComponent, createUploadButtonComponent, createUploadComponent, createUploadReceiver, getAcceptedFileTypes, getClearButtonAriaLabel, getContent, getEmptyValue, getFileNotSelectedText, getI18n, getMaxFileSize, getUploadIcon, getUploadText, getValue, initClearComponent, initContentComponent, initFileNameComponent, initUploadButtonComponent, initUploadComponent, isClearButtonVisible, isDropAllowed, onClearButtonClick, onFinishedEvent, onJmixUploadInternalError, onProgressEvent, onStartedEvent, removeClassNames, removeThemeNames, setAcceptedFileTypes, setClearButtonAriaLabel, setClearButtonVisible, setComponentAriaLabel, setComponentClickListener, setComponentEnabled, setComponentText, setDropAllowed, setEnabled, setI18n, setInternalValue, setInternalValue, setPresentationValue, setUploadIcon, setUploadText, updateComponentsVisibility
Methods inherited from class com.vaadin.flow.component.AbstractField
isEmpty, setModelValue, valueEquals
Methods inherited from class com.vaadin.flow.component.Component
addListener, findAncestor, fireEvent, from, get, getChildren, getElement, getEventBus, getId, getListeners, getLocale, getParent, getTranslation, getTranslation, getTranslation, getTranslation, getTranslation, getTranslation, getUI, hasListener, isAttached, isTemplateMapped, isVisible, onDetach, onEnabledStateChanged, removeFromParent, scrollIntoView, scrollIntoView, set, setElement, setId, setVisible
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.vaadin.flow.component.AttachNotifier
addAttachListener
Methods inherited from interface com.vaadin.flow.component.DetachNotifier
addDetachListener
Methods inherited from interface com.vaadin.flow.component.HasElement
getElement
Methods inherited from interface com.vaadin.flow.component.HasEnabled
isEnabled
Methods inherited from interface com.vaadin.flow.component.HasHelper
getHelperComponent, getHelperText, setHelperComponent, setHelperText
Methods inherited from interface com.vaadin.flow.component.HasLabel
getLabel, setLabel
Methods inherited from interface io.jmix.flowui.component.HasRequired
isRequired
Methods inherited from interface com.vaadin.flow.component.HasSize
getHeight, getHeightUnit, getMaxHeight, getMaxWidth, getMinHeight, getMinWidth, getWidth, getWidthUnit, setHeight, setHeight, setHeightFull, setMaxHeight, setMaxHeight, setMaxWidth, setMaxWidth, setMinHeight, setMinHeight, setMinWidth, setMinWidth, setSizeFull, setSizeUndefined, setWidth, setWidth, setWidthFull
Methods inherited from interface com.vaadin.flow.component.HasStyle
addClassName, addClassNames, getClassName, getClassNames, getStyle, hasClassName, removeClassName, removeClassNames, setClassName, setClassName
Methods inherited from interface com.vaadin.flow.component.HasTheme
addThemeName, addThemeNames, getThemeName, getThemeNames, hasThemeName, removeThemeName, removeThemeNames, setThemeName, setThemeName
Methods inherited from interface com.vaadin.flow.component.shared.HasTooltip
getTooltip, setTooltipText
Methods inherited from interface com.vaadin.flow.component.HasValidation
setManualValidation
Methods inherited from interface com.vaadin.flow.component.HasValue
clear, getOptionalValue
Methods inherited from interface com.vaadin.flow.component.HasValueAndElement
isReadOnly, isRequiredIndicatorVisible
Methods inherited from interface io.jmix.flowui.component.SupportsValidation
getErrorMessage, setErrorMessage
-
Field Details
-
NAME
- See Also:
-
applicationContext
protected org.springframework.context.ApplicationContext applicationContext -
temporaryStorage
-
fileStorageLocator
-
downloader
-
notifications
-
messages
-
multipartPropertiesProvider
protected org.springframework.beans.factory.ObjectProvider<org.springframework.boot.autoconfigure.web.servlet.MultipartProperties> multipartPropertiesProvider -
fileStorage
-
documentsManagementService
-
webdavProperties
-
uiComponents
-
dialogs
-
webdavTools
-
fieldDelegate
-
webdavDocumentLink
-
placeHolder
protected com.vaadin.flow.component.html.Span placeHolder -
downloadButton
protected com.vaadin.flow.component.button.Button downloadButton -
clearButton
protected com.vaadin.flow.component.button.Button clearButton -
showFileName
protected boolean showFileName
-
-
Constructor Details
-
WebdavDocumentUploadField
public WebdavDocumentUploadField()
-
-
Method Details
-
setApplicationContext
public void setApplicationContext(org.springframework.context.ApplicationContext applicationContext) throws org.springframework.beans.BeansException - Specified by:
setApplicationContext
in interfaceorg.springframework.context.ApplicationContextAware
- Throws:
org.springframework.beans.BeansException
-
afterPropertiesSet
public void afterPropertiesSet()- Specified by:
afterPropertiesSet
in interfaceorg.springframework.beans.factory.InitializingBean
-
autowireDependencies
protected void autowireDependencies() -
createFieldDelegate
protected FieldDelegate<WebdavDocumentUploadField,WebdavDocument, createFieldDelegate()WebdavDocument> -
isInvalid
public boolean isInvalid()- Specified by:
isInvalid
in interfacecom.vaadin.flow.component.HasValidation
- Specified by:
isInvalid
in interfacecom.vaadin.flow.component.shared.HasValidationProperties
-
setRequired
public void setRequired(boolean required) - Specified by:
setRequired
in interfaceHasRequired
-
setRequiredIndicatorVisible
public void setRequiredIndicatorVisible(boolean requiredIndicatorVisible) - Specified by:
setRequiredIndicatorVisible
in interfacecom.vaadin.flow.component.HasValue<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<WebdavDocumentUploadField,
WebdavDocument>, WebdavDocument> - Specified by:
setRequiredIndicatorVisible
in interfacecom.vaadin.flow.component.HasValueAndElement<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<WebdavDocumentUploadField,
WebdavDocument>, WebdavDocument>
-
getRequiredMessage
- Specified by:
getRequiredMessage
in interfaceHasRequired
-
setRequiredMessage
- Specified by:
setRequiredMessage
in interfaceHasRequired
-
addValidator
public com.vaadin.flow.shared.Registration addValidator(Validator<? super WebdavDocument> validator) - Specified by:
addValidator
in interfaceSupportsValidation<WebdavDocument>
-
executeValidators
- Specified by:
executeValidators
in interfaceSupportsValidation<WebdavDocument>
- Throws:
ValidationException
-
setInvalid
public void setInvalid(boolean invalid) Description copied from interface:SupportsValidation
Sets invalid state to the field considering result of field validation.- Invalid - false and validation passed - false = field is invalid
- Invalid - false and validation passed - true = field is valid
- Invalid - true and validation passed - false = field is invalid
- Invalid - true and validation passed - true = field is invalid
- Specified by:
setInvalid
in interfacecom.vaadin.flow.component.HasValidation
- Specified by:
setInvalid
in interfacecom.vaadin.flow.component.shared.HasValidationProperties
- Specified by:
setInvalid
in interfaceSupportsValidation<WebdavDocument>
- Parameters:
invalid
- whether field should be invalid
-
validate
protected void validate() -
getValueSource
- Specified by:
getValueSource
in interfaceSupportsValueSource<WebdavDocument>
-
setValueSource
- Specified by:
setValueSource
in interfaceSupportsValueSource<WebdavDocument>
-
setStatusChangeHandler
public void setStatusChangeHandler(@Nullable Consumer<SupportsStatusChangeHandler.StatusContext<WebdavDocumentUploadField>> handler) Description copied from interface:SupportsStatusChangeHandler
Sets a callback to be used to handle component status changes, e.g. validation messages set byHasValidation.setErrorMessage(String)
.- Specified by:
setStatusChangeHandler
in interfaceSupportsStatusChangeHandler<WebdavDocumentUploadField>
- Parameters:
handler
- a handler to set
-
setMaxFileSize
public void setMaxFileSize(int maxFileSize) Specify the maximum file size in bytes allowed to upload. Notice that it is a client-side constraint, which will be checked before sending the request.Note if
MultipartProperties
is available, the default value will be set fromMultipartProperties.getMaxFileSize()
that is equal to 1Mb. To increase maximum file size for all fields in the application useMultipartProperties.getMaxFileSize()
property.- Overrides:
setMaxFileSize
in classAbstractSingleUploadField<WebdavDocumentUploadField,
WebdavDocument> - Parameters:
maxFileSize
- the maximum file size in bytes- See Also:
-
Upload.setMaxFileSize(int)
MultipartProperties.getMaxFileSize()
MultipartProperties.getMaxRequestSize()
-
getDefaultUploadText
- Overrides:
getDefaultUploadText
in classJmixFileStorageUploadField<WebdavDocumentUploadField,
WebdavDocument>
-
checkFileStorageInitialized
protected void checkFileStorageInitialized() -
handleJmixUploadInternalError
- Overrides:
handleJmixUploadInternalError
in classAbstractSingleUploadField<WebdavDocumentUploadField,
WebdavDocument>
-
showUploadErrorNotification
-
onValueChange
protected void onValueChange(com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<WebdavDocumentUploadField, WebdavDocument> event) -
onFileRejectedEvent
protected void onFileRejectedEvent(com.vaadin.flow.component.upload.FileRejectedEvent event) - Overrides:
onFileRejectedEvent
in classAbstractSingleUploadField<WebdavDocumentUploadField,
WebdavDocument>
-
onFailedEvent
protected void onFailedEvent(com.vaadin.flow.component.upload.FailedEvent event) - Overrides:
onFailedEvent
in classAbstractSingleUploadField<WebdavDocumentUploadField,
WebdavDocument>
-
deleteTempFile
protected void deleteTempFile() -
applyI18nDefaults
protected void applyI18nDefaults() -
onAttach
protected void onAttach(com.vaadin.flow.component.AttachEvent attachEvent) - Overrides:
onAttach
in classcom.vaadin.flow.component.Component
-
initComponent
protected void initComponent() -
onDownloadButtonClick
protected void onDownloadButtonClick(com.vaadin.flow.component.ClickEvent<?> event) -
updateLink
-
onSucceededEvent
protected void onSucceededEvent(com.vaadin.flow.component.upload.SucceededEvent event) - Overrides:
onSucceededEvent
in classAbstractSingleUploadField<WebdavDocumentUploadField,
WebdavDocument>
-
saveFile
protected void saveFile(com.vaadin.flow.component.upload.SucceededEvent event) -
isVersioningEnabled
protected boolean isVersioningEnabled() -
actionUnderDocumentLock
protected Consumer<ActionPerformedEvent> actionUnderDocumentLock(Consumer<ActionPerformedEvent> handler) -
setReadOnly
public void setReadOnly(boolean readOnly) - Specified by:
setReadOnly
in interfacecom.vaadin.flow.component.HasValue<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<WebdavDocumentUploadField,
WebdavDocument>, WebdavDocument> - Specified by:
setReadOnly
in interfacecom.vaadin.flow.component.HasValueAndElement<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<WebdavDocumentUploadField,
WebdavDocument>, WebdavDocument> - Overrides:
setReadOnly
in classAbstractSingleUploadField<WebdavDocumentUploadField,
WebdavDocument>
-
setDownloadButtonIcon
-
setClearButtonIcon
-
setDownloadButtonText
-
getDownloadButtonText
-
setDownloadButtonVisible
public void setDownloadButtonVisible(boolean downloadButtonVisible) -
setValue
- Specified by:
setValue
in interfacecom.vaadin.flow.component.HasValue<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<WebdavDocumentUploadField,
WebdavDocument>, WebdavDocument> - Overrides:
setValue
in classAbstractSingleUploadField<WebdavDocumentUploadField,
WebdavDocument>
-
isFileNameVisible
public boolean isFileNameVisible()- Overrides:
isFileNameVisible
in classAbstractSingleUploadField<WebdavDocumentUploadField,
WebdavDocument> - Returns:
true
if name of uploaded file is shown
-
setFileNameVisible
public void setFileNameVisible(boolean visible) Description copied from class:AbstractSingleUploadField
Enables or disables displaying name of uploaded file.The default value is
false
.- Overrides:
setFileNameVisible
in classAbstractSingleUploadField<WebdavDocumentUploadField,
WebdavDocument> - Parameters:
visible
- whether file name should be shown
-
setFileNotSelectedText
Description copied from class:AbstractSingleUploadField
Sets text that is shown when file is not uploaded.- Overrides:
setFileNotSelectedText
in classAbstractSingleUploadField<WebdavDocumentUploadField,
WebdavDocument> - Parameters:
fileNotSelectedText
- text to set
-