@nokecy/qc-ui 1.0.50 → 1.0.51

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.
@@ -24,7 +24,7 @@ var _customGroupCellRenderer = _interopRequireDefault(require("./_utils/customGr
24
24
  var _processColumnGroups = _interopRequireDefault(require("./_utils/processColumnGroups"));
25
25
  var _processFormColumnState = _interopRequireDefault(require("./_utils/processFormColumnState"));
26
26
  var _antdV = require("@formily/antd-v5");
27
- var _excluded = ["style", "loading", "params", "request", "dataSource", "treeKeyName", "treeParentName", "rowData", "gridRef", "headerTitle", "toolBarRender", "search", "hideTool", "onGridReady", "gridKey", "children", "defaultSearchExpand", "overlayNoRowsTemplateText", "queryDefaultRows"];
27
+ var _excluded = ["style", "loading", "params", "request", "dataSource", "treeKeyName", "treeParentName", "rowData", "gridRef", "headerTitle", "toolBarRender", "search", "hideTool", "onGridReady", "gridKey", "children", "defaultSearchExpand", "overlayNoRowsTemplateText", "queryDefaultRows", "onSelectedRowsChange"];
28
28
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
29
29
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
30
30
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -67,6 +67,7 @@ function AgGridPlus(props) {
67
67
  defaultSearchExpand = props.defaultSearchExpand,
68
68
  overlayNoRowsTemplateText = props.overlayNoRowsTemplateText,
69
69
  queryDefaultRows = props.queryDefaultRows,
70
+ onSelectedRowsChange = props.onSelectedRowsChange,
70
71
  rest = _objectWithoutProperties(props, _excluded);
71
72
  var _useGridPlusColumnSta = (0, _.useGridPlusColumnState)(),
72
73
  onSaveColumnState = _useGridPlusColumnSta.onSaveColumnState,
@@ -272,8 +273,46 @@ function AgGridPlus(props) {
272
273
  }, []);
273
274
  var onRowSelected = (0, _react.useCallback)(function (e) {
274
275
  setSelectRow(e.data);
276
+
277
+ // 处理选中行数据回调
278
+ if (onSelectedRowsChange && apiRef.current) {
279
+ // 获取所有选中的行
280
+ var allSelectedRows = apiRef.current.getSelectedRows();
281
+
282
+ // 获取当前显示的行(经过筛选后的行)
283
+ var displayedRows = [];
284
+ apiRef.current.forEachNodeAfterFilterAndSort(function (node) {
285
+ displayedRows.push(node.data);
286
+ });
287
+
288
+ // 获取行ID的方法,优先使用外部传入的getRowId,否则默认使用id字段
289
+ var getRowIdMethod = props.getRowId || function (params) {
290
+ var _params$data, _params$data2;
291
+ return ((_params$data = params.data) === null || _params$data === void 0 ? void 0 : _params$data.id) || ((_params$data2 = params.data) === null || _params$data2 === void 0 ? void 0 : _params$data2._id);
292
+ };
293
+
294
+ // 只保留既被选中又在当前显示的行
295
+ var visibleSelectedRows = allSelectedRows.filter(function (selectedRow) {
296
+ return displayedRows.some(function (displayedRow) {
297
+ var selectedRowId = getRowIdMethod({
298
+ data: selectedRow,
299
+ level: 0,
300
+ api: apiRef.current,
301
+ context: null
302
+ });
303
+ var displayedRowId = getRowIdMethod({
304
+ data: displayedRow,
305
+ level: 0,
306
+ api: apiRef.current,
307
+ context: null
308
+ });
309
+ return selectedRowId && displayedRowId && selectedRowId === displayedRowId;
310
+ });
311
+ });
312
+ onSelectedRowsChange(visibleSelectedRows);
313
+ }
275
314
  props.onRowSelected && props.onRowSelected(e);
276
- }, []);
315
+ }, [onSelectedRowsChange, props.getRowId]);
277
316
  var onColumnStateChanged = function onColumnStateChanged(columnState) {
278
317
  if (gridKey) {
279
318
  onSaveColumnState && onSaveColumnState(gridKey, columnState);
@@ -630,6 +669,10 @@ function AgGridPlus(props) {
630
669
  rowData: rowDataMemo,
631
670
  onGridReady: onGridReady,
632
671
  defaultColDef: defaultColDef,
672
+ getRowId: props.getRowId || function (params) {
673
+ var _params$data3, _params$data4;
674
+ 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);
675
+ },
633
676
  onSortChanged: function onSortChanged(event) {
634
677
  sortChanged(event.api);
635
678
  props.onSortChanged && props.onSortChanged(event);
@@ -45,6 +45,10 @@ interface GridProps extends AgGridReactProps {
45
45
  pageSizeOptions?: number[];
46
46
  hidePagination?: boolean;
47
47
  gridRef?: React.Ref<GridRef | undefined>;
48
+ /**
49
+ * 选中行变化回调函数
50
+ */
51
+ onSelectedRowsChange?: (selectedRows: any[]) => void;
48
52
  }
49
53
  interface AgGridColumnPropsClone extends ColDef {
50
54
  /**
@@ -104,7 +104,25 @@ var ArrayTable = (0, _react2.observer)(function (props) {
104
104
  onSaveColumnState && onSaveColumnState(props.gridKey, columnState);
105
105
  }
106
106
  };
107
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_antd.Space, {
107
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
108
+ ref: ref,
109
+ style: {
110
+ height: height ? height : 400
111
+ }
112
+ }, /*#__PURE__*/_react.default.createElement(_arrayBase.default, {
113
+ onAdd: onAdd,
114
+ onCopy: onCopy,
115
+ onRemove: onRemove,
116
+ onMoveUp: onMoveUp,
117
+ onMoveDown: onMoveDown
118
+ }, /*#__PURE__*/_react.default.createElement("div", {
119
+ style: {
120
+ width: '100%',
121
+ display: 'flex',
122
+ justifyContent: 'space-between',
123
+ alignItems: 'center'
124
+ }
125
+ }, /*#__PURE__*/_react.default.createElement(_antd.Space, {
108
126
  style: {
109
127
  marginBottom: 5
110
128
  }
@@ -125,24 +143,7 @@ var ArrayTable = (0, _react2.observer)(function (props) {
125
143
  name: key,
126
144
  onlyRenderProperties: true
127
145
  });
128
- })), /*#__PURE__*/_react.default.createElement("div", {
129
- ref: ref,
130
- style: {
131
- height: height ? height : 400
132
- }
133
- }, /*#__PURE__*/_react.default.createElement(_arrayBase.default, {
134
- onAdd: onAdd,
135
- onCopy: onCopy,
136
- onRemove: onRemove,
137
- onMoveUp: onMoveUp,
138
- onMoveDown: onMoveDown
139
- }, /*#__PURE__*/_react.default.createElement("div", {
140
- style: {
141
- width: '100%',
142
- display: 'flex',
143
- justifyContent: 'flex-end'
144
- }
145
- }, /*#__PURE__*/_react.default.createElement(_setting.default, {
146
+ })), /*#__PURE__*/_react.default.createElement(_setting.default, {
146
147
  gridKey: props.gridKey,
147
148
  gridApi: apiRef.current,
148
149
  gridApiState: gridApiState,
@@ -2,7 +2,7 @@ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" ==
2
2
  import _sumBy from "lodash/sumBy";
3
3
  import _uniqueId from "lodash/uniqueId";
4
4
  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"];
5
+ var _excluded = ["style", "loading", "params", "request", "dataSource", "treeKeyName", "treeParentName", "rowData", "gridRef", "headerTitle", "toolBarRender", "search", "hideTool", "onGridReady", "gridKey", "children", "defaultSearchExpand", "overlayNoRowsTemplateText", "queryDefaultRows", "onSelectedRowsChange"];
6
6
  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); }
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; }
@@ -58,6 +58,7 @@ function AgGridPlus(props) {
58
58
  defaultSearchExpand = props.defaultSearchExpand,
59
59
  overlayNoRowsTemplateText = props.overlayNoRowsTemplateText,
60
60
  queryDefaultRows = props.queryDefaultRows,
61
+ onSelectedRowsChange = props.onSelectedRowsChange,
61
62
  rest = _objectWithoutProperties(props, _excluded);
62
63
  var _useGridPlusColumnSta = useGridPlusColumnState(),
63
64
  onSaveColumnState = _useGridPlusColumnSta.onSaveColumnState,
@@ -263,8 +264,46 @@ function AgGridPlus(props) {
263
264
  }, []);
264
265
  var onRowSelected = useCallback(function (e) {
265
266
  setSelectRow(e.data);
267
+
268
+ // 处理选中行数据回调
269
+ if (onSelectedRowsChange && apiRef.current) {
270
+ // 获取所有选中的行
271
+ var allSelectedRows = apiRef.current.getSelectedRows();
272
+
273
+ // 获取当前显示的行(经过筛选后的行)
274
+ var displayedRows = [];
275
+ apiRef.current.forEachNodeAfterFilterAndSort(function (node) {
276
+ displayedRows.push(node.data);
277
+ });
278
+
279
+ // 获取行ID的方法,优先使用外部传入的getRowId,否则默认使用id字段
280
+ var getRowIdMethod = props.getRowId || function (params) {
281
+ var _params$data, _params$data2;
282
+ return ((_params$data = params.data) === null || _params$data === void 0 ? void 0 : _params$data.id) || ((_params$data2 = params.data) === null || _params$data2 === void 0 ? void 0 : _params$data2._id);
283
+ };
284
+
285
+ // 只保留既被选中又在当前显示的行
286
+ var visibleSelectedRows = allSelectedRows.filter(function (selectedRow) {
287
+ return displayedRows.some(function (displayedRow) {
288
+ var selectedRowId = getRowIdMethod({
289
+ data: selectedRow,
290
+ level: 0,
291
+ api: apiRef.current,
292
+ context: null
293
+ });
294
+ var displayedRowId = getRowIdMethod({
295
+ data: displayedRow,
296
+ level: 0,
297
+ api: apiRef.current,
298
+ context: null
299
+ });
300
+ return selectedRowId && displayedRowId && selectedRowId === displayedRowId;
301
+ });
302
+ });
303
+ onSelectedRowsChange(visibleSelectedRows);
304
+ }
266
305
  props.onRowSelected && props.onRowSelected(e);
267
- }, []);
306
+ }, [onSelectedRowsChange, props.getRowId]);
268
307
  var onColumnStateChanged = function onColumnStateChanged(columnState) {
269
308
  if (gridKey) {
270
309
  onSaveColumnState && onSaveColumnState(gridKey, columnState);
@@ -621,6 +660,10 @@ function AgGridPlus(props) {
621
660
  rowData: rowDataMemo,
622
661
  onGridReady: onGridReady,
623
662
  defaultColDef: defaultColDef,
663
+ getRowId: props.getRowId || function (params) {
664
+ var _params$data3, _params$data4;
665
+ 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);
666
+ },
624
667
  onSortChanged: function onSortChanged(event) {
625
668
  sortChanged(event.api);
626
669
  props.onSortChanged && props.onSortChanged(event);
@@ -45,6 +45,10 @@ interface GridProps extends AgGridReactProps {
45
45
  pageSizeOptions?: number[];
46
46
  hidePagination?: boolean;
47
47
  gridRef?: React.Ref<GridRef | undefined>;
48
+ /**
49
+ * 选中行变化回调函数
50
+ */
51
+ onSelectedRowsChange?: (selectedRows: any[]) => void;
48
52
  }
49
53
  interface AgGridColumnPropsClone extends ColDef {
50
54
  /**
@@ -98,7 +98,25 @@ var ArrayTable = observer(function (props) {
98
98
  onSaveColumnState && onSaveColumnState(props.gridKey, columnState);
99
99
  }
100
100
  };
101
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Space, {
101
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
102
+ ref: ref,
103
+ style: {
104
+ height: height ? height : 400
105
+ }
106
+ }, /*#__PURE__*/React.createElement(ArrayBase, {
107
+ onAdd: onAdd,
108
+ onCopy: onCopy,
109
+ onRemove: onRemove,
110
+ onMoveUp: onMoveUp,
111
+ onMoveDown: onMoveDown
112
+ }, /*#__PURE__*/React.createElement("div", {
113
+ style: {
114
+ width: '100%',
115
+ display: 'flex',
116
+ justifyContent: 'space-between',
117
+ alignItems: 'center'
118
+ }
119
+ }, /*#__PURE__*/React.createElement(Space, {
102
120
  style: {
103
121
  marginBottom: 5
104
122
  }
@@ -119,24 +137,7 @@ var ArrayTable = observer(function (props) {
119
137
  name: key,
120
138
  onlyRenderProperties: true
121
139
  });
122
- })), /*#__PURE__*/React.createElement("div", {
123
- ref: ref,
124
- style: {
125
- height: height ? height : 400
126
- }
127
- }, /*#__PURE__*/React.createElement(ArrayBase, {
128
- onAdd: onAdd,
129
- onCopy: onCopy,
130
- onRemove: onRemove,
131
- onMoveUp: onMoveUp,
132
- onMoveDown: onMoveDown
133
- }, /*#__PURE__*/React.createElement("div", {
134
- style: {
135
- width: '100%',
136
- display: 'flex',
137
- justifyContent: 'flex-end'
138
- }
139
- }, /*#__PURE__*/React.createElement(Setting, {
140
+ })), /*#__PURE__*/React.createElement(Setting, {
140
141
  gridKey: props.gridKey,
141
142
  gridApi: apiRef.current,
142
143
  gridApiState: gridApiState,