diff options
author | Robert Jaros <rjaros@finn.pl> | 2020-03-28 23:04:13 +0100 |
---|---|---|
committer | Robert Jaros <rjaros@finn.pl> | 2020-03-28 23:04:13 +0100 |
commit | 13f8c6d1c9db565ee63cfddbc716d819ce72a2ca (patch) | |
tree | 0442db8ae9330da809e30c75ed7f6c4425fc4b15 | |
parent | 16dc3d8105ed1580c2203e5af5052acf56331d7d (diff) | |
download | kvision-13f8c6d1c9db565ee63cfddbc716d819ce72a2ca.tar.gz kvision-13f8c6d1c9db565ee63cfddbc716d819ce72a2ca.tar.bz2 kvision-13f8c6d1c9db565ee63cfddbc716d819ce72a2ca.zip |
Placeholder support for Upload control
2 files changed, 33 insertions, 0 deletions
diff --git a/kvision-modules/kvision-bootstrap-upload/src/main/kotlin/pl/treksoft/kvision/form/upload/Upload.kt b/kvision-modules/kvision-bootstrap-upload/src/main/kotlin/pl/treksoft/kvision/form/upload/Upload.kt index ce885ff3..96672587 100644 --- a/kvision-modules/kvision-bootstrap-upload/src/main/kotlin/pl/treksoft/kvision/form/upload/Upload.kt +++ b/kvision-modules/kvision-bootstrap-upload/src/main/kotlin/pl/treksoft/kvision/form/upload/Upload.kt @@ -185,6 +185,14 @@ open class Upload( input.dropZoneEnabled = value } /** + * The placeholder for the upload control. + */ + var placeholder + get() = input.placeholder + set(value) { + input.placeholder = value + } + /** * The label text bound to the spinner input element. */ var label diff --git a/kvision-modules/kvision-bootstrap-upload/src/main/kotlin/pl/treksoft/kvision/form/upload/UploadInput.kt b/kvision-modules/kvision-bootstrap-upload/src/main/kotlin/pl/treksoft/kvision/form/upload/UploadInput.kt index ecdbf1b8..5bdaad9b 100644 --- a/kvision-modules/kvision-bootstrap-upload/src/main/kotlin/pl/treksoft/kvision/form/upload/UploadInput.kt +++ b/kvision-modules/kvision-bootstrap-upload/src/main/kotlin/pl/treksoft/kvision/form/upload/UploadInput.kt @@ -64,78 +64,102 @@ open class UploadInput(uploadUrl: String? = null, multiple: Boolean = false, cla * If not set the upload button action will default to form submission. */ var uploadUrl: String? by refreshOnUpdate(uploadUrl) { refreshUploadInput() } + /** * Determines if multiple file upload is supported. */ var multiple: Boolean by refreshOnUpdate(multiple) { refresh(); refreshUploadInput() } + /** * The extra data that will be passed as data to the AJAX server call via POST. */ var uploadExtraData: ((String, Int) -> dynamic)? by refreshOnUpdate { refreshUploadInput() } + /** * Determines if the explorer theme is used. */ var explorerTheme: Boolean by refreshOnUpdate(false) { refreshUploadInput() } + /** * Determines if the input selection is required. */ var required: Boolean by refreshOnUpdate(false) { refreshUploadInput() } + /** * Determines if the caption is shown. */ var showCaption: Boolean by refreshOnUpdate(true) { refreshUploadInput() } + /** * Determines if the preview is shown. */ var showPreview: Boolean by refreshOnUpdate(true) { refreshUploadInput() } + /** * Determines if the remove button is shown. */ var showRemove: Boolean by refreshOnUpdate(true) { refreshUploadInput() } + /** * Determines if the upload button is shown. */ var showUpload: Boolean by refreshOnUpdate(true) { refreshUploadInput() } + /** * Determines if the cancel button is shown. */ var showCancel: Boolean by refreshOnUpdate(true) { refreshUploadInput() } + /** * Determines if the file browse button is shown. */ var showBrowse: Boolean by refreshOnUpdate(true) { refreshUploadInput() } + /** * Determines if the click on the preview zone opens file browse window. */ var browseOnZoneClick: Boolean by refreshOnUpdate(true) { refreshUploadInput() } + /** * Determines if the iconic preview is prefered. */ var preferIconicPreview: Boolean by refreshOnUpdate(false) { refreshUploadInput() } + /** * Allowed file types. */ var allowedFileTypes: Set<String>? by refreshOnUpdate { refreshUploadInput() } + /** * Allowed file extensions. */ var allowedFileExtensions: Set<String>? by refreshOnUpdate { refreshUploadInput() } + /** * Determines if Drag&Drop zone is enabled. */ var dropZoneEnabled: Boolean by refreshOnUpdate(true) { refreshUploadInput() } + + /** + * The placeholder for the upload control. + */ + var placeholder: String? by refreshOnUpdate { refreshUploadInput() } + /** * The name attribute of the generated HTML input element. */ override var name: String? by refreshOnUpdate() + /** * Determines if the field is disabled. */ override var disabled by refreshOnUpdate(false) { refresh(); refreshUploadInput() } + /** * The size of the input (currently not working) */ override var size: InputSize? by refreshOnUpdate() + /** * The validation status of the input. */ @@ -331,6 +355,7 @@ open class UploadInput(uploadUrl: String? = null, multiple: Boolean = false, cla } this.autoOrientImage = false this.purifyHtml = false + if (placeholder != null) this.msgPlaceholder = placeholder this.language = language } } |