@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
|
@@ -7,7 +7,6 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
|
7
7
|
import { SettingOutlined } from '@ant-design/icons';
|
|
8
8
|
import { Dropdown } from 'antd';
|
|
9
9
|
import React, { useState, useContext } from "react";
|
|
10
|
-
import { useGridPlusColumnState } from "../hooks/useGridPlusColumnState";
|
|
11
10
|
import { GridPlusContext } from "../context/gridContext";
|
|
12
11
|
import { QuerySchemesManager } from "../querySchemes/components/QuerySchemesManager";
|
|
13
12
|
import ColumnSetting from "./ColumnSetting";
|
|
@@ -16,10 +15,9 @@ var Setting = function Setting(props) {
|
|
|
16
15
|
gridApi = props.gridApi,
|
|
17
16
|
gridApiState = props.gridApiState,
|
|
18
17
|
onSaveColumnState = props.onSaveColumnState;
|
|
19
|
-
var _useGridPlusColumnSta = useGridPlusColumnState(),
|
|
20
|
-
resetCurrent = _useGridPlusColumnSta.resetCurrent;
|
|
21
18
|
var gridPlusContext = useContext(GridPlusContext);
|
|
22
|
-
|
|
19
|
+
// 优先使用外部传入的 schemeManager,否则使用 Context 中的
|
|
20
|
+
var schemeManager = props.schemeManager || (gridPlusContext === null || gridPlusContext === void 0 ? void 0 : gridPlusContext.schemeManager);
|
|
23
21
|
var querySchemeManager = gridPlusContext === null || gridPlusContext === void 0 ? void 0 : gridPlusContext.querySchemeManager;
|
|
24
22
|
var currentQueryOrder = (gridPlusContext === null || gridPlusContext === void 0 ? void 0 : gridPlusContext.currentQueryOrder) || [];
|
|
25
23
|
var updateQueryOrder = gridPlusContext === null || gridPlusContext === void 0 ? void 0 : gridPlusContext.updateQueryOrder;
|
|
@@ -43,14 +41,7 @@ var Setting = function Setting(props) {
|
|
|
43
41
|
onClick: function onClick() {
|
|
44
42
|
return setColumnSettingVisible(true);
|
|
45
43
|
}
|
|
46
|
-
}, "\u5217\
|
|
47
|
-
}, {
|
|
48
|
-
key: 'reset',
|
|
49
|
-
label: /*#__PURE__*/React.createElement("a", {
|
|
50
|
-
onClick: function onClick() {
|
|
51
|
-
gridKey && resetCurrent(gridKey);
|
|
52
|
-
}
|
|
53
|
-
}, "\u6062\u590D\u9ED8\u8BA4")
|
|
44
|
+
}, "\u5217\u65B9\u6848\u7BA1\u7406")
|
|
54
45
|
}];
|
|
55
46
|
|
|
56
47
|
// 如果存在 querySchemeManager,添加查询方案相关菜单项
|
|
@@ -86,7 +77,8 @@ var Setting = function Setting(props) {
|
|
|
86
77
|
onClose: function onClose() {
|
|
87
78
|
return setColumnSettingVisible(false);
|
|
88
79
|
},
|
|
89
|
-
onSaveColumnState: onSaveColumnState
|
|
80
|
+
onSaveColumnState: onSaveColumnState || function () {} // 保留兼容性,但 formArrayTable 不再使用
|
|
81
|
+
,
|
|
90
82
|
schemeManager: schemeManager,
|
|
91
83
|
type: props.type
|
|
92
84
|
}), querySchemeManager && gridApi && updateQueryOrder && /*#__PURE__*/React.createElement(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
|
/**
|
|
@@ -73,7 +73,7 @@ export var SchemeSyncManager = /*#__PURE__*/function () {
|
|
|
73
73
|
schemes = _ref2[1];
|
|
74
74
|
serializedColumnSchemes[gridId] = schemes.map(function (scheme) {
|
|
75
75
|
return _objectSpread(_objectSpread({}, scheme), {}, {
|
|
76
|
-
columnState: JSON.stringify(scheme.
|
|
76
|
+
columnState: JSON.stringify(scheme.columnConfig)
|
|
77
77
|
});
|
|
78
78
|
});
|
|
79
79
|
});
|
|
@@ -593,15 +593,15 @@ export var SchemeSyncManager = /*#__PURE__*/function () {
|
|
|
593
593
|
if (types.has('current')) dirtyCurrentGrids.add(gridId);
|
|
594
594
|
});
|
|
595
595
|
|
|
596
|
-
// 添加列方案数据(将
|
|
596
|
+
// 添加列方案数据(将 columnConfig 序列化为 JSON 字符串并映射到 columnState 字段)
|
|
597
597
|
if (dirtyColumnGrids.size > 0) {
|
|
598
598
|
requestData.columnSchemes = {};
|
|
599
599
|
dirtyColumnGrids.forEach(function (gridId) {
|
|
600
600
|
var schemes = _this4.allData.columnSchemes[gridId] || [];
|
|
601
|
-
// 将每个方案的
|
|
601
|
+
// 将每个方案的 columnConfig 从数组转换为 JSON 字符串,并映射到 columnState 字段
|
|
602
602
|
requestData.columnSchemes[gridId] = schemes.map(function (scheme) {
|
|
603
603
|
return _objectSpread(_objectSpread({}, scheme), {}, {
|
|
604
|
-
columnState: JSON.stringify(scheme.
|
|
604
|
+
columnState: JSON.stringify(scheme.columnConfig)
|
|
605
605
|
});
|
|
606
606
|
});
|
|
607
607
|
});
|
|
@@ -771,7 +771,8 @@ export var SchemeSyncManager = /*#__PURE__*/function () {
|
|
|
771
771
|
|
|
772
772
|
/**
|
|
773
773
|
* 反序列化从后端接收的方案数据
|
|
774
|
-
* 将 columnState
|
|
774
|
+
* 将 columnState(后端字段) 映射为 columnConfig 并从 JSON 字符串转换为数组
|
|
775
|
+
* 将 itemsOrder 从 JSON 字符串转换为数组
|
|
775
776
|
*/
|
|
776
777
|
}, {
|
|
777
778
|
key: "deserializeSchemesData",
|
|
@@ -787,10 +788,12 @@ export var SchemeSyncManager = /*#__PURE__*/function () {
|
|
|
787
788
|
gridId = _ref6[0],
|
|
788
789
|
schemes = _ref6[1];
|
|
789
790
|
result.columnSchemes[gridId] = schemes.map(function (scheme) {
|
|
790
|
-
//
|
|
791
|
-
|
|
791
|
+
// 后端返回的数据中,columnState 字段存储的是 columnConfig 的 JSON 字符串
|
|
792
|
+
// 需要将其解析为数组并映射到 columnConfig 字段
|
|
793
|
+
var schemeWithState = scheme; // 类型断言处理后端数据
|
|
794
|
+
var columnConfig = typeof schemeWithState.columnState === 'string' ? JSON.parse(schemeWithState.columnState) : schemeWithState.columnState;
|
|
792
795
|
return _objectSpread(_objectSpread({}, scheme), {}, {
|
|
793
|
-
|
|
796
|
+
columnConfig: columnConfig
|
|
794
797
|
});
|
|
795
798
|
});
|
|
796
799
|
});
|
|
@@ -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 列状态 + 自定义属性)
|
|
@@ -11,7 +11,7 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
|
|
|
11
11
|
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; }
|
|
12
12
|
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; } }
|
|
13
13
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
14
|
-
import React, { Fragment, useEffect, useRef, useState
|
|
14
|
+
import React, { Fragment, useEffect, useRef, useState } from "react";
|
|
15
15
|
import { AgGridReact } from "ag-grid-react";
|
|
16
16
|
import { useField, observer, RecursionField } from "@formily/react";
|
|
17
17
|
import { useFieldSchema } from "@formily/react";
|
|
@@ -25,47 +25,7 @@ import PreviewArrayTable from "./preview";
|
|
|
25
25
|
import { Space } from "antd";
|
|
26
26
|
import Setting from "../ag-grid-plus/setting";
|
|
27
27
|
import { useGridPlusColumnState } from "../ag-grid-plus/hooks/useGridPlusColumnState";
|
|
28
|
-
|
|
29
|
-
/**
|
|
30
|
-
* ArrayTable 内置的列状态管理 Hook
|
|
31
|
-
* 使用 localStorage 进行持久化存储
|
|
32
|
-
*/
|
|
33
|
-
var useArrayTableColumnState = function useArrayTableColumnState(gridKey) {
|
|
34
|
-
var STORAGE_KEY = 'array-table-column-state';
|
|
35
|
-
|
|
36
|
-
// 从 localStorage 读取所有列状态
|
|
37
|
-
var getColumnStateFromStorage = useCallback(function () {
|
|
38
|
-
try {
|
|
39
|
-
var stored = localStorage.getItem(STORAGE_KEY);
|
|
40
|
-
return stored ? JSON.parse(stored) : {};
|
|
41
|
-
} catch (error) {
|
|
42
|
-
console.error('Failed to read column state from localStorage:', error);
|
|
43
|
-
return {};
|
|
44
|
-
}
|
|
45
|
-
}, []);
|
|
46
|
-
|
|
47
|
-
// 保存列状态到 localStorage
|
|
48
|
-
var saveColumnStateToStorage = useCallback(function (key, state) {
|
|
49
|
-
try {
|
|
50
|
-
var allStates = getColumnStateFromStorage();
|
|
51
|
-
allStates[key] = state;
|
|
52
|
-
localStorage.setItem(STORAGE_KEY, JSON.stringify(allStates));
|
|
53
|
-
} catch (error) {
|
|
54
|
-
console.error('Failed to save column state to localStorage:', error);
|
|
55
|
-
}
|
|
56
|
-
}, [getColumnStateFromStorage]);
|
|
57
|
-
|
|
58
|
-
// 获取指定 gridKey 的列状态
|
|
59
|
-
var getColumnState = useCallback(function (key) {
|
|
60
|
-
if (!key) return undefined;
|
|
61
|
-
var allStates = getColumnStateFromStorage();
|
|
62
|
-
return allStates[key];
|
|
63
|
-
}, [getColumnStateFromStorage]);
|
|
64
|
-
return {
|
|
65
|
-
getColumnState: getColumnState,
|
|
66
|
-
saveColumnState: saveColumnStateToStorage
|
|
67
|
-
};
|
|
68
|
-
};
|
|
28
|
+
import { useColumnSchemes } from "../ag-grid-plus/schemes/hooks/useColumnSchemes";
|
|
69
29
|
|
|
70
30
|
//@ts-ignore
|
|
71
31
|
var ArrayTable = observer(function (props) {
|
|
@@ -97,10 +57,14 @@ var ArrayTable = observer(function (props) {
|
|
|
97
57
|
// 尝试从 Context 获取列状态管理(如果被 Provider 包裹)
|
|
98
58
|
var contextColumnState = useGridPlusColumnState();
|
|
99
59
|
|
|
100
|
-
//
|
|
101
|
-
var
|
|
102
|
-
|
|
103
|
-
|
|
60
|
+
// ArrayTable 内部集成列方案管理(统一使用 AgGridPlus 的方案系统)
|
|
61
|
+
var internalSchemeManager = useColumnSchemes({
|
|
62
|
+
gridId: props.gridKey || 'array-table-default',
|
|
63
|
+
enableAutoSave: false // 手动控制保存时机
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
// 使用 Context 的 schemeManager 或内部的 schemeManager
|
|
67
|
+
var schemeManager = (contextColumnState === null || contextColumnState === void 0 ? void 0 : contextColumnState.schemeManager) || internalSchemeManager;
|
|
104
68
|
|
|
105
69
|
// 使用自定义 hooks
|
|
106
70
|
var _useCellFocus = useCellFocus(),
|
|
@@ -110,45 +74,36 @@ var ArrayTable = observer(function (props) {
|
|
|
110
74
|
var _useRowDrag = useRowDrag(field),
|
|
111
75
|
handleRowDragMove = _useRowDrag.handleRowDragMove;
|
|
112
76
|
|
|
113
|
-
//
|
|
77
|
+
// 恢复列状态(从方案系统)
|
|
114
78
|
useEffect(function () {
|
|
115
|
-
|
|
116
|
-
if (!props.gridKey || !gridApiState) {
|
|
79
|
+
if (!props.gridKey || !gridApiState || !schemeManager) {
|
|
117
80
|
return;
|
|
118
81
|
}
|
|
119
|
-
var stateToApply = null;
|
|
120
|
-
var hasRealProvider = (contextColumnState === null || contextColumnState === void 0 ? void 0 : contextColumnState.columnState) !== undefined;
|
|
121
82
|
|
|
122
|
-
//
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
if (stateToApply && Array.isArray(stateToApply)) {
|
|
131
|
-
// 转换为 AG-Grid 需要的格式
|
|
132
|
-
var formattedState = stateToApply.map(function (col) {
|
|
83
|
+
// 使用方案系统恢复列状态
|
|
84
|
+
// schemeManager 会自动加载默认方案或最后使用的方案
|
|
85
|
+
var currentScheme = schemeManager.currentScheme;
|
|
86
|
+
if (currentScheme && currentScheme.columnConfig) {
|
|
87
|
+
// 从 columnConfig (FlatColumnItem[]) 提取列状态
|
|
88
|
+
var columnState = currentScheme.columnConfig.filter(function (item) {
|
|
89
|
+
return item.type === 'column' && item.field;
|
|
90
|
+
}).map(function (item) {
|
|
133
91
|
return {
|
|
134
|
-
colId:
|
|
135
|
-
width:
|
|
136
|
-
hide:
|
|
137
|
-
pinned:
|
|
138
|
-
|
|
139
|
-
sortIndex: col.sortIndex,
|
|
140
|
-
aggFunc: col.aggFunc,
|
|
141
|
-
flex: col.flex
|
|
92
|
+
colId: item.field,
|
|
93
|
+
width: item.width,
|
|
94
|
+
hide: item.hide,
|
|
95
|
+
pinned: item.pinned === 'notPinned' ? null : item.pinned,
|
|
96
|
+
flex: item.flex
|
|
142
97
|
};
|
|
143
98
|
});
|
|
144
99
|
setTimeout(function () {
|
|
145
100
|
gridApiState.applyColumnState({
|
|
146
|
-
state:
|
|
101
|
+
state: columnState,
|
|
147
102
|
applyOrder: true
|
|
148
103
|
});
|
|
149
104
|
}, 100);
|
|
150
105
|
}
|
|
151
|
-
}, [props.gridKey, gridApiState,
|
|
106
|
+
}, [props.gridKey, gridApiState, schemeManager === null || schemeManager === void 0 ? void 0 : schemeManager.currentScheme]);
|
|
152
107
|
|
|
153
108
|
//@ts-ignore
|
|
154
109
|
if (columns.length > 0) {
|
|
@@ -156,22 +111,9 @@ var ArrayTable = observer(function (props) {
|
|
|
156
111
|
columns[0].rowDrag = props.onRowDrag ? true : false;
|
|
157
112
|
}
|
|
158
113
|
|
|
159
|
-
//
|
|
160
|
-
|
|
161
|
-
if (!props.gridKey) return;
|
|
114
|
+
// 不再需要 onColumnStateChanged 回调
|
|
115
|
+
// 保存逻辑统一由 ColumnSetting 通过 schemeManager 处理
|
|
162
116
|
|
|
163
|
-
// 判断是否有真正的 Provider:检查 columnState 是否不是 undefined(默认值)
|
|
164
|
-
var hasRealProvider = (contextColumnState === null || contextColumnState === void 0 ? void 0 : contextColumnState.columnState) !== undefined;
|
|
165
|
-
|
|
166
|
-
// 优先使用 Context 的保存方法(但只有在有真正的 Provider 时)
|
|
167
|
-
if (hasRealProvider && contextColumnState !== null && contextColumnState !== void 0 && contextColumnState.onSaveColumnState) {
|
|
168
|
-
contextColumnState.onSaveColumnState(props.gridKey, columnState);
|
|
169
|
-
}
|
|
170
|
-
// 后备方案:使用内置的 localStorage 保存
|
|
171
|
-
else {
|
|
172
|
-
saveColumnState(props.gridKey, columnState);
|
|
173
|
-
}
|
|
174
|
-
};
|
|
175
117
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
|
|
176
118
|
ref: ref,
|
|
177
119
|
style: {
|
|
@@ -219,7 +161,7 @@ var ArrayTable = observer(function (props) {
|
|
|
219
161
|
gridApi: apiRef.current,
|
|
220
162
|
gridApiState: gridApiState,
|
|
221
163
|
type: 'formArrayTable',
|
|
222
|
-
|
|
164
|
+
schemeManager: schemeManager
|
|
223
165
|
})), /*#__PURE__*/React.createElement("div", {
|
|
224
166
|
style: {
|
|
225
167
|
flex: 1,
|
|
@@ -231,37 +173,7 @@ var ArrayTable = observer(function (props) {
|
|
|
231
173
|
apiRef.current = params.api;
|
|
232
174
|
setGridApiState(params.api);
|
|
233
175
|
|
|
234
|
-
//
|
|
235
|
-
if (props.gridKey) {
|
|
236
|
-
var _contextColumnState$c2;
|
|
237
|
-
var hasRealProvider = (contextColumnState === null || contextColumnState === void 0 ? void 0 : contextColumnState.columnState) !== undefined;
|
|
238
|
-
var stateToApply = null;
|
|
239
|
-
if (hasRealProvider && contextColumnState !== null && contextColumnState !== void 0 && (_contextColumnState$c2 = contextColumnState.columnState) !== null && _contextColumnState$c2 !== void 0 && _contextColumnState$c2[props.gridKey]) {
|
|
240
|
-
stateToApply = contextColumnState.columnState[props.gridKey];
|
|
241
|
-
} else {
|
|
242
|
-
stateToApply = getColumnState(props.gridKey);
|
|
243
|
-
}
|
|
244
|
-
if (stateToApply && Array.isArray(stateToApply)) {
|
|
245
|
-
var formattedState = stateToApply.map(function (col) {
|
|
246
|
-
return {
|
|
247
|
-
colId: col.colId || col.field,
|
|
248
|
-
width: col.width,
|
|
249
|
-
hide: col.hide,
|
|
250
|
-
pinned: col.pinned === 'notPinned' ? null : col.pinned,
|
|
251
|
-
sort: col.sort,
|
|
252
|
-
sortIndex: col.sortIndex,
|
|
253
|
-
aggFunc: col.aggFunc,
|
|
254
|
-
flex: col.flex
|
|
255
|
-
};
|
|
256
|
-
});
|
|
257
|
-
setTimeout(function () {
|
|
258
|
-
params.api.applyColumnState({
|
|
259
|
-
state: formattedState,
|
|
260
|
-
applyOrder: true
|
|
261
|
-
});
|
|
262
|
-
}, 50);
|
|
263
|
-
}
|
|
264
|
-
}
|
|
176
|
+
// 恢复列状态将由 useEffect 处理(使用方案系统)
|
|
265
177
|
},
|
|
266
178
|
suppressColumnVirtualisation: true,
|
|
267
179
|
gridOptions: {
|