UNPKG

ideaz-element

Version:

<p align="center"> <a href="" target="_blank" rel="noopener noreferrer"> <img src="./docs/public/logo.svg" alt="Ideaz Element" width="180" style="width: 180px;" /> </a> </p>

1 lines 17.1 kB
{"version":3,"file":"useFixedTableCols.mjs","sources":["../../../../../../packages/element/table/src/hooks/useFixedTableCols.ts"],"sourcesContent":["import { isArray, isObject } from '@ideaz/utils'\nimport type { CheckboxValueType } from 'element-plus'\nimport type { ToolBarProps } from '../props'\nimport { getCheckData, getIsReturnToolBar } from '../utils'\nimport type { TableCol } from '../../../types'\n\n// function getArrayDifference(array1: TableCol[], array2: string[]) {\n// const uidSet = new Set(array2)\n\n// const difference = array1.filter(obj => !uidSet.has(obj.__uid))\n\n// return difference.map(obj => obj.__uid)\n// }\n\n// function sortByUidOrder(array1: TableCol[], array2: TableCol[]) {\n// const uidMap: any = {}\n\n// array1.forEach((obj, index) => {\n// uidMap[obj.__uid] = index\n// })\n\n// const sortedArray = array2.sort((a, b) => {\n// const indexA = uidMap[a.__uid]\n// const indexB = uidMap[b.__uid]\n// return indexA - indexB\n// })\n\n// return sortedArray\n// }\n\nfunction insertObjectByFieldValue(array1: TableCol[], objToInsert: TableCol, array2: TableCol[], fieldName = '__uid') {\n const fieldValue = objToInsert[fieldName]\n const index = array1.findIndex(obj => obj[fieldName] === fieldValue)\n\n if (index !== -1)\n array2.splice(index, 0, objToInsert)\n\n return array2\n}\n\nfunction removeObjectsByFieldValue(array: TableCol[], fieldValue: any, fieldName = '__uid') {\n return array.filter(obj => obj[fieldName] !== fieldValue)\n}\n\nfunction removeItemsByValue(array: string[], value: any) {\n return array.filter(item => item !== value)\n}\n\nexport function useFixedTableCols(props: ToolBarProps, emit: any, centerCheckedTableCols: Ref<string[]>) {\n const leftFixedTableCols = ref<TableCol[]>(props.originFormatTableCols.filter((tableCol: TableCol) => tableCol.fixed === 'left'))\n const rightFixedTableCols = ref<TableCol[]>(props.originFormatTableCols.filter((tableCol: TableCol) => tableCol.fixed === 'right'))\n const oldLeftFixedTableCols = ref<TableCol[]>(props.originFormatTableCols.filter((tableCol: TableCol) => tableCol.fixed === 'left'))\n const oldRightFixedTableCols = ref<TableCol[]>(props.originFormatTableCols.filter((tableCol: TableCol) => tableCol.fixed === 'right'))\n const leftCheckedTableColsUids = ref<string[]>(leftFixedTableCols.value.map(item => item.__uid!))\n const rightCheckedTableColsUids = ref<string[]>(rightFixedTableCols.value.map(item => item.__uid!))\n\n const originSortTableCols = computed(() => {\n return props.originFormatTableCols.filter((item: TableCol) => {\n return getIsReturnToolBar(item, props.toolBar)\n })\n })\n\n const handleTableColFixedFromCenter = (tableCol: TableCol, direction: 'left' | 'right') => {\n let middleTableList: TableCol[] = []\n let sortTableList: TableCol[] = []\n const item = { ...tableCol, fixed: direction }\n\n middleTableList = removeObjectsByFieldValue(props.middleTableCols, tableCol.__uid)\n sortTableList = removeObjectsByFieldValue(props.sortTableCols, tableCol.__uid)\n\n // if checked, when push to left or right, checked too\n if (centerCheckedTableCols.value.includes(tableCol.__uid!)) {\n if (direction === 'left')\n leftCheckedTableColsUids.value.push(tableCol.__uid!)\n\n if (direction === 'right')\n rightCheckedTableColsUids.value.push(tableCol.__uid!)\n\n // if checked, delete checked uids at the same time\n const centerCheckedIndex = centerCheckedTableCols.value.findIndex((uid: string) => tableCol.__uid === uid)\n if (centerCheckedIndex > -1)\n centerCheckedTableCols.value.splice(centerCheckedIndex, 1)\n }\n\n if (direction === 'left')\n leftFixedTableCols.value.push(item)\n\n if (direction === 'right')\n rightFixedTableCols.value.push(item)\n\n emit('columns-change', middleTableList.filter(item => !item.fixed).concat(getCheckedFixedCols(direction)))\n emit('table-cols-change', sortTableList)\n }\n\n const handleFixedTableColFromSide = (tableCol: TableCol, direction: 'left' | 'right') => {\n const middleTableList = [...props.middleTableCols]\n const item = { ...tableCol, fixed: direction }\n\n if (direction === 'left') {\n leftFixedTableCols.value.push(item)\n if (rightCheckedTableColsUids.value.includes(tableCol.__uid!))\n leftCheckedTableColsUids.value.push(tableCol.__uid!)\n\n rightFixedTableCols.value = removeObjectsByFieldValue(rightFixedTableCols.value, tableCol.__uid)\n rightCheckedTableColsUids.value = removeItemsByValue(rightCheckedTableColsUids.value, tableCol.__uid)\n }\n else {\n rightFixedTableCols.value.push(item)\n if (leftCheckedTableColsUids.value.includes(tableCol.__uid!))\n rightCheckedTableColsUids.value.push(tableCol.__uid!)\n\n leftFixedTableCols.value = removeObjectsByFieldValue(leftFixedTableCols.value, tableCol.__uid)\n leftCheckedTableColsUids.value = removeItemsByValue(leftCheckedTableColsUids.value, tableCol.__uid)\n }\n\n removeObjectsByFieldValue(middleTableList, tableCol.__uid)\n emit('columns-change', middleTableList.filter(item => !item.fixed).concat(getCheckedFixedCols(direction)))\n }\n\n const handleUnfixedTableCol = (tableCol: TableCol) => {\n let middleTableList: TableCol[] = []\n const sortTableList = [...props.sortTableCols]\n const item = { ...tableCol, fixed: false }\n\n // if fixed column checked, center column checked too\n if (leftCheckedTableColsUids.value.includes(tableCol.__uid!) || rightCheckedTableColsUids.value.includes(tableCol.__uid!))\n centerCheckedTableCols.value.push(tableCol.__uid!)\n\n leftCheckedTableColsUids.value = removeItemsByValue(leftCheckedTableColsUids.value, tableCol.__uid)\n rightCheckedTableColsUids.value = removeItemsByValue(rightCheckedTableColsUids.value, tableCol.__uid)\n\n leftFixedTableCols.value = removeObjectsByFieldValue(leftFixedTableCols.value, tableCol.__uid)\n rightFixedTableCols.value = removeObjectsByFieldValue(rightFixedTableCols.value, tableCol.__uid)\n middleTableList = removeObjectsByFieldValue(props.middleTableCols, tableCol.__uid)\n\n insertObjectByFieldValue(getOriginFormatTableColsWithoutFixed(item), item, middleTableList)\n insertObjectByFieldValue(getOriginSortTableColsWithoutFixed(tableCol), item, sortTableList)\n\n emit('columns-change', middleTableList.filter(item => !item.fixed).concat(getCheckedFixedCols(false)))\n emit('table-cols-change', sortTableList)\n }\n\n const handleResetFixedTableCols = () => {\n const tableCols = props.originFormatTableCols.filter((item) => {\n if (isObject(props.toolBar)) {\n return isArray(props.toolBar.exclude)\n ? !props.toolBar.exclude.includes(item.label)\n : true\n }\n return true\n })\n\n leftFixedTableCols.value = props.originFormatTableCols.filter((tableCol: TableCol) => tableCol.fixed === 'left')\n rightFixedTableCols.value = props.originFormatTableCols.filter((tableCol: TableCol) => tableCol.fixed === 'right')\n leftCheckedTableColsUids.value = tableCols.filter((tableCol: TableCol) => tableCol.fixed === 'left').map(item => item.__uid!)\n rightCheckedTableColsUids.value = tableCols.filter((tableCol: TableCol) => tableCol.fixed === 'right').map(item => item.__uid!)\n }\n\n const handleFixedCheckedTableColsChange = (direction: 'left' | 'right', checkedData: CheckboxValueType[]) => {\n const tableCols = getCheckedFixedCols(direction, checkedData)\n emit('columns-change', props.middleTableCols.filter(item => !item.fixed).concat(tableCols))\n }\n\n const handleSideFixedDragChange = (direction: 'left' | 'right') => {\n if (direction === 'left')\n oldLeftFixedTableCols.value = [...leftFixedTableCols.value]\n\n else\n oldRightFixedTableCols.value = [...rightFixedTableCols.value]\n }\n\n const handleSortTableCols = (dragData: any, direction: 'left' | 'right') => {\n const { oldIndex, newIndex } = dragData\n const sortList = direction === 'left' ? oldLeftFixedTableCols.value : oldRightFixedTableCols.value\n const dragItem = { ...sortList[oldIndex] }\n const oldItem = { ...sortList[newIndex] }\n const dragItemIndex = props.middleTableCols.findIndex((item: TableCol) => item.__uid === dragItem.__uid)\n const oldItemIndex = props.middleTableCols.findIndex((item: TableCol) => item.__uid === oldItem.__uid)\n const middleTableCols = [...props.middleTableCols]\n if (dragItemIndex > -1 && oldItemIndex > -1) {\n middleTableCols.splice(dragItemIndex, 1)\n middleTableCols.splice(oldItemIndex, 0, dragItem)\n emit('columns-change', middleTableCols)\n }\n }\n\n function getCheckedFixedCols(direction: 'left' | 'right' | false, checkedUids?: CheckboxValueType[]) {\n let tableCols: TableCol[] = []\n const checkedData = checkedUids || (direction === 'left' ? leftCheckedTableColsUids.value : rightCheckedTableColsUids.value)\n if (direction === 'left')\n tableCols = tableCols.concat(leftFixedTableCols.value.filter(item => checkedData.includes(item.__uid!)), rightFixedTableCols.value.filter(item => rightCheckedTableColsUids.value.includes(item.__uid!)))\n\n else\n tableCols = tableCols.concat(rightFixedTableCols.value.filter(item => checkedData.includes(item.__uid!)), leftFixedTableCols.value.filter(item => leftCheckedTableColsUids.value.includes(item.__uid!)))\n\n return tableCols\n }\n\n // get origin formatTableCols to reset fixed table column\n function getOriginFormatTableColsWithoutFixed(tableCol: TableCol) {\n const fixedUids = leftCheckedTableColsUids.value.concat(rightCheckedTableColsUids.value).filter(uid => uid !== tableCol.__uid)\n\n return getCheckData(props.toolBar, props.originFormatTableCols).filter(item => !fixedUids.includes(item.__uid!)\n && (centerCheckedTableCols.value.includes(item.__uid!) || leftCheckedTableColsUids.value.includes(item.__uid!) || rightCheckedTableColsUids.value.includes(item.__uid!)))\n }\n\n function getOriginSortTableColsWithoutFixed(tableCol: TableCol) {\n const fixedUids = leftFixedTableCols.value.concat(rightFixedTableCols.value).filter(item => item.__uid !== tableCol.__uid).map(item => item.__uid)\n\n return props.originFormatTableCols.filter(item => !fixedUids.includes(item.__uid))\n }\n\n return {\n handleTableColFixedFromCenter,\n leftFixedTableCols,\n rightFixedTableCols,\n originSortTableCols,\n handleResetFixedTableCols,\n handleSortTableCols,\n leftCheckedTableColsUids,\n rightCheckedTableColsUids,\n handleSideFixedDragChange,\n handleUnfixedTableCol,\n handleFixedTableColFromSide,\n handleFixedCheckedTableColsChange,\n }\n}\n"],"names":["insertObjectByFieldValue","array1","objToInsert","array2","fieldName","fieldValue","index","obj","removeObjectsByFieldValue","array","removeItemsByValue","value","item","useFixedTableCols","props","emit","centerCheckedTableCols","leftFixedTableCols","ref","tableCol","rightFixedTableCols","oldLeftFixedTableCols","oldRightFixedTableCols","leftCheckedTableColsUids","rightCheckedTableColsUids","originSortTableCols","computed","getIsReturnToolBar","handleTableColFixedFromCenter","direction","middleTableList","sortTableList","centerCheckedIndex","uid","item2","getCheckedFixedCols","handleFixedTableColFromSide","handleUnfixedTableCol","getOriginFormatTableColsWithoutFixed","getOriginSortTableColsWithoutFixed","handleResetFixedTableCols","tableCols","isObject","isArray","handleFixedCheckedTableColsChange","checkedData","handleSideFixedDragChange","handleSortTableCols","dragData","oldIndex","newIndex","sortList","dragItem","oldItem","dragItemIndex","oldItemIndex","middleTableCols","checkedUids","fixedUids","getCheckData"],"mappings":"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"}