@vtx/components 4.0.0-beta.7 → 4.0.0-beta.70

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 (161) hide show
  1. package/es/index.js +3 -0
  2. package/es/utils/filterSpecialCharacters.js +47 -46
  3. package/es/utils/index.js +1 -2
  4. package/es/vtx-color-picker/index.js +138 -33
  5. package/es/vtx-color-picker/style/index.js +36 -12
  6. package/es/vtx-combogrid/Combogrid.js +16 -10
  7. package/es/vtx-combogrid/index.js +7 -4
  8. package/es/vtx-combogrid/style/index.js +4 -4
  9. package/es/vtx-datagrid/Store/Provide.js +109 -132
  10. package/es/vtx-datagrid/ToolBar/components/ColumnSetting/index.js +11 -5
  11. package/es/vtx-datagrid/ToolBar/components/ColumnSetting/style.js +5 -2
  12. package/es/vtx-datagrid/ToolBar/components/Density/index.js +3 -0
  13. package/es/vtx-datagrid/ToolBar/components/TableStyle/index.js +3 -0
  14. package/es/vtx-datagrid/ToolBar/index.js +2 -2
  15. package/es/vtx-datagrid/columnState.js +64 -0
  16. package/es/vtx-datagrid/index.js +114 -35
  17. package/es/vtx-datagrid/mergeComponents.js +15 -0
  18. package/es/vtx-datagrid/renderColumnButtons.js +30 -11
  19. package/es/vtx-datagrid/style/index.js +102 -20
  20. package/es/vtx-date-picker/QdatePicker.js +1 -1
  21. package/es/vtx-descriptions/Descriptions.js +29 -0
  22. package/es/vtx-descriptions/index.js +3 -0
  23. package/es/vtx-descriptions/style/index.js +19 -0
  24. package/es/vtx-ellipsis-text/index.js +7 -2
  25. package/es/vtx-ellipsis-text/style/index.js +3 -1
  26. package/es/vtx-export/index.js +25 -25
  27. package/es/vtx-export-async/History.js +7 -3
  28. package/es/vtx-export-async/index.js +42 -14
  29. package/es/vtx-form-layout/Card.js +10 -10
  30. package/es/vtx-form-layout/Divider.js +1 -1
  31. package/es/vtx-form-layout/FormItem.js +18 -17
  32. package/es/vtx-form-layout/Pane.js +23 -12
  33. package/es/vtx-icon/index.js +54 -45
  34. package/es/vtx-icon/index.js1 +90 -0
  35. package/es/vtx-image/Preview.js +11 -6
  36. package/es/vtx-image/style/index.js +0 -1
  37. package/es/vtx-import/index.js +155 -43
  38. package/es/vtx-import/result.js +6 -2
  39. package/es/vtx-import/style/index.js +16 -1
  40. package/es/vtx-import2/Content.js +2 -1
  41. package/es/vtx-import2/index.js +31 -20
  42. package/es/vtx-import2/style/index.js +60 -9
  43. package/es/vtx-input/TextArea/index.js +11 -6
  44. package/es/vtx-modal/index.js +9 -4
  45. package/es/vtx-modal/style/index.js +5 -3
  46. package/es/vtx-page-layout/Content.js +1 -1
  47. package/es/vtx-page-layout/TabLayout.js +1 -7
  48. package/es/vtx-page-layout/TableLayout.js +14 -4
  49. package/es/vtx-page-layout/TableWrap.js +3 -2
  50. package/es/vtx-page-layout/TreeLayout.js +2 -8
  51. package/es/vtx-page-layout/container.js +6 -5
  52. package/es/vtx-page-layout/style/index.js +4 -2
  53. package/es/vtx-provider/index.js +20 -10
  54. package/es/vtx-provider/locale/en_US.js +65 -5
  55. package/es/vtx-provider/locale/zh_CN.js +75 -5
  56. package/es/vtx-provider/useStyle/index.js +8 -4
  57. package/es/vtx-scrollable-row/index.js +38 -28
  58. package/es/vtx-search/index.js +18 -13
  59. package/es/vtx-search/style/index.js +2 -1
  60. package/es/vtx-select/index.js +132 -46
  61. package/es/vtx-select/style/index.js +11 -56
  62. package/es/vtx-signature/index.js +5 -4
  63. package/es/vtx-signature/style/index.js +1 -1
  64. package/es/vtx-split-pane/Resizer.js +0 -1
  65. package/es/vtx-split-pane/SplitPane.js +34 -25
  66. package/es/vtx-split-pane/style/index.js +8 -112
  67. package/es/vtx-time-picker/index.js +27 -1
  68. package/es/vtx-transfer/Transfer.js +29 -0
  69. package/es/vtx-transfer/index.js +3 -0
  70. package/es/vtx-transfer/style/index.js +19 -0
  71. package/es/vtx-transfer-select/TransferSelect.js +143 -0
  72. package/es/vtx-transfer-select/index.js +3 -0
  73. package/es/vtx-transfer-select/style/index.js +19 -0
  74. package/es/vtx-tree/index.js +104 -40
  75. package/es/vtx-tree-select/index.js +75 -105
  76. package/es/vtx-tree-select/style/index.js +9 -3
  77. package/es/vtx-upload/FilePreview.js +2 -1
  78. package/es/vtx-wang-editor/index.js +291 -113
  79. package/es/vtx-wang-editor/wangEditorUtil.js +59 -9
  80. package/lib/index.js +36 -0
  81. package/lib/utils/filterSpecialCharacters.js +48 -46
  82. package/lib/utils/index.js +0 -7
  83. package/lib/vtx-color-picker/index.js +139 -34
  84. package/lib/vtx-color-picker/style/index.js +36 -12
  85. package/lib/vtx-combogrid/Combogrid.js +16 -10
  86. package/lib/vtx-combogrid/index.js +7 -4
  87. package/lib/vtx-combogrid/style/index.js +4 -4
  88. package/lib/vtx-datagrid/Store/Provide.js +116 -138
  89. package/lib/vtx-datagrid/ToolBar/components/ColumnSetting/index.js +11 -6
  90. package/lib/vtx-datagrid/ToolBar/components/ColumnSetting/style.js +5 -2
  91. package/lib/vtx-datagrid/ToolBar/components/Density/index.js +3 -0
  92. package/lib/vtx-datagrid/ToolBar/components/TableStyle/index.js +3 -0
  93. package/lib/vtx-datagrid/ToolBar/index.js +2 -2
  94. package/lib/vtx-datagrid/columnState.js +73 -0
  95. package/lib/vtx-datagrid/index.js +115 -35
  96. package/lib/vtx-datagrid/mergeComponents.js +21 -0
  97. package/lib/vtx-datagrid/renderColumnButtons.js +30 -11
  98. package/lib/vtx-datagrid/style/index.js +102 -20
  99. package/lib/vtx-date-picker/QdatePicker.js +1 -1
  100. package/lib/vtx-descriptions/Descriptions.js +38 -0
  101. package/lib/vtx-descriptions/index.js +15 -0
  102. package/lib/vtx-descriptions/style/index.js +25 -0
  103. package/lib/vtx-ellipsis-text/index.js +7 -2
  104. package/lib/vtx-ellipsis-text/style/index.js +3 -1
  105. package/lib/vtx-export/index.js +26 -26
  106. package/lib/vtx-export-async/History.js +7 -3
  107. package/lib/vtx-export-async/index.js +40 -12
  108. package/lib/vtx-form-layout/Card.js +9 -9
  109. package/lib/vtx-form-layout/Divider.js +1 -1
  110. package/lib/vtx-form-layout/FormItem.js +18 -17
  111. package/lib/vtx-form-layout/Pane.js +22 -11
  112. package/lib/vtx-icon/index.js +54 -52
  113. package/lib/vtx-icon/index.js1 +90 -0
  114. package/lib/vtx-image/Preview.js +11 -6
  115. package/lib/vtx-image/style/index.js +0 -1
  116. package/lib/vtx-import/index.js +154 -42
  117. package/lib/vtx-import/result.js +6 -2
  118. package/lib/vtx-import/style/index.js +16 -1
  119. package/lib/vtx-import2/Content.js +2 -1
  120. package/lib/vtx-import2/index.js +30 -19
  121. package/lib/vtx-import2/style/index.js +60 -9
  122. package/lib/vtx-input/TextArea/index.js +11 -6
  123. package/lib/vtx-modal/index.js +9 -4
  124. package/lib/vtx-modal/style/index.js +5 -3
  125. package/lib/vtx-page-layout/Content.js +1 -1
  126. package/lib/vtx-page-layout/TabLayout.js +3 -9
  127. package/lib/vtx-page-layout/TableLayout.js +14 -4
  128. package/lib/vtx-page-layout/TableWrap.js +3 -2
  129. package/lib/vtx-page-layout/TreeLayout.js +4 -10
  130. package/lib/vtx-page-layout/container.js +6 -5
  131. package/lib/vtx-page-layout/style/index.js +4 -2
  132. package/lib/vtx-provider/index.js +19 -10
  133. package/lib/vtx-provider/locale/en_US.js +65 -5
  134. package/lib/vtx-provider/locale/zh_CN.js +75 -5
  135. package/lib/vtx-provider/useStyle/index.js +8 -4
  136. package/lib/vtx-scrollable-row/index.js +38 -28
  137. package/lib/vtx-search/index.js +18 -13
  138. package/lib/vtx-search/style/index.js +2 -1
  139. package/lib/vtx-select/index.js +134 -48
  140. package/lib/vtx-select/style/index.js +11 -56
  141. package/lib/vtx-signature/index.js +4 -3
  142. package/lib/vtx-signature/style/index.js +1 -1
  143. package/lib/vtx-split-pane/Resizer.js +0 -1
  144. package/lib/vtx-split-pane/SplitPane.js +32 -23
  145. package/lib/vtx-split-pane/style/index.js +8 -112
  146. package/lib/vtx-time-picker/index.js +27 -1
  147. package/lib/vtx-transfer/Transfer.js +38 -0
  148. package/lib/vtx-transfer/index.js +15 -0
  149. package/lib/vtx-transfer/style/index.js +25 -0
  150. package/lib/vtx-transfer-select/TransferSelect.js +151 -0
  151. package/lib/vtx-transfer-select/index.js +15 -0
  152. package/lib/vtx-transfer-select/style/index.js +25 -0
  153. package/lib/vtx-tree/index.js +102 -38
  154. package/lib/vtx-tree-select/index.js +75 -105
  155. package/lib/vtx-tree-select/style/index.js +9 -3
  156. package/lib/vtx-upload/FilePreview.js +2 -1
  157. package/lib/vtx-wang-editor/index.js +289 -113
  158. package/lib/vtx-wang-editor/wangEditorUtil.js +59 -10
  159. package/package.json +44 -28
  160. package/es/utils/hooks/useFetchData/index.js +0 -82
  161. package/lib/utils/hooks/useFetchData/index.js +0 -89
@@ -3,48 +3,97 @@ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableTo
3
3
  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
4
4
  function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
5
5
  function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
6
+ 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; }
7
+ 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; }
8
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
9
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
10
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
6
11
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
7
12
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
8
13
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
9
14
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
10
15
  function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
11
16
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
12
- 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; }
13
- 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; }
14
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
15
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
16
- function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
17
17
  import { useMergedState } from '@rc-component/util';
18
- import { request } from '@vtx/utils';
18
+ import request from '@vtx/utils/lib/request';
19
19
  import getSignature from '@vtx/utils/lib/getSignature';
20
- import { createContext, useEffect, useMemo, useRef, useState } from 'react';
20
+ import VtxEllipsisText from "../../vtx-ellipsis-text";
21
+ import { createContext, useEffect, useMemo, useRef, useState, useCallback } from 'react';
21
22
  import { useIntl } from "../../vtx-provider";
22
23
  import { message } from 'antd';
23
- import { genColumnKey, isFunction, sortByGivenOrder, useDeepCompareEffectDebounce } from "../../utils";
24
+ import { genColumnKey, isFunction, useDeepCompareEffectDebounce } from "../../utils";
24
25
  import renderColumnButtons from "../renderColumnButtons";
25
26
  import { getVtxToken } from '@vtx/utils';
27
+ import { buildColumnKeyMap, buildSortKeyColumns } from "../columnState";
26
28
  import { jsx as _jsx } from "react/jsx-runtime";
27
29
  export var indexColumnKey = '_serialNum';
30
+ function useMergedState1(defaultValue, option) {
31
+ var _ref = option || {},
32
+ controlledValue = _ref.value,
33
+ onChange = _ref.onChange,
34
+ id = _ref.id;
35
+
36
+ // 1. 初始化内部非受控状态
37
+ var _useState = useState(defaultValue),
38
+ _useState2 = _slicedToArray(_useState, 2),
39
+ innerValue = _useState2[0],
40
+ setInnerValue = _useState2[1];
41
+ // 记录上一次的值,用于 onChange 回调传参
42
+ var prevValueRef = useRef(controlledValue !== null && controlledValue !== void 0 ? controlledValue : innerValue);
43
+ // 2. 受控模式下,同步更新 prevValueRef
44
+ useEffect(function () {
45
+ if (controlledValue !== undefined) {
46
+ prevValueRef.current = controlledValue;
47
+ }
48
+ }, [controlledValue]);
49
+ // 3. 统一的取值逻辑:优先用受控值,否则用内部值
50
+ var mergedValue = controlledValue !== undefined ? controlledValue : innerValue;
51
+ // 4. 统一的更新方法
52
+ var setValue = useCallback(function (value) {
53
+ var prevValue = mergedValue;
54
+ // 处理函数式更新(和 useState 保持一致)
55
+ var nextValue = typeof value === 'function' ? value(prevValue) : value;
56
+
57
+ // 受控模式:调用 onChange,不更新内部 state
58
+ if (controlledValue !== undefined) {
59
+ onChange === null || onChange === void 0 || onChange(nextValue, prevValue);
60
+ }
61
+ // 非受控模式:更新内部 state,同时触发 onChange
62
+ else {
63
+ setInnerValue(nextValue);
64
+ onChange === null || onChange === void 0 || onChange(nextValue, prevValue);
65
+ }
66
+ // 更新上一次值的缓存
67
+ prevValueRef.current = nextValue;
68
+ }, [controlledValue, mergedValue, onChange]);
69
+ // 5. 重置方法:恢复到初始默认值
70
+ var reset = useCallback(function () {
71
+ var resetValue = typeof defaultValue === 'function' ? defaultValue() : defaultValue;
72
+ setValue(resetValue);
73
+ }, [defaultValue, setValue]);
74
+ return [mergedValue, setValue, reset];
75
+ }
28
76
  function useContainer() {
29
77
  var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
30
- var _ref = getVtxToken() || {},
31
- _ref$userId = _ref.userId,
32
- userId = _ref$userId === void 0 ? '' : _ref$userId,
33
- _ref$tenantId = _ref.tenantId,
34
- tenantId = _ref$tenantId === void 0 ? '' : _ref$tenantId;
78
+ var _ref2 = getVtxToken() || {},
79
+ _ref2$userId = _ref2.userId,
80
+ userId = _ref2$userId === void 0 ? '' : _ref2$userId,
81
+ _ref2$tenantId = _ref2.tenantId,
82
+ tenantId = _ref2$tenantId === void 0 ? '' : _ref2$tenantId;
35
83
  var intl = useIntl();
36
84
  var _props$indexColumn = props.indexColumn,
37
85
  indexColumn = _props$indexColumn === void 0 ? true : _props$indexColumn,
38
86
  _props$indexFixed = props.indexFixed,
39
87
  indexFixed = _props$indexFixed === void 0 ? false : _props$indexFixed,
40
88
  _props$indexTitle = props.indexTitle,
41
- indexTitle = _props$indexTitle === void 0 ? '序号' : _props$indexTitle,
89
+ indexTitle = _props$indexTitle === void 0 ? intl.getMessage('indexTitle', '序号') : _props$indexTitle,
42
90
  _props$indexWidth = props.indexWidth,
43
91
  indexWidth = _props$indexWidth === void 0 ? 70 : _props$indexWidth,
44
92
  onColumnsSave = props.onColumnsSave,
45
93
  disabledColumnKeys = props.disabledColumnKeys,
46
94
  hideColumnSetting = props.hideColumnSetting,
47
- customEnumText = props.customEnumText;
95
+ _props$customEnumText = props.customEnumText,
96
+ customEnumText = _props$customEnumText === void 0 ? {} : _props$customEnumText;
48
97
  var TextEnum = _objectSpread({
49
98
  refreshText: intl.getMessage('tableToolBar.reload', '刷新'),
50
99
  densityDefaultText: intl.getMessage('tableToolBar.densityDefault', '默认'),
@@ -73,8 +122,8 @@ function useContainer() {
73
122
  noFixedTitle: intl.getMessage('tableToolBar.noFixedTitle', '不固定'),
74
123
  rightFixedTitle: intl.getMessage('tableToolBar.rightFixedTitle', '固定在右侧'),
75
124
  columnAll: intl.getMessage('tableToolBar.columnAll', '全部'),
76
- total: intl.getMessage('pagination.total.total', '共'),
77
- item: intl.getMessage('pagination.total.item', '条')
125
+ paginationTotalText: intl.getMessage('pagination.total.total', '共'),
126
+ paginationItemText: intl.getMessage('pagination.total.item', '条')
78
127
  }, customEnumText);
79
128
  var isFirst = useRef(true);
80
129
  var actionRef = useRef();
@@ -86,22 +135,22 @@ function useContainer() {
86
135
  var columnsMapRef = useRef({});
87
136
  // 是否可拖拽, 除非columns 至少需要一项不设置 width 让其自适应。
88
137
  var isDragRef = useRef(false);
89
- var _useState = useState({}),
90
- _useState2 = _slicedToArray(_useState, 2),
91
- columnsMap = _useState2[0],
92
- setColumnsMap = _useState2[1];
93
- var _useState3 = useState(false),
138
+ var _useState3 = useState({}),
94
139
  _useState4 = _slicedToArray(_useState3, 2),
95
- showTable = _useState4[0],
96
- setShowTable = _useState4[1];
97
- var _useState5 = useState(''),
140
+ columnsMap = _useState4[0],
141
+ setColumnsMap = _useState4[1];
142
+ var _useState5 = useState(false),
98
143
  _useState6 = _slicedToArray(_useState5, 2),
99
- keyWords = _useState6[0],
100
- _setKeyWords = _useState6[1];
101
- var _useState7 = useState({}),
144
+ showTable = _useState6[0],
145
+ setShowTable = _useState6[1];
146
+ var _useState7 = useState(''),
102
147
  _useState8 = _slicedToArray(_useState7, 2),
103
- tableConfig = _useState8[0],
104
- setTableConfig = _useState8[1];
148
+ keyWords = _useState8[0],
149
+ _setKeyWords = _useState8[1];
150
+ var _useState9 = useState({}),
151
+ _useState10 = _slicedToArray(_useState9, 2),
152
+ tableConfig = _useState10[0],
153
+ setTableConfig = _useState10[1];
105
154
  var _useMergedState = useMergedState(function () {
106
155
  return props.size || props.defaultSize || 'middle';
107
156
  }, {
@@ -112,7 +161,7 @@ function useContainer() {
112
161
  tableSize = _useMergedState2[0],
113
162
  setTableSize = _useMergedState2[1];
114
163
  var _useMergedState3 = useMergedState(function () {
115
- return props.tableStyles || ['striped', 'header-background', 'border'];
164
+ return props.tableStyles || props.defaultTableStyles || ['striped', 'header-background', 'border'];
116
165
  }, {
117
166
  value: props.tableStyles,
118
167
  onChange: props.onChangeTableStyles
@@ -121,7 +170,7 @@ function useContainer() {
121
170
  tableStyles = _useMergedState4[0],
122
171
  setTableStyles = _useMergedState4[1];
123
172
  var _useMergedState5 = useMergedState(function () {
124
- return props.visibleColumnKeys || undefined;
173
+ return props.visibleColumnKeys || props.defaultVisibleColumnKeys || undefined;
125
174
  }, {
126
175
  value: props.visibleColumnKeys,
127
176
  onChange: props.onVisibleColumnsChange
@@ -130,7 +179,7 @@ function useContainer() {
130
179
  visibleColumnKeys = _useMergedState6[0],
131
180
  setVisibleColumnKeys = _useMergedState6[1];
132
181
  var _useMergedState7 = useMergedState(function () {
133
- return props.uniqueKey || undefined;
182
+ return props.uniqueKey || props.defaultUniqueKey || undefined;
134
183
  }, {
135
184
  value: props.uniqueKey,
136
185
  onChange: props.onChangesUniqueKey
@@ -169,16 +218,24 @@ function useContainer() {
169
218
  key: newColumn.key || newColumn.dataIndex,
170
219
  disable: disabledColumnKeys === null || disabledColumnKeys === void 0 ? void 0 : disabledColumnKeys.includes(column.dataIndex || column.key),
171
220
  render: isFunction(column.renderButtons) ? function (text, record, index) {
172
- return renderColumnButtons({
173
- renderButtons: column.renderButtons,
174
- visible: column.renderButtonsVisibleNum,
175
- text: text,
176
- record: record,
177
- index: index,
178
- TextEnum: TextEnum
221
+ return /*#__PURE__*/_jsx("div", {
222
+ style: {
223
+ whiteSpace: 'nowrap'
224
+ },
225
+ children: renderColumnButtons({
226
+ renderButtons: column.renderButtons,
227
+ visible: column.renderButtonsVisibleNum,
228
+ text: text,
229
+ record: record,
230
+ index: index,
231
+ TextEnum: TextEnum
232
+ })
179
233
  });
180
234
  } : 'render' in column ? column.render : function (text) {
181
- return ['', null, undefined].includes(text) ? '-' : text;
235
+ return ['', null, undefined].includes(text) ? '-' : column.ellipse && typeof text === 'string' ? /*#__PURE__*/_jsx(VtxEllipsisText, {
236
+ text: text,
237
+ lineClamp: 2
238
+ }) : text;
182
239
  }
183
240
  });
184
241
  });
@@ -187,111 +244,31 @@ function useContainer() {
187
244
 
188
245
  // 默认值 可以从接口里获取
189
246
  var defaultColumnKeyMap = useMemo(function () {
190
- var columnKeyMap = {};
191
247
  if (tableConfig.columnsMap && tableConfig.sortKeyColumns) {
192
248
  setColumnsMap(tableConfig.columnsMap);
193
249
  sortKeyColumns.current = tableConfig.sortKeyColumns;
194
250
  return tableConfig.columnsMap;
195
- } else if (Array.isArray(props.defaultVisibleColumnKeys)) {
196
- tableColumn === null || tableColumn === void 0 || tableColumn.forEach(function (_ref2, index) {
197
- var _ref3;
198
- var key = _ref2.key,
199
- dataIndex = _ref2.dataIndex,
200
- fixed = _ref2.fixed,
201
- disable = _ref2.disable,
202
- width = _ref2.width;
203
- var columnKey = genColumnKey(key !== null && key !== void 0 ? key : dataIndex, index);
204
- columnKeyMap[columnKey] = {
205
- show: indexColumn && indexColumnKey == columnKey ? true : (_ref3 = _toConsumableArray(props.defaultVisibleColumnKeys)) === null || _ref3 === void 0 ? void 0 : _ref3.includes(columnKey),
206
- fixed: fixed,
207
- disable: disable,
208
- width: width
209
- };
210
- });
211
- } else {
212
- tableColumn === null || tableColumn === void 0 || tableColumn.forEach(function (_ref4, index) {
213
- var key = _ref4.key,
214
- dataIndex = _ref4.dataIndex,
215
- fixed = _ref4.fixed,
216
- disable = _ref4.disable,
217
- width = _ref4.width;
218
- var columnKey = genColumnKey(key !== null && key !== void 0 ? key : dataIndex, index);
219
- columnKeyMap[columnKey] = {
220
- show: true,
221
- fixed: fixed,
222
- disable: disable,
223
- width: width
224
- };
225
- });
226
251
  }
227
- return columnKeyMap;
252
+ return buildColumnKeyMap(tableColumn, {
253
+ defaultVisibleColumnKeys: props.defaultVisibleColumnKeys,
254
+ indexColumn: indexColumn
255
+ });
228
256
  }, [tableColumn, props.defaultVisibleColumnKeys, tableConfig, uniqueKey]);
229
257
 
230
258
  // 深度比较 + 防抖 + 忽略这render函数引用变化
231
259
  useDeepCompareEffectDebounce(function () {
232
- var columnKeyMap = {};
233
- if (Array.isArray(visibleColumnKeys)) {
234
- tableColumn === null || tableColumn === void 0 || tableColumn.forEach(function (_ref5, index) {
235
- var _ref6;
236
- var key = _ref5.key,
237
- dataIndex = _ref5.dataIndex,
238
- fixed = _ref5.fixed,
239
- disable = _ref5.disable,
240
- width = _ref5.width;
241
- var columnKey = genColumnKey(key !== null && key !== void 0 ? key : dataIndex, index);
242
- columnKeyMap[columnKey] = {
243
- show: isFirst.current && indexColumn && indexColumnKey == columnKey ? true : (_ref6 = _toConsumableArray(visibleColumnKeys)) === null || _ref6 === void 0 ? void 0 : _ref6.includes(columnKey),
244
- fixed: fixed,
245
- disable: disable,
246
- width: width
247
- };
248
- });
249
- } else if (Array.isArray(props.defaultVisibleColumnKeys)) {
250
- tableColumn === null || tableColumn === void 0 || tableColumn.forEach(function (_ref7, index) {
251
- var _ref8;
252
- var key = _ref7.key,
253
- dataIndex = _ref7.dataIndex,
254
- fixed = _ref7.fixed,
255
- disable = _ref7.disable,
256
- width = _ref7.width;
257
- var columnKey = genColumnKey(key !== null && key !== void 0 ? key : dataIndex, index);
258
- columnKeyMap[columnKey] = {
259
- show: isFirst.current && indexColumn && indexColumnKey == columnKey ? true : (_ref8 = _toConsumableArray(props.defaultVisibleColumnKeys)) === null || _ref8 === void 0 ? void 0 : _ref8.includes(columnKey),
260
- fixed: fixed,
261
- disable: disable,
262
- width: width
263
- };
264
- });
265
- } else {
266
- tableColumn === null || tableColumn === void 0 || tableColumn.forEach(function (_ref9, index) {
267
- var key = _ref9.key,
268
- dataIndex = _ref9.dataIndex,
269
- fixed = _ref9.fixed,
270
- disable = _ref9.disable,
271
- width = _ref9.width;
272
- var columnKey = genColumnKey(key !== null && key !== void 0 ? key : dataIndex, index);
273
- columnKeyMap[columnKey] = {
274
- show: true,
275
- fixed: fixed,
276
- disable: disable,
277
- width: width
278
- };
279
- });
280
- }
281
- var sortKeys = visibleColumnKeys || props.defaultVisibleColumnKeys || [];
282
- sortKeyColumns.current = Object.entries(columnKeyMap).map(function (_ref10) {
283
- var _ref11 = _slicedToArray(_ref10, 1),
284
- key = _ref11[0];
285
- return key;
260
+ var columnKeyMap = buildColumnKeyMap(tableColumn, {
261
+ visibleColumnKeys: visibleColumnKeys,
262
+ defaultVisibleColumnKeys: props.defaultVisibleColumnKeys,
263
+ previousColumnsMap: columnsMapRef.current,
264
+ indexColumn: indexColumn
286
265
  });
287
- if ((sortKeys === null || sortKeys === void 0 ? void 0 : sortKeys.length) > 0) {
288
- sortKeyColumns.current = sortByGivenOrder(sortKeyColumns.current, sortKeys);
289
- }
266
+ sortKeyColumns.current = buildSortKeyColumns(columnKeyMap, visibleColumnKeys, props.defaultVisibleColumnKeys);
290
267
  setColumnsMap(columnKeyMap);
291
268
  if (isFirst.current) {
292
269
  isFirst.current = false;
293
270
  }
294
- }, [visibleColumnKeys], ['render'], 100);
271
+ }, [visibleColumnKeys, props.defaultVisibleColumnKeys, tableColumn], ['render'], 100);
295
272
  useDeepCompareEffectDebounce(function () {
296
273
  var _sortKeyColumns$curre, _props$onVisibleColum;
297
274
  var visibleColumnKeys = [];
@@ -29,6 +29,8 @@ import { VtxProvider } from "../../../../vtx-provider";
29
29
  import { TableContext } from "../../../Store/Provide";
30
30
  import VtxIcon from "../../../../vtx-icon";
31
31
  import { useStyle } from "./style";
32
+ import { getVisibleColumnKeysFromMap } from "../../../columnState";
33
+ // omit 用于从对象中排除指定的属性,返回一个新对象
32
34
  import { jsx as _jsx } from "react/jsx-runtime";
33
35
  import { jsxs as _jsxs } from "react/jsx-runtime";
34
36
  import { Fragment as _Fragment } from "react/jsx-runtime";
@@ -243,7 +245,6 @@ var CheckboxList = function CheckboxList(_ref3) {
243
245
  var dropPosition = info.dropPosition,
244
246
  dropToGap = info.dropToGap;
245
247
  var position = dropPosition === -1 || !dropToGap ? dropPosition + 1 : dropPosition;
246
- console.log('newMap info', dragKey, dropKey, position);
247
248
  move(dragKey, dropKey, position);
248
249
  },
249
250
  treeIcon: false,
@@ -360,15 +361,17 @@ export default function ColumnSetting(props) {
360
361
  var _useStyle = useStyle(prefixCls),
361
362
  wrapSSR = _useStyle.wrapSSR,
362
363
  hashId = _useStyle.hashId;
363
- var localColumns = props.columns;
364
364
  var _useContext8 = useContext(TableContext),
365
365
  uniqueKey = _useContext8.uniqueKey,
366
366
  columnsMap = _useContext8.columnsMap,
367
367
  setColumnsMap = _useContext8.setColumnsMap,
368
368
  defaultColumnKeyMap = _useContext8.defaultColumnKeyMap,
369
369
  setSortKeyColumns = _useContext8.setSortKeyColumns,
370
+ sortKeyColumns = _useContext8.sortKeyColumns,
370
371
  saveColumns = _useContext8.saveColumns,
371
- TextEnum = _useContext8.TextEnum;
372
+ TextEnum = _useContext8.TextEnum,
373
+ tableColumn = _useContext8.tableColumn;
374
+ var localColumns = props.localColumns;
372
375
  var checkedColumnKeys = props.checkedColumnKeys,
373
376
  onColumnsSave = props.onColumnsSave;
374
377
 
@@ -428,7 +431,7 @@ export default function ColumnSetting(props) {
428
431
 
429
432
  // 保存按钮
430
433
  var onSaveChange = function onSaveChange() {
431
- onColumnsSave(checkedColumnKeys);
434
+ onColumnsSave(Array.isArray(checkedColumnKeys) ? checkedColumnKeys : getVisibleColumnKeysFromMap(columnsMap, sortKeyColumns));
432
435
  };
433
436
  // 未选中的 key 列表
434
437
  var unCheckedKeys = Object.values(columnsMap).filter(function (value) {
@@ -499,7 +502,10 @@ export default function ColumnSetting(props) {
499
502
  children: TextEnum.columnSettingSaveText
500
503
  })]
501
504
  }) : null]
502
- })
505
+ }),
506
+ getPopupContainer: function getPopupContainer(triggerNode) {
507
+ return triggerNode.parentNode;
508
+ }
503
509
  // open={true}
504
510
  ,
505
511
  children: /*#__PURE__*/_jsx(Tooltip, {
@@ -21,7 +21,8 @@ var genVtxStyle = function genVtxStyle(token) {
21
21
  padding: 0,
22
22
  marginBottom: 10
23
23
  }), '.ant-popover-content', _defineProperty(_defineProperty(_defineProperty(_defineProperty({
24
- padding: '0 16px 16px 16px'
24
+ padding: '0 16px 16px 16px',
25
+ width: 196
25
26
  }, "".concat(token.antCls, "-tree-node-content-wrapper:hover"), {
26
27
  backgroundColor: 'transparent'
27
28
  }), ".ant-tree-switcher", {
@@ -29,7 +30,9 @@ var genVtxStyle = function genVtxStyle(token) {
29
30
  }), "".concat(token.antCls, "-tree-draggable-icon"), {
30
31
  cursor: 'grab'
31
32
  }), "".concat(token.antCls, "-tree-treenode"), _defineProperty(_defineProperty({
32
- alignItems: 'center'
33
+ alignItems: 'center',
34
+ paddingRight: 12,
35
+ boxSizing: 'border-box'
33
36
  }, "".concat(token.antCls, "-tree-checkbox"), {
34
37
  marginInlineEnd: 4
35
38
  }), "".concat(token.antCls, "-tree-title"), {
@@ -28,6 +28,9 @@ function Density() {
28
28
  selectedKeys: [counter.tableSize]
29
29
  },
30
30
  trigger: ['click'],
31
+ getPopupContainer: function getPopupContainer(triggerNode) {
32
+ return triggerNode.parentNode;
33
+ },
31
34
  children: /*#__PURE__*/_jsx(Tooltip, {
32
35
  title: TextEnum.columnDensityText,
33
36
  children: /*#__PURE__*/_jsx("span", {
@@ -31,6 +31,9 @@ function TableStyle() {
31
31
  trigger: ['click'],
32
32
  placement: "bottomRight",
33
33
  title: null,
34
+ getPopupContainer: function getPopupContainer(triggerNode) {
35
+ return triggerNode.parentNode;
36
+ },
34
37
  content: list === null || list === void 0 ? void 0 : list.map(function (v) {
35
38
  return /*#__PURE__*/_jsx("div", {
36
39
  children: /*#__PURE__*/_jsx(Checkbox, {
@@ -21,9 +21,9 @@ function ToolBar(props) {
21
21
  onRefresh = props.onRefresh,
22
22
  hideColumnHeight = props.hideColumnHeight,
23
23
  hideColumnSetting = props.hideColumnSetting,
24
- columns = props.columns,
25
24
  onColumnsSave = props.onColumnsSave,
26
25
  uniqueKey = props.uniqueKey,
26
+ columns = props.columns,
27
27
  TextEnum = props.TextEnum;
28
28
  var _useStyle = useStyle("".concat(prefix, "-toolbar")),
29
29
  wrapSSR = _useStyle.wrapSSR,
@@ -72,7 +72,7 @@ function ToolBar(props) {
72
72
  }), !hideColumnSetting && /*#__PURE__*/_jsx("div", {
73
73
  className: "".concat(prefix, "-toolbar-setting-item"),
74
74
  children: /*#__PURE__*/_jsx(ColumnSetting, {
75
- columns: columns,
75
+ localColumns: columns,
76
76
  uniqueKey: uniqueKey,
77
77
  onColumnsSave: onColumnsSave
78
78
  })
@@ -0,0 +1,64 @@
1
+ import { genColumnKey } from "../utils/genColumnKey";
2
+ import { sortByGivenOrder } from "../utils/sortByGivenOrder";
3
+ export var indexColumnKey = '_serialNum';
4
+ export function buildColumnKeyMap() {
5
+ var tableColumn = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
6
+ var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
7
+ visibleColumnKeys = _ref.visibleColumnKeys,
8
+ defaultVisibleColumnKeys = _ref.defaultVisibleColumnKeys,
9
+ _ref$previousColumnsM = _ref.previousColumnsMap,
10
+ previousColumnsMap = _ref$previousColumnsM === void 0 ? {} : _ref$previousColumnsM,
11
+ _ref$indexColumn = _ref.indexColumn,
12
+ indexColumn = _ref$indexColumn === void 0 ? true : _ref$indexColumn;
13
+ var hasVisibleColumnKeys = Array.isArray(visibleColumnKeys);
14
+ var hasDefaultVisibleColumnKeys = Array.isArray(defaultVisibleColumnKeys);
15
+ return (tableColumn || []).reduce(function (columnKeyMap, _ref2, index) {
16
+ var _previousConfig$fixed, _previousConfig$width;
17
+ var key = _ref2.key,
18
+ dataIndex = _ref2.dataIndex,
19
+ fixed = _ref2.fixed,
20
+ disable = _ref2.disable,
21
+ width = _ref2.width;
22
+ var columnKey = genColumnKey(key !== null && key !== void 0 ? key : dataIndex, index);
23
+ var previousConfig = previousColumnsMap[columnKey] || {};
24
+ var show = previousConfig.show;
25
+ if (indexColumn && indexColumnKey === columnKey) {
26
+ show = true;
27
+ } else if (hasVisibleColumnKeys) {
28
+ show = visibleColumnKeys.includes(columnKey);
29
+ } else if (show === undefined && hasDefaultVisibleColumnKeys) {
30
+ show = defaultVisibleColumnKeys.includes(columnKey);
31
+ } else if (show === undefined) {
32
+ show = true;
33
+ }
34
+ columnKeyMap[columnKey] = {
35
+ show: show,
36
+ fixed: (_previousConfig$fixed = previousConfig.fixed) !== null && _previousConfig$fixed !== void 0 ? _previousConfig$fixed : fixed,
37
+ disable: disable,
38
+ width: (_previousConfig$width = previousConfig.width) !== null && _previousConfig$width !== void 0 ? _previousConfig$width : width
39
+ };
40
+ if (previousConfig.order !== undefined) {
41
+ columnKeyMap[columnKey].order = previousConfig.order;
42
+ }
43
+ return columnKeyMap;
44
+ }, {});
45
+ }
46
+ export function buildSortKeyColumns() {
47
+ var columnsMap = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
48
+ var visibleColumnKeys = arguments.length > 1 ? arguments[1] : undefined;
49
+ var defaultVisibleColumnKeys = arguments.length > 2 ? arguments[2] : undefined;
50
+ var columnKeys = Object.keys(columnsMap);
51
+ var sortKeys = visibleColumnKeys || defaultVisibleColumnKeys || [];
52
+ if (sortKeys.length > 0) {
53
+ return sortByGivenOrder(columnKeys, sortKeys);
54
+ }
55
+ return columnKeys;
56
+ }
57
+ export function getVisibleColumnKeysFromMap() {
58
+ var columnsMap = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
59
+ var sortKeyColumns = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
60
+ return sortKeyColumns.filter(function (columnKey) {
61
+ var _columnsMap$columnKey;
62
+ return (_columnsMap$columnKey = columnsMap[columnKey]) === null || _columnsMap$columnKey === void 0 ? void 0 : _columnsMap$columnKey.show;
63
+ });
64
+ }