tntd 2.8.10 → 2.8.11

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 (149) hide show
  1. package/es/array-input/index.js +10 -3
  2. package/es/array-input/index.js.map +1 -1
  3. package/es/index.js +1 -0
  4. package/es/index.js.map +1 -1
  5. package/es/locale/en_US.js +16 -0
  6. package/es/locale/en_US.js.map +1 -1
  7. package/es/locale/zh_CN.js +16 -0
  8. package/es/locale/zh_CN.js.map +1 -1
  9. package/es/prev-locale.js +32 -2
  10. package/es/prev-locale.js.map +1 -1
  11. package/es/query-list-scene/index.less +4 -0
  12. package/es/table/index.js +2 -2
  13. package/es/table/index.js.map +1 -1
  14. package/es/table/resizableTable/index.js +87 -0
  15. package/es/table/resizableTable/index.js.map +1 -0
  16. package/es/table/resizableTable/index.less +36 -0
  17. package/es/table/table-hoc.js +26 -0
  18. package/es/table/table-hoc.js.map +1 -0
  19. package/es/table/table.js +27 -25
  20. package/es/table/table.js.map +1 -1
  21. package/es/title/index.less +4 -1
  22. package/es/tntd-reference/AHref/index.js +39 -0
  23. package/es/tntd-reference/AHref/index.js.map +1 -0
  24. package/es/tntd-reference/ReferenceBatchCheck/index.js +153 -0
  25. package/es/tntd-reference/ReferenceBatchCheck/index.js.map +1 -0
  26. package/es/tntd-reference/ReferenceBatchCheck/index.less +21 -0
  27. package/es/tntd-reference/ReferenceBatchDrawer/index.js +102 -0
  28. package/es/tntd-reference/ReferenceBatchDrawer/index.js.map +1 -0
  29. package/es/tntd-reference/ReferenceBatchDrawer/index.less +0 -0
  30. package/es/tntd-reference/ReferenceCheck/index.js +117 -0
  31. package/es/tntd-reference/ReferenceCheck/index.js.map +1 -0
  32. package/es/tntd-reference/ReferenceCheck/index.less +10 -0
  33. package/es/tntd-reference/ReferenceDrawer/index.js +69 -0
  34. package/es/tntd-reference/ReferenceDrawer/index.js.map +1 -0
  35. package/es/tntd-reference/ReferenceDrawer/index.less +0 -0
  36. package/es/tntd-reference/ReferenceInfo/index.js +150 -0
  37. package/es/tntd-reference/ReferenceInfo/index.js.map +1 -0
  38. package/es/tntd-reference/ReferenceInfo/index.less +31 -0
  39. package/es/tntd-reference/index.js +13 -0
  40. package/es/tntd-reference/index.js.map +1 -0
  41. package/es/tntd-virtual-tree/index.js +14 -3
  42. package/es/tntd-virtual-tree/index.js.map +1 -1
  43. package/es/tntd-virtual-tree/index.less +2 -42
  44. package/es/tntd-virtual-tree-select/index.js +95 -21
  45. package/es/tntd-virtual-tree-select/index.js.map +1 -1
  46. package/es/tntd-virtual-tree-select/utils.js +20 -124
  47. package/es/tntd-virtual-tree-select/utils.js.map +1 -1
  48. package/lib/array-input/index.d.ts.map +1 -1
  49. package/lib/array-input/index.js +13 -4
  50. package/lib/array-input/index.js.map +1 -1
  51. package/lib/index.d.ts +1 -0
  52. package/lib/index.d.ts.map +1 -1
  53. package/lib/index.js +7 -0
  54. package/lib/index.js.map +1 -1
  55. package/lib/locale/default.d.ts +16 -0
  56. package/lib/locale/default.d.ts.map +1 -1
  57. package/lib/locale/en_US.d.ts +16 -0
  58. package/lib/locale/en_US.d.ts.map +1 -1
  59. package/lib/locale/en_US.js +16 -0
  60. package/lib/locale/en_US.js.map +1 -1
  61. package/lib/locale/zh_CN.d.ts +16 -0
  62. package/lib/locale/zh_CN.d.ts.map +1 -1
  63. package/lib/locale/zh_CN.js +16 -0
  64. package/lib/locale/zh_CN.js.map +1 -1
  65. package/lib/prev-locale.d.ts +42 -0
  66. package/lib/prev-locale.d.ts.map +1 -1
  67. package/lib/prev-locale.js +32 -2
  68. package/lib/prev-locale.js.map +1 -1
  69. package/lib/query-list-scene/index.less +4 -0
  70. package/lib/segmented/index.d.ts +1 -1
  71. package/lib/table/index.d.ts +2 -2
  72. package/lib/table/index.d.ts.map +1 -1
  73. package/lib/table/index.js +7 -7
  74. package/lib/table/index.js.map +1 -1
  75. package/lib/table/resizableTable/index.d.ts +12 -0
  76. package/lib/table/resizableTable/index.d.ts.map +1 -0
  77. package/lib/table/resizableTable/index.js +110 -0
  78. package/lib/table/resizableTable/index.js.map +1 -0
  79. package/lib/table/resizableTable/index.less +36 -0
  80. package/lib/table/table-hoc.d.ts +7 -0
  81. package/lib/table/table-hoc.d.ts.map +1 -0
  82. package/lib/{spin/spin.js → table/table-hoc.js} +12 -22
  83. package/lib/table/table-hoc.js.map +1 -0
  84. package/lib/table/table.js +18 -15
  85. package/lib/table/table.js.map +1 -1
  86. package/lib/table/table.stories.d.ts +1 -1
  87. package/lib/title/index.less +4 -1
  88. package/lib/tntd-reference/AHref/index.d.ts +4 -0
  89. package/lib/tntd-reference/AHref/index.d.ts.map +1 -0
  90. package/lib/tntd-reference/AHref/index.js +44 -0
  91. package/lib/tntd-reference/AHref/index.js.map +1 -0
  92. package/lib/tntd-reference/ReferenceBatchCheck/index.d.ts +3 -0
  93. package/lib/tntd-reference/ReferenceBatchCheck/index.d.ts.map +1 -0
  94. package/lib/tntd-reference/ReferenceBatchCheck/index.js +165 -0
  95. package/lib/tntd-reference/ReferenceBatchCheck/index.js.map +1 -0
  96. package/lib/tntd-reference/ReferenceBatchCheck/index.less +21 -0
  97. package/lib/tntd-reference/ReferenceBatchDrawer/index.d.ts +4 -0
  98. package/lib/tntd-reference/ReferenceBatchDrawer/index.d.ts.map +1 -0
  99. package/lib/tntd-reference/ReferenceBatchDrawer/index.js +126 -0
  100. package/lib/tntd-reference/ReferenceBatchDrawer/index.js.map +1 -0
  101. package/lib/tntd-reference/ReferenceBatchDrawer/index.less +0 -0
  102. package/lib/tntd-reference/ReferenceCheck/index.d.ts +3 -0
  103. package/lib/tntd-reference/ReferenceCheck/index.d.ts.map +1 -0
  104. package/lib/tntd-reference/ReferenceCheck/index.js +126 -0
  105. package/lib/tntd-reference/ReferenceCheck/index.js.map +1 -0
  106. package/lib/tntd-reference/ReferenceCheck/index.less +10 -0
  107. package/lib/tntd-reference/ReferenceDrawer/index.d.ts +4 -0
  108. package/lib/tntd-reference/ReferenceDrawer/index.d.ts.map +1 -0
  109. package/lib/tntd-reference/ReferenceDrawer/index.js +93 -0
  110. package/lib/tntd-reference/ReferenceDrawer/index.js.map +1 -0
  111. package/lib/tntd-reference/ReferenceDrawer/index.less +0 -0
  112. package/lib/tntd-reference/ReferenceInfo/index.d.ts +4 -0
  113. package/lib/tntd-reference/ReferenceInfo/index.d.ts.map +1 -0
  114. package/lib/tntd-reference/ReferenceInfo/index.js +164 -0
  115. package/lib/tntd-reference/ReferenceInfo/index.js.map +1 -0
  116. package/lib/tntd-reference/ReferenceInfo/index.less +31 -0
  117. package/lib/tntd-reference/index.d.ts +15 -0
  118. package/lib/tntd-reference/index.d.ts.map +1 -0
  119. package/lib/tntd-reference/index.js +20 -0
  120. package/lib/tntd-reference/index.js.map +1 -0
  121. package/lib/tntd-virtual-tree/index.d.ts +3 -1
  122. package/lib/tntd-virtual-tree/index.d.ts.map +1 -1
  123. package/lib/tntd-virtual-tree/index.js +15 -4
  124. package/lib/tntd-virtual-tree/index.js.map +1 -1
  125. package/lib/tntd-virtual-tree/index.less +2 -42
  126. package/lib/tntd-virtual-tree-select/index.d.ts +12 -4
  127. package/lib/tntd-virtual-tree-select/index.d.ts.map +1 -1
  128. package/lib/tntd-virtual-tree-select/index.js +96 -17
  129. package/lib/tntd-virtual-tree-select/index.js.map +1 -1
  130. package/lib/tntd-virtual-tree-select/utils.d.ts +2 -9
  131. package/lib/tntd-virtual-tree-select/utils.d.ts.map +1 -1
  132. package/lib/tntd-virtual-tree-select/utils.js +23 -142
  133. package/lib/tntd-virtual-tree-select/utils.js.map +1 -1
  134. package/package.json +4 -2
  135. package/es/spin/spin.js +0 -36
  136. package/es/spin/spin.js.map +0 -1
  137. package/es/spin/spin.less +0 -9
  138. package/es/tntd-virtual-tree-select/VirtualTree.js +0 -125
  139. package/es/tntd-virtual-tree-select/VirtualTree.js.map +0 -1
  140. package/es/tntd-virtual-tree-select/tree.less +0 -29
  141. package/lib/spin/spin.d.ts +0 -9
  142. package/lib/spin/spin.d.ts.map +0 -1
  143. package/lib/spin/spin.js.map +0 -1
  144. package/lib/spin/spin.less +0 -9
  145. package/lib/tntd-virtual-tree-select/VirtualTree.d.ts +0 -13
  146. package/lib/tntd-virtual-tree-select/VirtualTree.d.ts.map +0 -1
  147. package/lib/tntd-virtual-tree-select/VirtualTree.js +0 -155
  148. package/lib/tntd-virtual-tree-select/VirtualTree.js.map +0 -1
  149. package/lib/tntd-virtual-tree-select/tree.less +0 -29
@@ -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-08-09 17:51:50\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 './index.less';\n\nconst VirtualTree = ({\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}) => {\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 /** 给每个节点增加属性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 };\n\n const defaultRenderItem = (item) => {\n return <Ellipsis title={item.title} widthLimit={'100%'} />;\n };\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={height || 300} itemHeight={itemHeight || 32} data={renderData}>\n {(item) => {\n const { level, 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 };\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 style={{ paddingLeft: level * 18 }}\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 ${choosedValue === item.value ? 'tntd-virtual-tree-title_active' : ''}`}\n onClick={() => handleChoosed(item)}>\n {titleRender ? titleRender(item) : defaultRenderItem(item)}\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-08-19 11:02:06\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 './index.less';\n\nconst VirtualTree = ({\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 defaultRenderItem = (item) => {\n return <Ellipsis title={item.title} widthLimit={'100%'} />;\n };\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={height || 300} itemHeight={itemHeight || 32} data={renderData}>\n {(item) => {\n const { level, 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' : ''}`}\n style={{ paddingLeft: level * 18 }}\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 ${choosedValue === item.value ? 'tntd-virtual-tree-title_active' : ''}`}\n onClick={() => handleChoosed(item)}>\n {titleRender ? titleRender(item) : defaultRenderItem(item)}\n </div>\n </div>\n );\n }}\n </List>\n )}\n </div>\n );\n};\n\nexport default VirtualTree;\n"]}
@@ -2,7 +2,6 @@
2
2
  padding: 0;
3
3
  white-space: nowrap;
4
4
  .tntd-virtual-tree-item{
5
- // display: flex;
6
5
  border-radius: var(--border-radius-sm);
7
6
  color: #17233d;
8
7
  text-decoration: none;
@@ -52,48 +51,9 @@
52
51
  color: rgba(0, 0, 0, 0.25);
53
52
  cursor: not-allowed;
54
53
 
55
- .tntd-virtual-tree-title_checkable{
56
- &:hover{
57
- background-color: inherit !important;
58
- }
59
- }
60
- }
61
-
62
- .tntd-virtual-tree-checkbox-disabled{
63
- color: var(--text-color-tertiary);
64
- cursor: not-allowed;
65
-
66
- .ant-checkbox{
67
- &::after{
68
- border-color: #c9d2dd;
69
- }
70
- }
71
-
72
- .ant-checkbox-input{
73
- cursor: not-allowed;
74
- }
75
-
76
- .ant-checkbox-inner{
77
- background-color: #f1f2f5;
78
- border-color: #c9d2dd !important;
79
-
80
- &::after{
81
- border-color: rgba(0, 0, 0, 0.25);
82
- }
83
- }
84
-
85
- .ant-checkbox-indeterminate{
86
- .ant-checkbox-inner{
87
- &::after{
88
- display: none;
89
- }
90
- }
54
+ .tntd-virtual-tree-title:hover{
55
+ background-color: inherit;
91
56
  }
92
57
  }
93
58
  }
94
59
  }
95
-
96
-
97
- .tntd-rc-select-dropdown-hidden{
98
- display: block;
99
- }
@@ -1,17 +1,25 @@
1
1
  export default TntdVirtualTreeSelect;
2
- declare function TntdVirtualTreeSelect({ value, onChange, renderItem, treeData, showSearch, treeDefaultExpandAll, treeExpandedKeys, fieldNames, dropdownMatchSelectWidth, dropdownStyle, treeCheckable, ...restProps }: {
2
+ declare function TntdVirtualTreeSelect({ value, onChange, treeData, showSearch, fieldNames, dropdownMatchSelectWidth, dropdownStyle, showCheckedStrategy, treeCheckable, treeCheckStrictly, treeDefaultExpandAll, treeExpandedKeys, onTreeCheck, onTreeExpand, treeTitleRender, ...restProps }: {
3
3
  [x: string]: any;
4
4
  value: any;
5
5
  onChange: any;
6
- renderItem: any;
7
6
  treeData: any;
8
7
  showSearch: any;
9
- treeDefaultExpandAll: any;
10
- treeExpandedKeys: any;
11
8
  fieldNames: any;
12
9
  dropdownMatchSelectWidth: any;
13
10
  dropdownStyle: any;
11
+ showCheckedStrategy: any;
14
12
  treeCheckable: any;
13
+ treeCheckStrictly: any;
14
+ treeDefaultExpandAll: any;
15
+ treeExpandedKeys: any;
16
+ onTreeCheck: any;
17
+ onTreeExpand: any;
18
+ treeTitleRender: any;
15
19
  }): React.JSX.Element;
20
+ declare namespace TntdVirtualTreeSelect {
21
+ const SHOW_CHILD: string;
22
+ const SHOW_ALL: string;
23
+ }
16
24
  import React from "react";
17
25
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tntd-virtual-tree-select/index.jsx"],"names":[],"mappings":";AAYA;;;;;;;;;;;;;sBA6BC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tntd-virtual-tree-select/index.jsx"],"names":[],"mappings":";AAaA;;;;;;;;;;;;;;;;;sBAoHC"}
@@ -8,10 +8,17 @@ exports["default"] = void 0;
8
8
  var _react = _interopRequireWildcard(require("react"));
9
9
  var _tntdRcSelect = _interopRequireDefault(require("../tntd-rc-select"));
10
10
  var _tntdVirtualTree = _interopRequireDefault(require("../tntd-virtual-tree"));
11
+ var _utils = require("./utils.js");
11
12
  require("./index.less");
12
13
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
13
14
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
14
15
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
16
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
17
+ 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."); }
18
+ 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); }
19
+ 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; }
20
+ 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; } }
21
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
15
22
  var __rest = void 0 && (void 0).__rest || function (s, e) {
16
23
  var t = {};
17
24
  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
@@ -25,52 +32,124 @@ var __rest = void 0 && (void 0).__rest || function (s, e) {
25
32
  * @Author: 郑泳健
26
33
  * @Date: 2024-08-05 10:50:17
27
34
  * @LastEditors: 郑泳健
28
- * @LastEditTime: 2024-08-06 09:56:18
35
+ * @LastEditTime: 2024-08-20 15:03:16
29
36
  */
30
37
 
31
38
  var TntdVirtualTreeSelect = function TntdVirtualTreeSelect(_a) {
32
39
  var value = _a.value,
33
40
  onChange = _a.onChange,
34
- renderItem = _a.renderItem,
35
41
  treeData = _a.treeData,
36
42
  showSearch = _a.showSearch,
37
- treeDefaultExpandAll = _a.treeDefaultExpandAll,
38
- treeExpandedKeys = _a.treeExpandedKeys,
39
43
  fieldNames = _a.fieldNames,
40
44
  dropdownMatchSelectWidth = _a.dropdownMatchSelectWidth,
41
45
  dropdownStyle = _a.dropdownStyle,
46
+ showCheckedStrategy = _a.showCheckedStrategy,
42
47
  treeCheckable = _a.treeCheckable,
43
- restProps = __rest(_a, ["value", "onChange", "renderItem", "treeData", "showSearch", "treeDefaultExpandAll", "treeExpandedKeys", "fieldNames", "dropdownMatchSelectWidth", "dropdownStyle", "treeCheckable"]);
48
+ treeCheckStrictly = _a.treeCheckStrictly,
49
+ treeDefaultExpandAll = _a.treeDefaultExpandAll,
50
+ treeExpandedKeys = _a.treeExpandedKeys,
51
+ onTreeCheck = _a.onTreeCheck,
52
+ onTreeExpand = _a.onTreeExpand,
53
+ treeTitleRender = _a.treeTitleRender,
54
+ restProps = __rest(_a, ["value", "onChange", "treeData", "showSearch", "fieldNames", "dropdownMatchSelectWidth", "dropdownStyle", "showCheckedStrategy", "treeCheckable", "treeCheckStrictly", "treeDefaultExpandAll", "treeExpandedKeys", "onTreeCheck", "onTreeExpand", "treeTitleRender"]);
55
+ var selectRef = (0, _react.useRef)(null);
56
+ var _useState = (0, _react.useState)(undefined),
57
+ _useState2 = _slicedToArray(_useState, 2),
58
+ filterKey = _useState2[0],
59
+ setFilterKey = _useState2[1];
44
60
  var mergeDropdownStyle = (0, _react.useMemo)(function () {
45
61
  return Array.isArray(treeData) && treeData.length ? dropdownStyle : {};
46
62
  }, [dropdownStyle, treeData]);
47
63
  var mergeDropdownMatchSelectWidth = (0, _react.useMemo)(function () {
48
64
  return Array.isArray(treeData) && treeData.length ? dropdownMatchSelectWidth : true;
49
65
  }, [dropdownMatchSelectWidth, treeData]);
50
- var handleRender = function handleRender(rest) {
66
+ var treeNodeWithParents = (0, _react.useMemo)(function () {
67
+ return (0, _utils.flatWithParents)(treeData, fieldNames);
68
+ }, [treeData, fieldNames]);
69
+ var selectValue = (0, _react.useMemo)(function () {
70
+ if (!treeCheckable) {
71
+ return value;
72
+ }
73
+ if (Array.isArray(value)) {
74
+ if (showCheckedStrategy === TntdVirtualTreeSelect.SHOW_ALL) {
75
+ return value;
76
+ }
77
+ // 过滤掉有子节点,
78
+ return value.filter(function (i) {
79
+ return (0, _utils.filterLastestNode)(treeNodeWithParents, i, value);
80
+ });
81
+ }
82
+ return undefined;
83
+ }, [treeCheckable, treeNodeWithParents, value, showCheckedStrategy]);
84
+ var mergeMode = (0, _react.useMemo)(function () {
85
+ if (treeCheckable) {
86
+ return {
87
+ multiple: true,
88
+ mode: 'tags'
89
+ };
90
+ }
91
+ return {};
92
+ }, [treeCheckable]);
93
+ var handleRender = function handleRender(_a) {
94
+ var showSearch = _a.showSearch,
95
+ rest = __rest(_a, ["showSearch"]);
51
96
  return _react["default"].createElement("div", {
52
- className: 'virtual-tree-options'
97
+ className: "virtual-tree-options"
53
98
  }, _react["default"].createElement(_tntdVirtualTree["default"], Object.assign({}, rest)));
54
99
  };
55
- return _react["default"].createElement(_tntdRcSelect["default"], Object.assign({}, restProps, {
100
+ var handleChange = function handleChange(val) {
101
+ onChange(val);
102
+ };
103
+ var handleSearch = function handleSearch(val) {
104
+ setFilterKey(val);
105
+ };
106
+ var handleSelect = function handleSelect(val) {
107
+ var _a;
108
+ onChange === null || onChange === void 0 ? void 0 : onChange(val);
109
+ if (selectRef.current) {
110
+ // 主动触发下拉框消失
111
+ (_a = selectRef.current) === null || _a === void 0 ? void 0 : _a.blur();
112
+ }
113
+ };
114
+ return _react["default"].createElement(_tntdRcSelect["default"], Object.assign({
115
+ ref: selectRef,
116
+ value: selectValue,
117
+ onChange: handleChange,
118
+ showSearch: showSearch,
119
+ onSearch: handleSearch
120
+ }, mergeMode, restProps, {
56
121
  dropdownMatchSelectWidth: mergeDropdownMatchSelectWidth,
57
122
  dropdownStyle: Object.assign({
58
123
  maxHeight: '100vh',
59
124
  overflow: 'auto'
60
125
  }, mergeDropdownStyle),
61
126
  dropdownRender: function dropdownRender() {
62
- return handleRender({
63
- value: value,
64
- onChange: onChange,
65
- renderItem: renderItem,
127
+ var obj = {
66
128
  treeData: treeData,
67
- showSearch: showSearch,
68
- treeDefaultExpandAll: treeDefaultExpandAll,
69
- treeExpandedKeys: treeExpandedKeys,
129
+ filterKey: filterKey,
130
+ defaultExpandAll: treeDefaultExpandAll,
131
+ expandedKeys: treeExpandedKeys,
70
132
  fieldNames: fieldNames,
71
- treeCheckable: treeCheckable
72
- });
133
+ onExpand: onTreeExpand,
134
+ titleRender: treeTitleRender,
135
+ onSelect: handleSelect
136
+ };
137
+ if (treeCheckable) {
138
+ obj = Object.assign(Object.assign({}, obj), {
139
+ checkedKeys: value,
140
+ checkStrictly: treeCheckStrictly,
141
+ checkable: treeCheckable,
142
+ onCheck: onTreeCheck
143
+ });
144
+ } else {
145
+ obj = Object.assign(Object.assign({}, obj), {
146
+ value: value
147
+ });
148
+ }
149
+ return handleRender(obj);
73
150
  }
74
151
  }));
75
152
  };
153
+ TntdVirtualTreeSelect.SHOW_CHILD = 'SHOW_CHILD';
154
+ TntdVirtualTreeSelect.SHOW_ALL = 'SHOW_ALL';
76
155
  var _default = exports["default"] = TntdVirtualTreeSelect;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tntd-virtual-tree-select/index.jsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;GAMG;AACH,+CAAiD;AACjD,uEAAwC;AACxC,6EAAmD;AACnD,wBAAsB;AAEtB,MAAM,qBAAqB,GAAG,CAAC,EAG5B,EAAE,EAAE;QAHwB,EAC3B,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,oBAAoB,EAAE,gBAAgB,EACzF,UAAU,EAAE,wBAAwB,EAAE,aAAa,EAAE,aAAa,OACnE,EADwE,SAAS,cAFrD,qLAG5B,CADiF;IAGlF,MAAM,kBAAkB,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;QACtC,OAAO,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAE,aAAa,CAAC,CAAC,CAAC,EAAE,CAAA;IACzE,CAAC,EAAE,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAA;IAE7B,MAAM,6BAA6B,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;QACjD,OAAO,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAE,wBAAwB,CAAC,CAAC,CAAC,IAAI,CAAA;IACtF,CAAC,EAAE,CAAC,wBAAwB,EAAE,QAAQ,CAAC,CAAC,CAAA;IAExC,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,EAAE;QAC5B,OAAO,CACL,uCAAK,SAAS,EAAC,sBAAsB;YACnC,8BAAC,2BAAe,oBAAK,IAAI,EAAI,CACzB,CACP,CAAA;IACH,CAAC,CAAA;IAED,OAAO,CACL,8BAAC,wBAAQ,oBACH,SAAS,IACb,wBAAwB,EAAE,6BAA6B,EACvD,aAAa,kBAAI,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAK,kBAAkB,GAC5E,cAAc,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC,IAC5J,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,qBAAqB,CAAA","sourcesContent":["/*\n * @Descripttion: 用select包裹虚拟树\n * @Author: 郑泳健\n * @Date: 2024-08-05 10:50:17\n * @LastEditors: 郑泳健\n * @LastEditTime: 2024-08-06 09:56:18\n */\nimport React, { useState, useMemo } from 'react';\nimport RcSelect from '../tntd-rc-select'\nimport TntdVirtualTree from '../tntd-virtual-tree';\nimport './index.less';\n\nconst TntdVirtualTreeSelect = ({ \n value, onChange, renderItem, treeData, showSearch, treeDefaultExpandAll, treeExpandedKeys, \n fieldNames, dropdownMatchSelectWidth, dropdownStyle, treeCheckable, ...restProps \n }) => {\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 handleRender = (rest) => {\n return (\n <div className='virtual-tree-options'>\n <TntdVirtualTree {...rest} />\n </div>\n )\n }\n\n return (\n <RcSelect\n {...restProps}\n dropdownMatchSelectWidth={mergeDropdownMatchSelectWidth}\n dropdownStyle={{ maxHeight: '100vh', overflow: 'auto', ...mergeDropdownStyle }}\n dropdownRender={() => handleRender({ value, onChange, renderItem, treeData, showSearch, treeDefaultExpandAll, treeExpandedKeys, fieldNames, treeCheckable })}\n />\n );\n};\n\nexport default TntdVirtualTreeSelect\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tntd-virtual-tree-select/index.jsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;GAMG;AACH,+CAAyD;AACzD,uEAAyC;AACzC,6EAAmD;AACnD,yCAA+D;AAC/D,wBAAsB;AAEtB,MAAM,qBAAqB,GAAG,CAAC,EAiB9B,EAAE,EAAE;QAjB0B,EAC7B,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,UAAU,EACV,wBAAwB,EACxB,aAAa,EACb,mBAAmB,EACnB,aAAa,EACb,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,eAAe,OAEhB,EADI,SAAS,cAhBiB,qQAiB9B,CADa;IAEZ,MAAM,SAAS,GAAG,IAAA,cAAM,EAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,IAAA,gBAAQ,EAAC,SAAS,CAAC,CAAC;IAEtD,MAAM,kBAAkB,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;QACtC,OAAO,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;IACzE,CAAC,EAAE,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE9B,MAAM,6BAA6B,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;QACjD,OAAO,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,IAAI,CAAC;IACtF,CAAC,EAAE,CAAC,wBAAwB,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEzC,MAAM,mBAAmB,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;QACvC,OAAO,IAAA,0BAAe,EAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;IAC9C,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAA;IAE1B,MAAM,WAAW,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;QAC/B,IAAG,CAAC,aAAa,EAAE;YACjB,OAAO,KAAK,CAAA;SACb;QAED,IAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACvB,IAAG,mBAAmB,KAAK,qBAAqB,CAAC,QAAQ,EAAE;gBACzD,OAAO,KAAK,CAAC;aACd;YACD,WAAW;YACX,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;gBACtB,OAAO,IAAA,4BAAiB,EAAC,mBAAmB,EAAE,CAAC,EAAE,KAAK,CAAC,CAAA;YACzD,CAAC,CAAC,CAAA;SACH;QACD,OAAO,SAAS,CAAA;IAElB,CAAC,EAAE,CAAC,aAAa,EAAE,mBAAmB,EAAE,KAAK,EAAE,mBAAmB,CAAC,CAAC,CAAA;IAEpE,MAAM,SAAS,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;QAC7B,IAAG,aAAa,EAAE;YAChB,OAAO;gBACL,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE,MAAM;aACb,CAAA;SACF;QACD,OAAO,EAAE,CAAA;IACX,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAA;IAEnB,MAAM,YAAY,GAAG,CAAC,EAAuB,EAAE,EAAE;YAA3B,EAAE,UAAU,OAAW,EAAN,IAAI,cAArB,cAAuB,CAAF;QACzC,OAAO,CACL,uCAAK,SAAS,EAAC,sBAAsB;YACnC,8BAAC,2BAAe,oBAAK,IAAI,EAAI,CACzB,CACP,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,EAAE;QAC3B,QAAQ,CAAC,GAAG,CAAC,CAAC;IAChB,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,EAAE;QAC3B,YAAY,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,EAAE;;QAC3B,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAG,GAAG,CAAC,CAAC;QAChB,IAAI,SAAS,CAAC,OAAO,EAAE;YACrB,YAAY;YACZ,MAAA,SAAS,CAAC,OAAO,0CAAE,IAAI,EAAE,CAAC;SAC3B;IACH,CAAC,CAAC;IAEF,OAAO,CACL,8BAAC,wBAAQ,kBACP,GAAG,EAAE,SAAS,EACd,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,YAAY,EACtB,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,YAAY,IAClB,SAAS,EACT,SAAS,IACb,wBAAwB,EAAE,6BAA6B,EACvD,aAAa,kBAAI,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAK,kBAAkB,GAC5E,cAAc,EAAE,GAAG,EAAE;YACnB,IAAI,GAAG,GAAG;gBACR,QAAQ;gBACR,SAAS;gBACT,gBAAgB,EAAE,oBAAoB;gBACtC,YAAY,EAAE,gBAAgB;gBAC9B,UAAU;gBACV,QAAQ,EAAE,YAAY;gBACtB,WAAW,EAAE,eAAe;gBAC5B,QAAQ,EAAE,YAAY;aACvB,CAAC;YACF,IAAI,aAAa,EAAE;gBACjB,GAAG,mCAAQ,GAAG,KAAE,WAAW,EAAE,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,WAAW,GAAE,CAAC;aACxH;iBAAM;gBACL,GAAG,mCAAQ,GAAG,KAAE,KAAK,GAAE,CAAC;aACzB;YACD,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC,IACD,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,qBAAqB,CAAC,UAAU,GAAG,YAAY,CAAA;AAC/C,qBAAqB,CAAC,QAAQ,GAAG,UAAU,CAAA;AAE3C,kBAAe,qBAAqB,CAAC","sourcesContent":["/*\n * @Descripttion: 用select包裹虚拟树\n * @Author: 郑泳健\n * @Date: 2024-08-05 10:50:17\n * @LastEditors: 郑泳健\n * @LastEditTime: 2024-08-20 15:03:16\n */\nimport React, { useState, useRef, useMemo } from 'react';\nimport RcSelect from '../tntd-rc-select';\nimport TntdVirtualTree from '../tntd-virtual-tree';\nimport { filterLastestNode, flatWithParents } from './utils.js'\nimport './index.less';\n\nconst TntdVirtualTreeSelect = ({\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 selectValue = useMemo(() => {\n if(!treeCheckable) {\n return value\n }\n\n if(Array.isArray(value)) {\n if(showCheckedStrategy === TntdVirtualTreeSelect.SHOW_ALL) {\n return value;\n }\n // 过滤掉有子节点,\n return value.filter(i => {\n return filterLastestNode(treeNodeWithParents, i, value)\n })\n }\n return undefined\n\n }, [treeCheckable, treeNodeWithParents, value, showCheckedStrategy])\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 onChange?.(val);\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 dropdownMatchSelectWidth={mergeDropdownMatchSelectWidth}\n dropdownStyle={{ maxHeight: '100vh', overflow: 'auto', ...mergeDropdownStyle }}\n dropdownRender={() => {\n let obj = {\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,10 +1,3 @@
1
- export function addTreeNodeKeys(treeData: any, fieldNames?: {
2
- title: string;
3
- value: string;
4
- children: string;
5
- }): any[];
6
- export function getNodeStr(node: any, key: any, result?: any[]): any[];
7
- export function getNodeKeys(node: any, widthSelf?: any, result?: any): any;
8
- export function flatTreeData(treeData: any, filterKey?: string, expandedKeys?: any, treeDefaultExpandAll?: any, level?: any, result?: any): any;
9
- export function getFullExpandedKeys(treeDataWithKeys: any, treeExpandedKeys: any, treeDefaultExpandAll: any, result?: any): any;
1
+ export function flatWithParents(treeData: any, fieldNames?: any, parents?: any, result?: {}): {};
2
+ export function filterLastestNode(treeNodeWithParents: any, item: any, list: any): boolean;
10
3
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/tntd-virtual-tree-select/utils.js"],"names":[],"mappings":"AAKO;;;;UAqBN;AAEM,uEAUN;AASM,2EAYN;AAWM,gJAuBN;AASM,gIAkBN"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/tntd-virtual-tree-select/utils.js"],"names":[],"mappings":"AAOO,iGAaN;AAEM,2FAQN"}
@@ -3,165 +3,46 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.getNodeStr = exports.getNodeKeys = exports.getFullExpandedKeys = exports.flatTreeData = exports.addTreeNodeKeys = void 0;
7
- function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
6
+ exports.flatWithParents = exports.filterLastestNode = void 0;
8
7
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
9
8
  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."); }
10
9
  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); }
11
10
  function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
12
11
  function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
13
12
  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; }
14
- var __rest = void 0 && (void 0).__rest || function (s, e) {
15
- var t = {};
16
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
17
- if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
18
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
19
- }
20
- return t;
21
- };
22
13
  /**
23
- * 初始化给树的每个节点增加一个keys字段(数组),keys的值是当前节点下的所有子节点的value和
24
- * 用于判断后续展开/收起
14
+ * 给每个节点增加一个parent字段,记录其父节点用于showCheckedStrategy
25
15
  * @param {*} treeData
16
+ * @param {*} fieldNames
17
+ * @param {*} parents
18
+ * @returns
26
19
  */
27
- var addTreeNodeKeys = exports.addTreeNodeKeys = function addTreeNodeKeys(treeData) {
20
+ var flatWithParents = exports.flatWithParents = function flatWithParents(treeData) {
28
21
  var fieldNames = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {
29
22
  title: 'title',
30
23
  value: 'value',
31
- children: 'children'
24
+ children: 'children',
25
+ disabled: 'disabled'
32
26
  };
33
- if (Array.isArray(treeData) && !!treeData.length) {
34
- return treeData.map(function (item) {
35
- item.children = item[fieldNames['children']];
36
- item.title = item[fieldNames['title']];
37
- item.value = item[fieldNames['value']];
38
- var children = item.children,
39
- query = __rest(item, ["children"]);
40
- if (Array.isArray(children) && !!children.length) {
41
- query.children = addTreeNodeKeys(children, fieldNames);
42
- }
43
- return Object.assign(Object.assign({}, query), {
44
- title: query[fieldNames['title']],
45
- value: query[fieldNames['value']],
46
- keys: getNodeKeys(query),
47
- titleTotal: getNodeStr(query, fieldNames['title'])
48
- });
49
- });
50
- }
51
- return [];
52
- };
53
- var getNodeStr = exports.getNodeStr = function getNodeStr(node, key) {
54
- var result = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
55
- result.push(node[key]);
56
- if (Array.isArray(node.children) && !!node.children.length) {
57
- node.children.forEach(function (element) {
58
- result = [].concat(_toConsumableArray(result), _toConsumableArray(getNodeStr(element, key)));
27
+ var parents = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
28
+ var result = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
29
+ if (Array.isArray(treeData)) {
30
+ treeData.forEach(function (i) {
31
+ result[i[fieldNames['value']]] = parents;
32
+ if (Array.isArray(i[fieldNames['children']])) {
33
+ var list = flatWithParents(i[fieldNames['children']], fieldNames, [].concat(_toConsumableArray(parents), [i[fieldNames['value']]]));
34
+ result = Object.assign(Object.assign({}, result), list);
35
+ } else {}
59
36
  });
60
37
  }
61
38
  return result;
62
39
  };
63
- /**
64
- * 获取每个节点下面所有子节点的value值
65
- * @param {*} node
66
- * @param {*} widthSelf 是否包含自己
67
- * @param {*} result
68
- * @returns []
69
- */
70
- var getNodeKeys = exports.getNodeKeys = function getNodeKeys(node) {
71
- var widthSelf = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
72
- var result = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
73
- if (widthSelf) {
74
- result.push(node.value);
75
- }
76
- if (Array.isArray(node.children) && !!node.children.length) {
77
- node.children.forEach(function (element) {
78
- result = [].concat(_toConsumableArray(result), _toConsumableArray(getNodeKeys(element)));
40
+ var filterLastestNode = exports.filterLastestNode = function filterLastestNode(treeNodeWithParents, item, list) {
41
+ var parents = treeNodeWithParents[item] || {};
42
+ if (Array.isArray(parents) && !!parents.length && Array.isArray(list) && !!list.length) {
43
+ return parents.every(function (el) {
44
+ return !list.includes(el);
79
45
  });
80
46
  }
81
- return result;
82
- };
83
- /**
84
- * 扁平树
85
- * @param {*} treeData
86
- * @param {*} expandedKeys 展开的节点
87
- * @param {*} treeDefaultExpandAll
88
- * @param {*} level
89
- * @param {*} result
90
- * @returns
91
- */
92
- var flatTreeData = exports.flatTreeData = function flatTreeData(treeData) {
93
- var filterKey = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
94
- var expandedKeys = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
95
- var treeDefaultExpandAll = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
96
- var level = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 0;
97
- var result = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : [];
98
- if (Array.isArray(treeData)) {
99
- var _iterator = _createForOfIteratorHelper(treeData),
100
- _step;
101
- try {
102
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
103
- var i = _step.value;
104
- var value = i.value,
105
- children = i.children,
106
- titleTotal = i.titleTotal,
107
- title = i.title,
108
- rest = __rest(i, ["value", "children", "titleTotal", "title"]);
109
- // 判断是否命中过滤
110
- var bingo = true;
111
- var transFilterKey = !['', null, undefined].includes(filterKey);
112
- if (transFilterKey) {
113
- bingo = Array.isArray(titleTotal) ? titleTotal.some(function (i) {
114
- return i.includes(filterKey);
115
- }) : false;
116
- }
117
- if (bingo) {
118
- result.push({
119
- value: value,
120
- children: children,
121
- title: title,
122
- level: level,
123
- titleTotal: titleTotal
124
- });
125
- }
126
- var selfIn = Array.isArray(expandedKeys) ? expandedKeys.includes(value) : false;
127
- if ((treeDefaultExpandAll || selfIn || transFilterKey && bingo) && Array.isArray(children) && !!children.length) {
128
- result = [].concat(_toConsumableArray(result), _toConsumableArray(flatTreeData(children, filterKey, expandedKeys, treeDefaultExpandAll, level + 1)));
129
- }
130
- }
131
- } catch (err) {
132
- _iterator.e(err);
133
- } finally {
134
- _iterator.f();
135
- }
136
- }
137
- return result;
138
- };
139
- /**
140
- * 获取所有展开的节点 (组件传入最后一层,需要将其上层全部加入到expandedKeys)
141
- * @param {*} treeDataWithKeys
142
- * @param {*} treeExpandedKeys
143
- * @param {*} result
144
- * @returns
145
- */
146
- var getFullExpandedKeys = exports.getFullExpandedKeys = function getFullExpandedKeys(treeDataWithKeys) {
147
- var treeExpandedKeys = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
148
- var treeDefaultExpandAll = arguments.length > 2 ? arguments[2] : undefined;
149
- var result = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];
150
- if (!treeDefaultExpandAll && (!Array.isArray(treeDataWithKeys) || !treeDataWithKeys.length || !Array.isArray(treeExpandedKeys) || !treeExpandedKeys.length)) {
151
- return [];
152
- }
153
- treeDataWithKeys.forEach(function (i) {
154
- var keys = i.keys,
155
- value = i.value,
156
- children = i.children;
157
- if (treeDefaultExpandAll || Array.isArray(keys) && keys.some(function (el) {
158
- return treeExpandedKeys.includes(el);
159
- })) {
160
- result.push(value);
161
- if (Array.isArray(children) && !!children.length) {
162
- result = [].concat(_toConsumableArray(result), _toConsumableArray(getFullExpandedKeys(children, treeExpandedKeys, treeDefaultExpandAll)));
163
- }
164
- }
165
- });
166
- return result;
47
+ return false;
167
48
  };
@@ -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 * 初始化给树的每个节点增加一个keys字段(数组),keys的值是当前节点下的所有子节点的value和\n * 用于判断后续展开/收起\n * @param {*} treeData \n */\nexport const addTreeNodeKeys = (treeData, fieldNames = { title: 'title', value: 'value', children: 'children' }) => {\n if(Array.isArray(treeData) && !!treeData.length) {\n return treeData.map((item) => {\n item.children = item[fieldNames['children']]\n item.title = item[fieldNames['title']]\n item.value = item[fieldNames['value']]\n const { children, ...query } = item;\n if(Array.isArray(children) && !!children.length) {\n query.children = addTreeNodeKeys(children, fieldNames)\n } \n return {\n ...query,\n title: query[fieldNames['title']],\n value: query[fieldNames['value']],\n keys: getNodeKeys(query),\n titleTotal: getNodeStr(query, fieldNames['title'])\n }\n })\n }\n\n return []\n}\n\nexport const getNodeStr = (node, key, result = []) => {\n result.push(node[key]);\n\n if(Array.isArray(node.children) && !!node.children.length) {\n node.children.forEach(element => {\n result = [...result, ...getNodeStr(element, key)]\n });\n }\n\n return result\n}\n\n/**\n * 获取每个节点下面所有子节点的value值\n * @param {*} node \n * @param {*} widthSelf 是否包含自己\n * @param {*} result \n * @returns []\n */\nexport const getNodeKeys = (node, widthSelf = true, result = []) => {\n if(widthSelf) {\n result.push(node.value);\n }\n\n if(Array.isArray(node.children) && !!node.children.length) {\n node.children.forEach(element => {\n result = [...result, ...getNodeKeys(element)]\n });\n }\n\n return result;\n}\n\n/**\n * 扁平树\n * @param {*} treeData \n * @param {*} expandedKeys 展开的节点\n * @param {*} treeDefaultExpandAll\n * @param {*} level \n * @param {*} result \n * @returns \n */\nexport const flatTreeData = (treeData, filterKey = '', expandedKeys = [], treeDefaultExpandAll = false, level = 0, result = []) => {\n if(Array.isArray(treeData)) {\n for(const i of treeData){\n const { value, children, titleTotal, title, ...rest } = i;\n\n // 判断是否命中过滤\n let bingo = true\n const transFilterKey = !['', null, undefined].includes(filterKey)\n if(transFilterKey) {\n bingo = Array.isArray(titleTotal) ? titleTotal.some(i => i.includes(filterKey)) : false\n }\n\n if(bingo) {\n result.push({ value, children, title, level, titleTotal })\n }\n\n const selfIn = Array.isArray(expandedKeys) ? expandedKeys.includes(value) : false;\n if((treeDefaultExpandAll || selfIn || (transFilterKey && bingo)) && Array.isArray(children) && !!children.length){\n result = [...result, ...flatTreeData(children, filterKey, expandedKeys, treeDefaultExpandAll, level+1)]\n }\n }\n }\n return result\n}\n\n/**\n * 获取所有展开的节点 (组件传入最后一层,需要将其上层全部加入到expandedKeys)\n * @param {*} treeDataWithKeys \n * @param {*} treeExpandedKeys \n * @param {*} result \n * @returns \n */\nexport const getFullExpandedKeys = (treeDataWithKeys, treeExpandedKeys = [], treeDefaultExpandAll, result = []) => {\n if(!treeDefaultExpandAll && (!Array.isArray(treeDataWithKeys) || !treeDataWithKeys.length || !Array.isArray(treeExpandedKeys) || !treeExpandedKeys.length)) {\n return []\n }\n \n treeDataWithKeys.forEach(i => {\n const { keys, value, children } = i;\n\n if(treeDefaultExpandAll || (Array.isArray(keys) && keys.some(el => treeExpandedKeys.includes(el)))) {\n result.push(value)\n\n if(Array.isArray(children) && !!children.length) {\n result = [...result, ...getFullExpandedKeys(children, treeExpandedKeys, treeDefaultExpandAll)]\n }\n }\n })\n\n return result;\n}\n\n\n"]}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/tntd-virtual-tree-select/utils.js"],"names":[],"mappings":";;;AAAA;;;;;;GAMG;AACI,MAAM,eAAe,GAAG,CAAC,QAAQ,EAAE,UAAU,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,OAAO,GAAG,EAAE,EAAE,MAAM,GAAG,EAAE,EAAE,EAAE;IAClK,IAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;QAC1B,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACnB,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;YACzC,IAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,EAAC;gBAC1C,MAAM,IAAI,GAAG,IAAA,uBAAe,EAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;gBACzG,MAAM,mCAAO,MAAM,GAAK,IAAI,CAAC,CAAA;aAC9B;iBAAI;aAEJ;QACH,CAAC,CAAC,CAAA;KACH;IACD,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAbY,QAAA,eAAe,mBAa3B;AAEM,MAAM,iBAAiB,GAAG,CAAC,mBAAmB,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;IACnE,MAAM,OAAO,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;IAE/C,IAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE;QACrF,OAAO,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAA;KAC/C;IAED,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AARY,QAAA,iBAAiB,qBAQ7B","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"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tntd",
3
- "version": "2.8.10",
3
+ "version": "2.8.11",
4
4
  "license": "MIT",
5
5
  "scripts": {
6
6
  "start": "heft start --storybook",
@@ -42,7 +42,9 @@
42
42
  "scroll-into-view-if-needed": "^2.2.25",
43
43
  "@tntd/icons": "^1.0.10",
44
44
  "@ant-design/colors": "^3.1.0",
45
- "rc-resize-observer": "~1.4.0"
45
+ "rc-resize-observer": "~1.4.0",
46
+ "react-resizable": "~3.0.4",
47
+ "@types/react-resizable": "~3.0.8"
46
48
  },
47
49
  "devDependencies": {
48
50
  "@react-types/shared": "^3.10.1",