From 2cd80c2fa060380adf05f3cedb066716ac6979e4 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 26 May 2023 15:38:24 +0000 Subject: [PATCH 1/7] Creating file for storing CLA Signatures --- signatures/version1/cla.json | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 signatures/version1/cla.json diff --git a/signatures/version1/cla.json b/signatures/version1/cla.json new file mode 100644 index 00000000..18d5487f --- /dev/null +++ b/signatures/version1/cla.json @@ -0,0 +1,3 @@ +{ + "signedContributors": [] +} \ No newline at end of file From a711f0ed7ffaf168a7b5a817ecee7e8cfb71aa7a Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 26 May 2023 15:47:01 +0000 Subject: [PATCH 2/7] @Ryiski has signed the CLA in parseablehq/console#62 --- signatures/version1/cla.json | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/signatures/version1/cla.json b/signatures/version1/cla.json index 18d5487f..26f46f80 100644 --- a/signatures/version1/cla.json +++ b/signatures/version1/cla.json @@ -1,3 +1,12 @@ { - "signedContributors": [] + "signedContributors": [ + { + "name": "Ryiski", + "id": 47484379, + "comment_id": 1564572383, + "created_at": "2023-05-26T15:34:15Z", + "repoId": 523035254, + "pullRequestNo": 62 + } + ] } \ No newline at end of file From a2e992826bd5db3c41ae86cc2a5eb365bb33a4e8 Mon Sep 17 00:00:00 2001 From: Kartik Gupta Date: Mon, 3 Jul 2023 20:23:31 +0530 Subject: [PATCH 3/7] Added console v1 --- package.json | 2 + pnpm-lock.yaml | 46 +++++++++++++ src/api/query.ts | 15 +++++ src/components/Navbar/index.tsx | 6 +- src/constants/routes.ts | 1 + src/hooks/useQueryResult.ts | 53 +++++++++++++++ src/pages/Query/Context.tsx | 96 +++++++++++++++++++++++++++ src/pages/Query/ErrorMarker.tsx | 62 +++++++++++++++++ src/pages/Query/QueryCodeEditor.tsx | 66 ++++++++++++++++++ src/pages/Query/QueryResultEditor.tsx | 49 ++++++++++++++ src/pages/Query/QuerySchemaList.tsx | 73 ++++++++++++++++++++ src/pages/Query/index.tsx | 83 +++++++++++++++++++++++ src/pages/Query/styles.tsx | 14 ++++ src/routes/elements.tsx | 13 ++++ src/routes/index.tsx | 5 +- 15 files changed, 579 insertions(+), 5 deletions(-) create mode 100644 src/hooks/useQueryResult.ts create mode 100644 src/pages/Query/Context.tsx create mode 100644 src/pages/Query/ErrorMarker.tsx create mode 100644 src/pages/Query/QueryCodeEditor.tsx create mode 100644 src/pages/Query/QueryResultEditor.tsx create mode 100644 src/pages/Query/QuerySchemaList.tsx create mode 100644 src/pages/Query/index.tsx create mode 100644 src/pages/Query/styles.tsx diff --git a/package.json b/package.json index d1bc73c1..af41e79b 100644 --- a/package.json +++ b/package.json @@ -20,6 +20,7 @@ "@mantine/hooks": "^6.0.15", "@mantine/notifications": "^6.0.15", "@mantine/prism": "^6.0.15", + "@monaco-editor/react": "^4.5.1", "@tabler/icons-react": "^2.23.0", "axios": "^1.4.0", "dayjs": "^1.11.8", @@ -29,6 +30,7 @@ "react": "^18.2.0", "react-dom": "^18.2.0", "react-error-boundary": "^4.0.10", + "react-resizable-panels": "^0.0.53", "react-router-dom": "^6.14.0" }, "devDependencies": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 3556e483..65ddaca7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -22,6 +22,9 @@ dependencies: '@mantine/prism': specifier: ^6.0.15 version: 6.0.15(@mantine/core@6.0.15)(@mantine/hooks@6.0.15)(react-dom@18.2.0)(react@18.2.0) + '@monaco-editor/react': + specifier: ^4.5.1 + version: 4.5.1(monaco-editor@0.39.0)(react-dom@18.2.0)(react@18.2.0) '@tabler/icons-react': specifier: ^2.23.0 version: 2.23.0(react@18.2.0) @@ -49,6 +52,9 @@ dependencies: react-error-boundary: specifier: ^4.0.10 version: 4.0.10(react@18.2.0) + react-resizable-panels: + specifier: ^0.0.53 + version: 0.0.53(react-dom@18.2.0)(react@18.2.0) react-router-dom: specifier: ^6.14.0 version: 6.14.0(react-dom@18.2.0)(react@18.2.0) @@ -646,6 +652,28 @@ packages: react: 18.2.0 dev: false + /@monaco-editor/loader@1.3.3(monaco-editor@0.39.0): + resolution: {integrity: sha512-6KKF4CTzcJiS8BJwtxtfyYt9shBiEv32ateQ9T4UVogwn4HM/uPo9iJd2Dmbkpz8CM6Y0PDUpjnZzCwC+eYo2Q==} + peerDependencies: + monaco-editor: '>= 0.21.0 < 1' + dependencies: + monaco-editor: 0.39.0 + state-local: 1.0.7 + dev: false + + /@monaco-editor/react@4.5.1(monaco-editor@0.39.0)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-NNDFdP+2HojtNhCkRfE6/D6ro6pBNihaOzMbGK84lNWzRu+CfBjwzGt4jmnqimLuqp5yE5viHS2vi+QOAnD5FQ==} + peerDependencies: + monaco-editor: '>= 0.25.0 < 1' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + dependencies: + '@monaco-editor/loader': 1.3.3(monaco-editor@0.39.0) + monaco-editor: 0.39.0 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + /@nodelib/fs.scandir@2.1.5: resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} @@ -2407,6 +2435,10 @@ packages: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} dev: true + /monaco-editor@0.39.0: + resolution: {integrity: sha512-zhbZ2Nx93tLR8aJmL2zI1mhJpsl87HMebNBM6R8z4pLfs8pj604pIVIVwyF1TivcfNtIPpMXL+nb3DsBmE/x6Q==} + dev: false + /mri@1.2.0: resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} engines: {node: '>=4'} @@ -2748,6 +2780,16 @@ packages: use-sidecar: 1.1.2(@types/react@18.2.14)(react@18.2.0) dev: false + /react-resizable-panels@0.0.53(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-lGOJF0Hh5+Y+Usi7x8btmBTi+6CQV1/RKxnj6jVrzvJ9vLbftbSoJPzymOuX8ZCFimlEwP2AKsGtQVKG/KieHA==} + peerDependencies: + react: ^16.14.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.14.0 || ^17.0.0 || ^18.0.0 + dependencies: + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + /react-router-dom@6.14.0(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-YEwlApKwzMMMbGbhh+Q7MsloTldcwMgHxUY/1g0uA62+B1hZo2jsybCWIDCL8zvIDB1FA0pBKY9chHbZHt+2dQ==} engines: {node: '>=14'} @@ -2949,6 +2991,10 @@ packages: engines: {node: '>=0.10.0'} dev: false + /state-local@1.0.7: + resolution: {integrity: sha512-HTEHMNieakEnoe33shBYcZ7NX83ACUjCu8c40iOGEZsngj9zRnkqS9j1pqQPXwobB0ZcVTk27REb7COQ0UR59w==} + dev: false + /string.prototype.matchall@4.0.8: resolution: {integrity: sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==} dependencies: diff --git a/src/api/query.ts b/src/api/query.ts index 01fdae5f..8cffee00 100644 --- a/src/api/query.ts +++ b/src/api/query.ts @@ -17,3 +17,18 @@ export const getQueryLogs = (logsQuery: LogsQuery) => { {}, ); }; + +export const getQueryResult = (logsQuery: LogsQuery, query = '') => { + const { startTime, endTime} = logsQuery; + + + return Axios().post( + LOG_QUERY_URL, + { + query, + startTime, + endTime, + }, + {}, + ); +}; \ No newline at end of file diff --git a/src/components/Navbar/index.tsx b/src/components/Navbar/index.tsx index 22110a7f..14598778 100644 --- a/src/components/Navbar/index.tsx +++ b/src/components/Navbar/index.tsx @@ -1,13 +1,13 @@ -import { LOGS_ROUTE } from '@/constants/routes'; +import { LOGS_ROUTE, QUERY_ROUTE } from '@/constants/routes'; import useMountedState from '@/hooks/useMountedState'; import type { NavbarProps as MantineNavbarProps } from '@mantine/core'; import { Navbar as MantineNavbar, Tooltip, UnstyledButton, px } from '@mantine/core'; -import { IconFileReport } from '@tabler/icons-react'; +import { IconFileReport, IconCodeCircle2} from '@tabler/icons-react'; import type { FC } from 'react'; import { useNavbarStyles } from './styles'; import { useNavigate } from 'react-router-dom'; -const links = [{ icon: IconFileReport, label: 'Logs', pathname: LOGS_ROUTE }]; +const links = [{ icon: IconFileReport, label: 'Logs', pathname: LOGS_ROUTE }, { icon: IconCodeCircle2, label: 'Query', pathname: QUERY_ROUTE }]; type Link = (typeof links)[number]; diff --git a/src/constants/routes.ts b/src/constants/routes.ts index 4ad00542..0d0ae865 100644 --- a/src/constants/routes.ts +++ b/src/constants/routes.ts @@ -2,3 +2,4 @@ export const HOME_ROUTE = '/'; export const LOGS_ROUTE = '/logs'; export const LOGIN_ROUTE = '/login'; export const ALL_ROUTE = '*'; +export const QUERY_ROUTE = '/:streamName/query'; diff --git a/src/hooks/useQueryResult.ts b/src/hooks/useQueryResult.ts new file mode 100644 index 00000000..a12636da --- /dev/null +++ b/src/hooks/useQueryResult.ts @@ -0,0 +1,53 @@ +import { LogsData } from '@/@types/parseable/api/stream'; +import { getQueryResult } from '@/api/query'; +import { StatusCodes } from 'http-status-codes'; +import useMountedState from './useMountedState'; +import { LogsQuery } from '@/@types/parseable/api/query'; + +export const useQueryResult = () => { + const [data, setData] = useMountedState<{ + data: LogsData; + } | null>(null); + const [error, setError] = useMountedState(null); + const [loading, setLoading] = useMountedState(true); + + const getQueryData = async (logsQuery: LogsQuery, query = '') => { + try { + setLoading(true); + setError(null); + + const [logsQueryRes] = await Promise.all([ + getQueryResult(logsQuery, query) + ]); + + const data = logsQueryRes.data; + + if (logsQueryRes.status === StatusCodes.OK) { + + setData({ data }); + return; + } + + if ( + typeof data === 'string' && data.includes('Stream is not initialized yet') + ) { + setData({ + data: [], + }); + return; + } + + setError('Failed to query log'); + } catch { + setError('Failed to query log'); + } finally { + setLoading(false); + } + }; + + const resetData = () => { + setData(null); + }; + + return { data, error, loading, getQueryData, resetData }; +}; diff --git a/src/pages/Query/Context.tsx b/src/pages/Query/Context.tsx new file mode 100644 index 00000000..fd84bf0c --- /dev/null +++ b/src/pages/Query/Context.tsx @@ -0,0 +1,96 @@ +import useSubscribeState, { SubData } from '@/hooks/useSubscribeState'; +import type { LogsQuery } from '@/@types/parseable/api/query'; +import type { FC } from 'react'; +import { ReactNode, createContext, useContext } from 'react'; +import dayjs from 'dayjs'; + +const Context = createContext({}); + +const { Provider } = Context; + +const now = dayjs(); + +export const LOG_QUERY_LIMITS = [30, 50, 100, 150, 200]; + +export const FIXED_DURATIONS = [ + { + name: 'Past 10 Minutes', + milliseconds: dayjs.duration({ minutes: 10 }).asMilliseconds(), + }, + { + name: 'Past 1 Hour', + milliseconds: dayjs.duration({ hours: 1 }).asMilliseconds(), + }, + { + name: 'Past 5 Hours', + milliseconds: dayjs.duration({ hours: 5 }).asMilliseconds(), + }, + { + name: 'Past 24 Hours', + milliseconds: dayjs.duration({ days: 1 }).asMilliseconds(), + }, + { + name: 'Past 3 Days', + milliseconds: dayjs.duration({ days: 3 }).asMilliseconds(), + }, + { + name: 'Past 7 Days', + milliseconds: dayjs.duration({ days: 7 }).asMilliseconds(), + }, + { + name: 'Past 2 Months', + milliseconds: dayjs.duration({ months: 2 }).asMilliseconds(), + }, +] as const; + +export const DEFAULT_FIXED_DURATIONS = FIXED_DURATIONS[0]; + +export const defaultQueryResult = `` + +export const defaultQueryEditor= `SELECT * FROM frontend LIMIT 10 OFFSET 0;` + +interface QueryPageContextState { + query: SubData; + result: SubData; + subLogQuery: SubData; + +} + +// eslint-disable-next-line @typescript-eslint/no-empty-interface +interface QueryPageContextMethods {} + +interface QueryPageContextValue { + state: QueryPageContextState; + methods: QueryPageContextMethods; +} + +interface QueryPageProviderProps { + children: ReactNode; +} + +const QueryPageProvider: FC = ({ children }) => { + const query = useSubscribeState(defaultQueryEditor); + const result = useSubscribeState(defaultQueryResult); + const subLogQuery = useSubscribeState({ + searchText: '', + startTime: now.subtract(DEFAULT_FIXED_DURATIONS.milliseconds, 'milliseconds').toDate(), + endTime: now.toDate(), + streamName: '', + limit: LOG_QUERY_LIMITS[0], + page: 1, + }); + + const state: QueryPageContextState = { + query, + result, + subLogQuery + }; + + const methods: QueryPageContextMethods = {}; + + return {children}; +}; + +export const useQueryPageContext = () => useContext(Context) as QueryPageContextValue; + +export default QueryPageProvider; diff --git a/src/pages/Query/ErrorMarker.tsx b/src/pages/Query/ErrorMarker.tsx new file mode 100644 index 00000000..95286465 --- /dev/null +++ b/src/pages/Query/ErrorMarker.tsx @@ -0,0 +1,62 @@ +export var ErrorMarker: any[] = []; + +// example format to generate error +// let err = { +// message: 'unknow type', +// line: 4, +// column: 5, +// length: 5 +// }; + +// let err = null; +// if (err) { +// ErrorMarker.push({ +// startLineNumber: err.line, +// endLineNumber: err.line, +// startColumn: err.column, +// endColumn: err.column + err.length, +// message: err.message, +// severity: "monaco.MarkerSeverity.Error", +// }); +// } +export function errChecker(code: string, streamName: string) { + + let arr = code.split('\r\n'); + ErrorMarker = []; + arr.map((wordsString:string, j:any) => { + let wordsArray=wordsString.split(' '); + wordsArray.map((word:string, i:any) => { + if (word.toLowerCase() === 'from' && wordsArray[i + 1]) { + if(wordsArray[i+1]!==streamName){ + ErrorMarker.push({ + startLineNumber: j+1, + endLineNumber: j+1, + startColumn: wordsString.indexOf(wordsArray[i+1])+1, //i+1, + endColumn: wordsString.indexOf(wordsArray[i+1]) + wordsArray[i+1].length+1, + message: `Schema support available for ${streamName} `, + + }); + } + } + }) + }); + return; + + // const blocksArray = GetCodeBlocks(code); + + // ErrorMarker = []; + // for (var i = 0; i < blocksArray.length; ++i) { + // const headLineArray = blocksArray[i].blockText.split(/\r?\n/)[0].split(" "); + // if (keywords.indexOf(headLineArray[0]) < 0) { + // ErrorMarker.push({ + // startLineNumber: blocksArray[i].blockStartLine, + // endLineNumber: blocksArray[i].blockStartLine, + // startColumn: 0, + // endColumn: headLineArray[0].length, + // message: "Expected one of GET/POST/PUT/DELETE/HEAD", + // severity: "monaco.MarkerSeverity.Error", + // }); + // } + // } + +} diff --git a/src/pages/Query/QueryCodeEditor.tsx b/src/pages/Query/QueryCodeEditor.tsx new file mode 100644 index 00000000..136ccc38 --- /dev/null +++ b/src/pages/Query/QueryCodeEditor.tsx @@ -0,0 +1,66 @@ +import React ,{ FC, useEffect } from 'react'; +import Editor from '@monaco-editor/react'; +import { useQueryPageContext } from './Context'; +import { Box, Button } from '@mantine/core'; +import { useQueryResult } from '@/hooks/useQueryResult'; +import { ErrorMarker, errChecker } from "./ErrorMarker"; + +const QueryCodeEditor: FC = () => { + const { state: { query, result, subLogQuery } } = useQueryPageContext(); + const { data: queryResult, getQueryData , error} = useQueryResult(); + const editorRef = React.useRef(); + const monacoRef = React.useRef(); + query.set(`SELECT * FROM ${subLogQuery.get().streamName} LIMIT 10;`); + + const handleEditorChange = (code: any) => { + query.set(code); + errChecker(code,subLogQuery.get().streamName); + monacoRef.current?.editor.setModelMarkers( + editorRef.current?.getModel(), + "owner", + ErrorMarker + ); + + }; + + function handleEditorDidMount(editor:any, monaco:any) { + editorRef.current = editor; + monacoRef.current = monaco; + } + const runQuery = () => { + const parsedQuery=query.get().replace(/(\r\n|\n|\r)/gm, "") + getQueryData(subLogQuery.get(), parsedQuery); + } + useEffect(() => { + result.set(JSON.stringify(queryResult?.data)); + }, [queryResult]); + + return ( + <> + + + + + + + + ); +}; + +export default QueryCodeEditor; diff --git a/src/pages/Query/QueryResultEditor.tsx b/src/pages/Query/QueryResultEditor.tsx new file mode 100644 index 00000000..8f740648 --- /dev/null +++ b/src/pages/Query/QueryResultEditor.tsx @@ -0,0 +1,49 @@ +import { FC, useEffect } from 'react'; +import Editor from '@monaco-editor/react'; +import { useQueryPageContext } from './Context'; +import useMountedState from '@/hooks/useMountedState'; + + +const QueryResultEditor: FC = () => { + const { state: { result } } = useQueryPageContext(); + const [resultValue, setResultValue] = useMountedState(result.get()); + + useEffect(() => { + const resultValueListener = result.subscribe(setResultValue); + + return () => { + resultValueListener(); + } + + }, [resultValue]); + + const formatJSON = (jsonString: string) => { + try { + const jsonObject = JSON.parse(jsonString); + return JSON.stringify(jsonObject, null, 2); + } catch (e) { + return jsonString; + } + } + return ( + + + ); +}; + +export default QueryResultEditor; \ No newline at end of file diff --git a/src/pages/Query/QuerySchemaList.tsx b/src/pages/Query/QuerySchemaList.tsx new file mode 100644 index 00000000..df429090 --- /dev/null +++ b/src/pages/Query/QuerySchemaList.tsx @@ -0,0 +1,73 @@ +import { FC, useEffect } from 'react'; +import { useGetLogStreamSchema } from '@/hooks/useGetLogStreamSchema'; +import { useQueryPageContext } from './Context'; +import { Table,ScrollArea, Box, Title } from '@mantine/core'; + + + +const QuerySchemaList: FC = () => { + const { data: querySchema, getDataSchema, resetData, loading, error: logStreamSchemaError } = useGetLogStreamSchema(); + const { state: { subLogQuery } } = useQueryPageContext(); + + useEffect(() => { + + if (subLogQuery.get().streamName) { + if (querySchema) { + resetData(); + } + getDataSchema(subLogQuery.get().streamName); + } + }, []); + + const renderList = querySchema?.fields.map((field, index) => { + if(typeof field.data_type === "string") + return ( + + {field.name} + {field.data_type} + + ); + else{ + return ( + + {field.name} + {JSON.stringify(field.data_type)} + + ); + } + }); + + return ( + + + Schema for {subLogQuery.get().streamName} + + {!(logStreamSchemaError) ? ( + !loading && !!querySchema ? ( + !!querySchema.fields.length ? ( + + + + + + + + + {renderList} +
FeildType
+
+ ) : ( +

No Data

+ ) + ) : ( +

loading..

+ ) + ) : ( +

Error: {logStreamSchemaError}

+ )} + +
+ ); +}; + +export default QuerySchemaList; diff --git a/src/pages/Query/index.tsx b/src/pages/Query/index.tsx new file mode 100644 index 00000000..fbe57978 --- /dev/null +++ b/src/pages/Query/index.tsx @@ -0,0 +1,83 @@ +import { Box } from '@mantine/core'; +import { useDocumentTitle } from '@mantine/hooks'; +import { FC } from 'react'; +import { useQueryStyles } from './styles'; +import { Panel, PanelGroup, PanelResizeHandle } from "react-resizable-panels"; +import QueryCodeEditor from './QueryCodeEditor'; +import QueryResultEditor from './QueryResultEditor'; +import { useParams } from "react-router-dom"; +import QuerySchemaList from './QuerySchemaList'; +import { useQueryPageContext, DEFAULT_FIXED_DURATIONS } from './Context'; +import dayjs from 'dayjs'; + +const Logs: FC = () => { + useDocumentTitle('Parseable | Query'); + const { state: { subLogQuery } } = useQueryPageContext(); + const { streamName } = useParams(); + const { classes } = useQueryStyles(); + const { container } = classes; + + if (subLogQuery.get().streamName !== streamName) { + const now = dayjs(); + + subLogQuery.set((state) => { + state.searchText = ''; + state.streamName = streamName || ''; + state.page = 1; + state.startTime = now.subtract(DEFAULT_FIXED_DURATIONS.milliseconds, 'milliseconds').toDate(); + state.endTime = now.toDate(); + }); + + } + + return ( + + + + + + + + ⋮ + + + + + + + + + + … + + + + + + + + + + + + ); +}; + +export default Logs; diff --git a/src/pages/Query/styles.tsx b/src/pages/Query/styles.tsx new file mode 100644 index 00000000..d6bd020c --- /dev/null +++ b/src/pages/Query/styles.tsx @@ -0,0 +1,14 @@ +import { NAVBAR_WIDTH } from '@/constants/theme'; +import { createStyles } from '@mantine/core'; + +export const useQueryStyles = createStyles((theme) => { + const { widths } = theme.other; + return { + container: { + flex: 1, + width: `calc(${widths.full} - ${NAVBAR_WIDTH}px)`, + display: 'flex', + position: 'relative', + }, + }; +}); \ No newline at end of file diff --git a/src/routes/elements.tsx b/src/routes/elements.tsx index 70fe18c5..62849db9 100644 --- a/src/routes/elements.tsx +++ b/src/routes/elements.tsx @@ -3,6 +3,7 @@ import LogsPageProvider from '@/pages/Logs/Context'; import type { FC } from 'react'; import { lazy } from 'react'; import SuspensePage from './SuspensePage'; +import QueryPageProvider from '@/pages/Query/Context'; export const HomeElement: FC = () => ; @@ -27,3 +28,15 @@ export const LogsElement: FC = () => { ); }; + +const Query = lazy(() => import('@/pages/Query')); + +export const QueryElement: FC = () => { + return ( + + + + + + ); +}; \ No newline at end of file diff --git a/src/routes/index.tsx b/src/routes/index.tsx index a9880d88..ffc096c1 100644 --- a/src/routes/index.tsx +++ b/src/routes/index.tsx @@ -1,11 +1,11 @@ -import { ALL_ROUTE, HOME_ROUTE, LOGIN_ROUTE, LOGS_ROUTE } from '@/constants/routes'; +import { ALL_ROUTE, HOME_ROUTE, LOGIN_ROUTE, LOGS_ROUTE, QUERY_ROUTE} from '@/constants/routes'; import FullPageLayout from '@/layouts/FullPageLayout'; import MainLayout from '@/layouts/MainLayout'; import NotFound from '@/pages/Errors/NotFound'; import type { FC } from 'react'; import { Route, Routes } from 'react-router-dom'; import PrivateRoute from './PrivateRoute'; -import { HomeElement, LoginElement, LogsElement } from './elements'; +import { HomeElement, LoginElement, LogsElement, QueryElement} from './elements'; const AppRouter: FC = () => { return ( @@ -15,6 +15,7 @@ const AppRouter: FC = () => { }> } /> } /> + } /> } /> From 677d6de7ad466954e016b6df9c5f1016a190c380 Mon Sep 17 00:00:00 2001 From: Kartik Gupta Date: Tue, 4 Jul 2023 14:03:12 +0530 Subject: [PATCH 4/7] console minor changes --- src/pages/Query/QueryCodeEditor.tsx | 48 +++++++++++++--- src/pages/Query/QueryResultEditor.tsx | 80 +++++++++++++++++++-------- 2 files changed, 96 insertions(+), 32 deletions(-) diff --git a/src/pages/Query/QueryCodeEditor.tsx b/src/pages/Query/QueryCodeEditor.tsx index 136ccc38..15dc3928 100644 --- a/src/pages/Query/QueryCodeEditor.tsx +++ b/src/pages/Query/QueryCodeEditor.tsx @@ -4,10 +4,12 @@ import { useQueryPageContext } from './Context'; import { Box, Button } from '@mantine/core'; import { useQueryResult } from '@/hooks/useQueryResult'; import { ErrorMarker, errChecker } from "./ErrorMarker"; +import { notifications } from '@mantine/notifications'; +import { IconCheck, IconFileAlert } from '@tabler/icons-react'; const QueryCodeEditor: FC = () => { const { state: { query, result, subLogQuery } } = useQueryPageContext(); - const { data: queryResult, getQueryData , error} = useQueryResult(); + const { data: queryResult, getQueryData , error } = useQueryResult(); const editorRef = React.useRef(); const monacoRef = React.useRef(); query.set(`SELECT * FROM ${subLogQuery.get().streamName} LIMIT 10;`); @@ -27,17 +29,47 @@ const QueryCodeEditor: FC = () => { editorRef.current = editor; monacoRef.current = monaco; } - const runQuery = () => { + const runQuery = () => { + notifications.show({ + id: 'load-data', + loading: true, + color: '#545BEB', + title: 'Running Query', + message: 'Data will be loaded.', + autoClose: false, + withCloseButton: false, + }); const parsedQuery=query.get().replace(/(\r\n|\n|\r)/gm, "") getQueryData(subLogQuery.get(), parsedQuery); + } useEffect(() => { - result.set(JSON.stringify(queryResult?.data)); - }, [queryResult]); - return ( - <> + if(queryResult){ + result.set(JSON.stringify(queryResult?.data, null, 2)); + notifications.update({ + id: 'load-data', + color: 'green', + title: 'Data was loaded', + message: 'Successfully Loaded!!', + icon: , + autoClose: 1000, + }); + } + if(error){ + notifications.update({ + id: 'load-data', + color: 'red', + title: 'Error Occured', + message: 'Error Occured, please check your query and try again', + icon: , + autoClose: 2000, + }); + result.set(error); + } + }, [queryResult , error]); + return ( { glyphMargin: true, }} /> - + - - ); }; diff --git a/src/pages/Query/QueryResultEditor.tsx b/src/pages/Query/QueryResultEditor.tsx index 8f740648..2b6b0ec9 100644 --- a/src/pages/Query/QueryResultEditor.tsx +++ b/src/pages/Query/QueryResultEditor.tsx @@ -1,14 +1,19 @@ -import { FC, useEffect } from 'react'; +import React, { FC, useEffect } from 'react'; import Editor from '@monaco-editor/react'; -import { useQueryPageContext } from './Context'; +import { useQueryPageContext } from './Context'; import useMountedState from '@/hooks/useMountedState'; +import { Box, Button } from '@mantine/core'; +import { IconCopy, IconSearch, IconCheck } from '@tabler/icons-react'; +import { notifications } from '@mantine/notifications'; const QueryResultEditor: FC = () => { const { state: { result } } = useQueryPageContext(); const [resultValue, setResultValue] = useMountedState(result.get()); - - useEffect(() => { + const editorRef = React.useRef(); + const monacoRef = React.useRef(); + + useEffect(() => { const resultValueListener = result.subscribe(setResultValue); return () => { @@ -25,25 +30,54 @@ const QueryResultEditor: FC = () => { return jsonString; } } - return ( - - - ); + function handleEditorDidMount(editor: any, monaco: any) { + editorRef.current = editor; + monacoRef.current = monaco; + } + + const runFind = () => { + editorRef.current?.getAction('actions.find').run(); + } + const runCopy = () => { + // Focus the editor. + editorRef.current?.focus(); + // Get the current editor's content. + const data = editorRef.current?.getModel()?.getValue(); + // Set the clipboard contents. + navigator.clipboard.writeText(data || ""); + + notifications.show({ + color: 'green', + icon: , + message: 'Copy Successfully', + autoClose: 1000, + }) + } + + return ( + + + + + + + ); }; export default QueryResultEditor; \ No newline at end of file From ce98d6d030e3660aafa9baef163a1337a1eea059 Mon Sep 17 00:00:00 2001 From: Kartik Gupta Date: Wed, 5 Jul 2023 18:29:46 +0530 Subject: [PATCH 5/7] SIdebar and UI chnages --- src/assets/images/brand/logo-invert.svg | 27 +--- ...enapi-releases-new-2023-07-05-04_52_06.png | Bin 0 -> 133723 bytes src/components/Header/index.tsx | 16 +- src/components/Header/styles.tsx | 25 +--- src/components/Mantine/theme.tsx | 4 +- src/components/Navbar/index.tsx | 141 ++++++++++++------ src/components/Navbar/styles.tsx | 68 +++------ src/constants/routes.ts | 2 +- src/constants/theme.ts | 2 +- src/pages/Home/index.tsx | 6 +- src/pages/Logs/LogTable.tsx | 27 +++- src/pages/Logs/index.tsx | 26 +++- src/pages/Logs/styles.tsx | 66 +++++--- src/pages/Query/Context.tsx | 3 - src/pages/Query/QueryCodeEditor.tsx | 6 +- src/pages/Query/QueryResultEditor.tsx | 7 +- src/pages/Query/QuerySchemaList.tsx | 6 +- src/pages/Query/index.tsx | 2 - src/pages/Query/styles.tsx | 18 +++ 19 files changed, 258 insertions(+), 194 deletions(-) create mode 100644 src/assets/images/brand/screencapture-github-qdrant-autocomplete-openapi-releases-new-2023-07-05-04_52_06.png diff --git a/src/assets/images/brand/logo-invert.svg b/src/assets/images/brand/logo-invert.svg index e7d7ca56..6de4d017 100644 --- a/src/assets/images/brand/logo-invert.svg +++ b/src/assets/images/brand/logo-invert.svg @@ -1,26 +1 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/src/assets/images/brand/screencapture-github-qdrant-autocomplete-openapi-releases-new-2023-07-05-04_52_06.png b/src/assets/images/brand/screencapture-github-qdrant-autocomplete-openapi-releases-new-2023-07-05-04_52_06.png new file mode 100644 index 0000000000000000000000000000000000000000..97dbd474478cda081bbfca35016731a7490a8c5b GIT binary patch literal 133723 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