UNPKG

element-plus

Version:

A Component Library for Vue 3

1 lines 4.99 kB
{"version":3,"file":"defaults.mjs","sources":["../../../../../../../packages/components/table/src/table-column/defaults.ts"],"sourcesContent":["import type { PropType, ComponentInternalInstance, Ref, VNode } from 'vue'\nimport type { DefaultRow, Table } from '../table/defaults'\n\ntype CI<T> = { column: TableColumnCtx<T>; $index: number }\n\ntype Filters = {\n text: string\n value: string\n}[]\n\ntype FilterMethods<T> = (value, row: T, column: TableColumnCtx<T>) => void\n\ntype ValueOf<T> = T[keyof T]\n\ninterface TableColumnCtx<T> {\n id: string\n realWidth: number\n type: string\n label: string\n className: string\n labelClassName: string\n property: string\n prop: string\n width: string | number\n minWidth: string | number\n renderHeader: (data: CI<T>) => VNode\n sortable: boolean | string\n sortMethod: (a: T, b: T) => number\n sortBy: string | ((row: T, index: number) => string) | string[]\n resizable: boolean\n columnKey: string\n rawColumnKey: string\n align: string\n headerAlign: string\n showTooltipWhenOverflow: boolean\n showOverflowTooltip: boolean\n fixed: boolean | string\n formatter: (\n row: T,\n column: TableColumnCtx<T>,\n cellValue,\n index: number\n ) => VNode\n selectable: (row: T, index: number) => boolean\n reserveSelection: boolean\n filterMethod: FilterMethods<T>\n filteredValue: string[]\n filters: Filters\n filterPlacement: string\n filterMultiple: boolean\n index: number | ((index: number) => number)\n sortOrders: ('ascending' | 'descending' | null)[]\n renderCell: (data: any) => void\n colSpan: number\n rowSpan: number\n children: TableColumnCtx<T>[]\n level: number\n filterable: boolean | FilterMethods<T> | Filters\n order: string\n isColumnGroup: boolean\n columns: TableColumnCtx<T>[]\n getColumnIndex: () => number\n no: number\n filterOpened?: boolean\n}\n\ninterface TableColumn<T> extends ComponentInternalInstance {\n vnode: {\n vParent: TableColumn<T> | Table<T>\n } & VNode\n vParent: TableColumn<T> | Table<T>\n columnId: string\n columnConfig: Ref<Partial<TableColumnCtx<T>>>\n}\n\nexport type { Filters, FilterMethods, TableColumnCtx, TableColumn, ValueOf }\n\nexport default {\n type: {\n type: String,\n default: 'default',\n },\n label: String,\n className: String,\n labelClassName: String,\n property: String,\n prop: String,\n width: {\n type: [String, Number],\n default: '',\n },\n minWidth: {\n type: [String, Number],\n default: '',\n },\n renderHeader: Function as PropType<\n TableColumnCtx<DefaultRow>['renderHeader']\n >,\n sortable: {\n type: [Boolean, String],\n default: false,\n },\n sortMethod: Function as PropType<TableColumnCtx<DefaultRow>['sortMethod']>,\n sortBy: [String, Function, Array] as PropType<\n TableColumnCtx<DefaultRow>['sortBy']\n >,\n resizable: {\n type: Boolean,\n default: true,\n },\n columnKey: String,\n align: String,\n headerAlign: String,\n showTooltipWhenOverflow: Boolean,\n showOverflowTooltip: Boolean,\n fixed: [Boolean, String],\n formatter: Function as PropType<TableColumnCtx<DefaultRow>['formatter']>,\n selectable: Function as PropType<TableColumnCtx<DefaultRow>['selectable']>,\n reserveSelection: Boolean,\n filterMethod: Function as PropType<\n TableColumnCtx<DefaultRow>['filterMethod']\n >,\n filteredValue: Array as PropType<TableColumnCtx<DefaultRow>['filteredValue']>,\n filters: Array as PropType<TableColumnCtx<DefaultRow>['filters']>,\n filterPlacement: String,\n filterMultiple: {\n type: Boolean,\n default: true,\n },\n index: [Number, Function] as PropType<TableColumnCtx<DefaultRow>['index']>,\n sortOrders: {\n type: Array as PropType<TableColumnCtx<DefaultRow>['sortOrders']>,\n default: () => {\n return ['ascending', 'descending', null]\n },\n validator: (val: TableColumnCtx<unknown>['sortOrders']) => {\n return val.every(\n (order: string) => ['ascending', 'descending', null].indexOf(order) > -1\n )\n },\n },\n}\n"],"names":[],"mappings":"AA6EA,mBAAe;AAAA,EACb,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,OAAO;AAAA,EACP,WAAW;AAAA,EACX,gBAAgB;AAAA,EAChB,UAAU;AAAA,EACV,MAAM;AAAA,EACN,OAAO;AAAA,IACL,MAAM,CAAC,QAAQ;AAAA,IACf,SAAS;AAAA;AAAA,EAEX,UAAU;AAAA,IACR,MAAM,CAAC,QAAQ;AAAA,IACf,SAAS;AAAA;AAAA,EAEX,cAAc;AAAA,EAGd,UAAU;AAAA,IACR,MAAM,CAAC,SAAS;AAAA,IAChB,SAAS;AAAA;AAAA,EAEX,YAAY;AAAA,EACZ,QAAQ,CAAC,QAAQ,UAAU;AAAA,EAG3B,WAAW;AAAA,IACT,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,WAAW;AAAA,EACX,OAAO;AAAA,EACP,aAAa;AAAA,EACb,yBAAyB;AAAA,EACzB,qBAAqB;AAAA,EACrB,OAAO,CAAC,SAAS;AAAA,EACjB,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,kBAAkB;AAAA,EAClB,cAAc;AAAA,EAGd,eAAe;AAAA,EACf,SAAS;AAAA,EACT,iBAAiB;AAAA,EACjB,gBAAgB;AAAA,IACd,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,OAAO,CAAC,QAAQ;AAAA,EAChB,YAAY;AAAA,IACV,MAAM;AAAA,IACN,SAAS,MAAM;AACb,aAAO,CAAC,aAAa,cAAc;AAAA;AAAA,IAErC,WAAW,CAAC,QAA+C;AACzD,aAAO,IAAI,MACT,CAAC,UAAkB,CAAC,aAAa,cAAc,MAAM,QAAQ,SAAS;AAAA;AAAA;AAAA;;;;"}