483 lines
14 KiB
JavaScript
483 lines
14 KiB
JavaScript
const MultiSelectProps = [
|
|
{
|
|
name: 'modelValue',
|
|
type: 'any',
|
|
default: 'null',
|
|
description: 'Value of the component.'
|
|
},
|
|
{
|
|
name: 'options',
|
|
type: 'array',
|
|
default: 'null',
|
|
description: 'An array of selectitems to display as the available options.'
|
|
},
|
|
{
|
|
name: 'optionLabel',
|
|
type: 'string',
|
|
default: 'null',
|
|
description: 'Property name or getter function to use as the label of an option.'
|
|
},
|
|
{
|
|
name: 'optionValue',
|
|
type: 'string | function',
|
|
default: 'null',
|
|
description: 'Property name or getter function to use as the value of an option, defaults to the option itself when not defined.'
|
|
},
|
|
{
|
|
name: 'optionDisabled',
|
|
type: 'boolean | function',
|
|
default: 'null',
|
|
description: 'Property name or getter function to use as the disabled flag of an option, defaults to false when not defined.'
|
|
},
|
|
{
|
|
name: 'optionGroupLabel',
|
|
type: 'string | function',
|
|
default: 'null',
|
|
description: 'Property name or getter function to use as the label of an option group.'
|
|
},
|
|
{
|
|
name: 'optionGroupChildren',
|
|
type: 'string | function',
|
|
default: 'null',
|
|
description: 'Property name or getter function that refers to the children options of option group.'
|
|
},
|
|
{
|
|
name: 'scrollHeight',
|
|
type: 'string',
|
|
default: '200px',
|
|
description: 'Height of the viewport, a scrollbar is defined if height of list exceeds this value.'
|
|
},
|
|
{
|
|
name: 'placeholder',
|
|
type: 'string',
|
|
default: 'null',
|
|
description: 'Label to display when there are no selections.'
|
|
},
|
|
{
|
|
name: 'disabled',
|
|
type: 'boolean',
|
|
default: 'false',
|
|
description: 'When present, it specifies that the component should be disabled.'
|
|
},
|
|
{
|
|
name: 'inputId',
|
|
type: 'string',
|
|
default: 'null',
|
|
description: 'Identifier of the underlying input element.'
|
|
},
|
|
{
|
|
name: 'inputProps',
|
|
type: 'object',
|
|
default: 'null',
|
|
description: 'Used to pass all properties of the HTMLInputElement to the focusable input element inside the component.'
|
|
},
|
|
{
|
|
name: 'panelStyle',
|
|
type: 'object',
|
|
default: 'null',
|
|
description: 'Inline style of the overlay panel.'
|
|
},
|
|
{
|
|
name: 'panelClass',
|
|
type: 'string',
|
|
default: 'null',
|
|
description: 'Style class of the overlay panel.'
|
|
},
|
|
{
|
|
name: 'panelProps',
|
|
type: 'object',
|
|
default: 'null',
|
|
description: 'Used to pass all properties of the HTMLDivElement to the overlay panel.'
|
|
},
|
|
{
|
|
name: 'filterInputProps',
|
|
type: 'object',
|
|
default: 'null',
|
|
description: 'Used to pass all properties of the HTMLInputElement to the filter input inside the overlay panel.'
|
|
},
|
|
{
|
|
name: 'closeButtonProps',
|
|
type: 'object',
|
|
default: 'null',
|
|
description: 'Used to pass all properties of the HTMLButtonElement to the close button inside the overlay panel.'
|
|
},
|
|
{
|
|
name: 'dataKey',
|
|
type: 'string',
|
|
default: 'null',
|
|
description: 'A property to uniquely identify an option.'
|
|
},
|
|
{
|
|
name: 'filter',
|
|
type: 'boolean',
|
|
default: 'false',
|
|
description: 'When specified, displays a filter input at header.'
|
|
},
|
|
{
|
|
name: 'filterPlaceholder',
|
|
type: 'string',
|
|
default: 'null',
|
|
description: 'Placeholder text to show when filter input is empty.'
|
|
},
|
|
{
|
|
name: 'filterLocale',
|
|
type: 'string',
|
|
default: 'undefined',
|
|
description: "Locale to use in filtering. The default locale is the host environment's current locale."
|
|
},
|
|
{
|
|
name: 'filterMatchMode',
|
|
type: 'string',
|
|
default: 'contains',
|
|
description: 'Defines the filtering algorithm to use when searching the options. Valid values are "contains" (default), "startsWith" and "endsWith"'
|
|
},
|
|
{
|
|
name: 'filterFields',
|
|
type: 'array',
|
|
default: 'null',
|
|
description: 'Fields used when filtering the options, defaults to optionLabel.'
|
|
},
|
|
{
|
|
name: 'appendTo',
|
|
type: 'string',
|
|
default: 'body',
|
|
description: "A valid query selector or an HTMLElement to specify where the overlay gets attached. Special keywords are 'body' for document body and 'self' for the element itself."
|
|
},
|
|
{
|
|
name: 'display',
|
|
type: 'string',
|
|
default: 'comma',
|
|
description: 'Defines how the selected items are displayed, valid values are "comma" and "chip".'
|
|
},
|
|
{
|
|
name: 'selectedItemsLabel',
|
|
type: 'string',
|
|
default: '{0} items selected',
|
|
description: 'Label to display after exceeding max selected labels.'
|
|
},
|
|
{
|
|
name: 'maxSelectedLabels',
|
|
type: 'number',
|
|
default: 'null',
|
|
description: 'Decides how many selected item labels to show at most.'
|
|
},
|
|
{
|
|
name: 'selectionLimit',
|
|
type: 'number',
|
|
default: 'null',
|
|
description: 'Maximum number of selectable items.'
|
|
},
|
|
{
|
|
name: 'showToggleAll',
|
|
type: 'boolean',
|
|
default: 'false',
|
|
description: 'Whether to show the header checkbox to toggle the selection of all items at once.'
|
|
},
|
|
{
|
|
name: 'loading',
|
|
type: 'boolean',
|
|
default: 'false',
|
|
description: 'Whether the multiselect is in loading state.'
|
|
},
|
|
{
|
|
name: 'loadingIcon',
|
|
type: 'string',
|
|
default: 'null',
|
|
description: 'Icon to display in loading state.'
|
|
},
|
|
{
|
|
name: 'checkboxIcon',
|
|
type: 'string',
|
|
default: 'null',
|
|
description: 'Icon to display in the checkboxes.'
|
|
},
|
|
{
|
|
name: 'closeIcon',
|
|
type: 'string',
|
|
default: 'null',
|
|
description: 'Icon to display in the dropdown close button.'
|
|
},
|
|
{
|
|
name: 'dropdownIcon',
|
|
type: 'string',
|
|
default: 'null',
|
|
description: 'Icon to display in the dropdown.'
|
|
},
|
|
{
|
|
name: 'filterIcon',
|
|
type: 'string',
|
|
default: 'null',
|
|
description: 'Icon to display in filter input.'
|
|
},
|
|
{
|
|
name: 'removeTokenIcon',
|
|
type: 'string',
|
|
default: 'null',
|
|
description: 'Icon to display in chip remove action.'
|
|
},
|
|
{
|
|
name: 'selectAll',
|
|
type: 'boolean',
|
|
default: 'false',
|
|
description: 'Whether all data is selected.'
|
|
},
|
|
{
|
|
name: 'resetFilterOnHide',
|
|
type: 'boolean',
|
|
default: 'false',
|
|
description: 'Clears the filter value when hiding the dropdown.'
|
|
},
|
|
{
|
|
name: 'virtualScrollerOptions',
|
|
type: 'object',
|
|
default: 'null',
|
|
description: 'Whether to use the virtualScroller feature. The properties of VirtualScroller component can be used like an object in it.'
|
|
},
|
|
{
|
|
name: 'autoOptionFocus',
|
|
type: 'boolean',
|
|
default: 'false',
|
|
description: 'Whether to focus on the first visible or selected element when the overlay panel is shown.'
|
|
},
|
|
{
|
|
name: 'autoFilterFocus',
|
|
type: 'boolean',
|
|
default: 'false',
|
|
description: 'Whether to focus on the filter element when the overlay panel is shown.'
|
|
},
|
|
{
|
|
name: 'filterMessage',
|
|
type: 'string',
|
|
default: '{0} results are available',
|
|
description: 'Text to be displayed in hidden accessible field when filtering returns any results. Defaults to value from PrimeVue locale configuration.'
|
|
},
|
|
{
|
|
name: 'selectionMessage',
|
|
type: 'string',
|
|
default: '{0} items selected',
|
|
description: 'Text to be displayed in hidden accessible field when options are selected. Defaults to value from PrimeVue locale configuration.'
|
|
},
|
|
{
|
|
name: 'emptySelectionMessage',
|
|
type: 'string',
|
|
default: 'No selected item',
|
|
description: 'Text to be displayed in hidden accessible field when any option is not selected. Defaults to value from PrimeVue locale configuration.'
|
|
},
|
|
{
|
|
name: 'emptyFilterMessage',
|
|
type: 'string',
|
|
default: 'No results found',
|
|
description: 'Text to display when filtering does not return any results. Defaults to value from PrimeVue locale configuration.'
|
|
},
|
|
{
|
|
name: 'emptyMessage',
|
|
type: 'string',
|
|
default: 'No results found',
|
|
description: 'Text to display when there are no options available. Defaults to value from PrimeVue locale configuration.'
|
|
},
|
|
{
|
|
name: 'tabindex',
|
|
type: 'number',
|
|
default: '0',
|
|
description: 'Index of the element in tabbing order.'
|
|
},
|
|
{
|
|
name: 'aria-label',
|
|
type: 'string',
|
|
default: 'null',
|
|
description: 'Defines a string value that labels an interactive element.'
|
|
},
|
|
{
|
|
name: 'aria-labelledby',
|
|
type: 'string',
|
|
default: 'null',
|
|
description: 'Identifier of the underlying input element.'
|
|
},
|
|
{
|
|
name: 'pt',
|
|
type: 'any',
|
|
default: 'null',
|
|
description: 'Used to pass attributes to DOM elements inside the component.'
|
|
},
|
|
{
|
|
name: 'unstyled',
|
|
type: 'boolean',
|
|
default: 'false',
|
|
description: 'When enabled, it removes component related styles in the core.'
|
|
}
|
|
];
|
|
|
|
const MultiSelectEvents = [
|
|
{
|
|
name: 'change',
|
|
description: 'Callback to invoke on value change.',
|
|
arguments: [
|
|
{
|
|
name: 'event.originalEvent',
|
|
type: 'object',
|
|
description: 'Browser event'
|
|
},
|
|
{
|
|
name: 'event.value',
|
|
type: 'array',
|
|
description: 'Selected option value'
|
|
}
|
|
]
|
|
},
|
|
{
|
|
name: 'focus',
|
|
description: 'Callback to invoke when component receives focus.',
|
|
arguments: [
|
|
{
|
|
name: 'event',
|
|
type: 'object',
|
|
description: 'Browser event'
|
|
}
|
|
]
|
|
},
|
|
{
|
|
name: 'blur',
|
|
description: 'Callback to invoke when component loses focus.',
|
|
arguments: [
|
|
{
|
|
name: 'event',
|
|
type: 'object',
|
|
description: 'Browser event'
|
|
}
|
|
]
|
|
},
|
|
{
|
|
name: 'before-show',
|
|
description: 'Callback to invoke before the overlay is shown.'
|
|
},
|
|
{
|
|
name: 'before-hide',
|
|
description: 'Callback to invoke before the overlay is hidden.'
|
|
},
|
|
{
|
|
name: 'show',
|
|
description: 'Callback to invoke when the overlay is shown.'
|
|
},
|
|
{
|
|
name: 'hide',
|
|
description: 'Callback to invoke when the overlay is hidden.'
|
|
},
|
|
{
|
|
name: 'filter',
|
|
description: 'Callback to invoke on filter input.',
|
|
arguments: [
|
|
{
|
|
name: 'event.originalEvent',
|
|
type: 'object',
|
|
description: 'Browser event'
|
|
},
|
|
{
|
|
name: 'event.value',
|
|
type: 'string',
|
|
description: 'Filter value'
|
|
}
|
|
]
|
|
},
|
|
{
|
|
name: 'selectall-change',
|
|
description: 'Callback to invoke when all data is selected.',
|
|
arguments: [
|
|
{
|
|
name: 'event.originalEvent',
|
|
type: 'object',
|
|
description: 'Browser event'
|
|
},
|
|
{
|
|
name: 'event.checked',
|
|
type: 'boolean',
|
|
description: 'Whether all data is selected.'
|
|
}
|
|
]
|
|
}
|
|
];
|
|
|
|
const MultiSelectSlots = [
|
|
{
|
|
name: 'value',
|
|
description: 'Custom content for the item value.'
|
|
},
|
|
{
|
|
name: 'chip',
|
|
description: 'Custom content for the chip display.'
|
|
},
|
|
{
|
|
name: 'indicator',
|
|
description: 'Custom content for the dropdown indicator.'
|
|
},
|
|
{
|
|
name: 'header',
|
|
description: "Custom content for the component's header."
|
|
},
|
|
{
|
|
name: 'footer',
|
|
description: "Custom content for the component's footer."
|
|
},
|
|
{
|
|
name: 'option',
|
|
description: "Custom content for the item's option."
|
|
},
|
|
{
|
|
name: 'optiongroup',
|
|
description: "Custom content for the item's optiongroup."
|
|
},
|
|
{
|
|
name: 'emptyfilter',
|
|
description: 'Custom content when there is no filtered data to display.'
|
|
},
|
|
{
|
|
name: 'empty',
|
|
description: 'Custom content when there is no data to display.'
|
|
},
|
|
{
|
|
name: 'content',
|
|
description: 'Custom content for the virtual scroller.'
|
|
},
|
|
{
|
|
name: 'loader',
|
|
description: 'Custom content for the virtual scroller loader items.'
|
|
},
|
|
{
|
|
name: 'removetokenicon',
|
|
description: 'Custom remove token icon template.'
|
|
},
|
|
{
|
|
name: 'headercheckboxicon',
|
|
description: 'Custom header checkbox icon template.'
|
|
},
|
|
{
|
|
name: 'filtericon',
|
|
description: 'Custom filter icon template.'
|
|
},
|
|
{
|
|
name: 'closeicon',
|
|
description: 'Custom close icon template.'
|
|
},
|
|
{
|
|
name: 'itemcheckboxicon',
|
|
description: 'Custom item checkbox icon template.'
|
|
},
|
|
{
|
|
name: 'loadingicon',
|
|
description: 'Custom loading icon template.'
|
|
},
|
|
{
|
|
name: 'dropdownicon',
|
|
description: 'Custom dropdown icon template.'
|
|
}
|
|
];
|
|
|
|
module.exports = {
|
|
multiselect: {
|
|
name: 'MultiSelect',
|
|
description: 'MultiSelect is used to multiple values from a list of options.',
|
|
props: MultiSelectProps,
|
|
events: MultiSelectEvents,
|
|
slots: MultiSelectSlots
|
|
}
|
|
};
|