@nokecy/qc-ui-components 2.0.0-beta.0 → 2.0.0-beta.1
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/cjs/ConfirmPro/index.d.ts +12 -9
- package/dist/cjs/ConfirmPro/index.js +11 -34
- package/dist/cjs/ag-grid-plus/ag-gridPlus.js +422 -156
- package/dist/cjs/ag-grid-plus/context/gridContext.d.ts +12 -1
- package/dist/cjs/ag-grid-plus/context/queryFormContext.d.ts +2 -0
- package/dist/cjs/ag-grid-plus/context/useSchemeDataFlow.js +8 -0
- package/dist/cjs/ag-grid-plus/density.d.ts +25 -0
- package/dist/cjs/ag-grid-plus/density.js +52 -0
- package/dist/cjs/ag-grid-plus/index.less +36 -0
- package/dist/cjs/ag-grid-plus/interface.d.ts +58 -1
- package/dist/cjs/ag-grid-plus/interface.js +1 -1
- package/dist/cjs/ag-grid-plus/queryForm/index.d.ts +11 -0
- package/dist/cjs/ag-grid-plus/queryForm/index.js +62 -10
- package/dist/cjs/ag-grid-plus/queryForm/queryForm.d.ts +10 -0
- package/dist/cjs/ag-grid-plus/queryForm/queryForm.js +63 -26
- package/dist/cjs/ag-grid-plus/queryForm/queryValues.d.ts +9 -0
- package/dist/cjs/ag-grid-plus/queryForm/queryValues.js +61 -0
- package/dist/cjs/ag-grid-plus/rowColors.d.ts +12 -0
- package/dist/cjs/ag-grid-plus/rowColors.js +58 -0
- package/dist/cjs/ag-grid-plus/setting/ColumnConfigTable.d.ts +5 -0
- package/dist/cjs/ag-grid-plus/setting/ColumnConfigTable.js +14 -5
- package/dist/cjs/ag-grid-plus/setting/ColumnSetting.js +108 -76
- package/dist/cjs/ag-grid-plus/setting/QuerySchemeManager.js +10 -9
- package/dist/cjs/ag-grid-plus/setting/autoColumnMemory.d.ts +37 -0
- package/dist/cjs/ag-grid-plus/setting/autoColumnMemory.js +206 -0
- package/dist/cjs/ag-grid-plus/setting/columnGroupUtils.d.ts +2 -0
- package/dist/cjs/ag-grid-plus/setting/columnGroupUtils.js +19 -1
- package/dist/cjs/ag-grid-plus/setting/index.js +5 -14
- package/dist/cjs/ag-grid-plus/settingItem/index.d.ts +11 -1
- package/dist/cjs/ag-grid-plus/settingItem/index.js +34 -12
- package/dist/cjs/ag-grid-plus/shared/EmptyIllustration.d.ts +16 -0
- package/dist/cjs/ag-grid-plus/shared/EmptyIllustration.js +87 -0
- package/dist/cjs/ag-grid-plus/shared/NoRowsOverlay.js +9 -1
- package/dist/cjs/ag-grid-plus/shared/SkeletonOverlay.d.ts +11 -0
- package/dist/cjs/ag-grid-plus/shared/SkeletonOverlay.js +40 -0
- package/dist/cjs/ag-grid-plus/shared/storage/schemeStorageAdapter.d.ts +1 -1
- package/dist/cjs/ag-grid-plus/theme.d.ts +7 -1
- package/dist/cjs/ag-grid-plus/theme.js +31 -6
- package/dist/cjs/ag-grid-plus/toolBar/OverflowActions.d.ts +16 -0
- package/dist/cjs/ag-grid-plus/toolBar/OverflowActions.js +128 -0
- package/dist/cjs/ag-grid-plus/toolBar/index.d.ts +3 -1
- package/dist/cjs/ag-grid-plus/toolBar/index.js +43 -35
- package/dist/cjs/ag-grid-plus/toolBar/leftContent.d.ts +2 -2
- package/dist/cjs/ag-grid-plus/toolBar/leftContent.js +2 -2
- package/dist/cjs/ag-grid-plus/toolBar/overflow.d.ts +20 -0
- package/dist/cjs/ag-grid-plus/toolBar/overflow.js +48 -0
- package/dist/cjs/ag-grid-plus/toolBar/style.js +71 -15
- package/dist/cjs/ag-grid-plus/types.d.ts +6 -0
- package/dist/cjs/ag-grid-plus/utils/agGridCompat.js +12 -3
- package/dist/cjs/ag-grid-plus/utils/columnProcessors.d.ts +3 -0
- package/dist/cjs/ag-grid-plus/utils/columnProcessors.js +13 -2
- package/dist/cjs/ag-grid-plus/utils/constants.d.ts +3 -2
- package/dist/cjs/ag-grid-plus/utils/constants.js +3 -2
- package/dist/cjs/ag-grid-plus/utils/crossPageSelection.d.ts +21 -0
- package/dist/cjs/ag-grid-plus/utils/crossPageSelection.js +58 -0
- package/dist/cjs/ag-grid-plus/utils/emptyState.d.ts +2 -0
- package/dist/cjs/ag-grid-plus/utils/emptyState.js +9 -5
- package/dist/cjs/ag-grid-plus/utils/listKeyboard.d.ts +24 -0
- package/dist/cjs/ag-grid-plus/utils/listKeyboard.js +83 -0
- package/dist/cjs/ag-grid-plus/utils/pagination.d.ts +26 -0
- package/dist/cjs/ag-grid-plus/utils/pagination.js +69 -0
- package/dist/cjs/ag-grid-plus/utils/queryDispatch.d.ts +7 -0
- package/dist/cjs/ag-grid-plus/utils/queryDispatch.js +17 -0
- package/dist/cjs/ag-grid-plus/utils/statusPill.d.ts +25 -0
- package/dist/cjs/ag-grid-plus/utils/statusPill.js +196 -0
- package/dist/cjs/ag-grid-plus/utils/valueEnumColor.d.ts +6 -1
- package/dist/cjs/ag-grid-plus/utils/valueEnumColor.js +13 -9
- package/dist/cjs/ag-grid-plus/utils/valueFormat.d.ts +19 -0
- package/dist/cjs/ag-grid-plus/utils/valueFormat.js +73 -0
- package/dist/cjs/ag-grid-plus/utils.js +3 -2
- package/dist/cjs/array-table/arrayAddBtn.d.ts +1 -0
- package/dist/cjs/array-table/arrayAddBtn.js +2 -2
- package/dist/cjs/array-table/autoHeight.d.ts +18 -0
- package/dist/cjs/array-table/autoHeight.js +30 -0
- package/dist/cjs/array-table/batchRemove.d.ts +2 -2
- package/dist/cjs/array-table/cellEditorMarker.d.ts +18 -0
- package/dist/cjs/array-table/cellEditorMarker.js +92 -0
- package/dist/cjs/array-table/errorLocator.d.ts +29 -0
- package/dist/cjs/array-table/errorLocator.js +101 -0
- package/dist/cjs/array-table/hooks.d.ts +52 -4
- package/dist/cjs/array-table/hooks.js +251 -18
- package/dist/cjs/array-table/index.d.ts +6 -0
- package/dist/cjs/array-table/index.js +167 -23
- package/dist/cjs/array-table/interface.d.ts +22 -0
- package/dist/cjs/array-table/preview.js +39 -5
- package/dist/cjs/array-table/rowFeedback.d.ts +2 -2
- package/dist/cjs/array-table/rowFeedback.js +8 -8
- package/dist/cjs/array-table/summary.d.ts +25 -0
- package/dist/cjs/array-table/summary.js +70 -0
- package/dist/cjs/array-table/theme.d.ts +35 -5
- package/dist/cjs/array-table/theme.js +49 -12
- package/dist/cjs/array-table/title.d.ts +3 -0
- package/dist/cjs/array-table/title.js +29 -0
- package/dist/cjs/array-table/utils.d.ts +2 -1
- package/dist/cjs/array-table/utils.js +94 -23
- package/dist/cjs/card/pro-card/Card/useLegacyItems.d.ts +1 -1
- package/dist/cjs/dateCellEditor/DateCellEditor.d.ts +5 -0
- package/dist/cjs/dateCellEditor/DateCellEditor.js +42 -17
- package/dist/cjs/deleteConfirm/index.d.ts +14 -0
- package/dist/cjs/deleteConfirm/index.js +73 -12
- package/dist/cjs/dialogSelect/index.d.ts +19 -0
- package/dist/cjs/dialogSelect/index.js +189 -15
- package/dist/cjs/dialogSelect/index.less +18 -0
- package/dist/cjs/documentPage/documentPage.d.ts +6 -3
- package/dist/cjs/documentPage/documentPage.js +23 -8
- package/dist/cjs/documentPage/index.d.ts +2 -0
- package/dist/cjs/documentPage/index.js +19 -0
- package/dist/cjs/documentPage/leaveGuard.d.ts +31 -0
- package/dist/cjs/documentPage/leaveGuard.js +91 -0
- package/dist/cjs/draggableModal/index.d.ts +24 -1
- package/dist/cjs/draggableModal/index.js +36 -6
- package/dist/cjs/fullScreenAlert/index.less +10 -10
- package/dist/cjs/index.d.ts +2 -0
- package/dist/cjs/index.js +15 -0
- package/dist/cjs/readPretty/arrayTable.js +5 -1
- package/dist/cjs/scanCollect/ScanFeedbackInput.d.ts +26 -0
- package/dist/cjs/scanCollect/ScanFeedbackInput.js +113 -0
- package/dist/cjs/scanCollect/index.d.ts +4 -0
- package/dist/cjs/scanCollect/index.js +14 -0
- package/dist/cjs/scanCollect/scanSound.d.ts +15 -0
- package/dist/cjs/scanCollect/scanSound.js +91 -0
- package/dist/esm/ConfirmPro/index.d.ts +12 -9
- package/dist/esm/ConfirmPro/index.js +11 -34
- package/dist/esm/ag-grid-plus/ag-gridPlus.js +423 -156
- package/dist/esm/ag-grid-plus/context/gridContext.d.ts +12 -1
- package/dist/esm/ag-grid-plus/context/queryFormContext.d.ts +2 -0
- package/dist/esm/ag-grid-plus/context/useSchemeDataFlow.js +8 -0
- package/dist/esm/ag-grid-plus/density.d.ts +25 -0
- package/dist/esm/ag-grid-plus/density.js +45 -0
- package/dist/esm/ag-grid-plus/index.less +36 -0
- package/dist/esm/ag-grid-plus/interface.d.ts +58 -1
- package/dist/esm/ag-grid-plus/interface.js +2 -0
- package/dist/esm/ag-grid-plus/queryForm/index.d.ts +11 -0
- package/dist/esm/ag-grid-plus/queryForm/index.js +62 -10
- package/dist/esm/ag-grid-plus/queryForm/queryForm.d.ts +10 -0
- package/dist/esm/ag-grid-plus/queryForm/queryForm.js +64 -26
- package/dist/esm/ag-grid-plus/queryForm/queryValues.d.ts +9 -0
- package/dist/esm/ag-grid-plus/queryForm/queryValues.js +54 -0
- package/dist/esm/ag-grid-plus/rowColors.d.ts +12 -0
- package/dist/esm/ag-grid-plus/rowColors.js +50 -0
- package/dist/esm/ag-grid-plus/setting/ColumnConfigTable.d.ts +5 -0
- package/dist/esm/ag-grid-plus/setting/ColumnConfigTable.js +14 -5
- package/dist/esm/ag-grid-plus/setting/ColumnSetting.js +110 -78
- package/dist/esm/ag-grid-plus/setting/QuerySchemeManager.js +10 -9
- package/dist/esm/ag-grid-plus/setting/autoColumnMemory.d.ts +37 -0
- package/dist/esm/ag-grid-plus/setting/autoColumnMemory.js +198 -0
- package/dist/esm/ag-grid-plus/setting/columnGroupUtils.d.ts +2 -0
- package/dist/esm/ag-grid-plus/setting/columnGroupUtils.js +18 -1
- package/dist/esm/ag-grid-plus/setting/index.js +6 -15
- package/dist/esm/ag-grid-plus/settingItem/index.d.ts +11 -1
- package/dist/esm/ag-grid-plus/settingItem/index.js +35 -13
- package/dist/esm/ag-grid-plus/shared/EmptyIllustration.d.ts +16 -0
- package/dist/esm/ag-grid-plus/shared/EmptyIllustration.js +82 -0
- package/dist/esm/ag-grid-plus/shared/NoRowsOverlay.js +9 -1
- package/dist/esm/ag-grid-plus/shared/SkeletonOverlay.d.ts +11 -0
- package/dist/esm/ag-grid-plus/shared/SkeletonOverlay.js +34 -0
- package/dist/esm/ag-grid-plus/shared/storage/schemeStorageAdapter.d.ts +1 -1
- package/dist/esm/ag-grid-plus/theme.d.ts +7 -1
- package/dist/esm/ag-grid-plus/theme.js +31 -6
- package/dist/esm/ag-grid-plus/toolBar/OverflowActions.d.ts +16 -0
- package/dist/esm/ag-grid-plus/toolBar/OverflowActions.js +120 -0
- package/dist/esm/ag-grid-plus/toolBar/index.d.ts +3 -1
- package/dist/esm/ag-grid-plus/toolBar/index.js +43 -35
- package/dist/esm/ag-grid-plus/toolBar/leftContent.d.ts +2 -2
- package/dist/esm/ag-grid-plus/toolBar/leftContent.js +2 -2
- package/dist/esm/ag-grid-plus/toolBar/overflow.d.ts +20 -0
- package/dist/esm/ag-grid-plus/toolBar/overflow.js +41 -0
- package/dist/esm/ag-grid-plus/toolBar/style.js +71 -15
- package/dist/esm/ag-grid-plus/types.d.ts +6 -0
- package/dist/esm/ag-grid-plus/utils/agGridCompat.js +12 -3
- package/dist/esm/ag-grid-plus/utils/columnProcessors.d.ts +3 -0
- package/dist/esm/ag-grid-plus/utils/columnProcessors.js +14 -3
- package/dist/esm/ag-grid-plus/utils/constants.d.ts +3 -2
- package/dist/esm/ag-grid-plus/utils/constants.js +3 -2
- package/dist/esm/ag-grid-plus/utils/crossPageSelection.d.ts +21 -0
- package/dist/esm/ag-grid-plus/utils/crossPageSelection.js +52 -0
- package/dist/esm/ag-grid-plus/utils/emptyState.d.ts +2 -0
- package/dist/esm/ag-grid-plus/utils/emptyState.js +9 -5
- package/dist/esm/ag-grid-plus/utils/listKeyboard.d.ts +24 -0
- package/dist/esm/ag-grid-plus/utils/listKeyboard.js +77 -0
- package/dist/esm/ag-grid-plus/utils/pagination.d.ts +26 -0
- package/dist/esm/ag-grid-plus/utils/pagination.js +60 -0
- package/dist/esm/ag-grid-plus/utils/queryDispatch.d.ts +7 -0
- package/dist/esm/ag-grid-plus/utils/queryDispatch.js +11 -0
- package/dist/esm/ag-grid-plus/utils/statusPill.d.ts +25 -0
- package/dist/esm/ag-grid-plus/utils/statusPill.js +192 -0
- package/dist/esm/ag-grid-plus/utils/valueEnumColor.d.ts +6 -1
- package/dist/esm/ag-grid-plus/utils/valueEnumColor.js +12 -8
- package/dist/esm/ag-grid-plus/utils/valueFormat.d.ts +19 -0
- package/dist/esm/ag-grid-plus/utils/valueFormat.js +63 -0
- package/dist/esm/ag-grid-plus/utils.js +3 -2
- package/dist/esm/array-table/arrayAddBtn.d.ts +1 -0
- package/dist/esm/array-table/arrayAddBtn.js +1 -1
- package/dist/esm/array-table/autoHeight.d.ts +18 -0
- package/dist/esm/array-table/autoHeight.js +25 -0
- package/dist/esm/array-table/batchRemove.d.ts +2 -2
- package/dist/esm/array-table/cellEditorMarker.d.ts +18 -0
- package/dist/esm/array-table/cellEditorMarker.js +84 -0
- package/dist/esm/array-table/errorLocator.d.ts +29 -0
- package/dist/esm/array-table/errorLocator.js +95 -0
- package/dist/esm/array-table/hooks.d.ts +52 -4
- package/dist/esm/array-table/hooks.js +251 -17
- package/dist/esm/array-table/index.d.ts +6 -0
- package/dist/esm/array-table/index.js +170 -25
- package/dist/esm/array-table/interface.d.ts +22 -0
- package/dist/esm/array-table/preview.js +43 -7
- package/dist/esm/array-table/rowFeedback.d.ts +2 -2
- package/dist/esm/array-table/rowFeedback.js +8 -8
- package/dist/esm/array-table/summary.d.ts +25 -0
- package/dist/esm/array-table/summary.js +66 -0
- package/dist/esm/array-table/theme.d.ts +35 -5
- package/dist/esm/array-table/theme.js +47 -12
- package/dist/esm/array-table/title.d.ts +3 -0
- package/dist/esm/array-table/title.js +24 -0
- package/dist/esm/array-table/utils.d.ts +2 -1
- package/dist/esm/array-table/utils.js +93 -22
- package/dist/esm/card/pro-card/Card/useLegacyItems.d.ts +1 -1
- package/dist/esm/dateCellEditor/DateCellEditor.d.ts +5 -0
- package/dist/esm/dateCellEditor/DateCellEditor.js +42 -17
- package/dist/esm/deleteConfirm/index.d.ts +14 -0
- package/dist/esm/deleteConfirm/index.js +72 -12
- package/dist/esm/dialogSelect/index.d.ts +19 -0
- package/dist/esm/dialogSelect/index.js +190 -16
- package/dist/esm/dialogSelect/index.less +18 -0
- package/dist/esm/documentPage/documentPage.d.ts +6 -3
- package/dist/esm/documentPage/documentPage.js +23 -8
- package/dist/esm/documentPage/index.d.ts +2 -0
- package/dist/esm/documentPage/index.js +1 -0
- package/dist/esm/documentPage/leaveGuard.d.ts +31 -0
- package/dist/esm/documentPage/leaveGuard.js +86 -0
- package/dist/esm/draggableModal/index.d.ts +24 -1
- package/dist/esm/draggableModal/index.js +35 -5
- package/dist/esm/fullScreenAlert/index.less +10 -10
- package/dist/esm/index.d.ts +2 -0
- package/dist/esm/index.js +1 -0
- package/dist/esm/readPretty/arrayTable.js +6 -2
- package/dist/esm/scanCollect/ScanFeedbackInput.d.ts +26 -0
- package/dist/esm/scanCollect/ScanFeedbackInput.js +107 -0
- package/dist/esm/scanCollect/index.d.ts +4 -0
- package/dist/esm/scanCollect/index.js +2 -0
- package/dist/esm/scanCollect/scanSound.d.ts +15 -0
- package/dist/esm/scanCollect/scanSound.js +84 -0
- package/package.json +2 -2
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/** 主色占 percent%,其余为白。 */
|
|
2
|
+
export declare const mixWithWhite: (hex: string, percent: number) => string;
|
|
3
|
+
export interface GridRowColors {
|
|
4
|
+
hover: string;
|
|
5
|
+
selected: string;
|
|
6
|
+
selectedHover: string;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* @param primary 主色,非 6 位 hex 时返回 undefined,由调用方退回 antd token
|
|
10
|
+
* @param linkText 浅底文字(链接色),缺省按主色
|
|
11
|
+
*/
|
|
12
|
+
export declare function deriveRowColors(primary: string, linkText?: string): GridRowColors | undefined;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.deriveRowColors = deriveRowColors;
|
|
7
|
+
exports.mixWithWhite = void 0;
|
|
8
|
+
var _contrast = require("../shared/contrast");
|
|
9
|
+
/**
|
|
10
|
+
* 悬浮行 / 选中行 / 选中且悬浮行底色(DESIGN.md §3.5):主色朝白混合,
|
|
11
|
+
* 浅底文字(链接色)压其上必须 ≥ 4.5:1,不达标就逐步变浅。
|
|
12
|
+
* 不直接用 antd 的 colorPrimaryBg 系列:那是对主色的通用派生,绿主题下链接压其上只有 2.3~2.9。
|
|
13
|
+
* @author nokecy
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
var HEX = /^#[0-9a-f]{6}$/i;
|
|
17
|
+
var toHexRgb = function toHexRgb(hex) {
|
|
18
|
+
var v = parseInt(hex.slice(1), 16);
|
|
19
|
+
return [v >> 16 & 255, v >> 8 & 255, v & 255];
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
/** 主色占 percent%,其余为白。 */
|
|
23
|
+
var mixWithWhite = exports.mixWithWhite = function mixWithWhite(hex, percent) {
|
|
24
|
+
var rgb = toHexRgb(hex);
|
|
25
|
+
var out = rgb.map(function (c) {
|
|
26
|
+
return Math.round(255 - (255 - c) * (percent / 100));
|
|
27
|
+
});
|
|
28
|
+
return "#".concat(out.map(function (c) {
|
|
29
|
+
return c.toString(16).padStart(2, '0');
|
|
30
|
+
}).join(''));
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
/** 悬浮 6% / 选中 9% / 选中且悬浮 14%(对应规范的 94% / 91% / 86% 起混白)。 */
|
|
34
|
+
var START = {
|
|
35
|
+
hover: 6,
|
|
36
|
+
selected: 9,
|
|
37
|
+
selectedHover: 14
|
|
38
|
+
};
|
|
39
|
+
/**
|
|
40
|
+
* @param primary 主色,非 6 位 hex 时返回 undefined,由调用方退回 antd token
|
|
41
|
+
* @param linkText 浅底文字(链接色),缺省按主色
|
|
42
|
+
*/
|
|
43
|
+
function deriveRowColors(primary, linkText) {
|
|
44
|
+
if (!HEX.test(primary)) return undefined;
|
|
45
|
+
var text = linkText && HEX.test(linkText) ? linkText : primary;
|
|
46
|
+
var pick = function pick(start) {
|
|
47
|
+
for (var p = start; p > 0; p--) {
|
|
48
|
+
var bg = mixWithWhite(primary, p);
|
|
49
|
+
if ((0, _contrast.contrastRatio)(text, bg) >= 4.5) return bg;
|
|
50
|
+
}
|
|
51
|
+
return '#ffffff';
|
|
52
|
+
};
|
|
53
|
+
return {
|
|
54
|
+
hover: pick(START.hover),
|
|
55
|
+
selected: pick(START.selected),
|
|
56
|
+
selectedHover: pick(START.selectedHover)
|
|
57
|
+
};
|
|
58
|
+
}
|
|
@@ -3,12 +3,17 @@
|
|
|
3
3
|
* 使用 AG-Grid 替代 Ant Design Table,性能更优
|
|
4
4
|
*/
|
|
5
5
|
import React from 'react';
|
|
6
|
+
import type { ICellRendererParams } from 'ag-grid-community';
|
|
6
7
|
import type { FlatColumnItem } from './columnGroupTypes';
|
|
7
8
|
interface ColumnConfigTableAGProps {
|
|
8
9
|
items: FlatColumnItem[];
|
|
9
10
|
onChange: (items: FlatColumnItem[]) => void;
|
|
10
11
|
simple?: boolean;
|
|
11
12
|
scrollY?: number;
|
|
13
|
+
/** 不可隐藏的业务列标识(列定义声明 lockVisible),其「隐藏」开关禁用且恒为显示 */
|
|
14
|
+
lockedColumnIds?: string[];
|
|
12
15
|
}
|
|
16
|
+
/** Switch 渲染器工厂 */
|
|
17
|
+
export declare const createSwitchRenderer: (field: keyof FlatColumnItem) => (props: ICellRendererParams<FlatColumnItem>) => React.JSX.Element;
|
|
13
18
|
declare const ColumnConfigTable: React.FC<ColumnConfigTableAGProps>;
|
|
14
19
|
export default ColumnConfigTable;
|
|
@@ -4,7 +4,7 @@ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" ==
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.default = void 0;
|
|
7
|
+
exports.default = exports.createSwitchRenderer = void 0;
|
|
8
8
|
var _react = _interopRequireWildcard(require("react"));
|
|
9
9
|
var _antd = require("antd");
|
|
10
10
|
var _icons = require("@ant-design/icons");
|
|
@@ -79,8 +79,9 @@ var WidthCellRenderer = function WidthCellRenderer(props) {
|
|
|
79
79
|
};
|
|
80
80
|
|
|
81
81
|
/** Switch 渲染器工厂 */
|
|
82
|
-
var createSwitchRenderer = function createSwitchRenderer(field) {
|
|
82
|
+
var createSwitchRenderer = exports.createSwitchRenderer = function createSwitchRenderer(field) {
|
|
83
83
|
return function (props) {
|
|
84
|
+
var _lockedIds;
|
|
84
85
|
var item = props.data;
|
|
85
86
|
if (!item || item.type !== 'column') return /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
86
87
|
children: "-"
|
|
@@ -89,10 +90,14 @@ var createSwitchRenderer = function createSwitchRenderer(field) {
|
|
|
89
90
|
// 获取字段值
|
|
90
91
|
var fieldValue = item[field];
|
|
91
92
|
|
|
93
|
+
// 业务列不可被隐藏:开关禁用,恒为显示
|
|
94
|
+
var locked = field === 'hide' && ((_lockedIds = props.lockedIds) === null || _lockedIds === void 0 ? void 0 : _lockedIds.includes((0, _columnGroupUtils.getColumnIdentity)(item)));
|
|
95
|
+
|
|
92
96
|
// 只检查布尔值
|
|
93
|
-
var isChecked = fieldValue === true;
|
|
97
|
+
var isChecked = locked ? false : fieldValue === true;
|
|
94
98
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_antd.Switch, {
|
|
95
99
|
checked: isChecked,
|
|
100
|
+
disabled: locked,
|
|
96
101
|
onChange: function onChange(checked) {
|
|
97
102
|
if (props.node) {
|
|
98
103
|
// 保存时统一为布尔值
|
|
@@ -262,7 +267,8 @@ var ColumnConfigTable = function ColumnConfigTable(_ref2) {
|
|
|
262
267
|
_ref2$simple = _ref2.simple,
|
|
263
268
|
simple = _ref2$simple === void 0 ? false : _ref2$simple,
|
|
264
269
|
_ref2$scrollY = _ref2.scrollY,
|
|
265
|
-
scrollY = _ref2$scrollY === void 0 ? 480 : _ref2$scrollY
|
|
270
|
+
scrollY = _ref2$scrollY === void 0 ? 480 : _ref2$scrollY,
|
|
271
|
+
lockedColumnIds = _ref2.lockedColumnIds;
|
|
266
272
|
var gridTheme = (0, _theme.useAgGridTheme)();
|
|
267
273
|
var _theme$useToken = _antd.theme.useToken(),
|
|
268
274
|
token = _theme$useToken.token; // 颜色取主题 token,跟随亮/暗主题 @author nokecy
|
|
@@ -662,6 +668,9 @@ var ColumnConfigTable = function ColumnConfigTable(_ref2) {
|
|
|
662
668
|
headerName: '隐藏',
|
|
663
669
|
width: 80,
|
|
664
670
|
cellRenderer: createSwitchRenderer('hide'),
|
|
671
|
+
cellRendererParams: {
|
|
672
|
+
lockedIds: lockedColumnIds
|
|
673
|
+
},
|
|
665
674
|
cellStyle: commonCellStyle
|
|
666
675
|
}, {
|
|
667
676
|
field: 'suppressHeaderFilterButton',
|
|
@@ -682,7 +691,7 @@ var ColumnConfigTable = function ColumnConfigTable(_ref2) {
|
|
|
682
691
|
cellStyle: commonCellStyle
|
|
683
692
|
}];
|
|
684
693
|
return cols;
|
|
685
|
-
}, [handleDelete, handleAddChildGroup, simple, expandedKeys, toggleExpand, localItems]);
|
|
694
|
+
}, [handleDelete, handleAddChildGroup, simple, expandedKeys, toggleExpand, localItems, lockedColumnIds]);
|
|
686
695
|
|
|
687
696
|
// 根据展开状态过滤数据
|
|
688
697
|
var visibleItems = (0, _react.useMemo)(function () {
|
|
@@ -20,8 +20,8 @@ var _index = _interopRequireDefault(require("../../draggableModal/index"));
|
|
|
20
20
|
var _useSchemeManager = require("../context/useSchemeManager");
|
|
21
21
|
var _uuid = require("uuid");
|
|
22
22
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
23
|
-
var _excluded = ["createdAt", "updatedAt"],
|
|
24
|
-
_excluded2 = ["createdAt", "updatedAt"],
|
|
23
|
+
var _excluded = ["createdAt", "updatedAt", "filterModel"],
|
|
24
|
+
_excluded2 = ["createdAt", "updatedAt", "filterModel"],
|
|
25
25
|
_excluded3 = ["createdAt", "updatedAt"];
|
|
26
26
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
27
27
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
@@ -75,7 +75,9 @@ var ColumnSetting = function ColumnSetting(_ref) {
|
|
|
75
75
|
resetToGlobal = _useGridSchemes.resetToGlobal,
|
|
76
76
|
resetAllUsers = _useGridSchemes.resetAllUsers,
|
|
77
77
|
globalConfigPermissions = _useGridSchemes.globalConfigPermissions,
|
|
78
|
-
isUsingGlobalFallback = _useGridSchemes.isUsingGlobalFallback
|
|
78
|
+
isUsingGlobalFallback = _useGridSchemes.isUsingGlobalFallback,
|
|
79
|
+
density = _useGridSchemes.density,
|
|
80
|
+
onDensityChange = _useGridSchemes.onDensityChange;
|
|
79
81
|
|
|
80
82
|
// 调用方传入的列定义优先:Context 里的属于外层 AgGridPlus 或为空 @author nokecy
|
|
81
83
|
var allColDefs = allColDefsProp !== null && allColDefsProp !== void 0 ? allColDefsProp : contextAllColDefs;
|
|
@@ -133,6 +135,11 @@ var ColumnSetting = function ColumnSetting(_ref) {
|
|
|
133
135
|
// allColDefs 包含自定义属性(cellRenderer 等),用于方案应用时保留这些属性
|
|
134
136
|
var originalColumnDefs = initialColumnDefs || allColDefs || undefined;
|
|
135
137
|
|
|
138
|
+
// 业务列(序号等 lockVisible)不可隐藏
|
|
139
|
+
var lockedColumnIds = (0, _react.useMemo)(function () {
|
|
140
|
+
return (0, _columnGroupUtils.getLockedColumnIds)(originalColumnDefs);
|
|
141
|
+
}, [originalColumnDefs]);
|
|
142
|
+
|
|
136
143
|
// 【修复】保存快照用于取消时恢复(改名避免与Context的originalColumnDefs冲突)
|
|
137
144
|
var _useState17 = (0, _react.useState)(null),
|
|
138
145
|
_useState18 = _slicedToArray(_useState17, 2),
|
|
@@ -375,6 +382,18 @@ var ColumnSetting = function ColumnSetting(_ref) {
|
|
|
375
382
|
});
|
|
376
383
|
}, [form, gridApi, allColDefs]);
|
|
377
384
|
|
|
385
|
+
/**
|
|
386
|
+
* 恢复默认:列配置还原为列定义里写的初始值(宽度、显隐、固定、顺序),先在表格上预览,保存后才落到方案。
|
|
387
|
+
* 只动列配置,密度偏好不受影响。
|
|
388
|
+
*/
|
|
389
|
+
var handleRestoreDefault = (0, _react.useCallback)(function () {
|
|
390
|
+
var _excludeQueryOnlyColu;
|
|
391
|
+
var defaults = (_excludeQueryOnlyColu = (0, _columnGroupUtils.excludeQueryOnlyColumns)(originalColumnDefs !== null && originalColumnDefs !== void 0 ? originalColumnDefs : [])) !== null && _excludeQueryOnlyColu !== void 0 ? _excludeQueryOnlyColu : [];
|
|
392
|
+
if (defaults.length === 0) return;
|
|
393
|
+
handleColumnChange((0, _columnGroupUtils.normalizeColumnConfig)((0, _columnGroupUtils.gridStateToFlatConfig)(defaults, originalColumnDefs), originalColumnDefs));
|
|
394
|
+
_antd.message.info('已恢复为默认列配置,点击「保存配置」后生效');
|
|
395
|
+
}, [originalColumnDefs, handleColumnChange]);
|
|
396
|
+
|
|
378
397
|
/**
|
|
379
398
|
* 关闭弹窗处理 - 取消时恢复原始状态
|
|
380
399
|
* 如果用户取消操作,恢复到打开弹窗前的列定义状态
|
|
@@ -406,7 +425,7 @@ var ColumnSetting = function ColumnSetting(_ref) {
|
|
|
406
425
|
return s.id === schemeId;
|
|
407
426
|
});
|
|
408
427
|
if (!(scheme && gridApi)) {
|
|
409
|
-
_context.next =
|
|
428
|
+
_context.next = 12;
|
|
410
429
|
break;
|
|
411
430
|
}
|
|
412
431
|
// 【关键修复】先更新 columnDefs(处理分组结构),使用 allColDefs 保留自定义属性
|
|
@@ -426,12 +445,7 @@ var ColumnSetting = function ColumnSetting(_ref) {
|
|
|
426
445
|
state: columnState,
|
|
427
446
|
applyOrder: true // 强制应用列顺序
|
|
428
447
|
});
|
|
429
|
-
|
|
430
|
-
// 应用过滤器
|
|
431
|
-
if (scheme.filterModel) {
|
|
432
|
-
gridApi.setFilterModel(scheme.filterModel);
|
|
433
|
-
}
|
|
434
|
-
case 13:
|
|
448
|
+
case 12:
|
|
435
449
|
_antd.message.success('方案已加载');
|
|
436
450
|
|
|
437
451
|
// 等待Grid状态更新后再刷新表单
|
|
@@ -446,17 +460,17 @@ var ColumnSetting = function ColumnSetting(_ref) {
|
|
|
446
460
|
|
|
447
461
|
// 自动关闭弹窗,让用户看到Grid的变化
|
|
448
462
|
onClose();
|
|
449
|
-
_context.next =
|
|
463
|
+
_context.next = 20;
|
|
450
464
|
break;
|
|
451
|
-
case
|
|
452
|
-
_context.prev =
|
|
465
|
+
case 17:
|
|
466
|
+
_context.prev = 17;
|
|
453
467
|
_context.t0 = _context["catch"](0);
|
|
454
468
|
_antd.message.error(_context.t0.message || '加载方案失败');
|
|
455
|
-
case
|
|
469
|
+
case 20:
|
|
456
470
|
case "end":
|
|
457
471
|
return _context.stop();
|
|
458
472
|
}
|
|
459
|
-
}, _callee, null, [[0,
|
|
473
|
+
}, _callee, null, [[0, 17]]);
|
|
460
474
|
}));
|
|
461
475
|
return function (_x) {
|
|
462
476
|
return _ref2.apply(this, arguments);
|
|
@@ -468,7 +482,7 @@ var ColumnSetting = function ColumnSetting(_ref) {
|
|
|
468
482
|
* 优化逻辑:先保存配置到存储,再直接应用到 Grid,不依赖 handleLoadScheme
|
|
469
483
|
*/
|
|
470
484
|
var handleSaveColumns = (0, _react.useCallback)( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
|
|
471
|
-
var values, flatConfig, configToSave, invalidColumns,
|
|
485
|
+
var values, flatConfig, configToSave, invalidColumns, savedScheme, createdAt, updatedAt, _legacyFilter, schemeWithoutTimestamps, defaultScheme, _createdAt, _updatedAt, _legacyFilter2, _schemeWithoutTimestamps, gridColumnDefs, columnState;
|
|
472
486
|
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
473
487
|
while (1) switch (_context2.prev = _context2.next) {
|
|
474
488
|
case 0:
|
|
@@ -499,82 +513,79 @@ var ColumnSetting = function ColumnSetting(_ref) {
|
|
|
499
513
|
});
|
|
500
514
|
}
|
|
501
515
|
_context2.prev = 9;
|
|
502
|
-
filterModel = gridApi.getFilterModel();
|
|
503
516
|
if (!currentScheme) {
|
|
504
|
-
_context2.next =
|
|
517
|
+
_context2.next = 21;
|
|
505
518
|
break;
|
|
506
519
|
}
|
|
507
520
|
if (!(currentScheme.isGlobal && !canApplyToGlobal)) {
|
|
508
|
-
_context2.next =
|
|
521
|
+
_context2.next = 14;
|
|
509
522
|
break;
|
|
510
523
|
}
|
|
511
524
|
_antd.message.error('没有权限修改全局方案');
|
|
512
525
|
return _context2.abrupt("return");
|
|
513
|
-
case
|
|
526
|
+
case 14:
|
|
514
527
|
// 如果有激活的方案,更新该方案
|
|
515
|
-
|
|
528
|
+
// 列头筛选属于数据而非视图偏好,不随方案保存;同时丢弃旧方案里遗留的 filterModel
|
|
529
|
+
createdAt = currentScheme.createdAt, updatedAt = currentScheme.updatedAt, _legacyFilter = currentScheme.filterModel, schemeWithoutTimestamps = _objectWithoutProperties(currentScheme, _excluded);
|
|
516
530
|
savedScheme = _objectSpread(_objectSpread({}, schemeWithoutTimestamps), {}, {
|
|
517
|
-
columnConfig: configToSave
|
|
518
|
-
filterModel: filterModel
|
|
531
|
+
columnConfig: configToSave
|
|
519
532
|
// createdAt 和 updatedAt 由存储适配器自动生成
|
|
520
533
|
});
|
|
521
|
-
_context2.next =
|
|
534
|
+
_context2.next = 18;
|
|
522
535
|
return saveColumnScheme === null || saveColumnScheme === void 0 ? void 0 : saveColumnScheme(gridKey, savedScheme);
|
|
523
|
-
case
|
|
536
|
+
case 18:
|
|
524
537
|
_antd.message.success('列配置已保存到方案');
|
|
525
|
-
_context2.next =
|
|
538
|
+
_context2.next = 37;
|
|
526
539
|
break;
|
|
527
|
-
case
|
|
540
|
+
case 21:
|
|
528
541
|
// 如果没有激活的方案,自动创建或更新默认方案
|
|
529
542
|
defaultScheme = schemes.find(function (s) {
|
|
530
543
|
return s.isDefault;
|
|
531
544
|
});
|
|
532
545
|
if (!defaultScheme) {
|
|
533
|
-
_context2.next =
|
|
546
|
+
_context2.next = 33;
|
|
534
547
|
break;
|
|
535
548
|
}
|
|
536
549
|
if (!(defaultScheme.isGlobal && !canApplyToGlobal)) {
|
|
537
|
-
_context2.next =
|
|
550
|
+
_context2.next = 26;
|
|
538
551
|
break;
|
|
539
552
|
}
|
|
540
553
|
_antd.message.error('没有权限修改全局方案');
|
|
541
554
|
return _context2.abrupt("return");
|
|
542
|
-
case
|
|
555
|
+
case 26:
|
|
543
556
|
// 更新默认方案
|
|
544
|
-
_createdAt = defaultScheme.createdAt, _updatedAt = defaultScheme.updatedAt, _schemeWithoutTimestamps = _objectWithoutProperties(defaultScheme, _excluded2);
|
|
557
|
+
_createdAt = defaultScheme.createdAt, _updatedAt = defaultScheme.updatedAt, _legacyFilter2 = defaultScheme.filterModel, _schemeWithoutTimestamps = _objectWithoutProperties(defaultScheme, _excluded2);
|
|
545
558
|
savedScheme = _objectSpread(_objectSpread({}, _schemeWithoutTimestamps), {}, {
|
|
546
|
-
columnConfig: configToSave
|
|
547
|
-
filterModel: filterModel
|
|
559
|
+
columnConfig: configToSave
|
|
548
560
|
// createdAt 和 updatedAt 由存储适配器自动生成
|
|
549
561
|
});
|
|
550
|
-
_context2.next =
|
|
562
|
+
_context2.next = 30;
|
|
551
563
|
return saveColumnScheme === null || saveColumnScheme === void 0 ? void 0 : saveColumnScheme(gridKey, savedScheme);
|
|
552
|
-
case
|
|
564
|
+
case 30:
|
|
553
565
|
_antd.message.success('列配置已保存到默认方案');
|
|
554
|
-
_context2.next =
|
|
566
|
+
_context2.next = 37;
|
|
555
567
|
break;
|
|
556
|
-
case
|
|
568
|
+
case 33:
|
|
557
569
|
// 创建新的默认方案
|
|
558
570
|
savedScheme = {
|
|
559
571
|
id: (0, _uuid.v4)(),
|
|
560
572
|
name: '默认配置',
|
|
561
573
|
description: '自动创建的默认列配置',
|
|
562
574
|
columnConfig: configToSave,
|
|
563
|
-
filterModel: filterModel,
|
|
564
575
|
isDefault: true,
|
|
565
576
|
isSystem: false
|
|
566
577
|
// createdAt 和 updatedAt 由存储适配器自动生成
|
|
567
578
|
};
|
|
568
|
-
_context2.next =
|
|
579
|
+
_context2.next = 36;
|
|
569
580
|
return saveColumnScheme === null || saveColumnScheme === void 0 ? void 0 : saveColumnScheme(gridKey, savedScheme);
|
|
570
|
-
case
|
|
581
|
+
case 36:
|
|
571
582
|
_antd.message.success('已创建并保存到默认方案');
|
|
572
|
-
case
|
|
573
|
-
_context2.next =
|
|
583
|
+
case 37:
|
|
584
|
+
_context2.next = 39;
|
|
574
585
|
return new Promise(function (resolve) {
|
|
575
586
|
return setTimeout(resolve, 100);
|
|
576
587
|
});
|
|
577
|
-
case
|
|
588
|
+
case 39:
|
|
578
589
|
// 【关键修复】直接应用方案到 Grid,不通过 handleLoadScheme
|
|
579
590
|
// 这样可以避免依赖 Context 状态更新的时序问题
|
|
580
591
|
_logger.logger.debug('[ColumnSetting] 保存后直接应用方案到 Grid');
|
|
@@ -586,11 +597,11 @@ var ColumnSetting = function ColumnSetting(_ref) {
|
|
|
586
597
|
gridApi.setGridOption('columnDefs', (0, _agGridCompat.sanitizeColDefs)(gridColumnDefs));
|
|
587
598
|
|
|
588
599
|
// 等待 columnDefs 更新完成
|
|
589
|
-
_context2.next =
|
|
600
|
+
_context2.next = 45;
|
|
590
601
|
return new Promise(function (resolve) {
|
|
591
602
|
return setTimeout(resolve, 100);
|
|
592
603
|
});
|
|
593
|
-
case
|
|
604
|
+
case 45:
|
|
594
605
|
// 2. 应用列状态(列顺序、宽度、隐藏、固定等)
|
|
595
606
|
_logger.logger.debug('[ColumnSetting] 应用列状态');
|
|
596
607
|
columnState = (0, _columnGroupUtils.flatConfigToColumnState)(savedScheme.columnConfig, allColDefs);
|
|
@@ -599,44 +610,38 @@ var ColumnSetting = function ColumnSetting(_ref) {
|
|
|
599
610
|
applyOrder: true
|
|
600
611
|
});
|
|
601
612
|
|
|
602
|
-
// 3. 应用过滤器
|
|
603
|
-
if (savedScheme.filterModel) {
|
|
604
|
-
_logger.logger.debug('[ColumnSetting] 应用 filterModel');
|
|
605
|
-
gridApi.setFilterModel(savedScheme.filterModel);
|
|
606
|
-
}
|
|
607
|
-
|
|
608
613
|
// 4. 设置为当前方案(如果不是当前方案)
|
|
609
614
|
if (!(!currentScheme || savedScheme.id !== currentScheme.id)) {
|
|
610
|
-
_context2.next =
|
|
615
|
+
_context2.next = 51;
|
|
611
616
|
break;
|
|
612
617
|
}
|
|
613
|
-
_context2.next =
|
|
618
|
+
_context2.next = 51;
|
|
614
619
|
return setCurrentColumnScheme === null || setCurrentColumnScheme === void 0 ? void 0 : setCurrentColumnScheme(gridKey, savedScheme.id);
|
|
615
|
-
case
|
|
616
|
-
_context2.next =
|
|
620
|
+
case 51:
|
|
621
|
+
_context2.next = 53;
|
|
617
622
|
return new Promise(function (resolve) {
|
|
618
623
|
return setTimeout(resolve, 50);
|
|
619
624
|
});
|
|
620
|
-
case
|
|
625
|
+
case 53:
|
|
621
626
|
// 5. 关闭弹窗
|
|
622
627
|
onClose();
|
|
623
|
-
_context2.next =
|
|
628
|
+
_context2.next = 60;
|
|
624
629
|
break;
|
|
625
|
-
case
|
|
626
|
-
_context2.prev =
|
|
630
|
+
case 56:
|
|
631
|
+
_context2.prev = 56;
|
|
627
632
|
_context2.t0 = _context2["catch"](9);
|
|
628
633
|
console.error('保存列配置到方案失败:', _context2.t0);
|
|
629
634
|
_antd.message.error('保存列配置失败');
|
|
630
|
-
case
|
|
635
|
+
case 60:
|
|
631
636
|
case "end":
|
|
632
637
|
return _context2.stop();
|
|
633
638
|
}
|
|
634
|
-
}, _callee2, null, [[9,
|
|
639
|
+
}, _callee2, null, [[9, 56]]);
|
|
635
640
|
})), [form, gridApi, saveColumnScheme, setCurrentColumnScheme, currentScheme, schemes, gridKey, allColDefs, onClose]);
|
|
636
641
|
|
|
637
642
|
// 保存为新方案
|
|
638
643
|
var handleSaveScheme = (0, _react.useCallback)( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
|
|
639
|
-
var columnConfigToSave, values, gridColumnDefs, columnState, _values,
|
|
644
|
+
var columnConfigToSave, values, gridColumnDefs, columnState, _values, newScheme;
|
|
640
645
|
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
641
646
|
while (1) switch (_context3.prev = _context3.next) {
|
|
642
647
|
case 0:
|
|
@@ -685,21 +690,18 @@ var ColumnSetting = function ColumnSetting(_ref) {
|
|
|
685
690
|
_values = form === null || form === void 0 ? void 0 : form.values;
|
|
686
691
|
columnConfigToSave = (_values === null || _values === void 0 ? void 0 : _values.items) || [];
|
|
687
692
|
case 20:
|
|
688
|
-
// 获取过滤器模型
|
|
689
|
-
filterModel = gridApi.getFilterModel();
|
|
690
693
|
newScheme = {
|
|
691
694
|
id: (0, _uuid.v4)(),
|
|
692
695
|
name: schemeName.trim(),
|
|
693
696
|
description: schemeDescription.trim() || "\u521B\u5EFA\u4E8E ".concat(new Date().toLocaleString()),
|
|
694
697
|
columnConfig: columnConfigToSave,
|
|
695
|
-
filterModel: filterModel,
|
|
696
698
|
isDefault: false,
|
|
697
699
|
isSystem: false
|
|
698
700
|
// createdAt 和 updatedAt 由存储适配器自动生成
|
|
699
701
|
};
|
|
700
|
-
_context3.next =
|
|
702
|
+
_context3.next = 23;
|
|
701
703
|
return saveColumnScheme === null || saveColumnScheme === void 0 ? void 0 : saveColumnScheme(gridKey, newScheme);
|
|
702
|
-
case
|
|
704
|
+
case 23:
|
|
703
705
|
_antd.message.success('方案保存成功');
|
|
704
706
|
setSaveSchemeVisible(false);
|
|
705
707
|
setSchemeName('');
|
|
@@ -707,17 +709,17 @@ var ColumnSetting = function ColumnSetting(_ref) {
|
|
|
707
709
|
|
|
708
710
|
// 切换到方案管理标签页,显示新创建的方案
|
|
709
711
|
setActiveTab('schemes');
|
|
710
|
-
_context3.next =
|
|
712
|
+
_context3.next = 33;
|
|
711
713
|
break;
|
|
712
|
-
case
|
|
713
|
-
_context3.prev =
|
|
714
|
+
case 30:
|
|
715
|
+
_context3.prev = 30;
|
|
714
716
|
_context3.t0 = _context3["catch"](3);
|
|
715
717
|
_antd.message.error(_context3.t0.message || '保存方案失败');
|
|
716
|
-
case
|
|
718
|
+
case 33:
|
|
717
719
|
case "end":
|
|
718
720
|
return _context3.stop();
|
|
719
721
|
}
|
|
720
|
-
}, _callee3, null, [[3,
|
|
722
|
+
}, _callee3, null, [[3, 30]]);
|
|
721
723
|
})), [gridApi, saveColumnScheme, gridKey, schemeName, schemeDescription, activeTab, form, allColDefs]);
|
|
722
724
|
|
|
723
725
|
// 设置默认方案
|
|
@@ -1233,12 +1235,42 @@ var ColumnSetting = function ColumnSetting(_ref) {
|
|
|
1233
1235
|
items: [{
|
|
1234
1236
|
key: 'columns',
|
|
1235
1237
|
label: '列配置',
|
|
1236
|
-
children: /*#__PURE__*/(0, _jsxRuntime.
|
|
1237
|
-
children: /*#__PURE__*/(0, _jsxRuntime.
|
|
1238
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
1239
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
1240
|
+
style: {
|
|
1241
|
+
display: 'flex',
|
|
1242
|
+
alignItems: 'center',
|
|
1243
|
+
justifyContent: 'space-between',
|
|
1244
|
+
marginBottom: 12
|
|
1245
|
+
},
|
|
1246
|
+
children: [density && onDensityChange ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_antd.Segmented, {
|
|
1247
|
+
"aria-label": "\u8868\u683C\u5BC6\u5EA6",
|
|
1248
|
+
value: density,
|
|
1249
|
+
onChange: function onChange(value) {
|
|
1250
|
+
return onDensityChange(value);
|
|
1251
|
+
},
|
|
1252
|
+
options: [{
|
|
1253
|
+
label: '舒适',
|
|
1254
|
+
value: 'comfort'
|
|
1255
|
+
}, {
|
|
1256
|
+
label: '紧凑',
|
|
1257
|
+
value: 'compact'
|
|
1258
|
+
}, {
|
|
1259
|
+
label: '高密',
|
|
1260
|
+
value: 'dense'
|
|
1261
|
+
}]
|
|
1262
|
+
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_antd.Button, {
|
|
1263
|
+
type: "link",
|
|
1264
|
+
size: "small",
|
|
1265
|
+
onClick: handleRestoreDefault,
|
|
1266
|
+
children: "\u6062\u590D\u9ED8\u8BA4"
|
|
1267
|
+
})]
|
|
1268
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ColumnConfigTable.default, {
|
|
1238
1269
|
items: memoizedColumnData,
|
|
1239
1270
|
onChange: handleColumnChange,
|
|
1240
|
-
simple: false
|
|
1241
|
-
|
|
1271
|
+
simple: false,
|
|
1272
|
+
lockedColumnIds: lockedColumnIds
|
|
1273
|
+
})]
|
|
1242
1274
|
})
|
|
1243
1275
|
}, {
|
|
1244
1276
|
key: 'schemes',
|
|
@@ -70,7 +70,8 @@ var QuerySchemeManager = function QuerySchemeManager(_ref) {
|
|
|
70
70
|
var _useQueryForm = (0, _queryFormContext.useQueryForm)(),
|
|
71
71
|
queryFormItems = _useQueryForm.queryFormItems,
|
|
72
72
|
currentQueryOrder = _useQueryForm.currentQueryOrder,
|
|
73
|
-
updateQueryOrder = _useQueryForm.updateQueryOrder
|
|
73
|
+
updateQueryOrder = _useQueryForm.updateQueryOrder,
|
|
74
|
+
getQueryValues = _useQueryForm.getQueryValues;
|
|
74
75
|
|
|
75
76
|
// 获取当前表格的查询方案列表
|
|
76
77
|
var schemes = (querySchemes === null || querySchemes === void 0 ? void 0 : querySchemes[gridKey]) || [];
|
|
@@ -201,7 +202,7 @@ var QuerySchemeManager = function QuerySchemeManager(_ref) {
|
|
|
201
202
|
* 应用当前顺序和隐藏设置
|
|
202
203
|
*/
|
|
203
204
|
var handleApplyOrder = (0, _react.useCallback)( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
204
|
-
var editingOrder, hiddenFields, queryConfig, createdAt, updatedAt, schemeWithoutTimestamps, newScheme;
|
|
205
|
+
var _getQueryValues, editingOrder, hiddenFields, queryConfig, createdAt, updatedAt, schemeWithoutTimestamps, newScheme;
|
|
205
206
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
206
207
|
while (1) switch (_context.prev = _context.next) {
|
|
207
208
|
case 0:
|
|
@@ -213,8 +214,8 @@ var QuerySchemeManager = function QuerySchemeManager(_ref) {
|
|
|
213
214
|
return item.hidden;
|
|
214
215
|
}).map(function (item) {
|
|
215
216
|
return item.field;
|
|
216
|
-
}); //
|
|
217
|
-
queryConfig = (0, _schemeDataMigration.buildQueryConfig)(editingOrder, hiddenFields); // 如果有当前方案,更新方案
|
|
217
|
+
}); // 构建新格式的配置:查询区当前的条件值一并存入方案,应用方案时带回
|
|
218
|
+
queryConfig = (0, _schemeDataMigration.buildQueryConfig)(editingOrder, hiddenFields, (_getQueryValues = getQueryValues === null || getQueryValues === void 0 ? void 0 : getQueryValues()) !== null && _getQueryValues !== void 0 ? _getQueryValues : {}); // 如果有当前方案,更新方案
|
|
218
219
|
if (!currentScheme) {
|
|
219
220
|
_context.next = 11;
|
|
220
221
|
break;
|
|
@@ -262,13 +263,13 @@ var QuerySchemeManager = function QuerySchemeManager(_ref) {
|
|
|
262
263
|
return _context.stop();
|
|
263
264
|
}
|
|
264
265
|
}, _callee, null, [[0, 21]]);
|
|
265
|
-
})), [queryItemsData, currentScheme, saveQueryScheme, gridKey, updateQueryOrder, onClose, setCurrentQueryScheme]);
|
|
266
|
+
})), [queryItemsData, currentScheme, saveQueryScheme, gridKey, updateQueryOrder, onClose, setCurrentQueryScheme, getQueryValues]);
|
|
266
267
|
|
|
267
268
|
/**
|
|
268
269
|
* 保存为新方案
|
|
269
270
|
*/
|
|
270
271
|
var handleSaveAsNew = (0, _react.useCallback)( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
|
|
271
|
-
var editingOrder, hiddenFields, queryConfig, newScheme;
|
|
272
|
+
var _getQueryValues2, editingOrder, hiddenFields, queryConfig, newScheme;
|
|
272
273
|
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
273
274
|
while (1) switch (_context2.prev = _context2.next) {
|
|
274
275
|
case 0:
|
|
@@ -287,8 +288,8 @@ var QuerySchemeManager = function QuerySchemeManager(_ref) {
|
|
|
287
288
|
return item.hidden;
|
|
288
289
|
}).map(function (item) {
|
|
289
290
|
return item.field;
|
|
290
|
-
}); //
|
|
291
|
-
queryConfig = (0, _schemeDataMigration.buildQueryConfig)(editingOrder, hiddenFields);
|
|
291
|
+
}); // 构建新格式的配置:查询区当前的条件值一并存入方案,应用方案时带回
|
|
292
|
+
queryConfig = (0, _schemeDataMigration.buildQueryConfig)(editingOrder, hiddenFields, (_getQueryValues2 = getQueryValues === null || getQueryValues === void 0 ? void 0 : getQueryValues()) !== null && _getQueryValues2 !== void 0 ? _getQueryValues2 : {});
|
|
292
293
|
newScheme = {
|
|
293
294
|
id: (0, _uuid.v4)(),
|
|
294
295
|
name: schemeName.trim(),
|
|
@@ -314,7 +315,7 @@ var QuerySchemeManager = function QuerySchemeManager(_ref) {
|
|
|
314
315
|
return _context2.stop();
|
|
315
316
|
}
|
|
316
317
|
}, _callee2, null, [[3, 14]]);
|
|
317
|
-
})), [schemeName, queryItemsData, saveQueryScheme, gridKey]);
|
|
318
|
+
})), [schemeName, queryItemsData, saveQueryScheme, gridKey, getQueryValues]);
|
|
318
319
|
|
|
319
320
|
/**
|
|
320
321
|
* 开始编辑方案
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { GridApi } from 'ag-grid-community';
|
|
2
|
+
import type { ColumnScheme } from '../shared/storage/schemeStorageAdapter';
|
|
3
|
+
import type { FlatColumnItem } from './columnGroupTypes';
|
|
4
|
+
/** 表头上拖拽列宽、列序后,等这么久没有新的拖拽再自动保存(毫秒)。 */
|
|
5
|
+
export declare const AUTO_REMEMBER_DELAY = 600;
|
|
6
|
+
/** 自动记忆关心的 AG Grid 列状态字段。 */
|
|
7
|
+
export interface LayoutColumnState {
|
|
8
|
+
colId: string;
|
|
9
|
+
width?: number;
|
|
10
|
+
flex?: number | null;
|
|
11
|
+
hide?: boolean | null;
|
|
12
|
+
pinned?: boolean | 'left' | 'right' | null;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* 把表格当前的列宽、列序、固定、显隐并入列方案配置,其余设置(标题、对齐、分组、过滤按钮)原样保留。
|
|
16
|
+
* 列序只重排列节点的 order 值,分组节点和层级不动。
|
|
17
|
+
*/
|
|
18
|
+
export declare function mergeColumnLayout(config: FlatColumnItem[], state: LayoutColumnState[]): FlatColumnItem[];
|
|
19
|
+
/** 合并后的布局是否与原配置不同。 */
|
|
20
|
+
export declare function layoutChanged(before: FlatColumnItem[], after: FlatColumnItem[]): boolean;
|
|
21
|
+
export interface AutoColumnMemoryOptions {
|
|
22
|
+
/** 关闭后不监听表头拖拽,行为回到「必须进列方案管理保存」 */
|
|
23
|
+
enabled: boolean;
|
|
24
|
+
gridKey?: string;
|
|
25
|
+
ready: boolean;
|
|
26
|
+
api?: GridApi;
|
|
27
|
+
originalColumnDefs?: any[];
|
|
28
|
+
currentScheme?: ColumnScheme;
|
|
29
|
+
saveColumnScheme?: (gridKey: string, scheme: ColumnScheme) => Promise<void>;
|
|
30
|
+
setCurrentColumnScheme?: (gridKey: string, schemeId: string | null) => Promise<void>;
|
|
31
|
+
delay?: number;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* 列宽、列序在表头上拖拽后自动记忆(DESIGN.md §7.5),不必再进「列方案管理」保存。
|
|
35
|
+
* 全局方案不会被改写:在个人方案上叠加布局,没有个人方案时新建一个。@author nokecy
|
|
36
|
+
*/
|
|
37
|
+
export declare function useAutoColumnMemory(options: AutoColumnMemoryOptions): void;
|