@nokecy/qc-ui 0.4.7 → 0.5.0
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/esm/ag-grid-plus/_utils/boolSelect.js +49 -0
- package/dist/esm/ag-grid-plus/ag-grid-theme-builder.css +404 -0
- package/dist/esm/ag-grid-plus/ag-gridPlus.js +472 -0
- package/dist/esm/ag-grid-plus/context/gridContext.js +6 -0
- package/dist/esm/ag-grid-plus/gridManager/index.js +35 -0
- package/dist/esm/ag-grid-plus/index.js +10 -0
- package/dist/esm/ag-grid-plus/index.less +7 -0
- package/dist/esm/ag-grid-plus/interface.js +9 -0
- package/dist/esm/ag-grid-plus/queryForm/index.js +175 -0
- package/dist/esm/ag-grid-plus/queryForm/index.less +48 -0
- package/dist/esm/ag-grid-plus/queryForm/queryForm.js +84 -0
- package/dist/esm/ag-grid-plus/setting/index.js +198 -0
- package/dist/esm/ag-grid-plus/settingItem/index.js +15 -0
- package/dist/esm/ag-grid-plus/toolBar/index.js +171 -0
- package/dist/esm/ag-grid-plus/utils.js +137 -0
- package/dist/esm/array-table/arrayAddBtn.js +56 -0
- package/dist/esm/array-table/arrayBase.js +217 -0
- package/dist/esm/array-table/index.js +145 -0
- package/dist/esm/array-table/interface.js +1 -0
- package/dist/esm/array-table/preview.js +49 -0
- package/dist/esm/array-table/utils.js +124 -0
- package/dist/esm/array-table-index/index.js +10 -0
- package/dist/esm/dashboard/dashboard/components/index.js +2 -0
- package/dist/esm/dashboard/dashboard/components/modal/index.js +15 -0
- package/dist/esm/dashboard/dashboard/components/toolbar/index.js +22 -0
- package/dist/esm/dashboard/dashboard/components/toolbar/style/index.js +1 -0
- package/dist/esm/dashboard/dashboard/components/toolbar/style/index.less +49 -0
- package/dist/esm/dashboard/dashboard/index.js +525 -0
- package/dist/esm/dashboard/dashboard/index.less +173 -0
- package/dist/esm/dashboard/dashboard/service.js +86 -0
- package/dist/esm/dashboard/dashboard/utils.js +89 -0
- package/dist/esm/dashboard/index.js +3 -0
- package/dist/esm/dashboard/utils.js +125 -0
- package/dist/esm/dashboard/widget/index.js +47 -0
- package/dist/esm/dashboard/widget/index.less +7 -0
- package/dist/esm/dashboard/widget/selector/index.js +234 -0
- package/dist/esm/dashboard/widget/selector/index.less +172 -0
- package/dist/esm/dashboard/widget/utils.js +89 -0
- package/dist/esm/dialogSelect/index.js +70 -0
- package/dist/esm/dialogSelect/interface.js +0 -0
- package/dist/esm/dialogSelect/selectModal.js +138 -0
- package/dist/esm/editable/index.js +241 -0
- package/dist/esm/editable/style.js +46 -0
- package/dist/esm/extensible-grid/index.js +22 -0
- package/dist/esm/extensible-grid/interface.js +1 -0
- package/dist/esm/formDesigner/FormDesigner.js +222 -0
- package/dist/esm/formDesigner/ProCard/index.js +21 -0
- package/dist/esm/formDesigner/arrayTable/arrayTableSchema.js +106 -0
- package/dist/esm/formDesigner/arrayTable/index.js +1 -0
- package/dist/esm/formDesigner/arrayTable/preview.js +390 -0
- package/dist/esm/formDesigner/arrayTable/styles.less +3 -0
- package/dist/esm/formDesigner/index.js +2 -0
- package/dist/esm/formDesigner/index.less +3 -0
- package/dist/esm/formDesigner/preWidgets/arrayTableIndex/index.js +1 -0
- package/dist/esm/formDesigner/preWidgets/arrayTableIndex/preview.js +40 -0
- package/dist/esm/formDesigner/preWidgets/card/index.js +1 -0
- package/dist/esm/formDesigner/preWidgets/card/preview.js +38 -0
- package/dist/esm/formDesigner/preWidgets/index.js +12 -0
- package/dist/esm/formDesigner/preWidgets/preDefineProperty1/index.js +1 -0
- package/dist/esm/formDesigner/preWidgets/preDefineProperty1/preview.js +44 -0
- package/dist/esm/formDesigner/preWidgets/preDefineProperty10/index.js +1 -0
- package/dist/esm/formDesigner/preWidgets/preDefineProperty10/preview.js +43 -0
- package/dist/esm/formDesigner/preWidgets/preDefineProperty2/index.js +1 -0
- package/dist/esm/formDesigner/preWidgets/preDefineProperty2/preview.js +43 -0
- package/dist/esm/formDesigner/preWidgets/preDefineProperty3/index.js +1 -0
- package/dist/esm/formDesigner/preWidgets/preDefineProperty3/preview.js +43 -0
- package/dist/esm/formDesigner/preWidgets/preDefineProperty4/index.js +1 -0
- package/dist/esm/formDesigner/preWidgets/preDefineProperty4/preview.js +43 -0
- package/dist/esm/formDesigner/preWidgets/preDefineProperty5/index.js +1 -0
- package/dist/esm/formDesigner/preWidgets/preDefineProperty5/preview.js +43 -0
- package/dist/esm/formDesigner/preWidgets/preDefineProperty6/index.js +1 -0
- package/dist/esm/formDesigner/preWidgets/preDefineProperty6/preview.js +43 -0
- package/dist/esm/formDesigner/preWidgets/preDefineProperty7/index.js +1 -0
- package/dist/esm/formDesigner/preWidgets/preDefineProperty7/preview.js +43 -0
- package/dist/esm/formDesigner/preWidgets/preDefineProperty8/index.js +1 -0
- package/dist/esm/formDesigner/preWidgets/preDefineProperty8/preview.js +43 -0
- package/dist/esm/formDesigner/preWidgets/preDefineProperty9/index.js +1 -0
- package/dist/esm/formDesigner/preWidgets/preDefineProperty9/preview.js +43 -0
- package/dist/esm/formDesigner/preWidgets/utils.js +219 -0
- package/dist/esm/formDesigner/widgets/ActionsWidget.js +29 -0
- package/dist/esm/formDesigner/widgets/LogoWidget.js +24 -0
- package/dist/esm/formDesigner/widgets/PreviewWidget.js +33 -0
- package/dist/esm/formDesigner/widgets/SchemaEditorWidget.js +17 -0
- package/dist/esm/formDesigner/widgets/index.js +4 -0
- package/dist/esm/formPro/context/formProContext.js +5 -0
- package/dist/esm/formPro/formLayoutPro.js +41 -0
- package/dist/esm/formPro/index.js +2 -0
- package/dist/esm/index.js +12 -0
- package/dist/esm/type.d.ts +1 -0
- package/dist/umd/qc-ui.min.css +1 -0
- package/dist/umd/qc-ui.min.js +1 -0
- package/package.json +2 -2
|
@@ -0,0 +1,472 @@
|
|
|
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
|
+
import _sumBy from "lodash/sumBy";
|
|
3
|
+
var _excluded = ["style", "loading", "params", "request", "dataSource", "treeKeyName", "treeParentName", "rowData", "gridRef", "headerTitle", "toolBarRender", "search", "hideTool", "onGridReady", "gridKey", "children"];
|
|
4
|
+
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; }
|
|
5
|
+
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; }
|
|
6
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
7
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
8
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
9
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
10
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
11
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
12
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
13
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
14
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
15
|
+
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
16
|
+
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
17
|
+
import { AgGridReact } from 'ag-grid-react';
|
|
18
|
+
import { Spin, Pagination, Card } from 'antd';
|
|
19
|
+
import React, { useCallback, useEffect, useImperativeHandle, useMemo, useRef, useState } from 'react';
|
|
20
|
+
import "ag-grid-enterprise";
|
|
21
|
+
import "./index.less";
|
|
22
|
+
import FormRender from "./queryForm";
|
|
23
|
+
import ToolBar from "./toolBar";
|
|
24
|
+
import SettingItem from "./settingItem";
|
|
25
|
+
import { RedoOutlined } from '@ant-design/icons';
|
|
26
|
+
import { convertFilterModel, dateTimeValueFormatter, dateValueFormatter, flatten, toTree } from "./utils";
|
|
27
|
+
import Setting from "./setting";
|
|
28
|
+
import { useGridPlusColumnState } from '.';
|
|
29
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
30
|
+
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
31
|
+
var getSort = function getSort(columnState) {
|
|
32
|
+
return columnState ? "".concat(columnState.colId, " ").concat(columnState.sort) : "";
|
|
33
|
+
};
|
|
34
|
+
function AgGridPlus(props) {
|
|
35
|
+
var style = props.style,
|
|
36
|
+
loadingProps = props.loading,
|
|
37
|
+
gridParams = props.params,
|
|
38
|
+
request = props.request,
|
|
39
|
+
dataSource = props.dataSource,
|
|
40
|
+
treeKeyName = props.treeKeyName,
|
|
41
|
+
treeParentName = props.treeParentName,
|
|
42
|
+
propRowData = props.rowData,
|
|
43
|
+
propsGridRef = props.gridRef,
|
|
44
|
+
headerTitle = props.headerTitle,
|
|
45
|
+
toolBarRender = props.toolBarRender,
|
|
46
|
+
search = props.search,
|
|
47
|
+
hideTool = props.hideTool,
|
|
48
|
+
onReady = props.onGridReady,
|
|
49
|
+
gridKey = props.gridKey,
|
|
50
|
+
children = props.children,
|
|
51
|
+
rest = _objectWithoutProperties(props, _excluded);
|
|
52
|
+
var _useGridPlusColumnSta = useGridPlusColumnState(),
|
|
53
|
+
onSaveColumnState = _useGridPlusColumnSta.onSaveColumnState,
|
|
54
|
+
gridPlusColumnState = _useGridPlusColumnSta.columnState,
|
|
55
|
+
extensibleColumns = _useGridPlusColumnSta.extensibleColumns;
|
|
56
|
+
var gridRef = useRef();
|
|
57
|
+
var apiRef = useRef();
|
|
58
|
+
var _useState = useState(false),
|
|
59
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
60
|
+
ready = _useState2[0],
|
|
61
|
+
setReady = _useState2[1];
|
|
62
|
+
var _useState3 = useState(loadingProps ? loadingProps : false),
|
|
63
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
64
|
+
loading = _useState4[0],
|
|
65
|
+
setLoading = _useState4[1];
|
|
66
|
+
var _useState5 = useState(),
|
|
67
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
68
|
+
columnState = _useState6[0],
|
|
69
|
+
setColumnState = _useState6[1];
|
|
70
|
+
var _useState7 = useState([]),
|
|
71
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
72
|
+
rowData = _useState8[0],
|
|
73
|
+
setRowData = _useState8[1];
|
|
74
|
+
var _useState9 = useState({}),
|
|
75
|
+
_useState10 = _slicedToArray(_useState9, 2),
|
|
76
|
+
selectRow = _useState10[0],
|
|
77
|
+
setSelectRow = _useState10[1];
|
|
78
|
+
var _useState11 = useState({}),
|
|
79
|
+
_useState12 = _slicedToArray(_useState11, 2),
|
|
80
|
+
queryFilter = _useState12[0],
|
|
81
|
+
setQueryFilter = _useState12[1];
|
|
82
|
+
var _useState13 = useState(),
|
|
83
|
+
_useState14 = _slicedToArray(_useState13, 2),
|
|
84
|
+
sortColumn = _useState14[0],
|
|
85
|
+
setSortColumn = _useState14[1];
|
|
86
|
+
var _useState15 = useState({
|
|
87
|
+
pageSize: 200,
|
|
88
|
+
current: 1,
|
|
89
|
+
total: dataSource ? dataSource.length : 0
|
|
90
|
+
}),
|
|
91
|
+
_useState16 = _slicedToArray(_useState15, 2),
|
|
92
|
+
pagination = _useState16[0],
|
|
93
|
+
setPagination = _useState16[1];
|
|
94
|
+
var _useState17 = useState([]),
|
|
95
|
+
_useState18 = _slicedToArray(_useState17, 2),
|
|
96
|
+
calculateArr = _useState18[0],
|
|
97
|
+
setCalculateArr = _useState18[1];
|
|
98
|
+
useImperativeHandle(propsGridRef, function () {
|
|
99
|
+
return gridRef.current;
|
|
100
|
+
});
|
|
101
|
+
|
|
102
|
+
//默认列属性
|
|
103
|
+
var defaultColDef = useMemo(function () {
|
|
104
|
+
return {
|
|
105
|
+
resizable: true,
|
|
106
|
+
sortable: true
|
|
107
|
+
// headerComponentParams: {
|
|
108
|
+
// template:
|
|
109
|
+
// '<div class="ag-cell-label-container" role="presentation">' +
|
|
110
|
+
// // ' <span ref="eMenu" class="ag-header-icon ag-header-cell-menu-button" aria-hidden="true"></span>' +
|
|
111
|
+
// ' <div ref="eLabel" class="ag-header-cell-label" role="presentation">' +
|
|
112
|
+
// ' <span ref="eText" class="ag-header-cell-text"></span>' +
|
|
113
|
+
// // ' <span ref="eFilter" class="ag-header-icon ag-filter-icon"></span>' +
|
|
114
|
+
// // ' <span ref="eSortOrder" class="ag-header-icon ag-sort-order"></span>' +
|
|
115
|
+
// ' <span ref="eSortAsc" class="ag-header-icon ag-sort-ascending-icon"></span>' +
|
|
116
|
+
// ' <span ref="eSortDesc" class="ag-header-icon ag-sort-descending-icon"></span>' +
|
|
117
|
+
// ' <span ref="eSortNone" class="ag-header-icon ag-sort-none-icon"></span>' +
|
|
118
|
+
// ' </div>' +
|
|
119
|
+
// '</div>'
|
|
120
|
+
// }
|
|
121
|
+
};
|
|
122
|
+
}, []);
|
|
123
|
+
var columnTypes = useMemo(function () {
|
|
124
|
+
return {
|
|
125
|
+
// bool: {
|
|
126
|
+
// filter: 'boolFilter',
|
|
127
|
+
// cellRenderer: (params: ICellRendererParams) => {
|
|
128
|
+
// switch (params.value) {
|
|
129
|
+
// case true:
|
|
130
|
+
// case "0":
|
|
131
|
+
// return <Tag color={"success"}>是</Tag>;
|
|
132
|
+
// case false:
|
|
133
|
+
// case "1":
|
|
134
|
+
// return <Tag color={"error"}>否</Tag>;
|
|
135
|
+
// }
|
|
136
|
+
// }
|
|
137
|
+
// },
|
|
138
|
+
numberColumn: {
|
|
139
|
+
width: 130,
|
|
140
|
+
filter: 'agNumberColumnFilter'
|
|
141
|
+
},
|
|
142
|
+
dateColumn: {
|
|
143
|
+
filter: 'agDateColumnFilter',
|
|
144
|
+
valueFormatter: dateValueFormatter
|
|
145
|
+
},
|
|
146
|
+
dateTimeColumn: {
|
|
147
|
+
filter: 'agDateColumnFilter',
|
|
148
|
+
valueFormatter: dateTimeValueFormatter
|
|
149
|
+
}
|
|
150
|
+
};
|
|
151
|
+
}, []);
|
|
152
|
+
|
|
153
|
+
//请求数据
|
|
154
|
+
useEffect(function () {
|
|
155
|
+
if (ready && request) {
|
|
156
|
+
onRequest(queryFilter);
|
|
157
|
+
}
|
|
158
|
+
}, [ready, JSON.stringify(gridParams), JSON.stringify(sortColumn), pagination.pageSize, pagination.current]);
|
|
159
|
+
|
|
160
|
+
// 加载列方案
|
|
161
|
+
useEffect(function () {
|
|
162
|
+
if (gridPlusColumnState && gridKey && gridPlusColumnState[gridKey] && apiRef.current) {
|
|
163
|
+
apiRef.current.applyColumnState({
|
|
164
|
+
state: gridPlusColumnState[gridKey],
|
|
165
|
+
applyOrder: true
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
}, [gridPlusColumnState, apiRef.current]);
|
|
169
|
+
useEffect(function () {
|
|
170
|
+
setRowData(dataSource || propRowData || []);
|
|
171
|
+
}, [dataSource, propRowData]);
|
|
172
|
+
|
|
173
|
+
//外部loading
|
|
174
|
+
useEffect(function () {
|
|
175
|
+
loadingProps !== undefined && setLoading(loadingProps);
|
|
176
|
+
}, [loadingProps]);
|
|
177
|
+
var onGridReady = useCallback(function (params) {
|
|
178
|
+
var _apiRef$current;
|
|
179
|
+
apiRef.current = params.api;
|
|
180
|
+
onReady && onReady(params);
|
|
181
|
+
///@ts-ignore
|
|
182
|
+
dataSource && setRowData(dataSource);
|
|
183
|
+
setColumnState((_apiRef$current = apiRef.current) === null || _apiRef$current === void 0 ? void 0 : _apiRef$current.getColumnState());
|
|
184
|
+
sortChanged(params.api);
|
|
185
|
+
setReady(true);
|
|
186
|
+
}, [dataSource]);
|
|
187
|
+
var onRequest = function onRequest(queryFilter) {
|
|
188
|
+
setLoading(true);
|
|
189
|
+
var filter = convertFilterModel(queryFilter);
|
|
190
|
+
var params = _objectSpread(_objectSpread({
|
|
191
|
+
filter: filter
|
|
192
|
+
}, gridParams), {}, {
|
|
193
|
+
current: pagination.current,
|
|
194
|
+
skipCount: pagination.current == 1 ? 0 : (pagination.current - 1) * pagination.pageSize,
|
|
195
|
+
maxResultCount: pagination.pageSize,
|
|
196
|
+
sorter: getSort(sortColumn)
|
|
197
|
+
});
|
|
198
|
+
request && request(params, undefined, queryFilter).then(function (response) {
|
|
199
|
+
var rowData = response.data;
|
|
200
|
+
var rowCount = response.total;
|
|
201
|
+
setRowData(rowData);
|
|
202
|
+
setPagination(_objectSpread(_objectSpread({}, pagination), {}, {
|
|
203
|
+
total: rowCount
|
|
204
|
+
}));
|
|
205
|
+
setLoading(false);
|
|
206
|
+
}).catch(function () {
|
|
207
|
+
setLoading(false);
|
|
208
|
+
});
|
|
209
|
+
};
|
|
210
|
+
var actionDom = toolBarRender && toolBarRender(apiRef.current, convertFilterModel(queryFilter), queryFilter);
|
|
211
|
+
var sortChanged = function sortChanged(columnApi) {
|
|
212
|
+
var sortedColumn = columnApi.getColumnState().find(function (col) {
|
|
213
|
+
return Boolean(col.sort);
|
|
214
|
+
});
|
|
215
|
+
setSortColumn(sortedColumn);
|
|
216
|
+
};
|
|
217
|
+
var onRefresh = function onRefresh() {
|
|
218
|
+
request && onRequest(queryFilter);
|
|
219
|
+
};
|
|
220
|
+
var onRowChanged = useCallback(function (e) {
|
|
221
|
+
props.onSelectionChanged && props.onSelectionChanged(e);
|
|
222
|
+
}, []);
|
|
223
|
+
var onRowSelected = useCallback(function (e) {
|
|
224
|
+
setSelectRow(e.data);
|
|
225
|
+
props.onRowSelected && props.onRowSelected(e);
|
|
226
|
+
}, []);
|
|
227
|
+
var onColumnStateChanged = function onColumnStateChanged(columnState) {
|
|
228
|
+
if (gridKey) {
|
|
229
|
+
onSaveColumnState && onSaveColumnState(gridKey, columnState);
|
|
230
|
+
}
|
|
231
|
+
};
|
|
232
|
+
useEffect(function () {
|
|
233
|
+
gridRef.current = {
|
|
234
|
+
onRefresh: onRefresh
|
|
235
|
+
};
|
|
236
|
+
}, [queryFilter, JSON.stringify(gridParams), JSON.stringify(sortColumn)]);
|
|
237
|
+
var isValidNumber = function isValidNumber(value) {
|
|
238
|
+
return typeof value === 'number' && !isNaN(value);
|
|
239
|
+
};
|
|
240
|
+
var sumFun = function sumFun(field) {
|
|
241
|
+
return _sumBy(rowData, function (cur) {
|
|
242
|
+
if (isValidNumber(cur[field])) {
|
|
243
|
+
return cur[field];
|
|
244
|
+
}
|
|
245
|
+
return 0;
|
|
246
|
+
});
|
|
247
|
+
};
|
|
248
|
+
var avgFun = function avgFun(field) {
|
|
249
|
+
var sum = _sumBy(rowData, function (cur) {
|
|
250
|
+
if (isValidNumber(cur[field]) && cur[field] !== undefined && cur[field] !== null) {
|
|
251
|
+
return cur[field];
|
|
252
|
+
}
|
|
253
|
+
return 0;
|
|
254
|
+
});
|
|
255
|
+
var count = rowData.filter(function (cur) {
|
|
256
|
+
return cur[field] !== undefined && cur[field] !== null;
|
|
257
|
+
});
|
|
258
|
+
return count ? sum / count.length : 0;
|
|
259
|
+
};
|
|
260
|
+
var standardDeviationFun = function standardDeviationFun(field) {
|
|
261
|
+
var validValues = rowData.filter(function (cur) {
|
|
262
|
+
return isValidNumber(cur[field]);
|
|
263
|
+
});
|
|
264
|
+
var count = validValues.length;
|
|
265
|
+
if (count === 0) return 0;
|
|
266
|
+
var mean = sumFun(field) / count;
|
|
267
|
+
var variance = _sumBy(rowData, function (cur) {
|
|
268
|
+
if (cur[field] !== undefined && cur[field] !== null) {
|
|
269
|
+
var diff = cur[field] - mean;
|
|
270
|
+
return diff * diff;
|
|
271
|
+
}
|
|
272
|
+
return 0;
|
|
273
|
+
}) / count;
|
|
274
|
+
return Math.sqrt(variance);
|
|
275
|
+
};
|
|
276
|
+
|
|
277
|
+
// sum 求和 avg 平均值 standardDeviation 标准差
|
|
278
|
+
var calculatefun = function calculatefun(calcColFields) {
|
|
279
|
+
var calculateArrCopy = [];
|
|
280
|
+
calcColFields.map(function (i) {
|
|
281
|
+
switch (i.calculateType) {
|
|
282
|
+
case "sum":
|
|
283
|
+
calculateArrCopy.push(_defineProperty({}, i.field, sumFun(i.field)));
|
|
284
|
+
break;
|
|
285
|
+
case "avg":
|
|
286
|
+
var a = avgFun(i.field);
|
|
287
|
+
calculateArrCopy.push(_defineProperty({}, i.field, a));
|
|
288
|
+
break;
|
|
289
|
+
case "standardDeviation":
|
|
290
|
+
calculateArrCopy.push(_defineProperty({}, i.field, standardDeviationFun(i.field)));
|
|
291
|
+
break;
|
|
292
|
+
default:
|
|
293
|
+
break;
|
|
294
|
+
}
|
|
295
|
+
});
|
|
296
|
+
return calculateArrCopy;
|
|
297
|
+
};
|
|
298
|
+
var getTableColumns = function getTableColumns() {
|
|
299
|
+
var columnProps = React.Children.map(children, function (child, index) {
|
|
300
|
+
return child.props;
|
|
301
|
+
});
|
|
302
|
+
var columnDefs = !columnProps ? props.columnDefs ? props.columnDefs : [] : columnProps;
|
|
303
|
+
extensibleColumns && gridKey && extensibleColumns[gridKey] && extensibleColumns[gridKey].map(function (column) {
|
|
304
|
+
columnDefs.push({
|
|
305
|
+
field: column.name,
|
|
306
|
+
headerName: column.displayName,
|
|
307
|
+
type: column.propertyType,
|
|
308
|
+
width: column.width
|
|
309
|
+
});
|
|
310
|
+
});
|
|
311
|
+
return columnDefs;
|
|
312
|
+
};
|
|
313
|
+
var colDefs = useMemo(function () {
|
|
314
|
+
var columnDefs = getTableColumns();
|
|
315
|
+
columnDefs = columnDefs.filter(function (x) {
|
|
316
|
+
return !x.hideInTable;
|
|
317
|
+
});
|
|
318
|
+
return columnDefs;
|
|
319
|
+
}, [props.columnDefs, extensibleColumns]);
|
|
320
|
+
var allColDefs = useMemo(function () {
|
|
321
|
+
return getTableColumns();
|
|
322
|
+
}, [props.columnDefs, extensibleColumns]);
|
|
323
|
+
useEffect(function () {
|
|
324
|
+
if (!allColDefs || rowData.length === 0) return;
|
|
325
|
+
var calcColFields = allColDefs.filter(function (col) {
|
|
326
|
+
return col.calculateType;
|
|
327
|
+
}).map(function (col) {
|
|
328
|
+
return {
|
|
329
|
+
field: col.field,
|
|
330
|
+
calculateType: col.calculateType
|
|
331
|
+
};
|
|
332
|
+
});
|
|
333
|
+
if (calcColFields.length > 0) {
|
|
334
|
+
var calculatedValues = calculatefun(calcColFields);
|
|
335
|
+
setCalculateArr(calculatedValues);
|
|
336
|
+
}
|
|
337
|
+
}, [allColDefs, rowData]);
|
|
338
|
+
var rowDataMemo = useMemo(function () {
|
|
339
|
+
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;
|
|
340
|
+
}, [rowData, props.treeData]);
|
|
341
|
+
return /*#__PURE__*/_jsx(Spin, {
|
|
342
|
+
spinning: loading,
|
|
343
|
+
wrapperClassName: "grid-spin",
|
|
344
|
+
children: /*#__PURE__*/_jsxs("div", {
|
|
345
|
+
className: "grid-container",
|
|
346
|
+
style: {
|
|
347
|
+
display: "flex",
|
|
348
|
+
flexDirection: "column",
|
|
349
|
+
flex: 1,
|
|
350
|
+
height: "100%"
|
|
351
|
+
},
|
|
352
|
+
children: [search == false ? null : /*#__PURE__*/_jsx(FormRender, {
|
|
353
|
+
colDefs: allColDefs,
|
|
354
|
+
columnStates: columnState || [],
|
|
355
|
+
gridApi: apiRef.current,
|
|
356
|
+
onQuery: function onQuery(formValues) {
|
|
357
|
+
setQueryFilter(_objectSpread({}, formValues));
|
|
358
|
+
onRequest && onRequest(formValues);
|
|
359
|
+
}
|
|
360
|
+
}), /*#__PURE__*/_jsxs(Card, {
|
|
361
|
+
bordered: false,
|
|
362
|
+
headStyle: {
|
|
363
|
+
border: 0
|
|
364
|
+
},
|
|
365
|
+
bodyStyle: {
|
|
366
|
+
margin: 0,
|
|
367
|
+
padding: 12,
|
|
368
|
+
paddingTop: 0,
|
|
369
|
+
height: "100%",
|
|
370
|
+
display: "flex",
|
|
371
|
+
flexDirection: "column"
|
|
372
|
+
},
|
|
373
|
+
style: {
|
|
374
|
+
height: "100%"
|
|
375
|
+
},
|
|
376
|
+
children: [/*#__PURE__*/_jsxs("div", {
|
|
377
|
+
style: _objectSpread({
|
|
378
|
+
display: "flex",
|
|
379
|
+
flexDirection: "column",
|
|
380
|
+
height: "100%"
|
|
381
|
+
}, style),
|
|
382
|
+
children: [hideTool ? null : /*#__PURE__*/_jsx(ToolBar, {
|
|
383
|
+
title: headerTitle,
|
|
384
|
+
actions: actionDom,
|
|
385
|
+
settings: [/*#__PURE__*/_jsx(SettingItem, {
|
|
386
|
+
onClick: onRefresh,
|
|
387
|
+
icon: /*#__PURE__*/_jsx(RedoOutlined, {})
|
|
388
|
+
}), /*#__PURE__*/_jsx(Setting, {
|
|
389
|
+
gridKey: gridKey,
|
|
390
|
+
gridApi: apiRef.current,
|
|
391
|
+
onSaveColumnState: onColumnStateChanged
|
|
392
|
+
})]
|
|
393
|
+
}), /*#__PURE__*/_jsx(AgGridReact, _objectSpread(_objectSpread({
|
|
394
|
+
className: "ag-theme-custom"
|
|
395
|
+
}, rest), {}, {
|
|
396
|
+
gridOptions: {
|
|
397
|
+
enableCellTextSelection: true,
|
|
398
|
+
ensureDomOrder: true
|
|
399
|
+
},
|
|
400
|
+
enableRangeSelection: true,
|
|
401
|
+
suppressCopyRowsToClipboard: true
|
|
402
|
+
//指定客户端模式
|
|
403
|
+
,
|
|
404
|
+
rowModelType: "clientSide",
|
|
405
|
+
maintainColumnOrder: true,
|
|
406
|
+
rowData: rowDataMemo,
|
|
407
|
+
onGridReady: onGridReady,
|
|
408
|
+
defaultColDef: defaultColDef,
|
|
409
|
+
onSortChanged: function onSortChanged(event) {
|
|
410
|
+
sortChanged(event.api);
|
|
411
|
+
props.onSortChanged && props.onSortChanged(event);
|
|
412
|
+
},
|
|
413
|
+
onSelectionChanged: onRowChanged,
|
|
414
|
+
onRowSelected: onRowSelected,
|
|
415
|
+
onDragStopped: function onDragStopped(e) {
|
|
416
|
+
if (apiRef.current) {
|
|
417
|
+
var _apiRef$current2;
|
|
418
|
+
var _columnState = (_apiRef$current2 = apiRef.current) === null || _apiRef$current2 === void 0 ? void 0 : _apiRef$current2.getColumnState();
|
|
419
|
+
setColumnState(_columnState);
|
|
420
|
+
onColumnStateChanged && onColumnStateChanged(_columnState);
|
|
421
|
+
}
|
|
422
|
+
}
|
|
423
|
+
// onColumnMoved={() => {
|
|
424
|
+
// if (apiRef.current) {
|
|
425
|
+
// setColumnState(apiRef.current?.getColumnState());
|
|
426
|
+
// }
|
|
427
|
+
// }}
|
|
428
|
+
,
|
|
429
|
+
pinnedBottomRowData: calculateArr,
|
|
430
|
+
columnTypes: columnTypes,
|
|
431
|
+
animateRows: true
|
|
432
|
+
//停用默认分页组件
|
|
433
|
+
,
|
|
434
|
+
suppressPaginationPanel: true,
|
|
435
|
+
columnDefs: colDefs
|
|
436
|
+
}))]
|
|
437
|
+
}), /*#__PURE__*/_jsx("div", {
|
|
438
|
+
style: {
|
|
439
|
+
marginTop: 12,
|
|
440
|
+
display: "flex",
|
|
441
|
+
justifyContent: "flex-end"
|
|
442
|
+
},
|
|
443
|
+
children: /*#__PURE__*/_jsx(Pagination, {
|
|
444
|
+
pageSize: pagination.pageSize,
|
|
445
|
+
current: pagination.current,
|
|
446
|
+
total: pagination.total,
|
|
447
|
+
onChange: function onChange(page, pageSize) {
|
|
448
|
+
setPagination(_objectSpread(_objectSpread({}, pagination), {}, {
|
|
449
|
+
pageSize: pageSize,
|
|
450
|
+
current: page
|
|
451
|
+
}));
|
|
452
|
+
},
|
|
453
|
+
onShowSizeChange: function onShowSizeChange(current, size) {
|
|
454
|
+
setPagination(_objectSpread(_objectSpread({}, pagination), {}, {
|
|
455
|
+
pageSize: size,
|
|
456
|
+
current: current
|
|
457
|
+
}));
|
|
458
|
+
},
|
|
459
|
+
size: "small",
|
|
460
|
+
showTotal: function showTotal(total, range) {
|
|
461
|
+
return "\u7B2C ".concat(range[0], "-").concat(range[1], " \u6761/\u603B\u5171 ").concat(total, " \u6761");
|
|
462
|
+
},
|
|
463
|
+
pageSizeOptions: [10, 100, 200, 500, 1000, 10000],
|
|
464
|
+
hideOnSinglePage: false,
|
|
465
|
+
showQuickJumper: false
|
|
466
|
+
})
|
|
467
|
+
})]
|
|
468
|
+
})]
|
|
469
|
+
})
|
|
470
|
+
});
|
|
471
|
+
}
|
|
472
|
+
export default AgGridPlus;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
3
|
+
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
|
|
4
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
5
|
+
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; }
|
|
6
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
7
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
8
|
+
var GridManage = /*#__PURE__*/function () {
|
|
9
|
+
function GridManage() {
|
|
10
|
+
_classCallCheck(this, GridManage);
|
|
11
|
+
_defineProperty(this, "agGridApi", void 0);
|
|
12
|
+
_defineProperty(this, "rowkey", void 0);
|
|
13
|
+
_defineProperty(this, "columnsDefs", void 0);
|
|
14
|
+
}
|
|
15
|
+
_createClass(GridManage, [{
|
|
16
|
+
key: "dataSourceChanged",
|
|
17
|
+
value: function dataSourceChanged() {
|
|
18
|
+
var dataSource = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
19
|
+
} // if (!Array.isArray(dataSource) || !this.agGridApi) return;
|
|
20
|
+
// const gridDataSource: any[] = [];
|
|
21
|
+
// this.agGridApi.forEachNode(node => {
|
|
22
|
+
// if (node.data) gridDataSource.push(node.data);
|
|
23
|
+
// });
|
|
24
|
+
|
|
25
|
+
// if (isEqual(dataSource, gridDataSource) || isEqual(dataSource, this.agGridConfig.dataSource))
|
|
26
|
+
// return this.agGridApi.setRowData(dataSource);
|
|
27
|
+
// this.reset({
|
|
28
|
+
// dataSource: dataSource,
|
|
29
|
+
// });
|
|
30
|
+
// this.agGridApi.setRowData([]);
|
|
31
|
+
// this.agGridApi.setRowData(dataSource);
|
|
32
|
+
}]);
|
|
33
|
+
return GridManage;
|
|
34
|
+
}();
|
|
35
|
+
export { GridManage as default };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import AgGridPlus from "./ag-gridPlus";
|
|
3
|
+
import { AgGridColumn } from "./interface";
|
|
4
|
+
import { GridPlusContext } from "./context/gridContext";
|
|
5
|
+
import "./ag-grid-theme-builder.css";
|
|
6
|
+
export var useGridPlusColumnState = function useGridPlusColumnState() {
|
|
7
|
+
return React.useContext(GridPlusContext);
|
|
8
|
+
};
|
|
9
|
+
export { AgGridPlus, AgGridColumn, GridPlusContext };
|
|
10
|
+
export { dateValueFormatter, dateTimeValueFormatter, convertFilterModel, convertSortModel, flattenTreeDeep, toTree, flatten } from "./utils";
|