Skip to content

Commit 3a10645

Browse files
authored
feat: added query editor guide (#6)
1 parent 41409ac commit 3a10645

File tree

1 file changed

+99
-1
lines changed

1 file changed

+99
-1
lines changed

src/components/QueryEditorHelp.tsx

Lines changed: 99 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,109 @@
1+
/* eslint-disable react/no-unescaped-entities */
12
import React from 'react';
23
import { QueryEditorHelpProps } from '@grafana/data';
34
import { MyQuery } from '../types';
5+
import { css } from '@emotion/css';
46

57
export function QueryEditorHelp(props: QueryEditorHelpProps<MyQuery>) {
8+
const line = css`
9+
margin-left: 8px;
10+
`;
11+
const lineContainer = css`
12+
margin: 2px 0;
13+
`;
614
return (
715
<div>
8-
<h2>Cheat Sheet</h2>
16+
<div className="syntax-guide-text">
17+
{props.query.sqlMode ? (
18+
<ul className="guide-list">
19+
<li className={lineContainer}>
20+
For full text search of value 'error' use
21+
<code className={line}>
22+
SELECT * FROM <b>stream</b> WHERE match_all('error')
23+
</code>
24+
</li>
25+
<li className={lineContainer}>
26+
For case-insensitive full text search of value 'error' use
27+
<code className={line}>
28+
SELECT * FROM <b>stream</b> WHERE match_all_ignore_case('error')
29+
</code>
30+
</li>
31+
<li className={lineContainer}>
32+
For column search of value 'error' use
33+
<code className={line}>
34+
SELECT * FROM <b>stream</b> WHERE str_match(<b>fieldname</b>, 'error')
35+
</code>
36+
</li>
37+
<li className={lineContainer}>
38+
To search value 200 for code column use
39+
<code className={line}>
40+
SELECT * FROM <b>stream</b> WHERE code=200
41+
</code>
42+
</li>
43+
<li className={lineContainer}>
44+
To search value 'stderr' for stream column use
45+
<code className={line}>
46+
SELECT * FROM <b>stream</b> WHERE stream='stderr'
47+
</code>
48+
</li>
49+
<li className={lineContainer}>
50+
For additional examples,
51+
<a
52+
className={css`
53+
margin-left: 4px;
54+
text-decoration: underline;
55+
`}
56+
href="https://docs.zinc.dev/example-queries/"
57+
target="_blank"
58+
rel="noreferrer"
59+
>
60+
click here
61+
</a>
62+
.
63+
</li>
64+
</ul>
65+
) : (
66+
<ul className="guide-list">
67+
<li className={lineContainer}>
68+
For full text search of value 'error' use
69+
<code className={line}>match_all('error') in query editor</code>
70+
</li>
71+
<li className={lineContainer}>
72+
For case-insensitive full text search of value 'error' use
73+
<code className={line}>match_all_ignore_case('error')</code>
74+
</li>
75+
<li className={lineContainer}>
76+
For column search of value 'error' use
77+
<code className={line}>
78+
str_match(<b>fieldname</b>, 'error')
79+
</code>
80+
</li>
81+
<li className={lineContainer}>
82+
To search value 200 for code column use
83+
<code className={line}>code=200</code>
84+
</li>
85+
<li className={lineContainer}>
86+
To search value 'stderr' for stream column use
87+
<code className={line}>stream='stderr'</code>
88+
</li>
89+
<li>
90+
For additional examples,
91+
<a
92+
className={css`
93+
margin-left: 4px;
94+
text-decoration: underline;
95+
`}
96+
href="https://docs.zinc.dev/example-queries/"
97+
target="_blank"
98+
rel="noreferrer"
99+
>
100+
click here
101+
</a>
102+
.
103+
</li>
104+
</ul>
105+
)}
106+
</div>
9107
</div>
10108
);
11109
}

0 commit comments

Comments
 (0)