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]