Class AbstractDragAndDropFileUploadEditor<T>

  • Type Parameters:
    T - type of uploaded reference
    All Implemented Interfaces:
    CockpitEditorRenderer<T>
    Direct Known Subclasses:
    DragAndDropFileUploadEditor, MultiDragAndDropFileUploadEditor

    public abstract class AbstractDragAndDropFileUploadEditor<T>
    extends AbstractCockpitEditorRenderer<T>
    Abstract file upload editor which allows to drag and drop content. Accepted params:
    • accept - specifies the MIME types of files that the server accepts e.g "audio/|video/|image/*"
    • maxsize - defines max file size, if not defined then default system value will be used (property fileUpload.maxSize)
    • singleLineMode - param which defines single line mode. This param can be utilised in sub classes
    • Field Detail

      • ALLOWED_SIZE_DECIMAL_FORMAT

        protected static final java.text.DecimalFormat ALLOWED_SIZE_DECIMAL_FORMAT
      • PARAM_SINGLE_LINE_MODE

        protected static final java.lang.String PARAM_SINGLE_LINE_MODE
        See Also:
        Constant Field Values
      • LABEL_DROPCONTENT

        protected static final java.lang.String LABEL_DROPCONTENT
        See Also:
        Constant Field Values
      • FILE_UPLOAD_MAX_SIZE

        protected static final java.lang.String FILE_UPLOAD_MAX_SIZE
        See Also:
        Constant Field Values
      • DEFAULT_MAX_FILE_SIZE

        protected static final int DEFAULT_MAX_FILE_SIZE
        See Also:
        Constant Field Values
      • LABEL_UNSUPPORTED_FILETYPE

        protected static final java.lang.String LABEL_UNSUPPORTED_FILETYPE
        See Also:
        Constant Field Values
      • LABEL_DROPCONTENT_TOOLTIP

        protected static final java.lang.String LABEL_DROPCONTENT_TOOLTIP
        See Also:
        Constant Field Values
      • ON_MAX_FILE_COUNT_EXCEED

        protected static final java.lang.String ON_MAX_FILE_COUNT_EXCEED
        See Also:
        Constant Field Values
    • Constructor Detail

      • AbstractDragAndDropFileUploadEditor

        public AbstractDragAndDropFileUploadEditor()
    • Method Detail

      • getEditorSclass

        protected abstract java.lang.String getEditorSclass()
      • showUnsupportedMediaMessage

        protected void showUnsupportedMediaMessage​(org.zkoss.zk.ui.Component parent,
                                                   EditorContext<T> context,
                                                   org.zkoss.util.media.Media media)
      • isUploadedMediaAcceptable

        protected boolean isUploadedMediaAcceptable​(org.zkoss.util.media.Media media,
                                                    EditorContext<T> ctx)
      • matchContentType

        @Deprecated(since="2005",
                    forRemoval=true)
        protected boolean matchContentType​(java.lang.String accept,
                                           java.lang.String contentType)
        Deprecated, for removal: This API element is subject to removal in a future version.
        since 2005. Not used anymore
      • createUploadContainer

        protected org.zkoss.zk.ui.Component createUploadContainer​(EditorContext<T> context,
                                                                  org.zkoss.zk.ui.event.EventListener<org.zkoss.zk.ui.event.UploadEvent> onUpload,
                                                                  org.zkoss.zk.ui.event.EventListener<org.zkoss.zk.ui.event.Event> onMaxFileCountExceed)
      • createUploadContainer

        protected org.zkoss.zk.ui.Component createUploadContainer​(EditorContext<T> context,
                                                                  org.zkoss.zk.ui.event.EventListener<org.zkoss.zk.ui.event.UploadEvent> onUpload)
      • getDropAreaConstraintInfo

        protected java.lang.String getDropAreaConstraintInfo​(EditorContext<T> context)
        Parameters:
        context - to allow to read l10n data
        Returns:
        localized information on allowed file size and number of allowed files (if applicable)
      • readableFileSize

        protected java.lang.String readableFileSize​(long sizeInKB)
        As described at StackOverflow
        Parameters:
        sizeInKB - size in kilo bytes
      • createFileUpload

        protected org.zkoss.zul.Button createFileUpload​(EditorContext<T> context)
      • getUpload

        protected java.lang.String getUpload​(EditorContext<T> context)
      • createDropUpload

        protected org.zkoss.zk.ui.Component createDropUpload​(org.zkoss.zk.ui.Component dropAnchor,
                                                             EditorContext<T> context)
      • toFileUploadResult

        protected java.util.Optional<FileUploadResult> toFileUploadResult​(org.zkoss.util.media.Media media)
      • extractUploadedData

        protected byte[] extractUploadedData​(org.zkoss.util.media.Media media)
      • getMaxFileSize

        protected int getMaxFileSize​(EditorContext<T> context)
        Parameters:
        context - context object to read configuration
        Returns:
        maximal file size in kilobytes
      • isCorrectFileSize

        protected boolean isCorrectFileSize​(int sizeFromEditorParam)
      • isSingleLineModeEnabled

        protected boolean isSingleLineModeEnabled​(EditorContext<T> context)
      • getContentImage

        protected java.util.Optional<org.zkoss.zul.Image> getContentImage​(FileUploadResult uploadResult)
      • getContentTypeImage

        protected org.zkoss.zul.Image getContentTypeImage​(java.lang.String contentType,
                                                          boolean gridPreview)
      • addImageZoomPopup

        protected void addImageZoomPopup​(org.zkoss.zk.ui.Component parent,
                                         org.zkoss.zul.Image target)