element-plus
Version:
A Component Library for Vue 3
1 lines • 7.16 kB
Source Map (JSON)
{"version":3,"file":"table.mjs","sources":["../../../../../../packages/components/table-v2/src/table.ts"],"sourcesContent":["import { buildProps, definePropType } from '@element-plus/utils'\nimport {\n virtualizedGridProps,\n virtualizedScrollbarProps,\n} from '@element-plus/components/virtual-list'\nimport {\n classType,\n columns,\n dataType,\n expandKeys,\n fixedDataType,\n requiredNumber,\n rowKey,\n} from './common'\nimport { tableV2RowProps } from './row'\nimport { tableV2HeaderProps } from './header'\nimport { tableV2GridProps } from './grid'\n\nimport type {\n CSSProperties,\n ExtractPropTypes,\n ExtractPublicPropTypes,\n} from 'vue'\nimport type { SortOrder } from './constants'\nimport type {\n Column,\n ColumnCommonParams,\n DataGetter,\n KeyType,\n RowCommonParams,\n SortBy,\n SortState,\n} from './types'\n\n/**\n * Param types\n */\nexport type ColumnSortParams<T> = {\n column: Column<T>\n key: KeyType\n order: SortOrder\n}\n\n/**\n * Renderer/Getter types\n */\n\nexport type ExtraCellPropGetter<T> = (\n params: ColumnCommonParams<T> &\n RowCommonParams & { cellData: T; rowData: any }\n) => any\n\nexport type ExtractHeaderPropGetter<T> = (params: {\n columns: Column<T>[]\n headerIndex: number\n}) => any\n\nexport type ExtractHeaderCellPropGetter<T> = (\n params: ColumnCommonParams<T> & { headerIndex: number }\n) => any\n\nexport type ExtractRowPropGetter<T> = (\n params: { columns: Column<T>[] } & RowCommonParams\n) => any\n\nexport type HeaderClassNameGetter<T> = (params: {\n columns: Column<T>[]\n headerIndex: number\n}) => string\n\nexport type RowClassNameGetter<T> = (\n params: { columns: Column<T>[] } & RowCommonParams\n) => string\n\n/**\n * Handler types\n */\nexport type ColumnSortHandler<T> = (params: ColumnSortParams<T>) => void\nexport type ColumnResizeHandler<T> = (column: Column<T>, width: number) => void\nexport type ExpandedRowsChangeHandler = (expandedRowKeys: KeyType[]) => void\n\nexport const tableV2Props = buildProps({\n cache: tableV2GridProps.cache,\n estimatedRowHeight: tableV2RowProps.estimatedRowHeight,\n rowKey,\n // Header attributes\n headerClass: {\n type: definePropType<string | HeaderClassNameGetter<any>>([\n String,\n Function,\n ]),\n },\n headerProps: {\n type: definePropType<any | ExtractHeaderPropGetter<any>>([\n Object,\n Function,\n ]),\n },\n headerCellProps: {\n type: definePropType<any | ExtractHeaderCellPropGetter<any>>([\n Object,\n Function,\n ]),\n },\n headerHeight: tableV2HeaderProps.headerHeight,\n /**\n * Footer attributes\n */\n footerHeight: {\n type: Number,\n default: 0,\n },\n /**\n * Row attributes\n */\n rowClass: {\n type: definePropType<string | RowClassNameGetter<any>>([String, Function]),\n },\n rowProps: {\n type: definePropType<ExtractRowPropGetter<any> | any>([Object, Function]),\n },\n rowHeight: {\n type: Number,\n default: 50,\n },\n\n /**\n * Cell attributes\n */\n cellProps: {\n type: definePropType<Record<string, any> | ExtraCellPropGetter<any>>([\n Object,\n Function,\n ]),\n },\n /**\n * Data models\n */\n columns,\n data: dataType,\n dataGetter: {\n type: definePropType<DataGetter<any>>(Function),\n },\n fixedData: fixedDataType,\n /**\n * Expanded keys\n */\n expandColumnKey: tableV2RowProps.expandColumnKey,\n expandedRowKeys: expandKeys,\n defaultExpandedRowKeys: expandKeys,\n\n /**\n * Attributes\n */\n class: classType,\n // disabled: Boolean,\n fixed: Boolean,\n style: {\n type: definePropType<CSSProperties>(Object),\n },\n width: requiredNumber,\n height: requiredNumber,\n maxHeight: Number,\n useIsScrolling: Boolean,\n indentSize: {\n type: Number,\n default: 12,\n },\n iconSize: {\n type: Number,\n default: 12,\n },\n hScrollbarSize: virtualizedGridProps.hScrollbarSize,\n vScrollbarSize: virtualizedGridProps.vScrollbarSize,\n scrollbarAlwaysOn: virtualizedScrollbarProps.alwaysOn,\n\n /**\n * Sorting\n */\n sortBy: {\n type: definePropType<SortBy>(Object),\n default: () => ({}) as { key: KeyType; order: SortOrder },\n },\n sortState: {\n type: definePropType<SortState>(Object),\n default: undefined,\n },\n\n /**\n * Handlers\n */\n onColumnSort: {\n type: definePropType<ColumnSortHandler<any>>(Function),\n },\n onExpandedRowsChange: {\n type: definePropType<ExpandedRowsChangeHandler>(Function),\n },\n onEndReached: {\n type: definePropType<(remainDistance: number) => void>(Function),\n },\n onRowExpand: tableV2RowProps.onRowExpand,\n onScroll: tableV2GridProps.onScroll,\n onRowsRendered: tableV2GridProps.onRowsRendered,\n rowEventHandlers: tableV2RowProps.rowEventHandlers,\n} as const)\n\nexport type TableV2Props = ExtractPropTypes<typeof tableV2Props>\nexport type TableV2PropsPublic = ExtractPublicPropTypes<typeof tableV2Props>\n"],"names":[],"mappings":";;;;;;;AAiFO,MAAM,eAAe,UAAA,CAAW;AAAA,EACrC,OAAO,gBAAA,CAAiB,KAAA;AAAA,EACxB,oBAAoB,eAAA,CAAgB,kBAAA;AAAA,EACpC,MAAA;AAAA;AAAA,EAEA,WAAA,EAAa;AAAA,IACX,MAAM,cAAA,CAAoD;AAAA,MACxD,MAAA;AAAA,MACA;AAAA,KACD;AAAA,GACH;AAAA,EACA,WAAA,EAAa;AAAA,IACX,MAAM,cAAA,CAAmD;AAAA,MACvD,MAAA;AAAA,MACA;AAAA,KACD;AAAA,GACH;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,MAAM,cAAA,CAAuD;AAAA,MAC3D,MAAA;AAAA,MACA;AAAA,KACD;AAAA,GACH;AAAA,EACA,cAAc,kBAAA,CAAmB,YAAA;AAAA;AAAA;AAAA;AAAA,EAIjC,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAIA,QAAA,EAAU;AAAA,IACR,IAAA,EAAM,cAAA,CAAiD,CAAC,MAAA,EAAQ,QAAQ,CAAC;AAAA,GAC3E;AAAA,EACA,QAAA,EAAU;AAAA,IACR,IAAA,EAAM,cAAA,CAAgD,CAAC,MAAA,EAAQ,QAAQ,CAAC;AAAA,GAC1E;AAAA,EACA,SAAA,EAAW;AAAA,IACT,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAKA,SAAA,EAAW;AAAA,IACT,MAAM,cAAA,CAA+D;AAAA,MACnE,MAAA;AAAA,MACA;AAAA,KACD;AAAA,GACH;AAAA;AAAA;AAAA;AAAA,EAIA,OAAA;AAAA,EACA,IAAA,EAAM,QAAA;AAAA,EACN,UAAA,EAAY;AAAA,IACV,IAAA,EAAM,eAAgC,QAAQ;AAAA,GAChD;AAAA,EACA,SAAA,EAAW,aAAA;AAAA;AAAA;AAAA;AAAA,EAIX,iBAAiB,eAAA,CAAgB,eAAA;AAAA,EACjC,eAAA,EAAiB,UAAA;AAAA,EACjB,sBAAA,EAAwB,UAAA;AAAA;AAAA;AAAA;AAAA,EAKxB,KAAA,EAAO,SAAA;AAAA;AAAA,EAEP,KAAA,EAAO,OAAA;AAAA,EACP,KAAA,EAAO;AAAA,IACL,IAAA,EAAM,eAA8B,MAAM;AAAA,GAC5C;AAAA,EACA,KAAA,EAAO,cAAA;AAAA,EACP,MAAA,EAAQ,cAAA;AAAA,EACR,SAAA,EAAW,MAAA;AAAA,EACX,cAAA,EAAgB,OAAA;AAAA,EAChB,UAAA,EAAY;AAAA,IACV,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,QAAA,EAAU;AAAA,IACR,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,gBAAgB,oBAAA,CAAqB,cAAA;AAAA,EACrC,gBAAgB,oBAAA,CAAqB,cAAA;AAAA,EACrC,mBAAmB,yBAAA,CAA0B,QAAA;AAAA;AAAA;AAAA;AAAA,EAK7C,MAAA,EAAQ;AAAA,IACN,IAAA,EAAM,eAAuB,MAAM,CAAA;AAAA,IACnC,OAAA,EAAS,OAAO,EAAC;AAAA,GACnB;AAAA,EACA,SAAA,EAAW;AAAA,IACT,IAAA,EAAM,eAA0B,MAAM,CAAA;AAAA,IACtC,OAAA,EAAS;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAKA,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,eAAuC,QAAQ;AAAA,GACvD;AAAA,EACA,oBAAA,EAAsB;AAAA,IACpB,IAAA,EAAM,eAA0C,QAAQ;AAAA,GAC1D;AAAA,EACA,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,eAAiD,QAAQ;AAAA,GACjE;AAAA,EACA,aAAa,eAAA,CAAgB,WAAA;AAAA,EAC7B,UAAU,gBAAA,CAAiB,QAAA;AAAA,EAC3B,gBAAgB,gBAAA,CAAiB,cAAA;AAAA,EACjC,kBAAkB,eAAA,CAAgB;AACpC,CAAU;;;;"}