UNPKG

element-plus

Version:

A Component Library for Vue 3

1 lines 21.2 kB
{"version":3,"file":"filter-panel.mjs","sources":["../../../../../../packages/components/table/src/filter-panel.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"tooltipRef\"\n :offset=\"0\"\n :placement=\"placement\"\n :show-arrow=\"false\"\n trigger=\"click\"\n role=\"dialog\"\n teleported\n effect=\"light\"\n pure\n loop\n :popper-class=\"filterClassName\"\n persistent\n :append-to=\"appendTo\"\n @show=\"handleShowTooltip\"\n @hide=\"handleHideTooltip\"\n >\n <template #content>\n <div\n v-if=\"multiple\"\n ref=\"rootRef\"\n tabindex=\"-1\"\n :class=\"ns.e('multiple')\"\n >\n <div :class=\"ns.e('content')\">\n <el-scrollbar :wrap-class=\"ns.e('wrap')\">\n <el-checkbox-group\n v-model=\"filteredValue\"\n :class=\"ns.e('checkbox-group')\"\n >\n <el-checkbox\n v-for=\"filter in filters\"\n :key=\"filter.value\"\n :value=\"filter.value\"\n >\n {{ filter.text }}\n </el-checkbox>\n </el-checkbox-group>\n </el-scrollbar>\n </div>\n <div :class=\"ns.e('bottom')\">\n <button\n :class=\"ns.is('disabled', filteredValue.length === 0)\"\n :disabled=\"filteredValue.length === 0\"\n type=\"button\"\n @click=\"handleConfirm\"\n >\n {{ t('el.table.confirmFilter') }}\n </button>\n <button type=\"button\" @click=\"handleReset\">\n {{ t('el.table.resetFilter') }}\n </button>\n </div>\n </div>\n <ul\n v-else\n ref=\"rootRef\"\n tabindex=\"-1\"\n role=\"radiogroup\"\n :class=\"ns.e('list')\"\n @keydown=\"handleKeydown\"\n >\n <li\n role=\"radio\"\n :class=\"[\n ns.e('list-item'),\n ns.is('active', isPropAbsent(filterValue)),\n ]\"\n :tabindex=\"checkedIndex === 0 ? 0 : -1\"\n :aria-checked=\"isPropAbsent(filterValue)\"\n @click=\"handleSelect(null, 0)\"\n >\n {{ t('el.table.clearFilter') }}\n </li>\n <li\n v-for=\"(filter, idx) in filters\"\n :key=\"filter.value\"\n role=\"radio\"\n :class=\"[ns.e('list-item'), ns.is('active', isActive(filter))]\"\n :tabindex=\"checkedIndex === idx + 1 ? 0 : -1\"\n :aria-checked=\"isActive(filter)\"\n @click=\"handleSelect(filter.value, idx + 1)\"\n >\n {{ filter.text }}\n </li>\n </ul>\n </template>\n <template #default>\n <button\n type=\"button\"\n :class=\"`${ns.namespace.value}-table__column-filter-trigger`\"\n :aria-label=\"t('el.table.filterLabel', { column: column?.label || '' })\"\n >\n <el-icon>\n <slot name=\"filter-icon\">\n <arrow-up v-if=\"column?.filterOpened\" />\n <arrow-down v-else />\n </slot>\n </el-icon>\n </button>\n </template>\n </el-tooltip>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, getCurrentInstance, ref } from 'vue'\nimport { ElCheckbox, ElCheckboxGroup } from '@element-plus/components/checkbox'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { ArrowDown, ArrowUp } from '@element-plus/icons-vue'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport {\n ElTooltip,\n useTooltipContentProps,\n} from '@element-plus/components/tooltip'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport { getEventCode, isPropAbsent } from '@element-plus/utils'\n\nimport type { DefaultRow } from './table/defaults'\nimport type { TooltipInstance } from '@element-plus/components/tooltip'\nimport type { Placement } from '@element-plus/components/popper'\nimport type { PropType, WritableComputedRef } from 'vue'\nimport type { TableColumnCtx } from './table-column/defaults'\nimport type { TableHeader } from './table-header'\nimport type { Store } from './store'\n\nexport default defineComponent({\n name: 'ElTableFilterPanel',\n components: {\n ElCheckbox,\n ElCheckboxGroup,\n ElScrollbar,\n ElTooltip,\n ElIcon,\n ArrowDown,\n ArrowUp,\n },\n props: {\n placement: {\n type: String as PropType<Placement>,\n default: 'bottom-start',\n },\n store: {\n type: Object as PropType<Store<DefaultRow>>,\n },\n column: {\n type: Object as PropType<TableColumnCtx<DefaultRow>>,\n },\n upDataColumn: {\n type: Function,\n },\n appendTo: useTooltipContentProps.appendTo,\n },\n setup(props) {\n const instance = getCurrentInstance()\n const { t } = useLocale()\n const ns = useNamespace('table-filter')\n const parent = instance?.parent as TableHeader\n if (props.column && !parent.filterPanels.value[props.column.id]) {\n parent.filterPanels.value[props.column.id] = instance\n }\n\n const tooltipRef = ref<TooltipInstance | null>(null)\n const rootRef = ref<HTMLElement | null>(null)\n const checkedIndex = ref(0)\n\n const filters = computed(() => {\n return props.column && props.column.filters\n })\n const filterClassName = computed(() => {\n if (props.column && props.column.filterClassName) {\n return `${ns.b()} ${props.column.filterClassName}`\n }\n return ns.b()\n })\n const filterValue = computed({\n get: () => (props.column?.filteredValue || [])[0],\n set: (value?: string | null) => {\n if (filteredValue.value) {\n if (!isPropAbsent(value)) {\n filteredValue.value.splice(0, 1, value)\n } else {\n filteredValue.value.splice(0, 1)\n }\n }\n },\n })\n const filteredValue: WritableComputedRef<string[]> = computed({\n get() {\n if (props.column) {\n return props.column.filteredValue || []\n }\n return []\n },\n set(value: string[]) {\n if (props.column) {\n props.upDataColumn?.('filteredValue', value)\n }\n },\n })\n const multiple = computed(() => {\n if (props.column) {\n return props.column.filterMultiple\n }\n return true\n })\n const isActive = (filter: { value: string; text: string }) => {\n return filter.value === filterValue.value\n }\n const hidden = () => {\n tooltipRef.value?.onClose()\n }\n const handleConfirm = () => {\n confirmFilter(filteredValue.value)\n hidden()\n }\n const handleReset = () => {\n filteredValue.value = []\n confirmFilter(filteredValue.value)\n hidden()\n }\n const handleSelect = (_filterValue: string | null, index: number) => {\n filterValue.value = _filterValue!\n checkedIndex.value = index\n if (!isPropAbsent(_filterValue)) {\n confirmFilter(filteredValue.value)\n } else {\n confirmFilter([])\n }\n hidden()\n }\n const confirmFilter = (filteredValue: unknown[]) => {\n props.store?.commit('filterChange', {\n column: props.column,\n values: filteredValue,\n })\n props.store?.updateAllSelected()\n }\n const handleShowTooltip = () => {\n rootRef.value?.focus()\n !multiple.value && initCheckedIndex()\n if (props.column) {\n props.upDataColumn?.('filterOpened', true)\n }\n }\n const handleHideTooltip = () => {\n if (props.column) {\n props.upDataColumn?.('filterOpened', false)\n }\n }\n\n const initCheckedIndex = () => {\n if (isPropAbsent(filterValue)) {\n checkedIndex.value = 0\n return\n }\n const idx = (filters.value || []).findIndex((item) => {\n return item.value === filterValue.value\n })\n checkedIndex.value = idx >= 0 ? idx + 1 : 0\n }\n\n const handleKeydown = (event: KeyboardEvent) => {\n const code = getEventCode(event)\n const len = (filters.value ? filters.value.length : 0) + 1\n let index = checkedIndex.value\n let isPreventDefault = true\n\n switch (code) {\n case EVENT_CODE.down:\n case EVENT_CODE.right:\n index = (index + 1) % len\n break\n case EVENT_CODE.up:\n case EVENT_CODE.left:\n index = (index - 1 + len) % len\n break\n case EVENT_CODE.tab:\n hidden()\n isPreventDefault = false\n break\n case EVENT_CODE.enter:\n case EVENT_CODE.space:\n if (index === 0) {\n handleSelect(null, 0)\n } else {\n const item = (filters.value || [])[index - 1]\n item.value && handleSelect(item.value, index)\n }\n break\n default:\n isPreventDefault = false\n break\n }\n\n isPreventDefault && event.preventDefault()\n checkedIndex.value = index\n rootRef.value\n ?.querySelector<HTMLElement>(\n `.${ns.e('list-item')}:nth-child(${index + 1})`\n )\n ?.focus()\n }\n\n return {\n multiple,\n filterClassName,\n filteredValue,\n filterValue,\n filters,\n handleConfirm,\n handleReset,\n handleSelect,\n isPropAbsent,\n isActive,\n t,\n ns,\n tooltipRef,\n rootRef,\n checkedIndex,\n handleShowTooltip,\n handleHideTooltip,\n handleKeydown,\n }\n },\n})\n</script>\n"],"names":["filteredValue","_createBlock","_withCtx","_openBlock","_createElementBlock","_normalizeClass","_createElementVNode","_createVNode","_Fragment","_renderList","_createTextVNode","_toDisplayString","_renderSlot","_a"],"mappings":"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"}