@koi-design/uxd-ui 14.0.38 → 14.0.39

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -117,7 +117,8 @@ function useFilterAndSort(props, updatedDatas, emit) {
117
117
  };
118
118
  const isFiltered = (column) => {
119
119
  var _a;
120
- return hasFilters(column) && ((_a = currentFilters.value) == null ? void 0 : _a[getColumnKey(column)]) !== void 0;
120
+ const filterValue = (_a = currentFilters.value) == null ? void 0 : _a[getColumnKey(column)];
121
+ return hasFilters(column) && filterValue !== void 0 && filterValue.length > 0;
121
122
  };
122
123
  const hasAction = (column) => {
123
124
  return hasSorters(column) || hasFilters(column);
@@ -1 +1 @@
1
- {"version":3,"file":"useFilterSortPage.mjs","sources":["../../../../../src/components/Table/hooks/useFilterSortPage.ts"],"sourcesContent":["import { computed, ref, watch, reactive } from 'vue';\nimport type { ComputedRef } from 'vue';\nimport { flatFilter, shallowequal, treeMap, treeSort } from '../../../utils/tools';\nimport type { PaginationProps } from '../../Pagination/Pagination.type';\nimport type { ColumnSortOrder, InnerColumn, InnerDataItem, TableColumn, TableEmit, TableProps } from '../Table.type';\nimport { getColumnKey } from '../utils';\n\nconst isSameColumn = (a: any, b: any) => {\n if (a && b && a.key && a.key === b.key) {\n return true;\n }\n return a === b || shallowequal(a, b);\n};\n\nexport default function useFilterAndSort(props: TableProps, updatedDatas: ComputedRef<InnerDataItem[]>, emit: TableEmit) {\n const currentSortColumn = ref<TableColumn | null>(null);\n const currentSortOrder = ref<ColumnSortOrder | null>(null);\n const currentFilters = ref<Record<string, (string | number)[]> | null>(null);\n const paginationOptions = reactive({} as PaginationProps);\n const sortDirections = ['ascend', 'descend'] as ColumnSortOrder[];\n const getDefaultSort = () => {\n const rst = flatFilter(props.columns, (column) => {\n return !!column.sortOrder && !column.children;\n });\n if (rst.length > 0) {\n currentSortColumn.value = rst[0];\n currentSortOrder.value = rst[0].sortOrder || null;\n }\n };\n\n const getDefaultFilters = () => {\n const rst = {} as Record<string, any>;\n let index = 0;\n treeMap(props.columns, (column) => {\n const colKey = getColumnKey(column, index);\n index += 1;\n if (column.filteredValue !== undefined && !column.children) {\n rst[colKey] = column.filteredValue;\n }\n });\n currentFilters.value = rst;\n };\n\n const restSortColumn = () => {\n currentSortColumn.value = null;\n currentSortOrder.value = null;\n currentFilters.value = null;\n };\n\n watch(\n computed(() => props.columns),\n () => {\n restSortColumn();\n getDefaultSort();\n getDefaultFilters();\n },\n { immediate: true }\n );\n\n // =========== sort ============\n // #region\n const hasSorters = (column: InnerColumn) => {\n return column.sortable && !column.children;\n };\n\n const isSortColumn = (column: InnerColumn) => {\n if (!column || !currentSortColumn.value) {\n return false;\n }\n return isSameColumn(column, currentSortColumn.value);\n };\n\n const isAscend = (column: InnerColumn) => {\n return isSortColumn(column) && currentSortOrder.value === 'ascend';\n };\n\n const isDescend = (column: InnerColumn) => {\n return isSortColumn(column) && currentSortOrder.value === 'descend';\n };\n\n const getSortDirections = (column: InnerColumn) => {\n return column.sortDirections || sortDirections;\n };\n\n const hasAscend = (column: InnerColumn) => {\n return getSortDirections(column).indexOf('ascend') !== -1;\n };\n\n const hasDescend = (column: InnerColumn) => {\n return getSortDirections(column).indexOf('descend') !== -1;\n };\n\n const toggleSortOrder = (column: InnerColumn) => {\n const directions = column.sortDirections || sortDirections;\n let newSortOrder;\n if (isSortColumn(column) && currentSortOrder.value !== null) {\n const index = directions.indexOf(currentSortOrder.value) + 1;\n newSortOrder = index === directions.length ? null : directions[index];\n } else {\n newSortOrder = directions[0];\n }\n currentSortOrder.value = newSortOrder;\n currentSortColumn.value = column;\n\n emit('change', paginationOptions, { column: currentSortColumn.value, order: currentSortOrder.value }, currentFilters.value);\n };\n\n const getSorterFn = () => {\n const sortOrder = currentSortOrder.value;\n const sortColumn = currentSortColumn.value;\n if (!sortOrder || !sortColumn || sortColumn.sortable === 'custom') {\n return;\n }\n return (a: any, b: any) => {\n if (sortColumn.sortFn) {\n const rst = sortColumn.sortFn(a.dataRef, b.dataRef);\n return sortOrder === 'descend' ? -rst : rst;\n }\n const key = sortColumn.dataIndex || sortColumn.key;\n if (sortOrder === 'ascend') {\n return a.dataRef[key] > b.dataRef[key] ? 1 : -1;\n }\n return a.dataRef[key] < b.dataRef[key] ? 1 : -1;\n };\n };\n\n // #endregion\n\n // ================= filter ======================\n // #region\n\n const hasFilters = (column: InnerColumn) => {\n return column.filterable && !column.children;\n };\n\n const setColumnFilter = (column: InnerColumn, selectedKeys: (string | number)[]) => {\n const colKey = getColumnKey(column);\n currentFilters.value = {\n ...currentFilters.value,\n [colKey]: selectedKeys\n };\n emit('change', paginationOptions, { column: currentSortColumn.value, order: currentSortOrder.value }, currentFilters.value);\n };\n\n const isFiltered = (column: InnerColumn) => {\n return hasFilters(column) && currentFilters.value?.[getColumnKey(column)] !== undefined;\n };\n\n // #endregion\n\n const hasAction = (column: InnerColumn) => {\n return hasSorters(column) || hasFilters(column);\n };\n\n const findColumn = (key: string) => {\n let column: TableColumn | undefined;\n let index = 0;\n let find = false;\n treeMap<TableColumn, void>(props.columns, (node: TableColumn) => {\n if (find) {\n return;\n }\n const colKey = getColumnKey(node, index);\n index += 1;\n if (colKey === key) {\n column = node;\n find = true;\n }\n });\n return column;\n };\n\n const filteredDatas = computed(() => {\n let data = updatedDatas.value || [];\n const sorterFn = getSorterFn();\n\n if (sorterFn) {\n data = treeSort([...data], sorterFn);\n }\n\n const filters = currentFilters.value;\n if (filters) {\n Object.keys(filters).forEach((colKey) => {\n const column = findColumn(colKey);\n if (!column) {\n return;\n }\n const values = filters[colKey] || [];\n\n if (values.length === 0) {\n return;\n }\n const { filterFn } = column;\n if (filterFn) {\n data = data.filter((row) => {\n return values.some((v) => filterFn(v, row.dataRef));\n });\n }\n });\n }\n return data;\n });\n\n // ================= pagination ==================\n\n watch(\n () => props.pagination,\n () => {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { position, align, pageSize, current, ...restProps } = props.pagination || {};\n paginationOptions.pageSize = pageSize || 10;\n paginationOptions.current = current || 1;\n\n Object.keys(restProps).forEach((key) => {\n (paginationOptions as any)[key] = (restProps as any)[key];\n });\n },\n { immediate: true, deep: true }\n );\n\n const getPageTotal = (total: number) => {\n const { current, pageSize } = paginationOptions;\n if ((current - 1) * pageSize >= total) {\n return Math.floor((total - 1) / pageSize) + 1;\n }\n return current;\n };\n\n const computedPageTotal = computed(() => {\n return paginationOptions.total || filteredDatas.value.length;\n });\n\n const currentDatas = computed(() => {\n if (props.showPagination) {\n const { pageSize } = paginationOptions;\n const current = getPageTotal(computedPageTotal.value);\n\n if (filteredDatas.value.length > pageSize) {\n return filteredDatas.value.slice((current - 1) * pageSize, current * pageSize);\n }\n }\n return filteredDatas.value;\n });\n\n const handlePageChange = (page: number) => {\n paginationOptions.current = page;\n emit('change', paginationOptions, { column: currentSortColumn.value, order: currentSortOrder.value }, currentFilters.value);\n };\n\n const handlePageSizeChange = (size: number, current: number) => {\n paginationOptions.pageSize = size;\n paginationOptions.current = current;\n emit('change', paginationOptions, { column: currentSortColumn.value, order: currentSortOrder.value }, currentFilters.value);\n };\n\n return {\n hasAction,\n hasSorters,\n hasFilters,\n isSortColumn,\n isAscend,\n isDescend,\n isFiltered,\n hasAscend,\n hasDescend,\n toggleSortOrder,\n setColumnFilter,\n currentDatas,\n paginationOptions,\n computedPageTotal,\n handlePageChange,\n handlePageSizeChange\n };\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useFilterSortPage.mjs","sources":["../../../../../src/components/Table/hooks/useFilterSortPage.ts"],"sourcesContent":["import { computed, ref, watch, reactive } from 'vue';\nimport type { ComputedRef } from 'vue';\nimport { flatFilter, shallowequal, treeMap, treeSort } from '../../../utils/tools';\nimport type { PaginationProps } from '../../Pagination/Pagination.type';\nimport type { ColumnSortOrder, InnerColumn, InnerDataItem, TableColumn, TableEmit, TableProps } from '../Table.type';\nimport { getColumnKey } from '../utils';\n\nconst isSameColumn = (a: any, b: any) => {\n if (a && b && a.key && a.key === b.key) {\n return true;\n }\n return a === b || shallowequal(a, b);\n};\n\nexport default function useFilterAndSort(props: TableProps, updatedDatas: ComputedRef<InnerDataItem[]>, emit: TableEmit) {\n const currentSortColumn = ref<TableColumn | null>(null);\n const currentSortOrder = ref<ColumnSortOrder | null>(null);\n const currentFilters = ref<Record<string, (string | number)[]> | null>(null);\n const paginationOptions = reactive({} as PaginationProps);\n const sortDirections = ['ascend', 'descend'] as ColumnSortOrder[];\n const getDefaultSort = () => {\n const rst = flatFilter(props.columns, (column) => {\n return !!column.sortOrder && !column.children;\n });\n if (rst.length > 0) {\n currentSortColumn.value = rst[0];\n currentSortOrder.value = rst[0].sortOrder || null;\n }\n };\n\n const getDefaultFilters = () => {\n const rst = {} as Record<string, any>;\n let index = 0;\n treeMap(props.columns, (column) => {\n const colKey = getColumnKey(column, index);\n index += 1;\n if (column.filteredValue !== undefined && !column.children) {\n rst[colKey] = column.filteredValue;\n }\n });\n currentFilters.value = rst;\n };\n\n const restSortColumn = () => {\n currentSortColumn.value = null;\n currentSortOrder.value = null;\n currentFilters.value = null;\n };\n\n watch(\n computed(() => props.columns),\n () => {\n restSortColumn();\n getDefaultSort();\n getDefaultFilters();\n },\n { immediate: true }\n );\n\n // =========== sort ============\n // #region\n const hasSorters = (column: InnerColumn) => {\n return column.sortable && !column.children;\n };\n\n const isSortColumn = (column: InnerColumn) => {\n if (!column || !currentSortColumn.value) {\n return false;\n }\n return isSameColumn(column, currentSortColumn.value);\n };\n\n const isAscend = (column: InnerColumn) => {\n return isSortColumn(column) && currentSortOrder.value === 'ascend';\n };\n\n const isDescend = (column: InnerColumn) => {\n return isSortColumn(column) && currentSortOrder.value === 'descend';\n };\n\n const getSortDirections = (column: InnerColumn) => {\n return column.sortDirections || sortDirections;\n };\n\n const hasAscend = (column: InnerColumn) => {\n return getSortDirections(column).indexOf('ascend') !== -1;\n };\n\n const hasDescend = (column: InnerColumn) => {\n return getSortDirections(column).indexOf('descend') !== -1;\n };\n\n const toggleSortOrder = (column: InnerColumn) => {\n const directions = column.sortDirections || sortDirections;\n let newSortOrder;\n if (isSortColumn(column) && currentSortOrder.value !== null) {\n const index = directions.indexOf(currentSortOrder.value) + 1;\n newSortOrder = index === directions.length ? null : directions[index];\n } else {\n newSortOrder = directions[0];\n }\n currentSortOrder.value = newSortOrder;\n currentSortColumn.value = column;\n\n emit('change', paginationOptions, { column: currentSortColumn.value, order: currentSortOrder.value }, currentFilters.value);\n };\n\n const getSorterFn = () => {\n const sortOrder = currentSortOrder.value;\n const sortColumn = currentSortColumn.value;\n if (!sortOrder || !sortColumn || sortColumn.sortable === 'custom') {\n return;\n }\n return (a: any, b: any) => {\n if (sortColumn.sortFn) {\n const rst = sortColumn.sortFn(a.dataRef, b.dataRef);\n return sortOrder === 'descend' ? -rst : rst;\n }\n const key = sortColumn.dataIndex || sortColumn.key;\n if (sortOrder === 'ascend') {\n return a.dataRef[key] > b.dataRef[key] ? 1 : -1;\n }\n return a.dataRef[key] < b.dataRef[key] ? 1 : -1;\n };\n };\n\n // #endregion\n\n // ================= filter ======================\n // #region\n\n const hasFilters = (column: InnerColumn) => {\n return column.filterable && !column.children;\n };\n\n const setColumnFilter = (column: InnerColumn, selectedKeys: (string | number)[]) => {\n const colKey = getColumnKey(column);\n currentFilters.value = {\n ...currentFilters.value,\n [colKey]: selectedKeys\n };\n emit('change', paginationOptions, { column: currentSortColumn.value, order: currentSortOrder.value }, currentFilters.value);\n };\n\n const isFiltered = (column: InnerColumn) => {\n const filterValue = currentFilters.value?.[getColumnKey(column)];\n return hasFilters(column) && filterValue !== undefined && filterValue.length > 0;\n };\n\n // #endregion\n\n const hasAction = (column: InnerColumn) => {\n return hasSorters(column) || hasFilters(column);\n };\n\n const findColumn = (key: string) => {\n let column: TableColumn | undefined;\n let index = 0;\n let find = false;\n treeMap<TableColumn, void>(props.columns, (node: TableColumn) => {\n if (find) {\n return;\n }\n const colKey = getColumnKey(node, index);\n index += 1;\n if (colKey === key) {\n column = node;\n find = true;\n }\n });\n return column;\n };\n\n const filteredDatas = computed(() => {\n let data = updatedDatas.value || [];\n const sorterFn = getSorterFn();\n\n if (sorterFn) {\n data = treeSort([...data], sorterFn);\n }\n\n const filters = currentFilters.value;\n if (filters) {\n Object.keys(filters).forEach((colKey) => {\n const column = findColumn(colKey);\n if (!column) {\n return;\n }\n const values = filters[colKey] || [];\n\n if (values.length === 0) {\n return;\n }\n const { filterFn } = column;\n if (filterFn) {\n data = data.filter((row) => {\n return values.some((v) => filterFn(v, row.dataRef));\n });\n }\n });\n }\n return data;\n });\n\n // ================= pagination ==================\n\n watch(\n () => props.pagination,\n () => {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { position, align, pageSize, current, ...restProps } = props.pagination || {};\n paginationOptions.pageSize = pageSize || 10;\n paginationOptions.current = current || 1;\n\n Object.keys(restProps).forEach((key) => {\n (paginationOptions as any)[key] = (restProps as any)[key];\n });\n },\n { immediate: true, deep: true }\n );\n\n const getPageTotal = (total: number) => {\n const { current, pageSize } = paginationOptions;\n if ((current - 1) * pageSize >= total) {\n return Math.floor((total - 1) / pageSize) + 1;\n }\n return current;\n };\n\n const computedPageTotal = computed(() => {\n return paginationOptions.total || filteredDatas.value.length;\n });\n\n const currentDatas = computed(() => {\n if (props.showPagination) {\n const { pageSize } = paginationOptions;\n const current = getPageTotal(computedPageTotal.value);\n\n if (filteredDatas.value.length > pageSize) {\n return filteredDatas.value.slice((current - 1) * pageSize, current * pageSize);\n }\n }\n return filteredDatas.value;\n });\n\n const handlePageChange = (page: number) => {\n paginationOptions.current = page;\n emit('change', paginationOptions, { column: currentSortColumn.value, order: currentSortOrder.value }, currentFilters.value);\n };\n\n const handlePageSizeChange = (size: number, current: number) => {\n paginationOptions.pageSize = size;\n paginationOptions.current = current;\n emit('change', paginationOptions, { column: currentSortColumn.value, order: currentSortOrder.value }, currentFilters.value);\n };\n\n return {\n hasAction,\n hasSorters,\n hasFilters,\n isSortColumn,\n isAscend,\n isDescend,\n isFiltered,\n hasAscend,\n hasDescend,\n toggleSortOrder,\n setColumnFilter,\n currentDatas,\n paginationOptions,\n computedPageTotal,\n handlePageChange,\n handlePageSizeChange\n };\n}\n"],"names":[],"mappings":"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"}
@@ -121,7 +121,8 @@ function useFilterAndSort(props, updatedDatas, emit) {
121
121
  };
122
122
  const isFiltered = (column) => {
123
123
  var _a;
124
- return hasFilters(column) && ((_a = currentFilters.value) == null ? void 0 : _a[utils.getColumnKey(column)]) !== void 0;
124
+ const filterValue = (_a = currentFilters.value) == null ? void 0 : _a[utils.getColumnKey(column)];
125
+ return hasFilters(column) && filterValue !== void 0 && filterValue.length > 0;
125
126
  };
126
127
  const hasAction = (column) => {
127
128
  return hasSorters(column) || hasFilters(column);
@@ -1 +1 @@
1
- {"version":3,"file":"useFilterSortPage.js","sources":["../../../../../src/components/Table/hooks/useFilterSortPage.ts"],"sourcesContent":["import { computed, ref, watch, reactive } from 'vue';\nimport type { ComputedRef } from 'vue';\nimport { flatFilter, shallowequal, treeMap, treeSort } from '../../../utils/tools';\nimport type { PaginationProps } from '../../Pagination/Pagination.type';\nimport type { ColumnSortOrder, InnerColumn, InnerDataItem, TableColumn, TableEmit, TableProps } from '../Table.type';\nimport { getColumnKey } from '../utils';\n\nconst isSameColumn = (a: any, b: any) => {\n if (a && b && a.key && a.key === b.key) {\n return true;\n }\n return a === b || shallowequal(a, b);\n};\n\nexport default function useFilterAndSort(props: TableProps, updatedDatas: ComputedRef<InnerDataItem[]>, emit: TableEmit) {\n const currentSortColumn = ref<TableColumn | null>(null);\n const currentSortOrder = ref<ColumnSortOrder | null>(null);\n const currentFilters = ref<Record<string, (string | number)[]> | null>(null);\n const paginationOptions = reactive({} as PaginationProps);\n const sortDirections = ['ascend', 'descend'] as ColumnSortOrder[];\n const getDefaultSort = () => {\n const rst = flatFilter(props.columns, (column) => {\n return !!column.sortOrder && !column.children;\n });\n if (rst.length > 0) {\n currentSortColumn.value = rst[0];\n currentSortOrder.value = rst[0].sortOrder || null;\n }\n };\n\n const getDefaultFilters = () => {\n const rst = {} as Record<string, any>;\n let index = 0;\n treeMap(props.columns, (column) => {\n const colKey = getColumnKey(column, index);\n index += 1;\n if (column.filteredValue !== undefined && !column.children) {\n rst[colKey] = column.filteredValue;\n }\n });\n currentFilters.value = rst;\n };\n\n const restSortColumn = () => {\n currentSortColumn.value = null;\n currentSortOrder.value = null;\n currentFilters.value = null;\n };\n\n watch(\n computed(() => props.columns),\n () => {\n restSortColumn();\n getDefaultSort();\n getDefaultFilters();\n },\n { immediate: true }\n );\n\n // =========== sort ============\n // #region\n const hasSorters = (column: InnerColumn) => {\n return column.sortable && !column.children;\n };\n\n const isSortColumn = (column: InnerColumn) => {\n if (!column || !currentSortColumn.value) {\n return false;\n }\n return isSameColumn(column, currentSortColumn.value);\n };\n\n const isAscend = (column: InnerColumn) => {\n return isSortColumn(column) && currentSortOrder.value === 'ascend';\n };\n\n const isDescend = (column: InnerColumn) => {\n return isSortColumn(column) && currentSortOrder.value === 'descend';\n };\n\n const getSortDirections = (column: InnerColumn) => {\n return column.sortDirections || sortDirections;\n };\n\n const hasAscend = (column: InnerColumn) => {\n return getSortDirections(column).indexOf('ascend') !== -1;\n };\n\n const hasDescend = (column: InnerColumn) => {\n return getSortDirections(column).indexOf('descend') !== -1;\n };\n\n const toggleSortOrder = (column: InnerColumn) => {\n const directions = column.sortDirections || sortDirections;\n let newSortOrder;\n if (isSortColumn(column) && currentSortOrder.value !== null) {\n const index = directions.indexOf(currentSortOrder.value) + 1;\n newSortOrder = index === directions.length ? null : directions[index];\n } else {\n newSortOrder = directions[0];\n }\n currentSortOrder.value = newSortOrder;\n currentSortColumn.value = column;\n\n emit('change', paginationOptions, { column: currentSortColumn.value, order: currentSortOrder.value }, currentFilters.value);\n };\n\n const getSorterFn = () => {\n const sortOrder = currentSortOrder.value;\n const sortColumn = currentSortColumn.value;\n if (!sortOrder || !sortColumn || sortColumn.sortable === 'custom') {\n return;\n }\n return (a: any, b: any) => {\n if (sortColumn.sortFn) {\n const rst = sortColumn.sortFn(a.dataRef, b.dataRef);\n return sortOrder === 'descend' ? -rst : rst;\n }\n const key = sortColumn.dataIndex || sortColumn.key;\n if (sortOrder === 'ascend') {\n return a.dataRef[key] > b.dataRef[key] ? 1 : -1;\n }\n return a.dataRef[key] < b.dataRef[key] ? 1 : -1;\n };\n };\n\n // #endregion\n\n // ================= filter ======================\n // #region\n\n const hasFilters = (column: InnerColumn) => {\n return column.filterable && !column.children;\n };\n\n const setColumnFilter = (column: InnerColumn, selectedKeys: (string | number)[]) => {\n const colKey = getColumnKey(column);\n currentFilters.value = {\n ...currentFilters.value,\n [colKey]: selectedKeys\n };\n emit('change', paginationOptions, { column: currentSortColumn.value, order: currentSortOrder.value }, currentFilters.value);\n };\n\n const isFiltered = (column: InnerColumn) => {\n return hasFilters(column) && currentFilters.value?.[getColumnKey(column)] !== undefined;\n };\n\n // #endregion\n\n const hasAction = (column: InnerColumn) => {\n return hasSorters(column) || hasFilters(column);\n };\n\n const findColumn = (key: string) => {\n let column: TableColumn | undefined;\n let index = 0;\n let find = false;\n treeMap<TableColumn, void>(props.columns, (node: TableColumn) => {\n if (find) {\n return;\n }\n const colKey = getColumnKey(node, index);\n index += 1;\n if (colKey === key) {\n column = node;\n find = true;\n }\n });\n return column;\n };\n\n const filteredDatas = computed(() => {\n let data = updatedDatas.value || [];\n const sorterFn = getSorterFn();\n\n if (sorterFn) {\n data = treeSort([...data], sorterFn);\n }\n\n const filters = currentFilters.value;\n if (filters) {\n Object.keys(filters).forEach((colKey) => {\n const column = findColumn(colKey);\n if (!column) {\n return;\n }\n const values = filters[colKey] || [];\n\n if (values.length === 0) {\n return;\n }\n const { filterFn } = column;\n if (filterFn) {\n data = data.filter((row) => {\n return values.some((v) => filterFn(v, row.dataRef));\n });\n }\n });\n }\n return data;\n });\n\n // ================= pagination ==================\n\n watch(\n () => props.pagination,\n () => {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { position, align, pageSize, current, ...restProps } = props.pagination || {};\n paginationOptions.pageSize = pageSize || 10;\n paginationOptions.current = current || 1;\n\n Object.keys(restProps).forEach((key) => {\n (paginationOptions as any)[key] = (restProps as any)[key];\n });\n },\n { immediate: true, deep: true }\n );\n\n const getPageTotal = (total: number) => {\n const { current, pageSize } = paginationOptions;\n if ((current - 1) * pageSize >= total) {\n return Math.floor((total - 1) / pageSize) + 1;\n }\n return current;\n };\n\n const computedPageTotal = computed(() => {\n return paginationOptions.total || filteredDatas.value.length;\n });\n\n const currentDatas = computed(() => {\n if (props.showPagination) {\n const { pageSize } = paginationOptions;\n const current = getPageTotal(computedPageTotal.value);\n\n if (filteredDatas.value.length > pageSize) {\n return filteredDatas.value.slice((current - 1) * pageSize, current * pageSize);\n }\n }\n return filteredDatas.value;\n });\n\n const handlePageChange = (page: number) => {\n paginationOptions.current = page;\n emit('change', paginationOptions, { column: currentSortColumn.value, order: currentSortOrder.value }, currentFilters.value);\n };\n\n const handlePageSizeChange = (size: number, current: number) => {\n paginationOptions.pageSize = size;\n paginationOptions.current = current;\n emit('change', paginationOptions, { column: currentSortColumn.value, order: currentSortOrder.value }, currentFilters.value);\n };\n\n return {\n hasAction,\n hasSorters,\n hasFilters,\n isSortColumn,\n isAscend,\n isDescend,\n isFiltered,\n hasAscend,\n hasDescend,\n toggleSortOrder,\n setColumnFilter,\n currentDatas,\n paginationOptions,\n computedPageTotal,\n handlePageChange,\n handlePageSizeChange\n };\n}\n"],"names":["shallowequal","ref","reactive","flatFilter","getColumnKey","computed","treeSort"],"mappings":"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"}
1
+ {"version":3,"file":"useFilterSortPage.js","sources":["../../../../../src/components/Table/hooks/useFilterSortPage.ts"],"sourcesContent":["import { computed, ref, watch, reactive } from 'vue';\nimport type { ComputedRef } from 'vue';\nimport { flatFilter, shallowequal, treeMap, treeSort } from '../../../utils/tools';\nimport type { PaginationProps } from '../../Pagination/Pagination.type';\nimport type { ColumnSortOrder, InnerColumn, InnerDataItem, TableColumn, TableEmit, TableProps } from '../Table.type';\nimport { getColumnKey } from '../utils';\n\nconst isSameColumn = (a: any, b: any) => {\n if (a && b && a.key && a.key === b.key) {\n return true;\n }\n return a === b || shallowequal(a, b);\n};\n\nexport default function useFilterAndSort(props: TableProps, updatedDatas: ComputedRef<InnerDataItem[]>, emit: TableEmit) {\n const currentSortColumn = ref<TableColumn | null>(null);\n const currentSortOrder = ref<ColumnSortOrder | null>(null);\n const currentFilters = ref<Record<string, (string | number)[]> | null>(null);\n const paginationOptions = reactive({} as PaginationProps);\n const sortDirections = ['ascend', 'descend'] as ColumnSortOrder[];\n const getDefaultSort = () => {\n const rst = flatFilter(props.columns, (column) => {\n return !!column.sortOrder && !column.children;\n });\n if (rst.length > 0) {\n currentSortColumn.value = rst[0];\n currentSortOrder.value = rst[0].sortOrder || null;\n }\n };\n\n const getDefaultFilters = () => {\n const rst = {} as Record<string, any>;\n let index = 0;\n treeMap(props.columns, (column) => {\n const colKey = getColumnKey(column, index);\n index += 1;\n if (column.filteredValue !== undefined && !column.children) {\n rst[colKey] = column.filteredValue;\n }\n });\n currentFilters.value = rst;\n };\n\n const restSortColumn = () => {\n currentSortColumn.value = null;\n currentSortOrder.value = null;\n currentFilters.value = null;\n };\n\n watch(\n computed(() => props.columns),\n () => {\n restSortColumn();\n getDefaultSort();\n getDefaultFilters();\n },\n { immediate: true }\n );\n\n // =========== sort ============\n // #region\n const hasSorters = (column: InnerColumn) => {\n return column.sortable && !column.children;\n };\n\n const isSortColumn = (column: InnerColumn) => {\n if (!column || !currentSortColumn.value) {\n return false;\n }\n return isSameColumn(column, currentSortColumn.value);\n };\n\n const isAscend = (column: InnerColumn) => {\n return isSortColumn(column) && currentSortOrder.value === 'ascend';\n };\n\n const isDescend = (column: InnerColumn) => {\n return isSortColumn(column) && currentSortOrder.value === 'descend';\n };\n\n const getSortDirections = (column: InnerColumn) => {\n return column.sortDirections || sortDirections;\n };\n\n const hasAscend = (column: InnerColumn) => {\n return getSortDirections(column).indexOf('ascend') !== -1;\n };\n\n const hasDescend = (column: InnerColumn) => {\n return getSortDirections(column).indexOf('descend') !== -1;\n };\n\n const toggleSortOrder = (column: InnerColumn) => {\n const directions = column.sortDirections || sortDirections;\n let newSortOrder;\n if (isSortColumn(column) && currentSortOrder.value !== null) {\n const index = directions.indexOf(currentSortOrder.value) + 1;\n newSortOrder = index === directions.length ? null : directions[index];\n } else {\n newSortOrder = directions[0];\n }\n currentSortOrder.value = newSortOrder;\n currentSortColumn.value = column;\n\n emit('change', paginationOptions, { column: currentSortColumn.value, order: currentSortOrder.value }, currentFilters.value);\n };\n\n const getSorterFn = () => {\n const sortOrder = currentSortOrder.value;\n const sortColumn = currentSortColumn.value;\n if (!sortOrder || !sortColumn || sortColumn.sortable === 'custom') {\n return;\n }\n return (a: any, b: any) => {\n if (sortColumn.sortFn) {\n const rst = sortColumn.sortFn(a.dataRef, b.dataRef);\n return sortOrder === 'descend' ? -rst : rst;\n }\n const key = sortColumn.dataIndex || sortColumn.key;\n if (sortOrder === 'ascend') {\n return a.dataRef[key] > b.dataRef[key] ? 1 : -1;\n }\n return a.dataRef[key] < b.dataRef[key] ? 1 : -1;\n };\n };\n\n // #endregion\n\n // ================= filter ======================\n // #region\n\n const hasFilters = (column: InnerColumn) => {\n return column.filterable && !column.children;\n };\n\n const setColumnFilter = (column: InnerColumn, selectedKeys: (string | number)[]) => {\n const colKey = getColumnKey(column);\n currentFilters.value = {\n ...currentFilters.value,\n [colKey]: selectedKeys\n };\n emit('change', paginationOptions, { column: currentSortColumn.value, order: currentSortOrder.value }, currentFilters.value);\n };\n\n const isFiltered = (column: InnerColumn) => {\n const filterValue = currentFilters.value?.[getColumnKey(column)];\n return hasFilters(column) && filterValue !== undefined && filterValue.length > 0;\n };\n\n // #endregion\n\n const hasAction = (column: InnerColumn) => {\n return hasSorters(column) || hasFilters(column);\n };\n\n const findColumn = (key: string) => {\n let column: TableColumn | undefined;\n let index = 0;\n let find = false;\n treeMap<TableColumn, void>(props.columns, (node: TableColumn) => {\n if (find) {\n return;\n }\n const colKey = getColumnKey(node, index);\n index += 1;\n if (colKey === key) {\n column = node;\n find = true;\n }\n });\n return column;\n };\n\n const filteredDatas = computed(() => {\n let data = updatedDatas.value || [];\n const sorterFn = getSorterFn();\n\n if (sorterFn) {\n data = treeSort([...data], sorterFn);\n }\n\n const filters = currentFilters.value;\n if (filters) {\n Object.keys(filters).forEach((colKey) => {\n const column = findColumn(colKey);\n if (!column) {\n return;\n }\n const values = filters[colKey] || [];\n\n if (values.length === 0) {\n return;\n }\n const { filterFn } = column;\n if (filterFn) {\n data = data.filter((row) => {\n return values.some((v) => filterFn(v, row.dataRef));\n });\n }\n });\n }\n return data;\n });\n\n // ================= pagination ==================\n\n watch(\n () => props.pagination,\n () => {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { position, align, pageSize, current, ...restProps } = props.pagination || {};\n paginationOptions.pageSize = pageSize || 10;\n paginationOptions.current = current || 1;\n\n Object.keys(restProps).forEach((key) => {\n (paginationOptions as any)[key] = (restProps as any)[key];\n });\n },\n { immediate: true, deep: true }\n );\n\n const getPageTotal = (total: number) => {\n const { current, pageSize } = paginationOptions;\n if ((current - 1) * pageSize >= total) {\n return Math.floor((total - 1) / pageSize) + 1;\n }\n return current;\n };\n\n const computedPageTotal = computed(() => {\n return paginationOptions.total || filteredDatas.value.length;\n });\n\n const currentDatas = computed(() => {\n if (props.showPagination) {\n const { pageSize } = paginationOptions;\n const current = getPageTotal(computedPageTotal.value);\n\n if (filteredDatas.value.length > pageSize) {\n return filteredDatas.value.slice((current - 1) * pageSize, current * pageSize);\n }\n }\n return filteredDatas.value;\n });\n\n const handlePageChange = (page: number) => {\n paginationOptions.current = page;\n emit('change', paginationOptions, { column: currentSortColumn.value, order: currentSortOrder.value }, currentFilters.value);\n };\n\n const handlePageSizeChange = (size: number, current: number) => {\n paginationOptions.pageSize = size;\n paginationOptions.current = current;\n emit('change', paginationOptions, { column: currentSortColumn.value, order: currentSortOrder.value }, currentFilters.value);\n };\n\n return {\n hasAction,\n hasSorters,\n hasFilters,\n isSortColumn,\n isAscend,\n isDescend,\n isFiltered,\n hasAscend,\n hasDescend,\n toggleSortOrder,\n setColumnFilter,\n currentDatas,\n paginationOptions,\n computedPageTotal,\n handlePageChange,\n handlePageSizeChange\n };\n}\n"],"names":["shallowequal","ref","reactive","flatFilter","getColumnKey","computed","treeSort"],"mappings":";;;;;;;;AAOA,MAAM,eAAe,CAAC,GAAQ,MAAW;AACvC,MAAI,KAAK,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK;AACtC,WAAO;AAAA;AAET,SAAO,MAAM,KAAKA,mBAAa,GAAG,CAAC;AACrC;SAEwB,iBAAiB,OAAmB,cAA4C,MAAiB;AACvH,QAAM,oBAAoBC,QAAwB,IAAI;AACtD,QAAM,mBAAmBA,QAA4B,IAAI;AACzD,QAAM,iBAAiBA,QAAgD,IAAI;AAC3E,QAAM,oBAAoBC,aAAS,EAAqB;AACxD,QAAM,iBAAiB,CAAC,UAAU,SAAS;AAC3C,QAAM,iBAAiB,MAAM;AAC3B,UAAM,MAAMC,iBAAW,MAAM,SAAS,CAAC,WAAW;AAChD,aAAO,CAAC,CAAC,OAAO,aAAa,CAAC,OAAO;AAAA,KACtC;AACD,QAAI,IAAI,SAAS,GAAG;AAClB,wBAAkB,QAAQ,IAAI;AAC9B,uBAAiB,QAAQ,IAAI,GAAG,aAAa;AAAA;AAC/C;AAGF,QAAM,oBAAoB,MAAM;AAC9B,UAAM,MAAM;AACZ,QAAI,QAAQ;AACZ,kBAAQ,MAAM,SAAS,CAAC,WAAW;AACjC,YAAM,SAASC,mBAAa,QAAQ,KAAK;AACzC,eAAS;AACT,UAAI,OAAO,kBAAkB,UAAa,CAAC,OAAO,UAAU;AAC1D,YAAI,UAAU,OAAO;AAAA;AACvB,KACD;AACD,mBAAe,QAAQ;AAAA;AAGzB,QAAM,iBAAiB,MAAM;AAC3B,sBAAkB,QAAQ;AAC1B,qBAAiB,QAAQ;AACzB,mBAAe,QAAQ;AAAA;AAGzB;AAAA,IACEC,aAAS,MAAM,MAAM,OAAO;AAAA,IAC5B,MAAM;AACJ;AACA;AACA;AAAkB;AACpB,IACA,EAAE,WAAW;AAAK;AAKpB,QAAM,aAAa,CAAC,WAAwB;AAC1C,WAAO,OAAO,YAAY,CAAC,OAAO;AAAA;AAGpC,QAAM,eAAe,CAAC,WAAwB;AAC5C,QAAI,CAAC,UAAU,CAAC,kBAAkB,OAAO;AACvC,aAAO;AAAA;AAET,WAAO,aAAa,QAAQ,kBAAkB,KAAK;AAAA;AAGrD,QAAM,WAAW,CAAC,WAAwB;AACxC,WAAO,aAAa,MAAM,KAAK,iBAAiB,UAAU;AAAA;AAG5D,QAAM,YAAY,CAAC,WAAwB;AACzC,WAAO,aAAa,MAAM,KAAK,iBAAiB,UAAU;AAAA;AAG5D,QAAM,oBAAoB,CAAC,WAAwB;AACjD,WAAO,OAAO,kBAAkB;AAAA;AAGlC,QAAM,YAAY,CAAC,WAAwB;AACzC,WAAO,kBAAkB,MAAM,EAAE,QAAQ,QAAQ,MAAM;AAAA;AAGzD,QAAM,aAAa,CAAC,WAAwB;AAC1C,WAAO,kBAAkB,MAAM,EAAE,QAAQ,SAAS,MAAM;AAAA;AAG1D,QAAM,kBAAkB,CAAC,WAAwB;AAC/C,UAAM,aAAa,OAAO,kBAAkB;AAC5C,QAAI;AACJ,QAAI,aAAa,MAAM,KAAK,iBAAiB,UAAU,MAAM;AAC3D,YAAM,QAAQ,WAAW,QAAQ,iBAAiB,KAAK,IAAI;AAC3D,qBAAe,UAAU,WAAW,SAAS,OAAO,WAAW;AAAA,WAC1D;AACL,qBAAe,WAAW;AAAA;AAE5B,qBAAiB,QAAQ;AACzB,sBAAkB,QAAQ;AAE1B,SAAK,UAAU,mBAAmB,EAAE,QAAQ,kBAAkB,OAAO,OAAO,iBAAiB,SAAS,eAAe,KAAK;AAAA;AAG5H,QAAM,cAAc,MAAM;AACxB,UAAM,YAAY,iBAAiB;AACnC,UAAM,aAAa,kBAAkB;AACrC,QAAI,CAAC,aAAa,CAAC,cAAc,WAAW,aAAa,UAAU;AACjE;AAAA;AAEF,WAAO,CAAC,GAAQ,MAAW;AACzB,UAAI,WAAW,QAAQ;AACrB,cAAM,MAAM,WAAW,OAAO,EAAE,SAAS,EAAE,OAAO;AAClD,eAAO,cAAc,YAAY,CAAC,MAAM;AAAA;AAE1C,YAAM,MAAM,WAAW,aAAa,WAAW;AAC/C,UAAI,cAAc,UAAU;AAC1B,eAAO,EAAE,QAAQ,OAAO,EAAE,QAAQ,OAAO,IAAI;AAAA;AAE/C,aAAO,EAAE,QAAQ,OAAO,EAAE,QAAQ,OAAO,IAAI;AAAA;AAC/C;AAQF,QAAM,aAAa,CAAC,WAAwB;AAC1C,WAAO,OAAO,cAAc,CAAC,OAAO;AAAA;AAGtC,QAAM,kBAAkB,CAAC,QAAqB,iBAAsC;AAClF,UAAM,SAASD,mBAAa,MAAM;AAClC,mBAAe,QAAQ;AAAA,MACrB,GAAG,eAAe;AAAA,MAClB,CAAC,SAAS;AAAA;AAEZ,SAAK,UAAU,mBAAmB,EAAE,QAAQ,kBAAkB,OAAO,OAAO,iBAAiB,SAAS,eAAe,KAAK;AAAA;AAG5H,QAAM,aAAa,CAAC,WAAwB;AAhJ9C;AAiJI,UAAM,eAAc,oBAAe,UAAf,mBAAuBA,mBAAa,MAAM;AAC9D,WAAO,WAAW,MAAM,KAAK,gBAAgB,UAAa,YAAY,SAAS;AAAA;AAKjF,QAAM,YAAY,CAAC,WAAwB;AACzC,WAAO,WAAW,MAAM,KAAK,WAAW,MAAM;AAAA;AAGhD,QAAM,aAAa,CAAC,QAAgB;AAClC,QAAI;AACJ,QAAI,QAAQ;AACZ,QAAI,OAAO;AACX,kBAA2B,MAAM,SAAS,CAAC,SAAsB;AAC/D,UAAI,MAAM;AACR;AAAA;AAEF,YAAM,SAASA,mBAAa,MAAM,KAAK;AACvC,eAAS;AACT,UAAI,WAAW,KAAK;AAClB,iBAAS;AACT,eAAO;AAAA;AACT,KACD;AACD,WAAO;AAAA;AAGT,QAAM,gBAAgBC,aAAS,MAAM;AACnC,QAAI,OAAO,aAAa,SAAS;AACjC,UAAM,WAAW;AAEjB,QAAI,UAAU;AACZ,aAAOC,eAAS,CAAC,GAAG,IAAI,GAAG,QAAQ;AAAA;AAGrC,UAAM,UAAU,eAAe;AAC/B,QAAI,SAAS;AACX,aAAO,KAAK,OAAO,EAAE,QAAQ,CAAC,WAAW;AACvC,cAAM,SAAS,WAAW,MAAM;AAChC,YAAI,CAAC,QAAQ;AACX;AAAA;AAEF,cAAM,SAAS,QAAQ,WAAW;AAElC,YAAI,OAAO,WAAW,GAAG;AACvB;AAAA;AAEF,cAAM,EAAE,aAAa;AACrB,YAAI,UAAU;AACZ,iBAAO,KAAK,OAAO,CAAC,QAAQ;AAC1B,mBAAO,OAAO,KAAK,CAAC,MAAM,SAAS,GAAG,IAAI,OAAO,CAAC;AAAA,WACnD;AAAA;AACH,OACD;AAAA;AAEH,WAAO;AAAA,GACR;AAID;AAAA,IACE,MAAM,MAAM;AAAA,IACZ,MAAM;AAEJ,YAAM,EAAE,UAAU,OAAO,UAAU,YAAY,cAAc,MAAM,cAAc;AACjF,wBAAkB,WAAW,YAAY;AACzC,wBAAkB,UAAU,WAAW;AAEvC,aAAO,KAAK,SAAS,EAAE,QAAQ,CAAC,QAAQ;AACtC,QAAC,kBAA0B,OAAQ,UAAkB;AAAA,OACtD;AAAA;AACH,IACA,EAAE,WAAW,MAAM,MAAM;AAAK;AAGhC,QAAM,eAAe,CAAC,UAAkB;AACtC,UAAM,EAAE,SAAS,aAAa;AAC9B,SAAK,UAAU,KAAK,YAAY,OAAO;AACrC,aAAO,KAAK,OAAO,QAAQ,KAAK,QAAQ,IAAI;AAAA;AAE9C,WAAO;AAAA;AAGT,QAAM,oBAAoBD,aAAS,MAAM;AACvC,WAAO,kBAAkB,SAAS,cAAc,MAAM;AAAA,GACvD;AAED,QAAM,eAAeA,aAAS,MAAM;AAClC,QAAI,MAAM,gBAAgB;AACxB,YAAM,EAAE,aAAa;AACrB,YAAM,UAAU,aAAa,kBAAkB,KAAK;AAEpD,UAAI,cAAc,MAAM,SAAS,UAAU;AACzC,eAAO,cAAc,MAAM,OAAO,UAAU,KAAK,UAAU,UAAU,QAAQ;AAAA;AAC/E;AAEF,WAAO,cAAc;AAAA,GACtB;AAED,QAAM,mBAAmB,CAAC,SAAiB;AACzC,sBAAkB,UAAU;AAC5B,SAAK,UAAU,mBAAmB,EAAE,QAAQ,kBAAkB,OAAO,OAAO,iBAAiB,SAAS,eAAe,KAAK;AAAA;AAG5H,QAAM,uBAAuB,CAAC,MAAc,YAAoB;AAC9D,sBAAkB,WAAW;AAC7B,sBAAkB,UAAU;AAC5B,SAAK,UAAU,mBAAmB,EAAE,QAAQ,kBAAkB,OAAO,OAAO,iBAAiB,SAAS,eAAe,KAAK;AAAA;AAG5H,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAEJ;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@koi-design/uxd-ui",
3
- "version": "14.0.38",
3
+ "version": "14.0.39",
4
4
  "description": "uxd ui component with vue3.0",
5
5
  "license": "MIT",
6
6
  "maintainers": [],