From a3d18b271eaf16473603c2891a58e3d45fe83770 Mon Sep 17 00:00:00 2001 From: coderTomato <570547651@qq.com> Date: Wed, 1 Dec 2021 17:39:58 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=8F=B3=E9=94=AE?= =?UTF-8?q?=E8=8F=9C=E5=8D=95=E7=9A=84=E6=98=BE=E7=A4=BA=E9=AB=98=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/Studio/StudioEdit/index.tsx | 15 ++------- .../components/Studio/StudioTree/index.tsx | 33 +++++++++++-------- 2 files changed, 21 insertions(+), 27 deletions(-) diff --git a/dlink-web/src/components/Studio/StudioEdit/index.tsx b/dlink-web/src/components/Studio/StudioEdit/index.tsx index 4bbfd09ce4..8d517c41e3 100644 --- a/dlink-web/src/components/Studio/StudioEdit/index.tsx +++ b/dlink-web/src/components/Studio/StudioEdit/index.tsx @@ -3,7 +3,6 @@ import * as _monaco from "monaco-editor"; import MonacoEditor from "react-monaco-editor"; import {BaseDataSourceField, BaseDataSourceHeader, CompletionItem} from "./data"; import styles from './index.less'; - import {StateType} from "@/pages/FlinkSqlStudio/model"; import {connect} from "umi"; import {DocumentStateType} from "@/pages/Document/model"; @@ -15,13 +14,6 @@ let provider = { dispose: () => {}, }; -interface IRightContent { - key: string; - value: any; - handleCheck: () => Promise; - secondRightData: (BaseDataSourceField|BaseDataSourceHeader)[]; -} - interface ISuggestions { label: string; kind: string; @@ -31,6 +23,7 @@ interface ISuggestions { const FlinkSqlEditor = (props:any) => { const { + tabsKey, height = '100%', width = '100%', language = 'sql', @@ -42,13 +35,9 @@ const FlinkSqlEditor = (props:any) => { tabs, fillDocuments, dispatch, - } = props - ; - - const { tabsKey, value, handleCheck, secondRightData = [] }: IRightContent = props; + } = props; const editorInstance:any = useRef(); - const monacoInstance: any = useRef(); const getTabIndex = ():number=>{ diff --git a/dlink-web/src/components/Studio/StudioTree/index.tsx b/dlink-web/src/components/Studio/StudioTree/index.tsx index 170b6474a3..9d258d0834 100644 --- a/dlink-web/src/components/Studio/StudioTree/index.tsx +++ b/dlink-web/src/components/Studio/StudioTree/index.tsx @@ -14,16 +14,17 @@ import UpdateCatalogueForm from './components/UpdateCatalogueForm'; import {ActionType} from "@ant-design/pro-table"; import UpdateTaskForm from "@/components/Studio/StudioTree/components/UpdateTaskForm"; import { Scrollbars } from 'react-custom-scrollbars'; - const { DirectoryTree } = Tree; - const {Search} = Input; + type StudioTreeProps = { rightClickMenu:StateType['rightClickMenu']; dispatch:any; tabs:StateType['tabs']; current:StateType['current']; + toolHeight:number; + refs:any; }; type RightClickMenu = { @@ -50,7 +51,6 @@ const getParentKey = (key, tree) => { const StudioTree: React.FC = (props) => { const {rightClickMenu,dispatch,tabs,refs,toolHeight} = props; - const [treeData, setTreeData] = useState(); const [dataList, setDataList] = useState<[]>(); const [expandedKeys, setExpandedKeys] = useState<[]>(); @@ -62,6 +62,7 @@ const StudioTree: React.FC = (props) => { const [taskFormValues, setTaskFormValues] = useState({}); const [rightClickNode, setRightClickNode] = useState(); const [available, setAvailable] = useState(true); + let sref = React.createRef(); const getTreeData = async () => { const result = await getCatalogueTreeData(); @@ -95,9 +96,6 @@ const StudioTree: React.FC = (props) => { getTreeData(); }, []); - const onChange = (e:any) => { - - }; const handleMenuClick=(key:string)=>{ if(key=='Open'){ @@ -308,13 +306,18 @@ const StudioTree: React.FC = (props) => { return (treeData&&treeData.length==0)?empty:''; }; - const onRightClick = (e:any) => { - setRightClickNode(e.node); + const handleContextMenu = (e: React.MouseEvent, node: TreeDataNode) => { + console.log('top:',sref.current.getScrollTop()); + console.log('node:',node); + console.log('e:',e.pageY); + let position = e.currentTarget.getBoundingClientRect(); + console.log('p:',position); + setRightClickNode(node); setRightClickNodeTreeItem({ - pageX: e.event.pageX, - pageY: e.event.pageY, - id: e.node.id, - categoryName: e.node.name + pageX: e.pageX, + pageY: position.top+sref.current.getScrollTop(), + id: node.id, + categoryName: node.name }); dispatch&&dispatch({ type: "Studio/showRightClickMenu", @@ -360,11 +363,13 @@ const StudioTree: React.FC = (props) => { - + {/**/} { + handleContextMenu(event, node) + }} onSelect={onSelect} switcherIcon={} treeData={treeData} From 744c07a2e5ca7ab3e5a65d3960fa3527ebb62b68 Mon Sep 17 00:00:00 2001 From: wenmo <32723967+wenmo@users.noreply.github.com> Date: Wed, 1 Dec 2021 22:50:04 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=A0=91=E5=8F=B3?= =?UTF-8?q?=E9=94=AE=E8=8F=9C=E5=8D=95=E4=BD=8D=E7=BD=AE=E4=B8=8E=E6=97=A0?= =?UTF-8?q?=E6=B3=95=E6=89=A7=E8=A1=8C=E9=80=89=E4=B8=ADsql=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/components/Studio/StudioMenu/index.tsx | 4 ++-- .../src/components/Studio/StudioTree/index.tsx | 13 +++---------- 2 files changed, 5 insertions(+), 12 deletions(-) diff --git a/dlink-web/src/components/Studio/StudioMenu/index.tsx b/dlink-web/src/components/Studio/StudioMenu/index.tsx index 9363093c37..23514a5bc0 100644 --- a/dlink-web/src/components/Studio/StudioMenu/index.tsx +++ b/dlink-web/src/components/Studio/StudioMenu/index.tsx @@ -45,11 +45,11 @@ const StudioMenu = (props: any) => { } let useSession = !!currentSession.session; let param = { + ...current.task, useSession: useSession, session: currentSession.session, - statement: selectsql, configJson: JSON.stringify(current.task.config), - ...current.task, + statement: selectsql, }; const key = current.key; const taskKey = (Math.random() * 1000) + ''; diff --git a/dlink-web/src/components/Studio/StudioTree/index.tsx b/dlink-web/src/components/Studio/StudioTree/index.tsx index 9d258d0834..d3ee591040 100644 --- a/dlink-web/src/components/Studio/StudioTree/index.tsx +++ b/dlink-web/src/components/Studio/StudioTree/index.tsx @@ -253,10 +253,8 @@ const StudioTree: React.FC = (props) => { const {pageX, pageY} = {...rightClickNodeTreeItem}; const tmpStyle = { position: 'absolute', - // left: `${pageX - 50}px`, - // top: `${pageY - 202}px`, - left: `${pageX}px`, - top: `${pageY - 120}px`, + left: `${pageX - 40}px`, + top: `${pageY - 150}px`, }; let menuItems; if(rightClickNode&&rightClickNode.isLeaf){ @@ -307,15 +305,10 @@ const StudioTree: React.FC = (props) => { }; const handleContextMenu = (e: React.MouseEvent, node: TreeDataNode) => { - console.log('top:',sref.current.getScrollTop()); - console.log('node:',node); - console.log('e:',e.pageY); - let position = e.currentTarget.getBoundingClientRect(); - console.log('p:',position); setRightClickNode(node); setRightClickNodeTreeItem({ pageX: e.pageX, - pageY: position.top+sref.current.getScrollTop(), + pageY: e.pageY+sref.current.getScrollTop(), id: node.id, categoryName: node.name });