tntd 3.0.31-beta.1 → 3.0.32-beta.1

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 (123) hide show
  1. package/CHANGELOG.json +1034 -0
  2. package/CHANGELOG.md +605 -0
  3. package/es/checkbox/checkbox-group.js +5 -0
  4. package/es/checkbox/checkbox-group.js.map +1 -0
  5. package/es/radio/radio-group.js +5 -0
  6. package/es/radio/radio-group.js.map +1 -0
  7. package/es/steps/stepStyle/small.less +5 -0
  8. package/es/table/resizableTable/index.less +1 -1
  9. package/es/tntd-rc-select/style/index.less +27 -19
  10. package/es/tntd-virtual-tree/index.js +18 -14
  11. package/es/tntd-virtual-tree/index.js.map +1 -1
  12. package/es/tntd-virtual-tree/index.less +10 -7
  13. package/es/tntd-virtual-tree-select/index.js +2 -2
  14. package/es/tntd-virtual-tree-select/index.js.map +1 -1
  15. package/es/tntd-virtual-tree-select/index.less +0 -17
  16. package/es/tntd-virtual-tree-select/utils.js +2 -2
  17. package/es/tntd-virtual-tree-select/utils.js.map +1 -1
  18. package/lib/checkbox/checkbox-group.d.ts +8 -0
  19. package/lib/checkbox/checkbox-group.d.ts.map +1 -0
  20. package/lib/checkbox/checkbox-group.js +12 -0
  21. package/lib/checkbox/checkbox-group.js.map +1 -0
  22. package/lib/radio/radio-group.d.ts +8 -0
  23. package/lib/radio/radio-group.d.ts.map +1 -0
  24. package/lib/radio/radio-group.js +12 -0
  25. package/lib/radio/radio-group.js.map +1 -0
  26. package/lib/steps/stepStyle/small.less +5 -0
  27. package/lib/table/resizableTable/index.less +1 -1
  28. package/lib/tntd-rc-select/style/index.less +27 -19
  29. package/lib/tntd-virtual-tree/index.d.ts +1 -1
  30. package/lib/tntd-virtual-tree/index.d.ts.map +1 -1
  31. package/lib/tntd-virtual-tree/index.js +20 -14
  32. package/lib/tntd-virtual-tree/index.js.map +1 -1
  33. package/lib/tntd-virtual-tree/index.less +10 -7
  34. package/lib/tntd-virtual-tree-select/index.d.ts +1 -1
  35. package/lib/tntd-virtual-tree-select/index.js +2 -3
  36. package/lib/tntd-virtual-tree-select/index.js.map +1 -1
  37. package/lib/tntd-virtual-tree-select/index.less +0 -17
  38. package/lib/tntd-virtual-tree-select/utils.js +2 -2
  39. package/lib/tntd-virtual-tree-select/utils.js.map +1 -1
  40. package/package.json +2 -2
  41. package/lib/query-form-v2/Field/Checkbox.d.ts +0 -8
  42. package/lib/query-form-v2/Field/Checkbox.d.ts.map +0 -1
  43. package/lib/query-form-v2/Field/Checkbox.js +0 -28
  44. package/lib/query-form-v2/Field/Checkbox.js.map +0 -1
  45. package/lib/query-form-v2/Field/Select.d.ts +0 -4
  46. package/lib/query-form-v2/Field/Select.d.ts.map +0 -1
  47. package/lib/query-form-v2/Field/Select.js +0 -80
  48. package/lib/query-form-v2/Field/Select.js.map +0 -1
  49. package/lib/query-form-v2/Field/SelectInput.d.ts +0 -4
  50. package/lib/query-form-v2/Field/SelectInput.d.ts.map +0 -1
  51. package/lib/query-form-v2/Field/SelectInput.js +0 -88
  52. package/lib/query-form-v2/Field/SelectInput.js.map +0 -1
  53. package/lib/query-form-v2/Field/fieldsMap.d.ts +0 -24
  54. package/lib/query-form-v2/Field/fieldsMap.d.ts.map +0 -1
  55. package/lib/query-form-v2/Field/fieldsMap.js +0 -35
  56. package/lib/query-form-v2/Field/fieldsMap.js.map +0 -1
  57. package/lib/query-form-v2/Field/index.d.ts +0 -14
  58. package/lib/query-form-v2/Field/index.d.ts.map +0 -1
  59. package/lib/query-form-v2/Field/index.js +0 -146
  60. package/lib/query-form-v2/Field/index.js.map +0 -1
  61. package/lib/query-form-v2/createActions.d.ts +0 -14
  62. package/lib/query-form-v2/createActions.d.ts.map +0 -1
  63. package/lib/query-form-v2/createActions.js +0 -54
  64. package/lib/query-form-v2/createActions.js.map +0 -1
  65. package/lib/query-form-v2/index.d.ts +0 -39
  66. package/lib/query-form-v2/index.d.ts.map +0 -1
  67. package/lib/query-form-v2/index.js +0 -391
  68. package/lib/query-form-v2/index.js.map +0 -1
  69. package/lib/query-form-v2/useForm.d.ts +0 -13
  70. package/lib/query-form-v2/useForm.d.ts.map +0 -1
  71. package/lib/query-form-v2/useForm.js +0 -13
  72. package/lib/query-form-v2/useForm.js.map +0 -1
  73. package/lib/query-form-v3/Field/Checkbox.d.ts +0 -8
  74. package/lib/query-form-v3/Field/Checkbox.d.ts.map +0 -1
  75. package/lib/query-form-v3/Field/Checkbox.js +0 -28
  76. package/lib/query-form-v3/Field/Checkbox.js.map +0 -1
  77. package/lib/query-form-v3/Field/Composition/FieldPopover.d.ts +0 -19
  78. package/lib/query-form-v3/Field/Composition/FieldPopover.d.ts.map +0 -1
  79. package/lib/query-form-v3/Field/Composition/FieldPopover.js +0 -381
  80. package/lib/query-form-v3/Field/Composition/FieldPopover.js.map +0 -1
  81. package/lib/query-form-v3/Field/Composition/FieldPopover.less +0 -35
  82. package/lib/query-form-v3/Field/Composition/Select.d.ts +0 -4
  83. package/lib/query-form-v3/Field/Composition/Select.d.ts.map +0 -1
  84. package/lib/query-form-v3/Field/Composition/Select.js +0 -131
  85. package/lib/query-form-v3/Field/Composition/Select.js.map +0 -1
  86. package/lib/query-form-v3/Field/Composition/index.d.ts +0 -10
  87. package/lib/query-form-v3/Field/Composition/index.d.ts.map +0 -1
  88. package/lib/query-form-v3/Field/Composition/index.js +0 -255
  89. package/lib/query-form-v3/Field/Composition/index.js.map +0 -1
  90. package/lib/query-form-v3/Field/Composition/index.less +0 -118
  91. package/lib/query-form-v3/Field/Composition/utils.d.ts +0 -22
  92. package/lib/query-form-v3/Field/Composition/utils.d.ts.map +0 -1
  93. package/lib/query-form-v3/Field/Composition/utils.js +0 -147
  94. package/lib/query-form-v3/Field/Composition/utils.js.map +0 -1
  95. package/lib/query-form-v3/Field/Select.d.ts +0 -4
  96. package/lib/query-form-v3/Field/Select.d.ts.map +0 -1
  97. package/lib/query-form-v3/Field/Select.js +0 -80
  98. package/lib/query-form-v3/Field/Select.js.map +0 -1
  99. package/lib/query-form-v3/Field/SelectInput.d.ts +0 -4
  100. package/lib/query-form-v3/Field/SelectInput.d.ts.map +0 -1
  101. package/lib/query-form-v3/Field/SelectInput.js +0 -100
  102. package/lib/query-form-v3/Field/SelectInput.js.map +0 -1
  103. package/lib/query-form-v3/Field/fieldsMap.d.ts +0 -27
  104. package/lib/query-form-v3/Field/fieldsMap.d.ts.map +0 -1
  105. package/lib/query-form-v3/Field/fieldsMap.js +0 -35
  106. package/lib/query-form-v3/Field/fieldsMap.js.map +0 -1
  107. package/lib/query-form-v3/Field/index.d.ts +0 -14
  108. package/lib/query-form-v3/Field/index.d.ts.map +0 -1
  109. package/lib/query-form-v3/Field/index.js +0 -147
  110. package/lib/query-form-v3/Field/index.js.map +0 -1
  111. package/lib/query-form-v3/createActions.d.ts +0 -14
  112. package/lib/query-form-v3/createActions.d.ts.map +0 -1
  113. package/lib/query-form-v3/createActions.js +0 -54
  114. package/lib/query-form-v3/createActions.js.map +0 -1
  115. package/lib/query-form-v3/index.d.ts +0 -27
  116. package/lib/query-form-v3/index.d.ts.map +0 -1
  117. package/lib/query-form-v3/index.js +0 -206
  118. package/lib/query-form-v3/index.js.map +0 -1
  119. package/lib/query-form-v3/index.less +0 -91
  120. package/lib/query-form-v3/useForm.d.ts +0 -13
  121. package/lib/query-form-v3/useForm.d.ts.map +0 -1
  122. package/lib/query-form-v3/useForm.js +0 -13
  123. package/lib/query-form-v3/useForm.js.map +0 -1
@@ -935,7 +935,7 @@
935
935
  .tntd-rc-select-single .tntd-rc-select-selector .tntd-rc-select-selection-item,
936
936
  .tntd-rc-select-single .tntd-rc-select-selector .tntd-rc-select-selection-placeholder {
937
937
  padding: 0;
938
- line-height: 30px;
938
+ line-height: calc(@input-height-base - 2px);
939
939
  transition: all 0.3s, visibility 0s;
940
940
  }
941
941
  .tntd-rc-select-single .tntd-rc-select-selector .tntd-rc-select-selection-item {
@@ -969,16 +969,16 @@
969
969
  }
970
970
  .tntd-rc-select-single:not(.tntd-rc-select-customize-input) .tntd-rc-select-selector {
971
971
  width: 100%;
972
- height: 32px;
972
+ height: @input-height-base;
973
973
  padding: 0 11px;
974
974
  }
975
975
  .tntd-rc-select-single:not(.tntd-rc-select-customize-input)
976
976
  .tntd-rc-select-selector
977
977
  .tntd-rc-select-selection-search-input {
978
- height: 30px;
978
+ height: calc(@input-height-base - 2px);
979
979
  }
980
980
  .tntd-rc-select-single:not(.tntd-rc-select-customize-input) .tntd-rc-select-selector::after {
981
- line-height: 30px;
981
+ line-height: calc(@input-height-base - 2px);
982
982
  }
983
983
  .tntd-rc-select-single.tntd-rc-select-customize-input .tntd-rc-select-selector::after {
984
984
  display: none;
@@ -1118,12 +1118,12 @@
1118
1118
  flex: none;
1119
1119
  box-sizing: border-box;
1120
1120
  max-width: 100%;
1121
- height: 24px;
1121
+ height: 20px;
1122
1122
  margin-top: 2px;
1123
1123
  margin-bottom: 2px;
1124
- line-height: 22px;
1125
- background: #f5f5f5;
1126
- border: 1px solid #f0f0f0;
1124
+ line-height: 20px;
1125
+ background: #f1f2f5;
1126
+ border: 1px solid #e1e6ee;
1127
1127
  border-radius: 2px;
1128
1128
  cursor: default;
1129
1129
  transition: font-size 0.3s, line-height 0.3s, height 0.3s;
@@ -1136,8 +1136,8 @@
1136
1136
  padding-inline-end: 4px;
1137
1137
  }
1138
1138
  .tntd-rc-select-disabled.tntd-rc-select-multiple .tntd-rc-select-selection-item {
1139
- color: #bfbfbf;
1140
- border-color: #d9d9d9;
1139
+ color: rgba(0, 0, 0, 0.33);
1140
+ border-color: #e1e6ee;
1141
1141
  cursor: not-allowed;
1142
1142
  }
1143
1143
  .tntd-rc-select-multiple .tntd-rc-select-selection-item-content {
@@ -1338,7 +1338,7 @@
1338
1338
  .tntd-rc-select:not(.tntd-rc-select-customize-input) .tntd-rc-select-selector {
1339
1339
  position: relative;
1340
1340
  background-color: #fff;
1341
- border: 1px solid #d9d9d9;
1341
+ border: 1px solid @border-color;
1342
1342
  border-radius: 2px;
1343
1343
  transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
1344
1344
  }
@@ -1358,15 +1358,16 @@
1358
1358
  .tntd-rc-select-customize-input
1359
1359
  )
1360
1360
  .tntd-rc-select-selector {
1361
- border-color: #40a9ff;
1361
+ border-color: @blue-6;
1362
1362
  box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2);
1363
1363
  border-right-width: 1px;
1364
1364
  outline: 0;
1365
1365
  }
1366
1366
  .tntd-rc-select-disabled.tntd-rc-select:not(.tntd-rc-select-customize-input)
1367
1367
  .tntd-rc-select-selector {
1368
- color: rgba(0, 0, 0, 0.25);
1369
- background: #f5f5f5;
1368
+ color: rgba(23, 35, 61, 0.3);
1369
+ background: @fill-color-tertiary;
1370
+ border: 1px solid #c9d2dd;
1370
1371
  cursor: not-allowed;
1371
1372
  }
1372
1373
  .tntd-rc-select-multiple.tntd-rc-select-disabled.tntd-rc-select:not(.tntd-rc-select-customize-input)
@@ -1398,7 +1399,7 @@
1398
1399
  -webkit-appearance: none;
1399
1400
  }
1400
1401
  .tntd-rc-select:not(.tntd-rc-select-disabled):hover .tntd-rc-select-selector {
1401
- border-color: #40a9ff;
1402
+ border-color: @blue-6;
1402
1403
  border-right-width: 1px;
1403
1404
  }
1404
1405
  .tntd-rc-select-selection-item {
@@ -1417,7 +1418,7 @@
1417
1418
  .tntd-rc-select-selection-placeholder {
1418
1419
  flex: 1;
1419
1420
  overflow: hidden;
1420
- color: #bfbfbf;
1421
+ color: rgba(23, 35, 61, 0.3);
1421
1422
  white-space: nowrap;
1422
1423
  text-overflow: ellipsis;
1423
1424
  pointer-events: none;
@@ -1487,7 +1488,7 @@
1487
1488
  display: inline-block;
1488
1489
  width: 12px;
1489
1490
  height: 12px;
1490
- margin-top: -6px;
1491
+ margin-top: -8px;
1491
1492
  color: rgba(0, 0, 0, 0.25);
1492
1493
  font-size: 12px;
1493
1494
  font-style: normal;
@@ -1594,7 +1595,7 @@
1594
1595
  flex: none;
1595
1596
  }
1596
1597
  .tntd-rc-select-item-option-active:not(.tntd-rc-select-item-option-disabled) {
1597
- background-color: #f5f5f5;
1598
+ background-color: @blue-1;
1598
1599
  }
1599
1600
  .tntd-rc-select-item-option-selected:not(.tntd-rc-select-item-option-disabled) {
1600
1601
  color: rgba(0, 0, 0, 0.85);
@@ -1603,7 +1604,7 @@
1603
1604
  }
1604
1605
  .tntd-rc-select-item-option-selected:not(.tntd-rc-select-item-option-disabled)
1605
1606
  .tntd-rc-select-item-option-state {
1606
- color: #1890ff;
1607
+ color: @blue-6;
1607
1608
  }
1608
1609
  .tntd-rc-select-item-option-disabled {
1609
1610
  color: rgba(0, 0, 0, 0.25);
@@ -1763,3 +1764,10 @@
1763
1764
  .tntd-rc-select:not(.tntd-rc-select-customize-input) .tntd-rc-select-selector {
1764
1765
  border-radius: @border-radius-base;
1765
1766
  }
1767
+
1768
+ .tntd-rc-select{
1769
+ &:active{
1770
+ border-color: @blue-5;
1771
+ box-shadow: 0 0 0 2px fade(@blue-6, 20);
1772
+ }
1773
+ }
@@ -4,7 +4,7 @@ import _uniq from "lodash/uniq";
4
4
  * @Author: 郑泳健
5
5
  * @Date: 2024-07-31 14:46:55
6
6
  * @LastEditors: 郑泳健
7
- * @LastEditTime: 2024-10-29 11:09:48
7
+ * @LastEditTime: 2024-11-08 11:37:22
8
8
  */
9
9
  import React, { useState, useMemo, useEffect, useRef } from 'react';
10
10
  import List from 'rc-virtual-list';
@@ -20,7 +20,7 @@ const VirtualTree = ({
20
20
  isOrg,
21
21
  showPrefixIcon,
22
22
  value,
23
- itemHeight,
23
+ itemHeight = 38,
24
24
  height,
25
25
  filterKey,
26
26
  treeData,
@@ -178,7 +178,7 @@ const VirtualTree = ({
178
178
  const mapResult = {
179
179
  1: {
180
180
  cn: '职能部门',
181
- en: 'Functional department',
181
+ en: 'Func. Dept.',
182
182
  icon: 'crowd'
183
183
  },
184
184
  2: {
@@ -187,7 +187,7 @@ const VirtualTree = ({
187
187
  };
188
188
  const result = mapResult[item === null || item === void 0 ? void 0 : item.orgAttribute] || {};
189
189
  return React.createElement("div", {
190
- className: 'org-item-wrapper'
190
+ className: "org-item-wrapper"
191
191
  }, showPrefixIcon ? React.createElement(Icon, {
192
192
  type: result === null || result === void 0 ? void 0 : result['icon'],
193
193
  style: {
@@ -198,10 +198,10 @@ const VirtualTree = ({
198
198
  title: item.title,
199
199
  widthLimit: '100%'
200
200
  }), String(item.orgAttribute) === '1' && React.createElement("span", {
201
- className: 'org-functional-departemt-marker'
201
+ className: "org-functional-departemt-marker"
202
202
  }, result[lang] || '职能部门'));
203
203
  };
204
- const defaultRenderItem = (item, isOrg) => {
204
+ const defaultRenderItem = (item, isOrg = true) => {
205
205
  if (isOrg) {
206
206
  return renderOrgItem(item, getLanguage());
207
207
  }
@@ -215,7 +215,7 @@ const VirtualTree = ({
215
215
  if (renderData.length >= 10) {
216
216
  return height;
217
217
  }
218
- return (itemHeight || 32) * renderData.length + 8;
218
+ return itemHeight * renderData.length + 8;
219
219
  }
220
220
  return 100;
221
221
  }, [renderData, itemHeight, height]);
@@ -226,8 +226,9 @@ const VirtualTree = ({
226
226
  }) : React.createElement(List, {
227
227
  ref: ref,
228
228
  height: adjustHeight || 300,
229
- itemHeight: itemHeight || 32,
230
- data: renderData
229
+ itemHeight: itemHeight + 8,
230
+ data: renderData,
231
+ itemKey: 'value'
231
232
  }, item => {
232
233
  const {
233
234
  indexLevel,
@@ -240,6 +241,7 @@ const VirtualTree = ({
240
241
  // 当前节点是否被选中
241
242
  const checkedBingo = Array.isArray(checkedList) ? checkedList.includes(item.value) : false;
242
243
  const isChecked = !checkStrictly || disabled ? checkedBingo && !indeterminateStatus : checkedBingo;
244
+ const hasChild = Array.isArray(children) && !!children.length;
243
245
  const checkBoxAttrs = {
244
246
  className: `${disabled ? 'tntd-virtual-tree-checkbox-disabled' : ''}`,
245
247
  onChange: () => handleCheck(item, isChecked),
@@ -252,13 +254,15 @@ const VirtualTree = ({
252
254
  }
253
255
  return React.createElement("div", {
254
256
  className: `tntd-virtual-tree-item ${disabled ? 'tntd-virtual-tree-item_disabled' : ''} ${choosedValue === item.value ? 'tntd-virtual-tree-item_active' : ''}`,
255
- style: {
256
- paddingLeft: indexLevel * indent
257
- },
258
257
  key: item.value
258
+ }, React.createElement("div", {
259
+ style: {
260
+ paddingLeft: indexLevel !== 0 ? indexLevel * indent - 4 : 0,
261
+ width: '100%'
262
+ }
259
263
  }, React.createElement("div", {
260
264
  className: "tntd-virtual-tree-item-expand-icon"
261
- }, Array.isArray(children) && !!children.length ? React.createElement(Icon, {
265
+ }, hasChild ? React.createElement(Icon, {
262
266
  type: bool ? 'caret-down' : 'caret-right',
263
267
  onClick: () => handleToggle(item)
264
268
  }) : ''), checkable ? React.createElement("div", {
@@ -266,7 +270,7 @@ const VirtualTree = ({
266
270
  }, React.createElement(Checkbox, Object.assign({}, checkBoxAttrs))) : '', React.createElement("div", {
267
271
  className: `tntd-virtual-tree-title`,
268
272
  onClick: () => handleChoosed(item)
269
- }, titleRender ? titleRender(item) : defaultRenderItem(item, isOrg)));
273
+ }, titleRender ? titleRender(item) : defaultRenderItem(item, isOrg))));
270
274
  }));
271
275
  };
272
276
  export default VirtualTree;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tntd-virtual-tree/index.jsx"],"names":[],"mappings":"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","sourcesContent":["/*\n * @Descripttion: 基于antd3 tree 部分api实现的tree,增加了虚拟滚动\n * @Author: 郑泳健\n * @Date: 2024-07-31 14:46:55\n * @LastEditors: 郑泳健\n * @LastEditTime: 2024-10-29 11:09:48\n */\nimport React, { useState, useMemo, useEffect, useRef } from 'react';\nimport List from 'rc-virtual-list';\nimport { uniq } from 'lodash';\nimport Icon from '../icon';\nimport Ellipsis from '../ellipsis';\nimport Empty from '../empty';\nimport Checkbox from '../checkbox';\nimport {\n flatTreeData,\n findNodeDetail,\n getFullExpandedKeys,\n getFullCheckedKeys,\n getNodeParentChoosed,\n addTreeNodeAttrs,\n getIndeterminate\n} from './utils';\nimport { getLanguage } from '../prev-locale'\nimport './index.less';\n\nconst VirtualTree = ({\n indent = 24,\n isOrg,\n showPrefixIcon,\n value,\n itemHeight,\n height,\n filterKey,\n treeData,\n checkable,\n checkStrictly,\n checkedKeys,\n defaultExpandAll = true,\n expandedKeys,\n fieldNames,\n titleRender,\n onCheck,\n onExpand,\n onSelect\n}) => {\n const ref = React.useRef(null);\n const expandChangedRef = useRef(0);\n const checkedChangeRef = useRef(0);\n // 展开的节点列表\n const [expandedList, setExpandedList] = useState([]);\n // checked 节点列表\n const [checkedList, setCheckedList] = useState([]);\n // 当前被选中的节点\n const [choosedValue, setChoosedValue] = useState(undefined);\n\n useEffect(() => {\n if(!checkable) {\n setChoosedValue(value)\n }\n }, [value, checkable])\n\n /** 给每个节点增加属性keys,值为其下面所有节点的集合 */\n const treeDataWithKeys = useMemo(() => {\n return addTreeNodeAttrs(treeData, fieldNames);\n }, [treeData, fieldNames]);\n\n /** 默认是否全部展开 */\n const mergeDefaultExpandAll = useMemo(() => {\n if (Array.isArray(expandedKeys)) {\n return false;\n }\n\n return defaultExpandAll;\n }, [defaultExpandAll, expandedKeys]);\n\n /** 获取到所有选中的节点,因为checkedKeys可能传入的是最后一级 */\n useEffect(() => {\n // 非第一次\n if (checkedChangeRef.current > 0) {\n setCheckedList(checkedKeys);\n return;\n }\n\n if (checkable) {\n // 如果是受控\n if (checkStrictly) {\n setCheckedList(uniq(Array.isArray(checkedKeys) ? checkedKeys : []));\n return;\n }\n const transCheckedKeys = Array.isArray(checkedKeys)\n ? checkedKeys.reduce((total, item) => {\n total.push(item);\n const { needCheckedChildrenValues } = findNodeDetail(treeDataWithKeys, item) || {};\n total = [...total, ...needCheckedChildrenValues];\n return total;\n }, [])\n : [];\n const _checkedKeys = getFullCheckedKeys(treeDataWithKeys, transCheckedKeys);\n setCheckedList(uniq(_checkedKeys));\n }\n }, [treeDataWithKeys, checkStrictly, checkable, checkedKeys]);\n\n useEffect(() => {\n setExpandedList(expandedKeys);\n }, [expandedKeys]);\n\n /** 初始化获取到所有展开的节点,因为初始化expandedKeys可能传入的是最后一级 */\n useEffect(() => {\n if (expandChangedRef.current === 0) {\n // 展开的节点\n const transExpandedKeys = Array.isArray(expandedKeys) ? expandedKeys : [];\n const _expandedKeys = getFullExpandedKeys(treeDataWithKeys, transExpandedKeys, mergeDefaultExpandAll);\n setExpandedList(_expandedKeys);\n }\n }, [treeDataWithKeys, expandedKeys, mergeDefaultExpandAll]);\n\n /** 最终渲染的数据 */\n const renderData = useMemo(() => {\n return flatTreeData(treeDataWithKeys, filterKey, expandedList);\n }, [treeDataWithKeys, filterKey, expandedList]);\n\n /** 切换展开/收起 */\n const handleToggle = (item) => {\n expandChangedRef.current++;\n const { value } = item || {};\n const bool = Array.isArray(expandedList) ? expandedList.includes(value) : false;\n if (bool) {\n const list = Array.isArray(expandedList) ? expandedList.filter((i) => i !== value) : [];\n if (onExpand) {\n onExpand(uniq(list), { node: item, expanded: !bool });\n return;\n }\n setExpandedList(uniq(list));\n } else {\n const arr = uniq([...expandedList, value]);\n if (onExpand) {\n onExpand(arr, { node: item, expanded: !bool });\n return;\n }\n setExpandedList(arr);\n }\n };\n\n const handleCheck = (item, isChecked) => {\n const { value: _value, children, disabled } = item;\n if (disabled) {\n return;\n }\n checkedChangeRef.current++;\n // 需要增删的子节点\n const itemChildrenValues = Array.isArray(children) && !!children.length ? item.needCheckedChildrenValues : [];\n if (isChecked) {\n // 需要删除的父节点\n const itemParentValues = Array.isArray(item.needCheckedSiblingsValue) ? item.needCheckedSiblingsValue.map((i) => i.key) : [];\n // 当前节点所有的父节点\n const delList = checkStrictly ? [_value] : [...itemChildrenValues, ...itemParentValues, _value];\n const _checkedList = checkedList.filter((i) => !delList.includes(i));\n if (onCheck) {\n onCheck?.(uniq(_checkedList), item, !isChecked);\n return;\n }\n\n setCheckedList(uniq(_checkedList));\n } else {\n // 递归循环其上级是否也要被选中\n const itemParentValues = getNodeParentChoosed(item.needCheckedSiblingsValue, [...checkedList, ...itemChildrenValues, _value]);\n const addList = checkStrictly ? [_value] : [...itemChildrenValues, ...itemParentValues, _value];\n const _checkedList = [...checkedList, ...addList];\n\n if (onCheck) {\n onCheck?.(uniq(_checkedList), item, !isChecked);\n return;\n }\n setCheckedList(uniq(_checkedList));\n }\n };\n\n const handleChoosed = (item) => {\n if (item.disabled) {\n return;\n }\n setChoosedValue(item.value);\n if(!checkable) {\n onSelect?.(item.value)\n }\n };\n\n const renderOrgItem = (item, lang) => {\n const mapResult = {\n 1: {\n cn: '职能部门',\n en: 'Functional department',\n icon: 'crowd'\n },\n 2: {\n icon: 'corporation'\n }\n }\n\n const result = mapResult[item?.orgAttribute] || {}\n\n return <div className='org-item-wrapper'>\n {showPrefixIcon ? <Icon type={result?.['icon']} style={{ marginTop: 3, marginRight: 4 }} /> : '' }\n <Ellipsis title={item.title} widthLimit={'100%'} />\n { String(item.orgAttribute) === '1' && <span className='org-functional-departemt-marker'>{result[lang] || '职能部门'}</span>}\n </div>\n }\n\n const defaultRenderItem = (item, isOrg) => {\n if(isOrg) {\n return renderOrgItem(item, getLanguage())\n }\n return <Ellipsis title={item.title} widthLimit={'100%'} />;\n };\n\n const adjustHeight = useMemo(() => {\n if(Array.isArray(renderData)) {\n if(renderData.length >= 10) {\n return height\n }\n return (itemHeight || 32) * renderData.length + 8\n }\n return 100;\n }, [renderData, itemHeight, height])\n\n return (\n <div className=\"tntd-virtual-tree\">\n {!Array.isArray(renderData) || !renderData.length ? (\n <Empty size=\"small\" />\n ) : (\n <List ref={ref} height={adjustHeight || 300} itemHeight={itemHeight || 32} data={renderData}>\n {(item) => {\n const { indexLevel, children, disabled } = item;\n const bool = Array.isArray(expandedList) ? expandedList.includes(item.value) : false;\n // 当前节点半选状态\n const indeterminateStatus = getIndeterminate(item, checkedList);\n // 当前节点是否被选中\n const checkedBingo = Array.isArray(checkedList) ? checkedList.includes(item.value) : false;\n const isChecked = !checkStrictly || disabled ? checkedBingo && !indeterminateStatus : checkedBingo;\n\n const checkBoxAttrs = {\n className: `${disabled ? 'tntd-virtual-tree-checkbox-disabled' : ''}`,\n onChange: () => handleCheck(item, isChecked),\n checked: isChecked,\n disabled\n };\n // 状态没有半选模式\n if (!checkStrictly) {\n checkBoxAttrs.indeterminate = indeterminateStatus;\n }\n return (\n <div\n className={`tntd-virtual-tree-item ${disabled ? 'tntd-virtual-tree-item_disabled' : ''} ${choosedValue === item.value ? 'tntd-virtual-tree-item_active' : ''}`}\n style={{ paddingLeft: indexLevel * indent }}\n key={item.value}>\n <div className=\"tntd-virtual-tree-item-expand-icon\">\n {Array.isArray(children) && !!children.length ? (\n <Icon type={bool ? 'caret-down' : 'caret-right'} onClick={() => handleToggle(item)} />\n ) : (\n ''\n )}\n </div>\n\n {checkable ? (\n <div className=\"tntd-virtual-tree-item-checkbox\">\n <Checkbox {...checkBoxAttrs} />\n </div>\n ) : (\n ''\n )}\n\n <div\n className={`tntd-virtual-tree-title`}\n onClick={() => handleChoosed(item)}>\n {titleRender ? titleRender(item) : defaultRenderItem(item, isOrg)}\n </div>\n </div>\n );\n }}\n </List>\n )}\n </div>\n );\n};\n\nexport default VirtualTree;\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tntd-virtual-tree/index.jsx"],"names":[],"mappings":"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","sourcesContent":["/*\n * @Descripttion: 基于antd3 tree 部分api实现的tree,增加了虚拟滚动\n * @Author: 郑泳健\n * @Date: 2024-07-31 14:46:55\n * @LastEditors: 郑泳健\n * @LastEditTime: 2024-11-08 11:37:22\n */\nimport React, { useState, useMemo, useEffect, useRef } from 'react';\nimport List from 'rc-virtual-list';\nimport { uniq } from 'lodash';\nimport Icon from '../icon';\nimport Ellipsis from '../ellipsis';\nimport Empty from '../empty';\nimport Checkbox from '../checkbox';\nimport {\n flatTreeData,\n findNodeDetail,\n getFullExpandedKeys,\n getFullCheckedKeys,\n getNodeParentChoosed,\n addTreeNodeAttrs,\n getIndeterminate\n} from './utils';\nimport { getLanguage } from '../prev-locale';\nimport './index.less';\n\nconst VirtualTree = ({\n indent = 24,\n isOrg,\n showPrefixIcon,\n value,\n itemHeight = 38,\n height,\n filterKey,\n treeData,\n checkable,\n checkStrictly,\n checkedKeys,\n defaultExpandAll = true,\n expandedKeys,\n fieldNames,\n titleRender,\n onCheck,\n onExpand,\n onSelect\n}) => {\n const ref = React.useRef(null);\n const expandChangedRef = useRef(0);\n const checkedChangeRef = useRef(0);\n // 展开的节点列表\n const [expandedList, setExpandedList] = useState([]);\n // checked 节点列表\n const [checkedList, setCheckedList] = useState([]);\n // 当前被选中的节点\n const [choosedValue, setChoosedValue] = useState(undefined);\n\n useEffect(() => {\n if (!checkable) {\n setChoosedValue(value);\n }\n }, [value, checkable]);\n\n /** 给每个节点增加属性keys,值为其下面所有节点的集合 */\n const treeDataWithKeys = useMemo(() => {\n return addTreeNodeAttrs(treeData, fieldNames);\n }, [treeData, fieldNames]);\n\n /** 默认是否全部展开 */\n const mergeDefaultExpandAll = useMemo(() => {\n if (Array.isArray(expandedKeys)) {\n return false;\n }\n\n return defaultExpandAll;\n }, [defaultExpandAll, expandedKeys]);\n\n /** 获取到所有选中的节点,因为checkedKeys可能传入的是最后一级 */\n useEffect(() => {\n // 非第一次\n if (checkedChangeRef.current > 0) {\n setCheckedList(checkedKeys);\n return;\n }\n\n if (checkable) {\n // 如果是受控\n if (checkStrictly) {\n setCheckedList(uniq(Array.isArray(checkedKeys) ? checkedKeys : []));\n return;\n }\n const transCheckedKeys = Array.isArray(checkedKeys)\n ? checkedKeys.reduce((total, item) => {\n total.push(item);\n const { needCheckedChildrenValues } = findNodeDetail(treeDataWithKeys, item) || {};\n total = [...total, ...needCheckedChildrenValues];\n return total;\n }, [])\n : [];\n const _checkedKeys = getFullCheckedKeys(treeDataWithKeys, transCheckedKeys);\n setCheckedList(uniq(_checkedKeys));\n }\n }, [treeDataWithKeys, checkStrictly, checkable, checkedKeys]);\n\n useEffect(() => {\n setExpandedList(expandedKeys);\n }, [expandedKeys]);\n\n /** 初始化获取到所有展开的节点,因为初始化expandedKeys可能传入的是最后一级 */\n useEffect(() => {\n if (expandChangedRef.current === 0) {\n // 展开的节点\n const transExpandedKeys = Array.isArray(expandedKeys) ? expandedKeys : [];\n const _expandedKeys = getFullExpandedKeys(treeDataWithKeys, transExpandedKeys, mergeDefaultExpandAll);\n setExpandedList(_expandedKeys);\n }\n }, [treeDataWithKeys, expandedKeys, mergeDefaultExpandAll]);\n\n /** 最终渲染的数据 */\n const renderData = useMemo(() => {\n return flatTreeData(treeDataWithKeys, filterKey, expandedList);\n }, [treeDataWithKeys, filterKey, expandedList]);\n\n /** 切换展开/收起 */\n const handleToggle = (item) => {\n expandChangedRef.current++;\n const { value } = item || {};\n const bool = Array.isArray(expandedList) ? expandedList.includes(value) : false;\n if (bool) {\n const list = Array.isArray(expandedList) ? expandedList.filter((i) => i !== value) : [];\n if (onExpand) {\n onExpand(uniq(list), { node: item, expanded: !bool });\n return;\n }\n setExpandedList(uniq(list));\n } else {\n const arr = uniq([...expandedList, value]);\n if (onExpand) {\n onExpand(arr, { node: item, expanded: !bool });\n return;\n }\n setExpandedList(arr);\n }\n };\n\n const handleCheck = (item, isChecked) => {\n const { value: _value, children, disabled } = item;\n if (disabled) {\n return;\n }\n checkedChangeRef.current++;\n // 需要增删的子节点\n const itemChildrenValues = Array.isArray(children) && !!children.length ? item.needCheckedChildrenValues : [];\n if (isChecked) {\n // 需要删除的父节点\n const itemParentValues = Array.isArray(item.needCheckedSiblingsValue) ? item.needCheckedSiblingsValue.map((i) => i.key) : [];\n // 当前节点所有的父节点\n const delList = checkStrictly ? [_value] : [...itemChildrenValues, ...itemParentValues, _value];\n const _checkedList = checkedList.filter((i) => !delList.includes(i));\n if (onCheck) {\n onCheck?.(uniq(_checkedList), item, !isChecked);\n return;\n }\n\n setCheckedList(uniq(_checkedList));\n } else {\n // 递归循环其上级是否也要被选中\n const itemParentValues = getNodeParentChoosed(item.needCheckedSiblingsValue, [...checkedList, ...itemChildrenValues, _value]);\n const addList = checkStrictly ? [_value] : [...itemChildrenValues, ...itemParentValues, _value];\n const _checkedList = [...checkedList, ...addList];\n\n if (onCheck) {\n onCheck?.(uniq(_checkedList), item, !isChecked);\n return;\n }\n setCheckedList(uniq(_checkedList));\n }\n };\n\n const handleChoosed = (item) => {\n if (item.disabled) {\n return;\n }\n setChoosedValue(item.value);\n if (!checkable) {\n onSelect?.(item.value);\n }\n };\n\n const renderOrgItem = (item, lang) => {\n const mapResult = {\n 1: {\n cn: '职能部门',\n en: 'Func. Dept.',\n icon: 'crowd'\n },\n 2: {\n icon: 'corporation'\n }\n };\n\n const result = mapResult[item?.orgAttribute] || {};\n\n return (\n <div className=\"org-item-wrapper\">\n {showPrefixIcon ? <Icon type={result?.['icon']} style={{ marginTop: 3, marginRight: 4 }} /> : ''}\n <Ellipsis title={item.title} widthLimit={'100%'} />\n {String(item.orgAttribute) === '1' && <span className=\"org-functional-departemt-marker\">{result[lang] || '职能部门'}</span>}\n </div>\n );\n };\n\n const defaultRenderItem = (item, isOrg = true) => {\n if (isOrg) {\n return renderOrgItem(item, getLanguage());\n }\n return <Ellipsis title={item.title} widthLimit={'100%'} />;\n };\n\n const adjustHeight = useMemo(() => {\n if (Array.isArray(renderData)) {\n if (renderData.length >= 10) {\n return height;\n }\n return itemHeight * renderData.length + 8;\n }\n return 100;\n }, [renderData, itemHeight, height]);\n\n return (\n <div className=\"tntd-virtual-tree\">\n {!Array.isArray(renderData) || !renderData.length ? (\n <Empty size=\"small\" />\n ) : (\n <List ref={ref} height={adjustHeight || 300} itemHeight={itemHeight + 8} data={renderData} itemKey={'value'}>\n {(item) => {\n const { indexLevel, children, disabled } = item;\n const bool = Array.isArray(expandedList) ? expandedList.includes(item.value) : false;\n // 当前节点半选状态\n const indeterminateStatus = getIndeterminate(item, checkedList);\n // 当前节点是否被选中\n const checkedBingo = Array.isArray(checkedList) ? checkedList.includes(item.value) : false;\n const isChecked = !checkStrictly || disabled ? checkedBingo && !indeterminateStatus : checkedBingo;\n const hasChild = Array.isArray(children) && !!children.length\n const checkBoxAttrs = {\n className: `${disabled ? 'tntd-virtual-tree-checkbox-disabled' : ''}`,\n onChange: () => handleCheck(item, isChecked),\n checked: isChecked,\n disabled\n };\n // 状态没有半选模式\n if (!checkStrictly) {\n checkBoxAttrs.indeterminate = indeterminateStatus;\n }\n return (\n <div\n className={`tntd-virtual-tree-item ${disabled ? 'tntd-virtual-tree-item_disabled' : ''} ${\n choosedValue === item.value ? 'tntd-virtual-tree-item_active' : ''\n }`}\n key={item.value}>\n <div style={{ paddingLeft: indexLevel !== 0 ? indexLevel * indent - 4 : 0, width: '100%' }}>\n <div className=\"tntd-virtual-tree-item-expand-icon\">\n {hasChild ? (\n <Icon type={bool ? 'caret-down' : 'caret-right'} onClick={() => handleToggle(item)} />\n ) : (\n ''\n )}\n </div>\n\n {checkable ? (\n <div className=\"tntd-virtual-tree-item-checkbox\">\n <Checkbox {...checkBoxAttrs} />\n </div>\n ) : (\n ''\n )}\n\n <div className={`tntd-virtual-tree-title`} onClick={() => handleChoosed(item)}>\n {titleRender ? titleRender(item) : defaultRenderItem(item, isOrg)}\n </div>\n </div>\n </div>\n );\n }}\n </List>\n )}\n </div>\n );\n};\n\nexport default VirtualTree;\n"]}
@@ -7,17 +7,18 @@
7
7
  text-decoration: none;
8
8
  cursor: pointer;
9
9
  line-height: 22px;
10
- padding: 1px 0;
11
10
  font-size: 14px;
12
11
  box-sizing: border-box;
13
12
  display: inline-flex;
13
+ line-height: @line-height-base;
14
+ padding-bottom: 8px;
14
15
 
15
- &:hover{
16
- background-color: var(--blue-1);
16
+ &>div:hover{
17
+ background-color: @blue-1;
17
18
  }
18
19
 
19
- &_active{
20
- background-color: #E6F4FF !important;
20
+ &_active>div{
21
+ background-color: @blue-2 !important;
21
22
  border-radius: 4px;
22
23
  color: #17233d;
23
24
  font-weight: 600;
@@ -26,7 +27,7 @@
26
27
  .tntd-virtual-tree-item-expand-icon{
27
28
  display: inline-block;
28
29
  width: 16px;
29
- line-height: 28px;
30
+ line-height: 26px;
30
31
 
31
32
  .anticon-caret-down,.anticon-caret-right {
32
33
  vertical-align: middle;
@@ -42,12 +43,14 @@
42
43
  }
43
44
 
44
45
  .tntd-virtual-tree-title{
45
- padding: 5px 5px;
46
+ padding: 3px 5px;
46
47
  flex: 1;
47
48
  overflow: hidden;
48
49
  display: inline-block;
49
50
  vertical-align: middle;
50
51
  flex: 1;
52
+ line-height: @line-height-base;
53
+ width: calc(100% - 16px);
51
54
  }
52
55
 
53
56
  &.tntd-virtual-tree-item_disabled{
@@ -11,7 +11,7 @@ var __rest = this && this.__rest || function (s, e) {
11
11
  * @Author: 郑泳健
12
12
  * @Date: 2024-08-05 10:50:17
13
13
  * @LastEditors: 郑泳健
14
- * @LastEditTime: 2024-10-29 11:08:15
14
+ * @LastEditTime: 2024-11-06 16:05:58
15
15
  */
16
16
  import React, { useState, useRef, useMemo } from 'react';
17
17
  import RcSelect from '../tntd-rc-select';
@@ -21,7 +21,7 @@ import './index.less';
21
21
  const TntdVirtualTreeSelect = _a => {
22
22
  var {
23
23
  indent = 24,
24
- itemHeight = 32,
24
+ itemHeight,
25
25
  isOrg = false,
26
26
  showPrefixIcon = false,
27
27
  dropdownClassName,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tntd-virtual-tree-select/index.jsx"],"names":[],"mappings":"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","sourcesContent":["/*\n * @Descripttion: 用select包裹虚拟树\n * @Author: 郑泳健\n * @Date: 2024-08-05 10:50:17\n * @LastEditors: 郑泳健\n * @LastEditTime: 2024-10-29 11:08:15\n */\nimport React, { useState, useRef, useMemo } from 'react';\nimport RcSelect from '../tntd-rc-select';\nimport TntdVirtualTree from '../tntd-virtual-tree';\nimport { filterLastestNode, flatWithParents, getLableByValue, flatTreeData } from './utils.js'\nimport './index.less';\n\nconst TntdVirtualTreeSelect = ({\n indent = 24,\n itemHeight = 32,\n isOrg = false,\n showPrefixIcon= false,\n dropdownClassName,\n value,\n onChange,\n treeData,\n showSearch,\n fieldNames,\n dropdownMatchSelectWidth,\n dropdownStyle,\n showCheckedStrategy,\n treeCheckable,\n treeCheckStrictly,\n treeDefaultExpandAll,\n treeExpandedKeys,\n onTreeCheck,\n onTreeExpand,\n treeTitleRender,\n ...restProps\n}) => {\n const selectRef = useRef(null);\n const [filterKey, setFilterKey] = useState(undefined);\n\n const mergeDropdownStyle = useMemo(() => {\n return Array.isArray(treeData) && treeData.length ? dropdownStyle : {};\n }, [dropdownStyle, treeData]);\n\n const mergeDropdownMatchSelectWidth = useMemo(() => {\n return Array.isArray(treeData) && treeData.length ? dropdownMatchSelectWidth : true;\n }, [dropdownMatchSelectWidth, treeData]);\n\n const treeNodeWithParents = useMemo(() => {\n return flatWithParents(treeData, fieldNames)\n }, [treeData, fieldNames])\n\n const treeList = useMemo(() => {\n return flatTreeData(treeData, fieldNames)\n }, [treeData, fieldNames])\n\n\n const selectValue = useMemo(() => {\n if(!treeCheckable) {\n return getLableByValue(treeList, value)\n }\n\n if(Array.isArray(value)) {\n if(showCheckedStrategy === TntdVirtualTreeSelect.SHOW_ALL) {\n return value.map(i => getLableByValue(treeList, i))\n }\n // 过滤掉有子节点,\n const filterList = value.filter(i => {\n return filterLastestNode(treeNodeWithParents, i, value)\n })\n return filterList.map(i => getLableByValue(treeList, i))\n }\n return undefined\n\n }, [treeCheckable, treeNodeWithParents, value, showCheckedStrategy, treeList])\n\n const mergeMode = useMemo(() => {\n if(treeCheckable) {\n return {\n multiple: true,\n mode: 'tags'\n }\n }\n return {}\n }, [treeCheckable])\n\n const handleRender = ({ showSearch, ...rest }) => {\n return (\n <div className=\"virtual-tree-options\">\n <TntdVirtualTree {...rest} />\n </div>\n );\n };\n\n const handleChange = (val) => {\n onChange(val);\n };\n\n const handleSearch = (val) => {\n setFilterKey(val);\n };\n\n const handleSelect = (val) => {\n const item = Array.isArray(treeList) ? treeList.find(i => i.value === val) : {}\n onChange?.(val, item);\n if (selectRef.current) {\n // 主动触发下拉框消失\n selectRef.current?.blur();\n }\n };\n\n return (\n <RcSelect\n ref={selectRef}\n value={selectValue}\n onChange={handleChange}\n showSearch={showSearch}\n onSearch={handleSearch}\n {...mergeMode}\n {...restProps}\n dropdownClassName={`${dropdownClassName} tntd-virtual-tree-select-dropdown`}\n dropdownMatchSelectWidth={mergeDropdownMatchSelectWidth}\n dropdownStyle={{ maxHeight: '100vh', overflow: 'auto', ...mergeDropdownStyle }}\n dropdownRender={() => {\n let obj = {\n indent,\n itemHeight,\n isOrg,\n showPrefixIcon,\n height: restProps?.height || 300,\n treeData,\n filterKey,\n defaultExpandAll: treeDefaultExpandAll,\n expandedKeys: treeExpandedKeys,\n fieldNames,\n onExpand: onTreeExpand,\n titleRender: treeTitleRender,\n onSelect: handleSelect\n };\n if (treeCheckable) {\n obj = { ...obj, checkedKeys: value, checkStrictly: treeCheckStrictly, checkable: treeCheckable, onCheck: onTreeCheck };\n } else {\n obj = { ...obj, value };\n }\n return handleRender(obj);\n }}\n />\n );\n};\n\nTntdVirtualTreeSelect.SHOW_CHILD = 'SHOW_CHILD'\nTntdVirtualTreeSelect.SHOW_ALL = 'SHOW_ALL'\n\nexport default TntdVirtualTreeSelect;\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tntd-virtual-tree-select/index.jsx"],"names":[],"mappings":"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","sourcesContent":["/*\n * @Descripttion: 用select包裹虚拟树\n * @Author: 郑泳健\n * @Date: 2024-08-05 10:50:17\n * @LastEditors: 郑泳健\n * @LastEditTime: 2024-11-06 16:05:58\n */\nimport React, { useState, useRef, useMemo } from 'react';\nimport RcSelect from '../tntd-rc-select';\nimport TntdVirtualTree from '../tntd-virtual-tree';\nimport { filterLastestNode, flatWithParents, getLableByValue, flatTreeData } from './utils.js'\nimport './index.less';\n\nconst TntdVirtualTreeSelect = ({\n indent = 24,\n itemHeight,\n isOrg = false,\n showPrefixIcon= false,\n dropdownClassName,\n value,\n onChange,\n treeData,\n showSearch,\n fieldNames,\n dropdownMatchSelectWidth,\n dropdownStyle,\n showCheckedStrategy,\n treeCheckable,\n treeCheckStrictly,\n treeDefaultExpandAll,\n treeExpandedKeys,\n onTreeCheck,\n onTreeExpand,\n treeTitleRender,\n ...restProps\n}) => {\n const selectRef = useRef(null);\n const [filterKey, setFilterKey] = useState(undefined);\n\n const mergeDropdownStyle = useMemo(() => {\n return Array.isArray(treeData) && treeData.length ? dropdownStyle : {};\n }, [dropdownStyle, treeData]);\n\n const mergeDropdownMatchSelectWidth = useMemo(() => {\n return Array.isArray(treeData) && treeData.length ? dropdownMatchSelectWidth : true;\n }, [dropdownMatchSelectWidth, treeData]);\n\n const treeNodeWithParents = useMemo(() => {\n return flatWithParents(treeData, fieldNames)\n }, [treeData, fieldNames])\n\n const treeList = useMemo(() => {\n return flatTreeData(treeData, fieldNames)\n }, [treeData, fieldNames])\n\n\n const selectValue = useMemo(() => {\n if(!treeCheckable) {\n return getLableByValue(treeList, value)\n }\n\n if(Array.isArray(value)) {\n if(showCheckedStrategy === TntdVirtualTreeSelect.SHOW_ALL) {\n return value.map(i => getLableByValue(treeList, i))\n }\n // 过滤掉有子节点,\n const filterList = value.filter(i => {\n return filterLastestNode(treeNodeWithParents, i, value)\n })\n return filterList.map(i => getLableByValue(treeList, i))\n }\n return undefined\n\n }, [treeCheckable, treeNodeWithParents, value, showCheckedStrategy, treeList])\n\n const mergeMode = useMemo(() => {\n if(treeCheckable) {\n return {\n multiple: true,\n mode: 'tags'\n }\n }\n return {}\n }, [treeCheckable])\n\n const handleRender = ({ showSearch, ...rest }) => {\n return (\n <div className=\"virtual-tree-options\">\n <TntdVirtualTree {...rest} />\n </div>\n );\n };\n\n const handleChange = (val) => {\n onChange(val);\n };\n\n const handleSearch = (val) => {\n setFilterKey(val);\n };\n\n const handleSelect = (val) => {\n const item = Array.isArray(treeList) ? treeList.find(i => i.value === val) : {}\n onChange?.(val, item);\n if (selectRef.current) {\n // 主动触发下拉框消失\n selectRef.current?.blur();\n }\n };\n\n return (\n <RcSelect\n ref={selectRef}\n value={selectValue}\n onChange={handleChange}\n showSearch={showSearch}\n onSearch={handleSearch}\n {...mergeMode}\n {...restProps}\n dropdownClassName={`${dropdownClassName} tntd-virtual-tree-select-dropdown`}\n dropdownMatchSelectWidth={mergeDropdownMatchSelectWidth}\n dropdownStyle={{ maxHeight: '100vh', overflow: 'auto', ...mergeDropdownStyle }}\n dropdownRender={() => {\n let obj = {\n indent,\n itemHeight,\n isOrg,\n showPrefixIcon,\n height: restProps?.height || 300,\n treeData,\n filterKey,\n defaultExpandAll: treeDefaultExpandAll,\n expandedKeys: treeExpandedKeys,\n fieldNames,\n onExpand: onTreeExpand,\n titleRender: treeTitleRender,\n onSelect: handleSelect\n };\n if (treeCheckable) {\n obj = { ...obj, checkedKeys: value, checkStrictly: treeCheckStrictly, checkable: treeCheckable, onCheck: onTreeCheck };\n } else {\n obj = { ...obj, value };\n }\n return handleRender(obj);\n }}\n />\n );\n};\n\nTntdVirtualTreeSelect.SHOW_CHILD = 'SHOW_CHILD'\nTntdVirtualTreeSelect.SHOW_ALL = 'SHOW_ALL'\n\nexport default TntdVirtualTreeSelect;\n"]}
@@ -2,20 +2,3 @@
2
2
  padding: 16px;
3
3
  margin: -4px 0;
4
4
  }
5
-
6
- &.tntd-virtual-tree-select-dropdown{
7
- border-radius: 16px;
8
- }
9
-
10
- .tntd-rc-select-selection-placeholder{
11
- color: rgba(23, 35, 61, 0.3);
12
- }
13
-
14
- .tntd-rc-select:not(.tntd-rc-select-disabled):hover .tntd-rc-select-selector{
15
- border-color: var(--blue-6) !important;
16
- }
17
-
18
- .tnt-select-focused .tnt-select-selection, .tnt-select-selection:focus, .tnt-select-selection:active{
19
- border-color: var(--blue-5);
20
- box-shadow: 0 0 0 2px rgba(var(--blue-6-fade), 0.2);
21
- }
@@ -59,7 +59,7 @@ export const getLableByValue = (treeList, value) => {
59
59
  const {
60
60
  title
61
61
  } = treeList.find(i => i.value === value) || {};
62
- return title;
62
+ return title || value;
63
63
  }
64
- return undefined;
64
+ return value;
65
65
  };
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/tntd-virtual-tree-select/utils.js"],"names":[],"mappings":"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","sourcesContent":["/**\n * 给每个节点增加一个parent字段,记录其父节点用于showCheckedStrategy\n * @param {*} treeData \n * @param {*} fieldNames \n * @param {*} parents \n * @returns \n */\nexport const flatWithParents = (treeData, fieldNames = { title: 'title', value: 'value', children: 'children', disabled: 'disabled' }, parents = [], result = {}) => {\n if(Array.isArray(treeData)) {\n treeData.forEach(i => {\n result[i[fieldNames['value']]] = parents;\n if(Array.isArray(i[fieldNames['children']])){\n const list = flatWithParents(i[fieldNames['children']], fieldNames, [...parents, i[fieldNames['value']]])\n result = {...result, ...list}\n }else{\n \n }\n })\n }\n return result\n}\n\nexport const filterLastestNode = (treeNodeWithParents, item, list) => {\n const parents = treeNodeWithParents[item] || {}\n \n if(Array.isArray(parents) && !!parents.length && Array.isArray(list) && !!list.length) {\n return parents.every(el => !list.includes(el))\n }\n\n return false\n}\n\n/**\n * 扁平树\n * @param {*} treeData\n * @param {*} fieldNames 展开的节点\n * @returns\n */\nexport const flatTreeData = (treeData, fieldNames = { title: 'title', value: 'value', children: 'children', disabled: 'disabled' }, result = []) => {\n if(Array.isArray(treeData)) {\n treeData.forEach(i => {\n i['title'] = i[fieldNames['title']];\n i['value'] = i[fieldNames['value']]\n i['children'] = i[fieldNames['children']]\n result.push(i);\n\n if(Array.isArray(i.children) && !!i.children.length) {\n result = [...result, ...flatTreeData(i.children, fieldNames)]\n }\n })\n }\n return result\n};\n\nexport const getLableByValue = (treeList, value) => {\n if(Array.isArray(treeList)) {\n const { title } = treeList.find(i => i.value === value) || {}\n return title;\n }\n return undefined\n}\n"]}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/tntd-virtual-tree-select/utils.js"],"names":[],"mappings":"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","sourcesContent":["/**\n * 给每个节点增加一个parent字段,记录其父节点用于showCheckedStrategy\n * @param {*} treeData \n * @param {*} fieldNames \n * @param {*} parents \n * @returns \n */\nexport const flatWithParents = (treeData, fieldNames = { title: 'title', value: 'value', children: 'children', disabled: 'disabled' }, parents = [], result = {}) => {\n if(Array.isArray(treeData)) {\n treeData.forEach(i => {\n result[i[fieldNames['value']]] = parents;\n if(Array.isArray(i[fieldNames['children']])){\n const list = flatWithParents(i[fieldNames['children']], fieldNames, [...parents, i[fieldNames['value']]])\n result = {...result, ...list}\n }else{\n \n }\n })\n }\n return result\n}\n\nexport const filterLastestNode = (treeNodeWithParents, item, list) => {\n const parents = treeNodeWithParents[item] || {}\n \n if(Array.isArray(parents) && !!parents.length && Array.isArray(list) && !!list.length) {\n return parents.every(el => !list.includes(el))\n }\n\n return false\n}\n\n/**\n * 扁平树\n * @param {*} treeData\n * @param {*} fieldNames 展开的节点\n * @returns\n */\nexport const flatTreeData = (treeData, fieldNames = { title: 'title', value: 'value', children: 'children', disabled: 'disabled' }, result = []) => {\n if(Array.isArray(treeData)) {\n treeData.forEach(i => {\n i['title'] = i[fieldNames['title']];\n i['value'] = i[fieldNames['value']]\n i['children'] = i[fieldNames['children']]\n result.push(i);\n\n if(Array.isArray(i.children) && !!i.children.length) {\n result = [...result, ...flatTreeData(i.children, fieldNames)]\n }\n })\n }\n return result\n};\n\nexport const getLableByValue = (treeList, value) => {\n if(Array.isArray(treeList)) {\n const { title } = treeList.find(i => i.value === value) || {}\n return title || value;\n }\n return value\n}\n"]}
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import type { CheckboxGroupProps as AntdCheckboxGroupProps } from 'antd/lib/checkbox/Group';
3
+ export declare type CheckboxGroupProps = AntdCheckboxGroupProps & {
4
+ readonly?: boolean;
5
+ };
6
+ declare const _default: React.ForwardRefExoticComponent<AntdCheckboxGroupProps & React.RefAttributes<unknown>>;
7
+ export default _default;
8
+ //# sourceMappingURL=checkbox-group.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkbox-group.d.ts","sourceRoot":"","sources":["../../src/checkbox/checkbox-group.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAA;AAEzC,OAAO,KAAK,EAAE,kBAAkB,IAAI,sBAAsB,EAAE,MAAM,wBAAwB,CAAA;AAI1F,oBAAY,kBAAkB,GAAG,sBAAsB,GAAG;IACxD,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;;AAED,wBAA2E"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+ require("react");
8
+ var _checkbox = _interopRequireDefault(require("antd/lib/checkbox"));
9
+ var _connect = require("../connect");
10
+ var _previewText = require("../preview-text");
11
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
12
+ var _default = exports["default"] = (0, _connect.connectReadonlyComponent)(_checkbox["default"].Group, _previewText.PreviewText.Select);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkbox-group.js","sourceRoot":"","sources":["../../src/checkbox/checkbox-group.tsx"],"names":[],"mappings":";;;;;AAAA,iBAAyC;AACzC,gEAAuC;AAEvC,wCAAqD;AACrD,kDAA6C;AAM7C,kBAAe,IAAA,kCAAwB,EAAC,kBAAQ,CAAC,KAAK,EAAE,0BAAW,CAAC,MAAM,CAAC,CAAA","sourcesContent":["import React, { forwardRef } from 'react'\nimport Checkbox from 'antd/lib/checkbox'\nimport type { CheckboxGroupProps as AntdCheckboxGroupProps } from 'antd/lib/checkbox/Group'\nimport { connectReadonlyComponent } from '../connect'\nimport { PreviewText } from '../preview-text'\n\nexport type CheckboxGroupProps = AntdCheckboxGroupProps & {\n readonly?: boolean\n}\n\nexport default connectReadonlyComponent(Checkbox.Group, PreviewText.Select)\n"]}
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import type { RadioGroupProps as AntdRadioGroupProps } from 'antd/lib/radio';
3
+ export declare type RadioGroupProps = AntdRadioGroupProps & {
4
+ readonly?: boolean;
5
+ };
6
+ declare const _default: React.ForwardRefExoticComponent<AntdRadioGroupProps & React.RefAttributes<unknown>>;
7
+ export default _default;
8
+ //# sourceMappingURL=radio-group.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"radio-group.d.ts","sourceRoot":"","sources":["../../src/radio/radio-group.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,KAAK,EAAE,eAAe,IAAI,mBAAmB,EAAE,MAAM,eAAe,CAAA;AAK3E,oBAAY,eAAe,GAAG,mBAAmB,GAAG;IAClD,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;;AAED,wBAAwE"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+ require("react");
8
+ var _radio = _interopRequireDefault(require("antd/lib/radio"));
9
+ var _connect = require("../connect");
10
+ var _previewText = _interopRequireDefault(require("../preview-text"));
11
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
12
+ var _default = exports["default"] = (0, _connect.connectReadonlyComponent)(_radio["default"].Group, _previewText["default"].Select);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"radio-group.js","sourceRoot":"","sources":["../../src/radio/radio-group.tsx"],"names":[],"mappings":";;;;;AAAA,iBAAyB;AAEzB,0DAAiC;AACjC,wCAAqD;AACrD,mEAAyC;AAMzC,kBAAe,IAAA,kCAAwB,EAAC,eAAK,CAAC,KAAK,EAAE,sBAAW,CAAC,MAAM,CAAC,CAAA","sourcesContent":["import React from 'react'\nimport type { RadioGroupProps as AntdRadioGroupProps } from 'antd/lib/radio'\nimport Radio from 'antd/lib/radio'\nimport { connectReadonlyComponent } from '../connect'\nimport PreviewText from '../preview-text'\n\nexport type RadioGroupProps = AntdRadioGroupProps & {\n readonly?: boolean\n}\n\nexport default connectReadonlyComponent(Radio.Group, PreviewText.Select)\n"]}
@@ -0,0 +1,5 @@
1
+ .@{steps-prefix-cls}-small {
2
+ .@{steps-prefix-cls}-item-title {
3
+ padding-right: 10px;
4
+ }
5
+ }
@@ -13,7 +13,7 @@
13
13
  position: absolute;
14
14
  top:50%;
15
15
  margin-top: -10px;
16
- left:50%;
16
+ left:4px;
17
17
  width:1px;
18
18
  background-color: @grey-split;
19
19
  }