@uzum-tech/ui 2.0.0-beta.3 → 2.0.0-beta.5
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/dist/index.js +2467 -1507
- package/dist/index.mjs +2461 -1506
- package/dist/index.prod.js +2 -2
- package/dist/index.prod.mjs +2 -2
- package/es/_internal/component-renderer/index.d.ts +2 -0
- package/es/_internal/component-renderer/index.mjs +1 -0
- package/es/_internal/component-renderer/src/interface.d.ts +29 -0
- package/es/_internal/component-renderer/src/interface.mjs +1 -0
- package/es/_internal/component-renderer/src/renderer.d.ts +3 -0
- package/es/_internal/component-renderer/src/renderer.mjs +20 -0
- package/es/_internal/select-menu/src/SelectOption.mjs +9 -5
- package/es/_internal/select-menu/src/styles/index.cssr.mjs +4 -3
- package/es/_internal/selection/src/styles/index.cssr.mjs +3 -0
- package/es/card-list/src/CardList.d.ts +1 -1
- package/es/checkbox/src/Checkbox.d.ts +2 -2
- package/es/components.d.ts +1 -0
- package/es/components.mjs +1 -0
- package/es/config-provider/src/internal-interface.d.ts +3 -1
- package/es/data-table/src/DataTable.d.ts +25 -5
- package/es/data-table/src/DataTable.mjs +125 -4
- package/es/data-table/src/HeaderButton/FilterMenu.mjs +1 -1
- package/es/data-table/src/TableParts/Body.d.ts +9 -6
- package/es/data-table/src/TableParts/Body.mjs +30 -6
- package/es/data-table/src/TableParts/Cell.mjs +17 -17
- package/es/data-table/src/TableParts/Header.d.ts +4 -2
- package/es/data-table/src/TableParts/Header.mjs +65 -22
- package/es/data-table/src/interface.d.ts +16 -0
- package/es/data-table/src/interface.mjs +9 -0
- package/es/data-table/src/use-group-header.mjs +2 -2
- package/es/data-table/src/use-mask.mjs +1 -1
- package/es/data-table/src/use-resizable.d.ts +1 -0
- package/es/data-table/src/use-resizable.mjs +5 -2
- package/es/data-table/src/use-scroll.d.ts +5 -4
- package/es/data-table/src/use-scroll.mjs +29 -25
- package/es/data-table/src/use-sorter.mjs +1 -1
- package/es/data-table/src/use-table-data.mjs +1 -1
- package/es/data-table/src/utils/column-utils.d.ts +13 -0
- package/es/data-table/src/utils/column-utils.mjs +84 -0
- package/es/data-table/src/utils/csv-utils.d.ts +3 -0
- package/es/data-table/src/utils/csv-utils.mjs +21 -0
- package/es/data-table/src/utils/index.d.ts +7 -0
- package/es/data-table/src/utils/index.mjs +7 -0
- package/es/data-table/src/utils/mask-defaults.d.ts +6 -0
- package/es/data-table/src/utils/mask-defaults.mjs +16 -0
- package/es/data-table/src/utils/resize-orchestrator-utils.d.ts +6 -0
- package/es/data-table/src/utils/resize-orchestrator-utils.mjs +21 -0
- package/es/data-table/src/utils/sort-filter-utils.d.ts +6 -0
- package/es/data-table/src/utils/sort-filter-utils.mjs +38 -0
- package/es/data-table/src/utils/width-utils.d.ts +20 -0
- package/es/data-table/src/utils/width-utils.mjs +174 -0
- package/es/data-table/src/utils.d.ts +1 -25
- package/es/data-table/src/utils.mjs +1 -165
- package/es/grid/src/Grid.d.ts +1 -1
- package/es/header/src/HeaderSearchResults.d.ts +1 -1
- package/es/icon-bar/src/IconBar.d.ts +1 -1
- package/es/input/src/Input.d.ts +1 -1
- package/es/list/src/ListItem.d.ts +2 -2
- package/es/list/src/ListItem.mjs +19 -12
- package/es/list/src/props.d.ts +3 -1
- package/es/list/src/styles/index.cssr.mjs +4 -2
- package/es/locales/common/enUS.d.ts +6 -0
- package/es/locales/common/enUS.mjs +6 -0
- package/es/locales/common/ruRU.mjs +6 -0
- package/es/mapping-card/index.d.ts +7 -0
- package/es/mapping-card/index.mjs +4 -0
- package/es/mapping-card/src/MappingCard.d.ts +2091 -0
- package/es/mapping-card/src/MappingCard.mjs +77 -0
- package/es/mapping-card/src/MappingCardList.d.ts +36 -0
- package/es/mapping-card/src/MappingCardList.mjs +50 -0
- package/es/mapping-card/src/MappingCardParts/Body.d.ts +4 -0
- package/es/mapping-card/src/MappingCardParts/Body.mjs +66 -0
- package/es/mapping-card/src/MappingCardParts/Header.d.ts +7 -0
- package/es/mapping-card/src/MappingCardParts/Header.mjs +147 -0
- package/es/mapping-card/src/injection.d.ts +17 -0
- package/es/mapping-card/src/injection.mjs +2 -0
- package/es/mapping-card/src/interface.d.ts +105 -0
- package/es/mapping-card/src/interface.mjs +45 -0
- package/es/mapping-card/src/styles/index.cssr.d.ts +2 -0
- package/es/mapping-card/src/styles/index.cssr.mjs +92 -0
- package/es/mapping-card/styles/dark.d.ts +337 -0
- package/es/mapping-card/styles/dark.mjs +22 -0
- package/es/mapping-card/styles/index.d.ts +3 -0
- package/es/mapping-card/styles/index.mjs +2 -0
- package/es/mapping-card/styles/light.d.ts +352 -0
- package/es/mapping-card/styles/light.mjs +45 -0
- package/es/progress/src/MultipleCircle.d.ts +1 -1
- package/es/radio/src/Radio.d.ts +1 -1
- package/es/radio/src/RadioButton.d.ts +3 -3
- package/es/tabs/src/Tabs.d.ts +2 -6
- package/es/themes/dark.mjs +2 -0
- package/es/themes/light.mjs +2 -0
- package/es/toggle-button/src/ToggleButton.d.ts +2 -2
- package/es/version.d.ts +1 -1
- package/es/version.mjs +1 -1
- package/lib/_internal/component-renderer/index.d.ts +2 -0
- package/lib/_internal/component-renderer/index.js +5 -0
- package/lib/_internal/component-renderer/src/interface.d.ts +29 -0
- package/lib/_internal/component-renderer/src/interface.js +2 -0
- package/lib/_internal/component-renderer/src/renderer.d.ts +3 -0
- package/lib/_internal/component-renderer/src/renderer.js +28 -0
- package/lib/_internal/select-menu/src/SelectOption.js +11 -12
- package/lib/_internal/select-menu/src/styles/index.cssr.js +4 -3
- package/lib/_internal/selection/src/styles/index.cssr.js +3 -0
- package/lib/card-list/src/CardList.d.ts +1 -1
- package/lib/checkbox/src/Checkbox.d.ts +2 -2
- package/lib/components.d.ts +1 -0
- package/lib/components.js +1 -0
- package/lib/config-provider/src/internal-interface.d.ts +3 -1
- package/lib/data-table/src/DataTable.d.ts +25 -5
- package/lib/data-table/src/DataTable.js +131 -4
- package/lib/data-table/src/TableParts/Body.d.ts +9 -6
- package/lib/data-table/src/TableParts/Body.js +30 -8
- package/lib/data-table/src/TableParts/Cell.js +16 -16
- package/lib/data-table/src/TableParts/Header.d.ts +4 -2
- package/lib/data-table/src/TableParts/Header.js +55 -23
- package/lib/data-table/src/interface.d.ts +16 -0
- package/lib/data-table/src/interface.js +6 -0
- package/lib/data-table/src/use-group-header.js +1 -1
- package/lib/data-table/src/use-resizable.d.ts +1 -0
- package/lib/data-table/src/use-resizable.js +5 -2
- package/lib/data-table/src/use-scroll.d.ts +5 -4
- package/lib/data-table/src/use-scroll.js +31 -28
- package/lib/data-table/src/utils/column-utils.d.ts +13 -0
- package/lib/data-table/src/utils/column-utils.js +116 -0
- package/lib/data-table/src/utils/csv-utils.d.ts +3 -0
- package/lib/data-table/src/utils/csv-utils.js +34 -0
- package/lib/data-table/src/utils/index.d.ts +7 -0
- package/lib/data-table/src/utils/index.js +26 -0
- package/lib/data-table/src/utils/mask-defaults.d.ts +6 -0
- package/lib/data-table/src/utils/mask-defaults.js +22 -0
- package/lib/data-table/src/utils/resize-orchestrator-utils.d.ts +6 -0
- package/lib/data-table/src/utils/resize-orchestrator-utils.js +35 -0
- package/lib/data-table/src/utils/sort-filter-utils.d.ts +6 -0
- package/lib/data-table/src/utils/sort-filter-utils.js +54 -0
- package/lib/data-table/src/utils/width-utils.d.ts +20 -0
- package/lib/data-table/src/utils/width-utils.js +182 -0
- package/lib/data-table/src/utils.d.ts +1 -25
- package/lib/data-table/src/utils.js +15 -229
- package/lib/grid/src/Grid.d.ts +1 -1
- package/lib/header/src/HeaderSearchResults.d.ts +1 -1
- package/lib/icon-bar/src/IconBar.d.ts +1 -1
- package/lib/input/src/Input.d.ts +1 -1
- package/lib/list/src/ListItem.d.ts +2 -2
- package/lib/list/src/ListItem.js +31 -10
- package/lib/list/src/props.d.ts +3 -1
- package/lib/list/src/styles/index.cssr.js +4 -2
- package/lib/locales/common/enUS.d.ts +6 -0
- package/lib/locales/common/enUS.js +6 -0
- package/lib/locales/common/ruRU.js +6 -0
- package/lib/mapping-card/index.d.ts +7 -0
- package/lib/mapping-card/index.js +15 -0
- package/lib/mapping-card/src/MappingCard.d.ts +2091 -0
- package/lib/mapping-card/src/MappingCard.js +58 -0
- package/lib/mapping-card/src/MappingCardList.d.ts +36 -0
- package/lib/mapping-card/src/MappingCardList.js +38 -0
- package/lib/mapping-card/src/MappingCardParts/Body.d.ts +4 -0
- package/lib/mapping-card/src/MappingCardParts/Body.js +48 -0
- package/lib/mapping-card/src/MappingCardParts/Header.d.ts +7 -0
- package/lib/mapping-card/src/MappingCardParts/Header.js +77 -0
- package/lib/mapping-card/src/injection.d.ts +17 -0
- package/lib/mapping-card/src/injection.js +5 -0
- package/lib/mapping-card/src/interface.d.ts +105 -0
- package/lib/mapping-card/src/interface.js +48 -0
- package/lib/mapping-card/src/styles/index.cssr.d.ts +2 -0
- package/lib/mapping-card/src/styles/index.cssr.js +97 -0
- package/lib/mapping-card/styles/dark.d.ts +337 -0
- package/lib/mapping-card/styles/dark.js +24 -0
- package/lib/mapping-card/styles/index.d.ts +3 -0
- package/lib/mapping-card/styles/index.js +10 -0
- package/lib/mapping-card/styles/light.d.ts +352 -0
- package/lib/mapping-card/styles/light.js +40 -0
- package/lib/progress/src/MultipleCircle.d.ts +1 -1
- package/lib/radio/src/Radio.d.ts +1 -1
- package/lib/radio/src/RadioButton.d.ts +3 -3
- package/lib/tabs/src/Tabs.d.ts +2 -6
- package/lib/themes/dark.js +84 -82
- package/lib/themes/light.js +82 -80
- package/lib/toggle-button/src/ToggleButton.d.ts +2 -2
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/package.json +1 -1
- package/volar.d.ts +2 -0
- package/web-types.json +207 -2
|
@@ -277,6 +277,9 @@ exports.default = (0, cssr_1.c)([(0, cssr_1.cB)('base-selection', `
|
|
|
277
277
|
color: var(--u-text-color-disabled);
|
|
278
278
|
`), (0, cssr_1.cE)('render-label', `
|
|
279
279
|
color: var(--u-text-color-disabled);
|
|
280
|
+
`), (0, cssr_1.cB)('base-selection-overlay', `
|
|
281
|
+
pointer-events: auto;
|
|
282
|
+
user-select: text;
|
|
280
283
|
`)]), (0, cssr_1.cB)('base-selection-tag-wrapper', `
|
|
281
284
|
max-width: 100%;
|
|
282
285
|
display: inline-flex;
|
|
@@ -251,9 +251,9 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
251
251
|
dropDownBgColor: string;
|
|
252
252
|
}, any>>>;
|
|
253
253
|
}>> & Readonly<{}>, {
|
|
254
|
+
readonly cols: string | number;
|
|
254
255
|
readonly showDivider: boolean;
|
|
255
256
|
readonly xGap: string | number;
|
|
256
257
|
readonly yGap: string | number;
|
|
257
|
-
readonly cols: string | number;
|
|
258
258
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
259
259
|
export default _default;
|
|
@@ -713,12 +713,12 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
713
713
|
disabled: boolean | undefined;
|
|
714
714
|
position: "left" | "right";
|
|
715
715
|
focusable: boolean;
|
|
716
|
+
checkedValue: string | number | boolean;
|
|
717
|
+
uncheckedValue: string | number | boolean;
|
|
716
718
|
indeterminate: boolean;
|
|
717
719
|
ripple: boolean;
|
|
718
720
|
privateInsideTable: boolean;
|
|
719
721
|
checked: string | number | boolean | undefined;
|
|
720
722
|
defaultChecked: string | number | boolean;
|
|
721
|
-
checkedValue: string | number | boolean;
|
|
722
|
-
uncheckedValue: string | number | boolean;
|
|
723
723
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
724
724
|
export default _default;
|
package/lib/components.d.ts
CHANGED
package/lib/components.js
CHANGED
|
@@ -79,6 +79,7 @@ __exportStar(require("./legacy-transfer"), exports);
|
|
|
79
79
|
__exportStar(require("./list"), exports);
|
|
80
80
|
__exportStar(require("./loading-bar"), exports);
|
|
81
81
|
__exportStar(require("./log"), exports);
|
|
82
|
+
__exportStar(require("./mapping-card"), exports);
|
|
82
83
|
__exportStar(require("./marquee"), exports);
|
|
83
84
|
__exportStar(require("./mention"), exports);
|
|
84
85
|
__exportStar(require("./menu"), exports);
|
|
@@ -52,7 +52,7 @@ import type { CollapseTransitionTheme } from '../../collapse-transition/styles';
|
|
|
52
52
|
import type { CollapseTheme } from '../../collapse/styles';
|
|
53
53
|
import type { ColorPickerProps } from '../../color-picker';
|
|
54
54
|
import type { ColorPickerTheme } from '../../color-picker/styles';
|
|
55
|
-
import type { DatePickerV2Props, DatePickerV2Theme } from '../../components';
|
|
55
|
+
import type { DatePickerV2Props, DatePickerV2Theme, MappingCardProps, MappingCardTheme } from '../../components';
|
|
56
56
|
import type { CropTheme } from '../../crop/styles';
|
|
57
57
|
import type { DataTableProps, DataTableRenderFilter, DataTableRenderSorter } from '../../data-table';
|
|
58
58
|
import type { DataTableTheme } from '../../data-table/styles';
|
|
@@ -209,6 +209,7 @@ export interface GlobalThemeWithoutCommon {
|
|
|
209
209
|
ButtonGroup?: ButtonGroupTheme;
|
|
210
210
|
Calendar?: CalendarTheme;
|
|
211
211
|
ActionCard?: ActionCardTheme;
|
|
212
|
+
MappingCard?: MappingCardTheme;
|
|
212
213
|
Card?: CardTheme;
|
|
213
214
|
Carousel?: CarouselTheme;
|
|
214
215
|
Cascader?: CascaderTheme;
|
|
@@ -315,6 +316,7 @@ export interface GlobalComponentConfig {
|
|
|
315
316
|
ButtonGroup?: ButtonGroupProps;
|
|
316
317
|
Calendar?: CalendarProps;
|
|
317
318
|
ActionCard?: ActionCardProps;
|
|
319
|
+
MappingCard?: MappingCardProps;
|
|
318
320
|
Card?: CardProps;
|
|
319
321
|
Carousel?: CarouselProps;
|
|
320
322
|
Cascader?: CascaderProps;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { CsvOptionsType, MainTableRef, RowKey, TableBaseColumn } from './interface';
|
|
1
|
+
import type { ColumnKey, CsvOptionsType, MainTableRef, RowKey, TableBaseColumn } from './interface';
|
|
2
2
|
declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
3
|
-
readonly onUnstableColumnResize: import("vue").PropType<(resizedWidth: number, limitedWidth: number, column: TableBaseColumn, getColumnWidth: (key:
|
|
3
|
+
readonly onUnstableColumnResize: import("vue").PropType<(resizedWidth: number, limitedWidth: number, column: TableBaseColumn, getColumnWidth: (key: ColumnKey) => number | undefined) => void>;
|
|
4
4
|
readonly pagination: {
|
|
5
5
|
readonly type: import("vue").PropType<false | import("../../pagination").PaginationProps>;
|
|
6
6
|
readonly default: false;
|
|
@@ -62,6 +62,15 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
62
62
|
readonly type: import("vue").PropType<"auto" | "fixed">;
|
|
63
63
|
readonly default: "auto";
|
|
64
64
|
};
|
|
65
|
+
readonly resizableMinWidth: {
|
|
66
|
+
readonly type: import("vue").PropType<number | string>;
|
|
67
|
+
readonly default: 50;
|
|
68
|
+
};
|
|
69
|
+
readonly resizableMaxWidth: import("vue").PropType<number | string>;
|
|
70
|
+
readonly resizableStorage: {
|
|
71
|
+
readonly type: BooleanConstructor;
|
|
72
|
+
readonly default: true;
|
|
73
|
+
};
|
|
65
74
|
readonly allowCheckingNotLoaded: BooleanConstructor;
|
|
66
75
|
readonly cascade: {
|
|
67
76
|
readonly type: BooleanConstructor;
|
|
@@ -2965,7 +2974,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
2965
2974
|
clearFilters: () => void;
|
|
2966
2975
|
clearSorter: () => void;
|
|
2967
2976
|
page: (page: number) => void;
|
|
2968
|
-
sort: (columnKey:
|
|
2977
|
+
sort: (columnKey: ColumnKey, order: import("./interface").SortOrder) => void;
|
|
2969
2978
|
scrollTo: import("../../scrollbar/src/Scrollbar").ScrollTo;
|
|
2970
2979
|
downloadCsv: (options?: CsvOptionsType) => void;
|
|
2971
2980
|
getData: () => {
|
|
@@ -4421,7 +4430,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
4421
4430
|
themeClass: import("vue").Ref<string, string> | undefined;
|
|
4422
4431
|
onRender: (() => void) | undefined;
|
|
4423
4432
|
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "edit"[], "edit", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
4424
|
-
readonly onUnstableColumnResize: import("vue").PropType<(resizedWidth: number, limitedWidth: number, column: TableBaseColumn, getColumnWidth: (key:
|
|
4433
|
+
readonly onUnstableColumnResize: import("vue").PropType<(resizedWidth: number, limitedWidth: number, column: TableBaseColumn, getColumnWidth: (key: ColumnKey) => number | undefined) => void>;
|
|
4425
4434
|
readonly pagination: {
|
|
4426
4435
|
readonly type: import("vue").PropType<false | import("../../pagination").PaginationProps>;
|
|
4427
4436
|
readonly default: false;
|
|
@@ -4483,6 +4492,15 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
4483
4492
|
readonly type: import("vue").PropType<"auto" | "fixed">;
|
|
4484
4493
|
readonly default: "auto";
|
|
4485
4494
|
};
|
|
4495
|
+
readonly resizableMinWidth: {
|
|
4496
|
+
readonly type: import("vue").PropType<number | string>;
|
|
4497
|
+
readonly default: 50;
|
|
4498
|
+
};
|
|
4499
|
+
readonly resizableMaxWidth: import("vue").PropType<number | string>;
|
|
4500
|
+
readonly resizableStorage: {
|
|
4501
|
+
readonly type: BooleanConstructor;
|
|
4502
|
+
readonly default: true;
|
|
4503
|
+
};
|
|
4486
4504
|
readonly allowCheckingNotLoaded: BooleanConstructor;
|
|
4487
4505
|
readonly cascade: {
|
|
4488
4506
|
readonly type: BooleanConstructor;
|
|
@@ -7388,6 +7406,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
7388
7406
|
readonly bordered: boolean | undefined;
|
|
7389
7407
|
readonly loading: boolean;
|
|
7390
7408
|
readonly loadingSkeleton: boolean;
|
|
7409
|
+
readonly spinProps: import("../../_internal").BaseLoadingExposedProps;
|
|
7391
7410
|
readonly allowCheckingNotLoaded: boolean;
|
|
7392
7411
|
readonly remote: boolean;
|
|
7393
7412
|
readonly cascade: boolean;
|
|
@@ -7404,11 +7423,12 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
7404
7423
|
readonly defaultExpandAll: boolean;
|
|
7405
7424
|
readonly stickyExpandedRows: boolean;
|
|
7406
7425
|
readonly tableLayout: "auto" | "fixed";
|
|
7426
|
+
readonly resizableMinWidth: string | number;
|
|
7427
|
+
readonly resizableStorage: boolean;
|
|
7407
7428
|
readonly childrenKey: string;
|
|
7408
7429
|
readonly indent: number;
|
|
7409
7430
|
readonly flexHeight: boolean;
|
|
7410
7431
|
readonly summaryPlacement: "top" | "bottom";
|
|
7411
7432
|
readonly paginationBehaviorOnFilter: "first" | "current";
|
|
7412
|
-
readonly spinProps: import("../../_internal").BaseLoadingExposedProps;
|
|
7413
7433
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
7414
7434
|
export default _default;
|
|
@@ -60,7 +60,7 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
60
60
|
const themeRef = (0, _mixins_1.useTheme)('DataTable', '-data-table', index_cssr_1.default, styles_1.dataTableLight, props, mergedClsPrefixRef);
|
|
61
61
|
const bodyWidthRef = (0, vue_1.ref)(null);
|
|
62
62
|
const mainTableInstRef = (0, vue_1.ref)(null);
|
|
63
|
-
const { getResizableWidth, clearResizableWidth, doUpdateResizableWidth, resizableWidthsRef } = (0, use_resizable_1.useResizable)();
|
|
63
|
+
const { getResizableWidth, clearResizableWidth, doUpdateResizableWidth, setResizableWidths, resizableWidthsRef } = (0, use_resizable_1.useResizable)();
|
|
64
64
|
const { rowsRef, colsRef, dataRelatedColsRef, hasEllipsisRef } = (0, use_group_header_1.useGroupHeader)(props, getResizableWidth);
|
|
65
65
|
const { treeMateRef, mergedCurrentPageRef, paginatedDataRef, rawPaginatedDataRef, selectionColumnRef, hoverKeyRef, mergedPaginationRef, mergedFilterStateRef, mergedSortStateRef, childTriggerColIndexRef, doUpdatePage, doUpdatePageSize, doUpdateFilters, onUnstableColumnResize, deriveNextSorter, restoreSortState, filter, filters, clearFilter, clearFilters, clearSorter, page, sort } = (0, use_table_data_1.useTableData)(props, { dataRelatedColsRef });
|
|
66
66
|
const downloadCsv = (options) => {
|
|
@@ -81,7 +81,8 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
81
81
|
const { handleTableBodyScroll, handleTableHeaderScroll, syncScrollState, setHeaderScrollLeft, leftActiveFixedColKeyRef, leftActiveFixedChildrenColKeysRef, rightActiveFixedColKeyRef, rightActiveFixedChildrenColKeysRef, leftFixedColumnsRef, rightFixedColumnsRef, fixedColumnLeftMapRef, fixedColumnRightMapRef } = (0, use_scroll_1.useScroll)(props, {
|
|
82
82
|
bodyWidthRef,
|
|
83
83
|
mainTableInstRef,
|
|
84
|
-
mergedCurrentPageRef
|
|
84
|
+
mergedCurrentPageRef,
|
|
85
|
+
getResizableWidth
|
|
85
86
|
});
|
|
86
87
|
(0, vue_1.onMounted)(() => {
|
|
87
88
|
var _a, _b;
|
|
@@ -91,7 +92,9 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
91
92
|
const stored = (0, use_table_storage_1.loadTableState)(key);
|
|
92
93
|
if (!stored)
|
|
93
94
|
return;
|
|
94
|
-
if (
|
|
95
|
+
if (props.resizableStorage
|
|
96
|
+
&& stored.columnWidths
|
|
97
|
+
&& Object.keys(stored.columnWidths).length > 0) {
|
|
95
98
|
resizableWidthsRef.value = Object.assign(Object.assign({}, resizableWidthsRef.value), stored.columnWidths);
|
|
96
99
|
}
|
|
97
100
|
if (props.pagination && stored.page != null) {
|
|
@@ -136,7 +139,9 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
136
139
|
if (!(state === null || state === void 0 ? void 0 : state.key))
|
|
137
140
|
return;
|
|
138
141
|
(0, use_table_storage_1.saveTableState)(state.key, {
|
|
139
|
-
columnWidths: state.columnWidths
|
|
142
|
+
columnWidths: state.columnWidths && Object.keys(state.columnWidths).length
|
|
143
|
+
? state.columnWidths
|
|
144
|
+
: undefined,
|
|
140
145
|
page: state.page,
|
|
141
146
|
pageSize: state.pageSize,
|
|
142
147
|
filters: state.filters,
|
|
@@ -162,6 +167,127 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
162
167
|
}
|
|
163
168
|
return props.tableLayout;
|
|
164
169
|
});
|
|
170
|
+
const resizableColumnPresentRef = (0, vue_1.computed)(() => {
|
|
171
|
+
return dataRelatedColsRef.value.some(column => (0, utils_1.isColumnResizable)(column));
|
|
172
|
+
});
|
|
173
|
+
const resizableEnabledRef = (0, vue_1.computed)(() => {
|
|
174
|
+
return resizableColumnPresentRef.value;
|
|
175
|
+
});
|
|
176
|
+
const fixedResizableModeRef = (0, vue_1.computed)(() => {
|
|
177
|
+
return mergedTableLayoutRef.value === 'fixed' && resizableEnabledRef.value;
|
|
178
|
+
});
|
|
179
|
+
const visibleLeafColumnsSignalRef = (0, vue_1.computed)(() => (0, utils_1.deriveVisibleLeafColumnWidthItems)(dataRelatedColsRef.value));
|
|
180
|
+
const visibleLeafKeySignatureRef = (0, vue_1.computed)(() => {
|
|
181
|
+
return visibleLeafColumnsSignalRef.value
|
|
182
|
+
.map(column => String(column.key))
|
|
183
|
+
.join('|');
|
|
184
|
+
});
|
|
185
|
+
const visibleLeafDescriptorSignatureRef = (0, vue_1.computed)(() => {
|
|
186
|
+
return (0, utils_1.deriveColumnWidthSignature)(visibleLeafColumnsSignalRef.value);
|
|
187
|
+
});
|
|
188
|
+
const resizableColumnsSignalRef = (0, vue_1.computed)(() => (0, utils_1.deriveResizableColumnWidthItems)(dataRelatedColsRef.value));
|
|
189
|
+
const resizableColumnsSignatureRef = (0, vue_1.computed)(() => {
|
|
190
|
+
return (0, utils_1.deriveColumnWidthSignature)(resizableColumnsSignalRef.value);
|
|
191
|
+
});
|
|
192
|
+
const modeSignalRef = (0, vue_1.computed)(() => {
|
|
193
|
+
return fixedResizableModeRef.value ? 'fixed' : 'non-fixed';
|
|
194
|
+
});
|
|
195
|
+
const containerWidthSignalRef = (0, vue_1.computed)(() => {
|
|
196
|
+
const bodyWidth = bodyWidthRef.value;
|
|
197
|
+
const scrollXWidth = (0, utils_1.parseLengthToNumber)(props.scrollX);
|
|
198
|
+
return bodyWidth !== null && bodyWidth > 0
|
|
199
|
+
? bodyWidth
|
|
200
|
+
: scrollXWidth !== undefined && scrollXWidth > 0
|
|
201
|
+
? scrollXWidth
|
|
202
|
+
: undefined;
|
|
203
|
+
});
|
|
204
|
+
const widthConstraintSignalRef = (0, vue_1.computed)(() => {
|
|
205
|
+
return {
|
|
206
|
+
systemMinWidth: props.resizableMinWidth,
|
|
207
|
+
systemMaxWidth: props.resizableMaxWidth
|
|
208
|
+
};
|
|
209
|
+
});
|
|
210
|
+
function buildNonFixedModeWidthMap(currentWidths, resizableColumns) {
|
|
211
|
+
const { systemMinWidth, systemMaxWidth } = widthConstraintSignalRef.value;
|
|
212
|
+
return {
|
|
213
|
+
keys: resizableColumns.map(column => column.key),
|
|
214
|
+
widthMap: (0, utils_1.sanitizeColumnWidthMap)(resizableColumns, {
|
|
215
|
+
systemMinWidth,
|
|
216
|
+
systemMaxWidth,
|
|
217
|
+
source: currentWidths
|
|
218
|
+
})
|
|
219
|
+
};
|
|
220
|
+
}
|
|
221
|
+
function buildFixedModeWidthMap(visibleLeafColumns, currentWidths) {
|
|
222
|
+
const { systemMinWidth, systemMaxWidth } = widthConstraintSignalRef.value;
|
|
223
|
+
const preferredWidths = (0, utils_1.sanitizeColumnWidthMap)(visibleLeafColumns, {
|
|
224
|
+
systemMinWidth,
|
|
225
|
+
systemMaxWidth,
|
|
226
|
+
source: currentWidths
|
|
227
|
+
});
|
|
228
|
+
const containerWidth = containerWidthSignalRef.value;
|
|
229
|
+
if (containerWidth === undefined) {
|
|
230
|
+
return preferredWidths;
|
|
231
|
+
}
|
|
232
|
+
return (0, utils_1.computeFixedTableColumnWidths)(visibleLeafColumns, {
|
|
233
|
+
containerWidth,
|
|
234
|
+
systemMinWidth,
|
|
235
|
+
systemMaxWidth,
|
|
236
|
+
preferredWidths
|
|
237
|
+
});
|
|
238
|
+
}
|
|
239
|
+
function syncResizableWidths(nextWidths, keys) {
|
|
240
|
+
const prevWidths = resizableWidthsRef.value;
|
|
241
|
+
const keySet = new Set(keys.map(String));
|
|
242
|
+
const staleKeysPresent = Object.keys(prevWidths).some(key => !keySet.has(key));
|
|
243
|
+
if (!staleKeysPresent
|
|
244
|
+
&& (0, utils_1.areColumnWidthMapsEqual)(prevWidths, nextWidths, keys)) {
|
|
245
|
+
return;
|
|
246
|
+
}
|
|
247
|
+
setResizableWidths(nextWidths);
|
|
248
|
+
}
|
|
249
|
+
function reconcileResizableWidths(_reason) {
|
|
250
|
+
const visibleLeafColumns = visibleLeafColumnsSignalRef.value;
|
|
251
|
+
const currentWidths = resizableWidthsRef.value;
|
|
252
|
+
if (!visibleLeafColumns.length || !resizableColumnPresentRef.value) {
|
|
253
|
+
if (Object.keys(currentWidths).length) {
|
|
254
|
+
clearResizableWidth();
|
|
255
|
+
}
|
|
256
|
+
return;
|
|
257
|
+
}
|
|
258
|
+
if (modeSignalRef.value !== 'fixed') {
|
|
259
|
+
const { widthMap, keys } = buildNonFixedModeWidthMap(currentWidths, resizableColumnsSignalRef.value);
|
|
260
|
+
syncResizableWidths(widthMap, keys);
|
|
261
|
+
return;
|
|
262
|
+
}
|
|
263
|
+
const visibleLeafKeys = visibleLeafColumns.map(column => column.key);
|
|
264
|
+
const nextWidths = buildFixedModeWidthMap(visibleLeafColumns, currentWidths);
|
|
265
|
+
syncResizableWidths(nextWidths, visibleLeafKeys);
|
|
266
|
+
}
|
|
267
|
+
function registerResizableWidthReconcileWatches() {
|
|
268
|
+
(0, vue_1.watch)(() => [
|
|
269
|
+
visibleLeafDescriptorSignatureRef.value,
|
|
270
|
+
visibleLeafKeySignatureRef.value,
|
|
271
|
+
resizableColumnsSignatureRef.value,
|
|
272
|
+
resizableColumnPresentRef.value
|
|
273
|
+
], () => {
|
|
274
|
+
reconcileResizableWidths('topology/capability');
|
|
275
|
+
}, { immediate: true });
|
|
276
|
+
(0, vue_1.watch)(modeSignalRef, () => {
|
|
277
|
+
reconcileResizableWidths('mode');
|
|
278
|
+
});
|
|
279
|
+
(0, vue_1.watch)(() => [
|
|
280
|
+
containerWidthSignalRef.value,
|
|
281
|
+
widthConstraintSignalRef.value.systemMinWidth,
|
|
282
|
+
widthConstraintSignalRef.value.systemMaxWidth
|
|
283
|
+
], () => {
|
|
284
|
+
reconcileResizableWidths('environment');
|
|
285
|
+
});
|
|
286
|
+
(0, vue_1.watch)(() => resizableWidthsRef.value, () => {
|
|
287
|
+
reconcileResizableWidths('width-state');
|
|
288
|
+
}, { deep: true });
|
|
289
|
+
}
|
|
290
|
+
registerResizableWidthReconcileWatches();
|
|
165
291
|
const calculateTotalRowValue = (pageData, config) => {
|
|
166
292
|
const { type, fields, function: customFn } = config;
|
|
167
293
|
switch (type) {
|
|
@@ -357,6 +483,7 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
357
483
|
}),
|
|
358
484
|
onLoadRef: (0, vue_1.toRef)(props, 'onLoad'),
|
|
359
485
|
mergedTableLayoutRef,
|
|
486
|
+
resizableEnabledRef,
|
|
360
487
|
maxHeightRef: (0, vue_1.toRef)(props, 'maxHeight'),
|
|
361
488
|
minHeightRef: (0, vue_1.toRef)(props, 'minHeight'),
|
|
362
489
|
flexHeightRef: (0, vue_1.toRef)(props, 'flexHeight'),
|
|
@@ -3,6 +3,12 @@ import type { VirtualListInst } from 'vueuc';
|
|
|
3
3
|
import type { ScrollbarInst } from '../../../_internal';
|
|
4
4
|
import type { ColumnKey, RowKey, TmNode } from '../interface';
|
|
5
5
|
import type { ColItem } from '../use-group-header';
|
|
6
|
+
interface NormalRowRenderInfo {
|
|
7
|
+
striped: boolean;
|
|
8
|
+
tmNode: TmNode;
|
|
9
|
+
key: RowKey;
|
|
10
|
+
index: number;
|
|
11
|
+
}
|
|
6
12
|
declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
7
13
|
onEdit: PropType<(value: string, row: string, key: string) => void>;
|
|
8
14
|
onResize: PropType<(e: ResizeObserverEntry) => void>;
|
|
@@ -2822,12 +2828,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
2822
2828
|
shouldDisplaySomeTablePart: import("vue").ComputedRef<boolean>;
|
|
2823
2829
|
empty: import("vue").ComputedRef<boolean>;
|
|
2824
2830
|
paginatedDataAndInfo: import("vue").ComputedRef<{
|
|
2825
|
-
data:
|
|
2826
|
-
tmNode: TmNode;
|
|
2827
|
-
key: import("treemate").Key;
|
|
2828
|
-
striped: boolean;
|
|
2829
|
-
index: number;
|
|
2830
|
-
}[];
|
|
2831
|
+
data: NormalRowRenderInfo[];
|
|
2831
2832
|
hasChildren: boolean;
|
|
2832
2833
|
}>;
|
|
2833
2834
|
rawPaginatedData: import("vue").Ref<import("../interface").InternalRowData[], import("../interface").InternalRowData[]>;
|
|
@@ -2853,6 +2854,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
2853
2854
|
mergedSortState: import("vue").Ref<import("../interface").SortState[], import("../interface").SortState[]>;
|
|
2854
2855
|
virtualScroll: import("vue").Ref<boolean, boolean>;
|
|
2855
2856
|
mergedTableLayout: import("vue").Ref<"auto" | "fixed", "auto" | "fixed">;
|
|
2857
|
+
fixedResizableMode: import("vue").ComputedRef<boolean>;
|
|
2858
|
+
fixedResizableTableWidth: import("vue").ComputedRef<string | undefined>;
|
|
2856
2859
|
childTriggerColIndex: import("vue").Ref<number, number>;
|
|
2857
2860
|
indent: import("vue").Ref<number, number>;
|
|
2858
2861
|
rowProps: import("vue").Ref<import("../interface").CreateRowProps<import("../interface").InternalRowData> | undefined, import("../interface").CreateRowProps<import("../interface").InternalRowData> | undefined>;
|
|
@@ -78,12 +78,13 @@ const VirtualListItemWrapper = (0, vue_1.defineComponent)({
|
|
|
78
78
|
type: Array,
|
|
79
79
|
required: true
|
|
80
80
|
},
|
|
81
|
+
tableWidth: String,
|
|
81
82
|
onMouseenter: Function,
|
|
82
83
|
onMouseleave: Function
|
|
83
84
|
},
|
|
84
85
|
render() {
|
|
85
|
-
const { clsPrefix, id, cols, onMouseenter, onMouseleave } = this;
|
|
86
|
-
return ((0, vue_1.h)("table", { style: { tableLayout: 'fixed' }, class: `${clsPrefix}-data-table-table`, onMouseenter: onMouseenter, onMouseleave: onMouseleave },
|
|
86
|
+
const { clsPrefix, id, cols, tableWidth, onMouseenter, onMouseleave } = this;
|
|
87
|
+
return ((0, vue_1.h)("table", { style: { tableLayout: 'fixed', width: tableWidth }, class: `${clsPrefix}-data-table-table`, onMouseenter: onMouseenter, onMouseleave: onMouseleave },
|
|
87
88
|
(0, vue_1.h)("colgroup", null, cols.map(col => ((0, vue_1.h)("col", { key: col.key, style: col.style })))),
|
|
88
89
|
(0, vue_1.h)("tbody", { "data-u-id": id, class: `${clsPrefix}-data-table-tbody` }, this.$slots)));
|
|
89
90
|
}
|
|
@@ -99,7 +100,7 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
99
100
|
bodyStyle: Object
|
|
100
101
|
},
|
|
101
102
|
setup(props) {
|
|
102
|
-
const { slots: dataTableSlots, bodyWidthRef, mergedExpandedRowKeysRef, mergedClsPrefixRef, mergedThemeRef, scrollXRef, colsRef, paginatedDataRef, rawPaginatedDataRef, fixedColumnLeftMapRef, fixedColumnRightMapRef, mergedCurrentPageRef, rowClassNameRef, leftActiveFixedColKeyRef, leftActiveFixedChildrenColKeysRef, rightActiveFixedColKeyRef, rightActiveFixedChildrenColKeysRef, renderExpandRef, hoverKeyRef, summaryRef, mergedSortStateRef, virtualScrollRef, componentId, mergedTableLayoutRef, childTriggerColIndexRef, indentRef, rowPropsRef, maxHeightRef, stripedRef, loadingRef, loadingSkeletonRef, onLoadRef, loadingKeySetRef, expandableRef, stickyExpandedRowsRef, renderExpandIconRef, summaryPlacementRef, treeMateRef, scrollbarPropsRef, setHeaderScrollLeft, doUpdateExpandedRowKeys, handleTableBodyScroll, doCheck, doUncheck, renderCell, defaultEmptyValueRef, emptyPropsRef } = (0, vue_1.inject)(interface_1.dataTableInjectionKey);
|
|
103
|
+
const { slots: dataTableSlots, bodyWidthRef, mergedExpandedRowKeysRef, mergedClsPrefixRef, mergedThemeRef, scrollXRef, colsRef, paginatedDataRef, rawPaginatedDataRef, fixedColumnLeftMapRef, fixedColumnRightMapRef, mergedCurrentPageRef, rowClassNameRef, leftActiveFixedColKeyRef, leftActiveFixedChildrenColKeysRef, rightActiveFixedColKeyRef, rightActiveFixedChildrenColKeysRef, renderExpandRef, hoverKeyRef, summaryRef, mergedSortStateRef, virtualScrollRef, componentId, mergedTableLayoutRef, resizableEnabledRef, childTriggerColIndexRef, indentRef, rowPropsRef, maxHeightRef, stripedRef, loadingRef, loadingSkeletonRef, onLoadRef, loadingKeySetRef, expandableRef, stickyExpandedRowsRef, renderExpandIconRef, summaryPlacementRef, treeMateRef, scrollbarPropsRef, setHeaderScrollLeft, doUpdateExpandedRowKeys, handleTableBodyScroll, doCheck, doUncheck, renderCell, defaultEmptyValueRef, emptyPropsRef } = (0, vue_1.inject)(interface_1.dataTableInjectionKey);
|
|
103
104
|
const UConfigProvider = (0, vue_1.inject)(context_1.configProviderInjectionKey, null);
|
|
104
105
|
const scrollbarInstRef = (0, vue_1.ref)(null);
|
|
105
106
|
const virtualListRef = (0, vue_1.ref)(null);
|
|
@@ -116,6 +117,21 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
116
117
|
const mergedExpandedRowKeySetRef = (0, vue_1.computed)(() => {
|
|
117
118
|
return new Set(mergedExpandedRowKeysRef.value);
|
|
118
119
|
});
|
|
120
|
+
const fixedResizableModeRef = (0, vue_1.computed)(() => {
|
|
121
|
+
return mergedTableLayoutRef.value === 'fixed' && resizableEnabledRef.value;
|
|
122
|
+
});
|
|
123
|
+
const fixedResizableTableWidthRef = (0, vue_1.computed)(() => {
|
|
124
|
+
if (!fixedResizableModeRef.value)
|
|
125
|
+
return;
|
|
126
|
+
let total = 0;
|
|
127
|
+
for (const column of colsRef.value) {
|
|
128
|
+
const width = (0, seemly_1.depx)(column.style.width);
|
|
129
|
+
if (!Number.isFinite(width) || width <= 0)
|
|
130
|
+
return;
|
|
131
|
+
total += width;
|
|
132
|
+
}
|
|
133
|
+
return `${total}px`;
|
|
134
|
+
});
|
|
119
135
|
function getRowInfo(key) {
|
|
120
136
|
var _a;
|
|
121
137
|
return (_a = treeMateRef.value.getNode(key)) === null || _a === void 0 ? void 0 : _a.rawNode;
|
|
@@ -338,7 +354,7 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
338
354
|
data,
|
|
339
355
|
hasChildren
|
|
340
356
|
};
|
|
341
|
-
}), rawPaginatedData: rawPaginatedDataRef, fixedColumnLeftMap: fixedColumnLeftMapRef, fixedColumnRightMap: fixedColumnRightMapRef, currentPage: mergedCurrentPageRef, rowClassName: rowClassNameRef, renderExpand: renderExpandRef, mergedExpandedRowKeySet: mergedExpandedRowKeySetRef, hoverKey: hoverKeyRef, mergedSortState: mergedSortStateRef, virtualScroll: virtualScrollRef, mergedTableLayout: mergedTableLayoutRef, childTriggerColIndex: childTriggerColIndexRef, indent: indentRef, rowProps: rowPropsRef, maxHeight: maxHeightRef, loadingKeySet: loadingKeySetRef, expandable: expandableRef, stickyExpandedRows: stickyExpandedRowsRef, renderExpandIcon: renderExpandIconRef, scrollbarProps: scrollbarPropsRef, setHeaderScrollLeft,
|
|
357
|
+
}), rawPaginatedData: rawPaginatedDataRef, fixedColumnLeftMap: fixedColumnLeftMapRef, fixedColumnRightMap: fixedColumnRightMapRef, currentPage: mergedCurrentPageRef, rowClassName: rowClassNameRef, renderExpand: renderExpandRef, mergedExpandedRowKeySet: mergedExpandedRowKeySetRef, hoverKey: hoverKeyRef, mergedSortState: mergedSortStateRef, virtualScroll: virtualScrollRef, mergedTableLayout: mergedTableLayoutRef, fixedResizableMode: fixedResizableModeRef, fixedResizableTableWidth: fixedResizableTableWidthRef, childTriggerColIndex: childTriggerColIndexRef, indent: indentRef, rowProps: rowPropsRef, maxHeight: maxHeightRef, loadingKeySet: loadingKeySetRef, expandable: expandableRef, stickyExpandedRows: stickyExpandedRowsRef, renderExpandIcon: renderExpandIconRef, scrollbarProps: scrollbarPropsRef, setHeaderScrollLeft,
|
|
342
358
|
handleVirtualListScroll,
|
|
343
359
|
handleVirtualListResize,
|
|
344
360
|
handleMouseleaveTable,
|
|
@@ -353,16 +369,19 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
353
369
|
emptyPropsRef }, exposedMethods);
|
|
354
370
|
},
|
|
355
371
|
render() {
|
|
356
|
-
const { mergedTheme, scrollX, mergedClsPrefix, virtualScroll, maxHeight, mergedTableLayout, flexHeight, loadingKeySet, onResize, setHeaderScrollLeft, emptyPropsRef } = this;
|
|
357
|
-
const scrollable = scrollX !== undefined
|
|
372
|
+
const { mergedTheme, scrollX, mergedClsPrefix, virtualScroll, maxHeight, mergedTableLayout, fixedResizableMode, fixedResizableTableWidth, flexHeight, loadingKeySet, onResize, setHeaderScrollLeft, emptyPropsRef } = this;
|
|
373
|
+
const scrollable = scrollX !== undefined
|
|
374
|
+
|| maxHeight !== undefined
|
|
375
|
+
|| flexHeight
|
|
376
|
+
|| fixedResizableMode;
|
|
358
377
|
// For a basic table with auto layout whose content may overflow we will
|
|
359
378
|
// make it scrollable, which differs from browser's native behavior.
|
|
360
379
|
// For native behavior, see
|
|
361
380
|
// https://developer.mozilla.org/en-US/docs/Web/CSS/table-layout
|
|
362
381
|
const isBasicAutoLayout = !scrollable && mergedTableLayout === 'auto';
|
|
363
|
-
const xScrollable = scrollX !== undefined || isBasicAutoLayout;
|
|
382
|
+
const xScrollable = scrollX !== undefined || isBasicAutoLayout || fixedResizableMode;
|
|
364
383
|
const contentStyle = {
|
|
365
|
-
minWidth: (0, _utils_1.formatLength)(scrollX) || '100%'
|
|
384
|
+
minWidth: fixedResizableTableWidth || (0, _utils_1.formatLength)(scrollX) || '100%'
|
|
366
385
|
};
|
|
367
386
|
if (scrollX)
|
|
368
387
|
contentStyle.width = '100%';
|
|
@@ -601,6 +620,7 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
601
620
|
};
|
|
602
621
|
if (!virtualScroll) {
|
|
603
622
|
return ((0, vue_1.h)("table", { class: `${mergedClsPrefix}-data-table-table`, onMouseleave: handleMouseleaveTable, style: {
|
|
623
|
+
width: fixedResizableTableWidth,
|
|
604
624
|
tableLayout: this.mergedTableLayout
|
|
605
625
|
} },
|
|
606
626
|
(0, vue_1.h)("colgroup", null, cols.map(col => ((0, vue_1.h)("col", { key: col.key, style: col.style })))),
|
|
@@ -612,6 +632,7 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
612
632
|
else {
|
|
613
633
|
if (this.loading || this.loadingSkeleton) {
|
|
614
634
|
return ((0, vue_1.h)("table", { class: `${mergedClsPrefix}-data-table-table`, onMouseleave: handleMouseleaveTable, style: {
|
|
635
|
+
width: fixedResizableTableWidth,
|
|
615
636
|
tableLayout: this.mergedTableLayout
|
|
616
637
|
} },
|
|
617
638
|
(0, vue_1.h)("colgroup", null, cols.map(col => ((0, vue_1.h)("col", { key: col.key, style: col.style })))),
|
|
@@ -622,6 +643,7 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
622
643
|
clsPrefix: mergedClsPrefix,
|
|
623
644
|
id: componentId,
|
|
624
645
|
cols,
|
|
646
|
+
tableWidth: fixedResizableTableWidth,
|
|
625
647
|
onMouseleave: handleMouseleaveTable
|
|
626
648
|
}, showScrollbar: false, onResize: this.handleVirtualListResize, onScroll: this.handleVirtualListScroll, itemsStyle: contentStyle, itemResizable: true }, {
|
|
627
649
|
default: ({ item, index }) => renderRow(item, index, true)
|
|
@@ -41,7 +41,7 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
41
41
|
const { render, key, ellipsis, editable, numeric } = column;
|
|
42
42
|
if (numeric && !mask)
|
|
43
43
|
mask = utils_1.defaultNumericMask;
|
|
44
|
-
const
|
|
44
|
+
const rowEditable = typeof editable === 'function' ? editable(row) : editable;
|
|
45
45
|
if (render && !isSummary) {
|
|
46
46
|
let cellValue = render(row, this.index);
|
|
47
47
|
if (cellValue == null || cellValue === false) {
|
|
@@ -67,7 +67,7 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
67
67
|
cell = cellValue;
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
|
-
else if (
|
|
70
|
+
else if (rowEditable && !isSummary) {
|
|
71
71
|
const { placeholder } = column;
|
|
72
72
|
const rawValue = String(row[key] || '');
|
|
73
73
|
const displayValue = mask ? (0, use_mask_1.processMaskedValue)(rawValue, mask) : rawValue;
|
|
@@ -76,19 +76,19 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
76
76
|
class: `${this.clsPrefix}-data-table-editable-input`,
|
|
77
77
|
value: displayValue,
|
|
78
78
|
placeholder: placeholder || '',
|
|
79
|
-
onFocus: (
|
|
80
|
-
const input =
|
|
79
|
+
onFocus: (event) => {
|
|
80
|
+
const input = event.target;
|
|
81
81
|
isEditingRef.current = true;
|
|
82
82
|
input.value = rawValue;
|
|
83
83
|
},
|
|
84
|
-
onKeyDown: (
|
|
84
|
+
onKeyDown: (event) => {
|
|
85
85
|
if (mask && typeof mask === 'function' && isEditingRef.current) {
|
|
86
|
-
const input =
|
|
86
|
+
const input = event.target;
|
|
87
87
|
input.value = rawValue;
|
|
88
88
|
}
|
|
89
89
|
},
|
|
90
|
-
onInput: (
|
|
91
|
-
const input =
|
|
90
|
+
onInput: (event) => {
|
|
91
|
+
const input = event.target;
|
|
92
92
|
let value = input.value;
|
|
93
93
|
if (numeric) {
|
|
94
94
|
const cursorPosition = input.selectionStart || 0;
|
|
@@ -136,15 +136,15 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
136
136
|
}
|
|
137
137
|
this.$emit('edit', processedValue, row, key);
|
|
138
138
|
},
|
|
139
|
-
onKeyUp: (
|
|
139
|
+
onKeyUp: (event) => {
|
|
140
140
|
if (mask && typeof mask === 'function' && isEditingRef.current) {
|
|
141
|
-
const input =
|
|
141
|
+
const input = event.target;
|
|
142
142
|
input.value = rawValue;
|
|
143
143
|
}
|
|
144
144
|
},
|
|
145
|
-
onChange: (
|
|
145
|
+
onChange: (event) => {
|
|
146
146
|
if (mask && typeof mask === 'function' && isEditingRef.current) {
|
|
147
|
-
const input =
|
|
147
|
+
const input = event.target;
|
|
148
148
|
setTimeout(() => {
|
|
149
149
|
if (isEditingRef.current && input.value !== rawValue) {
|
|
150
150
|
input.value = rawValue;
|
|
@@ -157,10 +157,10 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
157
157
|
}, 10);
|
|
158
158
|
}
|
|
159
159
|
},
|
|
160
|
-
onBlur: (
|
|
160
|
+
onBlur: (event) => {
|
|
161
161
|
isEditingRef.current = false;
|
|
162
162
|
if (mask) {
|
|
163
|
-
const input =
|
|
163
|
+
const input = event.target;
|
|
164
164
|
let currentValue = input.value;
|
|
165
165
|
if (numeric && currentValue !== '') {
|
|
166
166
|
currentValue = currentValue.replace(',', '.');
|
|
@@ -241,8 +241,8 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
241
241
|
}
|
|
242
242
|
}
|
|
243
243
|
}
|
|
244
|
-
if (
|
|
245
|
-
if (typeof ellipsis === 'object') {
|
|
244
|
+
if ((0, utils_1.isColumnEllipsisEnabled)(column)) {
|
|
245
|
+
if (ellipsis && typeof ellipsis === 'object') {
|
|
246
246
|
const { mergedTheme } = this;
|
|
247
247
|
return ((0, vue_1.h)(ellipsis_1.UEllipsis, Object.assign({}, ellipsis, { theme: mergedTheme.peers.Ellipsis, themeOverrides: mergedTheme.peerOverrides.Ellipsis }), { default: () => cell }));
|
|
248
248
|
}
|
|
@@ -5,7 +5,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
5
5
|
default: boolean;
|
|
6
6
|
};
|
|
7
7
|
}>, {
|
|
8
|
-
|
|
8
|
+
cellElementsRef: import("vue").Ref<Record<ColumnKey, HTMLTableCellElement>, Record<ColumnKey, HTMLTableCellElement>>;
|
|
9
9
|
componentId: string;
|
|
10
10
|
mergedSortState: import("vue").Ref<import("../interface").SortState[], import("../interface").SortState[]>;
|
|
11
11
|
mergedClsPrefix: import("vue").Ref<string, string>;
|
|
@@ -2792,9 +2792,11 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
2792
2792
|
}>;
|
|
2793
2793
|
checkOptions: import("vue").Ref<import("../interface").DataTableSelectionOptions<import("../interface").InternalRowData> | undefined, import("../interface").DataTableSelectionOptions<import("../interface").InternalRowData> | undefined>;
|
|
2794
2794
|
mergedTableLayout: import("vue").Ref<"auto" | "fixed", "auto" | "fixed">;
|
|
2795
|
+
resizableEnabled: import("vue").Ref<boolean, boolean>;
|
|
2796
|
+
fixedResizableTableWidth: import("vue").ComputedRef<string | undefined>;
|
|
2795
2797
|
headerCheckboxDisabled: import("vue").Ref<boolean, boolean>;
|
|
2796
2798
|
handleCheckboxUpdateChecked: () => void;
|
|
2797
|
-
handleColHeaderClick: (
|
|
2799
|
+
handleColHeaderClick: (event: MouseEvent, column: TableBaseColumn) => void;
|
|
2798
2800
|
handleTableHeaderScroll: (e: Event) => void;
|
|
2799
2801
|
handleColumnResizeStart: (column: TableBaseColumn) => void;
|
|
2800
2802
|
handleColumnResize: (column: TableBaseColumn, displacementX: number) => void;
|