primevue-mirror/components/lib/fileupload/BaseFileUpload.vue

129 lines
2.9 KiB
Vue
Raw Normal View History

2023-05-31 08:53:28 +00:00
<script>
import BaseComponent from 'primevue/basecomponent';
import FileUploadStyle from 'primevue/fileupload/style';
2023-05-31 08:53:28 +00:00
export default {
name: 'BaseFileUpload',
extends: BaseComponent,
props: {
name: {
type: String,
default: null
},
url: {
type: String,
default: null
},
mode: {
type: String,
default: 'advanced'
},
multiple: {
type: Boolean,
default: false
},
accept: {
type: String,
default: null
},
disabled: {
type: Boolean,
default: false
},
auto: {
type: Boolean,
default: false
},
maxFileSize: {
type: Number,
default: null
},
invalidFileSizeMessage: {
type: String,
default: '{0}: Invalid file size, file size should be smaller than {1}.'
},
invalidFileTypeMessage: {
type: String,
default: '{0}: Invalid file type, allowed file types: {1}.'
},
fileLimit: {
type: Number,
default: null
},
invalidFileLimitMessage: {
type: String,
default: 'Maximum number of files exceeded, limit is {0} at most.'
},
withCredentials: {
type: Boolean,
default: false
},
previewWidth: {
type: Number,
default: 50
},
chooseLabel: {
type: String,
default: null
},
uploadLabel: {
type: String,
default: null
},
cancelLabel: {
type: String,
default: null
},
customUpload: {
type: Boolean,
default: false
},
showUploadButton: {
type: Boolean,
default: true
},
showCancelButton: {
type: Boolean,
default: true
},
chooseIcon: {
type: String,
default: undefined
},
uploadIcon: {
type: String,
default: undefined
},
cancelIcon: {
type: String,
default: undefined
},
style: null,
2024-05-13 12:45:55 +00:00
class: null,
chooseButtonProps: {
type: null,
default: null
},
uploadButtonProps: {
type: Object,
default() {
return { severity: 'secondary' };
}
},
cancelButtonProps: {
type: Object,
default() {
return { severity: 'secondary' };
}
}
2023-05-31 08:53:28 +00:00
},
style: FileUploadStyle,
2023-05-31 08:53:28 +00:00
provide() {
return {
$pcFileUpload: this,
2023-05-31 08:53:28 +00:00
$parentInstance: this
};
}
};
</script>