@nokecy/qc-ui 1.0.38 → 1.0.40
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.js +36 -19
- package/dist/cjs/ag-grid-plus/_utils/processFormColumnState.d.ts +2 -0
- package/dist/cjs/ag-grid-plus/_utils/processFormColumnState.js +28 -0
- package/dist/cjs/ag-grid-plus/ag-gridPlus.js +2 -4
- package/dist/cjs/ag-grid-plus/context/gridContext.d.ts +3 -3
- package/dist/cjs/ag-grid-plus/index.d.ts +1 -1
- package/dist/cjs/ag-grid-plus/setting/diySetting/index.js +39 -26
- package/dist/cjs/ag-grid-plus/setting/index.js +3 -2
- package/dist/esm/ag-grid-plus/_utils/processColumnGroups.js +36 -19
- package/dist/esm/ag-grid-plus/_utils/processFormColumnState.d.ts +2 -0
- package/dist/esm/ag-grid-plus/_utils/processFormColumnState.js +22 -0
- package/dist/esm/ag-grid-plus/ag-gridPlus.js +2 -4
- package/dist/esm/ag-grid-plus/context/gridContext.d.ts +3 -3
- package/dist/esm/ag-grid-plus/index.d.ts +1 -1
- package/dist/esm/ag-grid-plus/setting/diySetting/index.js +39 -26
- package/dist/esm/ag-grid-plus/setting/index.js +3 -2
- package/dist/umd/qc-ui.min.js +1 -1
- package/package.json +1 -1
|
@@ -5,6 +5,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
8
|
+
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
9
|
+
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
10
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
11
|
+
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
12
|
+
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
13
|
+
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; }
|
|
8
14
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
9
15
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
10
16
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
@@ -13,10 +19,27 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
|
|
|
13
19
|
var processColumnGroups = function processColumnGroups(columns) {
|
|
14
20
|
var groupMap = new Map();
|
|
15
21
|
var result = [];
|
|
16
|
-
|
|
17
|
-
// 第一次遍历:创建分组结构
|
|
22
|
+
var ungrouped = [];
|
|
18
23
|
columns.forEach(function (col) {
|
|
19
|
-
|
|
24
|
+
var headerName = col.headerName;
|
|
25
|
+
if (col.children) {
|
|
26
|
+
if (!groupMap.has(headerName)) {
|
|
27
|
+
groupMap.set(headerName, {
|
|
28
|
+
headerName: headerName,
|
|
29
|
+
field: "".concat(headerName, "header"),
|
|
30
|
+
children: []
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
// 合并并去重 children
|
|
34
|
+
var group = groupMap.get(headerName);
|
|
35
|
+
col.children.forEach(function (child) {
|
|
36
|
+
if (!group.children.some(function (c) {
|
|
37
|
+
return c.field === child.field;
|
|
38
|
+
})) {
|
|
39
|
+
group.children.push(child);
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
} else if (col.groupName) {
|
|
20
43
|
if (!groupMap.has(col.groupName)) {
|
|
21
44
|
groupMap.set(col.groupName, {
|
|
22
45
|
headerName: col.groupName,
|
|
@@ -24,27 +47,21 @@ var processColumnGroups = function processColumnGroups(columns) {
|
|
|
24
47
|
children: []
|
|
25
48
|
});
|
|
26
49
|
}
|
|
27
|
-
}
|
|
28
|
-
});
|
|
29
|
-
|
|
30
|
-
// 第二次遍历:按原始顺序处理列
|
|
31
|
-
columns.forEach(function (col) {
|
|
32
|
-
if (col.groupName) {
|
|
33
50
|
var groupCol = _objectSpread({}, col);
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
51
|
+
delete groupCol.groupName;
|
|
52
|
+
var _group = groupMap.get(col.groupName);
|
|
53
|
+
if (!_group.children.some(function (c) {
|
|
54
|
+
return c.field === groupCol.field;
|
|
55
|
+
})) {
|
|
56
|
+
_group.children.push(groupCol);
|
|
39
57
|
}
|
|
40
|
-
|
|
41
|
-
// 将列添加到对应的组中
|
|
42
|
-
groupMap.get(col.groupName).children.push(groupCol);
|
|
43
58
|
} else {
|
|
44
|
-
|
|
45
|
-
result.push(col);
|
|
59
|
+
ungrouped.push(col);
|
|
46
60
|
}
|
|
47
61
|
});
|
|
62
|
+
|
|
63
|
+
// 直接从 groupMap 和 ungrouped 生成结果
|
|
64
|
+
result.push.apply(result, _toConsumableArray(Array.from(groupMap.values())).concat(ungrouped));
|
|
48
65
|
return result;
|
|
49
66
|
};
|
|
50
67
|
var _default = exports.default = processColumnGroups;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var flattenColumnState = function flattenColumnState(columnState) {
|
|
8
|
+
var result = [];
|
|
9
|
+
var processColumn = function processColumn(column) {
|
|
10
|
+
// 如果有children属性且不为空,递归处理
|
|
11
|
+
if (column.children && column.children.length > 0) {
|
|
12
|
+
// 处理子列
|
|
13
|
+
column.children.forEach(function (child) {
|
|
14
|
+
processColumn(child);
|
|
15
|
+
});
|
|
16
|
+
} else {
|
|
17
|
+
// 没有children的列直接添加到结果中
|
|
18
|
+
result.push(column);
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
// 处理每一列
|
|
23
|
+
columnState.forEach(function (column) {
|
|
24
|
+
processColumn(column);
|
|
25
|
+
});
|
|
26
|
+
return result;
|
|
27
|
+
};
|
|
28
|
+
var _default = exports.default = flattenColumnState;
|
|
@@ -22,6 +22,7 @@ var _setting = _interopRequireDefault(require("./setting"));
|
|
|
22
22
|
var _ = require(".");
|
|
23
23
|
var _customGroupCellRenderer = _interopRequireDefault(require("./_utils/customGroupCellRenderer"));
|
|
24
24
|
var _processColumnGroups = _interopRequireDefault(require("./_utils/processColumnGroups"));
|
|
25
|
+
var _processFormColumnState = _interopRequireDefault(require("./_utils/processFormColumnState"));
|
|
25
26
|
var _excluded = ["style", "loading", "params", "request", "dataSource", "treeKeyName", "treeParentName", "rowData", "gridRef", "headerTitle", "toolBarRender", "search", "hideTool", "onGridReady", "gridKey", "children", "defaultSearchExpand", "overlayNoRowsTemplateText", "queryDefaultRows"];
|
|
26
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); }
|
|
27
28
|
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; }
|
|
@@ -247,7 +248,6 @@ function AgGridPlus(props) {
|
|
|
247
248
|
}
|
|
248
249
|
});
|
|
249
250
|
}
|
|
250
|
-
console.log('record1 columnState 3', cellMap);
|
|
251
251
|
return cellMap;
|
|
252
252
|
};
|
|
253
253
|
var sortChanged = function sortChanged(columnApi) {
|
|
@@ -382,7 +382,6 @@ function AgGridPlus(props) {
|
|
|
382
382
|
return _objectSpread({}, child.props);
|
|
383
383
|
});
|
|
384
384
|
var columnDefs = !columnProps ? props.columnDefs ? props.columnDefs : [] : columnProps;
|
|
385
|
-
console.log('record1 columnDefs 2', columnDefs);
|
|
386
385
|
columnDefs = columnDefs.map(function (col) {
|
|
387
386
|
var dataType = getDataType(data, col.field);
|
|
388
387
|
if (col.type || typeof col.cellRenderer == "string") {
|
|
@@ -475,7 +474,6 @@ function AgGridPlus(props) {
|
|
|
475
474
|
return !x.hideInTable;
|
|
476
475
|
});
|
|
477
476
|
var processedColumns = (0, _processColumnGroups.default)(columnDefs);
|
|
478
|
-
console.log('record1 columnDefs 1', processedColumns);
|
|
479
477
|
return processedColumns;
|
|
480
478
|
}, [children === null || children === void 0 ? void 0 : children.length, props.columnDefs, extensibleColumns, columnCellClass]);
|
|
481
479
|
var allColDefs = (0, _react.useMemo)(function () {
|
|
@@ -505,7 +503,7 @@ function AgGridPlus(props) {
|
|
|
505
503
|
height: "100%"
|
|
506
504
|
}
|
|
507
505
|
}, search == false ? null : /*#__PURE__*/_react.default.createElement(_queryForm.default, {
|
|
508
|
-
colDefs: allColDefs,
|
|
506
|
+
colDefs: (0, _processFormColumnState.default)(allColDefs),
|
|
509
507
|
defaultRows: queryDefaultRows,
|
|
510
508
|
columnStates: columnState || [],
|
|
511
509
|
defaultExpand: defaultSearchExpand,
|
|
@@ -20,12 +20,12 @@ export declare const GridPlusContext: React.Context<{
|
|
|
20
20
|
*/
|
|
21
21
|
applyToGlobal: (gridKey: string) => void;
|
|
22
22
|
/**
|
|
23
|
-
*
|
|
23
|
+
* 恢复当前用户当前表格为“默认列配置”
|
|
24
24
|
* @param gridKey 表格唯一标识
|
|
25
25
|
*/
|
|
26
26
|
resetCurrent: (gridKey: string) => void;
|
|
27
27
|
/**
|
|
28
|
-
*
|
|
28
|
+
* 恢复所有用户当前表格为“默认列配置”
|
|
29
29
|
*/
|
|
30
|
-
resetAll: () => void;
|
|
30
|
+
resetAll: (gridKey: string) => void;
|
|
31
31
|
}>;
|
|
@@ -8,7 +8,7 @@ export declare const useGridPlusColumnState: () => {
|
|
|
8
8
|
onSaveColumnState: (gridKey: string, columnState: any[]) => void;
|
|
9
9
|
applyToGlobal: (gridKey: string) => void;
|
|
10
10
|
resetCurrent: (gridKey: string) => void;
|
|
11
|
-
resetAll: () => void;
|
|
11
|
+
resetAll: (gridKey: string) => void;
|
|
12
12
|
};
|
|
13
13
|
export { AgGridPlus, AgGridColumn, GridPlusContext };
|
|
14
14
|
export { dateValueFormatter, dateTimeValueFormatter, convertFilterModel, convertSortModel, flattenTreeDeep, toTree, flatten } from "./utils";
|
|
@@ -53,21 +53,35 @@ var DiySetting = function DiySetting(props) {
|
|
|
53
53
|
var getColumnData = function getColumnData() {
|
|
54
54
|
var columnStates = gridApi.getColumnState();
|
|
55
55
|
var columnRowData = [];
|
|
56
|
-
|
|
57
|
-
var colDef = gridApi === null || gridApi === void 0 ? void 0 : gridApi.getColumnDef(columnState.colId);
|
|
56
|
+
var columnDefs = (gridApi === null || gridApi === void 0 ? void 0 : gridApi.getColumnDefs()) || [];
|
|
58
57
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
58
|
+
// 递归处理列定义
|
|
59
|
+
var processColumns = function processColumns(columns, parentGroup) {
|
|
60
|
+
columns.forEach(function (column) {
|
|
61
|
+
if (column.children && column.children.length > 0) {
|
|
62
|
+
// 处理子列,将当前headerName作为分组名传递下去
|
|
63
|
+
processColumns(column.children, column.headerName);
|
|
64
|
+
} else {
|
|
65
|
+
// 找到对应的columnState
|
|
66
|
+
var columnState = columnStates.find(function (state) {
|
|
67
|
+
return state.colId === column.field;
|
|
68
|
+
});
|
|
69
|
+
if (columnState) {
|
|
70
|
+
columnRowData.push(_objectSpread({
|
|
71
|
+
id: (0, _uniqueId2.default)(),
|
|
72
|
+
field: column.field,
|
|
73
|
+
headerName: column.headerName,
|
|
74
|
+
width: columnState.width,
|
|
75
|
+
hide: columnState.hide,
|
|
76
|
+
cellClass: column.cellClass,
|
|
77
|
+
suppressHeaderFilterButton: !column.suppressHeaderFilterButton,
|
|
78
|
+
groupName: parentGroup
|
|
79
|
+
}, columnState));
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
});
|
|
83
|
+
};
|
|
84
|
+
processColumns(columnDefs);
|
|
71
85
|
return columnRowData;
|
|
72
86
|
};
|
|
73
87
|
var portalId = "workProcedure".concat((0, _uniqueId2.default)());
|
|
@@ -120,7 +134,7 @@ var DiySetting = function DiySetting(props) {
|
|
|
120
134
|
})), /*#__PURE__*/_react2.default.createElement(SchemaField.Void, {
|
|
121
135
|
"x-component": "ArrayTable.Column",
|
|
122
136
|
"x-component-props": {
|
|
123
|
-
width:
|
|
137
|
+
width: 180,
|
|
124
138
|
title: "列名"
|
|
125
139
|
}
|
|
126
140
|
}, /*#__PURE__*/_react2.default.createElement(SchemaField.String, {
|
|
@@ -128,6 +142,16 @@ var DiySetting = function DiySetting(props) {
|
|
|
128
142
|
"x-decorator": "FormItem",
|
|
129
143
|
"x-component": "Input",
|
|
130
144
|
"x-read-pretty": true
|
|
145
|
+
})), /*#__PURE__*/_react2.default.createElement(SchemaField.Void, {
|
|
146
|
+
"x-component": "ArrayTable.Column",
|
|
147
|
+
"x-component-props": {
|
|
148
|
+
width: 120,
|
|
149
|
+
title: "分组名称"
|
|
150
|
+
}
|
|
151
|
+
}, /*#__PURE__*/_react2.default.createElement(SchemaField.String, {
|
|
152
|
+
name: "groupName",
|
|
153
|
+
"x-decorator": "FormItem",
|
|
154
|
+
"x-component": "Input"
|
|
131
155
|
})), /*#__PURE__*/_react2.default.createElement(SchemaField.Void, {
|
|
132
156
|
"x-component": "ArrayTable.Column",
|
|
133
157
|
"x-component-props": {
|
|
@@ -216,23 +240,12 @@ var DiySetting = function DiySetting(props) {
|
|
|
216
240
|
name: "hide",
|
|
217
241
|
"x-decorator": "FormItem",
|
|
218
242
|
"x-component": "Switch"
|
|
219
|
-
})), /*#__PURE__*/_react2.default.createElement(SchemaField.Void, {
|
|
220
|
-
"x-component": "ArrayTable.Column",
|
|
221
|
-
"x-component-props": {
|
|
222
|
-
width: 180,
|
|
223
|
-
title: "分组名称"
|
|
224
|
-
}
|
|
225
|
-
}, /*#__PURE__*/_react2.default.createElement(SchemaField.String, {
|
|
226
|
-
name: "groupName",
|
|
227
|
-
"x-decorator": "FormItem",
|
|
228
|
-
"x-component": "Input"
|
|
229
243
|
})))))));
|
|
230
244
|
});
|
|
231
245
|
formDialog.forConfirm(function (payload, next) {
|
|
232
246
|
var values = payload.values;
|
|
233
247
|
onSaveColumnState && onSaveColumnState(values.items);
|
|
234
248
|
var processedColumns = (0, _processColumnGroups.default)(values.items);
|
|
235
|
-
console.log('record1', processedColumns);
|
|
236
249
|
gridApi.setGridOption("columnDefs", processedColumns);
|
|
237
250
|
setTimeout(function () {
|
|
238
251
|
gridApi.applyColumnState({
|
|
@@ -32,6 +32,7 @@ var Setting = function Setting(props) {
|
|
|
32
32
|
gridApiState = props.gridApiState,
|
|
33
33
|
onSaveColumnState = props.onSaveColumnState;
|
|
34
34
|
var _useGridPlusColumnSta = (0, _.useGridPlusColumnState)(),
|
|
35
|
+
extensibleColumns = _useGridPlusColumnSta.extensibleColumns,
|
|
35
36
|
applyToGlobal = _useGridPlusColumnSta.applyToGlobal,
|
|
36
37
|
resetCurrent = _useGridPlusColumnSta.resetCurrent,
|
|
37
38
|
resetAll = _useGridPlusColumnSta.resetAll;
|
|
@@ -110,12 +111,12 @@ var Setting = function Setting(props) {
|
|
|
110
111
|
}
|
|
111
112
|
}, "\u6062\u590D\u9ED8\u8BA4")
|
|
112
113
|
}, {
|
|
113
|
-
key: '
|
|
114
|
+
key: '4',
|
|
114
115
|
label: /*#__PURE__*/_react2.default.createElement("a", {
|
|
115
116
|
target: "_blank",
|
|
116
117
|
rel: "noopener noreferrer",
|
|
117
118
|
onClick: function onClick() {
|
|
118
|
-
resetAll();
|
|
119
|
+
resetAll(gridKey);
|
|
119
120
|
}
|
|
120
121
|
}, "\u5168\u5C40\u6062\u590D\u9ED8\u8BA4")
|
|
121
122
|
}];
|
|
@@ -1,4 +1,10 @@
|
|
|
1
1
|
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
+
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
3
|
+
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
4
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
5
|
+
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
6
|
+
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
7
|
+
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; }
|
|
2
8
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3
9
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4
10
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
@@ -7,10 +13,27 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
|
|
|
7
13
|
var processColumnGroups = function processColumnGroups(columns) {
|
|
8
14
|
var groupMap = new Map();
|
|
9
15
|
var result = [];
|
|
10
|
-
|
|
11
|
-
// 第一次遍历:创建分组结构
|
|
16
|
+
var ungrouped = [];
|
|
12
17
|
columns.forEach(function (col) {
|
|
13
|
-
|
|
18
|
+
var headerName = col.headerName;
|
|
19
|
+
if (col.children) {
|
|
20
|
+
if (!groupMap.has(headerName)) {
|
|
21
|
+
groupMap.set(headerName, {
|
|
22
|
+
headerName: headerName,
|
|
23
|
+
field: "".concat(headerName, "header"),
|
|
24
|
+
children: []
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
// 合并并去重 children
|
|
28
|
+
var group = groupMap.get(headerName);
|
|
29
|
+
col.children.forEach(function (child) {
|
|
30
|
+
if (!group.children.some(function (c) {
|
|
31
|
+
return c.field === child.field;
|
|
32
|
+
})) {
|
|
33
|
+
group.children.push(child);
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
} else if (col.groupName) {
|
|
14
37
|
if (!groupMap.has(col.groupName)) {
|
|
15
38
|
groupMap.set(col.groupName, {
|
|
16
39
|
headerName: col.groupName,
|
|
@@ -18,27 +41,21 @@ var processColumnGroups = function processColumnGroups(columns) {
|
|
|
18
41
|
children: []
|
|
19
42
|
});
|
|
20
43
|
}
|
|
21
|
-
}
|
|
22
|
-
});
|
|
23
|
-
|
|
24
|
-
// 第二次遍历:按原始顺序处理列
|
|
25
|
-
columns.forEach(function (col) {
|
|
26
|
-
if (col.groupName) {
|
|
27
44
|
var groupCol = _objectSpread({}, col);
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
45
|
+
delete groupCol.groupName;
|
|
46
|
+
var _group = groupMap.get(col.groupName);
|
|
47
|
+
if (!_group.children.some(function (c) {
|
|
48
|
+
return c.field === groupCol.field;
|
|
49
|
+
})) {
|
|
50
|
+
_group.children.push(groupCol);
|
|
33
51
|
}
|
|
34
|
-
|
|
35
|
-
// 将列添加到对应的组中
|
|
36
|
-
groupMap.get(col.groupName).children.push(groupCol);
|
|
37
52
|
} else {
|
|
38
|
-
|
|
39
|
-
result.push(col);
|
|
53
|
+
ungrouped.push(col);
|
|
40
54
|
}
|
|
41
55
|
});
|
|
56
|
+
|
|
57
|
+
// 直接从 groupMap 和 ungrouped 生成结果
|
|
58
|
+
result.push.apply(result, _toConsumableArray(Array.from(groupMap.values())).concat(ungrouped));
|
|
42
59
|
return result;
|
|
43
60
|
};
|
|
44
61
|
export default processColumnGroups;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
var flattenColumnState = function flattenColumnState(columnState) {
|
|
2
|
+
var result = [];
|
|
3
|
+
var processColumn = function processColumn(column) {
|
|
4
|
+
// 如果有children属性且不为空,递归处理
|
|
5
|
+
if (column.children && column.children.length > 0) {
|
|
6
|
+
// 处理子列
|
|
7
|
+
column.children.forEach(function (child) {
|
|
8
|
+
processColumn(child);
|
|
9
|
+
});
|
|
10
|
+
} else {
|
|
11
|
+
// 没有children的列直接添加到结果中
|
|
12
|
+
result.push(column);
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
// 处理每一列
|
|
17
|
+
columnState.forEach(function (column) {
|
|
18
|
+
processColumn(column);
|
|
19
|
+
});
|
|
20
|
+
return result;
|
|
21
|
+
};
|
|
22
|
+
export default flattenColumnState;
|
|
@@ -31,6 +31,7 @@ import Setting from "./setting";
|
|
|
31
31
|
import { useGridPlusColumnState } from '.';
|
|
32
32
|
import CustomGroupCellRenderer from "./_utils/customGroupCellRenderer";
|
|
33
33
|
import processColumnGroups from "./_utils/processColumnGroups";
|
|
34
|
+
import flattenColumnState from "./_utils/processFormColumnState";
|
|
34
35
|
var Paragraph = Typography.Paragraph,
|
|
35
36
|
Text = Typography.Text;
|
|
36
37
|
var getSort = function getSort(columnState) {
|
|
@@ -238,7 +239,6 @@ function AgGridPlus(props) {
|
|
|
238
239
|
}
|
|
239
240
|
});
|
|
240
241
|
}
|
|
241
|
-
console.log('record1 columnState 3', cellMap);
|
|
242
242
|
return cellMap;
|
|
243
243
|
};
|
|
244
244
|
var sortChanged = function sortChanged(columnApi) {
|
|
@@ -373,7 +373,6 @@ function AgGridPlus(props) {
|
|
|
373
373
|
return _objectSpread({}, child.props);
|
|
374
374
|
});
|
|
375
375
|
var columnDefs = !columnProps ? props.columnDefs ? props.columnDefs : [] : columnProps;
|
|
376
|
-
console.log('record1 columnDefs 2', columnDefs);
|
|
377
376
|
columnDefs = columnDefs.map(function (col) {
|
|
378
377
|
var dataType = getDataType(data, col.field);
|
|
379
378
|
if (col.type || typeof col.cellRenderer == "string") {
|
|
@@ -466,7 +465,6 @@ function AgGridPlus(props) {
|
|
|
466
465
|
return !x.hideInTable;
|
|
467
466
|
});
|
|
468
467
|
var processedColumns = processColumnGroups(columnDefs);
|
|
469
|
-
console.log('record1 columnDefs 1', processedColumns);
|
|
470
468
|
return processedColumns;
|
|
471
469
|
}, [children === null || children === void 0 ? void 0 : children.length, props.columnDefs, extensibleColumns, columnCellClass]);
|
|
472
470
|
var allColDefs = useMemo(function () {
|
|
@@ -496,7 +494,7 @@ function AgGridPlus(props) {
|
|
|
496
494
|
height: "100%"
|
|
497
495
|
}
|
|
498
496
|
}, search == false ? null : /*#__PURE__*/React.createElement(FormRender, {
|
|
499
|
-
colDefs: allColDefs,
|
|
497
|
+
colDefs: flattenColumnState(allColDefs),
|
|
500
498
|
defaultRows: queryDefaultRows,
|
|
501
499
|
columnStates: columnState || [],
|
|
502
500
|
defaultExpand: defaultSearchExpand,
|
|
@@ -20,12 +20,12 @@ export declare const GridPlusContext: React.Context<{
|
|
|
20
20
|
*/
|
|
21
21
|
applyToGlobal: (gridKey: string) => void;
|
|
22
22
|
/**
|
|
23
|
-
*
|
|
23
|
+
* 恢复当前用户当前表格为“默认列配置”
|
|
24
24
|
* @param gridKey 表格唯一标识
|
|
25
25
|
*/
|
|
26
26
|
resetCurrent: (gridKey: string) => void;
|
|
27
27
|
/**
|
|
28
|
-
*
|
|
28
|
+
* 恢复所有用户当前表格为“默认列配置”
|
|
29
29
|
*/
|
|
30
|
-
resetAll: () => void;
|
|
30
|
+
resetAll: (gridKey: string) => void;
|
|
31
31
|
}>;
|
|
@@ -8,7 +8,7 @@ export declare const useGridPlusColumnState: () => {
|
|
|
8
8
|
onSaveColumnState: (gridKey: string, columnState: any[]) => void;
|
|
9
9
|
applyToGlobal: (gridKey: string) => void;
|
|
10
10
|
resetCurrent: (gridKey: string) => void;
|
|
11
|
-
resetAll: () => void;
|
|
11
|
+
resetAll: (gridKey: string) => void;
|
|
12
12
|
};
|
|
13
13
|
export { AgGridPlus, AgGridColumn, GridPlusContext };
|
|
14
14
|
export { dateValueFormatter, dateTimeValueFormatter, convertFilterModel, convertSortModel, flattenTreeDeep, toTree, flatten } from "./utils";
|
|
@@ -44,21 +44,35 @@ var DiySetting = function DiySetting(props) {
|
|
|
44
44
|
var getColumnData = function getColumnData() {
|
|
45
45
|
var columnStates = gridApi.getColumnState();
|
|
46
46
|
var columnRowData = [];
|
|
47
|
-
|
|
48
|
-
var colDef = gridApi === null || gridApi === void 0 ? void 0 : gridApi.getColumnDef(columnState.colId);
|
|
47
|
+
var columnDefs = (gridApi === null || gridApi === void 0 ? void 0 : gridApi.getColumnDefs()) || [];
|
|
49
48
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
49
|
+
// 递归处理列定义
|
|
50
|
+
var processColumns = function processColumns(columns, parentGroup) {
|
|
51
|
+
columns.forEach(function (column) {
|
|
52
|
+
if (column.children && column.children.length > 0) {
|
|
53
|
+
// 处理子列,将当前headerName作为分组名传递下去
|
|
54
|
+
processColumns(column.children, column.headerName);
|
|
55
|
+
} else {
|
|
56
|
+
// 找到对应的columnState
|
|
57
|
+
var columnState = columnStates.find(function (state) {
|
|
58
|
+
return state.colId === column.field;
|
|
59
|
+
});
|
|
60
|
+
if (columnState) {
|
|
61
|
+
columnRowData.push(_objectSpread({
|
|
62
|
+
id: _uniqueId(),
|
|
63
|
+
field: column.field,
|
|
64
|
+
headerName: column.headerName,
|
|
65
|
+
width: columnState.width,
|
|
66
|
+
hide: columnState.hide,
|
|
67
|
+
cellClass: column.cellClass,
|
|
68
|
+
suppressHeaderFilterButton: !column.suppressHeaderFilterButton,
|
|
69
|
+
groupName: parentGroup
|
|
70
|
+
}, columnState));
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
};
|
|
75
|
+
processColumns(columnDefs);
|
|
62
76
|
return columnRowData;
|
|
63
77
|
};
|
|
64
78
|
var portalId = "workProcedure".concat(_uniqueId());
|
|
@@ -111,7 +125,7 @@ var DiySetting = function DiySetting(props) {
|
|
|
111
125
|
})), /*#__PURE__*/React.createElement(SchemaField.Void, {
|
|
112
126
|
"x-component": "ArrayTable.Column",
|
|
113
127
|
"x-component-props": {
|
|
114
|
-
width:
|
|
128
|
+
width: 180,
|
|
115
129
|
title: "列名"
|
|
116
130
|
}
|
|
117
131
|
}, /*#__PURE__*/React.createElement(SchemaField.String, {
|
|
@@ -119,6 +133,16 @@ var DiySetting = function DiySetting(props) {
|
|
|
119
133
|
"x-decorator": "FormItem",
|
|
120
134
|
"x-component": "Input",
|
|
121
135
|
"x-read-pretty": true
|
|
136
|
+
})), /*#__PURE__*/React.createElement(SchemaField.Void, {
|
|
137
|
+
"x-component": "ArrayTable.Column",
|
|
138
|
+
"x-component-props": {
|
|
139
|
+
width: 120,
|
|
140
|
+
title: "分组名称"
|
|
141
|
+
}
|
|
142
|
+
}, /*#__PURE__*/React.createElement(SchemaField.String, {
|
|
143
|
+
name: "groupName",
|
|
144
|
+
"x-decorator": "FormItem",
|
|
145
|
+
"x-component": "Input"
|
|
122
146
|
})), /*#__PURE__*/React.createElement(SchemaField.Void, {
|
|
123
147
|
"x-component": "ArrayTable.Column",
|
|
124
148
|
"x-component-props": {
|
|
@@ -207,23 +231,12 @@ var DiySetting = function DiySetting(props) {
|
|
|
207
231
|
name: "hide",
|
|
208
232
|
"x-decorator": "FormItem",
|
|
209
233
|
"x-component": "Switch"
|
|
210
|
-
})), /*#__PURE__*/React.createElement(SchemaField.Void, {
|
|
211
|
-
"x-component": "ArrayTable.Column",
|
|
212
|
-
"x-component-props": {
|
|
213
|
-
width: 180,
|
|
214
|
-
title: "分组名称"
|
|
215
|
-
}
|
|
216
|
-
}, /*#__PURE__*/React.createElement(SchemaField.String, {
|
|
217
|
-
name: "groupName",
|
|
218
|
-
"x-decorator": "FormItem",
|
|
219
|
-
"x-component": "Input"
|
|
220
234
|
})))))));
|
|
221
235
|
});
|
|
222
236
|
formDialog.forConfirm(function (payload, next) {
|
|
223
237
|
var values = payload.values;
|
|
224
238
|
onSaveColumnState && onSaveColumnState(values.items);
|
|
225
239
|
var processedColumns = processColumnGroups(values.items);
|
|
226
|
-
console.log('record1', processedColumns);
|
|
227
240
|
gridApi.setGridOption("columnDefs", processedColumns);
|
|
228
241
|
setTimeout(function () {
|
|
229
242
|
gridApi.applyColumnState({
|
|
@@ -23,6 +23,7 @@ var Setting = function Setting(props) {
|
|
|
23
23
|
gridApiState = props.gridApiState,
|
|
24
24
|
onSaveColumnState = props.onSaveColumnState;
|
|
25
25
|
var _useGridPlusColumnSta = useGridPlusColumnState(),
|
|
26
|
+
extensibleColumns = _useGridPlusColumnSta.extensibleColumns,
|
|
26
27
|
applyToGlobal = _useGridPlusColumnSta.applyToGlobal,
|
|
27
28
|
resetCurrent = _useGridPlusColumnSta.resetCurrent,
|
|
28
29
|
resetAll = _useGridPlusColumnSta.resetAll;
|
|
@@ -101,12 +102,12 @@ var Setting = function Setting(props) {
|
|
|
101
102
|
}
|
|
102
103
|
}, "\u6062\u590D\u9ED8\u8BA4")
|
|
103
104
|
}, {
|
|
104
|
-
key: '
|
|
105
|
+
key: '4',
|
|
105
106
|
label: /*#__PURE__*/React.createElement("a", {
|
|
106
107
|
target: "_blank",
|
|
107
108
|
rel: "noopener noreferrer",
|
|
108
109
|
onClick: function onClick() {
|
|
109
|
-
resetAll();
|
|
110
|
+
resetAll(gridKey);
|
|
110
111
|
}
|
|
111
112
|
}, "\u5168\u5C40\u6062\u590D\u9ED8\u8BA4")
|
|
112
113
|
}];
|