diff --git a/src/components/QueryEditor.tsx b/src/components/QueryEditor.tsx index 734ecb4..ca629a8 100644 --- a/src/components/QueryEditor.tsx +++ b/src/components/QueryEditor.tsx @@ -17,6 +17,8 @@ export const QueryEditor = ({ query, onChange, onRunQuery, datasource, app, data const [orgOptions, setOrgOptions]: any = useState([]); const [isMounted, setIsMounted]: any = useState(false); const [isLoading, setIsLoading]: any = useState([]); + const [displayOptions, setDisplayOptions]: any = useState([]); + const isInDashboard = useMemo(() => app === 'panel-editor', [app]); @@ -32,6 +34,14 @@ export const QueryEditor = ({ query, onChange, onRunQuery, datasource, app, data setIsLoading(isLoading.slice(1)); }; + useEffect(() => { + setDisplayOptions([ + { label: 'Auto', value: 'auto' }, + { label: 'Force Graph', value: 'graph' }, + { label: 'Force Logs', value: 'logs' }, + ]); + }, []); + useEffect(() => { startLoading(); getOrganizations({ url: datasource.url, page_num: 0, page_size: 1000, sort_by: 'id' }) @@ -66,6 +76,7 @@ export const QueryEditor = ({ query, onChange, onRunQuery, datasource, app, data stream: streams[0].name, organization: orgs.data[0].name, sqlMode: isInDashboard ? true : false, + displayMode: query.displayMode ?? 'auto' }); } else if (isInDashboard && query.organization && query.stream && query.query) { updateQuery(); @@ -137,6 +148,11 @@ export const QueryEditor = ({ query, onChange, onRunQuery, datasource, app, data }); }; + const onDisplayModeChange = (displayMode: any) => { + const newMode = displayMode.value as MyQuery['displayMode']; + onChange({ ...query, displayMode: newMode }); + }; + const onChangeQuery = ({ value, sqlMode }: { value: string; sqlMode: boolean }) => { onChange({ ...query, query: value, sqlMode: sqlMode }); }; @@ -266,6 +282,18 @@ export const QueryEditor = ({ query, onChange, onRunQuery, datasource, app, data )} + {/* Display Mode selector */} +
+ + Display Mode + +