UNPKG

element-plus

Version:

A Component Library for Vue 3

1 lines 20 kB
{"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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"}