Commit bb4f4e78 authored by wenmo's avatar wenmo

修复自动补全

parent 80f4e127
......@@ -76,7 +76,7 @@ public class JobManager extends RunTime {
private Executor createExecutor() {
initEnvironmentSetting();
if (config.isUseRemote()) {
if (config.isUseRemote()&&config.getClusterId()!=0) {
executor = Executor.buildRemoteExecutor(environmentSetting, config.getExecutorSetting());
return executor;
} else {
......
......@@ -23,9 +23,9 @@ export type BaseDataSourceHeader = {
}
export type CompletionItem = {
label?: string,
label: string,
kind?: any,
insertText?: string,
insertText: string,
insertTextRules?: any,
detail?: string,
}
......
import React, {useEffect, useImperativeHandle, useRef} from 'react';
import * as _monaco from "monaco-editor";
// import MonacoEditor from "react-monaco-editor/lib/editor";
import MonacoEditor from "react-monaco-editor";
import {BaseDataSourceField, BaseDataSourceHeader, CompletionItem} from "./data";
import Completion from "./completion";
......@@ -20,6 +19,13 @@ interface IRightContent {
secondRightData: (BaseDataSourceField|BaseDataSourceHeader)[];
}
interface ISuggestions {
label: string;
kind: string;
insertText: string;
detail?: string;
}
const FlinkSqlEditor = (props:any) => {
const {
height = '100%',
......@@ -30,9 +36,7 @@ const FlinkSqlEditor = (props:any) => {
selectOnLineNumbers: true,
renderSideBySide: false,
},
// current,
tabs,
// current=props.current,
dispatch,
} = props
;
......@@ -52,16 +56,9 @@ const FlinkSqlEditor = (props:any) => {
return 0;
};
const tabIndex = getTabIndex();
const code: any = useRef(tabs.panes[tabIndex].value ? tabs.panes[tabIndex].value : '');
// const code: any = useRef(current.sql ? current.sql : '');
// const code: any = useRef(value ? value.formulaContent : '');
const cache: any = useRef(code.current);
const [refresh, setRefresh] = React.useState<boolean>(false);
const [selectValue, setSelectValue] = React.useState<string>("");
useEffect(
() => () => {
provider.dispose();
......@@ -107,13 +104,6 @@ const FlinkSqlEditor = (props:any) => {
});
};
interface ISuggestions {
label: string;
kind: string;
insertText: string;
detail?: string;
}
const editorDidMountHandle = (editor: any, monaco: any) => {
monacoInstance.current = monaco;
editorInstance.current = editor;
......@@ -129,7 +119,7 @@ const FlinkSqlEditor = (props:any) => {
// 提示项设值
provider = monaco.languages.registerCompletionItemProvider('sql', {
provideCompletionItems() {
const suggestions: ISuggestions[] = [];
let suggestions: ISuggestions[] = [];
if (code && code.current) {
code.current.forEach((record:any) => {
suggestions.push({
......@@ -146,14 +136,20 @@ const FlinkSqlEditor = (props:any) => {
});
}
Completion.forEach((item:CompletionItem) => {
suggestions.push(item);
suggestions.push( {
label: item.label,
kind: item.kind,
insertText: item.insertText,
insertTextRules: item.insertTextRules,
detail: item.detail
});
});
return {
suggestions,
};
},
quickSuggestions: true,
triggerCharacters: ['$', '.', '='],
quickSuggestions: false,
// triggerCharacters: ['$', '.', '='],
});
editor.focus();
};
......@@ -171,7 +167,6 @@ return (
theme="vs-dark"
editorDidMount={editorDidMountHandle}
/>
{selectValue}
</React.Fragment>
);
};
......
......@@ -16,7 +16,6 @@ export function createSession(session: SessionType,dispatch: any) {
export function listSession(dispatch: any) {
const res = getData("api/studio/listSession");
res.then((result)=>{
console.log(result.datas);
dispatch && dispatch({
type: "Studio/saveSession",
payload: result.datas,
......
......@@ -9,9 +9,6 @@ const { TabPane } = Tabs;
const EditorTabs = (props: any) => {
const {tabs,dispatch,current} = props;
const [newTabIndex, setNewTabIndex] = useState<number>(0);
const [activeKey, setActiveKey] = useState<number>(tabs.activeKey);
const [panes, setPanes] = useState<any>(tabs.panes);
const onChange = (activeKey: any) => {
dispatch({
......
......@@ -298,6 +298,9 @@ export default (): React.ReactNode => {
<li>
<Link>增加了 Flink StreamGraph 预览功能</Link>
</li>
<li>
<Link>修复了 Studio 编辑器的自动补全无法正常提示的bug</Link>
</li>
</ul>
</Paragraph>
</Timeline.Item>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment