primevue-mirror/packages/primevue/src/multiselect/BaseMultiSelect.vue

195 lines
4.3 KiB
Vue
Raw Normal View History

2023-05-25 14:01:28 +00:00
<script>
2024-06-11 12:21:12 +00:00
import BaseComponent from '@primevue/core/basecomponent';
import MultiSelectStyle from 'primevue/multiselect/style';
2023-05-25 14:01:28 +00:00
export default {
name: 'BaseMultiSelect',
extends: BaseComponent,
props: {
modelValue: null,
options: Array,
optionLabel: null,
optionValue: null,
optionDisabled: null,
optionGroupLabel: null,
optionGroupChildren: null,
scrollHeight: {
type: String,
2024-03-26 14:21:39 +00:00
default: '14rem'
2023-05-25 14:01:28 +00:00
},
placeholder: String,
2024-01-31 08:02:53 +00:00
variant: {
type: String,
2024-02-02 11:46:26 +00:00
default: null
2024-01-31 08:02:53 +00:00
},
invalid: {
type: Boolean,
default: false
},
disabled: {
type: Boolean,
default: false
},
fluid: {
type: Boolean,
2024-07-26 11:14:05 +00:00
default: null
},
2023-05-25 14:01:28 +00:00
inputId: {
type: String,
default: null
},
panelClass: {
type: String,
default: null
},
panelStyle: {
type: null,
default: null
},
overlayClass: {
type: String,
default: null
},
overlayStyle: {
type: null,
default: null
},
2023-05-25 14:01:28 +00:00
dataKey: null,
filter: Boolean,
filterPlaceholder: String,
filterLocale: String,
filterMatchMode: {
type: String,
default: 'contains'
},
filterFields: {
type: Array,
default: null
},
appendTo: {
type: [String, Object],
2023-05-25 14:01:28 +00:00
default: 'body'
},
display: {
type: String,
default: 'comma'
},
selectedItemsLabel: {
type: String,
default: '{0} items selected'
},
maxSelectedLabels: {
type: Number,
default: null
},
selectionLimit: {
type: Number,
default: null
},
showToggleAll: {
type: Boolean,
default: true
},
loading: {
type: Boolean,
default: false
},
checkboxIcon: {
type: String,
default: undefined
},
closeIcon: {
type: String,
default: undefined
},
dropdownIcon: {
type: String,
default: undefined
},
filterIcon: {
type: String,
default: undefined
},
loadingIcon: {
type: String,
default: undefined
},
removeTokenIcon: {
type: String,
default: undefined
},
chipIcon: {
type: String,
default: undefined
},
2023-05-25 14:01:28 +00:00
selectAll: {
type: Boolean,
default: null
},
resetFilterOnHide: {
type: Boolean,
default: false
},
virtualScrollerOptions: {
type: Object,
default: null
},
autoOptionFocus: {
type: Boolean,
default: false
2023-05-25 14:01:28 +00:00
},
autoFilterFocus: {
type: Boolean,
default: false
},
focusOnHover: {
type: Boolean,
default: true
},
highlightOnSelect: {
type: Boolean,
default: false
},
2023-05-25 14:01:28 +00:00
filterMessage: {
type: String,
default: null
},
selectionMessage: {
type: String,
default: null
},
emptySelectionMessage: {
type: String,
default: null
},
emptyFilterMessage: {
type: String,
default: null
},
emptyMessage: {
type: String,
default: null
},
tabindex: {
type: Number,
default: 0
},
ariaLabel: {
2023-05-25 14:01:28 +00:00
type: String,
default: null
},
ariaLabelledby: {
2023-05-25 14:01:28 +00:00
type: String,
default: null
}
},
style: MultiSelectStyle,
provide() {
return {
$pcMultiSelect: this,
$parentInstance: this
};
2023-05-25 14:01:28 +00:00
}
};
</script>