@nokecy/qc-ui 1.0.70 → 1.0.72
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 +409 -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 +5 -0
- package/dist/cjs/ag-grid-plus/index.js +164 -0
- package/dist/cjs/ag-grid-plus/interface.d.ts +37 -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 +114 -0
- package/dist/cjs/ag-grid-plus/storage/SchemeSyncManager.js +615 -0
- package/dist/cjs/ag-grid-plus/storage/globalSyncManager.d.ts +100 -0
- package/dist/cjs/ag-grid-plus/storage/globalSyncManager.js +335 -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 +144 -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 +410 -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 +5 -0
- package/dist/esm/ag-grid-plus/index.js +6 -1
- package/dist/esm/ag-grid-plus/interface.d.ts +37 -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 +114 -0
- package/dist/esm/ag-grid-plus/storage/SchemeSyncManager.js +609 -0
- package/dist/esm/ag-grid-plus/storage/globalSyncManager.d.ts +100 -0
- package/dist/esm/ag-grid-plus/storage/globalSyncManager.js +321 -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 +144 -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/useStandardFormSchema.d.ts +1 -1
- 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", "querySchemeManager", "enableColumnSchemes", "columnSchemeStorageAdapter", "columnSchemeManager"];
|
|
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,20 @@ 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 { useGlobalColumnAdapter, useGlobalQueryAdapter, isGlobalSyncInitialized } from "./storage/globalSyncManager";
|
|
41
|
+
import { createSafeHtmlTemplate } from "./utils/sanitize";
|
|
42
|
+
import { GridPlusError, ErrorType, ErrorSeverity } from "./errors";
|
|
43
|
+
import { logger } from "./utils/logger";
|
|
44
|
+
import { message } from 'antd';
|
|
45
|
+
var Text = Typography.Text;
|
|
39
46
|
var getSort = function getSort(columnState) {
|
|
40
47
|
return columnState ? "".concat(columnState.colId, " ").concat(columnState.sort) : "";
|
|
41
48
|
};
|
|
42
49
|
function AgGridPlus(props) {
|
|
50
|
+
var _querySchemeManager$c;
|
|
43
51
|
var style = props.style,
|
|
44
52
|
loadingProps = props.loading,
|
|
45
53
|
gridParams = props.params,
|
|
@@ -60,6 +68,14 @@ function AgGridPlus(props) {
|
|
|
60
68
|
overlayNoRowsTemplateText = props.overlayNoRowsTemplateText,
|
|
61
69
|
queryDefaultRows = props.queryDefaultRows,
|
|
62
70
|
onSelectedRowsChange = props.onSelectedRowsChange,
|
|
71
|
+
_props$enableQuerySch = props.enableQuerySchemes,
|
|
72
|
+
enableQuerySchemes = _props$enableQuerySch === void 0 ? true : _props$enableQuerySch,
|
|
73
|
+
querySchemeStorageAdapter = props.querySchemeStorageAdapter,
|
|
74
|
+
propsQuerySchemeManager = props.querySchemeManager,
|
|
75
|
+
_props$enableColumnSc = props.enableColumnSchemes,
|
|
76
|
+
enableColumnSchemes = _props$enableColumnSc === void 0 ? true : _props$enableColumnSc,
|
|
77
|
+
columnSchemeStorageAdapter = props.columnSchemeStorageAdapter,
|
|
78
|
+
propsColumnSchemeManager = props.columnSchemeManager,
|
|
63
79
|
rest = _objectWithoutProperties(props, _excluded);
|
|
64
80
|
var _useGridPlusColumnSta = useGridPlusColumnState(),
|
|
65
81
|
onSaveColumnState = _useGridPlusColumnSta.onSaveColumnState,
|
|
@@ -111,6 +127,51 @@ function AgGridPlus(props) {
|
|
|
111
127
|
_useState18 = _slicedToArray(_useState17, 2),
|
|
112
128
|
pagination = _useState18[0],
|
|
113
129
|
setPagination = _useState18[1];
|
|
130
|
+
|
|
131
|
+
// ============ 查询方案管理 ============
|
|
132
|
+
var _useState19 = useState([]),
|
|
133
|
+
_useState20 = _slicedToArray(_useState19, 2),
|
|
134
|
+
queryItemsOrder = _useState20[0],
|
|
135
|
+
setQueryItemsOrder = _useState20[1];
|
|
136
|
+
|
|
137
|
+
// 尝试获取全局适配器(如果已初始化)
|
|
138
|
+
var globalQueryAdapter = isGlobalSyncInitialized() ? useGlobalQueryAdapter() : undefined;
|
|
139
|
+
var globalColumnAdapter = isGlobalSyncInitialized() ? useGlobalColumnAdapter() : undefined;
|
|
140
|
+
|
|
141
|
+
// 自动创建查询方案管理器(如果未通过 props 提供)
|
|
142
|
+
var autoQuerySchemeManager = enableQuerySchemes && gridKey && !propsQuerySchemeManager ? useQuerySchemes({
|
|
143
|
+
gridId: gridKey,
|
|
144
|
+
// 优先使用全局适配器,否则使用 props 传入的适配器
|
|
145
|
+
storageAdapter: globalQueryAdapter || querySchemeStorageAdapter,
|
|
146
|
+
onSchemeChange: function onSchemeChange(scheme) {
|
|
147
|
+
if (scheme) {
|
|
148
|
+
setQueryItemsOrder(scheme.itemsOrder);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
}) : undefined;
|
|
152
|
+
|
|
153
|
+
// 优先使用 props 提供的管理器,否则使用自动创建的
|
|
154
|
+
var querySchemeManager = propsQuerySchemeManager || autoQuerySchemeManager;
|
|
155
|
+
|
|
156
|
+
// ============ 列配置方案管理 ============
|
|
157
|
+
// 自动创建列配置方案管理器(如果未通过 props 提供)
|
|
158
|
+
var autoColumnSchemeManager = enableColumnSchemes && gridKey && !propsColumnSchemeManager ? useColumnSchemes({
|
|
159
|
+
gridId: gridKey,
|
|
160
|
+
// 优先使用全局适配器,否则使用 props 传入的适配器
|
|
161
|
+
storageAdapter: globalColumnAdapter || columnSchemeStorageAdapter,
|
|
162
|
+
enableAutoSave: true,
|
|
163
|
+
onSchemeChange: function onSchemeChange(scheme) {
|
|
164
|
+
if (scheme && apiRef.current) {
|
|
165
|
+
apiRef.current.applyColumnState({
|
|
166
|
+
state: scheme.columnState,
|
|
167
|
+
applyOrder: true
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
}) : undefined;
|
|
172
|
+
|
|
173
|
+
// 优先使用 props 提供的管理器,否则使用自动创建的
|
|
174
|
+
var columnSchemeManager = propsColumnSchemeManager || autoColumnSchemeManager;
|
|
114
175
|
useImperativeHandle(propsGridRef, function () {
|
|
115
176
|
return gridRef.current;
|
|
116
177
|
});
|
|
@@ -165,27 +226,42 @@ function AgGridPlus(props) {
|
|
|
165
226
|
};
|
|
166
227
|
}, []);
|
|
167
228
|
|
|
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
229
|
// 测试列数据
|
|
175
230
|
// 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
231
|
|
|
177
232
|
// 加载列方案
|
|
178
233
|
useEffect(function () {
|
|
179
|
-
if (gridPlusColumnState
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
234
|
+
if (!gridPlusColumnState || !gridKey || !apiRef.current) return;
|
|
235
|
+
var currentState = gridPlusColumnState[gridKey];
|
|
236
|
+
if (!currentState) return;
|
|
237
|
+
setColumnCellClass(handelgridPlusColumnState(currentState));
|
|
238
|
+
var timer = setTimeout(function () {
|
|
239
|
+
var _apiRef$current;
|
|
240
|
+
(_apiRef$current = apiRef.current) === null || _apiRef$current === void 0 || _apiRef$current.applyColumnState({
|
|
241
|
+
state: currentState,
|
|
242
|
+
applyOrder: true
|
|
243
|
+
});
|
|
244
|
+
}, 10);
|
|
245
|
+
return function () {
|
|
246
|
+
return clearTimeout(timer);
|
|
247
|
+
};
|
|
248
|
+
}, [gridPlusColumnState, gridKey]);
|
|
249
|
+
|
|
250
|
+
// 当 gridApi 就绪且有当前方案时,应用列方案
|
|
251
|
+
useEffect(function () {
|
|
252
|
+
var currentScheme = columnSchemeManager === null || columnSchemeManager === void 0 ? void 0 : columnSchemeManager.currentScheme;
|
|
253
|
+
if (!apiRef.current || !currentScheme) return;
|
|
254
|
+
var timer = setTimeout(function () {
|
|
255
|
+
var _apiRef$current2;
|
|
256
|
+
(_apiRef$current2 = apiRef.current) === null || _apiRef$current2 === void 0 || _apiRef$current2.applyColumnState({
|
|
257
|
+
state: currentScheme.columnState,
|
|
258
|
+
applyOrder: true
|
|
259
|
+
});
|
|
260
|
+
}, 10);
|
|
261
|
+
return function () {
|
|
262
|
+
return clearTimeout(timer);
|
|
263
|
+
};
|
|
264
|
+
}, [columnSchemeManager === null || columnSchemeManager === void 0 ? void 0 : columnSchemeManager.currentScheme]);
|
|
189
265
|
useEffect(function () {
|
|
190
266
|
setRowData(dataSource || propRowData || []);
|
|
191
267
|
}, [dataSource, propRowData]);
|
|
@@ -194,49 +270,252 @@ function AgGridPlus(props) {
|
|
|
194
270
|
useEffect(function () {
|
|
195
271
|
loadingProps !== undefined && setLoading(loadingProps);
|
|
196
272
|
}, [loadingProps]);
|
|
273
|
+
|
|
274
|
+
// 辅助函数: 获取数据类型
|
|
275
|
+
var getDataType = function getDataType(data, colName, valueEnum) {
|
|
276
|
+
if (typeof data[colName] === 'number') {
|
|
277
|
+
// 如果有枚举值,说明是分类数据,不进行计算;否则默认求和
|
|
278
|
+
var shouldCalculate = !valueEnum || valueEnum.length === 0;
|
|
279
|
+
return {
|
|
280
|
+
type: "number",
|
|
281
|
+
calculateType: shouldCalculate ? "sum" : false
|
|
282
|
+
};
|
|
283
|
+
}
|
|
284
|
+
return undefined;
|
|
285
|
+
};
|
|
286
|
+
|
|
287
|
+
// 辅助函数: 自定义单元格渲染器
|
|
288
|
+
var cellRenderer = function cellRenderer(params) {
|
|
289
|
+
var value = params.value,
|
|
290
|
+
node = params.node,
|
|
291
|
+
colDef = params.colDef;
|
|
292
|
+
//@ts-ignore
|
|
293
|
+
if (node.isRowPinned() || !colDef.customCellRenderer) {
|
|
294
|
+
return value;
|
|
295
|
+
}
|
|
296
|
+
//@ts-ignore
|
|
297
|
+
return colDef.customCellRenderer(params);
|
|
298
|
+
};
|
|
299
|
+
|
|
300
|
+
// 获取表格列定义
|
|
301
|
+
var getTableColumns = function getTableColumns(rowDataList) {
|
|
302
|
+
var data = rowDataList.length > 0 ? rowDataList[0] : {};
|
|
303
|
+
var columnProps = React.Children.map(children, function (child, index) {
|
|
304
|
+
return _objectSpread({}, child.props);
|
|
305
|
+
});
|
|
306
|
+
var columnDefs = !columnProps ? props.columnDefs ? props.columnDefs : [] : columnProps;
|
|
307
|
+
columnDefs = columnDefs.map(function (col) {
|
|
308
|
+
var dataType = getDataType(data, col.field || '', col.valueEnum);
|
|
309
|
+
if (col.valueEnum && Array.isArray(col.valueEnum)) {
|
|
310
|
+
var _defaultItems$0$value, _defaultItems$;
|
|
311
|
+
// 统计默认值
|
|
312
|
+
var valueEnum = col.valueEnum; // 保存引用以便TypeScript理解
|
|
313
|
+
var defaultItems = valueEnum.filter(function (item) {
|
|
314
|
+
return item.default;
|
|
315
|
+
});
|
|
316
|
+
var isMultiple = defaultItems.length > 1;
|
|
317
|
+
var defaultValue = isMultiple ? defaultItems.map(function (item) {
|
|
318
|
+
return item.value;
|
|
319
|
+
}) : (_defaultItems$0$value = (_defaultItems$ = defaultItems[0]) === null || _defaultItems$ === void 0 ? void 0 : _defaultItems$.value) !== null && _defaultItems$0$value !== void 0 ? _defaultItems$0$value : undefined;
|
|
320
|
+
var valueFormatter = function valueFormatter(params) {
|
|
321
|
+
var match = valueEnum.find(function (item) {
|
|
322
|
+
return item.value == params.value;
|
|
323
|
+
});
|
|
324
|
+
return match ? match.label : params.value;
|
|
325
|
+
};
|
|
326
|
+
return _objectSpread(_objectSpread(_objectSpread({}, dataType), col), {}, {
|
|
327
|
+
cellRenderer: function cellRenderer(params) {
|
|
328
|
+
var match = valueEnum.find(function (item) {
|
|
329
|
+
return item.value == params.value;
|
|
330
|
+
});
|
|
331
|
+
if (match) {
|
|
332
|
+
var color = match.color || '#ffffff';
|
|
333
|
+
return /*#__PURE__*/React.createElement("span", {
|
|
334
|
+
style: {
|
|
335
|
+
color: color,
|
|
336
|
+
backgroundColor: 'transparent',
|
|
337
|
+
fontWeight: 500
|
|
338
|
+
}
|
|
339
|
+
}, match.label);
|
|
340
|
+
}
|
|
341
|
+
return params.value;
|
|
342
|
+
},
|
|
343
|
+
filterParams: _objectSpread(_objectSpread({}, col.filterParams || {}), {}, {
|
|
344
|
+
valueFormatter: valueFormatter
|
|
345
|
+
}),
|
|
346
|
+
searchComponent: Select,
|
|
347
|
+
searchComponentProps: {
|
|
348
|
+
options: col.valueEnum.map(function (item) {
|
|
349
|
+
return {
|
|
350
|
+
label: item.label,
|
|
351
|
+
value: item.value
|
|
352
|
+
};
|
|
353
|
+
}),
|
|
354
|
+
mode: isMultiple ? "multiple" : undefined,
|
|
355
|
+
defaultValue: defaultValue
|
|
356
|
+
}
|
|
357
|
+
});
|
|
358
|
+
}
|
|
359
|
+
if (col.type || typeof col.cellRenderer == "string") {
|
|
360
|
+
return _objectSpread({}, col);
|
|
361
|
+
}
|
|
362
|
+
//@ts-ignore
|
|
363
|
+
if (col !== null && col !== void 0 && col.ellipsis) {
|
|
364
|
+
return _objectSpread(_objectSpread({}, col), {}, {
|
|
365
|
+
cellRenderer: function cellRenderer(_ref) {
|
|
366
|
+
var value = _ref.value;
|
|
367
|
+
return /*#__PURE__*/React.createElement(Text, {
|
|
368
|
+
ellipsis: {
|
|
369
|
+
tooltip: value
|
|
370
|
+
},
|
|
371
|
+
style: {
|
|
372
|
+
display: 'flex',
|
|
373
|
+
justifyContent: 'center',
|
|
374
|
+
alignItems: 'center'
|
|
375
|
+
}
|
|
376
|
+
}, value);
|
|
377
|
+
}
|
|
378
|
+
});
|
|
379
|
+
}
|
|
380
|
+
if (col.cellRenderer) {
|
|
381
|
+
return _objectSpread(_objectSpread({}, col), {}, {
|
|
382
|
+
customCellRenderer: col.cellRenderer,
|
|
383
|
+
cellRenderer: cellRenderer
|
|
384
|
+
});
|
|
385
|
+
}
|
|
386
|
+
return _objectSpread(_objectSpread(_objectSpread({}, dataType), col), {}, {
|
|
387
|
+
customCellRenderer: col.cellRenderer,
|
|
388
|
+
cellRenderer: cellRenderer
|
|
389
|
+
});
|
|
390
|
+
});
|
|
391
|
+
extensibleColumns && gridKey && extensibleColumns[gridKey] && extensibleColumns[gridKey].map(function (column) {
|
|
392
|
+
columnDefs.push({
|
|
393
|
+
field: column.name,
|
|
394
|
+
headerName: column.displayName,
|
|
395
|
+
type: column.propertyType,
|
|
396
|
+
width: column.width,
|
|
397
|
+
customCellRenderer: column.cellRenderer,
|
|
398
|
+
cellRenderer: cellRenderer
|
|
399
|
+
});
|
|
400
|
+
});
|
|
401
|
+
return columnDefs;
|
|
402
|
+
};
|
|
403
|
+
|
|
404
|
+
// 计算所有列定义(包括隐藏的列)
|
|
405
|
+
var allColDefs = useMemo(function () {
|
|
406
|
+
return getTableColumns(rowData);
|
|
407
|
+
}, [React.Children.count(children), props.columnDefs, extensibleColumns, rowData, gridKey]);
|
|
408
|
+
|
|
409
|
+
// 稳定化 gridParams 和 sortColumn 的引用
|
|
410
|
+
var stableGridParams = useMemo(function () {
|
|
411
|
+
return gridParams;
|
|
412
|
+
}, [JSON.stringify(gridParams)]);
|
|
413
|
+
var stableSortColumn = useMemo(function () {
|
|
414
|
+
return sortColumn;
|
|
415
|
+
}, [JSON.stringify(sortColumn)]);
|
|
197
416
|
var onGridReady = useCallback(function (params) {
|
|
198
|
-
var _apiRef$
|
|
417
|
+
var _apiRef$current3;
|
|
199
418
|
apiRef.current = params.api;
|
|
200
419
|
onReady && onReady(params);
|
|
201
420
|
///@ts-ignore
|
|
202
421
|
dataSource && setRowData(dataSource);
|
|
203
|
-
setColumnState((_apiRef$
|
|
422
|
+
setColumnState((_apiRef$current3 = apiRef.current) === null || _apiRef$current3 === void 0 ? void 0 : _apiRef$current3.getColumnState());
|
|
204
423
|
sortChanged(params.api);
|
|
205
424
|
setReady(true);
|
|
206
425
|
}, [dataSource]);
|
|
207
|
-
var onRequest = function
|
|
426
|
+
var onRequest = useCallback(function (queryFilter) {
|
|
427
|
+
if (!request) return;
|
|
208
428
|
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)
|
|
429
|
+
logger.debug('开始请求数据', {
|
|
430
|
+
queryFilter: queryFilter,
|
|
431
|
+
pagination: pagination
|
|
217
432
|
});
|
|
218
|
-
|
|
219
|
-
var
|
|
220
|
-
var
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
433
|
+
try {
|
|
434
|
+
var filter = convertFilterModel(queryFilter, allColDefs);
|
|
435
|
+
var params = _objectSpread(_objectSpread({
|
|
436
|
+
filter: filter
|
|
437
|
+
}, stableGridParams), {}, {
|
|
438
|
+
current: pagination.current,
|
|
439
|
+
skipCount: pagination.current == 1 ? 0 : (pagination.current - 1) * pagination.pageSize,
|
|
440
|
+
maxResultCount: pagination.pageSize,
|
|
441
|
+
sorter: getSort(stableSortColumn)
|
|
226
442
|
});
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
443
|
+
request(params, undefined, queryFilter).then(function (response) {
|
|
444
|
+
var _apiRef$current4;
|
|
445
|
+
// 验证响应数据格式
|
|
446
|
+
if (!response || _typeof(response) !== 'object') {
|
|
447
|
+
throw new GridPlusError('服务器返回数据格式错误', ErrorType.DATA_FORMAT_ERROR, ErrorSeverity.HIGH, {
|
|
448
|
+
response: response
|
|
449
|
+
});
|
|
450
|
+
}
|
|
451
|
+
if (!Array.isArray(response.data)) {
|
|
452
|
+
throw new GridPlusError('返回的数据列表格式错误', ErrorType.DATA_FORMAT_ERROR, ErrorSeverity.HIGH, {
|
|
453
|
+
responseData: response.data
|
|
454
|
+
});
|
|
455
|
+
}
|
|
456
|
+
var rowData = response.data;
|
|
457
|
+
var rowCount = response.total;
|
|
458
|
+
setRowData(rowData);
|
|
459
|
+
// 刷新所有单元格
|
|
460
|
+
(_apiRef$current4 = apiRef.current) === null || _apiRef$current4 === void 0 || _apiRef$current4.refreshCells({
|
|
461
|
+
force: true
|
|
462
|
+
});
|
|
463
|
+
setPagination(function (prev) {
|
|
464
|
+
return _objectSpread(_objectSpread({}, prev), {}, {
|
|
465
|
+
total: rowCount
|
|
466
|
+
});
|
|
467
|
+
});
|
|
468
|
+
setLoading(false);
|
|
469
|
+
logger.info('数据请求成功', {
|
|
470
|
+
rowCount: rowCount
|
|
471
|
+
});
|
|
472
|
+
}).catch(function (error) {
|
|
473
|
+
setLoading(false);
|
|
474
|
+
|
|
475
|
+
// 包装错误为 GridPlusError
|
|
476
|
+
var gridError = error instanceof GridPlusError ? error : new GridPlusError(error.message || '数据加载失败', error.name === 'NetworkError' || error.code === 'ECONNABORTED' ? ErrorType.NETWORK_ERROR : ErrorType.SERVER_ERROR, ErrorSeverity.MEDIUM, {
|
|
477
|
+
params: params,
|
|
478
|
+
originalError: error
|
|
479
|
+
}, error);
|
|
480
|
+
|
|
481
|
+
// 记录错误
|
|
482
|
+
logger.error('数据请求失败', gridError.getDetails());
|
|
483
|
+
|
|
484
|
+
// 显示用户友好的错误提示
|
|
485
|
+
message.error(gridError.getUserMessage());
|
|
486
|
+
|
|
487
|
+
// 如果用户提供了错误处理回调,调用它
|
|
488
|
+
if (props.onError) {
|
|
489
|
+
props.onError(gridError);
|
|
490
|
+
}
|
|
491
|
+
});
|
|
492
|
+
} catch (error) {
|
|
232
493
|
setLoading(false);
|
|
233
|
-
|
|
234
|
-
|
|
494
|
+
|
|
495
|
+
// 处理同步错误(如 convertFilterModel 抛出的错误)
|
|
496
|
+
var gridError = new GridPlusError(error instanceof Error ? error.message : '数据处理失败', ErrorType.DATA_FORMAT_ERROR, ErrorSeverity.HIGH, {
|
|
497
|
+
queryFilter: queryFilter,
|
|
498
|
+
allColDefs: allColDefs
|
|
499
|
+
}, error instanceof Error ? error : undefined);
|
|
500
|
+
logger.error('数据请求处理失败', gridError.getDetails());
|
|
501
|
+
message.error(gridError.getUserMessage());
|
|
502
|
+
if (props.onError) {
|
|
503
|
+
props.onError(gridError);
|
|
504
|
+
}
|
|
505
|
+
}
|
|
506
|
+
}, [request, stableGridParams, stableSortColumn, pagination.pageSize, pagination.current, allColDefs, props.onError]);
|
|
507
|
+
|
|
508
|
+
// 请求数据 - 当 ready 状态变化或 request 函数变化时触发
|
|
509
|
+
useEffect(function () {
|
|
510
|
+
if (ready && request) {
|
|
511
|
+
onRequest(queryFilter);
|
|
512
|
+
}
|
|
513
|
+
}, [ready, request, queryFilter, onRequest]);
|
|
235
514
|
var handelgridPlusColumnState = function handelgridPlusColumnState(columnState) {
|
|
236
515
|
var cellMap = {};
|
|
237
516
|
if (_isArray(columnState)) {
|
|
238
|
-
columnState.
|
|
239
|
-
if (item.cellClass || item.suppressHeaderFilterButton !== undefined) {
|
|
517
|
+
columnState.forEach(function (item) {
|
|
518
|
+
if (item.field && (item.cellClass || item.suppressHeaderFilterButton !== undefined || item.groupName)) {
|
|
240
519
|
// 使用对象存储多个字段的值
|
|
241
520
|
cellMap[item.field] = {
|
|
242
521
|
cellClass: item.cellClass,
|
|
@@ -256,19 +535,21 @@ function AgGridPlus(props) {
|
|
|
256
535
|
});
|
|
257
536
|
setSortColumn(sortedColumn);
|
|
258
537
|
};
|
|
259
|
-
var onRefresh = function
|
|
260
|
-
|
|
261
|
-
|
|
538
|
+
var onRefresh = useCallback(function () {
|
|
539
|
+
if (request) {
|
|
540
|
+
onRequest(queryFilter);
|
|
541
|
+
}
|
|
542
|
+
}, [request, onRequest, queryFilter]);
|
|
262
543
|
useEffect(function () {
|
|
263
544
|
gridRef.current = {
|
|
264
|
-
onRefresh:
|
|
265
|
-
request && onRequest(queryFilter);
|
|
266
|
-
}
|
|
545
|
+
onRefresh: onRefresh
|
|
267
546
|
};
|
|
268
|
-
}, [
|
|
547
|
+
}, [onRefresh]);
|
|
269
548
|
var onRowChanged = useCallback(function (e) {
|
|
270
|
-
|
|
271
|
-
|
|
549
|
+
if (props.onSelectionChanged) {
|
|
550
|
+
props.onSelectionChanged(e);
|
|
551
|
+
}
|
|
552
|
+
}, [props.onSelectionChanged]);
|
|
272
553
|
var onRowSelected = useCallback(function (e) {
|
|
273
554
|
setSelectRow(e.data);
|
|
274
555
|
|
|
@@ -309,8 +590,10 @@ function AgGridPlus(props) {
|
|
|
309
590
|
});
|
|
310
591
|
onSelectedRowsChange(visibleSelectedRows);
|
|
311
592
|
}
|
|
312
|
-
|
|
313
|
-
|
|
593
|
+
if (props.onRowSelected) {
|
|
594
|
+
props.onRowSelected(e);
|
|
595
|
+
}
|
|
596
|
+
}, [onSelectedRowsChange, props.getRowId, props.onRowSelected]);
|
|
314
597
|
var onColumnStateChanged = function onColumnStateChanged(columnState) {
|
|
315
598
|
if (gridKey) {
|
|
316
599
|
onSaveColumnState && onSaveColumnState(gridKey, columnState);
|
|
@@ -362,24 +645,27 @@ function AgGridPlus(props) {
|
|
|
362
645
|
maximumFractionDigits: 2
|
|
363
646
|
});
|
|
364
647
|
};
|
|
365
|
-
|
|
366
648
|
// sum 求和 avg 平均值 standardDeviation 标准差
|
|
367
649
|
var calculatefun = function calculatefun(calcColFields, displayedData) {
|
|
368
650
|
var calculateArrCopy = [];
|
|
369
651
|
var calculateData = {
|
|
370
652
|
id: _uniqueId()
|
|
371
653
|
};
|
|
372
|
-
calcColFields.
|
|
654
|
+
calcColFields.forEach(function (i) {
|
|
373
655
|
if (!i.cellRenderer) {
|
|
374
656
|
switch (i.calculateType) {
|
|
375
657
|
case "sum":
|
|
376
|
-
|
|
658
|
+
var sumPrecision = typeof i.transactionAmount === 'number' ? i.transactionAmount : 2;
|
|
659
|
+
var sumValue = Number(sumFun(i.field, displayedData).toFixed(sumPrecision));
|
|
660
|
+
calculateData[i.field] = i.formatWithCommas ? handelNumber(sumValue) : sumValue;
|
|
377
661
|
break;
|
|
378
662
|
case "avg":
|
|
379
|
-
|
|
663
|
+
var avgPrecision = typeof i.transactionAmount === 'number' ? i.transactionAmount : 2;
|
|
664
|
+
calculateData[i.field] = Number(avgFun(i.field, displayedData).toFixed(avgPrecision));
|
|
380
665
|
break;
|
|
381
666
|
case "standardDeviation":
|
|
382
|
-
|
|
667
|
+
var stdPrecision = typeof i.transactionAmount === 'number' ? i.transactionAmount : 2;
|
|
668
|
+
calculateData[i.field] = Number(standardDeviationFun(i.field, displayedData).toFixed(stdPrecision));
|
|
383
669
|
break;
|
|
384
670
|
default:
|
|
385
671
|
break;
|
|
@@ -391,131 +677,7 @@ function AgGridPlus(props) {
|
|
|
391
677
|
}
|
|
392
678
|
return calculateArrCopy;
|
|
393
679
|
};
|
|
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() {
|
|
680
|
+
var calculateSum = useCallback(function () {
|
|
519
681
|
var displayedData = [];
|
|
520
682
|
if (apiRef.current) {
|
|
521
683
|
apiRef.current.forEachNodeAfterFilter(function (node) {
|
|
@@ -523,8 +685,8 @@ function AgGridPlus(props) {
|
|
|
523
685
|
});
|
|
524
686
|
}
|
|
525
687
|
if (!allColDefs || displayedData.length === 0) {
|
|
526
|
-
var _apiRef$
|
|
527
|
-
(_apiRef$
|
|
688
|
+
var _apiRef$current5;
|
|
689
|
+
(_apiRef$current5 = apiRef.current) === null || _apiRef$current5 === void 0 || _apiRef$current5.setGridOption('pinnedBottomRowData', undefined);
|
|
528
690
|
return;
|
|
529
691
|
}
|
|
530
692
|
var calcColFields = allColDefs.filter(function (col) {
|
|
@@ -538,11 +700,11 @@ function AgGridPlus(props) {
|
|
|
538
700
|
};
|
|
539
701
|
});
|
|
540
702
|
if (calcColFields.length > 0) {
|
|
541
|
-
var _apiRef$
|
|
703
|
+
var _apiRef$current6;
|
|
542
704
|
var calculatedValues = calculatefun(calcColFields, displayedData);
|
|
543
|
-
(_apiRef$
|
|
705
|
+
(_apiRef$current6 = apiRef.current) === null || _apiRef$current6 === void 0 || _apiRef$current6.setGridOption('pinnedBottomRowData', calculatedValues);
|
|
544
706
|
}
|
|
545
|
-
};
|
|
707
|
+
}, [allColDefs, calculatefun]);
|
|
546
708
|
var onFilterChanged = function onFilterChanged(event) {
|
|
547
709
|
calculateSum();
|
|
548
710
|
};
|
|
@@ -567,16 +729,38 @@ function AgGridPlus(props) {
|
|
|
567
729
|
});
|
|
568
730
|
var processedColumns = processColumnGroups(columnDefs);
|
|
569
731
|
return processedColumns;
|
|
570
|
-
}, [children
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
732
|
+
}, [React.Children.count(children), props.columnDefs, extensibleColumns, columnCellClass, rowData]);
|
|
733
|
+
|
|
734
|
+
// 构建查询表单项(带 order 属性)
|
|
735
|
+
var queryFormItems = useMemo(function () {
|
|
736
|
+
var _allColDefs$filter;
|
|
737
|
+
var items = (allColDefs === null || allColDefs === void 0 || (_allColDefs$filter = allColDefs.filter(function (col) {
|
|
738
|
+
return col.filter !== false && !col.hideInSearch;
|
|
739
|
+
})) === null || _allColDefs$filter === void 0 ? void 0 : _allColDefs$filter.map(function (col) {
|
|
740
|
+
var _col$queryField, _col$searchSort;
|
|
741
|
+
return _objectSpread({
|
|
742
|
+
field: (_col$queryField = col.queryField) !== null && _col$queryField !== void 0 ? _col$queryField : col.field,
|
|
743
|
+
headerName: col.headerName,
|
|
744
|
+
order: (_col$searchSort = col.searchSort) !== null && _col$searchSort !== void 0 ? _col$searchSort : 999
|
|
745
|
+
}, col);
|
|
746
|
+
})) || [];
|
|
747
|
+
console.log('[AgGridPlus] queryFormItems构建:', {
|
|
748
|
+
allColDefsLength: allColDefs === null || allColDefs === void 0 ? void 0 : allColDefs.length,
|
|
749
|
+
queryFormItemsLength: items.length,
|
|
750
|
+
queryFormItems: items
|
|
751
|
+
});
|
|
752
|
+
return items;
|
|
753
|
+
}, [allColDefs]);
|
|
754
|
+
|
|
755
|
+
// 使用顺序管理器处理排序
|
|
756
|
+
var _useQueryOrderManager = useQueryOrderManager(queryFormItems, (querySchemeManager === null || querySchemeManager === void 0 || (_querySchemeManager$c = querySchemeManager.currentScheme) === null || _querySchemeManager$c === void 0 ? void 0 : _querySchemeManager$c.itemsOrder) || queryItemsOrder),
|
|
757
|
+
orderedFormItems = _useQueryOrderManager.orderedFormItems;
|
|
574
758
|
useEffect(function () {
|
|
575
759
|
calculateSum();
|
|
576
|
-
}, [
|
|
760
|
+
}, [calculateSum]);
|
|
577
761
|
var rowDataMemo = useMemo(function () {
|
|
578
762
|
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]);
|
|
763
|
+
}, [rowData, props.treeData, treeKeyName, treeParentName]);
|
|
580
764
|
var actionDom = toolBarRender && toolBarRender(apiRef.current, convertFilterModel(queryFilter, allColDefs), queryFilter, {
|
|
581
765
|
current: pagination.current,
|
|
582
766
|
skipCount: pagination.current == 1 ? 0 : (pagination.current - 1) * pagination.pageSize,
|
|
@@ -588,7 +772,27 @@ function AgGridPlus(props) {
|
|
|
588
772
|
cellRenderer: CustomGroupCellRenderer
|
|
589
773
|
});
|
|
590
774
|
}, [props.autoGroupColumnDef]);
|
|
591
|
-
|
|
775
|
+
|
|
776
|
+
// 准备 GridPlusContext 的值
|
|
777
|
+
var gridPlusContextValue = useMemo(function () {
|
|
778
|
+
var _querySchemeManager$c2;
|
|
779
|
+
return {
|
|
780
|
+
extensibleColumns: extensibleColumns,
|
|
781
|
+
columnState: gridPlusColumnState,
|
|
782
|
+
onSaveColumnState: onSaveColumnState,
|
|
783
|
+
applyToGlobal: applyToGlobal,
|
|
784
|
+
resetCurrent: resetCurrent,
|
|
785
|
+
resetAll: resetAll,
|
|
786
|
+
schemeManager: columnSchemeManager,
|
|
787
|
+
querySchemeManager: querySchemeManager,
|
|
788
|
+
currentQueryOrder: (querySchemeManager === null || querySchemeManager === void 0 || (_querySchemeManager$c2 = querySchemeManager.currentScheme) === null || _querySchemeManager$c2 === void 0 ? void 0 : _querySchemeManager$c2.itemsOrder) || queryItemsOrder,
|
|
789
|
+
updateQueryOrder: setQueryItemsOrder,
|
|
790
|
+
queryFormItems: queryFormItems
|
|
791
|
+
};
|
|
792
|
+
}, [extensibleColumns, gridPlusColumnState, onSaveColumnState, applyToGlobal, resetCurrent, resetAll, columnSchemeManager, querySchemeManager, queryItemsOrder, queryFormItems]);
|
|
793
|
+
return /*#__PURE__*/React.createElement(GridPlusContext.Provider, {
|
|
794
|
+
value: gridPlusContextValue
|
|
795
|
+
}, /*#__PURE__*/React.createElement(Spin, {
|
|
592
796
|
spinning: loading,
|
|
593
797
|
wrapperClassName: "grid-spin"
|
|
594
798
|
}, /*#__PURE__*/React.createElement("div", {
|
|
@@ -600,7 +804,7 @@ function AgGridPlus(props) {
|
|
|
600
804
|
height: "100%"
|
|
601
805
|
}
|
|
602
806
|
}, search == false ? null : /*#__PURE__*/React.createElement(FormRender, {
|
|
603
|
-
colDefs: flattenColumnState(
|
|
807
|
+
colDefs: flattenColumnState(orderedFormItems),
|
|
604
808
|
defaultRows: queryDefaultRows,
|
|
605
809
|
columnStates: columnState || [],
|
|
606
810
|
defaultExpand: defaultSearchExpand,
|
|
@@ -662,7 +866,7 @@ function AgGridPlus(props) {
|
|
|
662
866
|
enableCellTextSelection: true,
|
|
663
867
|
ensureDomOrder: true
|
|
664
868
|
},
|
|
665
|
-
overlayNoRowsTemplate:
|
|
869
|
+
overlayNoRowsTemplate: createSafeHtmlTemplate(overlayNoRowsTemplateText || '没有找到数据,试试调整筛选条件吧!'),
|
|
666
870
|
enableRangeSelection: true,
|
|
667
871
|
suppressCopyRowsToClipboard: true,
|
|
668
872
|
autoGroupColumnDef: autoGroupColumnDef
|
|
@@ -684,8 +888,8 @@ function AgGridPlus(props) {
|
|
|
684
888
|
onRowSelected: onRowSelected,
|
|
685
889
|
onDragStopped: function onDragStopped(e) {
|
|
686
890
|
if (apiRef.current) {
|
|
687
|
-
var _apiRef$
|
|
688
|
-
var _columnState = (_apiRef$
|
|
891
|
+
var _apiRef$current7;
|
|
892
|
+
var _columnState = (_apiRef$current7 = apiRef.current) === null || _apiRef$current7 === void 0 ? void 0 : _apiRef$current7.getColumnState();
|
|
689
893
|
setColumnState(_columnState);
|
|
690
894
|
|
|
691
895
|
// onColumnStateChanged && onColumnStateChanged(columnState)
|
|
@@ -732,6 +936,6 @@ function AgGridPlus(props) {
|
|
|
732
936
|
pageSizeOptions: props.pageSizeOptions || [10, 20, 50, 100, 200, 500, 1000, 10000],
|
|
733
937
|
hideOnSinglePage: false,
|
|
734
938
|
showQuickJumper: false
|
|
735
|
-
})))));
|
|
939
|
+
}))))));
|
|
736
940
|
}
|
|
737
941
|
export default AgGridPlus;
|