This is an automated email from the ASF dual-hosted git repository.

jiafengzheng pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-doris-manager.git


The following commit(s) were added to refs/heads/master by this push:
     new 81f883a  [Fix] fix sql editor can not show suggestions (#26)
81f883a is described below

commit 81f883aeab1ab4cf5673741f3efa45174cfe05f4
Author: color_cat <[email protected]>
AuthorDate: Wed Mar 30 17:41:30 2022 +0800

    [Fix] fix sql editor can not show suggestions (#26)
    
    fix sql editor can not show suggestions
---
 frontend/.babelrc                                         |  5 ++---
 frontend/package.json                                     |  2 +-
 .../visual-query/components/visual-content/hooks.ts       | 12 ++++++------
 .../visual-query/components/visual-content/index.tsx      |  4 ++++
 .../components/visual-content/visual-editor.tsx           |  4 ++--
 frontend/src/routes/visual-query/context/data-context.tsx |  2 +-
 .../src/routes/visual-query/context/databases-context.tsx | 14 +++++++++-----
 frontend/src/routes/visual-query/types/common.ts          |  7 ++-----
 frontend/src/routes/visual-query/visual-query.api.ts      | 15 +++++++--------
 frontend/src/routes/visual-query/visual-query.tsx         | 14 +-------------
 frontend/version.json                                     |  2 +-
 11 files changed, 36 insertions(+), 45 deletions(-)

diff --git a/frontend/.babelrc b/frontend/.babelrc
index 2d33edd..e5b1e1f 100644
--- a/frontend/.babelrc
+++ b/frontend/.babelrc
@@ -37,7 +37,6 @@
         "style": "css"
       }
     ],
-    ["@babel/plugin-proposal-decorators", { "legacy": true }]
-  ],
-  "plugins": [["import", { "libraryName": "antd", "libraryDirectory": "lib", 
"style": true}, "antd"],]
+    ["@babel/plugin-proposal-decorators", { "legacy": true }],
+  ]
 }
diff --git a/frontend/package.json b/frontend/package.json
index b0b96d5..fdd84df 100644
--- a/frontend/package.json
+++ b/frontend/package.json
@@ -19,7 +19,7 @@
     "@ant-design/pro-list": "^1.17.7",
     "@ant-design/pro-table": "^2.56.7",
     "@babel/core": "^7.12.10",
-    "@monaco-editor/react": "^4.3.1",
+    "@monaco-editor/react": "^4.4.1",
     "ahooks": "^3.1.10",
     "antd": "^4.16.11",
     "axios": "^0.24.0",
diff --git 
a/frontend/src/routes/visual-query/components/visual-content/hooks.ts 
b/frontend/src/routes/visual-query/components/visual-content/hooks.ts
index ee48d41..0318e7c 100644
--- a/frontend/src/routes/visual-query/components/visual-content/hooks.ts
+++ b/frontend/src/routes/visual-query/components/visual-content/hooks.ts
@@ -41,14 +41,14 @@ export function useMonacoEditor() {
         });
         const textArr = textUntilPosition.split(' ');
         const lastText = textArr[textArr.length - 1];
-        const currentDatabase = databases?.find(database => database.id === 
selectedDatabaseId);
+        // const currentDatabase = databases?.find(database => database.id === 
selectedDatabaseId);
         const SUGGESTIONS = [
             ...DEFAULT_SUGGESTIONS,
-            ...currentDatabase.tables.map((table: any) => ({
-                label: table.name,
-                insertText: table.name,
-                detail: '表',
-            })),
+            // ...currentDatabase.tables.map((table: any) => ({
+            //     label: table.name,
+            //     insertText: table.name,
+            //     detail: '表',
+            // })),
         ];
         const match = SUGGESTIONS.some((item: any) => {
             // 循环判断是否包含在补全数组中
diff --git 
a/frontend/src/routes/visual-query/components/visual-content/index.tsx 
b/frontend/src/routes/visual-query/components/visual-content/index.tsx
index aebd5e6..6c959b7 100644
--- a/frontend/src/routes/visual-query/components/visual-content/index.tsx
+++ b/frontend/src/routes/visual-query/components/visual-content/index.tsx
@@ -23,6 +23,7 @@ import styles from './style.module.less';
 import VisualEditor from './visual-editor';
 import { DatabasesContext, DataContext } from '../../context';
 import LoadingLayout from '../loading-layout';
+import VisualTable from './visual-table';
 
 function VisualContent(props: any, ref: any) {
     const { databasesLoading } = useContext(DatabasesContext);
@@ -56,6 +57,9 @@ function VisualContent(props: any, ref: any) {
             );
         return (
             <>
+                <div style={{ height: '80%' }}>
+                    <VisualTable ref={visualTableRef} />
+                </div>
             </>
         );
     }, [dataLoading, isFetchingError, resultData, dataError]);
diff --git 
a/frontend/src/routes/visual-query/components/visual-content/visual-editor.tsx 
b/frontend/src/routes/visual-query/components/visual-content/visual-editor.tsx
index 2e247da..e2a7e9f 100644
--- 
a/frontend/src/routes/visual-query/components/visual-content/visual-editor.tsx
+++ 
b/frontend/src/routes/visual-query/components/visual-content/visual-editor.tsx
@@ -46,7 +46,7 @@ export default function VisualEditor(props: 
VisualEditorProps) {
             message.error('请输入查询语句');
             return;
         }
-        runFetchData(fetchData({ database: selectedDatabaseId, native: { 
query: editorValue }, type: 'NATIVE' })).catch(
+        runFetchData(fetchData({ database: selectedDatabaseId, query: 
editorValue })).catch(
             () => message.error('查询失败'),
         );
     };
@@ -77,7 +77,7 @@ export default function VisualEditor(props: 
VisualEditorProps) {
             >
                 <Editor
                     height="100%"
-                    defaultLanguage="sql"
+                    language="sql"
                     theme={THEME_NAME}
                     options={{
                         minimap: {
diff --git a/frontend/src/routes/visual-query/context/data-context.tsx 
b/frontend/src/routes/visual-query/context/data-context.tsx
index 040255a..85f32c6 100644
--- a/frontend/src/routes/visual-query/context/data-context.tsx
+++ b/frontend/src/routes/visual-query/context/data-context.tsx
@@ -76,7 +76,7 @@ export default function DataContextProvider(props: 
PropsWithChildren<{}>) {
             return;
         }
         const newColumns = resultData.data.cols.map(item => ({
-            title: item.display_name,
+            title: item.displayName,
             dataIndex: item.name,
         }));
         setColumns(newColumns);
diff --git a/frontend/src/routes/visual-query/context/databases-context.tsx 
b/frontend/src/routes/visual-query/context/databases-context.tsx
index 4befc27..fbd536c 100644
--- a/frontend/src/routes/visual-query/context/databases-context.tsx
+++ b/frontend/src/routes/visual-query/context/databases-context.tsx
@@ -15,10 +15,11 @@
 // specific language governing permissions and limitations
 // under the License.
 
-import React, { PropsWithChildren, useEffect, useState } from 'react';
+import React, { PropsWithChildren, useContext, useEffect, useState } from 
'react';
 import { message } from 'antd';
 import { fetchDatabases } from '../visual-query.api';
 import { useAsync } from '../hooks';
+import { UserInfoContext } from '@src/common/common.context';
 
 interface DatabasesContextProps {
     databases: any[] | null;
@@ -41,12 +42,15 @@ export default function QueryContextProvider(props: 
PropsWithChildren<{}>) {
         run: runFetchDatabases,
     } = useAsync<any[]>({ loading: true, data: [] });
     const [selectedDatabaseId, setSelectedDatabaseId] = useState<number | 
null>(null);
+    const userInfo = useContext(UserInfoContext);
 
     useEffect(() => {
-        runFetchDatabases(fetchDatabases())
-            .then(res => res && res.length > 0 && 
setSelectedDatabaseId(res[0].id))
-            .catch(() => message.error('获取数据库列表失败'));
-    }, [runFetchDatabases]);
+        if (userInfo && userInfo.space_id) {
+            runFetchDatabases(fetchDatabases(userInfo.space_id))
+                .then(res => res && res.length > 0 && 
setSelectedDatabaseId(res[0].id))
+                .catch(() => message.error('获取数据库列表失败'));
+        }
+    }, [runFetchDatabases, userInfo?.space_id]);
 
     return (
         <DatabasesContext.Provider
diff --git a/frontend/src/routes/visual-query/types/common.ts 
b/frontend/src/routes/visual-query/types/common.ts
index a361dbb..a69ce5d 100644
--- a/frontend/src/routes/visual-query/types/common.ts
+++ b/frontend/src/routes/visual-query/types/common.ts
@@ -19,15 +19,12 @@ import React from 'react';
 
 export interface DataType {
     cols: {
-        source: string;
+        source?: string;
         name: string;
-        display_name: string;
+        displayName: string;
         base_type: string;
     }[];
     rows: any[][];
-    native_form: {
-        query: string;
-    };
 }
 
 export type Dataset = { source: any[][] }[];
diff --git a/frontend/src/routes/visual-query/visual-query.api.ts 
b/frontend/src/routes/visual-query/visual-query.api.ts
index e312395..100f97b 100644
--- a/frontend/src/routes/visual-query/visual-query.api.ts
+++ b/frontend/src/routes/visual-query/visual-query.api.ts
@@ -18,18 +18,17 @@
 import { http, isSuccess } from '@src/utils/http';
 import { DataType } from './types';
 
-export function fetchDatabases() {
-    return http.get('/api/database/', { include: 'tables' }).then(res => 
res.data) as Promise<any[]>;
+export function fetchDatabases(nsId: number) {
+    return http.get(`/api/meta/nsId/${nsId}/databases`).then(res => 
res.data.filter((item: any) => item.name !== 'information_schema')) as 
Promise<any[]>;
 }
 
-interface NativeSqlQueryParams {
+interface SQLQueryParams {
     database: number;
-    native: { query: string };
-    type: 'NATIVE';
+    query: string;
 }
-
-export function fetchData(params: NativeSqlQueryParams) {
-    return http.post('/api/dataset/', params).then(res => res.data) as 
Promise<{
+// query
+export function fetchData(params: SQLQueryParams) {
+    return http.post('/api/query/sql/', params).then(res => res.data) as 
Promise<{
         data: DataType;
         error?: any;
         database_id: number;
diff --git a/frontend/src/routes/visual-query/visual-query.tsx 
b/frontend/src/routes/visual-query/visual-query.tsx
index 97ce4a0..5c8c53d 100644
--- a/frontend/src/routes/visual-query/visual-query.tsx
+++ b/frontend/src/routes/visual-query/visual-query.tsx
@@ -19,27 +19,15 @@ import React, { useRef, useState } from 'react';
 import VisualQueryProvider from './context';
 import VisualContent from './components/visual-content';
 import VisualHeader from './components/visual-header';
-import SaveQueryModal from './components/save-query-modal';
-import SaveDashboardModal from './components/save-dashboard-modal';
-import { useCollections } from './hooks';
 
 export default function VisualQuery() {
     const [saveQueryModalVisible, setSaveQueryModalVisible] = useState(false);
-    const [saveDashboardModalVisible, setSaveDashboardModalVisible] = 
useState(false);
-    const visualContentRef = useRef<{ refreshTableWidth: () => void }>(null);
-    const { collections, loading } = useCollections();
-
-    const onAnimated = () => {
-        if (visualContentRef.current) {
-            visualContentRef.current.refreshTableWidth();
-        }
-    };
 
     return (
         <VisualQueryProvider>
             <VisualHeader setSaveQueryModalVisible={setSaveQueryModalVisible} 
/>
             <div style={{ display: 'flex' }}>
-                <VisualContent ref={visualContentRef} />
+                <VisualContent />
             </div>
         </VisualQueryProvider>
     );
diff --git a/frontend/version.json b/frontend/version.json
index b0ff0a6..9eecd8f 100644
--- a/frontend/version.json
+++ b/frontend/version.json
@@ -1,3 +1,3 @@
 {
-    "version": "1.0.1"
+    "version": "1.0.0"
 }
\ No newline at end of file

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to