|
@@ -2,7 +2,7 @@ import { Input, Tree } from 'antd';
|
|
|
import { SearchOutlined } from '@ant-design/icons';
|
|
import { SearchOutlined } from '@ant-design/icons';
|
|
|
import DragItem from '@/pages/system/Menu/Setting/dragItem';
|
|
import DragItem from '@/pages/system/Menu/Setting/dragItem';
|
|
|
import { useDrop } from 'react-dnd';
|
|
import { useDrop } from 'react-dnd';
|
|
|
-import {useEffect, useState} from 'react';
|
|
|
|
|
|
|
+import { useEffect, useState } from 'react';
|
|
|
import type { TreeProps } from 'antd';
|
|
import type { TreeProps } from 'antd';
|
|
|
import { cloneDeep, debounce } from 'lodash';
|
|
import { cloneDeep, debounce } from 'lodash';
|
|
|
import './DragItem.less';
|
|
import './DragItem.less';
|
|
@@ -21,7 +21,17 @@ export const DragType = 'DragBox';
|
|
|
|
|
|
|
|
const { TreeNode } = Tree;
|
|
const { TreeNode } = Tree;
|
|
|
|
|
|
|
|
-const defaultExpandedKeys = ['iot', 'media', 'system', 'device', 'link', 'link/Channel', 'rule-engine/Alarm', 'Northbound', 'rule-engine']
|
|
|
|
|
|
|
+const defaultExpandedKeys = [
|
|
|
|
|
+ 'iot',
|
|
|
|
|
+ 'media',
|
|
|
|
|
+ 'system',
|
|
|
|
|
+ 'device',
|
|
|
|
|
+ 'link',
|
|
|
|
|
+ 'link/Channel',
|
|
|
|
|
+ 'rule-engine/Alarm',
|
|
|
|
|
+ 'Northbound',
|
|
|
|
|
+ 'rule-engine',
|
|
|
|
|
+];
|
|
|
|
|
|
|
|
export default (props: TreeBodyProps) => {
|
|
export default (props: TreeBodyProps) => {
|
|
|
const [newData, setNewData] = useState(props.treeData);
|
|
const [newData, setNewData] = useState(props.treeData);
|
|
@@ -35,9 +45,9 @@ export default (props: TreeBodyProps) => {
|
|
|
|
|
|
|
|
useEffect(() => {
|
|
useEffect(() => {
|
|
|
setTimeout(() => {
|
|
setTimeout(() => {
|
|
|
- setExpandedKeys(defaultExpandedKeys)
|
|
|
|
|
- }, 300)
|
|
|
|
|
- }, [])
|
|
|
|
|
|
|
+ setExpandedKeys(defaultExpandedKeys);
|
|
|
|
|
+ }, 300);
|
|
|
|
|
+ }, []);
|
|
|
|
|
|
|
|
const [, drop] = useDrop(() => ({
|
|
const [, drop] = useDrop(() => ({
|
|
|
accept: DragType,
|
|
accept: DragType,
|
|
@@ -105,15 +115,15 @@ export default (props: TreeBodyProps) => {
|
|
|
data.forEach((item: any) => {
|
|
data.forEach((item: any) => {
|
|
|
if (item.children) {
|
|
if (item.children) {
|
|
|
if (item.children.some((cItem: any) => cItem.code === key)) {
|
|
if (item.children.some((cItem: any) => cItem.code === key)) {
|
|
|
- parentKey = item.code
|
|
|
|
|
|
|
+ parentKey = item.code;
|
|
|
} else if (!!getParentKey(key, item.children)) {
|
|
} else if (!!getParentKey(key, item.children)) {
|
|
|
- parentKey = getParentKey(key, item.children)
|
|
|
|
|
|
|
+ parentKey = getParentKey(key, item.children);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
- })
|
|
|
|
|
|
|
+ });
|
|
|
// @ts-ignore
|
|
// @ts-ignore
|
|
|
- return parentKey
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ return parentKey;
|
|
|
|
|
+ };
|
|
|
|
|
|
|
|
const findAllItem = (data: any[], value: string): string[] => {
|
|
const findAllItem = (data: any[], value: string): string[] => {
|
|
|
return data.reduce((pre, next) => {
|
|
return data.reduce((pre, next) => {
|
|
@@ -128,17 +138,16 @@ export default (props: TreeBodyProps) => {
|
|
|
const value = e.target.value;
|
|
const value = e.target.value;
|
|
|
|
|
|
|
|
if (value) {
|
|
if (value) {
|
|
|
-
|
|
|
|
|
const newKeys = findAllItem(props.treeData, value);
|
|
const newKeys = findAllItem(props.treeData, value);
|
|
|
- const newExpandedKeys = newKeys.map(key => {
|
|
|
|
|
- return getParentKey(key, props.treeData)
|
|
|
|
|
- })
|
|
|
|
|
|
|
+ const newExpandedKeys = newKeys.map((key) => {
|
|
|
|
|
+ return getParentKey(key, props.treeData);
|
|
|
|
|
+ });
|
|
|
setSearchKeys(newKeys);
|
|
setSearchKeys(newKeys);
|
|
|
setExpandedKeys(newExpandedKeys);
|
|
setExpandedKeys(newExpandedKeys);
|
|
|
} else {
|
|
} else {
|
|
|
setSearchKeys([]);
|
|
setSearchKeys([]);
|
|
|
}
|
|
}
|
|
|
- setAutoExpandParent(true)
|
|
|
|
|
|
|
+ setAutoExpandParent(true);
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
return (
|
|
return (
|
|
@@ -157,7 +166,7 @@ export default (props: TreeBodyProps) => {
|
|
|
expandedKeys={expandedKeys}
|
|
expandedKeys={expandedKeys}
|
|
|
onExpand={(_expandedKeys) => {
|
|
onExpand={(_expandedKeys) => {
|
|
|
setExpandedKeys(_expandedKeys);
|
|
setExpandedKeys(_expandedKeys);
|
|
|
- setAutoExpandParent(false)
|
|
|
|
|
|
|
+ setAutoExpandParent(false);
|
|
|
}}
|
|
}}
|
|
|
autoExpandParent={autoExpandParent}
|
|
autoExpandParent={autoExpandParent}
|
|
|
>
|
|
>
|
|
@@ -170,7 +179,7 @@ export default (props: TreeBodyProps) => {
|
|
|
expandedKeys={expandedKeys}
|
|
expandedKeys={expandedKeys}
|
|
|
onExpand={(_expandedKeys) => {
|
|
onExpand={(_expandedKeys) => {
|
|
|
setExpandedKeys(_expandedKeys);
|
|
setExpandedKeys(_expandedKeys);
|
|
|
- setAutoExpandParent(false)
|
|
|
|
|
|
|
+ setAutoExpandParent(false);
|
|
|
}}
|
|
}}
|
|
|
autoExpandParent={autoExpandParent}
|
|
autoExpandParent={autoExpandParent}
|
|
|
draggable={{
|
|
draggable={{
|