You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1 line
26 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

{"ast":null,"code":"import \"core-js/modules/es.array.push.js\";\nimport { inject, computed, h } from 'vue';\nimport { merge } from 'lodash-unified';\nimport '../../../../hooks/index.mjs';\nimport { getRowIdentity } from '../util.mjs';\nimport { TABLE_INJECTION_KEY } from '../tokens.mjs';\nimport useEvents from './events-helper.mjs';\nimport useStyles from './styles-helper.mjs';\nimport TdWrapper from './td-wrapper.mjs';\nimport { useNamespace } from '../../../../hooks/use-namespace/index.mjs';\nfunction useRender(props) {\n const parent = inject(TABLE_INJECTION_KEY);\n const ns = useNamespace(\"table\");\n const {\n handleDoubleClick,\n handleClick,\n handleContextMenu,\n handleMouseEnter,\n handleMouseLeave,\n handleCellMouseEnter,\n handleCellMouseLeave,\n tooltipContent,\n tooltipTrigger\n } = useEvents(props);\n const {\n getRowStyle,\n getRowClass,\n getCellStyle,\n getCellClass,\n getSpan,\n getColspanRealWidth\n } = useStyles(props);\n const firstDefaultColumnIndex = computed(() => {\n return props.store.states.columns.value.findIndex(({\n type\n }) => type === \"default\");\n });\n const getKeyOfRow = (row, index) => {\n const rowKey = parent.props.rowKey;\n if (rowKey) {\n return getRowIdentity(row, rowKey);\n }\n return index;\n };\n const rowRender = (row, $index, treeRowData, expanded = false) => {\n const {\n tooltipEffect,\n tooltipOptions,\n store\n } = props;\n const {\n indent,\n columns\n } = store.states;\n const rowClasses = getRowClass(row, $index);\n let display = true;\n if (treeRowData) {\n rowClasses.push(ns.em(\"row\", `level-${treeRowData.level}`));\n display = treeRowData.display;\n }\n const displayStyle = display ? null : {\n display: \"none\"\n };\n return h(\"tr\", {\n style: [displayStyle, getRowStyle(row, $index)],\n class: rowClasses,\n key: getKeyOfRow(row, $index),\n onDblclick: $event => handleDoubleClick($event, row),\n onClick: $event => handleClick($event, row),\n onContextmenu: $event => handleContextMenu($event, row),\n onMouseenter: () => handleMouseEnter($index),\n onMouseleave: handleMouseLeave\n }, columns.value.map((column, cellIndex) => {\n const {\n rowspan,\n colspan\n } = getSpan(row, column, $index, cellIndex);\n if (!rowspan || !colspan) {\n return null;\n }\n const columnData = Object.assign({}, column);\n columnData.realWidth = getColspanRealWidth(columns.value, colspan, cellIndex);\n const data = {\n store: props.store,\n _self: props.context || parent,\n column: columnData,\n row,\n $index,\n cellIndex,\n expanded\n };\n if (cellIndex === firstDefaultColumnIndex.value && treeRowData) {\n data.treeNode = {\n indent: treeRowData.level * indent.value,\n level: treeRowData.level\n };\n if (typeof treeRowData.expanded === \"boolean\") {\n data.treeNode.expanded = treeRowData.expanded;\n if (\"loading\" in treeRowData) {\n data.treeNode.loading = treeRowData.loading;\n }\n if (\"noLazyChildren\" in treeRowData) {\n data.treeNode.noLazyChildren = treeRowData.noLazyChildren;\n }\n }\n }\n const baseKey = `${getKeyOfRow(row, $index)},${cellIndex}`;\n const patchKey = columnData.columnKey || columnData.rawColumnKey || \"\";\n const mergedTooltipOptions = column.showOverflowTooltip && merge({\n effect: tooltipEffect\n }, tooltipOptions, column.showOverflowTooltip);\n return h(TdWrapper, {\n style: getCellStyle($index, cellIndex, row, column),\n class: getCellClass($index, cellIndex, row, column, colspan - 1),\n key: `${patchKey}${baseKey}`,\n rowspan,\n colspan,\n onMouseenter: $event => handleCellMouseEnter($event, row, mergedTooltipOptions),\n onMouseleave: handleCellMouseLeave\n }, {\n default: () => cellChildren(cellIndex, column, data)\n });\n }));\n };\n const cellChildren = (cellIndex, column, data) => {\n return column.renderCell(data);\n };\n const wrappedRowRender = (row, $index) => {\n const store = props.store;\n const {\n isRowExpanded,\n assertRowKey\n } = store;\n const {\n treeData,\n lazyTreeNodeMap,\n childrenColumnName,\n rowKey\n } = store.states;\n const columns = store.states.columns.value;\n const hasExpandColumn = columns.some(({\n type\n }) => type === \"expand\");\n if (hasExpandColumn) {\n const expanded = isRowExpanded(row);\n const tr = rowRender(row, $index, void 0, expanded);\n const renderExpanded = parent.renderExpanded;\n if (expanded) {\n if (!renderExpanded) {\n console.error(\"[Element Error]renderExpanded is required.\");\n return tr;\n }\n return [[tr, h(\"tr\", {\n key: `expanded-row__${tr.key}`\n }, [h(\"td\", {\n colspan: columns.length,\n class: `${ns.e(\"cell\")} ${ns.e(\"expanded-cell\")}`\n }, [renderExpanded({\n row,\n $index,\n store,\n expanded\n })])])]];\n } else {\n return [[tr]];\n }\n } else if (Object.keys(treeData.value).length) {\n assertRowKey();\n const key = getRowIdentity(row, rowKey.value);\n let cur = treeData.value[key];\n let treeRowData = null;\n if (cur) {\n treeRowData = {\n expanded: cur.expanded,\n level: cur.level,\n display: true\n };\n if (typeof cur.lazy === \"boolean\") {\n if (typeof cur.loaded === \"boolean\" && cur.loaded) {\n treeRowData.noLazyChildren = !(cur.children && cur.children.length);\n }\n treeRowData.loading = cur.loading;\n }\n }\n const tmp = [rowRender(row, $index, treeRowData)];\n if (cur) {\n let i = 0;\n const traverse = (children, parent2) => {\n if (!(children && children.length && parent2)) return;\n children.forEach(node => {\n const innerTreeRowData = {\n display: parent2.display && parent2.expanded,\n level: parent2.level + 1,\n expanded: false,\n noLazyChildren: false,\n loading: false\n };\n const childKey = getRowIdentity(node, rowKey.value);\n if (childKey === void 0 || childKey === null) {\n throw new Error(\"For nested data item, row-key is required.\");\n }\n cur = {\n ...treeData.value[childKey]\n };\n if (cur) {\n innerTreeRowData.expanded = cur.expanded;\n cur.level = cur.level || innerTreeRowData.level;\n cur.display = !!(cur.expanded && innerTreeRowData.display);\n if (typeof cur.lazy === \"boolean\") {\n if (typeof cur.loaded === \"boolean\" && cur.loaded) {\n innerTreeRowData.noLazyChildren = !(cur.children && cur.children.length);\n }\n innerTreeRowData.loading = cur.loading;\n }\n }\n i++;\n tmp.push(rowRender(node, $index + i, innerTreeRowData));\n if (cur) {\n const nodes2 = lazyTreeNodeMap.value[childKey] || node[childrenColumnName.value];\n traverse(nodes2, cur);\n }\n });\n };\n cur.display = true;\n const nodes = lazyTreeNodeMap.value[key] || row[childrenColumnName.value];\n traverse(nodes, cur);\n }\n return tmp;\n } else {\n return rowRender(row, $index, void 0);\n }\n };\n return {\n wrappedRowRender,\n tooltipContent,\n tooltipTrigger\n };\n}\nexport { useRender as default };","map":{"version":3,"names":["useRender","props","parent","inject","TABLE_INJECTION_KEY","ns","useNamespace","handleDoubleClick","handleClick","handleContextMenu","handleMouseEnter","handleMouseLeave","handleCellMouseEnter","handleCellMouseLeave","tooltipContent","tooltipTrigger","useEvents","getRowStyle","getRowClass","getCellStyle","getCellClass","getSpan","getColspanRealWidth","useStyles","firstDefaultColumnIndex","computed","store","states","columns","value","findIndex","type","getKeyOfRow","row","index","rowKey","getRowIdentity","rowRender","$index","treeRowData","expanded","tooltipEffect","tooltipOptions","indent","rowClasses","display","push","em","level","displayStyle","h","style","class","key","onDblclick","$event","onClick","onContextmenu","onMouseenter","onMouseleave","map","column","cellIndex","rowspan","colspan","columnData","Object","assign","realWidth","data","_self","context","treeNode","loading","noLazyChildren","baseKey","patchKey","columnKey","rawColumnKey","mergedTooltipOptions","showOverflowTooltip","merge","effect","TdWrapper","default","cellChildren","renderCell","wrappedRowRender","isRowExpanded","assertRowKey","treeData","lazyTreeNodeMap","childrenColumnName","hasExpandColumn","some","tr","renderExpanded","console","error","length","e","keys","cur","lazy","loaded","children","tmp","i","traverse","parent2","forEach","node","innerTreeRowData","childKey","Error","nodes2","nodes"],"sources":["../../../../../../../packages/components/table/src/table-body/render-helper.ts"],"sourcesContent":["// @ts-nocheck\nimport { computed, h, inject } from 'vue'\nimport { merge } from 'lodash-unified'\nimport { useNamespace } from '@element-plus/hooks'\nimport { getRowIdentity } from '../util'\nimport { TABLE_INJECTION_KEY } from '../tokens'\nimport useEvents from './events-helper'\nimport useStyles from './styles-helper'\nimport TdWrapper from './td-wrapper.vue'\nimport type { TableBodyProps } from './defaults'\nimport type { RenderRowData, TableProps, TreeNode } from '../table/defaults'\n\nfunction useRender<T>(props: Partial<TableBodyProps<T>>) {\n const parent = inject(TABLE_INJECTION_KEY)\n const ns = useNamespace('table')\n const {\n handleDoubleClick,\n handleClick,\n handleContextMenu,\n handleMouseEnter,\n handleMouseLeave,\n handleCellMouseEnter,\n handleCellMouseLeave,\n tooltipContent,\n tooltipTrigger,\n } = useEvents(props)\n const {\n getRowStyle,\n getRowClass,\n getCellStyle,\n getCellClass,\n getSpan,\n getColspanRealWidth,\n } = useStyles(props)\n const firstDefaultColumnIndex = computed(() => {\n return props.store.states.columns.value.findIndex(\n ({ type }) => type === 'default'\n )\n })\n const getKeyOfRow = (row: T, index: number) => {\n const rowKey = (parent.props as Partial<TableProps<T>>).rowKey\n if (rowKey) {\n return getRowIdentity(row, rowKey)\n }\n return index\n }\n const rowRender = (\n row: T,\n $index: number,\n treeRowData?: TreeNode,\n expanded = false\n ) => {\n const { tooltipEffect, tooltipOptions, store } = props\n const { indent, columns } = store.states\n const rowClasses = getRowClass(row, $index)\n let display = true\n if (treeRowData) {\n rowClasses.push(ns.em('row', `level-${treeRowData.level}`))\n display = treeRowData.display\n }\n const displayStyle = display\n ? null\n : {\n display: 'none',\n }\n return h(\n 'tr',\n {\n style: [displayStyle, getRowStyle(row, $index)],\n class: rowClasses,\n key: getKeyOfRow(row, $index),\n onDblclick: ($event) => handleDoubleClick($event, row),\n onClick: ($event) => handleClick($event, row),\n onContextmenu: ($event) => handleContextMenu($event, row),\n onMouseenter: () => handleMouseEnter($index),\n onMouseleave: handleMouseLeave,\n },\n columns.value.map((column, cellIndex) => {\n const { rowspan, colspan } = getSpan(row, column, $index, cellIndex)\n if (!rowspan || !colspan) {\n return null\n }\n const columnData = Object.assign({}, column)\n columnData.realWidth = getColspanRealWidth(\n columns.value,\n colspan,\n cellIndex\n )\n const data: RenderRowData<T> = {\n store: props.store,\n _self: props.context || parent,\n column: columnData,\n row,\n $index,\n cellIndex,\n expanded,\n }\n if (cellIndex === firstDefaultColumnIndex.value && treeRowData) {\n data.treeNode = {\n indent: treeRowData.level * indent.value,\n level: treeRowData.level,\n }\n if (typeof treeRowData.expanded === 'boolean') {\n data.treeNode.expanded = treeRowData.expanded\n // 表明是懒加载\n if ('loading' in treeRowData) {\n data.treeNode.loading = treeRowData.loading\n }\n if ('noLazyChildren' in treeRowData) {\n data.treeNode.noLazyChildren = treeRowData.noLazyChildren\n }\n }\n }\n const baseKey = `${getKeyOfRow(row, $index)},${cellIndex}`\n const patchKey = columnData.columnKey || columnData.rawColumnKey || ''\n const mergedTooltipOptions =\n column.showOverflowTooltip &&\n merge(\n {\n effect: tooltipEffect,\n },\n tooltipOptions,\n column.showOverflowTooltip\n )\n return h(\n TdWrapper,\n {\n style: getCellStyle($index, cellIndex, row, column),\n class: getCellClass($index, cellIndex, row, column, colspan - 1),\n key: `${patchKey}${baseKey}`,\n rowspan,\n colspan,\n onMouseenter: ($event) =>\n handleCellMouseEnter($event, row, mergedTooltipOptions),\n onMouseleave: handleCellMouseLeave,\n },\n {\n default: () => cellChildren(cellIndex, column, data),\n }\n )\n })\n )\n }\n const cellChildren = (cellIndex, column, data) => {\n return column.renderCell(data)\n }\n\n const wrappedRowRender = (row: T, $index: number) => {\n const store = props.store\n const { isRowExpanded, assertRowKey } = store\n const { treeData, lazyTreeNodeMap, childrenColumnName, rowKey } =\n store.states\n const columns = store.states.columns.value\n const hasExpandColumn = columns.some(({ type }) => type === 'expand')\n if (hasExpandColumn) {\n const expanded = isRowExpanded(row)\n const tr = rowRender(row, $index, undefined, expanded)\n const renderExpanded = parent.renderExpanded\n if (expanded) {\n if (!renderExpanded) {\n console.error('[Element Error]renderExpanded is required.')\n return tr\n }\n // 使用二维数组,避免修改 $index\n // Use a matrix to avoid modifying $index\n return [\n [\n tr,\n h(\n 'tr',\n {\n key: `expanded-row__${tr.key as string}`,\n },\n [\n h(\n 'td',\n {\n colspan: columns.length,\n class: `${ns.e('cell')} ${ns.e('expanded-cell')}`,\n },\n [renderExpanded({ row, $index, store, expanded })]\n ),\n ]\n ),\n ],\n ]\n } else {\n // 使用二维数组,避免修改 $index\n // Use a two dimensional array avoid modifying $index\n return [[tr]]\n }\n } else if (Object.keys(treeData.value).length) {\n assertRowKey()\n // TreeTable 时rowKey 必须由用户设定,不使用 getKeyOfRow 计算\n // 在调用 rowRender 函数时,仍然会计算 rowKey不太好的操作\n const key = getRowIdentity(row, rowKey.value)\n let cur = treeData.value[key]\n let treeRowData = null\n if (cur) {\n treeRowData = {\n expanded: cur.expanded,\n level: cur.level,\n display: true,\n }\n if (typeof cur.lazy === 'boolean') {\n if (typeof cur.loaded === 'boolean' && cur.loaded) {\n treeRowData.noLazyChildren = !(cur.children && cur.children.length)\n }\n treeRowData.loading = cur.loading\n }\n }\n const tmp = [rowRender(row, $index, treeRowData)]\n // 渲染嵌套数据\n if (cur) {\n // currentRow 记录的是 index所以还需主动增加 TreeTable 的 index\n let i = 0\n const traverse = (children, parent) => {\n if (!(children && children.length && parent)) return\n children.forEach((node) => {\n // 父节点的 display 状态影响子节点的显示状态\n const innerTreeRowData = {\n display: parent.display && parent.expanded,\n level: parent.level + 1,\n expanded: false,\n noLazyChildren: false,\n loading: false,\n }\n const childKey = getRowIdentity(node, rowKey.value)\n if (childKey === undefined || childKey === null) {\n throw new Error('For nested data item, row-key is required.')\n }\n cur = { ...treeData.value[childKey] }\n // 对于当前节点,分成有无子节点两种情况。\n // 如果包含子节点的,设置 expanded 属性。\n // 对于它子节点的 display 属性由它本身的 expanded 与 display 共同决定。\n if (cur) {\n innerTreeRowData.expanded = cur.expanded\n // 懒加载的某些节点level 未知\n cur.level = cur.level || innerTreeRowData.level\n cur.display = !!(cur.expanded && innerTreeRowData.display)\n if (typeof cur.lazy === 'boolean') {\n if (typeof cur.loaded === 'boolean' && cur.loaded) {\n innerTreeRowData.noLazyChildren = !(\n cur.children && cur.children.length\n )\n }\n innerTreeRowData.loading = cur.loading\n }\n }\n i++\n tmp.push(rowRender(node, $index + i, innerTreeRowData))\n if (cur) {\n const nodes =\n lazyTreeNodeMap.value[childKey] ||\n node[childrenColumnName.value]\n traverse(nodes, cur)\n }\n })\n }\n // 对于 root 节点display 一定为 true\n cur.display = true\n const nodes =\n lazyTreeNodeMap.value[key] || row[childrenColumnName.value]\n traverse(nodes, cur)\n }\n return tmp\n } else {\n return rowRender(row, $index, undefined)\n }\n }\n\n return {\n wrappedRowRender,\n tooltipContent,\n tooltipTrigger,\n }\n}\n\nexport default useRender\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}