@nokecy/qc-ui 1.0.81 → 1.0.83
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/ag-grid-plus/_utils/processColumnGroups.d.ts +9 -0
- package/dist/cjs/ag-grid-plus/_utils/processColumnGroups.js +43 -0
- package/dist/cjs/ag-grid-plus/ag-gridPlus.js +245 -130
- package/dist/cjs/ag-grid-plus/querySchemes/components/QuerySchemesManager.js +131 -79
- package/dist/cjs/ag-grid-plus/schemes/components/SchemeSelector.d.ts +1 -1
- package/dist/cjs/ag-grid-plus/schemes/components/SchemeSelector.js +1 -1
- package/dist/cjs/ag-grid-plus/schemes/hooks/useColumnSchemes.js +60 -14
- package/dist/cjs/ag-grid-plus/schemes/storage/localStorageAdapter.js +12 -26
- package/dist/cjs/ag-grid-plus/schemes/types.d.ts +8 -5
- package/dist/cjs/ag-grid-plus/schemes/utils/validator.js +14 -18
- package/dist/cjs/ag-grid-plus/setting/ColumnConfigForm.d.ts +16 -0
- package/dist/cjs/ag-grid-plus/setting/ColumnConfigForm.js +348 -0
- package/dist/cjs/ag-grid-plus/setting/ColumnConfigTable.d.ts +20 -0
- package/dist/cjs/ag-grid-plus/setting/ColumnConfigTable.js +940 -0
- package/dist/cjs/ag-grid-plus/setting/ColumnSetting.d.ts +1 -1
- package/dist/cjs/ag-grid-plus/setting/ColumnSetting.js +210 -250
- package/dist/cjs/ag-grid-plus/setting/MoveNodeModal.d.ts +15 -0
- package/dist/cjs/ag-grid-plus/setting/MoveNodeModal.js +160 -0
- package/dist/cjs/ag-grid-plus/setting/NameColumnRenderer.d.ts +18 -0
- package/dist/cjs/ag-grid-plus/setting/NameColumnRenderer.js +94 -0
- package/dist/cjs/ag-grid-plus/setting/columnGroupTypes.d.ts +59 -0
- package/dist/cjs/ag-grid-plus/setting/columnGroupTypes.js +5 -0
- package/dist/cjs/ag-grid-plus/setting/columnGroupUtils.d.ts +75 -0
- package/dist/cjs/ag-grid-plus/setting/columnGroupUtils.js +281 -0
- package/dist/cjs/ag-grid-plus/setting/index.d.ts +2 -1
- package/dist/cjs/ag-grid-plus/setting/index.js +5 -13
- package/dist/cjs/ag-grid-plus/storage/SchemeSyncManager.d.ts +2 -1
- package/dist/cjs/ag-grid-plus/storage/SchemeSyncManager.js +11 -8
- package/dist/cjs/ag-grid-plus/types.d.ts +2 -0
- package/dist/cjs/array-table/index.js +30 -118
- package/dist/cjs/draggableModal/index.d.ts +1 -1
- package/dist/cjs/draggableModal/index.js +251 -25
- package/dist/cjs/draggableModal/style.less +185 -12
- package/dist/esm/ag-grid-plus/_utils/processColumnGroups.d.ts +9 -0
- package/dist/esm/ag-grid-plus/_utils/processColumnGroups.js +44 -0
- package/dist/esm/ag-grid-plus/ag-gridPlus.js +245 -130
- package/dist/esm/ag-grid-plus/querySchemes/components/QuerySchemesManager.js +131 -79
- package/dist/esm/ag-grid-plus/schemes/components/SchemeSelector.d.ts +1 -1
- package/dist/esm/ag-grid-plus/schemes/components/SchemeSelector.js +1 -1
- package/dist/esm/ag-grid-plus/schemes/hooks/useColumnSchemes.js +60 -14
- package/dist/esm/ag-grid-plus/schemes/storage/localStorageAdapter.js +13 -27
- package/dist/esm/ag-grid-plus/schemes/types.d.ts +8 -5
- package/dist/esm/ag-grid-plus/schemes/utils/validator.js +14 -18
- package/dist/esm/ag-grid-plus/setting/ColumnConfigForm.d.ts +16 -0
- package/dist/esm/ag-grid-plus/setting/ColumnConfigForm.js +338 -0
- package/dist/esm/ag-grid-plus/setting/ColumnConfigTable.d.ts +20 -0
- package/dist/esm/ag-grid-plus/setting/ColumnConfigTable.js +932 -0
- package/dist/esm/ag-grid-plus/setting/ColumnSetting.d.ts +1 -1
- package/dist/esm/ag-grid-plus/setting/ColumnSetting.js +209 -249
- package/dist/esm/ag-grid-plus/setting/MoveNodeModal.d.ts +15 -0
- package/dist/esm/ag-grid-plus/setting/MoveNodeModal.js +150 -0
- package/dist/esm/ag-grid-plus/setting/NameColumnRenderer.d.ts +18 -0
- package/dist/esm/ag-grid-plus/setting/NameColumnRenderer.js +87 -0
- package/dist/esm/ag-grid-plus/setting/columnGroupTypes.d.ts +59 -0
- package/dist/esm/ag-grid-plus/setting/columnGroupTypes.js +1 -0
- package/dist/esm/ag-grid-plus/setting/columnGroupUtils.d.ts +75 -0
- package/dist/esm/ag-grid-plus/setting/columnGroupUtils.js +265 -0
- package/dist/esm/ag-grid-plus/setting/index.d.ts +2 -1
- package/dist/esm/ag-grid-plus/setting/index.js +5 -13
- package/dist/esm/ag-grid-plus/storage/SchemeSyncManager.d.ts +2 -1
- package/dist/esm/ag-grid-plus/storage/SchemeSyncManager.js +11 -8
- package/dist/esm/ag-grid-plus/types.d.ts +2 -0
- package/dist/esm/array-table/index.js +31 -119
- package/dist/esm/draggableModal/index.d.ts +1 -1
- package/dist/esm/draggableModal/index.js +252 -27
- package/dist/esm/draggableModal/style.less +185 -12
- package/dist/umd/qc-ui.min.css +1 -1
- package/dist/umd/qc-ui.min.js +1 -1
- package/package.json +1 -1
- package/dist/cjs/ag-grid-plus/gridManager/index.d.ts +0 -7
- package/dist/cjs/ag-grid-plus/gridManager/index.js +0 -40
- package/dist/cjs/ag-grid-plus/querySchemes/hooks/useQuerySchemes.refactored.d.ts +0 -7
- package/dist/cjs/ag-grid-plus/querySchemes/hooks/useQuerySchemes.refactored.js +0 -32
- package/dist/cjs/ag-grid-plus/schemes/hooks/useColumnSchemes.refactored.d.ts +0 -7
- package/dist/cjs/ag-grid-plus/schemes/hooks/useColumnSchemes.refactored.js +0 -32
- package/dist/cjs/ag-grid-plus/setting/diySetting/index.d.ts +0 -10
- package/dist/cjs/ag-grid-plus/setting/diySetting/index.js +0 -268
- package/dist/esm/ag-grid-plus/gridManager/index.d.ts +0 -7
- package/dist/esm/ag-grid-plus/gridManager/index.js +0 -35
- package/dist/esm/ag-grid-plus/querySchemes/hooks/useQuerySchemes.refactored.d.ts +0 -7
- package/dist/esm/ag-grid-plus/querySchemes/hooks/useQuerySchemes.refactored.js +0 -27
- package/dist/esm/ag-grid-plus/schemes/hooks/useColumnSchemes.refactored.d.ts +0 -7
- package/dist/esm/ag-grid-plus/schemes/hooks/useColumnSchemes.refactored.js +0 -27
- package/dist/esm/ag-grid-plus/setting/diySetting/index.d.ts +0 -10
- package/dist/esm/ag-grid-plus/setting/diySetting/index.js +0 -259
|
@@ -5,6 +5,7 @@ declare const Setting: (props: {
|
|
|
5
5
|
gridApi?: GridApi<any> | undefined;
|
|
6
6
|
gridApiState?: GridApi<any> | undefined;
|
|
7
7
|
type?: string | undefined;
|
|
8
|
-
onSaveColumnState
|
|
8
|
+
onSaveColumnState?: ((state: any) => void) | undefined;
|
|
9
|
+
schemeManager?: any;
|
|
9
10
|
}) => React.JSX.Element | null;
|
|
10
11
|
export default Setting;
|
|
@@ -8,7 +8,6 @@ exports.default = void 0;
|
|
|
8
8
|
var _icons = require("@ant-design/icons");
|
|
9
9
|
var _antd = require("antd");
|
|
10
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
-
var _useGridPlusColumnState = require("../hooks/useGridPlusColumnState");
|
|
12
11
|
var _gridContext = require("../context/gridContext");
|
|
13
12
|
var _QuerySchemesManager = require("../querySchemes/components/QuerySchemesManager");
|
|
14
13
|
var _ColumnSetting = _interopRequireDefault(require("./ColumnSetting"));
|
|
@@ -26,10 +25,9 @@ var Setting = function Setting(props) {
|
|
|
26
25
|
gridApi = props.gridApi,
|
|
27
26
|
gridApiState = props.gridApiState,
|
|
28
27
|
onSaveColumnState = props.onSaveColumnState;
|
|
29
|
-
var _useGridPlusColumnSta = (0, _useGridPlusColumnState.useGridPlusColumnState)(),
|
|
30
|
-
resetCurrent = _useGridPlusColumnSta.resetCurrent;
|
|
31
28
|
var gridPlusContext = (0, _react.useContext)(_gridContext.GridPlusContext);
|
|
32
|
-
|
|
29
|
+
// 优先使用外部传入的 schemeManager,否则使用 Context 中的
|
|
30
|
+
var schemeManager = props.schemeManager || (gridPlusContext === null || gridPlusContext === void 0 ? void 0 : gridPlusContext.schemeManager);
|
|
33
31
|
var querySchemeManager = gridPlusContext === null || gridPlusContext === void 0 ? void 0 : gridPlusContext.querySchemeManager;
|
|
34
32
|
var currentQueryOrder = (gridPlusContext === null || gridPlusContext === void 0 ? void 0 : gridPlusContext.currentQueryOrder) || [];
|
|
35
33
|
var updateQueryOrder = gridPlusContext === null || gridPlusContext === void 0 ? void 0 : gridPlusContext.updateQueryOrder;
|
|
@@ -53,14 +51,7 @@ var Setting = function Setting(props) {
|
|
|
53
51
|
onClick: function onClick() {
|
|
54
52
|
return setColumnSettingVisible(true);
|
|
55
53
|
}
|
|
56
|
-
}, "\u5217\
|
|
57
|
-
}, {
|
|
58
|
-
key: 'reset',
|
|
59
|
-
label: /*#__PURE__*/_react.default.createElement("a", {
|
|
60
|
-
onClick: function onClick() {
|
|
61
|
-
gridKey && resetCurrent(gridKey);
|
|
62
|
-
}
|
|
63
|
-
}, "\u6062\u590D\u9ED8\u8BA4")
|
|
54
|
+
}, "\u5217\u65B9\u6848\u7BA1\u7406")
|
|
64
55
|
}];
|
|
65
56
|
|
|
66
57
|
// 如果存在 querySchemeManager,添加查询方案相关菜单项
|
|
@@ -96,7 +87,8 @@ var Setting = function Setting(props) {
|
|
|
96
87
|
onClose: function onClose() {
|
|
97
88
|
return setColumnSettingVisible(false);
|
|
98
89
|
},
|
|
99
|
-
onSaveColumnState: onSaveColumnState
|
|
90
|
+
onSaveColumnState: onSaveColumnState || function () {} // 保留兼容性,但 formArrayTable 不再使用
|
|
91
|
+
,
|
|
100
92
|
schemeManager: schemeManager,
|
|
101
93
|
type: props.type
|
|
102
94
|
}), querySchemeManager && gridApi && updateQueryOrder && /*#__PURE__*/_react.default.createElement(_QuerySchemesManager.QuerySchemesManager, {
|
|
@@ -116,7 +116,8 @@ export declare class SchemeSyncManager {
|
|
|
116
116
|
private applyServerVersion;
|
|
117
117
|
/**
|
|
118
118
|
* 反序列化从后端接收的方案数据
|
|
119
|
-
* 将 columnState
|
|
119
|
+
* 将 columnState(后端字段) 映射为 columnConfig 并从 JSON 字符串转换为数组
|
|
120
|
+
* 将 itemsOrder 从 JSON 字符串转换为数组
|
|
120
121
|
*/
|
|
121
122
|
private deserializeSchemesData;
|
|
122
123
|
/**
|
|
@@ -79,7 +79,7 @@ var SchemeSyncManager = exports.SchemeSyncManager = /*#__PURE__*/function () {
|
|
|
79
79
|
schemes = _ref2[1];
|
|
80
80
|
serializedColumnSchemes[gridId] = schemes.map(function (scheme) {
|
|
81
81
|
return _objectSpread(_objectSpread({}, scheme), {}, {
|
|
82
|
-
columnState: JSON.stringify(scheme.
|
|
82
|
+
columnState: JSON.stringify(scheme.columnConfig)
|
|
83
83
|
});
|
|
84
84
|
});
|
|
85
85
|
});
|
|
@@ -599,15 +599,15 @@ var SchemeSyncManager = exports.SchemeSyncManager = /*#__PURE__*/function () {
|
|
|
599
599
|
if (types.has('current')) dirtyCurrentGrids.add(gridId);
|
|
600
600
|
});
|
|
601
601
|
|
|
602
|
-
// 添加列方案数据(将
|
|
602
|
+
// 添加列方案数据(将 columnConfig 序列化为 JSON 字符串并映射到 columnState 字段)
|
|
603
603
|
if (dirtyColumnGrids.size > 0) {
|
|
604
604
|
requestData.columnSchemes = {};
|
|
605
605
|
dirtyColumnGrids.forEach(function (gridId) {
|
|
606
606
|
var schemes = _this4.allData.columnSchemes[gridId] || [];
|
|
607
|
-
// 将每个方案的
|
|
607
|
+
// 将每个方案的 columnConfig 从数组转换为 JSON 字符串,并映射到 columnState 字段
|
|
608
608
|
requestData.columnSchemes[gridId] = schemes.map(function (scheme) {
|
|
609
609
|
return _objectSpread(_objectSpread({}, scheme), {}, {
|
|
610
|
-
columnState: JSON.stringify(scheme.
|
|
610
|
+
columnState: JSON.stringify(scheme.columnConfig)
|
|
611
611
|
});
|
|
612
612
|
});
|
|
613
613
|
});
|
|
@@ -777,7 +777,8 @@ var SchemeSyncManager = exports.SchemeSyncManager = /*#__PURE__*/function () {
|
|
|
777
777
|
|
|
778
778
|
/**
|
|
779
779
|
* 反序列化从后端接收的方案数据
|
|
780
|
-
* 将 columnState
|
|
780
|
+
* 将 columnState(后端字段) 映射为 columnConfig 并从 JSON 字符串转换为数组
|
|
781
|
+
* 将 itemsOrder 从 JSON 字符串转换为数组
|
|
781
782
|
*/
|
|
782
783
|
}, {
|
|
783
784
|
key: "deserializeSchemesData",
|
|
@@ -793,10 +794,12 @@ var SchemeSyncManager = exports.SchemeSyncManager = /*#__PURE__*/function () {
|
|
|
793
794
|
gridId = _ref6[0],
|
|
794
795
|
schemes = _ref6[1];
|
|
795
796
|
result.columnSchemes[gridId] = schemes.map(function (scheme) {
|
|
796
|
-
//
|
|
797
|
-
|
|
797
|
+
// 后端返回的数据中,columnState 字段存储的是 columnConfig 的 JSON 字符串
|
|
798
|
+
// 需要将其解析为数组并映射到 columnConfig 字段
|
|
799
|
+
var schemeWithState = scheme; // 类型断言处理后端数据
|
|
800
|
+
var columnConfig = typeof schemeWithState.columnState === 'string' ? JSON.parse(schemeWithState.columnState) : schemeWithState.columnState;
|
|
798
801
|
return _objectSpread(_objectSpread({}, scheme), {}, {
|
|
799
|
-
|
|
802
|
+
columnConfig: columnConfig
|
|
800
803
|
});
|
|
801
804
|
});
|
|
802
805
|
});
|
|
@@ -146,6 +146,8 @@ export interface ExtendedColDef extends ColDef {
|
|
|
146
146
|
formatWithCommas?: boolean;
|
|
147
147
|
/** 自定义单元格渲染器 (用于跳过计算) */
|
|
148
148
|
customCellRenderer?: (params: any) => any;
|
|
149
|
+
/** 列分组的子列 (支持列分组功能) */
|
|
150
|
+
children?: ExtendedColDef[];
|
|
149
151
|
}
|
|
150
152
|
/**
|
|
151
153
|
* 扩展的列状态 (包含 AG-Grid 列状态 + 自定义属性)
|
|
@@ -17,6 +17,7 @@ var _preview = _interopRequireDefault(require("./preview"));
|
|
|
17
17
|
var _antd = require("antd");
|
|
18
18
|
var _setting = _interopRequireDefault(require("../ag-grid-plus/setting"));
|
|
19
19
|
var _useGridPlusColumnState = require("../ag-grid-plus/hooks/useGridPlusColumnState");
|
|
20
|
+
var _useColumnSchemes = require("../ag-grid-plus/schemes/hooks/useColumnSchemes");
|
|
20
21
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
21
22
|
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); }
|
|
22
23
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
@@ -32,47 +33,6 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
|
|
|
32
33
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
33
34
|
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
34
35
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
35
|
-
/**
|
|
36
|
-
* ArrayTable 内置的列状态管理 Hook
|
|
37
|
-
* 使用 localStorage 进行持久化存储
|
|
38
|
-
*/
|
|
39
|
-
var useArrayTableColumnState = function useArrayTableColumnState(gridKey) {
|
|
40
|
-
var STORAGE_KEY = 'array-table-column-state';
|
|
41
|
-
|
|
42
|
-
// 从 localStorage 读取所有列状态
|
|
43
|
-
var getColumnStateFromStorage = (0, _react.useCallback)(function () {
|
|
44
|
-
try {
|
|
45
|
-
var stored = localStorage.getItem(STORAGE_KEY);
|
|
46
|
-
return stored ? JSON.parse(stored) : {};
|
|
47
|
-
} catch (error) {
|
|
48
|
-
console.error('Failed to read column state from localStorage:', error);
|
|
49
|
-
return {};
|
|
50
|
-
}
|
|
51
|
-
}, []);
|
|
52
|
-
|
|
53
|
-
// 保存列状态到 localStorage
|
|
54
|
-
var saveColumnStateToStorage = (0, _react.useCallback)(function (key, state) {
|
|
55
|
-
try {
|
|
56
|
-
var allStates = getColumnStateFromStorage();
|
|
57
|
-
allStates[key] = state;
|
|
58
|
-
localStorage.setItem(STORAGE_KEY, JSON.stringify(allStates));
|
|
59
|
-
} catch (error) {
|
|
60
|
-
console.error('Failed to save column state to localStorage:', error);
|
|
61
|
-
}
|
|
62
|
-
}, [getColumnStateFromStorage]);
|
|
63
|
-
|
|
64
|
-
// 获取指定 gridKey 的列状态
|
|
65
|
-
var getColumnState = (0, _react.useCallback)(function (key) {
|
|
66
|
-
if (!key) return undefined;
|
|
67
|
-
var allStates = getColumnStateFromStorage();
|
|
68
|
-
return allStates[key];
|
|
69
|
-
}, [getColumnStateFromStorage]);
|
|
70
|
-
return {
|
|
71
|
-
getColumnState: getColumnState,
|
|
72
|
-
saveColumnState: saveColumnStateToStorage
|
|
73
|
-
};
|
|
74
|
-
};
|
|
75
|
-
|
|
76
36
|
//@ts-ignore
|
|
77
37
|
var ArrayTable = (0, _react2.observer)(function (props) {
|
|
78
38
|
var height = props.height;
|
|
@@ -103,10 +63,14 @@ var ArrayTable = (0, _react2.observer)(function (props) {
|
|
|
103
63
|
// 尝试从 Context 获取列状态管理(如果被 Provider 包裹)
|
|
104
64
|
var contextColumnState = (0, _useGridPlusColumnState.useGridPlusColumnState)();
|
|
105
65
|
|
|
106
|
-
//
|
|
107
|
-
var
|
|
108
|
-
|
|
109
|
-
|
|
66
|
+
// ArrayTable 内部集成列方案管理(统一使用 AgGridPlus 的方案系统)
|
|
67
|
+
var internalSchemeManager = (0, _useColumnSchemes.useColumnSchemes)({
|
|
68
|
+
gridId: props.gridKey || 'array-table-default',
|
|
69
|
+
enableAutoSave: false // 手动控制保存时机
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
// 使用 Context 的 schemeManager 或内部的 schemeManager
|
|
73
|
+
var schemeManager = (contextColumnState === null || contextColumnState === void 0 ? void 0 : contextColumnState.schemeManager) || internalSchemeManager;
|
|
110
74
|
|
|
111
75
|
// 使用自定义 hooks
|
|
112
76
|
var _useCellFocus = (0, _hooks.useCellFocus)(),
|
|
@@ -116,45 +80,36 @@ var ArrayTable = (0, _react2.observer)(function (props) {
|
|
|
116
80
|
var _useRowDrag = (0, _hooks.useRowDrag)(field),
|
|
117
81
|
handleRowDragMove = _useRowDrag.handleRowDragMove;
|
|
118
82
|
|
|
119
|
-
//
|
|
83
|
+
// 恢复列状态(从方案系统)
|
|
120
84
|
(0, _react.useEffect)(function () {
|
|
121
|
-
|
|
122
|
-
if (!props.gridKey || !gridApiState) {
|
|
85
|
+
if (!props.gridKey || !gridApiState || !schemeManager) {
|
|
123
86
|
return;
|
|
124
87
|
}
|
|
125
|
-
var stateToApply = null;
|
|
126
|
-
var hasRealProvider = (contextColumnState === null || contextColumnState === void 0 ? void 0 : contextColumnState.columnState) !== undefined;
|
|
127
88
|
|
|
128
|
-
//
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
if (stateToApply && Array.isArray(stateToApply)) {
|
|
137
|
-
// 转换为 AG-Grid 需要的格式
|
|
138
|
-
var formattedState = stateToApply.map(function (col) {
|
|
89
|
+
// 使用方案系统恢复列状态
|
|
90
|
+
// schemeManager 会自动加载默认方案或最后使用的方案
|
|
91
|
+
var currentScheme = schemeManager.currentScheme;
|
|
92
|
+
if (currentScheme && currentScheme.columnConfig) {
|
|
93
|
+
// 从 columnConfig (FlatColumnItem[]) 提取列状态
|
|
94
|
+
var columnState = currentScheme.columnConfig.filter(function (item) {
|
|
95
|
+
return item.type === 'column' && item.field;
|
|
96
|
+
}).map(function (item) {
|
|
139
97
|
return {
|
|
140
|
-
colId:
|
|
141
|
-
width:
|
|
142
|
-
hide:
|
|
143
|
-
pinned:
|
|
144
|
-
|
|
145
|
-
sortIndex: col.sortIndex,
|
|
146
|
-
aggFunc: col.aggFunc,
|
|
147
|
-
flex: col.flex
|
|
98
|
+
colId: item.field,
|
|
99
|
+
width: item.width,
|
|
100
|
+
hide: item.hide,
|
|
101
|
+
pinned: item.pinned === 'notPinned' ? null : item.pinned,
|
|
102
|
+
flex: item.flex
|
|
148
103
|
};
|
|
149
104
|
});
|
|
150
105
|
setTimeout(function () {
|
|
151
106
|
gridApiState.applyColumnState({
|
|
152
|
-
state:
|
|
107
|
+
state: columnState,
|
|
153
108
|
applyOrder: true
|
|
154
109
|
});
|
|
155
110
|
}, 100);
|
|
156
111
|
}
|
|
157
|
-
}, [props.gridKey, gridApiState,
|
|
112
|
+
}, [props.gridKey, gridApiState, schemeManager === null || schemeManager === void 0 ? void 0 : schemeManager.currentScheme]);
|
|
158
113
|
|
|
159
114
|
//@ts-ignore
|
|
160
115
|
if (columns.length > 0) {
|
|
@@ -162,22 +117,9 @@ var ArrayTable = (0, _react2.observer)(function (props) {
|
|
|
162
117
|
columns[0].rowDrag = props.onRowDrag ? true : false;
|
|
163
118
|
}
|
|
164
119
|
|
|
165
|
-
//
|
|
166
|
-
|
|
167
|
-
if (!props.gridKey) return;
|
|
120
|
+
// 不再需要 onColumnStateChanged 回调
|
|
121
|
+
// 保存逻辑统一由 ColumnSetting 通过 schemeManager 处理
|
|
168
122
|
|
|
169
|
-
// 判断是否有真正的 Provider:检查 columnState 是否不是 undefined(默认值)
|
|
170
|
-
var hasRealProvider = (contextColumnState === null || contextColumnState === void 0 ? void 0 : contextColumnState.columnState) !== undefined;
|
|
171
|
-
|
|
172
|
-
// 优先使用 Context 的保存方法(但只有在有真正的 Provider 时)
|
|
173
|
-
if (hasRealProvider && contextColumnState !== null && contextColumnState !== void 0 && contextColumnState.onSaveColumnState) {
|
|
174
|
-
contextColumnState.onSaveColumnState(props.gridKey, columnState);
|
|
175
|
-
}
|
|
176
|
-
// 后备方案:使用内置的 localStorage 保存
|
|
177
|
-
else {
|
|
178
|
-
saveColumnState(props.gridKey, columnState);
|
|
179
|
-
}
|
|
180
|
-
};
|
|
181
123
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
182
124
|
ref: ref,
|
|
183
125
|
style: {
|
|
@@ -225,7 +167,7 @@ var ArrayTable = (0, _react2.observer)(function (props) {
|
|
|
225
167
|
gridApi: apiRef.current,
|
|
226
168
|
gridApiState: gridApiState,
|
|
227
169
|
type: 'formArrayTable',
|
|
228
|
-
|
|
170
|
+
schemeManager: schemeManager
|
|
229
171
|
})), /*#__PURE__*/_react.default.createElement("div", {
|
|
230
172
|
style: {
|
|
231
173
|
flex: 1,
|
|
@@ -237,37 +179,7 @@ var ArrayTable = (0, _react2.observer)(function (props) {
|
|
|
237
179
|
apiRef.current = params.api;
|
|
238
180
|
setGridApiState(params.api);
|
|
239
181
|
|
|
240
|
-
//
|
|
241
|
-
if (props.gridKey) {
|
|
242
|
-
var _contextColumnState$c2;
|
|
243
|
-
var hasRealProvider = (contextColumnState === null || contextColumnState === void 0 ? void 0 : contextColumnState.columnState) !== undefined;
|
|
244
|
-
var stateToApply = null;
|
|
245
|
-
if (hasRealProvider && contextColumnState !== null && contextColumnState !== void 0 && (_contextColumnState$c2 = contextColumnState.columnState) !== null && _contextColumnState$c2 !== void 0 && _contextColumnState$c2[props.gridKey]) {
|
|
246
|
-
stateToApply = contextColumnState.columnState[props.gridKey];
|
|
247
|
-
} else {
|
|
248
|
-
stateToApply = getColumnState(props.gridKey);
|
|
249
|
-
}
|
|
250
|
-
if (stateToApply && Array.isArray(stateToApply)) {
|
|
251
|
-
var formattedState = stateToApply.map(function (col) {
|
|
252
|
-
return {
|
|
253
|
-
colId: col.colId || col.field,
|
|
254
|
-
width: col.width,
|
|
255
|
-
hide: col.hide,
|
|
256
|
-
pinned: col.pinned === 'notPinned' ? null : col.pinned,
|
|
257
|
-
sort: col.sort,
|
|
258
|
-
sortIndex: col.sortIndex,
|
|
259
|
-
aggFunc: col.aggFunc,
|
|
260
|
-
flex: col.flex
|
|
261
|
-
};
|
|
262
|
-
});
|
|
263
|
-
setTimeout(function () {
|
|
264
|
-
params.api.applyColumnState({
|
|
265
|
-
state: formattedState,
|
|
266
|
-
applyOrder: true
|
|
267
|
-
});
|
|
268
|
-
}, 50);
|
|
269
|
-
}
|
|
270
|
-
}
|
|
182
|
+
// 恢复列状态将由 useEffect 处理(使用方案系统)
|
|
271
183
|
},
|
|
272
184
|
suppressColumnVirtualisation: true,
|
|
273
185
|
gridOptions: {
|