@nokecy/qc-ui 1.0.70 → 1.0.71
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/ag-gridPlus.js +394 -206
- package/dist/cjs/ag-grid-plus/context/gridContext.d.ts +30 -5
- package/dist/cjs/ag-grid-plus/context/gridContext.js +6 -1
- package/dist/cjs/ag-grid-plus/errors/ErrorBoundary.d.ts +36 -0
- package/dist/cjs/ag-grid-plus/errors/ErrorBoundary.js +143 -0
- package/dist/cjs/ag-grid-plus/errors/index.d.ts +3 -0
- package/dist/cjs/ag-grid-plus/errors/index.js +31 -0
- package/dist/cjs/ag-grid-plus/errors/types.d.ts +71 -0
- package/dist/cjs/ag-grid-plus/errors/types.js +137 -0
- package/dist/cjs/ag-grid-plus/hooks/index.d.ts +7 -0
- package/dist/cjs/ag-grid-plus/hooks/index.js +51 -0
- package/dist/cjs/ag-grid-plus/hooks/useAgGridCalculation.d.ts +88 -0
- package/dist/cjs/ag-grid-plus/hooks/useAgGridCalculation.js +224 -0
- package/dist/cjs/ag-grid-plus/hooks/useAgGridData.d.ts +91 -0
- package/dist/cjs/ag-grid-plus/hooks/useAgGridData.js +230 -0
- package/dist/cjs/ag-grid-plus/hooks/useGridPlusColumnState.d.ts +1 -8
- package/dist/cjs/ag-grid-plus/hooks/useGridState.d.ts +153 -0
- package/dist/cjs/ag-grid-plus/hooks/useGridState.js +258 -0
- package/dist/cjs/ag-grid-plus/index.d.ts +3 -0
- package/dist/cjs/ag-grid-plus/index.js +85 -0
- package/dist/cjs/ag-grid-plus/interface.d.ts +27 -0
- package/dist/cjs/ag-grid-plus/querySchemes/components/QuerySchemesManager.d.ts +21 -0
- package/dist/cjs/ag-grid-plus/querySchemes/components/QuerySchemesManager.js +580 -0
- package/dist/cjs/ag-grid-plus/querySchemes/components/QuerySchemesManager.less +86 -0
- package/dist/cjs/ag-grid-plus/querySchemes/components/index.d.ts +5 -0
- package/dist/cjs/ag-grid-plus/querySchemes/components/index.js +12 -0
- package/dist/cjs/ag-grid-plus/querySchemes/constants.d.ts +17 -0
- package/dist/cjs/ag-grid-plus/querySchemes/constants.js +30 -0
- package/dist/cjs/ag-grid-plus/querySchemes/hooks/useQueryOrderManager.d.ts +10 -0
- package/dist/cjs/ag-grid-plus/querySchemes/hooks/useQueryOrderManager.js +65 -0
- package/dist/cjs/ag-grid-plus/querySchemes/hooks/useQuerySchemes.d.ts +6 -0
- package/dist/cjs/ag-grid-plus/querySchemes/hooks/useQuerySchemes.js +542 -0
- package/dist/cjs/ag-grid-plus/querySchemes/hooks/useQuerySchemes.refactored.d.ts +7 -0
- package/dist/cjs/ag-grid-plus/querySchemes/hooks/useQuerySchemes.refactored.js +32 -0
- package/dist/cjs/ag-grid-plus/querySchemes/index.d.ts +11 -0
- package/dist/cjs/ag-grid-plus/querySchemes/index.js +113 -0
- package/dist/cjs/ag-grid-plus/querySchemes/storage/localStorageAdapter.d.ts +44 -0
- package/dist/cjs/ag-grid-plus/querySchemes/storage/localStorageAdapter.js +261 -0
- package/dist/cjs/ag-grid-plus/querySchemes/types.d.ts +143 -0
- package/dist/cjs/ag-grid-plus/querySchemes/types.js +5 -0
- package/dist/cjs/ag-grid-plus/querySchemes/utils/validator.d.ts +36 -0
- package/dist/cjs/ag-grid-plus/querySchemes/utils/validator.js +155 -0
- package/dist/cjs/ag-grid-plus/schemes/components/SchemeManager.d.ts +16 -0
- package/dist/cjs/ag-grid-plus/schemes/components/SchemeManager.js +342 -0
- package/dist/cjs/ag-grid-plus/schemes/components/SchemeManager.less +35 -0
- package/dist/cjs/ag-grid-plus/schemes/components/SchemeSelector.d.ts +20 -0
- package/dist/cjs/ag-grid-plus/schemes/components/SchemeSelector.js +289 -0
- package/dist/cjs/ag-grid-plus/schemes/components/SchemeSelector.less +39 -0
- package/dist/cjs/ag-grid-plus/schemes/components/index.d.ts +4 -0
- package/dist/cjs/ag-grid-plus/schemes/components/index.js +19 -0
- package/dist/cjs/ag-grid-plus/schemes/constants.d.ts +23 -0
- package/dist/cjs/ag-grid-plus/schemes/constants.js +39 -0
- package/dist/cjs/ag-grid-plus/schemes/hooks/useColumnSchemes.d.ts +6 -0
- package/dist/cjs/ag-grid-plus/schemes/hooks/useColumnSchemes.js +542 -0
- package/dist/cjs/ag-grid-plus/schemes/hooks/useColumnSchemes.refactored.d.ts +7 -0
- package/dist/cjs/ag-grid-plus/schemes/hooks/useColumnSchemes.refactored.js +32 -0
- package/dist/cjs/ag-grid-plus/schemes/index.d.ts +16 -0
- package/dist/cjs/ag-grid-plus/schemes/index.js +124 -0
- package/dist/cjs/ag-grid-plus/schemes/storage/localStorageAdapter.d.ts +64 -0
- package/dist/cjs/ag-grid-plus/schemes/storage/localStorageAdapter.js +368 -0
- package/dist/cjs/ag-grid-plus/schemes/types.d.ts +126 -0
- package/dist/cjs/ag-grid-plus/schemes/types.js +5 -0
- package/dist/cjs/ag-grid-plus/schemes/utils/validator.d.ts +27 -0
- package/dist/cjs/ag-grid-plus/schemes/utils/validator.js +113 -0
- package/dist/cjs/ag-grid-plus/setting/ColumnSetting.d.ts +17 -0
- package/dist/cjs/ag-grid-plus/setting/ColumnSetting.js +955 -0
- package/dist/cjs/ag-grid-plus/setting/index.d.ts +1 -1
- package/dist/cjs/ag-grid-plus/setting/index.js +74 -111
- package/dist/cjs/ag-grid-plus/shared/hooks/useSchemeManager.d.ts +66 -0
- package/dist/cjs/ag-grid-plus/shared/hooks/useSchemeManager.js +648 -0
- package/dist/cjs/ag-grid-plus/storage/MemoryStorageAdapter.d.ts +76 -0
- package/dist/cjs/ag-grid-plus/storage/MemoryStorageAdapter.js +276 -0
- package/dist/cjs/ag-grid-plus/storage/SchemeSyncManager.d.ts +104 -0
- package/dist/cjs/ag-grid-plus/storage/SchemeSyncManager.js +593 -0
- package/dist/cjs/ag-grid-plus/storage/globalSyncManager.d.ts +74 -0
- package/dist/cjs/ag-grid-plus/storage/globalSyncManager.js +287 -0
- package/dist/cjs/ag-grid-plus/storage/index.d.ts +8 -0
- package/dist/cjs/ag-grid-plus/storage/index.js +49 -0
- package/dist/cjs/ag-grid-plus/storage/types.d.ts +113 -0
- package/dist/cjs/ag-grid-plus/storage/types.js +5 -0
- package/dist/cjs/ag-grid-plus/types.d.ts +310 -0
- package/dist/cjs/ag-grid-plus/types.js +5 -0
- package/dist/cjs/ag-grid-plus/utils/columnProcessors.d.ts +95 -0
- package/dist/cjs/ag-grid-plus/utils/columnProcessors.js +265 -0
- package/dist/cjs/ag-grid-plus/utils/constants.d.ts +41 -0
- package/dist/cjs/ag-grid-plus/utils/constants.js +56 -0
- package/dist/cjs/ag-grid-plus/utils/logger.d.ts +34 -0
- package/dist/cjs/ag-grid-plus/utils/logger.js +119 -0
- package/dist/cjs/ag-grid-plus/utils/sanitize.d.ts +15 -0
- package/dist/cjs/ag-grid-plus/utils/sanitize.js +39 -0
- package/dist/cjs/index.d.ts +3 -2
- package/dist/cjs/index.js +84 -0
- package/dist/esm/ag-grid-plus/ag-gridPlus.js +395 -206
- package/dist/esm/ag-grid-plus/context/gridContext.d.ts +30 -5
- package/dist/esm/ag-grid-plus/context/gridContext.js +6 -1
- package/dist/esm/ag-grid-plus/errors/ErrorBoundary.d.ts +36 -0
- package/dist/esm/ag-grid-plus/errors/ErrorBoundary.js +137 -0
- package/dist/esm/ag-grid-plus/errors/index.d.ts +3 -0
- package/dist/esm/ag-grid-plus/errors/index.js +2 -0
- package/dist/esm/ag-grid-plus/errors/types.d.ts +71 -0
- package/dist/esm/ag-grid-plus/errors/types.js +135 -0
- package/dist/esm/ag-grid-plus/hooks/index.d.ts +7 -0
- package/dist/esm/ag-grid-plus/hooks/index.js +10 -0
- package/dist/esm/ag-grid-plus/hooks/useAgGridCalculation.d.ts +88 -0
- package/dist/esm/ag-grid-plus/hooks/useAgGridCalculation.js +217 -0
- package/dist/esm/ag-grid-plus/hooks/useAgGridData.d.ts +91 -0
- package/dist/esm/ag-grid-plus/hooks/useAgGridData.js +225 -0
- package/dist/esm/ag-grid-plus/hooks/useGridPlusColumnState.d.ts +1 -8
- package/dist/esm/ag-grid-plus/hooks/useGridState.d.ts +153 -0
- package/dist/esm/ag-grid-plus/hooks/useGridState.js +258 -0
- package/dist/esm/ag-grid-plus/index.d.ts +3 -0
- package/dist/esm/ag-grid-plus/index.js +4 -1
- package/dist/esm/ag-grid-plus/interface.d.ts +27 -0
- package/dist/esm/ag-grid-plus/querySchemes/components/QuerySchemesManager.d.ts +21 -0
- package/dist/esm/ag-grid-plus/querySchemes/components/QuerySchemesManager.js +572 -0
- package/dist/esm/ag-grid-plus/querySchemes/components/QuerySchemesManager.less +86 -0
- package/dist/esm/ag-grid-plus/querySchemes/components/index.d.ts +5 -0
- package/dist/esm/ag-grid-plus/querySchemes/components/index.js +5 -0
- package/dist/esm/ag-grid-plus/querySchemes/constants.d.ts +17 -0
- package/dist/esm/ag-grid-plus/querySchemes/constants.js +24 -0
- package/dist/esm/ag-grid-plus/querySchemes/hooks/useQueryOrderManager.d.ts +10 -0
- package/dist/esm/ag-grid-plus/querySchemes/hooks/useQueryOrderManager.js +60 -0
- package/dist/esm/ag-grid-plus/querySchemes/hooks/useQuerySchemes.d.ts +6 -0
- package/dist/esm/ag-grid-plus/querySchemes/hooks/useQuerySchemes.js +537 -0
- package/dist/esm/ag-grid-plus/querySchemes/hooks/useQuerySchemes.refactored.d.ts +7 -0
- package/dist/esm/ag-grid-plus/querySchemes/hooks/useQuerySchemes.refactored.js +27 -0
- package/dist/esm/ag-grid-plus/querySchemes/index.d.ts +11 -0
- package/dist/esm/ag-grid-plus/querySchemes/index.js +20 -0
- package/dist/esm/ag-grid-plus/querySchemes/storage/localStorageAdapter.d.ts +44 -0
- package/dist/esm/ag-grid-plus/querySchemes/storage/localStorageAdapter.js +256 -0
- package/dist/esm/ag-grid-plus/querySchemes/types.d.ts +143 -0
- package/dist/esm/ag-grid-plus/querySchemes/types.js +1 -0
- package/dist/esm/ag-grid-plus/querySchemes/utils/validator.d.ts +36 -0
- package/dist/esm/ag-grid-plus/querySchemes/utils/validator.js +144 -0
- package/dist/esm/ag-grid-plus/schemes/components/SchemeManager.d.ts +16 -0
- package/dist/esm/ag-grid-plus/schemes/components/SchemeManager.js +334 -0
- package/dist/esm/ag-grid-plus/schemes/components/SchemeManager.less +35 -0
- package/dist/esm/ag-grid-plus/schemes/components/SchemeSelector.d.ts +20 -0
- package/dist/esm/ag-grid-plus/schemes/components/SchemeSelector.js +281 -0
- package/dist/esm/ag-grid-plus/schemes/components/SchemeSelector.less +39 -0
- package/dist/esm/ag-grid-plus/schemes/components/index.d.ts +4 -0
- package/dist/esm/ag-grid-plus/schemes/components/index.js +2 -0
- package/dist/esm/ag-grid-plus/schemes/constants.d.ts +23 -0
- package/dist/esm/ag-grid-plus/schemes/constants.js +33 -0
- package/dist/esm/ag-grid-plus/schemes/hooks/useColumnSchemes.d.ts +6 -0
- package/dist/esm/ag-grid-plus/schemes/hooks/useColumnSchemes.js +537 -0
- package/dist/esm/ag-grid-plus/schemes/hooks/useColumnSchemes.refactored.d.ts +7 -0
- package/dist/esm/ag-grid-plus/schemes/hooks/useColumnSchemes.refactored.js +27 -0
- package/dist/esm/ag-grid-plus/schemes/index.d.ts +16 -0
- package/dist/esm/ag-grid-plus/schemes/index.js +25 -0
- package/dist/esm/ag-grid-plus/schemes/storage/localStorageAdapter.d.ts +64 -0
- package/dist/esm/ag-grid-plus/schemes/storage/localStorageAdapter.js +363 -0
- package/dist/esm/ag-grid-plus/schemes/types.d.ts +126 -0
- package/dist/esm/ag-grid-plus/schemes/types.js +1 -0
- package/dist/esm/ag-grid-plus/schemes/utils/validator.d.ts +27 -0
- package/dist/esm/ag-grid-plus/schemes/utils/validator.js +104 -0
- package/dist/esm/ag-grid-plus/setting/ColumnSetting.d.ts +17 -0
- package/dist/esm/ag-grid-plus/setting/ColumnSetting.js +946 -0
- package/dist/esm/ag-grid-plus/setting/index.d.ts +1 -1
- package/dist/esm/ag-grid-plus/setting/index.js +69 -107
- package/dist/esm/ag-grid-plus/shared/hooks/useSchemeManager.d.ts +66 -0
- package/dist/esm/ag-grid-plus/shared/hooks/useSchemeManager.js +643 -0
- package/dist/esm/ag-grid-plus/storage/MemoryStorageAdapter.d.ts +76 -0
- package/dist/esm/ag-grid-plus/storage/MemoryStorageAdapter.js +273 -0
- package/dist/esm/ag-grid-plus/storage/SchemeSyncManager.d.ts +104 -0
- package/dist/esm/ag-grid-plus/storage/SchemeSyncManager.js +587 -0
- package/dist/esm/ag-grid-plus/storage/globalSyncManager.d.ts +74 -0
- package/dist/esm/ag-grid-plus/storage/globalSyncManager.js +275 -0
- package/dist/esm/ag-grid-plus/storage/index.d.ts +8 -0
- package/dist/esm/ag-grid-plus/storage/index.js +9 -0
- package/dist/esm/ag-grid-plus/storage/types.d.ts +113 -0
- package/dist/esm/ag-grid-plus/storage/types.js +1 -0
- package/dist/esm/ag-grid-plus/types.d.ts +310 -0
- package/dist/esm/ag-grid-plus/types.js +1 -0
- package/dist/esm/ag-grid-plus/utils/columnProcessors.d.ts +95 -0
- package/dist/esm/ag-grid-plus/utils/columnProcessors.js +251 -0
- package/dist/esm/ag-grid-plus/utils/constants.d.ts +41 -0
- package/dist/esm/ag-grid-plus/utils/constants.js +50 -0
- package/dist/esm/ag-grid-plus/utils/logger.d.ts +34 -0
- package/dist/esm/ag-grid-plus/utils/logger.js +114 -0
- package/dist/esm/ag-grid-plus/utils/sanitize.d.ts +15 -0
- package/dist/esm/ag-grid-plus/utils/sanitize.js +32 -0
- package/dist/esm/index.d.ts +3 -2
- package/dist/esm/index.js +8 -2
- package/dist/esm/standardFormDialog/withStandardForm.d.ts +2 -2
- package/dist/umd/qc-ui.min.css +1 -1
- package/dist/umd/qc-ui.min.js +1 -1
- package/package.json +3 -2
|
@@ -1,9 +1,9 @@
|
|
|
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
1
|
import _sumBy from "lodash/sumBy";
|
|
3
2
|
import _uniqueId from "lodash/uniqueId";
|
|
4
3
|
import _isArray from "lodash/isArray";
|
|
5
|
-
var _excluded = ["style", "loading", "params", "request", "dataSource", "treeKeyName", "treeParentName", "rowData", "gridRef", "headerTitle", "toolBarRender", "search", "hideTool", "onGridReady", "gridKey", "children", "defaultSearchExpand", "overlayNoRowsTemplateText", "queryDefaultRows", "onSelectedRowsChange"];
|
|
4
|
+
var _excluded = ["style", "loading", "params", "request", "dataSource", "treeKeyName", "treeParentName", "rowData", "gridRef", "headerTitle", "toolBarRender", "search", "hideTool", "onGridReady", "gridKey", "children", "defaultSearchExpand", "overlayNoRowsTemplateText", "queryDefaultRows", "onSelectedRowsChange", "enableQuerySchemes", "querySchemeStorageAdapter", "enableColumnSchemes", "columnSchemeStorageAdapter"];
|
|
6
5
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
6
|
+
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); }
|
|
7
7
|
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; }
|
|
8
8
|
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; }
|
|
9
9
|
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; }
|
|
@@ -34,12 +34,19 @@ import processColumnGroups from "./_utils/processColumnGroups";
|
|
|
34
34
|
import flattenColumnState from "./_utils/processFormColumnState";
|
|
35
35
|
import { Select } from '@formily/antd-v5';
|
|
36
36
|
import { localeText } from "./locale";
|
|
37
|
-
|
|
38
|
-
|
|
37
|
+
import { GridPlusContext } from "./context/gridContext";
|
|
38
|
+
import { useQuerySchemes, useQueryOrderManager } from "./querySchemes";
|
|
39
|
+
import { useColumnSchemes } from "./schemes";
|
|
40
|
+
import { createSafeHtmlTemplate } from "./utils/sanitize";
|
|
41
|
+
import { GridPlusError, ErrorType, ErrorSeverity } from "./errors";
|
|
42
|
+
import { logger } from "./utils/logger";
|
|
43
|
+
import { message } from 'antd';
|
|
44
|
+
var Text = Typography.Text;
|
|
39
45
|
var getSort = function getSort(columnState) {
|
|
40
46
|
return columnState ? "".concat(columnState.colId, " ").concat(columnState.sort) : "";
|
|
41
47
|
};
|
|
42
48
|
function AgGridPlus(props) {
|
|
49
|
+
var _querySchemeManager$c;
|
|
43
50
|
var style = props.style,
|
|
44
51
|
loadingProps = props.loading,
|
|
45
52
|
gridParams = props.params,
|
|
@@ -60,6 +67,12 @@ function AgGridPlus(props) {
|
|
|
60
67
|
overlayNoRowsTemplateText = props.overlayNoRowsTemplateText,
|
|
61
68
|
queryDefaultRows = props.queryDefaultRows,
|
|
62
69
|
onSelectedRowsChange = props.onSelectedRowsChange,
|
|
70
|
+
_props$enableQuerySch = props.enableQuerySchemes,
|
|
71
|
+
enableQuerySchemes = _props$enableQuerySch === void 0 ? false : _props$enableQuerySch,
|
|
72
|
+
querySchemeStorageAdapter = props.querySchemeStorageAdapter,
|
|
73
|
+
_props$enableColumnSc = props.enableColumnSchemes,
|
|
74
|
+
enableColumnSchemes = _props$enableColumnSc === void 0 ? true : _props$enableColumnSc,
|
|
75
|
+
columnSchemeStorageAdapter = props.columnSchemeStorageAdapter,
|
|
63
76
|
rest = _objectWithoutProperties(props, _excluded);
|
|
64
77
|
var _useGridPlusColumnSta = useGridPlusColumnState(),
|
|
65
78
|
onSaveColumnState = _useGridPlusColumnSta.onSaveColumnState,
|
|
@@ -111,6 +124,39 @@ function AgGridPlus(props) {
|
|
|
111
124
|
_useState18 = _slicedToArray(_useState17, 2),
|
|
112
125
|
pagination = _useState18[0],
|
|
113
126
|
setPagination = _useState18[1];
|
|
127
|
+
|
|
128
|
+
// ============ 查询方案管理 ============
|
|
129
|
+
var _useState19 = useState([]),
|
|
130
|
+
_useState20 = _slicedToArray(_useState19, 2),
|
|
131
|
+
queryItemsOrder = _useState20[0],
|
|
132
|
+
setQueryItemsOrder = _useState20[1];
|
|
133
|
+
|
|
134
|
+
// 初始化查询方案管理器
|
|
135
|
+
var querySchemeManager = enableQuerySchemes && gridKey ? useQuerySchemes({
|
|
136
|
+
gridId: gridKey,
|
|
137
|
+
storageAdapter: querySchemeStorageAdapter,
|
|
138
|
+
onSchemeChange: function onSchemeChange(scheme) {
|
|
139
|
+
if (scheme) {
|
|
140
|
+
setQueryItemsOrder(scheme.itemsOrder);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}) : undefined;
|
|
144
|
+
|
|
145
|
+
// ============ 列配置方案管理 ============
|
|
146
|
+
// 初始化列配置方案管理器
|
|
147
|
+
var columnSchemeManager = enableColumnSchemes && gridKey ? useColumnSchemes({
|
|
148
|
+
gridId: gridKey,
|
|
149
|
+
storageAdapter: columnSchemeStorageAdapter,
|
|
150
|
+
enableAutoSave: true,
|
|
151
|
+
onSchemeChange: function onSchemeChange(scheme) {
|
|
152
|
+
if (scheme && apiRef.current) {
|
|
153
|
+
apiRef.current.applyColumnState({
|
|
154
|
+
state: scheme.columnState,
|
|
155
|
+
applyOrder: true
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
}) : undefined;
|
|
114
160
|
useImperativeHandle(propsGridRef, function () {
|
|
115
161
|
return gridRef.current;
|
|
116
162
|
});
|
|
@@ -165,27 +211,42 @@ function AgGridPlus(props) {
|
|
|
165
211
|
};
|
|
166
212
|
}, []);
|
|
167
213
|
|
|
168
|
-
//请求数据
|
|
169
|
-
useEffect(function () {
|
|
170
|
-
if (ready && request) {
|
|
171
|
-
onRequest(queryFilter);
|
|
172
|
-
}
|
|
173
|
-
}, [ready, JSON.stringify(gridParams), JSON.stringify(sortColumn), pagination.pageSize, pagination.current]);
|
|
174
214
|
// 测试列数据
|
|
175
215
|
// const restData = [{"id":"47","field":"code","headerName":"编码","width":110,"hide":false,"cellClass":"custom-cell-left","suppressHeaderFilterButton":true,"colId":"code","pinned":null,"sort":null,"sortIndex":null,"aggFunc":null,"rowGroup":false,"rowGroupIndex":null,"pivot":false,"pivotIndex":null,"flex":null},{"id":"48","field":"name","headerName":"名称","width":110,"hide":false,"cellClass":"custom-cell-left","suppressHeaderFilterButton":true,"colId":"name","pinned":null,"sort":null,"sortIndex":null,"aggFunc":null,"rowGroup":false,"rowGroupIndex":null,"pivot":false,"pivotIndex":null,"flex":null},{"id":"49","field":"abbName","headerName":"简称","width":110,"hide":false,"cellClass":"custom-cell-left","suppressHeaderFilterButton":true,"colId":"abbName","pinned":null,"sort":null,"sortIndex":null,"aggFunc":null,"rowGroup":false,"rowGroupIndex":null,"pivot":false,"pivotIndex":null,"flex":null},{"id":"50","field":"address","headerName":"地址","width":662,"hide":false,"cellClass":"custom-cell-left","suppressHeaderFilterButton":true,"colId":"address","pinned":null,"sort":null,"sortIndex":null,"aggFunc":null,"rowGroup":false,"rowGroupIndex":null,"pivot":false,"pivotIndex":null,"flex":1},{"id":"51","field":"creator","headerName":"创建人","width":90,"hide":false,"cellClass":"custom-cell-left","suppressHeaderFilterButton":true,"colId":"creator","pinned":null,"sort":null,"sortIndex":null,"aggFunc":null,"rowGroup":false,"rowGroupIndex":null,"pivot":false,"pivotIndex":null,"flex":null},{"id":"52","field":"creationTime","headerName":"创建时间","width":160,"hide":false,"cellClass":"custom-cell-left","suppressHeaderFilterButton":true,"colId":"creationTime","pinned":null,"sort":null,"sortIndex":null,"aggFunc":null,"rowGroup":false,"rowGroupIndex":null,"pivot":false,"pivotIndex":null,"flex":null},{"id":"53","field":"lastModifier","headerName":"最后修改人","width":90,"hide":false,"cellClass":"custom-cell-left","suppressHeaderFilterButton":true,"colId":"lastModifier","pinned":null,"sort":null,"sortIndex":null,"aggFunc":null,"rowGroup":false,"rowGroupIndex":null,"pivot":false,"pivotIndex":null,"flex":null},{"id":"54","field":"lastModificationTime","headerName":"最后修改时间","width":160,"hide":false,"cellClass":"custom-cell-left","suppressHeaderFilterButton":true,"colId":"lastModificationTime","pinned":null,"sort":null,"sortIndex":null,"aggFunc":null,"rowGroup":false,"rowGroupIndex":null,"pivot":false,"pivotIndex":null,"flex":null},{"id":"55","field":"","headerName":"操作","width":160,"hide":false,"cellClass":"custom-cell-left","suppressHeaderFilterButton":true,"colId":"0","pinned":"right","sort":null,"sortIndex":null,"aggFunc":null,"rowGroup":false,"rowGroupIndex":null,"pivot":false,"pivotIndex":null,"flex":null}]
|
|
176
216
|
|
|
177
217
|
// 加载列方案
|
|
178
218
|
useEffect(function () {
|
|
179
|
-
if (gridPlusColumnState
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
219
|
+
if (!gridPlusColumnState || !gridKey || !apiRef.current) return;
|
|
220
|
+
var currentState = gridPlusColumnState[gridKey];
|
|
221
|
+
if (!currentState) return;
|
|
222
|
+
setColumnCellClass(handelgridPlusColumnState(currentState));
|
|
223
|
+
var timer = setTimeout(function () {
|
|
224
|
+
var _apiRef$current;
|
|
225
|
+
(_apiRef$current = apiRef.current) === null || _apiRef$current === void 0 || _apiRef$current.applyColumnState({
|
|
226
|
+
state: currentState,
|
|
227
|
+
applyOrder: true
|
|
228
|
+
});
|
|
229
|
+
}, 10);
|
|
230
|
+
return function () {
|
|
231
|
+
return clearTimeout(timer);
|
|
232
|
+
};
|
|
233
|
+
}, [gridPlusColumnState, gridKey]);
|
|
234
|
+
|
|
235
|
+
// 当 gridApi 就绪且有当前方案时,应用列方案
|
|
236
|
+
useEffect(function () {
|
|
237
|
+
var currentScheme = columnSchemeManager === null || columnSchemeManager === void 0 ? void 0 : columnSchemeManager.currentScheme;
|
|
238
|
+
if (!apiRef.current || !currentScheme) return;
|
|
239
|
+
var timer = setTimeout(function () {
|
|
240
|
+
var _apiRef$current2;
|
|
241
|
+
(_apiRef$current2 = apiRef.current) === null || _apiRef$current2 === void 0 || _apiRef$current2.applyColumnState({
|
|
242
|
+
state: currentScheme.columnState,
|
|
243
|
+
applyOrder: true
|
|
244
|
+
});
|
|
245
|
+
}, 10);
|
|
246
|
+
return function () {
|
|
247
|
+
return clearTimeout(timer);
|
|
248
|
+
};
|
|
249
|
+
}, [columnSchemeManager === null || columnSchemeManager === void 0 ? void 0 : columnSchemeManager.currentScheme]);
|
|
189
250
|
useEffect(function () {
|
|
190
251
|
setRowData(dataSource || propRowData || []);
|
|
191
252
|
}, [dataSource, propRowData]);
|
|
@@ -194,49 +255,252 @@ function AgGridPlus(props) {
|
|
|
194
255
|
useEffect(function () {
|
|
195
256
|
loadingProps !== undefined && setLoading(loadingProps);
|
|
196
257
|
}, [loadingProps]);
|
|
258
|
+
|
|
259
|
+
// 辅助函数: 获取数据类型
|
|
260
|
+
var getDataType = function getDataType(data, colName, valueEnum) {
|
|
261
|
+
if (typeof data[colName] === 'number') {
|
|
262
|
+
// 如果有枚举值,说明是分类数据,不进行计算;否则默认求和
|
|
263
|
+
var shouldCalculate = !valueEnum || valueEnum.length === 0;
|
|
264
|
+
return {
|
|
265
|
+
type: "number",
|
|
266
|
+
calculateType: shouldCalculate ? "sum" : false
|
|
267
|
+
};
|
|
268
|
+
}
|
|
269
|
+
return undefined;
|
|
270
|
+
};
|
|
271
|
+
|
|
272
|
+
// 辅助函数: 自定义单元格渲染器
|
|
273
|
+
var cellRenderer = function cellRenderer(params) {
|
|
274
|
+
var value = params.value,
|
|
275
|
+
node = params.node,
|
|
276
|
+
colDef = params.colDef;
|
|
277
|
+
//@ts-ignore
|
|
278
|
+
if (node.isRowPinned() || !colDef.customCellRenderer) {
|
|
279
|
+
return value;
|
|
280
|
+
}
|
|
281
|
+
//@ts-ignore
|
|
282
|
+
return colDef.customCellRenderer(params);
|
|
283
|
+
};
|
|
284
|
+
|
|
285
|
+
// 获取表格列定义
|
|
286
|
+
var getTableColumns = function getTableColumns(rowDataList) {
|
|
287
|
+
var data = rowDataList.length > 0 ? rowDataList[0] : {};
|
|
288
|
+
var columnProps = React.Children.map(children, function (child, index) {
|
|
289
|
+
return _objectSpread({}, child.props);
|
|
290
|
+
});
|
|
291
|
+
var columnDefs = !columnProps ? props.columnDefs ? props.columnDefs : [] : columnProps;
|
|
292
|
+
columnDefs = columnDefs.map(function (col) {
|
|
293
|
+
var dataType = getDataType(data, col.field || '', col.valueEnum);
|
|
294
|
+
if (col.valueEnum && Array.isArray(col.valueEnum)) {
|
|
295
|
+
var _defaultItems$0$value, _defaultItems$;
|
|
296
|
+
// 统计默认值
|
|
297
|
+
var valueEnum = col.valueEnum; // 保存引用以便TypeScript理解
|
|
298
|
+
var defaultItems = valueEnum.filter(function (item) {
|
|
299
|
+
return item.default;
|
|
300
|
+
});
|
|
301
|
+
var isMultiple = defaultItems.length > 1;
|
|
302
|
+
var defaultValue = isMultiple ? defaultItems.map(function (item) {
|
|
303
|
+
return item.value;
|
|
304
|
+
}) : (_defaultItems$0$value = (_defaultItems$ = defaultItems[0]) === null || _defaultItems$ === void 0 ? void 0 : _defaultItems$.value) !== null && _defaultItems$0$value !== void 0 ? _defaultItems$0$value : undefined;
|
|
305
|
+
var valueFormatter = function valueFormatter(params) {
|
|
306
|
+
var match = valueEnum.find(function (item) {
|
|
307
|
+
return item.value == params.value;
|
|
308
|
+
});
|
|
309
|
+
return match ? match.label : params.value;
|
|
310
|
+
};
|
|
311
|
+
return _objectSpread(_objectSpread(_objectSpread({}, dataType), col), {}, {
|
|
312
|
+
cellRenderer: function cellRenderer(params) {
|
|
313
|
+
var match = valueEnum.find(function (item) {
|
|
314
|
+
return item.value == params.value;
|
|
315
|
+
});
|
|
316
|
+
if (match) {
|
|
317
|
+
var color = match.color || '#ffffff';
|
|
318
|
+
return /*#__PURE__*/React.createElement("span", {
|
|
319
|
+
style: {
|
|
320
|
+
color: color,
|
|
321
|
+
backgroundColor: 'transparent',
|
|
322
|
+
fontWeight: 500
|
|
323
|
+
}
|
|
324
|
+
}, match.label);
|
|
325
|
+
}
|
|
326
|
+
return params.value;
|
|
327
|
+
},
|
|
328
|
+
filterParams: _objectSpread(_objectSpread({}, col.filterParams || {}), {}, {
|
|
329
|
+
valueFormatter: valueFormatter
|
|
330
|
+
}),
|
|
331
|
+
searchComponent: Select,
|
|
332
|
+
searchComponentProps: {
|
|
333
|
+
options: col.valueEnum.map(function (item) {
|
|
334
|
+
return {
|
|
335
|
+
label: item.label,
|
|
336
|
+
value: item.value
|
|
337
|
+
};
|
|
338
|
+
}),
|
|
339
|
+
mode: isMultiple ? "multiple" : undefined,
|
|
340
|
+
defaultValue: defaultValue
|
|
341
|
+
}
|
|
342
|
+
});
|
|
343
|
+
}
|
|
344
|
+
if (col.type || typeof col.cellRenderer == "string") {
|
|
345
|
+
return _objectSpread({}, col);
|
|
346
|
+
}
|
|
347
|
+
//@ts-ignore
|
|
348
|
+
if (col !== null && col !== void 0 && col.ellipsis) {
|
|
349
|
+
return _objectSpread(_objectSpread({}, col), {}, {
|
|
350
|
+
cellRenderer: function cellRenderer(_ref) {
|
|
351
|
+
var value = _ref.value;
|
|
352
|
+
return /*#__PURE__*/React.createElement(Text, {
|
|
353
|
+
ellipsis: {
|
|
354
|
+
tooltip: value
|
|
355
|
+
},
|
|
356
|
+
style: {
|
|
357
|
+
display: 'flex',
|
|
358
|
+
justifyContent: 'center',
|
|
359
|
+
alignItems: 'center'
|
|
360
|
+
}
|
|
361
|
+
}, value);
|
|
362
|
+
}
|
|
363
|
+
});
|
|
364
|
+
}
|
|
365
|
+
if (col.cellRenderer) {
|
|
366
|
+
return _objectSpread(_objectSpread({}, col), {}, {
|
|
367
|
+
customCellRenderer: col.cellRenderer,
|
|
368
|
+
cellRenderer: cellRenderer
|
|
369
|
+
});
|
|
370
|
+
}
|
|
371
|
+
return _objectSpread(_objectSpread(_objectSpread({}, dataType), col), {}, {
|
|
372
|
+
customCellRenderer: col.cellRenderer,
|
|
373
|
+
cellRenderer: cellRenderer
|
|
374
|
+
});
|
|
375
|
+
});
|
|
376
|
+
extensibleColumns && gridKey && extensibleColumns[gridKey] && extensibleColumns[gridKey].map(function (column) {
|
|
377
|
+
columnDefs.push({
|
|
378
|
+
field: column.name,
|
|
379
|
+
headerName: column.displayName,
|
|
380
|
+
type: column.propertyType,
|
|
381
|
+
width: column.width,
|
|
382
|
+
customCellRenderer: column.cellRenderer,
|
|
383
|
+
cellRenderer: cellRenderer
|
|
384
|
+
});
|
|
385
|
+
});
|
|
386
|
+
return columnDefs;
|
|
387
|
+
};
|
|
388
|
+
|
|
389
|
+
// 计算所有列定义(包括隐藏的列)
|
|
390
|
+
var allColDefs = useMemo(function () {
|
|
391
|
+
return getTableColumns(rowData);
|
|
392
|
+
}, [React.Children.count(children), props.columnDefs, extensibleColumns, rowData, gridKey]);
|
|
393
|
+
|
|
394
|
+
// 稳定化 gridParams 和 sortColumn 的引用
|
|
395
|
+
var stableGridParams = useMemo(function () {
|
|
396
|
+
return gridParams;
|
|
397
|
+
}, [JSON.stringify(gridParams)]);
|
|
398
|
+
var stableSortColumn = useMemo(function () {
|
|
399
|
+
return sortColumn;
|
|
400
|
+
}, [JSON.stringify(sortColumn)]);
|
|
197
401
|
var onGridReady = useCallback(function (params) {
|
|
198
|
-
var _apiRef$
|
|
402
|
+
var _apiRef$current3;
|
|
199
403
|
apiRef.current = params.api;
|
|
200
404
|
onReady && onReady(params);
|
|
201
405
|
///@ts-ignore
|
|
202
406
|
dataSource && setRowData(dataSource);
|
|
203
|
-
setColumnState((_apiRef$
|
|
407
|
+
setColumnState((_apiRef$current3 = apiRef.current) === null || _apiRef$current3 === void 0 ? void 0 : _apiRef$current3.getColumnState());
|
|
204
408
|
sortChanged(params.api);
|
|
205
409
|
setReady(true);
|
|
206
410
|
}, [dataSource]);
|
|
207
|
-
var onRequest = function
|
|
411
|
+
var onRequest = useCallback(function (queryFilter) {
|
|
412
|
+
if (!request) return;
|
|
208
413
|
setLoading(true);
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
}, gridParams), {}, {
|
|
213
|
-
current: pagination.current,
|
|
214
|
-
skipCount: pagination.current == 1 ? 0 : (pagination.current - 1) * pagination.pageSize,
|
|
215
|
-
maxResultCount: pagination.pageSize,
|
|
216
|
-
sorter: getSort(sortColumn)
|
|
414
|
+
logger.debug('开始请求数据', {
|
|
415
|
+
queryFilter: queryFilter,
|
|
416
|
+
pagination: pagination
|
|
217
417
|
});
|
|
218
|
-
|
|
219
|
-
var
|
|
220
|
-
var
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
418
|
+
try {
|
|
419
|
+
var filter = convertFilterModel(queryFilter, allColDefs);
|
|
420
|
+
var params = _objectSpread(_objectSpread({
|
|
421
|
+
filter: filter
|
|
422
|
+
}, stableGridParams), {}, {
|
|
423
|
+
current: pagination.current,
|
|
424
|
+
skipCount: pagination.current == 1 ? 0 : (pagination.current - 1) * pagination.pageSize,
|
|
425
|
+
maxResultCount: pagination.pageSize,
|
|
426
|
+
sorter: getSort(stableSortColumn)
|
|
226
427
|
});
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
428
|
+
request(params, undefined, queryFilter).then(function (response) {
|
|
429
|
+
var _apiRef$current4;
|
|
430
|
+
// 验证响应数据格式
|
|
431
|
+
if (!response || _typeof(response) !== 'object') {
|
|
432
|
+
throw new GridPlusError('服务器返回数据格式错误', ErrorType.DATA_FORMAT_ERROR, ErrorSeverity.HIGH, {
|
|
433
|
+
response: response
|
|
434
|
+
});
|
|
435
|
+
}
|
|
436
|
+
if (!Array.isArray(response.data)) {
|
|
437
|
+
throw new GridPlusError('返回的数据列表格式错误', ErrorType.DATA_FORMAT_ERROR, ErrorSeverity.HIGH, {
|
|
438
|
+
responseData: response.data
|
|
439
|
+
});
|
|
440
|
+
}
|
|
441
|
+
var rowData = response.data;
|
|
442
|
+
var rowCount = response.total;
|
|
443
|
+
setRowData(rowData);
|
|
444
|
+
// 刷新所有单元格
|
|
445
|
+
(_apiRef$current4 = apiRef.current) === null || _apiRef$current4 === void 0 || _apiRef$current4.refreshCells({
|
|
446
|
+
force: true
|
|
447
|
+
});
|
|
448
|
+
setPagination(function (prev) {
|
|
449
|
+
return _objectSpread(_objectSpread({}, prev), {}, {
|
|
450
|
+
total: rowCount
|
|
451
|
+
});
|
|
452
|
+
});
|
|
453
|
+
setLoading(false);
|
|
454
|
+
logger.info('数据请求成功', {
|
|
455
|
+
rowCount: rowCount
|
|
456
|
+
});
|
|
457
|
+
}).catch(function (error) {
|
|
458
|
+
setLoading(false);
|
|
459
|
+
|
|
460
|
+
// 包装错误为 GridPlusError
|
|
461
|
+
var gridError = error instanceof GridPlusError ? error : new GridPlusError(error.message || '数据加载失败', error.name === 'NetworkError' || error.code === 'ECONNABORTED' ? ErrorType.NETWORK_ERROR : ErrorType.SERVER_ERROR, ErrorSeverity.MEDIUM, {
|
|
462
|
+
params: params,
|
|
463
|
+
originalError: error
|
|
464
|
+
}, error);
|
|
465
|
+
|
|
466
|
+
// 记录错误
|
|
467
|
+
logger.error('数据请求失败', gridError.getDetails());
|
|
468
|
+
|
|
469
|
+
// 显示用户友好的错误提示
|
|
470
|
+
message.error(gridError.getUserMessage());
|
|
471
|
+
|
|
472
|
+
// 如果用户提供了错误处理回调,调用它
|
|
473
|
+
if (props.onError) {
|
|
474
|
+
props.onError(gridError);
|
|
475
|
+
}
|
|
476
|
+
});
|
|
477
|
+
} catch (error) {
|
|
232
478
|
setLoading(false);
|
|
233
|
-
|
|
234
|
-
|
|
479
|
+
|
|
480
|
+
// 处理同步错误(如 convertFilterModel 抛出的错误)
|
|
481
|
+
var gridError = new GridPlusError(error instanceof Error ? error.message : '数据处理失败', ErrorType.DATA_FORMAT_ERROR, ErrorSeverity.HIGH, {
|
|
482
|
+
queryFilter: queryFilter,
|
|
483
|
+
allColDefs: allColDefs
|
|
484
|
+
}, error instanceof Error ? error : undefined);
|
|
485
|
+
logger.error('数据请求处理失败', gridError.getDetails());
|
|
486
|
+
message.error(gridError.getUserMessage());
|
|
487
|
+
if (props.onError) {
|
|
488
|
+
props.onError(gridError);
|
|
489
|
+
}
|
|
490
|
+
}
|
|
491
|
+
}, [request, stableGridParams, stableSortColumn, pagination.pageSize, pagination.current, allColDefs, props.onError]);
|
|
492
|
+
|
|
493
|
+
// 请求数据 - 当 ready 状态变化或 request 函数变化时触发
|
|
494
|
+
useEffect(function () {
|
|
495
|
+
if (ready && request) {
|
|
496
|
+
onRequest(queryFilter);
|
|
497
|
+
}
|
|
498
|
+
}, [ready, request, queryFilter, onRequest]);
|
|
235
499
|
var handelgridPlusColumnState = function handelgridPlusColumnState(columnState) {
|
|
236
500
|
var cellMap = {};
|
|
237
501
|
if (_isArray(columnState)) {
|
|
238
|
-
columnState.
|
|
239
|
-
if (item.cellClass || item.suppressHeaderFilterButton !== undefined) {
|
|
502
|
+
columnState.forEach(function (item) {
|
|
503
|
+
if (item.field && (item.cellClass || item.suppressHeaderFilterButton !== undefined || item.groupName)) {
|
|
240
504
|
// 使用对象存储多个字段的值
|
|
241
505
|
cellMap[item.field] = {
|
|
242
506
|
cellClass: item.cellClass,
|
|
@@ -256,19 +520,21 @@ function AgGridPlus(props) {
|
|
|
256
520
|
});
|
|
257
521
|
setSortColumn(sortedColumn);
|
|
258
522
|
};
|
|
259
|
-
var onRefresh = function
|
|
260
|
-
|
|
261
|
-
|
|
523
|
+
var onRefresh = useCallback(function () {
|
|
524
|
+
if (request) {
|
|
525
|
+
onRequest(queryFilter);
|
|
526
|
+
}
|
|
527
|
+
}, [request, onRequest, queryFilter]);
|
|
262
528
|
useEffect(function () {
|
|
263
529
|
gridRef.current = {
|
|
264
|
-
onRefresh:
|
|
265
|
-
request && onRequest(queryFilter);
|
|
266
|
-
}
|
|
530
|
+
onRefresh: onRefresh
|
|
267
531
|
};
|
|
268
|
-
}, [
|
|
532
|
+
}, [onRefresh]);
|
|
269
533
|
var onRowChanged = useCallback(function (e) {
|
|
270
|
-
|
|
271
|
-
|
|
534
|
+
if (props.onSelectionChanged) {
|
|
535
|
+
props.onSelectionChanged(e);
|
|
536
|
+
}
|
|
537
|
+
}, [props.onSelectionChanged]);
|
|
272
538
|
var onRowSelected = useCallback(function (e) {
|
|
273
539
|
setSelectRow(e.data);
|
|
274
540
|
|
|
@@ -309,8 +575,10 @@ function AgGridPlus(props) {
|
|
|
309
575
|
});
|
|
310
576
|
onSelectedRowsChange(visibleSelectedRows);
|
|
311
577
|
}
|
|
312
|
-
|
|
313
|
-
|
|
578
|
+
if (props.onRowSelected) {
|
|
579
|
+
props.onRowSelected(e);
|
|
580
|
+
}
|
|
581
|
+
}, [onSelectedRowsChange, props.getRowId, props.onRowSelected]);
|
|
314
582
|
var onColumnStateChanged = function onColumnStateChanged(columnState) {
|
|
315
583
|
if (gridKey) {
|
|
316
584
|
onSaveColumnState && onSaveColumnState(gridKey, columnState);
|
|
@@ -362,24 +630,27 @@ function AgGridPlus(props) {
|
|
|
362
630
|
maximumFractionDigits: 2
|
|
363
631
|
});
|
|
364
632
|
};
|
|
365
|
-
|
|
366
633
|
// sum 求和 avg 平均值 standardDeviation 标准差
|
|
367
634
|
var calculatefun = function calculatefun(calcColFields, displayedData) {
|
|
368
635
|
var calculateArrCopy = [];
|
|
369
636
|
var calculateData = {
|
|
370
637
|
id: _uniqueId()
|
|
371
638
|
};
|
|
372
|
-
calcColFields.
|
|
639
|
+
calcColFields.forEach(function (i) {
|
|
373
640
|
if (!i.cellRenderer) {
|
|
374
641
|
switch (i.calculateType) {
|
|
375
642
|
case "sum":
|
|
376
|
-
|
|
643
|
+
var sumPrecision = typeof i.transactionAmount === 'number' ? i.transactionAmount : 2;
|
|
644
|
+
var sumValue = Number(sumFun(i.field, displayedData).toFixed(sumPrecision));
|
|
645
|
+
calculateData[i.field] = i.formatWithCommas ? handelNumber(sumValue) : sumValue;
|
|
377
646
|
break;
|
|
378
647
|
case "avg":
|
|
379
|
-
|
|
648
|
+
var avgPrecision = typeof i.transactionAmount === 'number' ? i.transactionAmount : 2;
|
|
649
|
+
calculateData[i.field] = Number(avgFun(i.field, displayedData).toFixed(avgPrecision));
|
|
380
650
|
break;
|
|
381
651
|
case "standardDeviation":
|
|
382
|
-
|
|
652
|
+
var stdPrecision = typeof i.transactionAmount === 'number' ? i.transactionAmount : 2;
|
|
653
|
+
calculateData[i.field] = Number(standardDeviationFun(i.field, displayedData).toFixed(stdPrecision));
|
|
383
654
|
break;
|
|
384
655
|
default:
|
|
385
656
|
break;
|
|
@@ -391,131 +662,7 @@ function AgGridPlus(props) {
|
|
|
391
662
|
}
|
|
392
663
|
return calculateArrCopy;
|
|
393
664
|
};
|
|
394
|
-
var
|
|
395
|
-
if (typeof data[colName] === 'number') {
|
|
396
|
-
// 如果有枚举值,说明是分类数据,不进行计算;否则默认求和
|
|
397
|
-
var shouldCalculate = !valueEnum || valueEnum.length === 0;
|
|
398
|
-
return {
|
|
399
|
-
type: "number",
|
|
400
|
-
calculateType: shouldCalculate ? "sum" : false
|
|
401
|
-
// cellStyle: { 'text-align': 'right' }
|
|
402
|
-
};
|
|
403
|
-
}
|
|
404
|
-
return undefined;
|
|
405
|
-
};
|
|
406
|
-
var cellRenderer = function cellRenderer(params) {
|
|
407
|
-
var value = params.value,
|
|
408
|
-
node = params.node,
|
|
409
|
-
colDef = params.colDef;
|
|
410
|
-
//@ts-ignore
|
|
411
|
-
if (node.isRowPinned() || !colDef.customCellRenderer) {
|
|
412
|
-
return value;
|
|
413
|
-
}
|
|
414
|
-
//@ts-ignore
|
|
415
|
-
return colDef.customCellRenderer(params);
|
|
416
|
-
};
|
|
417
|
-
var getTableColumns = function getTableColumns(rowDataList) {
|
|
418
|
-
var data = rowDataList.length > 0 ? rowDataList[0] : {};
|
|
419
|
-
var columnProps = React.Children.map(children, function (child, index) {
|
|
420
|
-
return _objectSpread({}, child.props);
|
|
421
|
-
});
|
|
422
|
-
var columnDefs = !columnProps ? props.columnDefs ? props.columnDefs : [] : columnProps;
|
|
423
|
-
columnDefs = columnDefs.map(function (col) {
|
|
424
|
-
var dataType = getDataType(data, col.field, col.valueEnum);
|
|
425
|
-
if (col.valueEnum && Array.isArray(col.valueEnum)) {
|
|
426
|
-
var _defaultItems$0$value, _defaultItems$;
|
|
427
|
-
// 统计默认值
|
|
428
|
-
var defaultItems = col.valueEnum.filter(function (item) {
|
|
429
|
-
return item.default;
|
|
430
|
-
});
|
|
431
|
-
var isMultiple = defaultItems.length > 1;
|
|
432
|
-
var defaultValue = isMultiple ? defaultItems.map(function (item) {
|
|
433
|
-
return item.value;
|
|
434
|
-
}) : (_defaultItems$0$value = (_defaultItems$ = defaultItems[0]) === null || _defaultItems$ === void 0 ? void 0 : _defaultItems$.value) !== null && _defaultItems$0$value !== void 0 ? _defaultItems$0$value : undefined;
|
|
435
|
-
var valueFormatter = function valueFormatter(params) {
|
|
436
|
-
var match = col.valueEnum.find(function (item) {
|
|
437
|
-
return item.value == params.value;
|
|
438
|
-
});
|
|
439
|
-
return match ? match.label : params.value;
|
|
440
|
-
};
|
|
441
|
-
return _objectSpread(_objectSpread(_objectSpread({}, dataType), col), {}, {
|
|
442
|
-
cellRenderer: function cellRenderer(params) {
|
|
443
|
-
var match = col.valueEnum.find(function (item) {
|
|
444
|
-
return item.value == params.value;
|
|
445
|
-
});
|
|
446
|
-
if (match) {
|
|
447
|
-
var color = match.color || '#ffffff';
|
|
448
|
-
return /*#__PURE__*/React.createElement("span", {
|
|
449
|
-
style: {
|
|
450
|
-
color: color,
|
|
451
|
-
backgroundColor: 'transparent',
|
|
452
|
-
fontWeight: 500
|
|
453
|
-
}
|
|
454
|
-
}, match.label);
|
|
455
|
-
}
|
|
456
|
-
return params.value;
|
|
457
|
-
},
|
|
458
|
-
filterParams: _objectSpread(_objectSpread({}, col.filterParams || {}), {}, {
|
|
459
|
-
valueFormatter: valueFormatter
|
|
460
|
-
}),
|
|
461
|
-
searchComponent: Select,
|
|
462
|
-
searchComponentProps: {
|
|
463
|
-
options: col.valueEnum.map(function (item) {
|
|
464
|
-
return {
|
|
465
|
-
label: item.label,
|
|
466
|
-
value: item.value
|
|
467
|
-
};
|
|
468
|
-
}),
|
|
469
|
-
mode: isMultiple ? "multiple" : undefined,
|
|
470
|
-
defaultValue: defaultValue
|
|
471
|
-
}
|
|
472
|
-
});
|
|
473
|
-
}
|
|
474
|
-
if (col.type || typeof col.cellRenderer == "string") {
|
|
475
|
-
return _objectSpread({}, col);
|
|
476
|
-
}
|
|
477
|
-
//@ts-ignore
|
|
478
|
-
if (col !== null && col !== void 0 && col.ellipsis) {
|
|
479
|
-
return _objectSpread(_objectSpread({}, col), {}, {
|
|
480
|
-
cellRenderer: function cellRenderer(_ref) {
|
|
481
|
-
var value = _ref.value;
|
|
482
|
-
return /*#__PURE__*/React.createElement(Text, {
|
|
483
|
-
ellipsis: {
|
|
484
|
-
tooltip: value
|
|
485
|
-
},
|
|
486
|
-
style: {
|
|
487
|
-
display: 'flex',
|
|
488
|
-
justifyContent: 'center',
|
|
489
|
-
alignItems: 'center'
|
|
490
|
-
}
|
|
491
|
-
}, value);
|
|
492
|
-
}
|
|
493
|
-
});
|
|
494
|
-
}
|
|
495
|
-
if (col.cellRenderer) {
|
|
496
|
-
return _objectSpread(_objectSpread({}, col), {}, {
|
|
497
|
-
customCellRenderer: col.cellRenderer,
|
|
498
|
-
cellRenderer: cellRenderer
|
|
499
|
-
});
|
|
500
|
-
}
|
|
501
|
-
return _objectSpread(_objectSpread(_objectSpread({}, dataType), col), {}, {
|
|
502
|
-
customCellRenderer: col.cellRenderer,
|
|
503
|
-
cellRenderer: cellRenderer
|
|
504
|
-
});
|
|
505
|
-
});
|
|
506
|
-
extensibleColumns && gridKey && extensibleColumns[gridKey] && extensibleColumns[gridKey].map(function (column) {
|
|
507
|
-
columnDefs.push({
|
|
508
|
-
field: column.name,
|
|
509
|
-
headerName: column.displayName,
|
|
510
|
-
type: column.propertyType,
|
|
511
|
-
width: column.width,
|
|
512
|
-
customCellRenderer: column.cellRenderer,
|
|
513
|
-
cellRenderer: cellRenderer
|
|
514
|
-
});
|
|
515
|
-
});
|
|
516
|
-
return columnDefs;
|
|
517
|
-
};
|
|
518
|
-
var calculateSum = function calculateSum() {
|
|
665
|
+
var calculateSum = useCallback(function () {
|
|
519
666
|
var displayedData = [];
|
|
520
667
|
if (apiRef.current) {
|
|
521
668
|
apiRef.current.forEachNodeAfterFilter(function (node) {
|
|
@@ -523,8 +670,8 @@ function AgGridPlus(props) {
|
|
|
523
670
|
});
|
|
524
671
|
}
|
|
525
672
|
if (!allColDefs || displayedData.length === 0) {
|
|
526
|
-
var _apiRef$
|
|
527
|
-
(_apiRef$
|
|
673
|
+
var _apiRef$current5;
|
|
674
|
+
(_apiRef$current5 = apiRef.current) === null || _apiRef$current5 === void 0 || _apiRef$current5.setGridOption('pinnedBottomRowData', undefined);
|
|
528
675
|
return;
|
|
529
676
|
}
|
|
530
677
|
var calcColFields = allColDefs.filter(function (col) {
|
|
@@ -538,11 +685,11 @@ function AgGridPlus(props) {
|
|
|
538
685
|
};
|
|
539
686
|
});
|
|
540
687
|
if (calcColFields.length > 0) {
|
|
541
|
-
var _apiRef$
|
|
688
|
+
var _apiRef$current6;
|
|
542
689
|
var calculatedValues = calculatefun(calcColFields, displayedData);
|
|
543
|
-
(_apiRef$
|
|
690
|
+
(_apiRef$current6 = apiRef.current) === null || _apiRef$current6 === void 0 || _apiRef$current6.setGridOption('pinnedBottomRowData', calculatedValues);
|
|
544
691
|
}
|
|
545
|
-
};
|
|
692
|
+
}, [allColDefs, calculatefun]);
|
|
546
693
|
var onFilterChanged = function onFilterChanged(event) {
|
|
547
694
|
calculateSum();
|
|
548
695
|
};
|
|
@@ -567,16 +714,38 @@ function AgGridPlus(props) {
|
|
|
567
714
|
});
|
|
568
715
|
var processedColumns = processColumnGroups(columnDefs);
|
|
569
716
|
return processedColumns;
|
|
570
|
-
}, [children
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
717
|
+
}, [React.Children.count(children), props.columnDefs, extensibleColumns, columnCellClass, rowData]);
|
|
718
|
+
|
|
719
|
+
// 构建查询表单项(带 order 属性)
|
|
720
|
+
var queryFormItems = useMemo(function () {
|
|
721
|
+
var _allColDefs$filter;
|
|
722
|
+
var items = (allColDefs === null || allColDefs === void 0 || (_allColDefs$filter = allColDefs.filter(function (col) {
|
|
723
|
+
return col.filter !== false && !col.hideInSearch;
|
|
724
|
+
})) === null || _allColDefs$filter === void 0 ? void 0 : _allColDefs$filter.map(function (col) {
|
|
725
|
+
var _col$queryField, _col$searchSort;
|
|
726
|
+
return _objectSpread({
|
|
727
|
+
field: (_col$queryField = col.queryField) !== null && _col$queryField !== void 0 ? _col$queryField : col.field,
|
|
728
|
+
headerName: col.headerName,
|
|
729
|
+
order: (_col$searchSort = col.searchSort) !== null && _col$searchSort !== void 0 ? _col$searchSort : 999
|
|
730
|
+
}, col);
|
|
731
|
+
})) || [];
|
|
732
|
+
console.log('[AgGridPlus] queryFormItems构建:', {
|
|
733
|
+
allColDefsLength: allColDefs === null || allColDefs === void 0 ? void 0 : allColDefs.length,
|
|
734
|
+
queryFormItemsLength: items.length,
|
|
735
|
+
queryFormItems: items
|
|
736
|
+
});
|
|
737
|
+
return items;
|
|
738
|
+
}, [allColDefs]);
|
|
739
|
+
|
|
740
|
+
// 使用顺序管理器处理排序
|
|
741
|
+
var _useQueryOrderManager = useQueryOrderManager(queryFormItems, (querySchemeManager === null || querySchemeManager === void 0 || (_querySchemeManager$c = querySchemeManager.currentScheme) === null || _querySchemeManager$c === void 0 ? void 0 : _querySchemeManager$c.itemsOrder) || queryItemsOrder),
|
|
742
|
+
orderedFormItems = _useQueryOrderManager.orderedFormItems;
|
|
574
743
|
useEffect(function () {
|
|
575
744
|
calculateSum();
|
|
576
|
-
}, [
|
|
745
|
+
}, [calculateSum]);
|
|
577
746
|
var rowDataMemo = useMemo(function () {
|
|
578
747
|
return props.treeData ? flatten(toTree(rowData, treeKeyName !== null && treeKeyName !== void 0 ? treeKeyName : "id", treeParentName !== null && treeParentName !== void 0 ? treeParentName : "parentId"), treeKeyName !== null && treeKeyName !== void 0 ? treeKeyName : "id") : rowData;
|
|
579
|
-
}, [rowData, props.treeData]);
|
|
748
|
+
}, [rowData, props.treeData, treeKeyName, treeParentName]);
|
|
580
749
|
var actionDom = toolBarRender && toolBarRender(apiRef.current, convertFilterModel(queryFilter, allColDefs), queryFilter, {
|
|
581
750
|
current: pagination.current,
|
|
582
751
|
skipCount: pagination.current == 1 ? 0 : (pagination.current - 1) * pagination.pageSize,
|
|
@@ -588,7 +757,27 @@ function AgGridPlus(props) {
|
|
|
588
757
|
cellRenderer: CustomGroupCellRenderer
|
|
589
758
|
});
|
|
590
759
|
}, [props.autoGroupColumnDef]);
|
|
591
|
-
|
|
760
|
+
|
|
761
|
+
// 准备 GridPlusContext 的值
|
|
762
|
+
var gridPlusContextValue = useMemo(function () {
|
|
763
|
+
var _querySchemeManager$c2;
|
|
764
|
+
return {
|
|
765
|
+
extensibleColumns: extensibleColumns,
|
|
766
|
+
columnState: gridPlusColumnState,
|
|
767
|
+
onSaveColumnState: onSaveColumnState,
|
|
768
|
+
applyToGlobal: applyToGlobal,
|
|
769
|
+
resetCurrent: resetCurrent,
|
|
770
|
+
resetAll: resetAll,
|
|
771
|
+
schemeManager: columnSchemeManager,
|
|
772
|
+
querySchemeManager: querySchemeManager,
|
|
773
|
+
currentQueryOrder: (querySchemeManager === null || querySchemeManager === void 0 || (_querySchemeManager$c2 = querySchemeManager.currentScheme) === null || _querySchemeManager$c2 === void 0 ? void 0 : _querySchemeManager$c2.itemsOrder) || queryItemsOrder,
|
|
774
|
+
updateQueryOrder: setQueryItemsOrder,
|
|
775
|
+
queryFormItems: queryFormItems
|
|
776
|
+
};
|
|
777
|
+
}, [extensibleColumns, gridPlusColumnState, onSaveColumnState, applyToGlobal, resetCurrent, resetAll, columnSchemeManager, querySchemeManager, queryItemsOrder, queryFormItems]);
|
|
778
|
+
return /*#__PURE__*/React.createElement(GridPlusContext.Provider, {
|
|
779
|
+
value: gridPlusContextValue
|
|
780
|
+
}, /*#__PURE__*/React.createElement(Spin, {
|
|
592
781
|
spinning: loading,
|
|
593
782
|
wrapperClassName: "grid-spin"
|
|
594
783
|
}, /*#__PURE__*/React.createElement("div", {
|
|
@@ -600,7 +789,7 @@ function AgGridPlus(props) {
|
|
|
600
789
|
height: "100%"
|
|
601
790
|
}
|
|
602
791
|
}, search == false ? null : /*#__PURE__*/React.createElement(FormRender, {
|
|
603
|
-
colDefs: flattenColumnState(
|
|
792
|
+
colDefs: flattenColumnState(orderedFormItems),
|
|
604
793
|
defaultRows: queryDefaultRows,
|
|
605
794
|
columnStates: columnState || [],
|
|
606
795
|
defaultExpand: defaultSearchExpand,
|
|
@@ -662,7 +851,7 @@ function AgGridPlus(props) {
|
|
|
662
851
|
enableCellTextSelection: true,
|
|
663
852
|
ensureDomOrder: true
|
|
664
853
|
},
|
|
665
|
-
overlayNoRowsTemplate:
|
|
854
|
+
overlayNoRowsTemplate: createSafeHtmlTemplate(overlayNoRowsTemplateText || '没有找到数据,试试调整筛选条件吧!'),
|
|
666
855
|
enableRangeSelection: true,
|
|
667
856
|
suppressCopyRowsToClipboard: true,
|
|
668
857
|
autoGroupColumnDef: autoGroupColumnDef
|
|
@@ -684,8 +873,8 @@ function AgGridPlus(props) {
|
|
|
684
873
|
onRowSelected: onRowSelected,
|
|
685
874
|
onDragStopped: function onDragStopped(e) {
|
|
686
875
|
if (apiRef.current) {
|
|
687
|
-
var _apiRef$
|
|
688
|
-
var _columnState = (_apiRef$
|
|
876
|
+
var _apiRef$current7;
|
|
877
|
+
var _columnState = (_apiRef$current7 = apiRef.current) === null || _apiRef$current7 === void 0 ? void 0 : _apiRef$current7.getColumnState();
|
|
689
878
|
setColumnState(_columnState);
|
|
690
879
|
|
|
691
880
|
// onColumnStateChanged && onColumnStateChanged(columnState)
|
|
@@ -732,6 +921,6 @@ function AgGridPlus(props) {
|
|
|
732
921
|
pageSizeOptions: props.pageSizeOptions || [10, 20, 50, 100, 200, 500, 1000, 10000],
|
|
733
922
|
hideOnSinglePage: false,
|
|
734
923
|
showQuickJumper: false
|
|
735
|
-
})))));
|
|
924
|
+
}))))));
|
|
736
925
|
}
|
|
737
926
|
export default AgGridPlus;
|