@nokecy/qc-ui 0.2.7 → 0.2.9
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 +85 -84
- package/dist/cjs/ag-grid-plus/context/gridContext.d.ts +2 -0
- package/dist/cjs/ag-grid-plus/context/gridContext.js +14 -0
- package/dist/cjs/ag-grid-plus/index.d.ts +1 -0
- package/dist/cjs/ag-grid-plus/index.js +12 -1
- package/dist/esm/ag-grid-plus/ag-gridPlus.js +84 -84
- package/dist/esm/ag-grid-plus/context/gridContext.d.ts +2 -0
- package/dist/esm/ag-grid-plus/context/gridContext.js +2 -0
- package/dist/esm/ag-grid-plus/index.d.ts +1 -0
- package/dist/esm/ag-grid-plus/index.js +5 -0
- package/dist/umd/qc-ui.min.css +1 -1
- package/dist/umd/qc-ui.min.js +1 -1
- package/package.json +4 -4
|
@@ -31,6 +31,8 @@ var _utils = require("./utils");
|
|
|
31
31
|
|
|
32
32
|
var _setting = _interopRequireDefault(require("./setting"));
|
|
33
33
|
|
|
34
|
+
var _ = require(".");
|
|
35
|
+
|
|
34
36
|
var _excluded = ["style", "loading", "params", "request", "dataSource", "treeParentName", "rowData", "gridRef", "headerTitle", "toolBarRender", "search", "hideTool", "onGridReady", "gridKey", "gridColumnState", "children"];
|
|
35
37
|
|
|
36
38
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -86,6 +88,7 @@ function AgGridPlus(props) {
|
|
|
86
88
|
children = props.children,
|
|
87
89
|
rest = _objectWithoutProperties(props, _excluded);
|
|
88
90
|
|
|
91
|
+
var gridPlusColumnState = (0, _.useGridPlusColumnState)();
|
|
89
92
|
var gridRef = (0, _react.useRef)();
|
|
90
93
|
var apiRef = (0, _react.useRef)();
|
|
91
94
|
var columnsRef = (0, _react.useRef)();
|
|
@@ -110,44 +113,75 @@ function AgGridPlus(props) {
|
|
|
110
113
|
rowData = _useState8[0],
|
|
111
114
|
setRowData = _useState8[1];
|
|
112
115
|
|
|
113
|
-
var _useState9 = (0, _react.useState)(
|
|
116
|
+
var _useState9 = (0, _react.useState)({}),
|
|
114
117
|
_useState10 = _slicedToArray(_useState9, 2),
|
|
115
|
-
|
|
116
|
-
|
|
118
|
+
queryFilter = _useState10[0],
|
|
119
|
+
setQueryFilter = _useState10[1];
|
|
117
120
|
|
|
118
|
-
var _useState11 = (0, _react.useState)(
|
|
121
|
+
var _useState11 = (0, _react.useState)(),
|
|
119
122
|
_useState12 = _slicedToArray(_useState11, 2),
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
var _useState13 = (0, _react.useState)(),
|
|
124
|
-
_useState14 = _slicedToArray(_useState13, 2),
|
|
125
|
-
sortColumn = _useState14[0],
|
|
126
|
-
setSortColumn = _useState14[1];
|
|
123
|
+
sortColumn = _useState12[0],
|
|
124
|
+
setSortColumn = _useState12[1];
|
|
127
125
|
|
|
128
|
-
var
|
|
126
|
+
var _useState13 = (0, _react.useState)({
|
|
129
127
|
pageSize: 200,
|
|
130
128
|
current: 1,
|
|
131
129
|
total: dataSource ? dataSource.length : 0
|
|
132
130
|
}),
|
|
133
|
-
|
|
134
|
-
pagination =
|
|
135
|
-
setPagination =
|
|
131
|
+
_useState14 = _slicedToArray(_useState13, 2),
|
|
132
|
+
pagination = _useState14[0],
|
|
133
|
+
setPagination = _useState14[1];
|
|
136
134
|
|
|
137
135
|
(0, _react.useImperativeHandle)(propsGridRef, function () {
|
|
138
136
|
return gridRef.current;
|
|
139
137
|
}); //默认列属性
|
|
140
138
|
|
|
141
|
-
var defaultColDef = {
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
139
|
+
var defaultColDef = (0, _react.useMemo)(function () {
|
|
140
|
+
return {
|
|
141
|
+
resizable: true,
|
|
142
|
+
sortable: true,
|
|
143
|
+
headerComponentParams: {
|
|
144
|
+
template: '<div class="ag-cell-label-container" role="presentation">' + // ' <span ref="eMenu" class="ag-header-icon ag-header-cell-menu-button" aria-hidden="true"></span>' +
|
|
145
|
+
' <div ref="eLabel" class="ag-header-cell-label" role="presentation">' + ' <span ref="eText" class="ag-header-cell-text"></span>' + // ' <span ref="eFilter" class="ag-header-icon ag-filter-icon"></span>' +
|
|
146
|
+
// ' <span ref="eSortOrder" class="ag-header-icon ag-sort-order"></span>' +
|
|
147
|
+
' <span ref="eSortAsc" class="ag-header-icon ag-sort-ascending-icon"></span>' + ' <span ref="eSortDesc" class="ag-header-icon ag-sort-descending-icon"></span>' + ' <span ref="eSortNone" class="ag-header-icon ag-sort-none-icon"></span>' + ' </div>' + '</div>'
|
|
148
|
+
}
|
|
149
|
+
};
|
|
150
|
+
}, []);
|
|
151
|
+
var columnTypes = (0, _react.useMemo)(function () {
|
|
152
|
+
return {
|
|
153
|
+
bool: {
|
|
154
|
+
filter: 'boolFilter',
|
|
155
|
+
cellRenderer: function cellRenderer(params) {
|
|
156
|
+
switch (params.value) {
|
|
157
|
+
case true:
|
|
158
|
+
case "0":
|
|
159
|
+
return /*#__PURE__*/_react.default.createElement(_antd.Tag, {
|
|
160
|
+
color: "success"
|
|
161
|
+
}, "\u662F");
|
|
162
|
+
|
|
163
|
+
case false:
|
|
164
|
+
case "1":
|
|
165
|
+
return /*#__PURE__*/_react.default.createElement(_antd.Tag, {
|
|
166
|
+
color: "error"
|
|
167
|
+
}, "\u5426");
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
},
|
|
171
|
+
numberColumn: {
|
|
172
|
+
width: 130,
|
|
173
|
+
filter: 'agNumberColumnFilter'
|
|
174
|
+
},
|
|
175
|
+
dateColumn: {
|
|
176
|
+
filter: 'agDateColumnFilter',
|
|
177
|
+
valueFormatter: _utils.dateValueFormatter
|
|
178
|
+
},
|
|
179
|
+
dateTimeColumn: {
|
|
180
|
+
filter: 'agDateColumnFilter',
|
|
181
|
+
valueFormatter: _utils.dateTimeValueFormatter
|
|
182
|
+
}
|
|
183
|
+
};
|
|
184
|
+
}, []); //请求数据
|
|
151
185
|
|
|
152
186
|
(0, _react.useEffect)(function () {
|
|
153
187
|
if (ready && request) {
|
|
@@ -156,13 +190,13 @@ function AgGridPlus(props) {
|
|
|
156
190
|
}, [ready, JSON.stringify(gridParams), JSON.stringify(sortColumn), pagination.pageSize, pagination.current]); // 加载列方案
|
|
157
191
|
|
|
158
192
|
(0, _react.useEffect)(function () {
|
|
159
|
-
if (
|
|
193
|
+
if (gridPlusColumnState && gridKey && gridPlusColumnState[gridKey] && columnsRef.current) {
|
|
160
194
|
columnsRef.current.applyColumnState({
|
|
161
|
-
state:
|
|
195
|
+
state: gridPlusColumnState[gridKey],
|
|
162
196
|
applyOrder: true
|
|
163
197
|
});
|
|
164
198
|
}
|
|
165
|
-
}, [
|
|
199
|
+
}, [gridPlusColumnState, columnsRef.current]);
|
|
166
200
|
(0, _react.useEffect)(function () {
|
|
167
201
|
setRowData(dataSource || propRowData || []);
|
|
168
202
|
}, [dataSource, propRowData]); //外部loading
|
|
@@ -209,7 +243,9 @@ function AgGridPlus(props) {
|
|
|
209
243
|
});
|
|
210
244
|
};
|
|
211
245
|
|
|
212
|
-
var actionDom =
|
|
246
|
+
var actionDom = (0, _react.useMemo)(function () {
|
|
247
|
+
return toolBarRender && toolBarRender(apiRef.current, (0, _utils.convertFilterModel)(queryFilter), queryFilter);
|
|
248
|
+
}, []);
|
|
213
249
|
|
|
214
250
|
var sortChanged = function sortChanged(columnApi) {
|
|
215
251
|
var sortedColumn = columnApi.getColumnState().find(function (col) {
|
|
@@ -222,7 +258,14 @@ function AgGridPlus(props) {
|
|
|
222
258
|
request && onRequest(queryFilter);
|
|
223
259
|
};
|
|
224
260
|
|
|
225
|
-
var
|
|
261
|
+
var onRowChanged = (0, _react.useCallback)(function (e) {
|
|
262
|
+
props.onSelectionChanged && props.onSelectionChanged(e);
|
|
263
|
+
}, []);
|
|
264
|
+
var onRowSelected = (0, _react.useCallback)(function (e) {
|
|
265
|
+
props.onRowSelected && props.onRowSelected(e);
|
|
266
|
+
}, []);
|
|
267
|
+
|
|
268
|
+
var onColumnStateChanged = function onColumnStateChanged(columnState) {};
|
|
226
269
|
|
|
227
270
|
(0, _react.useEffect)(function () {
|
|
228
271
|
gridRef.current = {
|
|
@@ -233,7 +276,10 @@ function AgGridPlus(props) {
|
|
|
233
276
|
return _react.default.Children.map(children, function (child, index) {
|
|
234
277
|
return child.props;
|
|
235
278
|
});
|
|
236
|
-
}, [
|
|
279
|
+
}, []);
|
|
280
|
+
var rowDataMemo = (0, _react.useMemo)(function () {
|
|
281
|
+
return props.treeData ? (0, _utils.flatten)((0, _utils.toTree)(rowData), treeParentName) : rowData;
|
|
282
|
+
}, [rowData, props.treeData]);
|
|
237
283
|
return /*#__PURE__*/_react.default.createElement(_antd.Spin, {
|
|
238
284
|
spinning: loading,
|
|
239
285
|
wrapperClassName: "grid-spin"
|
|
@@ -283,70 +329,25 @@ function AgGridPlus(props) {
|
|
|
283
329
|
}), /*#__PURE__*/_react.default.createElement(_setting.default, {
|
|
284
330
|
gridApi: apiRef.current,
|
|
285
331
|
columnApi: columnsRef.current,
|
|
286
|
-
onSaveColumnState:
|
|
332
|
+
onSaveColumnState: onColumnStateChanged
|
|
287
333
|
})]
|
|
288
334
|
}), /*#__PURE__*/_react.default.createElement(_agGridReact.AgGridReact, _extends({
|
|
289
335
|
className: "ag-theme-alpine"
|
|
290
336
|
}, rest, {
|
|
291
|
-
|
|
292
|
-
,
|
|
337
|
+
//指定客户端模式
|
|
293
338
|
rowModelType: "clientSide",
|
|
294
|
-
|
|
339
|
+
maintainColumnOrder: true,
|
|
340
|
+
rowData: rowDataMemo,
|
|
295
341
|
onGridReady: onGridReady,
|
|
296
342
|
defaultColDef: defaultColDef,
|
|
297
343
|
onSortChanged: function onSortChanged(event) {
|
|
298
344
|
sortChanged(event.columnApi);
|
|
299
345
|
props.onSortChanged && props.onSortChanged(event);
|
|
300
346
|
},
|
|
301
|
-
onSelectionChanged:
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
onDragStopped: function onDragStopped(e) {
|
|
306
|
-
if (columnsRef.current) {// setColumnState(columnsRef.current?.getColumnState());
|
|
307
|
-
}
|
|
308
|
-
},
|
|
309
|
-
onColumnResized: function onColumnResized(e) {
|
|
310
|
-
if (columnsRef.current) {// setColumnState(columnsRef.current?.getColumnState());
|
|
311
|
-
}
|
|
312
|
-
},
|
|
313
|
-
onColumnMoved: function onColumnMoved() {
|
|
314
|
-
if (columnsRef.current) {// setColumnState(columnsRef.current?.getColumnState());
|
|
315
|
-
}
|
|
316
|
-
},
|
|
317
|
-
columnTypes: {
|
|
318
|
-
bool: {
|
|
319
|
-
filter: 'boolFilter',
|
|
320
|
-
cellRenderer: function cellRenderer(params) {
|
|
321
|
-
switch (params.value) {
|
|
322
|
-
case true:
|
|
323
|
-
case "0":
|
|
324
|
-
return /*#__PURE__*/_react.default.createElement(_antd.Tag, {
|
|
325
|
-
color: "success"
|
|
326
|
-
}, "\u662F");
|
|
327
|
-
|
|
328
|
-
case false:
|
|
329
|
-
case "1":
|
|
330
|
-
return /*#__PURE__*/_react.default.createElement(_antd.Tag, {
|
|
331
|
-
color: "error"
|
|
332
|
-
}, "\u5426");
|
|
333
|
-
}
|
|
334
|
-
}
|
|
335
|
-
},
|
|
336
|
-
numberColumn: {
|
|
337
|
-
width: 130,
|
|
338
|
-
filter: 'agNumberColumnFilter'
|
|
339
|
-
},
|
|
340
|
-
dateColumn: {
|
|
341
|
-
filter: 'agDateColumnFilter',
|
|
342
|
-
valueFormatter: _utils.dateValueFormatter
|
|
343
|
-
},
|
|
344
|
-
dateTimeColumn: {
|
|
345
|
-
filter: 'agDateColumnFilter',
|
|
346
|
-
valueFormatter: _utils.dateTimeValueFormatter
|
|
347
|
-
}
|
|
348
|
-
} // animateRows={true}
|
|
349
|
-
//停用默认分页组件
|
|
347
|
+
onSelectionChanged: onRowChanged,
|
|
348
|
+
onRowSelected: onRowSelected,
|
|
349
|
+
columnTypes: columnTypes,
|
|
350
|
+
animateRows: true //停用默认分页组件
|
|
350
351
|
,
|
|
351
352
|
suppressPaginationPanel: true,
|
|
352
353
|
columnDefs: colDefs || props.columnDefs
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.GridPlusContext = void 0;
|
|
7
|
+
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
|
|
10
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
+
|
|
12
|
+
var GridPlusContext = /*#__PURE__*/_react.default.createContext(null);
|
|
13
|
+
|
|
14
|
+
exports.GridPlusContext = GridPlusContext;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import AgGridPlus from "./ag-gridPlus";
|
|
2
2
|
import { AgGridColumn } from "./interface";
|
|
3
|
+
export declare const useGridPlusColumnState: () => any;
|
|
3
4
|
export { AgGridPlus, AgGridColumn };
|
|
4
5
|
export { dateValueFormatter, dateTimeValueFormatter, convertFilterModel, convertSortModel, flattenTreeDeep, toTree, flatten } from "./utils";
|
|
@@ -57,11 +57,22 @@ Object.defineProperty(exports, "toTree", {
|
|
|
57
57
|
return _utils.toTree;
|
|
58
58
|
}
|
|
59
59
|
});
|
|
60
|
+
exports.useGridPlusColumnState = void 0;
|
|
61
|
+
|
|
62
|
+
var _react = _interopRequireDefault(require("react"));
|
|
60
63
|
|
|
61
64
|
var _agGridPlus = _interopRequireDefault(require("./ag-gridPlus"));
|
|
62
65
|
|
|
63
66
|
var _interface = require("./interface");
|
|
64
67
|
|
|
68
|
+
var _gridContext = require("./context/gridContext");
|
|
69
|
+
|
|
65
70
|
var _utils = require("./utils");
|
|
66
71
|
|
|
67
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
72
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
73
|
+
|
|
74
|
+
var useGridPlusColumnState = function useGridPlusColumnState() {
|
|
75
|
+
return _react.default.useContext(_gridContext.GridPlusContext);
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
exports.useGridPlusColumnState = useGridPlusColumnState;
|
|
@@ -36,6 +36,7 @@ import SettingItem from "./settingItem";
|
|
|
36
36
|
import { RedoOutlined } from '@ant-design/icons';
|
|
37
37
|
import { convertFilterModel, dateTimeValueFormatter, dateValueFormatter, flatten, toTree } from "./utils";
|
|
38
38
|
import Setting from "./setting";
|
|
39
|
+
import { useGridPlusColumnState } from '.';
|
|
39
40
|
|
|
40
41
|
var getSort = function getSort(columnState) {
|
|
41
42
|
return columnState ? "".concat(columnState.colId, " ").concat(columnState.sort) : "";
|
|
@@ -60,6 +61,7 @@ function AgGridPlus(props) {
|
|
|
60
61
|
children = props.children,
|
|
61
62
|
rest = _objectWithoutProperties(props, _excluded);
|
|
62
63
|
|
|
64
|
+
var gridPlusColumnState = useGridPlusColumnState();
|
|
63
65
|
var gridRef = useRef();
|
|
64
66
|
var apiRef = useRef();
|
|
65
67
|
var columnsRef = useRef();
|
|
@@ -84,44 +86,75 @@ function AgGridPlus(props) {
|
|
|
84
86
|
rowData = _useState8[0],
|
|
85
87
|
setRowData = _useState8[1];
|
|
86
88
|
|
|
87
|
-
var _useState9 = useState(
|
|
89
|
+
var _useState9 = useState({}),
|
|
88
90
|
_useState10 = _slicedToArray(_useState9, 2),
|
|
89
|
-
|
|
90
|
-
|
|
91
|
+
queryFilter = _useState10[0],
|
|
92
|
+
setQueryFilter = _useState10[1];
|
|
91
93
|
|
|
92
|
-
var _useState11 = useState(
|
|
94
|
+
var _useState11 = useState(),
|
|
93
95
|
_useState12 = _slicedToArray(_useState11, 2),
|
|
94
|
-
|
|
95
|
-
|
|
96
|
+
sortColumn = _useState12[0],
|
|
97
|
+
setSortColumn = _useState12[1];
|
|
96
98
|
|
|
97
|
-
var _useState13 = useState(
|
|
98
|
-
_useState14 = _slicedToArray(_useState13, 2),
|
|
99
|
-
sortColumn = _useState14[0],
|
|
100
|
-
setSortColumn = _useState14[1];
|
|
101
|
-
|
|
102
|
-
var _useState15 = useState({
|
|
99
|
+
var _useState13 = useState({
|
|
103
100
|
pageSize: 200,
|
|
104
101
|
current: 1,
|
|
105
102
|
total: dataSource ? dataSource.length : 0
|
|
106
103
|
}),
|
|
107
|
-
|
|
108
|
-
pagination =
|
|
109
|
-
setPagination =
|
|
104
|
+
_useState14 = _slicedToArray(_useState13, 2),
|
|
105
|
+
pagination = _useState14[0],
|
|
106
|
+
setPagination = _useState14[1];
|
|
110
107
|
|
|
111
108
|
useImperativeHandle(propsGridRef, function () {
|
|
112
109
|
return gridRef.current;
|
|
113
110
|
}); //默认列属性
|
|
114
111
|
|
|
115
|
-
var defaultColDef = {
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
112
|
+
var defaultColDef = useMemo(function () {
|
|
113
|
+
return {
|
|
114
|
+
resizable: true,
|
|
115
|
+
sortable: true,
|
|
116
|
+
headerComponentParams: {
|
|
117
|
+
template: '<div class="ag-cell-label-container" role="presentation">' + // ' <span ref="eMenu" class="ag-header-icon ag-header-cell-menu-button" aria-hidden="true"></span>' +
|
|
118
|
+
' <div ref="eLabel" class="ag-header-cell-label" role="presentation">' + ' <span ref="eText" class="ag-header-cell-text"></span>' + // ' <span ref="eFilter" class="ag-header-icon ag-filter-icon"></span>' +
|
|
119
|
+
// ' <span ref="eSortOrder" class="ag-header-icon ag-sort-order"></span>' +
|
|
120
|
+
' <span ref="eSortAsc" class="ag-header-icon ag-sort-ascending-icon"></span>' + ' <span ref="eSortDesc" class="ag-header-icon ag-sort-descending-icon"></span>' + ' <span ref="eSortNone" class="ag-header-icon ag-sort-none-icon"></span>' + ' </div>' + '</div>'
|
|
121
|
+
}
|
|
122
|
+
};
|
|
123
|
+
}, []);
|
|
124
|
+
var columnTypes = useMemo(function () {
|
|
125
|
+
return {
|
|
126
|
+
bool: {
|
|
127
|
+
filter: 'boolFilter',
|
|
128
|
+
cellRenderer: function cellRenderer(params) {
|
|
129
|
+
switch (params.value) {
|
|
130
|
+
case true:
|
|
131
|
+
case "0":
|
|
132
|
+
return /*#__PURE__*/React.createElement(Tag, {
|
|
133
|
+
color: "success"
|
|
134
|
+
}, "\u662F");
|
|
135
|
+
|
|
136
|
+
case false:
|
|
137
|
+
case "1":
|
|
138
|
+
return /*#__PURE__*/React.createElement(Tag, {
|
|
139
|
+
color: "error"
|
|
140
|
+
}, "\u5426");
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
},
|
|
144
|
+
numberColumn: {
|
|
145
|
+
width: 130,
|
|
146
|
+
filter: 'agNumberColumnFilter'
|
|
147
|
+
},
|
|
148
|
+
dateColumn: {
|
|
149
|
+
filter: 'agDateColumnFilter',
|
|
150
|
+
valueFormatter: dateValueFormatter
|
|
151
|
+
},
|
|
152
|
+
dateTimeColumn: {
|
|
153
|
+
filter: 'agDateColumnFilter',
|
|
154
|
+
valueFormatter: dateTimeValueFormatter
|
|
155
|
+
}
|
|
156
|
+
};
|
|
157
|
+
}, []); //请求数据
|
|
125
158
|
|
|
126
159
|
useEffect(function () {
|
|
127
160
|
if (ready && request) {
|
|
@@ -130,13 +163,13 @@ function AgGridPlus(props) {
|
|
|
130
163
|
}, [ready, JSON.stringify(gridParams), JSON.stringify(sortColumn), pagination.pageSize, pagination.current]); // 加载列方案
|
|
131
164
|
|
|
132
165
|
useEffect(function () {
|
|
133
|
-
if (
|
|
166
|
+
if (gridPlusColumnState && gridKey && gridPlusColumnState[gridKey] && columnsRef.current) {
|
|
134
167
|
columnsRef.current.applyColumnState({
|
|
135
|
-
state:
|
|
168
|
+
state: gridPlusColumnState[gridKey],
|
|
136
169
|
applyOrder: true
|
|
137
170
|
});
|
|
138
171
|
}
|
|
139
|
-
}, [
|
|
172
|
+
}, [gridPlusColumnState, columnsRef.current]);
|
|
140
173
|
useEffect(function () {
|
|
141
174
|
setRowData(dataSource || propRowData || []);
|
|
142
175
|
}, [dataSource, propRowData]); //外部loading
|
|
@@ -183,7 +216,9 @@ function AgGridPlus(props) {
|
|
|
183
216
|
});
|
|
184
217
|
};
|
|
185
218
|
|
|
186
|
-
var actionDom =
|
|
219
|
+
var actionDom = useMemo(function () {
|
|
220
|
+
return toolBarRender && toolBarRender(apiRef.current, convertFilterModel(queryFilter), queryFilter);
|
|
221
|
+
}, []);
|
|
187
222
|
|
|
188
223
|
var sortChanged = function sortChanged(columnApi) {
|
|
189
224
|
var sortedColumn = columnApi.getColumnState().find(function (col) {
|
|
@@ -196,7 +231,14 @@ function AgGridPlus(props) {
|
|
|
196
231
|
request && onRequest(queryFilter);
|
|
197
232
|
};
|
|
198
233
|
|
|
199
|
-
var
|
|
234
|
+
var onRowChanged = useCallback(function (e) {
|
|
235
|
+
props.onSelectionChanged && props.onSelectionChanged(e);
|
|
236
|
+
}, []);
|
|
237
|
+
var onRowSelected = useCallback(function (e) {
|
|
238
|
+
props.onRowSelected && props.onRowSelected(e);
|
|
239
|
+
}, []);
|
|
240
|
+
|
|
241
|
+
var onColumnStateChanged = function onColumnStateChanged(columnState) {};
|
|
200
242
|
|
|
201
243
|
useEffect(function () {
|
|
202
244
|
gridRef.current = {
|
|
@@ -207,7 +249,10 @@ function AgGridPlus(props) {
|
|
|
207
249
|
return React.Children.map(children, function (child, index) {
|
|
208
250
|
return child.props;
|
|
209
251
|
});
|
|
210
|
-
}, [
|
|
252
|
+
}, []);
|
|
253
|
+
var rowDataMemo = useMemo(function () {
|
|
254
|
+
return props.treeData ? flatten(toTree(rowData), treeParentName) : rowData;
|
|
255
|
+
}, [rowData, props.treeData]);
|
|
211
256
|
return /*#__PURE__*/React.createElement(Spin, {
|
|
212
257
|
spinning: loading,
|
|
213
258
|
wrapperClassName: "grid-spin"
|
|
@@ -257,70 +302,25 @@ function AgGridPlus(props) {
|
|
|
257
302
|
}), /*#__PURE__*/React.createElement(Setting, {
|
|
258
303
|
gridApi: apiRef.current,
|
|
259
304
|
columnApi: columnsRef.current,
|
|
260
|
-
onSaveColumnState:
|
|
305
|
+
onSaveColumnState: onColumnStateChanged
|
|
261
306
|
})]
|
|
262
307
|
}), /*#__PURE__*/React.createElement(AgGridReact, _extends({
|
|
263
308
|
className: "ag-theme-alpine"
|
|
264
309
|
}, rest, {
|
|
265
|
-
|
|
266
|
-
,
|
|
310
|
+
//指定客户端模式
|
|
267
311
|
rowModelType: "clientSide",
|
|
268
|
-
|
|
312
|
+
maintainColumnOrder: true,
|
|
313
|
+
rowData: rowDataMemo,
|
|
269
314
|
onGridReady: onGridReady,
|
|
270
315
|
defaultColDef: defaultColDef,
|
|
271
316
|
onSortChanged: function onSortChanged(event) {
|
|
272
317
|
sortChanged(event.columnApi);
|
|
273
318
|
props.onSortChanged && props.onSortChanged(event);
|
|
274
319
|
},
|
|
275
|
-
onSelectionChanged:
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
onDragStopped: function onDragStopped(e) {
|
|
280
|
-
if (columnsRef.current) {// setColumnState(columnsRef.current?.getColumnState());
|
|
281
|
-
}
|
|
282
|
-
},
|
|
283
|
-
onColumnResized: function onColumnResized(e) {
|
|
284
|
-
if (columnsRef.current) {// setColumnState(columnsRef.current?.getColumnState());
|
|
285
|
-
}
|
|
286
|
-
},
|
|
287
|
-
onColumnMoved: function onColumnMoved() {
|
|
288
|
-
if (columnsRef.current) {// setColumnState(columnsRef.current?.getColumnState());
|
|
289
|
-
}
|
|
290
|
-
},
|
|
291
|
-
columnTypes: {
|
|
292
|
-
bool: {
|
|
293
|
-
filter: 'boolFilter',
|
|
294
|
-
cellRenderer: function cellRenderer(params) {
|
|
295
|
-
switch (params.value) {
|
|
296
|
-
case true:
|
|
297
|
-
case "0":
|
|
298
|
-
return /*#__PURE__*/React.createElement(Tag, {
|
|
299
|
-
color: "success"
|
|
300
|
-
}, "\u662F");
|
|
301
|
-
|
|
302
|
-
case false:
|
|
303
|
-
case "1":
|
|
304
|
-
return /*#__PURE__*/React.createElement(Tag, {
|
|
305
|
-
color: "error"
|
|
306
|
-
}, "\u5426");
|
|
307
|
-
}
|
|
308
|
-
}
|
|
309
|
-
},
|
|
310
|
-
numberColumn: {
|
|
311
|
-
width: 130,
|
|
312
|
-
filter: 'agNumberColumnFilter'
|
|
313
|
-
},
|
|
314
|
-
dateColumn: {
|
|
315
|
-
filter: 'agDateColumnFilter',
|
|
316
|
-
valueFormatter: dateValueFormatter
|
|
317
|
-
},
|
|
318
|
-
dateTimeColumn: {
|
|
319
|
-
filter: 'agDateColumnFilter',
|
|
320
|
-
valueFormatter: dateTimeValueFormatter
|
|
321
|
-
}
|
|
322
|
-
} // animateRows={true}
|
|
323
|
-
//停用默认分页组件
|
|
320
|
+
onSelectionChanged: onRowChanged,
|
|
321
|
+
onRowSelected: onRowSelected,
|
|
322
|
+
columnTypes: columnTypes,
|
|
323
|
+
animateRows: true //停用默认分页组件
|
|
324
324
|
,
|
|
325
325
|
suppressPaginationPanel: true,
|
|
326
326
|
columnDefs: colDefs || props.columnDefs
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import AgGridPlus from "./ag-gridPlus";
|
|
2
2
|
import { AgGridColumn } from "./interface";
|
|
3
|
+
export declare const useGridPlusColumnState: () => any;
|
|
3
4
|
export { AgGridPlus, AgGridColumn };
|
|
4
5
|
export { dateValueFormatter, dateTimeValueFormatter, convertFilterModel, convertSortModel, flattenTreeDeep, toTree, flatten } from "./utils";
|
|
@@ -1,4 +1,9 @@
|
|
|
1
|
+
import React from "react";
|
|
1
2
|
import AgGridPlus from "./ag-gridPlus";
|
|
2
3
|
import { AgGridColumn } from "./interface";
|
|
4
|
+
import { GridPlusContext } from "./context/gridContext";
|
|
5
|
+
export var useGridPlusColumnState = function useGridPlusColumnState() {
|
|
6
|
+
return React.useContext(GridPlusContext);
|
|
7
|
+
};
|
|
3
8
|
export { AgGridPlus, AgGridColumn };
|
|
4
9
|
export { dateValueFormatter, dateTimeValueFormatter, convertFilterModel, convertSortModel, flattenTreeDeep, toTree, flatten } from "./utils";
|