@nokecy/qc-ui 1.0.74 → 1.0.75
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 +87 -41
- package/dist/cjs/ag-grid-plus/storage/SchemeSyncManager.d.ts +1 -1
- package/dist/cjs/ag-grid-plus/storage/SchemeSyncManager.js +2 -2
- package/dist/esm/ag-grid-plus/ag-gridPlus.js +87 -41
- package/dist/esm/ag-grid-plus/storage/SchemeSyncManager.d.ts +1 -1
- package/dist/esm/ag-grid-plus/storage/SchemeSyncManager.js +2 -2
- package/dist/umd/qc-ui.min.js +1 -1
- package/package.json +1 -1
|
@@ -117,31 +117,27 @@ function AgGridPlus(props) {
|
|
|
117
117
|
setRowData = _useState10[1];
|
|
118
118
|
var _useState11 = (0, _react.useState)({}),
|
|
119
119
|
_useState12 = _slicedToArray(_useState11, 2),
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
var _useState13 = (0, _react.useState)(
|
|
120
|
+
queryFilter = _useState12[0],
|
|
121
|
+
setQueryFilter = _useState12[1];
|
|
122
|
+
var _useState13 = (0, _react.useState)(),
|
|
123
123
|
_useState14 = _slicedToArray(_useState13, 2),
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
var _useState15 = (0, _react.useState)(),
|
|
127
|
-
_useState16 = _slicedToArray(_useState15, 2),
|
|
128
|
-
sortColumn = _useState16[0],
|
|
129
|
-
setSortColumn = _useState16[1];
|
|
124
|
+
sortColumn = _useState14[0],
|
|
125
|
+
setSortColumn = _useState14[1];
|
|
130
126
|
// 初始化分页参数,支持外部传入的pageSize
|
|
131
|
-
var
|
|
127
|
+
var _useState15 = (0, _react.useState)({
|
|
132
128
|
pageSize: props.pageSize !== undefined ? props.pageSize : props.hidePagination ? 10000 : 200,
|
|
133
129
|
current: 1,
|
|
134
130
|
total: dataSource ? dataSource.length : 0
|
|
135
131
|
}),
|
|
136
|
-
|
|
137
|
-
pagination =
|
|
138
|
-
setPagination =
|
|
132
|
+
_useState16 = _slicedToArray(_useState15, 2),
|
|
133
|
+
pagination = _useState16[0],
|
|
134
|
+
setPagination = _useState16[1];
|
|
139
135
|
|
|
140
136
|
// ============ 查询方案管理 ============
|
|
141
|
-
var
|
|
142
|
-
|
|
143
|
-
queryItemsOrder =
|
|
144
|
-
setQueryItemsOrder =
|
|
137
|
+
var _useState17 = (0, _react.useState)([]),
|
|
138
|
+
_useState18 = _slicedToArray(_useState17, 2),
|
|
139
|
+
queryItemsOrder = _useState18[0],
|
|
140
|
+
setQueryItemsOrder = _useState18[1];
|
|
145
141
|
|
|
146
142
|
// 尝试获取全局适配器(如果已初始化)
|
|
147
143
|
var globalQueryAdapter = (0, _globalSyncManager.isGlobalSyncInitialized)() ? (0, _globalSyncManager.useGlobalQueryAdapter)() : undefined;
|
|
@@ -424,6 +420,9 @@ function AgGridPlus(props) {
|
|
|
424
420
|
var stableSortColumn = (0, _react.useMemo)(function () {
|
|
425
421
|
return sortColumn;
|
|
426
422
|
}, [JSON.stringify(sortColumn)]);
|
|
423
|
+
var stableQueryFilter = (0, _react.useMemo)(function () {
|
|
424
|
+
return queryFilter;
|
|
425
|
+
}, [JSON.stringify(queryFilter)]);
|
|
427
426
|
var onGridReady = (0, _react.useCallback)(function (params) {
|
|
428
427
|
var _apiRef$current3;
|
|
429
428
|
apiRef.current = params.api;
|
|
@@ -435,7 +434,7 @@ function AgGridPlus(props) {
|
|
|
435
434
|
setReady(true);
|
|
436
435
|
}, [dataSource]);
|
|
437
436
|
var onRequest = (0, _react.useCallback)(function (queryFilter) {
|
|
438
|
-
if (!
|
|
437
|
+
if (!requestRef.current) return;
|
|
439
438
|
setLoading(true);
|
|
440
439
|
_logger.logger.debug('开始请求数据', {
|
|
441
440
|
queryFilter: queryFilter,
|
|
@@ -451,7 +450,7 @@ function AgGridPlus(props) {
|
|
|
451
450
|
maxResultCount: pagination.pageSize,
|
|
452
451
|
sorter: getSort(stableSortColumn)
|
|
453
452
|
});
|
|
454
|
-
|
|
453
|
+
requestRef.current(params, undefined, queryFilter).then(function (response) {
|
|
455
454
|
var _apiRef$current4;
|
|
456
455
|
// 验证响应数据格式
|
|
457
456
|
if (!response || _typeof(response) !== 'object') {
|
|
@@ -496,8 +495,8 @@ function AgGridPlus(props) {
|
|
|
496
495
|
_antd.message.error(gridError.getUserMessage());
|
|
497
496
|
|
|
498
497
|
// 如果用户提供了错误处理回调,调用它
|
|
499
|
-
if (
|
|
500
|
-
|
|
498
|
+
if (onErrorRef.current) {
|
|
499
|
+
onErrorRef.current(gridError);
|
|
501
500
|
}
|
|
502
501
|
});
|
|
503
502
|
} catch (error) {
|
|
@@ -510,18 +509,53 @@ function AgGridPlus(props) {
|
|
|
510
509
|
}, error instanceof Error ? error : undefined);
|
|
511
510
|
_logger.logger.error('数据请求处理失败', gridError.getDetails());
|
|
512
511
|
_antd.message.error(gridError.getUserMessage());
|
|
513
|
-
if (
|
|
514
|
-
|
|
512
|
+
if (onErrorRef.current) {
|
|
513
|
+
onErrorRef.current(gridError);
|
|
515
514
|
}
|
|
516
515
|
}
|
|
517
|
-
}, [
|
|
516
|
+
}, [stableGridParams, stableSortColumn, pagination.pageSize, pagination.current]);
|
|
518
517
|
|
|
519
|
-
//
|
|
518
|
+
// 使用 ref 追踪依赖项变化
|
|
519
|
+
var depsRef = (0, _react.useRef)({
|
|
520
|
+
ready: ready,
|
|
521
|
+
stableQueryFilter: stableQueryFilter,
|
|
522
|
+
paginationCurrent: pagination.current,
|
|
523
|
+
paginationPageSize: pagination.pageSize,
|
|
524
|
+
stableSortColumn: stableSortColumn
|
|
525
|
+
});
|
|
526
|
+
|
|
527
|
+
// 请求数据 - 当 ready 状态变化或真正需要请求的参数变化时触发
|
|
520
528
|
(0, _react.useEffect)(function () {
|
|
521
|
-
|
|
522
|
-
|
|
529
|
+
var prevDeps = depsRef.current;
|
|
530
|
+
var changedDeps = [];
|
|
531
|
+
if (prevDeps.ready !== ready) changedDeps.push('ready');
|
|
532
|
+
if (prevDeps.stableQueryFilter !== stableQueryFilter) changedDeps.push('stableQueryFilter');
|
|
533
|
+
if (prevDeps.paginationCurrent !== pagination.current) changedDeps.push('pagination.current');
|
|
534
|
+
if (prevDeps.paginationPageSize !== pagination.pageSize) changedDeps.push('pagination.pageSize');
|
|
535
|
+
if (prevDeps.stableSortColumn !== stableSortColumn) changedDeps.push('stableSortColumn');
|
|
536
|
+
if (changedDeps.length > 0) {
|
|
537
|
+
console.log('🔍 useEffect 依赖项变化:', changedDeps.join(', '));
|
|
523
538
|
}
|
|
524
|
-
|
|
539
|
+
depsRef.current = {
|
|
540
|
+
ready: ready,
|
|
541
|
+
stableQueryFilter: stableQueryFilter,
|
|
542
|
+
paginationCurrent: pagination.current,
|
|
543
|
+
paginationPageSize: pagination.pageSize,
|
|
544
|
+
stableSortColumn: stableSortColumn
|
|
545
|
+
};
|
|
546
|
+
if (ready && requestRef.current) {
|
|
547
|
+
_logger.logger.debug('useEffect 触发数据请求', {
|
|
548
|
+
ready: ready,
|
|
549
|
+
hasRequest: !!requestRef.current,
|
|
550
|
+
queryFilter: stableQueryFilter,
|
|
551
|
+
'pagination.current': pagination.current,
|
|
552
|
+
'pagination.pageSize': pagination.pageSize,
|
|
553
|
+
stableSortColumn: stableSortColumn,
|
|
554
|
+
changedDeps: changedDeps
|
|
555
|
+
});
|
|
556
|
+
onRequest(stableQueryFilter);
|
|
557
|
+
}
|
|
558
|
+
}, [ready, stableQueryFilter, pagination.current, pagination.pageSize, stableSortColumn]);
|
|
525
559
|
var handelgridPlusColumnState = function handelgridPlusColumnState(columnState) {
|
|
526
560
|
var cellMap = {};
|
|
527
561
|
if ((0, _isArray2.default)(columnState)) {
|
|
@@ -547,10 +581,10 @@ function AgGridPlus(props) {
|
|
|
547
581
|
setSortColumn(sortedColumn);
|
|
548
582
|
};
|
|
549
583
|
var onRefresh = (0, _react.useCallback)(function () {
|
|
550
|
-
if (
|
|
551
|
-
onRequest(
|
|
584
|
+
if (requestRef.current) {
|
|
585
|
+
onRequest(stableQueryFilter);
|
|
552
586
|
}
|
|
553
|
-
}, [
|
|
587
|
+
}, [onRequest, stableQueryFilter]);
|
|
554
588
|
(0, _react.useEffect)(function () {
|
|
555
589
|
gridRef.current = {
|
|
556
590
|
onRefresh: onRefresh
|
|
@@ -561,11 +595,21 @@ function AgGridPlus(props) {
|
|
|
561
595
|
props.onSelectionChanged(e);
|
|
562
596
|
}
|
|
563
597
|
}, [props.onSelectionChanged]);
|
|
564
|
-
var onRowSelected = (0, _react.useCallback)(function (e) {
|
|
565
|
-
setSelectRow(e.data);
|
|
566
598
|
|
|
599
|
+
// 使用 ref 保存最新的回调,避免不必要的 useCallback 重新创建
|
|
600
|
+
var onSelectedRowsChangeRef = (0, _react.useRef)(onSelectedRowsChange);
|
|
601
|
+
var onRowSelectedCallbackRef = (0, _react.useRef)(props.onRowSelected);
|
|
602
|
+
var onErrorRef = (0, _react.useRef)(props.onError);
|
|
603
|
+
var requestRef = (0, _react.useRef)(request);
|
|
604
|
+
(0, _react.useEffect)(function () {
|
|
605
|
+
onSelectedRowsChangeRef.current = onSelectedRowsChange;
|
|
606
|
+
onRowSelectedCallbackRef.current = props.onRowSelected;
|
|
607
|
+
onErrorRef.current = props.onError;
|
|
608
|
+
requestRef.current = request;
|
|
609
|
+
});
|
|
610
|
+
var onRowSelected = (0, _react.useCallback)(function (e) {
|
|
567
611
|
// 处理选中行数据回调
|
|
568
|
-
if (
|
|
612
|
+
if (onSelectedRowsChangeRef.current && apiRef.current) {
|
|
569
613
|
// 获取所有选中的行
|
|
570
614
|
var allSelectedRows = apiRef.current.getSelectedRows();
|
|
571
615
|
|
|
@@ -599,12 +643,12 @@ function AgGridPlus(props) {
|
|
|
599
643
|
return selectedRowId && displayedRowId && selectedRowId === displayedRowId;
|
|
600
644
|
});
|
|
601
645
|
});
|
|
602
|
-
|
|
646
|
+
onSelectedRowsChangeRef.current(visibleSelectedRows);
|
|
603
647
|
}
|
|
604
|
-
if (
|
|
605
|
-
|
|
648
|
+
if (onRowSelectedCallbackRef.current) {
|
|
649
|
+
onRowSelectedCallbackRef.current(e);
|
|
606
650
|
}
|
|
607
|
-
}, [
|
|
651
|
+
}, [props.getRowId]);
|
|
608
652
|
var onColumnStateChanged = function onColumnStateChanged(columnState) {
|
|
609
653
|
if (gridKey) {
|
|
610
654
|
onSaveColumnState && onSaveColumnState(gridKey, columnState);
|
|
@@ -887,9 +931,11 @@ function AgGridPlus(props) {
|
|
|
887
931
|
maintainColumnOrder: true,
|
|
888
932
|
rowData: rowDataMemo,
|
|
889
933
|
onGridReady: onGridReady,
|
|
890
|
-
defaultColDef: defaultColDef
|
|
891
|
-
|
|
892
|
-
|
|
934
|
+
defaultColDef: defaultColDef,
|
|
935
|
+
getRowId: props.getRowId || function (params) {
|
|
936
|
+
var _params$data3, _params$data4;
|
|
937
|
+
return ((_params$data3 = params.data) === null || _params$data3 === void 0 ? void 0 : _params$data3.id) || ((_params$data4 = params.data) === null || _params$data4 === void 0 ? void 0 : _params$data4._id);
|
|
938
|
+
},
|
|
893
939
|
onSortChanged: function onSortChanged(event) {
|
|
894
940
|
sortChanged(event.api);
|
|
895
941
|
props.onSortChanged && props.onSortChanged(event);
|
|
@@ -107,7 +107,7 @@ var SchemeSyncManager = exports.SchemeSyncManager = /*#__PURE__*/function () {
|
|
|
107
107
|
}
|
|
108
108
|
|
|
109
109
|
/**
|
|
110
|
-
* 同步方案的完整 API URL (
|
|
110
|
+
* 同步方案的完整 API URL (POST请求)
|
|
111
111
|
* @private
|
|
112
112
|
*/
|
|
113
113
|
}, {
|
|
@@ -417,7 +417,7 @@ var SchemeSyncManager = exports.SchemeSyncManager = /*#__PURE__*/function () {
|
|
|
417
417
|
// 发送同步请求
|
|
418
418
|
_context2.next = 19;
|
|
419
419
|
return this.fetchWithRetry(this.getSyncApiUrl(), {
|
|
420
|
-
method: '
|
|
420
|
+
method: 'POST',
|
|
421
421
|
headers: {
|
|
422
422
|
'Content-Type': 'application/json'
|
|
423
423
|
},
|
|
@@ -109,31 +109,27 @@ function AgGridPlus(props) {
|
|
|
109
109
|
setRowData = _useState10[1];
|
|
110
110
|
var _useState11 = useState({}),
|
|
111
111
|
_useState12 = _slicedToArray(_useState11, 2),
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
var _useState13 = useState(
|
|
112
|
+
queryFilter = _useState12[0],
|
|
113
|
+
setQueryFilter = _useState12[1];
|
|
114
|
+
var _useState13 = useState(),
|
|
115
115
|
_useState14 = _slicedToArray(_useState13, 2),
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
var _useState15 = useState(),
|
|
119
|
-
_useState16 = _slicedToArray(_useState15, 2),
|
|
120
|
-
sortColumn = _useState16[0],
|
|
121
|
-
setSortColumn = _useState16[1];
|
|
116
|
+
sortColumn = _useState14[0],
|
|
117
|
+
setSortColumn = _useState14[1];
|
|
122
118
|
// 初始化分页参数,支持外部传入的pageSize
|
|
123
|
-
var
|
|
119
|
+
var _useState15 = useState({
|
|
124
120
|
pageSize: props.pageSize !== undefined ? props.pageSize : props.hidePagination ? 10000 : 200,
|
|
125
121
|
current: 1,
|
|
126
122
|
total: dataSource ? dataSource.length : 0
|
|
127
123
|
}),
|
|
128
|
-
|
|
129
|
-
pagination =
|
|
130
|
-
setPagination =
|
|
124
|
+
_useState16 = _slicedToArray(_useState15, 2),
|
|
125
|
+
pagination = _useState16[0],
|
|
126
|
+
setPagination = _useState16[1];
|
|
131
127
|
|
|
132
128
|
// ============ 查询方案管理 ============
|
|
133
|
-
var
|
|
134
|
-
|
|
135
|
-
queryItemsOrder =
|
|
136
|
-
setQueryItemsOrder =
|
|
129
|
+
var _useState17 = useState([]),
|
|
130
|
+
_useState18 = _slicedToArray(_useState17, 2),
|
|
131
|
+
queryItemsOrder = _useState18[0],
|
|
132
|
+
setQueryItemsOrder = _useState18[1];
|
|
137
133
|
|
|
138
134
|
// 尝试获取全局适配器(如果已初始化)
|
|
139
135
|
var globalQueryAdapter = isGlobalSyncInitialized() ? useGlobalQueryAdapter() : undefined;
|
|
@@ -416,6 +412,9 @@ function AgGridPlus(props) {
|
|
|
416
412
|
var stableSortColumn = useMemo(function () {
|
|
417
413
|
return sortColumn;
|
|
418
414
|
}, [JSON.stringify(sortColumn)]);
|
|
415
|
+
var stableQueryFilter = useMemo(function () {
|
|
416
|
+
return queryFilter;
|
|
417
|
+
}, [JSON.stringify(queryFilter)]);
|
|
419
418
|
var onGridReady = useCallback(function (params) {
|
|
420
419
|
var _apiRef$current3;
|
|
421
420
|
apiRef.current = params.api;
|
|
@@ -427,7 +426,7 @@ function AgGridPlus(props) {
|
|
|
427
426
|
setReady(true);
|
|
428
427
|
}, [dataSource]);
|
|
429
428
|
var onRequest = useCallback(function (queryFilter) {
|
|
430
|
-
if (!
|
|
429
|
+
if (!requestRef.current) return;
|
|
431
430
|
setLoading(true);
|
|
432
431
|
logger.debug('开始请求数据', {
|
|
433
432
|
queryFilter: queryFilter,
|
|
@@ -443,7 +442,7 @@ function AgGridPlus(props) {
|
|
|
443
442
|
maxResultCount: pagination.pageSize,
|
|
444
443
|
sorter: getSort(stableSortColumn)
|
|
445
444
|
});
|
|
446
|
-
|
|
445
|
+
requestRef.current(params, undefined, queryFilter).then(function (response) {
|
|
447
446
|
var _apiRef$current4;
|
|
448
447
|
// 验证响应数据格式
|
|
449
448
|
if (!response || _typeof(response) !== 'object') {
|
|
@@ -488,8 +487,8 @@ function AgGridPlus(props) {
|
|
|
488
487
|
message.error(gridError.getUserMessage());
|
|
489
488
|
|
|
490
489
|
// 如果用户提供了错误处理回调,调用它
|
|
491
|
-
if (
|
|
492
|
-
|
|
490
|
+
if (onErrorRef.current) {
|
|
491
|
+
onErrorRef.current(gridError);
|
|
493
492
|
}
|
|
494
493
|
});
|
|
495
494
|
} catch (error) {
|
|
@@ -502,18 +501,53 @@ function AgGridPlus(props) {
|
|
|
502
501
|
}, error instanceof Error ? error : undefined);
|
|
503
502
|
logger.error('数据请求处理失败', gridError.getDetails());
|
|
504
503
|
message.error(gridError.getUserMessage());
|
|
505
|
-
if (
|
|
506
|
-
|
|
504
|
+
if (onErrorRef.current) {
|
|
505
|
+
onErrorRef.current(gridError);
|
|
507
506
|
}
|
|
508
507
|
}
|
|
509
|
-
}, [
|
|
508
|
+
}, [stableGridParams, stableSortColumn, pagination.pageSize, pagination.current]);
|
|
510
509
|
|
|
511
|
-
//
|
|
510
|
+
// 使用 ref 追踪依赖项变化
|
|
511
|
+
var depsRef = useRef({
|
|
512
|
+
ready: ready,
|
|
513
|
+
stableQueryFilter: stableQueryFilter,
|
|
514
|
+
paginationCurrent: pagination.current,
|
|
515
|
+
paginationPageSize: pagination.pageSize,
|
|
516
|
+
stableSortColumn: stableSortColumn
|
|
517
|
+
});
|
|
518
|
+
|
|
519
|
+
// 请求数据 - 当 ready 状态变化或真正需要请求的参数变化时触发
|
|
512
520
|
useEffect(function () {
|
|
513
|
-
|
|
514
|
-
|
|
521
|
+
var prevDeps = depsRef.current;
|
|
522
|
+
var changedDeps = [];
|
|
523
|
+
if (prevDeps.ready !== ready) changedDeps.push('ready');
|
|
524
|
+
if (prevDeps.stableQueryFilter !== stableQueryFilter) changedDeps.push('stableQueryFilter');
|
|
525
|
+
if (prevDeps.paginationCurrent !== pagination.current) changedDeps.push('pagination.current');
|
|
526
|
+
if (prevDeps.paginationPageSize !== pagination.pageSize) changedDeps.push('pagination.pageSize');
|
|
527
|
+
if (prevDeps.stableSortColumn !== stableSortColumn) changedDeps.push('stableSortColumn');
|
|
528
|
+
if (changedDeps.length > 0) {
|
|
529
|
+
console.log('🔍 useEffect 依赖项变化:', changedDeps.join(', '));
|
|
515
530
|
}
|
|
516
|
-
|
|
531
|
+
depsRef.current = {
|
|
532
|
+
ready: ready,
|
|
533
|
+
stableQueryFilter: stableQueryFilter,
|
|
534
|
+
paginationCurrent: pagination.current,
|
|
535
|
+
paginationPageSize: pagination.pageSize,
|
|
536
|
+
stableSortColumn: stableSortColumn
|
|
537
|
+
};
|
|
538
|
+
if (ready && requestRef.current) {
|
|
539
|
+
logger.debug('useEffect 触发数据请求', {
|
|
540
|
+
ready: ready,
|
|
541
|
+
hasRequest: !!requestRef.current,
|
|
542
|
+
queryFilter: stableQueryFilter,
|
|
543
|
+
'pagination.current': pagination.current,
|
|
544
|
+
'pagination.pageSize': pagination.pageSize,
|
|
545
|
+
stableSortColumn: stableSortColumn,
|
|
546
|
+
changedDeps: changedDeps
|
|
547
|
+
});
|
|
548
|
+
onRequest(stableQueryFilter);
|
|
549
|
+
}
|
|
550
|
+
}, [ready, stableQueryFilter, pagination.current, pagination.pageSize, stableSortColumn]);
|
|
517
551
|
var handelgridPlusColumnState = function handelgridPlusColumnState(columnState) {
|
|
518
552
|
var cellMap = {};
|
|
519
553
|
if (_isArray(columnState)) {
|
|
@@ -539,10 +573,10 @@ function AgGridPlus(props) {
|
|
|
539
573
|
setSortColumn(sortedColumn);
|
|
540
574
|
};
|
|
541
575
|
var onRefresh = useCallback(function () {
|
|
542
|
-
if (
|
|
543
|
-
onRequest(
|
|
576
|
+
if (requestRef.current) {
|
|
577
|
+
onRequest(stableQueryFilter);
|
|
544
578
|
}
|
|
545
|
-
}, [
|
|
579
|
+
}, [onRequest, stableQueryFilter]);
|
|
546
580
|
useEffect(function () {
|
|
547
581
|
gridRef.current = {
|
|
548
582
|
onRefresh: onRefresh
|
|
@@ -553,11 +587,21 @@ function AgGridPlus(props) {
|
|
|
553
587
|
props.onSelectionChanged(e);
|
|
554
588
|
}
|
|
555
589
|
}, [props.onSelectionChanged]);
|
|
556
|
-
var onRowSelected = useCallback(function (e) {
|
|
557
|
-
setSelectRow(e.data);
|
|
558
590
|
|
|
591
|
+
// 使用 ref 保存最新的回调,避免不必要的 useCallback 重新创建
|
|
592
|
+
var onSelectedRowsChangeRef = useRef(onSelectedRowsChange);
|
|
593
|
+
var onRowSelectedCallbackRef = useRef(props.onRowSelected);
|
|
594
|
+
var onErrorRef = useRef(props.onError);
|
|
595
|
+
var requestRef = useRef(request);
|
|
596
|
+
useEffect(function () {
|
|
597
|
+
onSelectedRowsChangeRef.current = onSelectedRowsChange;
|
|
598
|
+
onRowSelectedCallbackRef.current = props.onRowSelected;
|
|
599
|
+
onErrorRef.current = props.onError;
|
|
600
|
+
requestRef.current = request;
|
|
601
|
+
});
|
|
602
|
+
var onRowSelected = useCallback(function (e) {
|
|
559
603
|
// 处理选中行数据回调
|
|
560
|
-
if (
|
|
604
|
+
if (onSelectedRowsChangeRef.current && apiRef.current) {
|
|
561
605
|
// 获取所有选中的行
|
|
562
606
|
var allSelectedRows = apiRef.current.getSelectedRows();
|
|
563
607
|
|
|
@@ -591,12 +635,12 @@ function AgGridPlus(props) {
|
|
|
591
635
|
return selectedRowId && displayedRowId && selectedRowId === displayedRowId;
|
|
592
636
|
});
|
|
593
637
|
});
|
|
594
|
-
|
|
638
|
+
onSelectedRowsChangeRef.current(visibleSelectedRows);
|
|
595
639
|
}
|
|
596
|
-
if (
|
|
597
|
-
|
|
640
|
+
if (onRowSelectedCallbackRef.current) {
|
|
641
|
+
onRowSelectedCallbackRef.current(e);
|
|
598
642
|
}
|
|
599
|
-
}, [
|
|
643
|
+
}, [props.getRowId]);
|
|
600
644
|
var onColumnStateChanged = function onColumnStateChanged(columnState) {
|
|
601
645
|
if (gridKey) {
|
|
602
646
|
onSaveColumnState && onSaveColumnState(gridKey, columnState);
|
|
@@ -879,9 +923,11 @@ function AgGridPlus(props) {
|
|
|
879
923
|
maintainColumnOrder: true,
|
|
880
924
|
rowData: rowDataMemo,
|
|
881
925
|
onGridReady: onGridReady,
|
|
882
|
-
defaultColDef: defaultColDef
|
|
883
|
-
|
|
884
|
-
|
|
926
|
+
defaultColDef: defaultColDef,
|
|
927
|
+
getRowId: props.getRowId || function (params) {
|
|
928
|
+
var _params$data3, _params$data4;
|
|
929
|
+
return ((_params$data3 = params.data) === null || _params$data3 === void 0 ? void 0 : _params$data3.id) || ((_params$data4 = params.data) === null || _params$data4 === void 0 ? void 0 : _params$data4._id);
|
|
930
|
+
},
|
|
885
931
|
onSortChanged: function onSortChanged(event) {
|
|
886
932
|
sortChanged(event.api);
|
|
887
933
|
props.onSortChanged && props.onSortChanged(event);
|
|
@@ -101,7 +101,7 @@ export var SchemeSyncManager = /*#__PURE__*/function () {
|
|
|
101
101
|
}
|
|
102
102
|
|
|
103
103
|
/**
|
|
104
|
-
* 同步方案的完整 API URL (
|
|
104
|
+
* 同步方案的完整 API URL (POST请求)
|
|
105
105
|
* @private
|
|
106
106
|
*/
|
|
107
107
|
}, {
|
|
@@ -411,7 +411,7 @@ export var SchemeSyncManager = /*#__PURE__*/function () {
|
|
|
411
411
|
// 发送同步请求
|
|
412
412
|
_context2.next = 19;
|
|
413
413
|
return this.fetchWithRetry(this.getSyncApiUrl(), {
|
|
414
|
-
method: '
|
|
414
|
+
method: 'POST',
|
|
415
415
|
headers: {
|
|
416
416
|
'Content-Type': 'application/json'
|
|
417
417
|
},
|