element-plus
Version:
A Component Library for Vue 3
1 lines • 19.8 kB
Source Map (JSON)
{"version":3,"file":"table-v2.mjs","sources":["../../../../../../packages/components/table-v2/src/table-v2.tsx"],"sourcesContent":["import { defineComponent, provide, unref } from 'vue'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { useTable } from './use-table'\nimport { TableV2InjectionKey } from './tokens'\nimport { tableV2Props } from './table'\n// renderers\nimport MainTable from './renderers/main-table'\nimport LeftTable from './renderers/left-table'\nimport RightTable from './renderers/right-table'\nimport Row from './renderers/row'\nimport Cell from './renderers/cell'\nimport Header from './renderers/header'\nimport HeaderCell from './renderers/header-cell'\nimport Footer from './renderers/footer'\nimport Empty from './renderers/empty'\nimport Overlay from './renderers/overlay'\n\nimport type { CSSProperties } from 'vue'\nimport type { TableGridRowSlotParams } from './table-grid'\nimport type { ScrollStrategy } from './composables/use-scrollbar'\nimport type {\n TableV2HeaderRendererParams,\n TableV2HeaderRowCellRendererParams,\n TableV2RowCellRenderParam,\n} from './components'\nimport type { KeyType } from './types'\n\nconst COMPONENT_NAME = 'ElTableV2'\n\nconst TableV2 = defineComponent({\n name: COMPONENT_NAME,\n props: tableV2Props,\n setup(props, { slots, expose }) {\n const ns = useNamespace('table-v2')\n const { t } = useLocale()\n\n const {\n columnsStyles,\n fixedColumnsOnLeft,\n fixedColumnsOnRight,\n mainColumns,\n mainTableHeight,\n fixedTableHeight,\n leftTableWidth,\n rightTableWidth,\n data,\n depthMap,\n expandedRowKeys,\n hasFixedColumns,\n mainTableRef,\n leftTableRef,\n rightTableRef,\n isDynamic,\n isResetting,\n isScrolling,\n\n bodyWidth,\n emptyStyle,\n rootStyle,\n footerHeight,\n\n showEmpty,\n\n // exposes\n scrollTo,\n scrollToLeft,\n scrollToTop,\n scrollToRow,\n\n getRowHeight,\n onColumnSorted,\n onRowHeightChange,\n onRowHovered,\n onRowExpanded,\n onRowsRendered,\n onScroll,\n onVerticalScroll,\n } = useTable(props)\n\n expose({\n /**\n * @description scroll to a given position\n * @params params {{ scrollLeft?: number, scrollTop?: number }} where to scroll to.\n */\n scrollTo,\n /**\n * @description scroll to a given position horizontally\n * @params scrollLeft {Number} where to scroll to.\n */\n scrollToLeft,\n /**\n * @description scroll to a given position vertically\n * @params scrollTop { Number } where to scroll to.\n */\n scrollToTop,\n /**\n * @description scroll to a given row\n * @params row {Number} which row to scroll to\n * @params @optional strategy {ScrollStrategy} use what strategy to scroll to\n */\n scrollToRow,\n })\n\n provide(TableV2InjectionKey, {\n ns,\n isResetting,\n isScrolling,\n })\n\n return () => {\n const {\n cache,\n cellProps,\n estimatedRowHeight,\n expandColumnKey,\n fixedData,\n headerHeight,\n headerClass,\n headerProps,\n headerCellProps,\n sortBy,\n sortState,\n rowHeight,\n rowClass,\n rowEventHandlers,\n rowKey,\n rowProps,\n scrollbarAlwaysOn,\n indentSize,\n iconSize,\n useIsScrolling,\n vScrollbarSize,\n width,\n } = props\n\n const _data = unref(data)\n\n const mainTableProps = {\n cache,\n class: ns.e('main'),\n columns: unref(mainColumns),\n data: _data,\n fixedData,\n estimatedRowHeight,\n bodyWidth: unref(bodyWidth),\n headerHeight,\n headerWidth: unref(bodyWidth),\n height: unref(mainTableHeight),\n mainTableRef,\n rowKey,\n rowHeight,\n scrollbarAlwaysOn,\n scrollbarStartGap: 2,\n scrollbarEndGap: vScrollbarSize,\n useIsScrolling,\n width,\n getRowHeight,\n onRowsRendered,\n onScroll,\n }\n\n const leftColumnsWidth = unref(leftTableWidth)\n const _fixedTableHeight = unref(fixedTableHeight)\n\n const leftTableProps = {\n cache,\n class: ns.e('left'),\n columns: unref(fixedColumnsOnLeft),\n data: _data,\n fixedData,\n estimatedRowHeight,\n leftTableRef,\n rowHeight,\n bodyWidth: leftColumnsWidth,\n headerWidth: leftColumnsWidth,\n headerHeight,\n height: _fixedTableHeight,\n rowKey,\n scrollbarAlwaysOn,\n scrollbarStartGap: 2,\n scrollbarEndGap: vScrollbarSize,\n useIsScrolling,\n width: leftColumnsWidth,\n getRowHeight,\n onScroll: onVerticalScroll,\n }\n\n const rightColumnsWidth = unref(rightTableWidth)\n\n const rightTableProps = {\n cache,\n class: ns.e('right'),\n columns: unref(fixedColumnsOnRight),\n data: _data,\n fixedData,\n estimatedRowHeight,\n rightTableRef,\n rowHeight,\n bodyWidth: rightColumnsWidth,\n headerWidth: rightColumnsWidth,\n headerHeight,\n height: _fixedTableHeight,\n rowKey,\n scrollbarAlwaysOn,\n scrollbarStartGap: 2,\n scrollbarEndGap: vScrollbarSize,\n width: rightColumnsWidth,\n style: `${ns.cssVarName(\n 'table-scrollbar-size'\n )}: ${vScrollbarSize}px` as unknown as CSSProperties,\n useIsScrolling,\n getRowHeight,\n onScroll: onVerticalScroll,\n }\n const _columnsStyles = unref(columnsStyles)\n\n const tableRowProps = {\n ns,\n depthMap: unref(depthMap),\n columnsStyles: _columnsStyles,\n expandColumnKey,\n expandedRowKeys: unref(expandedRowKeys),\n estimatedRowHeight,\n hasFixedColumns: unref(hasFixedColumns),\n rowProps,\n rowClass,\n rowKey,\n rowEventHandlers,\n onRowHovered,\n onRowExpanded,\n onRowHeightChange,\n }\n\n const tableCellProps = {\n cellProps,\n expandColumnKey,\n indentSize,\n iconSize,\n rowKey,\n expandedRowKeys: unref(expandedRowKeys),\n ns,\n t,\n }\n\n const tableHeaderProps = {\n ns,\n headerClass,\n headerProps,\n columnsStyles: _columnsStyles,\n }\n\n const tableHeaderCellProps = {\n ns,\n t,\n\n sortBy,\n sortState,\n headerCellProps,\n onColumnSorted,\n }\n\n const tableSlots = {\n row: (props: TableGridRowSlotParams) => (\n <Row {...props} {...tableRowProps}>\n {{\n row: slots.row,\n cell: (props: TableV2RowCellRenderParam) =>\n slots.cell ? (\n <Cell\n {...props}\n {...tableCellProps}\n style={_columnsStyles[props.column.key as KeyType]}\n >\n {slots.cell(props)}\n </Cell>\n ) : (\n <Cell\n {...props}\n {...tableCellProps}\n style={_columnsStyles[props.column.key as KeyType]}\n />\n ),\n }}\n </Row>\n ),\n header: (props: TableV2HeaderRendererParams) => (\n <Header {...props} {...tableHeaderProps}>\n {{\n header: slots.header,\n cell: (props: TableV2HeaderRowCellRendererParams) =>\n slots['header-cell'] ? (\n <HeaderCell\n {...props}\n {...tableHeaderCellProps}\n style={_columnsStyles[props.column.key as KeyType]}\n >\n {slots['header-cell'](props)}\n </HeaderCell>\n ) : (\n <HeaderCell\n {...props}\n {...tableHeaderCellProps}\n style={_columnsStyles[props.column.key as KeyType]}\n />\n ),\n }}\n </Header>\n ),\n }\n\n const rootKls = [\n props.class,\n ns.b(),\n ns.e('root'),\n ns.is('dynamic', unref(isDynamic)),\n ]\n\n const footerProps = {\n class: ns.e('footer'),\n style: unref(footerHeight),\n }\n\n return (\n <div class={rootKls} style={unref(rootStyle)}>\n <MainTable {...mainTableProps}>{tableSlots}</MainTable>\n <LeftTable {...leftTableProps}>{tableSlots}</LeftTable>\n <RightTable {...rightTableProps}>{tableSlots}</RightTable>\n {slots.footer && (\n <Footer {...footerProps}>{{ default: slots.footer }}</Footer>\n )}\n {unref(showEmpty) && (\n <Empty class={ns.e('empty')} style={unref(emptyStyle)}>\n {{ default: slots.empty }}\n </Empty>\n )}\n {slots.overlay && (\n <Overlay class={ns.e('overlay')}>\n {{ default: slots.overlay }}\n </Overlay>\n )}\n </div>\n )\n }\n },\n})\n\nexport default TableV2\n\nexport type TableV2Instance = InstanceType<typeof TableV2> & {\n /**\n * @description scroll to a given position\n * @params params {{ scrollLeft?: number, scrollTop?: number }} where to scroll to.\n */\n scrollTo: (param: { scrollLeft?: number; scrollTop?: number }) => void\n /**\n * @description scroll to a given position horizontally\n * @params scrollLeft {Number} where to scroll to.\n */\n scrollToLeft: (scrollLeft: number) => void\n /**\n * @description scroll to a given position vertically\n * @params scrollTop { Number } where to scroll to.\n */\n scrollToTop: (scrollTop: number) => void\n /**\n * @description scroll to a given row\n * @params row {Number} which row to scroll to\n * @params strategy {ScrollStrategy} use what strategy to scroll to\n */\n scrollToRow(row: number, strategy?: ScrollStrategy): void\n}\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","COMPONENT_NAME","TableV2","defineComponent","name","props","tableV2Props","setup","slots","expose","ns","useNamespace","t","useLocale","columnsStyles","fixedColumnsOnLeft","fixedColumnsOnRight","mainColumns","mainTableHeight","fixedTableHeight","leftTableWidth","rightTableWidth","data","depthMap","expandedRowKeys","hasFixedColumns","mainTableRef","leftTableRef","rightTableRef","isDynamic","isResetting","isScrolling","bodyWidth","emptyStyle","rootStyle","footerHeight","showEmpty","scrollTo","scrollToLeft","scrollToTop","scrollToRow","getRowHeight","onColumnSorted","onRowHeightChange","onRowHovered","onRowExpanded","onRowsRendered","onScroll","onVerticalScroll","useTable","provide","TableV2InjectionKey","cache","cellProps","estimatedRowHeight","expandColumnKey","fixedData","headerHeight","headerClass","headerProps","headerCellProps","sortBy","sortState","rowHeight","rowClass","rowEventHandlers","rowKey","rowProps","scrollbarAlwaysOn","indentSize","iconSize","useIsScrolling","vScrollbarSize","width","_data","unref","mainTableProps","class","e","columns","headerWidth","height","scrollbarStartGap","scrollbarEndGap","leftColumnsWidth","_fixedTableHeight","leftTableProps","rightColumnsWidth","rightTableProps","style","cssVarName","_columnsStyles","tableRowProps","tableCellProps","tableHeaderProps","tableHeaderCellProps","tableSlots","row","_createVNode","Row","_mergeProps","cell","_slot","Cell","column","key","default","header","Header","_slot2","HeaderCell","rootKls","b","is","footerProps","MainTable","LeftTable","RightTable","footer","Footer","Empty","empty","overlay","Overlay"],"mappings":"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"}