@hw-component/table 1.1.7 → 1.1.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.
Files changed (61) hide show
  1. package/.eslintcache +1 -1
  2. package/es/HTableBody/Options/Content.d.ts +1 -1
  3. package/es/HTableBody/Options/Content.js +11 -25
  4. package/es/HTableBody/Options/Title.d.ts +1 -1
  5. package/es/HTableBody/Options/Title.js +25 -32
  6. package/es/HTableBody/Options/hooks.d.ts +2 -0
  7. package/es/HTableBody/Options/hooks.js +32 -0
  8. package/es/HTableBody/Options/index.d.ts +1 -1
  9. package/es/HTableBody/Options/index.js +31 -43
  10. package/es/HTableBody/Options/utils.d.ts +2 -7
  11. package/es/HTableBody/Options/utils.js +2 -57
  12. package/es/HTableBody/hooks.d.ts +13 -1
  13. package/es/HTableBody/hooks.js +52 -8
  14. package/es/HTableBody/index.d.ts +7 -2
  15. package/es/HTableBody/index.js +20 -6
  16. package/es/HTableBody/utils.d.ts +7 -0
  17. package/es/HTableBody/utils.js +99 -0
  18. package/es/HTableHeader/Context.d.ts +1 -1
  19. package/es/HTableHeader/defaultSubComponent.js +5 -1
  20. package/es/HTableHeader/index.d.ts +1 -1
  21. package/es/hooks/useHTable.js +3 -1
  22. package/es/modal.d.ts +7 -4
  23. package/lib/HTableBody/Options/Content.d.ts +1 -1
  24. package/lib/HTableBody/Options/Content.js +11 -25
  25. package/lib/HTableBody/Options/Title.d.ts +1 -1
  26. package/lib/HTableBody/Options/Title.js +25 -32
  27. package/lib/HTableBody/Options/hooks.d.ts +2 -0
  28. package/lib/HTableBody/Options/hooks.js +33 -0
  29. package/lib/HTableBody/Options/index.d.ts +1 -1
  30. package/lib/HTableBody/Options/index.js +30 -42
  31. package/lib/HTableBody/Options/utils.d.ts +2 -7
  32. package/lib/HTableBody/Options/utils.js +1 -57
  33. package/lib/HTableBody/hooks.d.ts +13 -1
  34. package/lib/HTableBody/hooks.js +51 -6
  35. package/lib/HTableBody/index.d.ts +7 -2
  36. package/lib/HTableBody/index.js +19 -5
  37. package/lib/HTableBody/utils.d.ts +7 -0
  38. package/lib/HTableBody/utils.js +101 -0
  39. package/lib/HTableHeader/Context.d.ts +1 -1
  40. package/lib/HTableHeader/defaultSubComponent.js +5 -1
  41. package/lib/HTableHeader/index.d.ts +1 -1
  42. package/lib/hooks/useHTable.js +3 -1
  43. package/lib/modal.d.ts +7 -4
  44. package/package.json +1 -1
  45. package/src/components/HTableBody/Options/Content.tsx +10 -14
  46. package/src/components/HTableBody/Options/Title.tsx +21 -20
  47. package/src/components/HTableBody/Options/hooks.ts +24 -0
  48. package/src/components/HTableBody/Options/index.tsx +23 -26
  49. package/src/components/HTableBody/Options/modal.d.ts +10 -2
  50. package/src/components/HTableBody/Options/utils.ts +1 -54
  51. package/src/components/HTableBody/hooks.tsx +49 -5
  52. package/src/components/HTableBody/index.tsx +29 -6
  53. package/src/components/HTableBody/utils.ts +93 -0
  54. package/src/components/HTableHeader/Context.tsx +7 -7
  55. package/src/components/HTableHeader/defaultSubComponent.tsx +7 -3
  56. package/src/components/HTableHeader/index.tsx +15 -15
  57. package/src/components/HTableHeader/modal.ts +1 -1
  58. package/src/components/hooks/useHTable.tsx +5 -3
  59. package/src/components/modal.ts +7 -10
  60. package/src/pages/Table/index.tsx +27 -9
  61. package/src/pages/TableCustomize/index.tsx +16 -2
@@ -2,9 +2,10 @@ import type { HTableProps, ConfigDataModal } from "../modal";
2
2
  import React from "react";
3
3
  import type { GetRowKey } from "rc-table/lib/interface";
4
4
  import type { SizeType } from "antd/lib/config-provider/SizeContext";
5
+ import type { ColumnsStateType } from "@ant-design/pro-table/es/typing";
6
+ import type { ColumnsState } from "@ant-design/pro-table/es/container";
5
7
  export declare const useCols: ({ configData, rowSelection, table }: HTableProps) => {
6
8
  cols: ConfigDataModal;
7
- changeCols: (cuCols: ConfigDataModal) => void;
8
9
  };
9
10
  interface FilterKeysModal {
10
11
  selectedRowKeys?: React.Key[];
@@ -16,4 +17,15 @@ export declare const useSize: (size: SizeType) => {
16
17
  cuSize: "small" | "middle" | "large" | undefined;
17
18
  setCuSize: React.Dispatch<React.SetStateAction<"small" | "middle" | "large" | undefined>>;
18
19
  };
20
+ interface useColumnsStateTypeModal {
21
+ columnsState?: ColumnsStateType;
22
+ columns: ConfigDataModal;
23
+ }
24
+ export declare const useColumnsStateType: ({ columnsState, columns, }: useColumnsStateTypeModal) => {
25
+ persistenceType: "localStorage" | "sessionStorage" | undefined;
26
+ persistenceKey: string | undefined;
27
+ value: Record<string, ColumnsState> | undefined;
28
+ onChange: (keys: string[], notCheck: string[]) => void;
29
+ reset: () => void;
30
+ };
19
31
  export {};
@@ -2,7 +2,6 @@
2
2
  import _Object$keys from '@babel/runtime-corejs3/core-js/object/keys';
3
3
  import _Object$getOwnPropertySymbols from '@babel/runtime-corejs3/core-js/object/get-own-property-symbols';
4
4
  import _Object$getOwnPropertyDescriptor from '@babel/runtime-corejs3/core-js/object/get-own-property-descriptor';
5
- import _forEachInstanceProperty from '@babel/runtime-corejs3/core-js/instance/for-each';
6
5
  import _Object$getOwnPropertyDescriptors from '@babel/runtime-corejs3/core-js/object/get-own-property-descriptors';
7
6
  import _Object$defineProperties from '@babel/runtime-corejs3/core-js/object/define-properties';
8
7
  import _Object$defineProperty from '@babel/runtime-corejs3/core-js/object/define-property';
@@ -12,10 +11,12 @@ import _filterInstanceProperty from '@babel/runtime-corejs3/core-js/instance/fil
12
11
  import _spliceInstanceProperty from '@babel/runtime-corejs3/core-js/instance/splice';
13
12
  import _mapInstanceProperty from '@babel/runtime-corejs3/core-js/instance/map';
14
13
  import _indexOfInstanceProperty from '@babel/runtime-corejs3/core-js/instance/index-of';
14
+ import _forEachInstanceProperty from '@babel/runtime-corejs3/core-js/instance/for-each';
15
15
  import { jsx } from 'react/jsx-runtime';
16
- import { useState, useEffect } from 'react';
16
+ import { useState, useEffect, useMemo } from 'react';
17
17
  import { useHTableContext } from '../context.js';
18
18
  import { RowSelectionTitle, RowSelectionBox } from './RowSelection.js';
19
+ import { outColSetting, mkChangeValue } from './utils.js';
19
20
 
20
21
  function ownKeys(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = _filterInstanceProperty(o).call(o, function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
21
22
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context = ownKeys(Object(t), !0)).call(_context, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context2 = ownKeys(Object(t))).call(_context2, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
@@ -72,12 +73,8 @@ var useCols = function useCols(_ref2) {
72
73
  useEffect(function () {
73
74
  setCols(changeConfigData(configData));
74
75
  }, [configData, table, rowSelection]);
75
- var changeCols = function changeCols(cuCols) {
76
- setCols(cuCols);
77
- };
78
76
  return {
79
- cols: cols,
80
- changeCols: changeCols
77
+ cols: cols
81
78
  };
82
79
  };
83
80
  var useSynchronousKeys = function useSynchronousKeys(_ref3) {
@@ -109,6 +106,53 @@ var useSize = function useSize(size) {
109
106
  setCuSize: setCuSize
110
107
  };
111
108
  };
109
+ var useColumnsStateType = function useColumnsStateType(_ref4) {
110
+ var columnsState = _ref4.columnsState,
111
+ columns = _ref4.columns;
112
+ var _useHTableContext2 = useHTableContext(),
113
+ tableInstance = _useHTableContext2.tableInstance;
114
+ var _ref5 = columnsState || {},
115
+ persistenceType = _ref5.persistenceType,
116
+ persistenceKey = _ref5.persistenceKey,
117
+ value = _ref5.value,
118
+ defaultValue = _ref5.defaultValue,
119
+ onChange = _ref5.onChange;
120
+ var _useState5 = useState(defaultValue),
121
+ _useState6 = _slicedToArray(_useState5, 2),
122
+ selfValue = _useState6[0],
123
+ setSelfValue = _useState6[1];
124
+ var initTableColsVal = useMemo(function () {
125
+ return selfValue;
126
+ }, []);
127
+ useEffect(function () {
128
+ tableInstance.table.getColSettingKeys = function () {
129
+ return outColSetting(columns, selfValue);
130
+ };
131
+ }, [selfValue]);
132
+ useEffect(function () {
133
+ setSelfValue(mkChangeValue(columnsState));
134
+ }, [value]);
135
+ var change = function change(keys, notCheck) {
136
+ var newObj = {};
137
+ _forEachInstanceProperty(notCheck).call(notCheck, function (key) {
138
+ newObj[key] = {
139
+ show: false
140
+ };
141
+ });
142
+ setSelfValue(newObj);
143
+ onChange === null || onChange === void 0 || onChange(newObj);
144
+ };
145
+ var reset = function reset() {
146
+ setSelfValue(initTableColsVal);
147
+ };
148
+ return {
149
+ persistenceType: persistenceType,
150
+ persistenceKey: persistenceKey,
151
+ value: selfValue,
152
+ onChange: change,
153
+ reset: reset
154
+ };
155
+ };
112
156
 
113
- export { useCols, useSize, useSynchronousKeys };
157
+ export { useCols, useColumnsStateType, useSize, useSynchronousKeys };
114
158
  // powered by hdj
@@ -2,7 +2,11 @@ import type { ProTableProps } from "@ant-design/pro-table";
2
2
  import type { ActionRenderFn, ConfigDataModal, ParamsModal, HTableInstance, HRowSelection } from "../modal";
3
3
  import React from "react";
4
4
  import type { AffixProps } from "antd/lib/affix";
5
- export interface HTableBodyProps extends Omit<ProTableProps<any, any>, "dataSource" | "rowSelection"> {
5
+ import { OptionConfig } from "@ant-design/pro-table/lib/components/ToolBar";
6
+ export interface OptionModal extends OptionConfig {
7
+ settingRender?: () => React.ReactNode;
8
+ }
9
+ export interface HTableBodyProps extends Omit<ProTableProps<any, any>, "dataSource" | "rowSelection" | "options"> {
6
10
  configData?: ConfigDataModal;
7
11
  onPageChange?: (params: ParamsModal) => void;
8
12
  emptyRender?: (tableInstance: HTableInstance) => React.ReactNode;
@@ -16,6 +20,7 @@ export interface HTableBodyProps extends Omit<ProTableProps<any, any>, "dataSour
16
20
  optionsRender?: (node: React.ReactNode) => React.ReactNode;
17
21
  paginationActionRender?: (tableInstance: HTableInstance) => React.ReactNode;
18
22
  localSorter?: boolean;
23
+ options?: OptionModal | false;
19
24
  }
20
- declare const _default: ({ configData, pagination, onPageChange, rowSelection, rowKey, emptyRender, errorRender, tableStyle, paginationStyle, headerTitle, options, actionRender, affixProps, goTop, size, optionsRender, paginationActionRender, localSorter, ...props }: HTableBodyProps) => JSX.Element;
25
+ declare const _default: ({ configData, pagination, onPageChange, rowSelection, rowKey, emptyRender, errorRender, tableStyle, paginationStyle, headerTitle, options, actionRender, affixProps, goTop, size, optionsRender, paginationActionRender, localSorter, columnsState, ...props }: HTableBodyProps) => JSX.Element;
21
26
  export default _default;
@@ -12,7 +12,7 @@ import _objectWithoutProperties from '@babel/runtime-corejs3/helpers/objectWitho
12
12
  import _keysInstanceProperty from '@babel/runtime-corejs3/core-js/instance/keys';
13
13
  import { jsx, jsxs } from 'react/jsx-runtime';
14
14
  import ProTable from '@ant-design/pro-table';
15
- import { useSize, useCols, useSynchronousKeys } from './hooks.js';
15
+ import { useSize, useCols, useColumnsStateType, useSynchronousKeys } from './hooks.js';
16
16
  import { useHTableContext } from '../context.js';
17
17
  import { Alert, ConfigProvider, Empty } from 'antd';
18
18
  import { useHTableConfigContext } from '../TableConfig.js';
@@ -22,7 +22,8 @@ import AlertMsg from './AlertMsg.js';
22
22
  import Options from './Options/index.js';
23
23
  import HeaderTitle from './HeaderTitle/index.js';
24
24
 
25
- var _excluded = ["configData", "pagination", "onPageChange", "rowSelection", "rowKey", "emptyRender", "errorRender", "tableStyle", "paginationStyle", "headerTitle", "options", "actionRender", "affixProps", "goTop", "size", "optionsRender", "paginationActionRender", "localSorter"];
25
+ var _excluded = ["configData", "pagination", "onPageChange", "rowSelection", "rowKey", "emptyRender", "errorRender", "tableStyle", "paginationStyle", "headerTitle", "options", "actionRender", "affixProps", "goTop", "size", "optionsRender", "paginationActionRender", "localSorter", "columnsState"],
26
+ _excluded2 = ["value", "onChange", "reset"];
26
27
  function ownKeys(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = _filterInstanceProperty(o).call(o, function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
27
28
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context = ownKeys(Object(t), !0)).call(_context, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context2 = ownKeys(Object(t))).call(_context2, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
28
29
  var defaultRender = function defaultRender() {
@@ -58,6 +59,7 @@ var Body = (function (_ref) {
58
59
  optionsRender = _ref.optionsRender,
59
60
  paginationActionRender = _ref.paginationActionRender,
60
61
  localSorter = _ref.localSorter,
62
+ columnsState = _ref.columnsState,
61
63
  props = _objectWithoutProperties(_ref, _excluded);
62
64
  var _ref2 = rowSelection || {},
63
65
  selectedRowKeys = _ref2.selectedRowKeys,
@@ -90,8 +92,15 @@ var Body = (function (_ref) {
90
92
  table: tableInstance,
91
93
  rowSelection: rowSelection
92
94
  }),
93
- cols = _useCols.cols,
94
- changeCols = _useCols.changeCols;
95
+ cols = _useCols.cols;
96
+ var _useColumnsStateType = useColumnsStateType({
97
+ columnsState: columnsState,
98
+ columns: cols
99
+ }),
100
+ value = _useColumnsStateType.value,
101
+ onChange = _useColumnsStateType.onChange,
102
+ reset = _useColumnsStateType.reset,
103
+ selfColStatus = _objectWithoutProperties(_useColumnsStateType, _excluded2);
95
104
  useSynchronousKeys({
96
105
  selectedRowKeys: selectedRowKeys,
97
106
  records: records,
@@ -105,7 +114,9 @@ var Body = (function (_ref) {
105
114
  size: cuSize,
106
115
  columns: cols,
107
116
  setSizeChange: setCuSize,
108
- onChange: changeCols
117
+ colStatusValue: value || {},
118
+ onChange: onChange,
119
+ reset: reset
109
120
  }));
110
121
  var _selectedRowData$keys = _keysInstanceProperty(selectedRowData),
111
122
  keys = _selectedRowData$keys === void 0 ? [] : _selectedRowData$keys,
@@ -136,6 +147,9 @@ var Body = (function (_ref) {
136
147
  return tableEmptyRender === null || tableEmptyRender === void 0 ? void 0 : tableEmptyRender(tableInstance);
137
148
  },
138
149
  children: [jsx(ProTable, _objectSpread(_objectSpread({}, props), {}, {
150
+ columnsState: _objectSpread(_objectSpread({}, selfColStatus), {}, {
151
+ value: value
152
+ }),
139
153
  columns: cols,
140
154
  size: cuSize,
141
155
  search: false,
@@ -153,10 +167,10 @@ var Body = (function (_ref) {
153
167
  asc: asc
154
168
  });
155
169
  },
156
- options: false,
157
170
  tableStyle: {
158
171
  paddingBottom: 0
159
172
  },
173
+ options: false,
160
174
  rowSelection: false,
161
175
  loading: loading,
162
176
  rowKey: rowKey,
@@ -0,0 +1,7 @@
1
+ import type { ColumnsStateType } from "@ant-design/pro-table/es/typing";
2
+ import type { ConfigDataModal } from "@/components/modal";
3
+ export declare const mkChangeValue: (columnsState?: ColumnsStateType) => any;
4
+ export declare const outColSetting: (columns: ConfigDataModal, columnsState?: ColumnsStateType) => {
5
+ checkCols: ConfigDataModal;
6
+ keys: string[];
7
+ };
@@ -0,0 +1,99 @@
1
+ // welcome to hoo hoo hoo
2
+ import _toConsumableArray from '@babel/runtime-corejs3/helpers/toConsumableArray';
3
+ import _typeof from '@babel/runtime-corejs3/helpers/typeof';
4
+ import _forEachInstanceProperty from '@babel/runtime-corejs3/core-js/instance/for-each';
5
+ import _keysInstanceProperty from '@babel/runtime-corejs3/core-js/instance/keys';
6
+ import 'core-js/modules/es.object.keys.js';
7
+ import 'core-js/modules/es.object.to-string.js';
8
+ import 'core-js/modules/es.regexp.to-string.js';
9
+ import { getItemValue } from './Options/utils.js';
10
+
11
+ var strToJson = function strToJson(str) {
12
+ if (!str) {
13
+ return {};
14
+ }
15
+ try {
16
+ var result = JSON.parse(str);
17
+ if (_typeof(result) === "object") {
18
+ return result;
19
+ }
20
+ return {};
21
+ } catch (e) {
22
+ return {};
23
+ }
24
+ };
25
+ var mkChangeValue = function mkChangeValue(columnsState) {
26
+ var _ref = columnsState || {},
27
+ persistenceType = _ref.persistenceType,
28
+ persistenceKey = _ref.persistenceKey,
29
+ value = _ref.value;
30
+ _ref.defaultValue;
31
+ _ref.onChange;
32
+ if (value) {
33
+ return value;
34
+ }
35
+ if (!persistenceKey) {
36
+ return {};
37
+ }
38
+ var cuPersistenceType = persistenceType || "localStorage";
39
+ var saveValStr = window[cuPersistenceType].getItem(persistenceKey);
40
+ return strToJson(saveValStr);
41
+ };
42
+ var childDataIndexProvider = function childDataIndexProvider(data, title) {
43
+ var keys = [];
44
+ var cols = [];
45
+ _forEachInstanceProperty(data).call(data, function (value) {
46
+ if (typeof value === "string") {
47
+ keys.push(value);
48
+ cols.push(getItemValue({
49
+ title: title,
50
+ dataIndex: value
51
+ }));
52
+ return;
53
+ }
54
+ keys.push(value.dataIndex);
55
+ cols.push(getItemValue(value));
56
+ });
57
+ return {
58
+ keys: keys,
59
+ cols: cols
60
+ };
61
+ };
62
+ var outColSetting = function outColSetting(columns) {
63
+ var columnsState = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
64
+ var keys = [];
65
+ var checkCols = [];
66
+ _forEachInstanceProperty(columns).call(columns, function (value) {
67
+ var dataIndex = value.dataIndex,
68
+ titleStr = value.titleStr,
69
+ title = value.title,
70
+ hideInTable = value.hideInTable,
71
+ childrenDataIndex = value.childrenDataIndex;
72
+ if (hideInTable || !dataIndex) {
73
+ return;
74
+ }
75
+ var _ref2 = columnsState[dataIndex.toString()] || {},
76
+ _ref2$show = _ref2.show,
77
+ show = _ref2$show === void 0 ? true : _ref2$show;
78
+ if (!show) {
79
+ return;
80
+ }
81
+ if (childrenDataIndex) {
82
+ var _childDataIndexProvid = childDataIndexProvider(childrenDataIndex, titleStr || title),
83
+ childKeys = _keysInstanceProperty(_childDataIndexProvid),
84
+ childCols = _childDataIndexProvid.cols;
85
+ keys.push.apply(keys, _toConsumableArray(childKeys));
86
+ checkCols.push.apply(checkCols, _toConsumableArray(childCols));
87
+ return;
88
+ }
89
+ keys.push(dataIndex.toString());
90
+ checkCols.push(getItemValue(value));
91
+ });
92
+ return {
93
+ checkCols: checkCols,
94
+ keys: keys
95
+ };
96
+ };
97
+
98
+ export { mkChangeValue, outColSetting };
99
+ // powered by hdj
@@ -1,4 +1,4 @@
1
1
  import React from "react";
2
- import { IHeaderProps } from "./modal";
2
+ import type { IHeaderProps } from "./modal";
3
3
  export declare const HeaderProvider: React.Provider<IHeaderProps>;
4
4
  export declare const useHeaderContext: () => IHeaderProps;
@@ -81,7 +81,11 @@ var DefaultSubComponent = function DefaultSubComponent(_ref) {
81
81
  borderRadius: 4
82
82
  },
83
83
  onClick: function onClick() {
84
- onReset ? onReset() : form.resetFields();
84
+ if (onReset) {
85
+ onReset();
86
+ return;
87
+ }
88
+ form.resetFields();
85
89
  },
86
90
  children: "\u91CD\u7F6E"
87
91
  }), hide ? null : jsx(OpenComponent, {})]
@@ -1,3 +1,3 @@
1
1
  import type { IHeaderProps } from "./modal";
2
- declare const _default: ({ configData, onFinish, searchSpan, headerStyle, initValues, hideLabel, labelWidth, onReset }: IHeaderProps) => JSX.Element;
2
+ declare const _default: ({ configData, onFinish, searchSpan, headerStyle, initValues, hideLabel, labelWidth, onReset, }: IHeaderProps) => JSX.Element;
3
3
  export default _default;
@@ -18,12 +18,14 @@ var useHTable = (function () {
18
18
  getParams: function getParams() {
19
19
  return {};
20
20
  },
21
- settingKeys: {},
22
21
  getSelectedRowData: function getSelectedRowData() {
23
22
  return {};
24
23
  },
25
24
  getTableSourceData: function getTableSourceData() {
26
25
  return [];
26
+ },
27
+ getColSettingKeys: function getColSettingKeys() {
28
+ return {};
27
29
  }
28
30
  };
29
31
  }, []);
package/es/modal.d.ts CHANGED
@@ -6,6 +6,7 @@ import type React from "react";
6
6
  import type { ModalProps } from "antd";
7
7
  import type { TableProps } from "antd/lib/table";
8
8
  import type { AffixProps } from "antd/lib/affix";
9
+ import { OptionModal } from "./HTableBody";
9
10
  export interface RowObj {
10
11
  keys?: React.Key[];
11
12
  rowData?: any[];
@@ -75,6 +76,11 @@ export interface HTableProps extends Omit<ProTableProps<any, any>, "request" | "
75
76
  formInitValues?: Record<string, any>;
76
77
  labelWidth?: number;
77
78
  hideLabel?: boolean;
79
+ options?: OptionModal | false;
80
+ }
81
+ interface ColCheckResultKeys {
82
+ keys?: string[];
83
+ checkCols?: ConfigDataModal;
78
84
  }
79
85
  export interface TableInstance {
80
86
  reload: (params?: ParamsModal) => Promise<any>;
@@ -82,12 +88,9 @@ export interface TableInstance {
82
88
  dispatch: (key: string, params: any) => void;
83
89
  reloadWithParams: (params?: ParamsModal) => Promise<any>;
84
90
  getParams: () => any;
85
- settingKeys: {
86
- keys?: string[];
87
- checkCols?: ConfigDataModal;
88
- };
89
91
  getSelectedRowData: () => RowObj;
90
92
  getTableSourceData: () => any;
93
+ getColSettingKeys: () => ColCheckResultKeys;
91
94
  }
92
95
  export interface HTableInstance {
93
96
  form: HFormInstance;
@@ -1,2 +1,2 @@
1
1
  import type { ItemProps } from "./modal";
2
- export declare const ColsSettingContent: ({ columns, onChange, checkKeys, }: ItemProps) => JSX.Element;
2
+ export declare const ColsSettingContent: ({ columns, onCheck, checkKeys, }: ItemProps) => JSX.Element;
@@ -1,14 +1,5 @@
1
1
  'use strict';
2
2
 
3
- var _Object$keys = require('@babel/runtime-corejs3/core-js/object/keys');
4
- var _Object$getOwnPropertySymbols = require('@babel/runtime-corejs3/core-js/object/get-own-property-symbols');
5
- var _filterInstanceProperty = require('@babel/runtime-corejs3/core-js/instance/filter');
6
- var _Object$getOwnPropertyDescriptor = require('@babel/runtime-corejs3/core-js/object/get-own-property-descriptor');
7
- var _Object$getOwnPropertyDescriptors = require('@babel/runtime-corejs3/core-js/object/get-own-property-descriptors');
8
- var _Object$defineProperties = require('@babel/runtime-corejs3/core-js/object/define-properties');
9
- var _Object$defineProperty = require('@babel/runtime-corejs3/core-js/object/define-property');
10
- var _defineProperty = require('@babel/runtime-corejs3/helpers/defineProperty');
11
- var _toConsumableArray = require('@babel/runtime-corejs3/helpers/toConsumableArray');
12
3
  require('core-js/modules/es.object.to-string.js');
13
4
  require('core-js/modules/es.regexp.to-string.js');
14
5
  var _forEachInstanceProperty = require('@babel/runtime-corejs3/core-js/instance/for-each');
@@ -19,11 +10,9 @@ var React = require('react');
19
10
  var antd = require('antd');
20
11
  var utils = require('./utils.js');
21
12
 
22
- function ownKeys(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = _filterInstanceProperty(o).call(o, function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
23
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context = ownKeys(Object(t), !0)).call(_context, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context2 = ownKeys(Object(t))).call(_context2, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
24
13
  var ColsSettingContent = function ColsSettingContent(_ref) {
25
14
  var columns = _ref.columns,
26
- onChange = _ref.onChange,
15
+ onCheck = _ref.onCheck,
27
16
  checkKeys = _ref.checkKeys;
28
17
  var content = index.useClassName("hw-table-body-option-setting-content");
29
18
  var titleClass = index.useClassName("hw-table-body-option-setting-content-title");
@@ -51,20 +40,17 @@ var ColsSettingContent = function ColsSettingContent(_ref) {
51
40
  });
52
41
  return treeData;
53
42
  }, [columns]);
54
- var change = function change(key) {
55
- var newCols = _toConsumableArray(columns);
56
- _forEachInstanceProperty(newCols).call(newCols, function (_ref3, index) {
57
- var dataIndex = _ref3.dataIndex;
58
- if (!dataIndex) {
59
- return;
43
+ var check = function check(keys) {
44
+ var notCheck = [];
45
+ _forEachInstanceProperty(contentTreeData).call(contentTreeData, function (_ref3) {
46
+ var key = _ref3.key;
47
+ var cuKey = key;
48
+ var index = _indexOfInstanceProperty(keys).call(keys, cuKey);
49
+ if (index === -1) {
50
+ notCheck.push(cuKey);
60
51
  }
61
- var strDataIndex = dataIndex.toString();
62
- var item = newCols[index];
63
- newCols[index] = _objectSpread(_objectSpread({}, item), {}, {
64
- hideInTable: _indexOfInstanceProperty(key).call(key, strDataIndex) == -1
65
- });
66
52
  });
67
- onChange(newCols);
53
+ onCheck(keys, notCheck);
68
54
  };
69
55
  return jsxRuntime.jsx("div", {
70
56
  className: content,
@@ -78,7 +64,7 @@ var ColsSettingContent = function ColsSettingContent(_ref) {
78
64
  className: treeClass,
79
65
  checkedKeys: checkKeys,
80
66
  onCheck: function onCheck(key) {
81
- change(key);
67
+ check(key);
82
68
  },
83
69
  height: 268,
84
70
  treeData: contentTreeData
@@ -1,2 +1,2 @@
1
1
  import type { ItemProps } from "./modal";
2
- export declare const Title: ({ columns, onChange, checkKeys }: ItemProps) => JSX.Element;
2
+ export declare const Title: ({ columns, onCheck, checkKeys, reset }: ItemProps) => JSX.Element;
@@ -1,51 +1,40 @@
1
1
  'use strict';
2
2
 
3
- var _defineProperty = require('@babel/runtime-corejs3/helpers/defineProperty');
4
- var _toConsumableArray = require('@babel/runtime-corejs3/helpers/toConsumableArray');
5
- var _filterInstanceProperty = require('@babel/runtime-corejs3/core-js/instance/filter');
3
+ require('core-js/modules/es.object.to-string.js');
4
+ require('core-js/modules/es.regexp.to-string.js');
6
5
  var _forEachInstanceProperty = require('@babel/runtime-corejs3/core-js/instance/for-each');
7
- var _Object$keys = require('@babel/runtime-corejs3/core-js/object/keys');
8
- var _Object$getOwnPropertySymbols = require('@babel/runtime-corejs3/core-js/object/get-own-property-symbols');
9
- var _Object$getOwnPropertyDescriptor = require('@babel/runtime-corejs3/core-js/object/get-own-property-descriptor');
10
- var _Object$getOwnPropertyDescriptors = require('@babel/runtime-corejs3/core-js/object/get-own-property-descriptors');
11
- var _Object$defineProperties = require('@babel/runtime-corejs3/core-js/object/define-properties');
12
- var _Object$defineProperty = require('@babel/runtime-corejs3/core-js/object/define-property');
13
6
  var jsxRuntime = require('react/jsx-runtime');
14
7
  var index = require('../../hooks/index.js');
15
8
  var antd = require('antd');
16
9
  var React = require('react');
17
10
 
18
- function ownKeys(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = _filterInstanceProperty(o).call(o, function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
19
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context = ownKeys(Object(t), !0)).call(_context, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context2 = ownKeys(Object(t))).call(_context2, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
20
11
  var Link = antd.Typography.Link;
21
12
  var Title = function Title(_ref) {
22
13
  var columns = _ref.columns,
23
- onChange = _ref.onChange,
24
- checkKeys = _ref.checkKeys;
14
+ onCheck = _ref.onCheck,
15
+ checkKeys = _ref.checkKeys,
16
+ reset = _ref.reset;
25
17
  var title = index.useClassName("hw-table-body-option-setting-title");
26
- var relLen = React.useMemo(function () {
27
- var relArray = _filterInstanceProperty(columns).call(columns, function (_ref2) {
28
- var dataIndex = _ref2.dataIndex;
29
- return !!dataIndex;
30
- });
31
- return relArray.length;
32
- }, [columns]);
33
- var allChange = function allChange(hideInTable) {
34
- var newCols = _toConsumableArray(columns);
35
- _forEachInstanceProperty(columns).call(columns, function (item, index) {
36
- var dataIndex = item.dataIndex;
37
- if (!dataIndex) {
18
+ var relArrayKeys = React.useMemo(function () {
19
+ var keys = [];
20
+ _forEachInstanceProperty(columns).call(columns, function (value) {
21
+ var dataIndex = value.dataIndex,
22
+ hideInTable = value.hideInTable;
23
+ if (hideInTable || !dataIndex) {
38
24
  return;
39
25
  }
40
- newCols[index] = _objectSpread(_objectSpread({}, item), {}, {
41
- hideInTable: hideInTable
42
- });
26
+ var dataIndexStr = dataIndex.toString();
27
+ keys.push(dataIndexStr);
43
28
  });
44
- onChange(newCols);
29
+ return keys;
30
+ }, [columns]);
31
+ var allCheck = function allCheck() {
32
+ onCheck(relArrayKeys, []);
45
33
  };
46
- var reset = function reset() {
47
- allChange(false);
34
+ var allNotCheck = function allNotCheck() {
35
+ onCheck([], relArrayKeys);
48
36
  };
37
+ var relLen = relArrayKeys.length;
49
38
  var indeterminate = relLen !== checkKeys.length && checkKeys.length > 0;
50
39
  return jsxRuntime.jsxs(antd.Row, {
51
40
  className: title,
@@ -56,7 +45,11 @@ var Title = function Title(_ref) {
56
45
  checked: relLen === checkKeys.length,
57
46
  indeterminate: indeterminate,
58
47
  onChange: function onChange(e) {
59
- allChange(!e.target.checked);
48
+ if (e.target.checked) {
49
+ allCheck();
50
+ return;
51
+ }
52
+ allNotCheck();
60
53
  }
61
54
  }), jsxRuntime.jsx("span", {
62
55
  children: "\u5217\u5C55\u793A"
@@ -0,0 +1,2 @@
1
+ import type { IProps } from "@/components/HTableBody/Options/modal";
2
+ export declare const useCheckKeys: ({ columns, colStatusValue, }: Pick<IProps, "colStatusValue" | "columns">) => string[];
@@ -0,0 +1,33 @@
1
+ 'use strict';
2
+
3
+ require('core-js/modules/es.object.to-string.js');
4
+ require('core-js/modules/es.regexp.to-string.js');
5
+ var _forEachInstanceProperty = require('@babel/runtime-corejs3/core-js/instance/for-each');
6
+ var React = require('react');
7
+
8
+ var useCheckKeys = function useCheckKeys(_ref) {
9
+ var columns = _ref.columns,
10
+ colStatusValue = _ref.colStatusValue;
11
+ return React.useMemo(function () {
12
+ var keys = [];
13
+ _forEachInstanceProperty(columns).call(columns, function (value) {
14
+ var dataIndex = value.dataIndex,
15
+ hideInTable = value.hideInTable;
16
+ if (hideInTable || !dataIndex) {
17
+ return;
18
+ }
19
+ var dataIndexStr = dataIndex.toString();
20
+ var _ref2 = colStatusValue[dataIndexStr] || {},
21
+ _ref2$show = _ref2.show,
22
+ show = _ref2$show === void 0 ? true : _ref2$show;
23
+ if (!show) {
24
+ return;
25
+ }
26
+ keys.push(dataIndexStr);
27
+ });
28
+ return keys;
29
+ }, [colStatusValue, columns]);
30
+ };
31
+
32
+ exports.useCheckKeys = useCheckKeys;
33
+ // powered by h
@@ -1,3 +1,3 @@
1
1
  import type { IProps } from "./modal";
2
- declare const _default: ({ reload, size, density, setSizeChange, columns, onChange, }: IProps) => JSX.Element;
2
+ declare const _default: ({ reload, size, density, setSizeChange, columns, onChange, colStatusValue, reset, settingRender, }: IProps) => JSX.Element;
3
3
  export default _default;