@koi-design/uxd-ui 14.0.4 → 14.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/components/Calendar/Calendar.vue.d.ts +15 -0
- package/es/components/Calendar/Header.vue.d.ts +15 -0
- package/es/components/Calendar/index.d.ts +30 -0
- package/es/components/Radio/Radio.mjs +5 -4
- package/es/components/Radio/Radio.mjs.map +1 -1
- package/es/components/Radio/Radio.type.d.ts +4 -0
- package/es/components/Radio/Radio.type.mjs +4 -0
- package/es/components/Radio/Radio.type.mjs.map +1 -1
- package/es/components/Radio/Radio.vue.d.ts +9 -0
- package/es/components/Radio/index.d.ts +15 -0
- package/es/components/Table/BaseTable.mjs +20 -6
- package/es/components/Table/BaseTable.mjs.map +1 -1
- package/es/components/Table/BaseTable.vue.d.ts +44 -9
- package/es/components/Table/BodyTable.vue.d.ts +44 -9
- package/es/components/Table/HeadTable.vue.d.ts +44 -9
- package/es/components/Table/Table.mjs +8 -9
- package/es/components/Table/Table.mjs.map +1 -1
- package/es/components/Table/Table.type.d.ts +7 -5
- package/es/components/Table/Table.type.mjs.map +1 -1
- package/es/components/Table/Table.vue.d.ts +88 -18
- package/es/components/Table/TableBox.vue.d.ts +88 -18
- package/es/components/Table/hooks/useTableResize.d.ts +1 -1
- package/es/components/Table/hooks/useTableResize.mjs +13 -71
- package/es/components/Table/hooks/useTableResize.mjs.map +1 -1
- package/es/components/Table/tableUnits/ColGroup.mjs +8 -5
- package/es/components/Table/tableUnits/ColGroup.mjs.map +1 -1
- package/es/components/Table/tableUnits/ExpandIcon.mjs +2 -2
- package/es/components/Table/tableUnits/ExpandIcon.mjs.map +1 -1
- package/es/components/Table/tableUnits/ExpandIcon.vue.d.ts +3 -3
- package/es/components/Table/tableUnits/ExpandRows.mjs.map +1 -1
- package/es/components/Table/tableUnits/ExpandRows.vue.d.ts +21 -3
- package/es/components/Table/tableUnits/SelectionBox.vue.d.ts +15 -0
- package/es/components/Table/tableUnits/TableBody.vue.d.ts +42 -6
- package/es/components/Table/tableUnits/TableCell.mjs +108 -95
- package/es/components/Table/tableUnits/TableCell.mjs.map +1 -1
- package/es/components/Table/tableUnits/TableCell.vue.d.ts +21 -3
- package/es/components/Table/tableUnits/TableRow.vue.d.ts +21 -3
- package/es/components/Tabs/TabNav.mjs +4 -5
- package/es/components/Tabs/TabNav.mjs.map +1 -1
- package/es/components/Tabs/TabNav.vue.d.ts +1 -1
- package/es/components/Tabs/Tabs.d.ts +1 -1
- package/es/components/Tabs/index.d.ts +3 -3
- package/es/components/base/ResizeObserver.mjs +1 -1
- package/es/components/base/ResizeObserver.mjs.map +1 -1
- package/lib/components/Calendar/Calendar.vue.d.ts +15 -0
- package/lib/components/Calendar/Header.vue.d.ts +15 -0
- package/lib/components/Calendar/index.d.ts +30 -0
- package/lib/components/Radio/Radio.js +4 -3
- package/lib/components/Radio/Radio.js.map +1 -1
- package/lib/components/Radio/Radio.type.d.ts +4 -0
- package/lib/components/Radio/Radio.type.js +4 -0
- package/lib/components/Radio/Radio.type.js.map +1 -1
- package/lib/components/Radio/Radio.vue.d.ts +9 -0
- package/lib/components/Radio/index.d.ts +15 -0
- package/lib/components/Table/BaseTable.js +20 -6
- package/lib/components/Table/BaseTable.js.map +1 -1
- package/lib/components/Table/BaseTable.vue.d.ts +44 -9
- package/lib/components/Table/BodyTable.vue.d.ts +44 -9
- package/lib/components/Table/HeadTable.vue.d.ts +44 -9
- package/lib/components/Table/Table.js +7 -8
- package/lib/components/Table/Table.js.map +1 -1
- package/lib/components/Table/Table.type.d.ts +7 -5
- package/lib/components/Table/Table.type.js.map +1 -1
- package/lib/components/Table/Table.vue.d.ts +88 -18
- package/lib/components/Table/TableBox.vue.d.ts +88 -18
- package/lib/components/Table/hooks/useTableResize.d.ts +1 -1
- package/lib/components/Table/hooks/useTableResize.js +11 -69
- package/lib/components/Table/hooks/useTableResize.js.map +1 -1
- package/lib/components/Table/tableUnits/ColGroup.js +8 -5
- package/lib/components/Table/tableUnits/ColGroup.js.map +1 -1
- package/lib/components/Table/tableUnits/ExpandIcon.js +1 -1
- package/lib/components/Table/tableUnits/ExpandIcon.js.map +1 -1
- package/lib/components/Table/tableUnits/ExpandIcon.vue.d.ts +3 -3
- package/lib/components/Table/tableUnits/ExpandRows.js.map +1 -1
- package/lib/components/Table/tableUnits/ExpandRows.vue.d.ts +21 -3
- package/lib/components/Table/tableUnits/SelectionBox.vue.d.ts +15 -0
- package/lib/components/Table/tableUnits/TableBody.vue.d.ts +42 -6
- package/lib/components/Table/tableUnits/TableCell.js +107 -94
- package/lib/components/Table/tableUnits/TableCell.js.map +1 -1
- package/lib/components/Table/tableUnits/TableCell.vue.d.ts +21 -3
- package/lib/components/Table/tableUnits/TableRow.vue.d.ts +21 -3
- package/lib/components/Tabs/TabNav.js +3 -4
- package/lib/components/Tabs/TabNav.js.map +1 -1
- package/lib/components/Tabs/TabNav.vue.d.ts +1 -1
- package/lib/components/Tabs/Tabs.d.ts +1 -1
- package/lib/components/Tabs/index.d.ts +3 -3
- package/lib/components/base/ResizeObserver.js +1 -1
- package/lib/components/base/ResizeObserver.js.map +1 -1
- package/package.json +1 -1
- package/styles/components/alert/index.css +1 -1
- package/styles/components/autoComplete/index.css +1 -1
- package/styles/components/avatar/index.css +1 -1
- package/styles/components/button/index.css +1 -1
- package/styles/components/carousel/index.css +1 -1
- package/styles/components/cascader/index.css +1 -1
- package/styles/components/datePicker/index.css +1 -1
- package/styles/components/dropdown/index.css +1 -1
- package/styles/components/dropdown/index.less +2 -3
- package/styles/components/form/index.css +1 -1
- package/styles/components/icon/index.css +1 -1
- package/styles/components/input/index.css +1 -1
- package/styles/components/inputNumber/index.css +1 -1
- package/styles/components/link/index.css +1 -1
- package/styles/components/mentions/index.css +1 -1
- package/styles/components/modal/index.css +1 -1
- package/styles/components/select/index.css +1 -1
- package/styles/components/spin/index.css +1 -1
- package/styles/components/table/index.css +1 -1
- package/styles/components/table/index.less +106 -242
- package/styles/components/table/var.less +16 -31
- package/styles/components/tabs/borderCard.less +23 -27
- package/styles/components/tabs/card.less +18 -37
- package/styles/components/tabs/index.css +1 -1
- package/styles/components/tabs/index.less +103 -72
- package/styles/components/tabs/var.less +16 -71
- package/styles/components/timePicker/index.css +1 -1
- package/styles/cssVariable.css +1 -1
- package/styles/cssVariable.less +1 -1
- package/styles/index.css +1 -1
- package/types/components/Calendar/Calendar.vue.d.ts +15 -0
- package/types/components/Calendar/Header.vue.d.ts +15 -0
- package/types/components/Calendar/index.d.ts +30 -0
- package/types/components/Radio/Radio.type.d.ts +4 -0
- package/types/components/Radio/Radio.vue.d.ts +9 -0
- package/types/components/Radio/index.d.ts +15 -0
- package/types/components/Table/BaseTable.vue.d.ts +44 -9
- package/types/components/Table/BodyTable.vue.d.ts +44 -9
- package/types/components/Table/HeadTable.vue.d.ts +44 -9
- package/types/components/Table/Table.type.d.ts +7 -5
- package/types/components/Table/Table.vue.d.ts +88 -18
- package/types/components/Table/TableBox.vue.d.ts +88 -18
- package/types/components/Table/hooks/useTableResize.d.ts +1 -1
- package/types/components/Table/tableUnits/ExpandIcon.vue.d.ts +3 -3
- package/types/components/Table/tableUnits/ExpandRows.vue.d.ts +21 -3
- package/types/components/Table/tableUnits/SelectionBox.vue.d.ts +15 -0
- package/types/components/Table/tableUnits/TableBody.vue.d.ts +42 -6
- package/types/components/Table/tableUnits/TableCell.vue.d.ts +21 -3
- package/types/components/Table/tableUnits/TableRow.vue.d.ts +21 -3
- package/types/components/Tabs/TabNav.vue.d.ts +1 -1
- package/types/components/Tabs/Tabs.d.ts +1 -1
- package/types/components/Tabs/index.d.ts +3 -3
- package/uxd-ui.css +1 -1
- package/uxd-ui.esm.min.mjs +6 -6
- package/uxd-ui.esm.mjs +164 -191
- package/uxd-ui.umd.js +164 -191
- package/uxd-ui.umd.min.js +6 -6
|
@@ -34,8 +34,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
34
34
|
title?: string;
|
|
35
35
|
dataIndex?: string;
|
|
36
36
|
width?: string | number;
|
|
37
|
-
minWidth?:
|
|
38
|
-
maxWidth?: string | number;
|
|
37
|
+
minWidth?: number;
|
|
39
38
|
fixed?: import("./Table.type").ColumnFixed;
|
|
40
39
|
align?: import("./Table.type").ColumnAlign;
|
|
41
40
|
ellipsis?: boolean;
|
|
@@ -46,7 +45,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
46
45
|
filterable?: boolean;
|
|
47
46
|
filters?: import("./Table.type").ColumnFilter[];
|
|
48
47
|
filterFn?: import("./Table.type").ColumnFilterFn;
|
|
49
|
-
filterIcon?: string
|
|
48
|
+
filterIcon?: string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions, {}, any>;
|
|
50
49
|
filterIconStyle?: CSSProperties;
|
|
51
50
|
filterMultiple?: boolean;
|
|
52
51
|
filteredValue?: (string | number)[];
|
|
@@ -4430,6 +4429,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
4430
4429
|
cellRef: import("vue").Ref<any, any>;
|
|
4431
4430
|
ellipsisSpanRef: import("vue").Ref<any, any>;
|
|
4432
4431
|
isOverflow: import("vue").Ref<boolean, boolean>;
|
|
4432
|
+
debouncedHandleResize: import("../../utils").DebounceReturn;
|
|
4433
4433
|
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
4434
4434
|
prefixCls: {
|
|
4435
4435
|
type: StringConstructor;
|
|
@@ -4486,7 +4486,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
4486
4486
|
};
|
|
4487
4487
|
expandIcon: {
|
|
4488
4488
|
type: PropType<import("../..").IconPropType>;
|
|
4489
|
-
default:
|
|
4489
|
+
default: any;
|
|
4490
4490
|
};
|
|
4491
4491
|
needIndentSpaced: {
|
|
4492
4492
|
type: BooleanConstructor;
|
|
@@ -4512,7 +4512,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
4512
4512
|
};
|
|
4513
4513
|
expandIcon: {
|
|
4514
4514
|
type: PropType<import("../..").IconPropType>;
|
|
4515
|
-
default:
|
|
4515
|
+
default: any;
|
|
4516
4516
|
};
|
|
4517
4517
|
needIndentSpaced: {
|
|
4518
4518
|
type: BooleanConstructor;
|
|
@@ -4527,7 +4527,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
4527
4527
|
"onAsync-expand"?: (...args: any[]) => any;
|
|
4528
4528
|
}>, {
|
|
4529
4529
|
expanded: boolean;
|
|
4530
|
-
expandIcon:
|
|
4530
|
+
expandIcon: any;
|
|
4531
4531
|
expandable: boolean;
|
|
4532
4532
|
needIndentSpaced: boolean;
|
|
4533
4533
|
needLoading: boolean;
|
|
@@ -5504,6 +5504,23 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
5504
5504
|
}, {}, {
|
|
5505
5505
|
ImageIcon: import("vue").FunctionalComponent<import("lucide-vue-next").LucideProps, {}, any, {}>;
|
|
5506
5506
|
}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
5507
|
+
ResizeObserver: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
5508
|
+
disabled: {
|
|
5509
|
+
type: BooleanConstructor;
|
|
5510
|
+
default: boolean;
|
|
5511
|
+
};
|
|
5512
|
+
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
5513
|
+
[key: string]: any;
|
|
5514
|
+
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "resize"[], "resize", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
5515
|
+
disabled: {
|
|
5516
|
+
type: BooleanConstructor;
|
|
5517
|
+
default: boolean;
|
|
5518
|
+
};
|
|
5519
|
+
}>> & Readonly<{
|
|
5520
|
+
onResize?: (...args: any[]) => any;
|
|
5521
|
+
}>, {
|
|
5522
|
+
disabled: boolean;
|
|
5523
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
5507
5524
|
}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
5508
5525
|
}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
5509
5526
|
ExpandRows: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
@@ -5711,6 +5728,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
5711
5728
|
cellRef: import("vue").Ref<any, any>;
|
|
5712
5729
|
ellipsisSpanRef: import("vue").Ref<any, any>;
|
|
5713
5730
|
isOverflow: import("vue").Ref<boolean, boolean>;
|
|
5731
|
+
debouncedHandleResize: import("../../utils").DebounceReturn;
|
|
5714
5732
|
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
5715
5733
|
prefixCls: {
|
|
5716
5734
|
type: StringConstructor;
|
|
@@ -5767,7 +5785,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
5767
5785
|
};
|
|
5768
5786
|
expandIcon: {
|
|
5769
5787
|
type: PropType<import("../..").IconPropType>;
|
|
5770
|
-
default:
|
|
5788
|
+
default: any;
|
|
5771
5789
|
};
|
|
5772
5790
|
needIndentSpaced: {
|
|
5773
5791
|
type: BooleanConstructor;
|
|
@@ -5793,7 +5811,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
5793
5811
|
};
|
|
5794
5812
|
expandIcon: {
|
|
5795
5813
|
type: PropType<import("../..").IconPropType>;
|
|
5796
|
-
default:
|
|
5814
|
+
default: any;
|
|
5797
5815
|
};
|
|
5798
5816
|
needIndentSpaced: {
|
|
5799
5817
|
type: BooleanConstructor;
|
|
@@ -5808,7 +5826,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
5808
5826
|
"onAsync-expand"?: (...args: any[]) => any;
|
|
5809
5827
|
}>, {
|
|
5810
5828
|
expanded: boolean;
|
|
5811
|
-
expandIcon:
|
|
5829
|
+
expandIcon: any;
|
|
5812
5830
|
expandable: boolean;
|
|
5813
5831
|
needIndentSpaced: boolean;
|
|
5814
5832
|
needLoading: boolean;
|
|
@@ -6785,6 +6803,23 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
6785
6803
|
}, {}, {
|
|
6786
6804
|
ImageIcon: import("vue").FunctionalComponent<import("lucide-vue-next").LucideProps, {}, any, {}>;
|
|
6787
6805
|
}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
6806
|
+
ResizeObserver: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
6807
|
+
disabled: {
|
|
6808
|
+
type: BooleanConstructor;
|
|
6809
|
+
default: boolean;
|
|
6810
|
+
};
|
|
6811
|
+
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
6812
|
+
[key: string]: any;
|
|
6813
|
+
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "resize"[], "resize", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
6814
|
+
disabled: {
|
|
6815
|
+
type: BooleanConstructor;
|
|
6816
|
+
default: boolean;
|
|
6817
|
+
};
|
|
6818
|
+
}>> & Readonly<{
|
|
6819
|
+
onResize?: (...args: any[]) => any;
|
|
6820
|
+
}>, {
|
|
6821
|
+
disabled: boolean;
|
|
6822
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
6788
6823
|
}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
6789
6824
|
}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
6790
6825
|
}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
@@ -53,8 +53,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
53
53
|
title?: string;
|
|
54
54
|
dataIndex?: string;
|
|
55
55
|
width?: string | number;
|
|
56
|
-
minWidth?:
|
|
57
|
-
maxWidth?: string | number;
|
|
56
|
+
minWidth?: number;
|
|
58
57
|
fixed?: import("./Table.type").ColumnFixed;
|
|
59
58
|
align?: import("./Table.type").ColumnAlign;
|
|
60
59
|
ellipsis?: boolean;
|
|
@@ -65,7 +64,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
65
64
|
filterable?: boolean;
|
|
66
65
|
filters?: import("./Table.type").ColumnFilter[];
|
|
67
66
|
filterFn?: import("./Table.type").ColumnFilterFn;
|
|
68
|
-
filterIcon?: string
|
|
67
|
+
filterIcon?: string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions, {}, any>;
|
|
69
68
|
filterIconStyle?: CSSProperties;
|
|
70
69
|
filterMultiple?: boolean;
|
|
71
70
|
filteredValue?: (string | number)[];
|
|
@@ -4449,6 +4448,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
4449
4448
|
cellRef: import("vue").Ref<any, any>;
|
|
4450
4449
|
ellipsisSpanRef: import("vue").Ref<any, any>;
|
|
4451
4450
|
isOverflow: import("vue").Ref<boolean, boolean>;
|
|
4451
|
+
debouncedHandleResize: import("../../utils").DebounceReturn;
|
|
4452
4452
|
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
4453
4453
|
prefixCls: {
|
|
4454
4454
|
type: StringConstructor;
|
|
@@ -4505,7 +4505,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
4505
4505
|
};
|
|
4506
4506
|
expandIcon: {
|
|
4507
4507
|
type: PropType<import("../..").IconPropType>;
|
|
4508
|
-
default:
|
|
4508
|
+
default: any;
|
|
4509
4509
|
};
|
|
4510
4510
|
needIndentSpaced: {
|
|
4511
4511
|
type: BooleanConstructor;
|
|
@@ -4531,7 +4531,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
4531
4531
|
};
|
|
4532
4532
|
expandIcon: {
|
|
4533
4533
|
type: PropType<import("../..").IconPropType>;
|
|
4534
|
-
default:
|
|
4534
|
+
default: any;
|
|
4535
4535
|
};
|
|
4536
4536
|
needIndentSpaced: {
|
|
4537
4537
|
type: BooleanConstructor;
|
|
@@ -4546,7 +4546,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
4546
4546
|
"onAsync-expand"?: (...args: any[]) => any;
|
|
4547
4547
|
}>, {
|
|
4548
4548
|
expanded: boolean;
|
|
4549
|
-
expandIcon:
|
|
4549
|
+
expandIcon: any;
|
|
4550
4550
|
expandable: boolean;
|
|
4551
4551
|
needIndentSpaced: boolean;
|
|
4552
4552
|
needLoading: boolean;
|
|
@@ -5523,6 +5523,23 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
5523
5523
|
}, {}, {
|
|
5524
5524
|
ImageIcon: import("vue").FunctionalComponent<import("lucide-vue-next").LucideProps, {}, any, {}>;
|
|
5525
5525
|
}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
5526
|
+
ResizeObserver: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
5527
|
+
disabled: {
|
|
5528
|
+
type: BooleanConstructor;
|
|
5529
|
+
default: boolean;
|
|
5530
|
+
};
|
|
5531
|
+
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
5532
|
+
[key: string]: any;
|
|
5533
|
+
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "resize"[], "resize", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
5534
|
+
disabled: {
|
|
5535
|
+
type: BooleanConstructor;
|
|
5536
|
+
default: boolean;
|
|
5537
|
+
};
|
|
5538
|
+
}>> & Readonly<{
|
|
5539
|
+
onResize?: (...args: any[]) => any;
|
|
5540
|
+
}>, {
|
|
5541
|
+
disabled: boolean;
|
|
5542
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
5526
5543
|
}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
5527
5544
|
}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
5528
5545
|
ExpandRows: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
@@ -5730,6 +5747,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
5730
5747
|
cellRef: import("vue").Ref<any, any>;
|
|
5731
5748
|
ellipsisSpanRef: import("vue").Ref<any, any>;
|
|
5732
5749
|
isOverflow: import("vue").Ref<boolean, boolean>;
|
|
5750
|
+
debouncedHandleResize: import("../../utils").DebounceReturn;
|
|
5733
5751
|
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
5734
5752
|
prefixCls: {
|
|
5735
5753
|
type: StringConstructor;
|
|
@@ -5786,7 +5804,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
5786
5804
|
};
|
|
5787
5805
|
expandIcon: {
|
|
5788
5806
|
type: PropType<import("../..").IconPropType>;
|
|
5789
|
-
default:
|
|
5807
|
+
default: any;
|
|
5790
5808
|
};
|
|
5791
5809
|
needIndentSpaced: {
|
|
5792
5810
|
type: BooleanConstructor;
|
|
@@ -5812,7 +5830,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
5812
5830
|
};
|
|
5813
5831
|
expandIcon: {
|
|
5814
5832
|
type: PropType<import("../..").IconPropType>;
|
|
5815
|
-
default:
|
|
5833
|
+
default: any;
|
|
5816
5834
|
};
|
|
5817
5835
|
needIndentSpaced: {
|
|
5818
5836
|
type: BooleanConstructor;
|
|
@@ -5827,7 +5845,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
5827
5845
|
"onAsync-expand"?: (...args: any[]) => any;
|
|
5828
5846
|
}>, {
|
|
5829
5847
|
expanded: boolean;
|
|
5830
|
-
expandIcon:
|
|
5848
|
+
expandIcon: any;
|
|
5831
5849
|
expandable: boolean;
|
|
5832
5850
|
needIndentSpaced: boolean;
|
|
5833
5851
|
needLoading: boolean;
|
|
@@ -6804,6 +6822,23 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
6804
6822
|
}, {}, {
|
|
6805
6823
|
ImageIcon: import("vue").FunctionalComponent<import("lucide-vue-next").LucideProps, {}, any, {}>;
|
|
6806
6824
|
}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
6825
|
+
ResizeObserver: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
6826
|
+
disabled: {
|
|
6827
|
+
type: BooleanConstructor;
|
|
6828
|
+
default: boolean;
|
|
6829
|
+
};
|
|
6830
|
+
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
6831
|
+
[key: string]: any;
|
|
6832
|
+
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "resize"[], "resize", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
6833
|
+
disabled: {
|
|
6834
|
+
type: BooleanConstructor;
|
|
6835
|
+
default: boolean;
|
|
6836
|
+
};
|
|
6837
|
+
}>> & Readonly<{
|
|
6838
|
+
onResize?: (...args: any[]) => any;
|
|
6839
|
+
}>, {
|
|
6840
|
+
disabled: boolean;
|
|
6841
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
6807
6842
|
}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
6808
6843
|
}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
6809
6844
|
}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
@@ -50,8 +50,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
50
50
|
title?: string;
|
|
51
51
|
dataIndex?: string;
|
|
52
52
|
width?: string | number;
|
|
53
|
-
minWidth?:
|
|
54
|
-
maxWidth?: string | number;
|
|
53
|
+
minWidth?: number;
|
|
55
54
|
fixed?: import("./Table.type").ColumnFixed;
|
|
56
55
|
align?: import("./Table.type").ColumnAlign;
|
|
57
56
|
ellipsis?: boolean;
|
|
@@ -62,7 +61,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
62
61
|
filterable?: boolean;
|
|
63
62
|
filters?: import("./Table.type").ColumnFilter[];
|
|
64
63
|
filterFn?: import("./Table.type").ColumnFilterFn;
|
|
65
|
-
filterIcon?: string
|
|
64
|
+
filterIcon?: string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions, {}, any>;
|
|
66
65
|
filterIconStyle?: import("vue").CSSProperties;
|
|
67
66
|
filterMultiple?: boolean;
|
|
68
67
|
filteredValue?: (string | number)[];
|
|
@@ -4446,6 +4445,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
4446
4445
|
cellRef: import("vue").Ref<any, any>;
|
|
4447
4446
|
ellipsisSpanRef: import("vue").Ref<any, any>;
|
|
4448
4447
|
isOverflow: import("vue").Ref<boolean, boolean>;
|
|
4448
|
+
debouncedHandleResize: import("../../utils").DebounceReturn;
|
|
4449
4449
|
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
4450
4450
|
prefixCls: {
|
|
4451
4451
|
type: StringConstructor;
|
|
@@ -4502,7 +4502,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
4502
4502
|
};
|
|
4503
4503
|
expandIcon: {
|
|
4504
4504
|
type: PropType<import("../..").IconPropType>;
|
|
4505
|
-
default:
|
|
4505
|
+
default: any;
|
|
4506
4506
|
};
|
|
4507
4507
|
needIndentSpaced: {
|
|
4508
4508
|
type: BooleanConstructor;
|
|
@@ -4528,7 +4528,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
4528
4528
|
};
|
|
4529
4529
|
expandIcon: {
|
|
4530
4530
|
type: PropType<import("../..").IconPropType>;
|
|
4531
|
-
default:
|
|
4531
|
+
default: any;
|
|
4532
4532
|
};
|
|
4533
4533
|
needIndentSpaced: {
|
|
4534
4534
|
type: BooleanConstructor;
|
|
@@ -4543,7 +4543,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
4543
4543
|
"onAsync-expand"?: (...args: any[]) => any;
|
|
4544
4544
|
}>, {
|
|
4545
4545
|
expanded: boolean;
|
|
4546
|
-
expandIcon:
|
|
4546
|
+
expandIcon: any;
|
|
4547
4547
|
expandable: boolean;
|
|
4548
4548
|
needIndentSpaced: boolean;
|
|
4549
4549
|
needLoading: boolean;
|
|
@@ -5520,6 +5520,23 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
5520
5520
|
}, {}, {
|
|
5521
5521
|
ImageIcon: import("vue").FunctionalComponent<import("lucide-vue-next").LucideProps, {}, any, {}>;
|
|
5522
5522
|
}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
5523
|
+
ResizeObserver: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
5524
|
+
disabled: {
|
|
5525
|
+
type: BooleanConstructor;
|
|
5526
|
+
default: boolean;
|
|
5527
|
+
};
|
|
5528
|
+
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
5529
|
+
[key: string]: any;
|
|
5530
|
+
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "resize"[], "resize", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
5531
|
+
disabled: {
|
|
5532
|
+
type: BooleanConstructor;
|
|
5533
|
+
default: boolean;
|
|
5534
|
+
};
|
|
5535
|
+
}>> & Readonly<{
|
|
5536
|
+
onResize?: (...args: any[]) => any;
|
|
5537
|
+
}>, {
|
|
5538
|
+
disabled: boolean;
|
|
5539
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
5523
5540
|
}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
5524
5541
|
}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
5525
5542
|
ExpandRows: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
@@ -5727,6 +5744,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
5727
5744
|
cellRef: import("vue").Ref<any, any>;
|
|
5728
5745
|
ellipsisSpanRef: import("vue").Ref<any, any>;
|
|
5729
5746
|
isOverflow: import("vue").Ref<boolean, boolean>;
|
|
5747
|
+
debouncedHandleResize: import("../../utils").DebounceReturn;
|
|
5730
5748
|
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
5731
5749
|
prefixCls: {
|
|
5732
5750
|
type: StringConstructor;
|
|
@@ -5783,7 +5801,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
5783
5801
|
};
|
|
5784
5802
|
expandIcon: {
|
|
5785
5803
|
type: PropType<import("../..").IconPropType>;
|
|
5786
|
-
default:
|
|
5804
|
+
default: any;
|
|
5787
5805
|
};
|
|
5788
5806
|
needIndentSpaced: {
|
|
5789
5807
|
type: BooleanConstructor;
|
|
@@ -5809,7 +5827,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
5809
5827
|
};
|
|
5810
5828
|
expandIcon: {
|
|
5811
5829
|
type: PropType<import("../..").IconPropType>;
|
|
5812
|
-
default:
|
|
5830
|
+
default: any;
|
|
5813
5831
|
};
|
|
5814
5832
|
needIndentSpaced: {
|
|
5815
5833
|
type: BooleanConstructor;
|
|
@@ -5824,7 +5842,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
5824
5842
|
"onAsync-expand"?: (...args: any[]) => any;
|
|
5825
5843
|
}>, {
|
|
5826
5844
|
expanded: boolean;
|
|
5827
|
-
expandIcon:
|
|
5845
|
+
expandIcon: any;
|
|
5828
5846
|
expandable: boolean;
|
|
5829
5847
|
needIndentSpaced: boolean;
|
|
5830
5848
|
needLoading: boolean;
|
|
@@ -6801,6 +6819,23 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
6801
6819
|
}, {}, {
|
|
6802
6820
|
ImageIcon: import("vue").FunctionalComponent<import("lucide-vue-next").LucideProps, {}, any, {}>;
|
|
6803
6821
|
}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
6822
|
+
ResizeObserver: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
6823
|
+
disabled: {
|
|
6824
|
+
type: BooleanConstructor;
|
|
6825
|
+
default: boolean;
|
|
6826
|
+
};
|
|
6827
|
+
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
6828
|
+
[key: string]: any;
|
|
6829
|
+
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "resize"[], "resize", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
6830
|
+
disabled: {
|
|
6831
|
+
type: BooleanConstructor;
|
|
6832
|
+
default: boolean;
|
|
6833
|
+
};
|
|
6834
|
+
}>> & Readonly<{
|
|
6835
|
+
onResize?: (...args: any[]) => any;
|
|
6836
|
+
}>, {
|
|
6837
|
+
disabled: boolean;
|
|
6838
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
6804
6839
|
}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
6805
6840
|
}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
6806
6841
|
}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
@@ -81,13 +81,13 @@ const _sfc_main = vue.defineComponent({
|
|
|
81
81
|
selectionColumn
|
|
82
82
|
});
|
|
83
83
|
const {
|
|
84
|
-
sizesMap,
|
|
85
84
|
handleResize,
|
|
86
85
|
isScrollX,
|
|
87
86
|
scrollPosition,
|
|
88
87
|
setScrollPositionClass,
|
|
89
88
|
resetScrollX,
|
|
90
89
|
tableWidth,
|
|
90
|
+
resizeColumns,
|
|
91
91
|
clearResizeTimer,
|
|
92
92
|
setResizeWidth
|
|
93
93
|
} = useTableResize["default"](updatedColumns, tableRefs, prefixCls, isColumnFixed, props);
|
|
@@ -169,7 +169,7 @@ const _sfc_main = vue.defineComponent({
|
|
|
169
169
|
const handleColumnResize = (columnWidth, changeWidth, column, event) => {
|
|
170
170
|
emit("column-resize", columnWidth, changeWidth, column, event);
|
|
171
171
|
};
|
|
172
|
-
const { showHeader, maxHeight, expandIcon, rowClassName, indentSize, showSummary, disabledHover, expandIndent, headerSticky, loading } = vue.toRefs(props);
|
|
172
|
+
const { showHeader, maxHeight, expandIcon, rowClassName, indentSize, showSummary, disabledHover, expandIndent, headerSticky, loading, width } = vue.toRefs(props);
|
|
173
173
|
vue.provide("tableContext", {
|
|
174
174
|
prefixCls,
|
|
175
175
|
locale,
|
|
@@ -188,7 +188,8 @@ const _sfc_main = vue.defineComponent({
|
|
|
188
188
|
disabledHover,
|
|
189
189
|
expandIndent,
|
|
190
190
|
headerSticky,
|
|
191
|
-
loading
|
|
191
|
+
loading,
|
|
192
|
+
width
|
|
192
193
|
},
|
|
193
194
|
slots,
|
|
194
195
|
expand: {
|
|
@@ -202,7 +203,7 @@ const _sfc_main = vue.defineComponent({
|
|
|
202
203
|
},
|
|
203
204
|
size: {
|
|
204
205
|
tableWidth,
|
|
205
|
-
|
|
206
|
+
resizeColumns,
|
|
206
207
|
isScrollX,
|
|
207
208
|
setResizeWidth,
|
|
208
209
|
handleColumnResize,
|
|
@@ -271,8 +272,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
271
272
|
return vue.openBlock(), vue.createBlock(_component_ResizeObserver, { onResize: _ctx.debouncedHandleResize }, {
|
|
272
273
|
default: vue.withCtx(() => [
|
|
273
274
|
vue.createElementVNode("div", {
|
|
274
|
-
class: vue.normalizeClass([`${_ctx.prefixCls}-wrapper`])
|
|
275
|
-
style: vue.normalizeStyle({ width: typeof _ctx.width === "number" ? `${_ctx.width}px` : _ctx.width })
|
|
275
|
+
class: vue.normalizeClass([`${_ctx.prefixCls}-wrapper`])
|
|
276
276
|
}, [
|
|
277
277
|
_ctx.showPagination && _ctx.pagination && (_ctx.pagination.position === "top" || _ctx.pagination.position === "both") ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
278
278
|
key: 0,
|
|
@@ -300,7 +300,6 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
300
300
|
[`${_ctx.prefixCls}-empty`]: !_ctx.data.length,
|
|
301
301
|
[`${_ctx.prefixCls}-without-column-header`]: !_ctx.showHeader,
|
|
302
302
|
[`${_ctx.prefixCls}-fixed-header`]: !!_ctx.maxHeight,
|
|
303
|
-
[`${_ctx.prefixCls}-layout-fixed`]: true,
|
|
304
303
|
[`${_ctx.prefixCls}-scroll-position-left`]: _ctx.scrollPosition === "left" || _ctx.scrollPosition === "both",
|
|
305
304
|
[`${_ctx.prefixCls}-scroll-position-right`]: _ctx.scrollPosition === "right" || _ctx.scrollPosition === "both",
|
|
306
305
|
[`${_ctx.prefixCls}-dragging`]: _ctx.showResizeLine,
|
|
@@ -363,7 +362,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
363
362
|
onPageSizeChange: _ctx.handlePageSizeChange
|
|
364
363
|
}), null, 16, ["total", "onChange", "onPageSizeChange"])
|
|
365
364
|
], 2)) : vue.createCommentVNode("v-if", true)
|
|
366
|
-
],
|
|
365
|
+
], 2)
|
|
367
366
|
]),
|
|
368
367
|
_: 3
|
|
369
368
|
}, 8, ["onResize"]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Table.js","sources":["../../../../src/components/Table/Table.vue"],"sourcesContent":["<template>\n <ResizeObserver @resize=\"debouncedHandleResize\">\n <div :class=\"[`${prefixCls}-wrapper`]\" :style=\"{ width: typeof width === 'number' ? `${width}px` : width }\">\n <div\n v-if=\"showPagination && pagination && (pagination.position === 'top' || pagination.position === 'both')\"\n :class=\"{\n [`${prefixCls}-pagination`]: true,\n [`${prefixCls}-pagination-top`]: true,\n [`${prefixCls}-pagination-right`]: pagination && pagination.align === 'right'\n }\"\n >\n <Pagination v-bind=\"paginationOptions\" :total=\"computedPageTotal\" @change=\"handlePageChange\" @page-size-change=\"handlePageSizeChange\" />\n </div>\n <div\n :ref=\"saveRef('table')\"\n :class=\"[\n prefixCls,\n `${prefixCls}-${size}`,\n {\n [`${prefixCls}-${variant}`]: !isBorder,\n [`${prefixCls}-border`]: !!isBorder,\n [`${prefixCls}-radius`]: variant !== 'ghost' && !border && radius,\n [`${prefixCls}-empty`]: !data.length,\n [`${prefixCls}-without-column-header`]: !showHeader,\n [`${prefixCls}-fixed-header`]: !!maxHeight,\n [`${prefixCls}-layout-fixed`]: true,\n [`${prefixCls}-scroll-position-left`]: scrollPosition === 'left' || scrollPosition === 'both',\n [`${prefixCls}-scroll-position-right`]: scrollPosition === 'right' || scrollPosition === 'both',\n [`${prefixCls}-dragging`]: showResizeLine,\n [`${prefixCls}-stripe`]: stripe\n }\n ]\"\n >\n <div v-if=\"$slots.title\" :class=\"`${prefixCls}-title`\">\n <slot name=\"title\" />\n </div>\n <div :class=\"`${prefixCls}-content`\">\n <TableBox :columns=\"updatedColumns\" @head-scroll=\"handleBodyScrollX\" @body-scroll=\"handleBodyScroll\" />\n <div v-if=\"!currentDatas.length\" :class=\"`${prefixCls}-placeholder`\">\n <slot name=\"empty\">\n {{ emptyText }}\n </slot>\n </div>\n </div>\n <div v-show=\"showResizeLine\" :ref=\"saveRef('resizeLine')\" :class=\"`${prefixCls}-resize-line`\" />\n <Spin v-if=\"loadingType === 'spinner'\" fix :loading=\"loading\" />\n </div>\n <div v-if=\"$slots.footer\" :class=\"`${prefixCls}-footer`\">\n <slot name=\"footer\" />\n </div>\n <div\n v-if=\"showPagination && ((pagination && pagination.position !== 'top') || !pagination)\"\n :class=\"{\n [`${prefixCls}-pagination`]: true,\n [`${prefixCls}-pagination-bottom`]: true,\n [`${prefixCls}-pagination-right`]: pagination && pagination.align === 'right'\n }\"\n >\n <Pagination v-bind=\"paginationOptions\" :total=\"computedPageTotal\" @change=\"handlePageChange\" @page-size-change=\"handlePageSizeChange\" />\n </div>\n </div>\n </ResizeObserver>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, computed, provide, reactive, toRefs, ref, onMounted, nextTick, onBeforeUnmount, onUpdated, watch } from 'vue';\nimport Spin from '@uxd-ui/components/Spin';\nimport Pagination from '@uxd-ui/components/Pagination';\nimport { debounce } from '../../utils/tools';\n// import Container from '../base/Container';\nimport TableBox from './TableBox.vue';\nimport useGlobalConfig from '../base/hooks/useGlobalConfig';\nimport ResizeObserver from '../base/ResizeObserver';\nimport useUpdateColumns from './hooks/useUpdateColumns';\nimport useUpdateDatas from './hooks/useUpdateDatas';\nimport useTableResize from './hooks/useTableResize';\nimport useExpander from './hooks/useExpander';\nimport useSelection from './hooks/useSelection';\nimport useDraggable from './hooks/useDraggable';\nimport useFilterSortPage from './hooks/useFilterSortPage';\nimport { tableProps, tableEmits, type SaveRef, type TableRefs, type TableColumn, type InnerColumn } from './Table.type';\n\nexport default defineComponent({\n name: 'UTable',\n components: {\n TableBox,\n Spin,\n Pagination,\n ResizeObserver\n },\n props: tableProps,\n emits: tableEmits,\n setup(props, { slots, emit }) {\n const { prefixCls, config: globalConfig } = useGlobalConfig('table');\n const showResizeLine = ref(false);\n const tableRefs = reactive({} as TableRefs);\n const saveRef: SaveRef = (key: string) => {\n return (el: any) => {\n tableRefs[key] = el;\n };\n };\n\n const locale = computed(() => {\n return { ...globalConfig.locale.table, ...props.locale };\n });\n\n const isBorder = computed(() => {\n const b = props.variant === 'border' || props.border;\n return b;\n });\n\n // ============ datas ===============\n const { updatedDatas } = useUpdateDatas(props);\n\n // ============= sort & fitler =============\n const {\n hasAction,\n hasSorters,\n hasFilters,\n isSortColumn,\n isAscend,\n isDescend,\n hasAscend,\n hasDescend,\n toggleSortOrder,\n setColumnFilter,\n currentDatas,\n paginationOptions,\n computedPageTotal,\n handlePageChange,\n handlePageSizeChange\n } = useFilterSortPage(props, updatedDatas, emit);\n\n // ================ draggable ====================\n const { setRowRefs, draggableColumn } = useDraggable(props, tableRefs);\n\n // ================ expander ====================\n const {\n expandedRowKeys,\n showChildrenRowKeys,\n handleExpandChange,\n isRowExpanded,\n expandedRowRender,\n isTreeTable,\n expandColumn,\n expandIconColumnIndex\n } = useExpander(props, slots, currentDatas, emit);\n\n const { selectionColumn } = useSelection(props, updatedDatas, currentDatas, prefixCls, locale);\n\n // ============ columns ===============\n const { updatedColumns, isColumnFixed, isLeftFixed, isRightFixed, leftColumns, rightColumns } = useUpdateColumns(props, slots, {\n draggableColumn,\n expandColumn,\n selectionColumn\n });\n\n // ============ resize ==============\n // #region\n const {\n sizesMap,\n handleResize,\n isScrollX,\n // fixedHeadRowsHeight,\n // fixedBodyRowsHeight,\n scrollPosition,\n // syncFixedTableRowHeight,\n setScrollPositionClass,\n resetScrollX,\n tableWidth,\n clearResizeTimer,\n setResizeWidth\n } = useTableResize(updatedColumns, tableRefs, prefixCls, isColumnFixed, props);\n\n const debouncedHandleResize = debounce(handleResize, 150);\n\n onMounted(() => {\n nextTick(() => {\n setTimeout(() => {\n handleResize();\n resetScrollX();\n }, 0);\n });\n });\n\n onUpdated(() => {\n nextTick(() => {\n handleResize();\n });\n });\n\n onBeforeUnmount(() => {\n if (debouncedHandleResize) {\n debouncedHandleResize.cancel();\n }\n clearResizeTimer();\n });\n // #endregion\n\n // ============ scroll ===============\n // #region\n const scrollable = computed(() => {\n return props.maxHeight || isScrollX.value || isColumnFixed.value;\n });\n\n let lastScrollLeft = 0;\n const handleBodyScrollX = (e: any) => {\n if (e.currentTarget !== e.target) {\n return;\n }\n\n const { target } = e;\n const { bodyTable, headTable } = tableRefs;\n\n if (target.scrollLeft !== lastScrollLeft && isScrollX.value) {\n if (target === (bodyTable as any).wrapRef && headTable) {\n (headTable as any).setScrollLeft(target.scrollLeft);\n } else if (target === (headTable as any)?.wrapRef && bodyTable) {\n (bodyTable as any).setScrollLeft(target.scrollLeft);\n }\n setScrollPositionClass();\n }\n lastScrollLeft = target.scrollLeft;\n };\n\n const handleBodyScroll = (e: any) => {\n handleBodyScrollX(e);\n };\n\n watch(\n () => props.data,\n (val) => {\n if (val.length === 0 && isScrollX.value) {\n nextTick(() => {\n resetScrollX();\n });\n }\n }\n );\n // #endregion\n // ============ empty ================\n const emptyText = computed(() => {\n return props.data.length ? locale.value.notFoundText : locale.value.noDataText;\n });\n\n // ===========row hover & event ================\n // #region\n const currentHoverKey = ref(null);\n const onRowMouseEnter = (data: Record<string, any>, index: number, e: Event) => {\n emit('row-mouseenter', data, index, e);\n };\n const onRowMouseLeave = (data: Record<string, any>, index: number, e: Event) => {\n emit('row-mouseleave', data, index, e);\n };\n const onRowClick = (data: Record<string, any>, index: number, e: Event) => {\n emit('row-click', data, index, e);\n };\n const onRowDoubleClick = (data: Record<string, any>, index: number, e: Event) => {\n emit('row-doubleclick', data, index, e);\n };\n const onRowContextMenu = (data: Record<string, any>, index: number, e: Event) => {\n emit('row-contextmenu', data, index, e);\n };\n // #endregion\n\n // ============= other event =================\n // #region\n const onHeaderCellClick = (column: TableColumn, e: Event) => {\n emit('header-click', column, e);\n };\n\n const handleColumnResize = (columnWidth: number, changeWidth: number, column: InnerColumn, event: Event) => {\n emit('column-resize', columnWidth, changeWidth, column, event);\n };\n // #endregion\n\n // ============= provide =================\n\n const { showHeader, maxHeight, expandIcon, rowClassName, indentSize, showSummary, disabledHover, expandIndent, headerSticky, loading } =\n toRefs(props);\n\n provide('tableContext', {\n prefixCls,\n locale,\n data: currentDatas,\n saveRef,\n tableRefs,\n showResizeLine,\n props: {\n showHeader,\n maxHeight,\n expandIcon,\n rowClassName,\n indentSize,\n emptyText,\n showSummary,\n disabledHover,\n expandIndent,\n headerSticky,\n loading\n },\n slots,\n expand: {\n expandedRowRender,\n expandedRowKeys,\n showChildrenRowKeys,\n isRowExpanded,\n expandIconColumnIndex,\n handleExpandChange,\n isTreeTable\n },\n size: {\n tableWidth,\n sizesMap,\n isScrollX,\n setResizeWidth,\n handleColumnResize,\n debouncedHandleResize\n },\n fixed: {\n isColumnFixed,\n currentHoverKey\n },\n draggable: {\n setRowRefs\n },\n rowEvents: {\n onRowMouseEnter,\n onRowMouseLeave,\n onRowClick,\n onRowDoubleClick,\n onRowContextMenu\n },\n headerEvents: {\n onHeaderCellClick\n },\n filterAndSorter: {\n hasAction,\n hasSorters,\n hasFilters,\n isSortColumn,\n isAscend,\n isDescend,\n hasAscend,\n hasDescend,\n toggleSortOrder,\n setColumnFilter\n },\n pagination: paginationOptions\n });\n return {\n prefixCls,\n saveRef,\n showResizeLine,\n updatedColumns,\n currentDatas,\n paginationOptions,\n computedPageTotal,\n isBorder,\n isLeftFixed,\n leftColumns,\n isRightFixed,\n rightColumns,\n scrollable,\n scrollPosition,\n handleBodyScroll,\n handleBodyScrollX,\n emptyText,\n debouncedHandleResize,\n handlePageChange,\n handlePageSizeChange\n };\n }\n});\n</script>\n"],"names":["defineComponent","TableBox","Spin","Pagination","ResizeObserver","tableProps","tableEmits","useGlobalConfig","ref","reactive","computed","useUpdateDatas","useFilterSortPage","useDraggable","useExpander","useSelection","useUpdateColumns","useTableResize","debounce","toRefs","_createBlock","_createElementVNode","_normalizeClass","_normalizeStyle","_createElementBlock","_createVNode","_mergeProps","_renderSlot"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Table.js","sources":["../../../../src/components/Table/Table.vue"],"sourcesContent":["<template>\n <ResizeObserver @resize=\"debouncedHandleResize\">\n <div :class=\"[`${prefixCls}-wrapper`]\">\n <div\n v-if=\"showPagination && pagination && (pagination.position === 'top' || pagination.position === 'both')\"\n :class=\"{\n [`${prefixCls}-pagination`]: true,\n [`${prefixCls}-pagination-top`]: true,\n [`${prefixCls}-pagination-right`]: pagination && pagination.align === 'right'\n }\"\n >\n <Pagination v-bind=\"paginationOptions\" :total=\"computedPageTotal\" @change=\"handlePageChange\" @page-size-change=\"handlePageSizeChange\" />\n </div>\n <div\n :ref=\"saveRef('table')\"\n :class=\"[\n prefixCls,\n `${prefixCls}-${size}`,\n {\n [`${prefixCls}-${variant}`]: !isBorder,\n [`${prefixCls}-border`]: !!isBorder,\n [`${prefixCls}-radius`]: variant !== 'ghost' && !border && radius,\n [`${prefixCls}-empty`]: !data.length,\n [`${prefixCls}-without-column-header`]: !showHeader,\n [`${prefixCls}-fixed-header`]: !!maxHeight,\n [`${prefixCls}-scroll-position-left`]: scrollPosition === 'left' || scrollPosition === 'both',\n [`${prefixCls}-scroll-position-right`]: scrollPosition === 'right' || scrollPosition === 'both',\n [`${prefixCls}-dragging`]: showResizeLine,\n [`${prefixCls}-stripe`]: stripe\n }\n ]\"\n >\n <div v-if=\"$slots.title\" :class=\"`${prefixCls}-title`\">\n <slot name=\"title\" />\n </div>\n <div :class=\"`${prefixCls}-content`\">\n <TableBox :columns=\"updatedColumns\" @head-scroll=\"handleBodyScrollX\" @body-scroll=\"handleBodyScroll\" />\n <div v-if=\"!currentDatas.length\" :class=\"`${prefixCls}-placeholder`\">\n <slot name=\"empty\">\n {{ emptyText }}\n </slot>\n </div>\n </div>\n <div v-show=\"showResizeLine\" :ref=\"saveRef('resizeLine')\" :class=\"`${prefixCls}-resize-line`\" />\n <Spin v-if=\"loadingType === 'spinner'\" fix :loading=\"loading\" />\n </div>\n <div v-if=\"$slots.footer\" :class=\"`${prefixCls}-footer`\">\n <slot name=\"footer\" />\n </div>\n <div\n v-if=\"showPagination && ((pagination && pagination.position !== 'top') || !pagination)\"\n :class=\"{\n [`${prefixCls}-pagination`]: true,\n [`${prefixCls}-pagination-bottom`]: true,\n [`${prefixCls}-pagination-right`]: pagination && pagination.align === 'right'\n }\"\n >\n <Pagination v-bind=\"paginationOptions\" :total=\"computedPageTotal\" @change=\"handlePageChange\" @page-size-change=\"handlePageSizeChange\" />\n </div>\n </div>\n </ResizeObserver>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, computed, provide, reactive, toRefs, ref, onMounted, nextTick, onBeforeUnmount, onUpdated, watch } from 'vue';\nimport Spin from '@uxd-ui/components/Spin';\nimport Pagination from '@uxd-ui/components/Pagination';\nimport { debounce } from '../../utils/tools';\n// import Container from '../base/Container';\nimport TableBox from './TableBox.vue';\nimport useGlobalConfig from '../base/hooks/useGlobalConfig';\nimport ResizeObserver from '../base/ResizeObserver';\nimport useUpdateColumns from './hooks/useUpdateColumns';\nimport useUpdateDatas from './hooks/useUpdateDatas';\nimport useTableResize from './hooks/useTableResize';\nimport useExpander from './hooks/useExpander';\nimport useSelection from './hooks/useSelection';\nimport useDraggable from './hooks/useDraggable';\nimport useFilterSortPage from './hooks/useFilterSortPage';\nimport { tableProps, tableEmits, type SaveRef, type TableRefs, type TableColumn, type InnerColumn } from './Table.type';\n\nexport default defineComponent({\n name: 'UTable',\n components: {\n TableBox,\n Spin,\n Pagination,\n ResizeObserver\n },\n props: tableProps,\n emits: tableEmits,\n setup(props, { slots, emit }) {\n const { prefixCls, config: globalConfig } = useGlobalConfig('table');\n const showResizeLine = ref(false);\n const tableRefs = reactive({} as TableRefs);\n const saveRef: SaveRef = (key: string) => {\n return (el: any) => {\n tableRefs[key] = el;\n };\n };\n\n const locale = computed(() => {\n return { ...globalConfig.locale.table, ...props.locale };\n });\n\n const isBorder = computed(() => {\n const b = props.variant === 'border' || props.border;\n return b;\n });\n\n // ============ datas ===============\n const { updatedDatas } = useUpdateDatas(props);\n\n // ============= sort & fitler =============\n const {\n hasAction,\n hasSorters,\n hasFilters,\n isSortColumn,\n isAscend,\n isDescend,\n hasAscend,\n hasDescend,\n toggleSortOrder,\n setColumnFilter,\n currentDatas,\n paginationOptions,\n computedPageTotal,\n handlePageChange,\n handlePageSizeChange\n } = useFilterSortPage(props, updatedDatas, emit);\n\n // ================ draggable ====================\n const { setRowRefs, draggableColumn } = useDraggable(props, tableRefs);\n\n // ================ expander ====================\n const {\n expandedRowKeys,\n showChildrenRowKeys,\n handleExpandChange,\n isRowExpanded,\n expandedRowRender,\n isTreeTable,\n expandColumn,\n expandIconColumnIndex\n } = useExpander(props, slots, currentDatas, emit);\n\n const { selectionColumn } = useSelection(props, updatedDatas, currentDatas, prefixCls, locale);\n\n // ============ columns ===============\n const { updatedColumns, isColumnFixed, isLeftFixed, isRightFixed, leftColumns, rightColumns } = useUpdateColumns(props, slots, {\n draggableColumn,\n expandColumn,\n selectionColumn\n });\n\n // ============ resize ==============\n // #region\n const {\n // sizesMap,\n handleResize,\n isScrollX,\n // fixedHeadRowsHeight,\n // fixedBodyRowsHeight,\n scrollPosition,\n // syncFixedTableRowHeight,\n setScrollPositionClass,\n resetScrollX,\n tableWidth,\n resizeColumns,\n clearResizeTimer,\n setResizeWidth\n } = useTableResize(updatedColumns, tableRefs, prefixCls, isColumnFixed, props);\n\n const debouncedHandleResize = debounce(handleResize, 150);\n\n onMounted(() => {\n nextTick(() => {\n setTimeout(() => {\n handleResize();\n resetScrollX();\n }, 0);\n });\n });\n\n onUpdated(() => {\n nextTick(() => {\n handleResize();\n });\n });\n\n onBeforeUnmount(() => {\n if (debouncedHandleResize) {\n debouncedHandleResize.cancel();\n }\n clearResizeTimer();\n });\n // #endregion\n\n // ============ scroll ===============\n // #region\n const scrollable = computed(() => {\n return props.maxHeight || isScrollX.value || isColumnFixed.value;\n });\n\n let lastScrollLeft = 0;\n const handleBodyScrollX = (e: any) => {\n if (e.currentTarget !== e.target) {\n return;\n }\n\n const { target } = e;\n const { bodyTable, headTable } = tableRefs;\n\n if (target.scrollLeft !== lastScrollLeft && isScrollX.value) {\n if (target === (bodyTable as any).wrapRef && headTable) {\n (headTable as any).setScrollLeft(target.scrollLeft);\n } else if (target === (headTable as any)?.wrapRef && bodyTable) {\n (bodyTable as any).setScrollLeft(target.scrollLeft);\n }\n setScrollPositionClass();\n }\n lastScrollLeft = target.scrollLeft;\n };\n\n const handleBodyScroll = (e: any) => {\n handleBodyScrollX(e);\n };\n\n watch(\n () => props.data,\n (val) => {\n if (val.length === 0 && isScrollX.value) {\n nextTick(() => {\n resetScrollX();\n });\n }\n }\n );\n // #endregion\n // ============ empty ================\n const emptyText = computed(() => {\n return props.data.length ? locale.value.notFoundText : locale.value.noDataText;\n });\n\n // ===========row hover & event ================\n // #region\n const currentHoverKey = ref(null);\n const onRowMouseEnter = (data: Record<string, any>, index: number, e: Event) => {\n emit('row-mouseenter', data, index, e);\n };\n const onRowMouseLeave = (data: Record<string, any>, index: number, e: Event) => {\n emit('row-mouseleave', data, index, e);\n };\n const onRowClick = (data: Record<string, any>, index: number, e: Event) => {\n emit('row-click', data, index, e);\n };\n const onRowDoubleClick = (data: Record<string, any>, index: number, e: Event) => {\n emit('row-doubleclick', data, index, e);\n };\n const onRowContextMenu = (data: Record<string, any>, index: number, e: Event) => {\n emit('row-contextmenu', data, index, e);\n };\n // #endregion\n\n // ============= other event =================\n // #region\n const onHeaderCellClick = (column: TableColumn, e: Event) => {\n emit('header-click', column, e);\n };\n\n const handleColumnResize = (columnWidth: number, changeWidth: number, column: InnerColumn, event: Event) => {\n emit('column-resize', columnWidth, changeWidth, column, event);\n };\n // #endregion\n\n // ============= provide =================\n\n const { showHeader, maxHeight, expandIcon, rowClassName, indentSize, showSummary, disabledHover, expandIndent, headerSticky, loading, width } =\n toRefs(props);\n\n provide('tableContext', {\n prefixCls,\n locale,\n data: currentDatas,\n saveRef,\n tableRefs,\n showResizeLine,\n props: {\n showHeader,\n maxHeight,\n expandIcon,\n rowClassName,\n indentSize,\n emptyText,\n showSummary,\n disabledHover,\n expandIndent,\n headerSticky,\n loading,\n width\n },\n slots,\n expand: {\n expandedRowRender,\n expandedRowKeys,\n showChildrenRowKeys,\n isRowExpanded,\n expandIconColumnIndex,\n handleExpandChange,\n isTreeTable\n },\n size: {\n tableWidth,\n // sizesMap,\n resizeColumns,\n isScrollX,\n setResizeWidth,\n handleColumnResize,\n debouncedHandleResize\n },\n fixed: {\n isColumnFixed,\n currentHoverKey\n },\n draggable: {\n setRowRefs\n },\n rowEvents: {\n onRowMouseEnter,\n onRowMouseLeave,\n onRowClick,\n onRowDoubleClick,\n onRowContextMenu\n },\n headerEvents: {\n onHeaderCellClick\n },\n filterAndSorter: {\n hasAction,\n hasSorters,\n hasFilters,\n isSortColumn,\n isAscend,\n isDescend,\n hasAscend,\n hasDescend,\n toggleSortOrder,\n setColumnFilter\n },\n pagination: paginationOptions\n });\n return {\n prefixCls,\n saveRef,\n showResizeLine,\n updatedColumns,\n currentDatas,\n paginationOptions,\n computedPageTotal,\n isBorder,\n isLeftFixed,\n leftColumns,\n isRightFixed,\n rightColumns,\n scrollable,\n scrollPosition,\n handleBodyScroll,\n handleBodyScrollX,\n emptyText,\n debouncedHandleResize,\n handlePageChange,\n handlePageSizeChange\n };\n }\n});\n</script>\n"],"names":["defineComponent","TableBox","Spin","Pagination","ResizeObserver","tableProps","tableEmits","useGlobalConfig","ref","reactive","computed","useUpdateDatas","useFilterSortPage","useDraggable","useExpander","useSelection","useUpdateColumns","useTableResize","debounce","toRefs","_createBlock","_createElementVNode","_normalizeClass","_createElementBlock","_createVNode","_mergeProps","_renderSlot"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ComputedRef, CSSProperties, ExtractPropTypes, PropType, Ref, Slot, Slots, VNodeChild } from 'vue';
|
|
1
|
+
import type { Component, ComputedRef, CSSProperties, ExtractPropTypes, PropType, Ref, Slot, Slots, VNodeChild } from 'vue';
|
|
2
2
|
import type { JSX } from 'vue/jsx-runtime';
|
|
3
3
|
import type { EmitFn } from '../../utils/globalType';
|
|
4
4
|
import type { TableLocal } from '../locale/default';
|
|
@@ -25,6 +25,8 @@ export interface TableColProps {
|
|
|
25
25
|
width: string;
|
|
26
26
|
key: string;
|
|
27
27
|
fixed: boolean;
|
|
28
|
+
minWidth: string;
|
|
29
|
+
resizeWidth: string;
|
|
28
30
|
}
|
|
29
31
|
export interface ColumnFilterSlotParams {
|
|
30
32
|
selectedKeys: (string | number)[];
|
|
@@ -41,8 +43,7 @@ export interface TableColumn {
|
|
|
41
43
|
title?: string;
|
|
42
44
|
dataIndex?: string;
|
|
43
45
|
width?: number | string;
|
|
44
|
-
minWidth?: number
|
|
45
|
-
maxWidth?: number | string;
|
|
46
|
+
minWidth?: number;
|
|
46
47
|
children?: TableColumn[];
|
|
47
48
|
fixed?: ColumnFixed;
|
|
48
49
|
align?: ColumnAlign;
|
|
@@ -54,7 +55,7 @@ export interface TableColumn {
|
|
|
54
55
|
filterable?: boolean;
|
|
55
56
|
filters?: ColumnFilter[];
|
|
56
57
|
filterFn?: ColumnFilterFn;
|
|
57
|
-
filterIcon?: string;
|
|
58
|
+
filterIcon?: string | Component;
|
|
58
59
|
filterIconStyle?: CSSProperties;
|
|
59
60
|
filterMultiple?: boolean;
|
|
60
61
|
filteredValue?: (string | number)[];
|
|
@@ -278,6 +279,7 @@ export interface TableContext {
|
|
|
278
279
|
expandIndent: Ref<boolean>;
|
|
279
280
|
headerSticky: Ref<number | undefined>;
|
|
280
281
|
loading: Ref<boolean>;
|
|
282
|
+
width: Ref<string | number | undefined>;
|
|
281
283
|
};
|
|
282
284
|
slots: Slots;
|
|
283
285
|
expand: {
|
|
@@ -291,7 +293,7 @@ export interface TableContext {
|
|
|
291
293
|
};
|
|
292
294
|
size: {
|
|
293
295
|
tableWidth: Ref<number>;
|
|
294
|
-
|
|
296
|
+
resizeColumns: Ref<InnerColumn[]>;
|
|
295
297
|
isScrollX: ComputedRef<boolean>;
|
|
296
298
|
setResizeWidth: (column: InnerColumn, width: number) => void;
|
|
297
299
|
handleColumnResize: (columnWidth: number, changeWidth: number, column: InnerColumn, event: Event) => void;
|