@hw-component/table 1.10.46 → 1.10.48

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.
@@ -12,7 +12,9 @@ interface FilterKeysModal {
12
12
  selectedRowKeys?: React.Key[];
13
13
  records?: any[];
14
14
  rowKey?: string | GetRowKey<any>;
15
+ preserveSelectedRowKeys?: boolean;
16
+ selectedRowData?: Record<string, any>[];
15
17
  }
16
- export declare const useSynchronousKeys: ({ selectedRowKeys, records, rowKey, }: FilterKeysModal) => void;
18
+ export declare const useSynchronousKeys: ({ selectedRowKeys, records, rowKey, preserveSelectedRowKeys, selectedRowData }: FilterKeysModal) => void;
17
19
  export declare const useAlwaysShowAlert: (selectedRowData: RowObj, alwaysShowAlert?: boolean) => boolean | undefined;
18
20
  export {};
@@ -1,9 +1,11 @@
1
1
  // welcome to hoo hoo hoo
2
+ import _toConsumableArray from '@babel/runtime-corejs3/helpers/toConsumableArray';
2
3
  import _slicedToArray from '@babel/runtime-corejs3/helpers/slicedToArray';
3
4
  import _forEachInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/for-each';
4
5
  import _Array$isArray from '@babel/runtime-corejs3/core-js-stable/array/is-array';
5
6
  import _Object$keys from '@babel/runtime-corejs3/core-js-stable/object/keys';
6
7
  import _findIndexInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/find-index';
8
+ import _concatInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/concat';
7
9
  import _mapInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/map';
8
10
  import _keysInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/keys';
9
11
  import { useState, useEffect, useMemo } from 'react';
@@ -87,25 +89,33 @@ var useTableChange = function useTableChange(_ref) {
87
89
  var useSynchronousKeys = function useSynchronousKeys(_ref4) {
88
90
  var selectedRowKeys = _ref4.selectedRowKeys,
89
91
  records = _ref4.records,
90
- rowKey = _ref4.rowKey;
92
+ rowKey = _ref4.rowKey,
93
+ preserveSelectedRowKeys = _ref4.preserveSelectedRowKeys;
94
+ _ref4.selectedRowData;
91
95
  var _useHTableContext = useHTableContext(),
92
96
  rowOnChange = _useHTableContext.rowOnChange;
93
97
  var findId = function findId(key) {
98
+ var _context, _context2;
99
+ var mgArray = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
94
100
  var msRecords = records;
95
- var rowIndex = _findIndexInstanceProperty(msRecords).call(msRecords, function (item, index) {
101
+ var rowIndex = _findIndexInstanceProperty(_context = _concatInstanceProperty(_context2 = []).call(_context2, _toConsumableArray(mgArray), _toConsumableArray(msRecords))).call(_context, function (item, index) {
96
102
  var id = typeof rowKey === "function" ? rowKey(item, index) : item[rowKey];
97
103
  return id === key;
98
104
  });
99
105
  return msRecords[rowIndex];
100
106
  };
101
107
  useEffect(function () {
102
- if (selectedRowKeys && records && rowKey) {
108
+ if (!selectedRowKeys || !records || !rowKey) {
109
+ return;
110
+ }
111
+ if (!preserveSelectedRowKeys) {
103
112
  var resultData = _mapInstanceProperty(selectedRowKeys).call(selectedRowKeys, function (key) {
104
113
  return findId(key);
105
114
  });
106
115
  rowOnChange(selectedRowKeys, resultData);
116
+ return;
107
117
  }
108
- }, [selectedRowKeys, records, rowKey]);
118
+ }, [selectedRowKeys, records, rowKey, preserveSelectedRowKeys]);
109
119
  };
110
120
  var useAlwaysShowAlert = function useAlwaysShowAlert(selectedRowData, alwaysShowAlert) {
111
121
  var _selectedRowData$keys = _keysInstanceProperty(selectedRowData),
@@ -62,7 +62,8 @@ var Body = (function (bodyProps) {
62
62
  props = _objectWithoutProperties(bodyProps, _excluded);
63
63
  var _ref = rowSelection || {},
64
64
  selectedRowKeys = _ref.selectedRowKeys,
65
- configAlwaysShowAlert = _ref.alwaysShowAlert;
65
+ configAlwaysShowAlert = _ref.alwaysShowAlert,
66
+ preserveSelectedRowKeys = _ref.preserveSelectedRowKeys;
66
67
  var _useHTableContext = useHTableContext(),
67
68
  contextTableInstance = _useHTableContext.tableInstance,
68
69
  contextConfigData = _useHTableContext.configData,
@@ -108,7 +109,9 @@ var Body = (function (bodyProps) {
108
109
  useSynchronousKeys({
109
110
  selectedRowKeys: selectedRowKeys,
110
111
  records: records,
111
- rowKey: rowKey
112
+ rowKey: rowKey,
113
+ preserveSelectedRowKeys: preserveSelectedRowKeys,
114
+ selectedRowData: selectedRowData.rowData
112
115
  });
113
116
  var optionsNode = options && jsx(Options, _objectSpread(_objectSpread({
114
117
  reload: function reload() {
@@ -2,6 +2,17 @@
2
2
  import _slicedToArray from '@babel/runtime-corejs3/helpers/slicedToArray';
3
3
  import { useState } from 'react';
4
4
 
5
+ var initSelectedData = function initSelectedData(rowSelection) {
6
+ if (!rowSelection) {
7
+ return {};
8
+ }
9
+ var selectedRowKeys = rowSelection.selectedRowKeys,
10
+ selectedRowData = rowSelection.selectedRowData;
11
+ return {
12
+ keys: selectedRowKeys,
13
+ rowData: selectedRowData
14
+ };
15
+ };
5
16
  var useRowObj = (function (rowSelection) {
6
17
  var change = function change(keys, rowData) {
7
18
  if (rowSelection === false) {
@@ -11,7 +22,7 @@ var useRowObj = (function (rowSelection) {
11
22
  onChange = _ref.onChange;
12
23
  onChange === null || onChange === void 0 || onChange(keys, rowData);
13
24
  };
14
- var _useState = useState({}),
25
+ var _useState = useState(initSelectedData(rowSelection)),
15
26
  _useState2 = _slicedToArray(_useState, 2),
16
27
  selectedRowData = _useState2[0],
17
28
  setSelectedRowData = _useState2[1];
package/es/modal.d.ts CHANGED
@@ -52,6 +52,7 @@ export interface RowSelectionOuter {
52
52
  export type HRowSelection = RowSelectionOuter & (TableProps<any>["rowSelection"] & {
53
53
  alwaysShowAlert?: boolean;
54
54
  allCheckType?: "batch" | "single";
55
+ selectedRowData?: Record<string, any>[];
55
56
  });
56
57
  export interface HTableProps extends Omit<ProTableProps<any, any>, "request" | "dataSource" | "rowSelection" | "pagination"> {
57
58
  request?: (params: ParamsModal) => Promise<ResultModal>;
@@ -12,7 +12,9 @@ interface FilterKeysModal {
12
12
  selectedRowKeys?: React.Key[];
13
13
  records?: any[];
14
14
  rowKey?: string | GetRowKey<any>;
15
+ preserveSelectedRowKeys?: boolean;
16
+ selectedRowData?: Record<string, any>[];
15
17
  }
16
- export declare const useSynchronousKeys: ({ selectedRowKeys, records, rowKey, }: FilterKeysModal) => void;
18
+ export declare const useSynchronousKeys: ({ selectedRowKeys, records, rowKey, preserveSelectedRowKeys, selectedRowData }: FilterKeysModal) => void;
17
19
  export declare const useAlwaysShowAlert: (selectedRowData: RowObj, alwaysShowAlert?: boolean) => boolean | undefined;
18
20
  export {};
@@ -1,10 +1,12 @@
1
1
  'use strict';
2
2
 
3
+ var _toConsumableArray = require('@babel/runtime-corejs3/helpers/toConsumableArray');
3
4
  var _slicedToArray = require('@babel/runtime-corejs3/helpers/slicedToArray');
4
5
  var _forEachInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/for-each');
5
6
  var _Array$isArray = require('@babel/runtime-corejs3/core-js-stable/array/is-array');
6
7
  var _Object$keys = require('@babel/runtime-corejs3/core-js-stable/object/keys');
7
8
  var _findIndexInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/find-index');
9
+ var _concatInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/concat');
8
10
  var _mapInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/map');
9
11
  var _keysInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/keys');
10
12
  var React = require('react');
@@ -88,25 +90,33 @@ var useTableChange = function useTableChange(_ref) {
88
90
  var useSynchronousKeys = function useSynchronousKeys(_ref4) {
89
91
  var selectedRowKeys = _ref4.selectedRowKeys,
90
92
  records = _ref4.records,
91
- rowKey = _ref4.rowKey;
93
+ rowKey = _ref4.rowKey,
94
+ preserveSelectedRowKeys = _ref4.preserveSelectedRowKeys;
95
+ _ref4.selectedRowData;
92
96
  var _useHTableContext = context.useHTableContext(),
93
97
  rowOnChange = _useHTableContext.rowOnChange;
94
98
  var findId = function findId(key) {
99
+ var _context, _context2;
100
+ var mgArray = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
95
101
  var msRecords = records;
96
- var rowIndex = _findIndexInstanceProperty(msRecords).call(msRecords, function (item, index) {
102
+ var rowIndex = _findIndexInstanceProperty(_context = _concatInstanceProperty(_context2 = []).call(_context2, _toConsumableArray(mgArray), _toConsumableArray(msRecords))).call(_context, function (item, index) {
97
103
  var id = typeof rowKey === "function" ? rowKey(item, index) : item[rowKey];
98
104
  return id === key;
99
105
  });
100
106
  return msRecords[rowIndex];
101
107
  };
102
108
  React.useEffect(function () {
103
- if (selectedRowKeys && records && rowKey) {
109
+ if (!selectedRowKeys || !records || !rowKey) {
110
+ return;
111
+ }
112
+ if (!preserveSelectedRowKeys) {
104
113
  var resultData = _mapInstanceProperty(selectedRowKeys).call(selectedRowKeys, function (key) {
105
114
  return findId(key);
106
115
  });
107
116
  rowOnChange(selectedRowKeys, resultData);
117
+ return;
108
118
  }
109
- }, [selectedRowKeys, records, rowKey]);
119
+ }, [selectedRowKeys, records, rowKey, preserveSelectedRowKeys]);
110
120
  };
111
121
  var useAlwaysShowAlert = function useAlwaysShowAlert(selectedRowData, alwaysShowAlert) {
112
122
  var _selectedRowData$keys = _keysInstanceProperty(selectedRowData),
@@ -65,7 +65,8 @@ var Body = (function (bodyProps) {
65
65
  props = _objectWithoutProperties(bodyProps, _excluded);
66
66
  var _ref = rowSelection || {},
67
67
  selectedRowKeys = _ref.selectedRowKeys,
68
- configAlwaysShowAlert = _ref.alwaysShowAlert;
68
+ configAlwaysShowAlert = _ref.alwaysShowAlert,
69
+ preserveSelectedRowKeys = _ref.preserveSelectedRowKeys;
69
70
  var _useHTableContext = context.useHTableContext(),
70
71
  contextTableInstance = _useHTableContext.tableInstance,
71
72
  contextConfigData = _useHTableContext.configData,
@@ -111,7 +112,9 @@ var Body = (function (bodyProps) {
111
112
  useControl.useSynchronousKeys({
112
113
  selectedRowKeys: selectedRowKeys,
113
114
  records: records,
114
- rowKey: rowKey
115
+ rowKey: rowKey,
116
+ preserveSelectedRowKeys: preserveSelectedRowKeys,
117
+ selectedRowData: selectedRowData.rowData
115
118
  });
116
119
  var optionsNode = options && jsxRuntime.jsx(index.default, _objectSpread(_objectSpread({
117
120
  reload: function reload() {
@@ -5,6 +5,17 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var _slicedToArray = require('@babel/runtime-corejs3/helpers/slicedToArray');
6
6
  var React = require('react');
7
7
 
8
+ var initSelectedData = function initSelectedData(rowSelection) {
9
+ if (!rowSelection) {
10
+ return {};
11
+ }
12
+ var selectedRowKeys = rowSelection.selectedRowKeys,
13
+ selectedRowData = rowSelection.selectedRowData;
14
+ return {
15
+ keys: selectedRowKeys,
16
+ rowData: selectedRowData
17
+ };
18
+ };
8
19
  var useRowObj = (function (rowSelection) {
9
20
  var change = function change(keys, rowData) {
10
21
  if (rowSelection === false) {
@@ -14,7 +25,7 @@ var useRowObj = (function (rowSelection) {
14
25
  onChange = _ref.onChange;
15
26
  onChange === null || onChange === void 0 || onChange(keys, rowData);
16
27
  };
17
- var _useState = React.useState({}),
28
+ var _useState = React.useState(initSelectedData(rowSelection)),
18
29
  _useState2 = _slicedToArray(_useState, 2),
19
30
  selectedRowData = _useState2[0],
20
31
  setSelectedRowData = _useState2[1];
package/lib/modal.d.ts CHANGED
@@ -52,6 +52,7 @@ export interface RowSelectionOuter {
52
52
  export type HRowSelection = RowSelectionOuter & (TableProps<any>["rowSelection"] & {
53
53
  alwaysShowAlert?: boolean;
54
54
  allCheckType?: "batch" | "single";
55
+ selectedRowData?: Record<string, any>[];
55
56
  });
56
57
  export interface HTableProps extends Omit<ProTableProps<any, any>, "request" | "dataSource" | "rowSelection" | "pagination"> {
57
58
  request?: (params: ParamsModal) => Promise<ResultModal>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hw-component/table",
3
- "version": "1.10.46",
3
+ "version": "1.10.48",
4
4
  "description": "基于antd二次开发table组件",
5
5
  "keywords": [
6
6
  "table"
@@ -78,17 +78,21 @@ interface FilterKeysModal {
78
78
  selectedRowKeys?: React.Key[];
79
79
  records?: any[];
80
80
  rowKey?: string | GetRowKey<any>;
81
+ preserveSelectedRowKeys?: boolean;
82
+ selectedRowData?:Record<string, any>[];
81
83
  }
82
84
 
83
85
  export const useSynchronousKeys = ({
84
86
  selectedRowKeys,
85
87
  records,
86
88
  rowKey,
89
+ preserveSelectedRowKeys,
90
+ selectedRowData
87
91
  }: FilterKeysModal) => {
88
92
  const { rowOnChange } = useHTableContext();
89
- const findId = (key) => {
93
+ const findId = (key,mgArray:Record<string, any>[]=[]) => {
90
94
  const msRecords = records as any[];
91
- const rowIndex = msRecords.findIndex((item, index) => {
95
+ const rowIndex = [...mgArray,...msRecords].findIndex((item, index) => {
92
96
  const id =
93
97
  typeof rowKey === "function"
94
98
  ? rowKey(item, index)
@@ -97,14 +101,23 @@ export const useSynchronousKeys = ({
97
101
  });
98
102
  return msRecords[rowIndex];
99
103
  };
104
+ const deduplication=(array)=>{
105
+
106
+ }
100
107
  useEffect(() => {
101
- if (selectedRowKeys && records && rowKey) {
108
+ if (!selectedRowKeys||!records||!rowKey) {
109
+ return;
110
+ }
111
+ if (!preserveSelectedRowKeys) {
102
112
  const resultData = selectedRowKeys.map((key) => {
103
113
  return findId(key);
104
114
  });
105
115
  rowOnChange(selectedRowKeys, resultData);
116
+ return;
106
117
  }
107
- }, [selectedRowKeys, records, rowKey]);
118
+ }, [selectedRowKeys, records, rowKey,preserveSelectedRowKeys]);
119
+
120
+
108
121
  };
109
122
 
110
123
  export const useAlwaysShowAlert = (
@@ -50,7 +50,7 @@ export default (bodyProps: HTableBodyProps) => {
50
50
  ...props
51
51
  } = bodyProps;
52
52
 
53
- const { selectedRowKeys, alwaysShowAlert: configAlwaysShowAlert } =
53
+ const { selectedRowKeys, alwaysShowAlert: configAlwaysShowAlert,preserveSelectedRowKeys } =
54
54
  rowSelection || {};
55
55
 
56
56
  const {
@@ -90,8 +90,7 @@ export default (bodyProps: HTableBodyProps) => {
90
90
  columnsState,
91
91
  columns: cols,
92
92
  });
93
- useSynchronousKeys({ selectedRowKeys, records, rowKey });
94
-
93
+ useSynchronousKeys({ selectedRowKeys, records, rowKey,preserveSelectedRowKeys,selectedRowData:selectedRowData.rowData });
95
94
  const optionsNode = options && (
96
95
  <Options
97
96
  reload={() => {
@@ -31,7 +31,7 @@ export default ({
31
31
  loading: propsLoading,
32
32
  error: propsError,
33
33
  rowSelection,
34
- defaultHeaderOpen,
34
+ defaultHeaderOpen,
35
35
  ...props
36
36
  }: HTableProps) => {
37
37
  const { run, loading, data, error, saveParams } = useReq({
@@ -3,6 +3,19 @@ import { useState } from "react";
3
3
  import type { RowObj } from "../modal";
4
4
  import type { HRowSelection } from "../modal";
5
5
 
6
+ const initSelectedData=(rowSelection?: HRowSelection | false):RowObj=>{
7
+ if (!rowSelection) {
8
+ return {
9
+
10
+ }
11
+ }
12
+ const {selectedRowKeys,selectedRowData}=rowSelection;
13
+ return {
14
+ keys: selectedRowKeys,
15
+ rowData: selectedRowData
16
+ }
17
+ }
18
+
6
19
  export default (rowSelection?: HRowSelection | false) => {
7
20
  const change = (keys: React.Key[], rowData: any[]) => {
8
21
  if (rowSelection === false) {
@@ -11,7 +24,7 @@ export default (rowSelection?: HRowSelection | false) => {
11
24
  const { onChange } = rowSelection || {};
12
25
  onChange?.(keys, rowData);
13
26
  };
14
- const [selectedRowData, setSelectedRowData] = useState<RowObj>({});
27
+ const [selectedRowData, setSelectedRowData] = useState<RowObj>(initSelectedData(rowSelection));
15
28
  const { selectAll = false } = selectedRowData;
16
29
  const rowOnChange = (keys: React.Key[], rowData: any[]) => {
17
30
  setSelectedRowData({
@@ -81,6 +81,7 @@ export type HRowSelection = RowSelectionOuter &
81
81
  (TableProps<any>["rowSelection"] & {
82
82
  alwaysShowAlert?: boolean;
83
83
  allCheckType?: "batch" | "single";
84
+ selectedRowData?:Record<string, any> [];
84
85
  });
85
86
  export interface HTableProps
86
87
  extends Omit<
@@ -88,7 +88,6 @@ export const configData = () => {
88
88
  ];
89
89
  };
90
90
  const listReq = (params) => {
91
- console.log(params, "params");
92
91
  return new Promise((resolve) => {
93
92
  setTimeout(() => {
94
93
  const { current } = params;
@@ -260,6 +259,8 @@ export default () => {
260
259
  console.log(keys, rowData);
261
260
  },
262
261
  allCheckType: "batch",
262
+ selectedRowKeys:["1-1"],
263
+ selectedRowData:[{id:"1-1"}]
263
264
  }}
264
265
  affixProps={{
265
266
  target: () => document.querySelector(".body"),