|
|
|
@ -17,12 +17,19 @@ import { menuData1, menuData2 } from './config/menuData';
|
|
|
|
import { IconSearch, IconPlus } from '@arco-design/web-react/icon';
|
|
|
|
import { IconSearch, IconPlus } from '@arco-design/web-react/icon';
|
|
|
|
import { Selected } from '@/pages/ideContainer/types';
|
|
|
|
import { Selected } from '@/pages/ideContainer/types';
|
|
|
|
import { useDispatch, useSelector } from 'react-redux';
|
|
|
|
import { useDispatch, useSelector } from 'react-redux';
|
|
|
|
import { updateMenuData, updateFlowData, updateCurrentAppData, updateEventListOld } from '@/store/ideContainer';
|
|
|
|
import {
|
|
|
|
|
|
|
|
updateMenuData,
|
|
|
|
|
|
|
|
updateFlowData,
|
|
|
|
|
|
|
|
updateCanvasDataMap,
|
|
|
|
|
|
|
|
updateCurrentAppData,
|
|
|
|
|
|
|
|
updateEventListOld
|
|
|
|
|
|
|
|
} from '@/store/ideContainer';
|
|
|
|
import { addApp, getProjectEnv, editApp, deleteApp } from '@/api/apps';
|
|
|
|
import { addApp, getProjectEnv, editApp, deleteApp } from '@/api/apps';
|
|
|
|
import _ from 'lodash';
|
|
|
|
import _ from 'lodash';
|
|
|
|
import { getAppInfoNew } from '@/api/appRes';
|
|
|
|
import { getAppInfoNew } from '@/api/appRes';
|
|
|
|
import { getAppEventData } from '@/api/appEvent';
|
|
|
|
import { getAppEventData } from '@/api/appEvent';
|
|
|
|
import { queryEventItemBySceneIdOld } from '@/api/event';
|
|
|
|
import { queryEventItemBySceneIdOld } from '@/api/event';
|
|
|
|
|
|
|
|
import { convertFlowData } from '@/utils/convertFlowData';
|
|
|
|
|
|
|
|
|
|
|
|
const TreeNode = Tree.Node;
|
|
|
|
const TreeNode = Tree.Node;
|
|
|
|
const FormItem = Form.Item;
|
|
|
|
const FormItem = Form.Item;
|
|
|
|
@ -192,7 +199,7 @@ const SideBar: React.FC<SideBarProps> = ({
|
|
|
|
}); // 添加右键菜单状态
|
|
|
|
}); // 添加右键菜单状态
|
|
|
|
const resizeBoxRef = useRef<HTMLDivElement>(null); // 引用第一个 ResizeBox 容器
|
|
|
|
const resizeBoxRef = useRef<HTMLDivElement>(null); // 引用第一个 ResizeBox 容器
|
|
|
|
const contextMenuRef = useRef<HTMLDivElement>(null); // 右键菜单引用
|
|
|
|
const contextMenuRef = useRef<HTMLDivElement>(null); // 右键菜单引用
|
|
|
|
const { menuData, info } = useSelector(state => state.ideContainer);
|
|
|
|
const { menuData, info, canvasDataMap } = useSelector(state => state.ideContainer);
|
|
|
|
const dispatch = useDispatch();
|
|
|
|
const dispatch = useDispatch();
|
|
|
|
|
|
|
|
|
|
|
|
function getMenuData(): MenuItemType[] {
|
|
|
|
function getMenuData(): MenuItemType[] {
|
|
|
|
@ -424,6 +431,15 @@ const SideBar: React.FC<SideBarProps> = ({
|
|
|
|
// 更新 currentAppData 中的数据
|
|
|
|
// 更新 currentAppData 中的数据
|
|
|
|
dispatch(updateCurrentAppData({ ...findMenuItem(menuData[identity], children.key) }));
|
|
|
|
dispatch(updateCurrentAppData({ ...findMenuItem(menuData[identity], children.key) }));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 同步更新到 canvasDataMap
|
|
|
|
|
|
|
|
if (res.data.main?.components) {
|
|
|
|
|
|
|
|
const { nodes, edges } = convertFlowData(res.data.main.components, true);
|
|
|
|
|
|
|
|
dispatch(updateCanvasDataMap({
|
|
|
|
|
|
|
|
...canvasDataMap,
|
|
|
|
|
|
|
|
[data.id]: { nodes, edges }
|
|
|
|
|
|
|
|
}));
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 同时更新本地 menu 状态以触发重新渲染
|
|
|
|
// 同时更新本地 menu 状态以触发重新渲染
|
|
|
|
setMenu(prevMenu => {
|
|
|
|
setMenu(prevMenu => {
|
|
|
|
const newMenu = [...prevMenu];
|
|
|
|
const newMenu = [...prevMenu];
|
|
|
|
|