@grafana/plugin-ui 0.7.0 → 0.7.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/QueryEditor/QueryEditor.js +2 -2
- package/dist/components/QueryEditor/QueryEditor.js.map +1 -1
- package/dist/components/QueryEditor/QueryHeader.js +2 -2
- package/dist/components/QueryEditor/QueryHeader.js.map +1 -1
- package/dist/components/QueryEditor/utils/sql.utils.js +19 -10
- package/dist/components/QueryEditor/utils/sql.utils.js.map +1 -1
- package/dist/components/QueryEditor/utils/useSqlChange.js +1 -1
- package/dist/components/QueryEditor/utils/useSqlChange.js.map +1 -1
- package/dist/src/components/QueryEditor/QueryEditor.d.ts +1 -2
- package/dist/src/components/QueryEditor/types.d.ts +1 -0
- package/dist/src/components/QueryEditor/utils/sql.utils.d.ts +4 -3
- package/package.json +1 -1
|
@@ -11,7 +11,7 @@ const QueryHeader_1 = require("./QueryHeader");
|
|
|
11
11
|
const RawEditor_1 = require("./query-editor-raw/RawEditor");
|
|
12
12
|
const VisualEditor_1 = require("./visual-query-builder/VisualEditor");
|
|
13
13
|
const Space_1 = require("./Space");
|
|
14
|
-
function SqlQueryEditor({ datasource, query, onChange, onRunQuery, range
|
|
14
|
+
function SqlQueryEditor({ datasource, query, onChange, onRunQuery, range }) {
|
|
15
15
|
var _a, _b, _c, _d, _e, _f, _g;
|
|
16
16
|
const [isQueryRunnable, setIsQueryRunnable] = (0, react_1.useState)(true);
|
|
17
17
|
const db = datasource.getDB();
|
|
@@ -62,7 +62,7 @@ function SqlQueryEditor({ datasource, query, onChange, onRunQuery, range, enable
|
|
|
62
62
|
return null;
|
|
63
63
|
}
|
|
64
64
|
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
65
|
-
react_1.default.createElement(QueryHeader_1.QueryHeader, { db: db, defaultDataset: defaultDataset || '', enableDatasets:
|
|
65
|
+
react_1.default.createElement(QueryHeader_1.QueryHeader, { db: db, defaultDataset: defaultDataset || '', enableDatasets: !db.disableDatasets, onChange: onQueryHeaderChange, onRunQuery: onRunQuery, onQueryRowChange: setQueryRowFilter, queryRowFilter: queryRowFilter, query: queryWithDefaults, isQueryRunnable: isQueryRunnable, labels: (_g = datasource.getDB(datasource.id)) === null || _g === void 0 ? void 0 : _g.labels }),
|
|
66
66
|
react_1.default.createElement(Space_1.Space, { v: 0.5 }),
|
|
67
67
|
queryWithDefaults.editorMode !== types_1.EditorMode.Code && (react_1.default.createElement(VisualEditor_1.VisualEditor, { db: db, query: queryWithDefaults, onChange: (q) => onQueryChange(q, false), queryRowFilter: queryRowFilter, onValidate: setIsQueryRunnable, range: range })),
|
|
68
68
|
queryWithDefaults.editorMode === types_1.EditorMode.Code && (react_1.default.createElement(RawEditor_1.RawEditor, { db: db, query: queryWithDefaults, queryToValidate: queryToValidate, onChange: onQueryChange, onRunQuery: onRunQuery, onValidate: setIsQueryRunnable, range: range }))));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueryEditor.js","sourceRoot":"","sources":["../../../src/components/QueryEditor/QueryEditor.tsx"],"names":[],"mappings":";;;;AAAA,uDAAgE;AAChE,yCAAqC;AAIrC,yCAAgD;AAChD,mCAA2E;AAC3E,iDAAgD;AAEhD,+CAA4C;AAC5C,4DAAyD;AACzD,sEAAmE;AAGnE,mCAAgC;
|
|
1
|
+
{"version":3,"file":"QueryEditor.js","sourceRoot":"","sources":["../../../src/components/QueryEditor/QueryEditor.tsx"],"names":[],"mappings":"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"}
|
|
@@ -26,7 +26,7 @@ function QueryHeader({ db, defaultDataset, enableDatasets, query, queryRowFilter
|
|
|
26
26
|
const { editorMode } = query;
|
|
27
27
|
const [_, copyToClipboard] = (0, react_use_1.useCopyToClipboard)();
|
|
28
28
|
const [showConfirm, setShowConfirm] = (0, react_1.useState)(false);
|
|
29
|
-
const toRawSql =
|
|
29
|
+
const toRawSql = (0, sql_utils_1.getRawSqlFn)(db);
|
|
30
30
|
const onEditorModeChange = (0, react_1.useCallback)((newEditorMode) => {
|
|
31
31
|
if (editorMode === types_1.EditorMode.Code) {
|
|
32
32
|
setShowConfirm(true);
|
|
@@ -67,7 +67,7 @@ function QueryHeader({ db, defaultDataset, enableDatasets, query, queryRowFilter
|
|
|
67
67
|
react_1.default.createElement(ui_1.InlineSwitch, { id: "sql-preview", label: "Preview", transparent: true, showLabel: true, value: queryRowFilter.preview, onChange: (ev) => ev.target instanceof HTMLInputElement &&
|
|
68
68
|
onQueryRowChange(Object.assign(Object.assign({}, queryRowFilter), { preview: ev.target.checked })) }))),
|
|
69
69
|
react_1.default.createElement(FlexItem_1.FlexItem, { grow: 1 }),
|
|
70
|
-
react_1.default.createElement(RunQueryButton_1.RunQueryButton, { queryInvalid: isQueryRunnable, onClick: () => onRunQuery() }),
|
|
70
|
+
react_1.default.createElement(RunQueryButton_1.RunQueryButton, { queryInvalid: !isQueryRunnable, onClick: () => onRunQuery() }),
|
|
71
71
|
react_1.default.createElement(ui_1.RadioButtonGroup, { options: editorModes, size: "sm", value: editorMode, onChange: onEditorModeChange }),
|
|
72
72
|
react_1.default.createElement(ConfirmModal_1.ConfirmModal, { isOpen: showConfirm, onCopy: () => {
|
|
73
73
|
setShowConfirm(false);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueryHeader.js","sourceRoot":"","sources":["../../../src/components/QueryEditor/QueryHeader.tsx"],"names":[],"mappings":";;;;AAAA,uDAAqD;AACrD,yCAA+C;AAI/C,iDAA8C;AAC9C,uDAAoD;AACpD,mDAAgD;AAChD,mDAAgD;AAChD,oCAAkF;AAElF,+CAA4C;AAC5C,iDAA8C;AAC9C,2CAAwC;AACxC,yCAAsC;AACtC,iDAA8C;AAC9C,mCAAgC;AAChC,qDAA+C;AAC/C,mCAAsG;AACtG,
|
|
1
|
+
{"version":3,"file":"QueryHeader.js","sourceRoot":"","sources":["../../../src/components/QueryEditor/QueryHeader.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +1,28 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createFunctionField = exports.setPropertyField = exports.setGroupByField = exports.haveColumns = exports.
|
|
3
|
+
exports.createFunctionField = exports.setPropertyField = exports.setGroupByField = exports.haveColumns = exports.toRawSql = exports.getRawSqlFn = void 0;
|
|
4
4
|
const lodash_1 = require("lodash");
|
|
5
5
|
const expressions_1 = require("../expressions");
|
|
6
|
-
function
|
|
6
|
+
function getRawSqlFn(db) {
|
|
7
|
+
return db.toRawSql ? db.toRawSql : (query) => toRawSql(query, Boolean(db.disableDatasets));
|
|
8
|
+
}
|
|
9
|
+
exports.getRawSqlFn = getRawSqlFn;
|
|
10
|
+
function toRawSql({ sql, dataset, table }, disableDatasets) {
|
|
7
11
|
var _a, _b, _c, _d;
|
|
8
12
|
let rawQuery = '';
|
|
9
|
-
|
|
10
|
-
if (!sql || !(0, exports.haveColumns)(sql.columns)) {
|
|
13
|
+
if (!sql || !haveColumns(sql.columns)) {
|
|
11
14
|
return rawQuery;
|
|
12
15
|
}
|
|
13
16
|
rawQuery += createSelectClause(sql.columns);
|
|
14
|
-
if (
|
|
15
|
-
|
|
17
|
+
if (disableDatasets) {
|
|
18
|
+
if (table) {
|
|
19
|
+
rawQuery += `FROM ${table} `;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
if (dataset && table) {
|
|
24
|
+
rawQuery += `FROM ${dataset}.${table} `;
|
|
25
|
+
}
|
|
16
26
|
}
|
|
17
27
|
if (sql.whereString) {
|
|
18
28
|
rawQuery += `WHERE ${sql.whereString} `;
|
|
@@ -27,13 +37,12 @@ function defaultToRawSql({ sql, dataset, table }) {
|
|
|
27
37
|
if (((_d = sql.orderBy) === null || _d === void 0 ? void 0 : _d.property.name) && sql.orderByDirection) {
|
|
28
38
|
rawQuery += `${sql.orderByDirection} `;
|
|
29
39
|
}
|
|
30
|
-
// Altough LIMIT 0 doesn't make sense, it is still possible to have LIMIT 0
|
|
31
40
|
if (sql.limit !== undefined && sql.limit >= 0) {
|
|
32
41
|
rawQuery += `LIMIT ${sql.limit} `;
|
|
33
42
|
}
|
|
34
43
|
return rawQuery;
|
|
35
44
|
}
|
|
36
|
-
exports.
|
|
45
|
+
exports.toRawSql = toRawSql;
|
|
37
46
|
function createSelectClause(sqlColumns) {
|
|
38
47
|
const columns = sqlColumns.map((c) => {
|
|
39
48
|
var _a, _b;
|
|
@@ -48,14 +57,14 @@ function createSelectClause(sqlColumns) {
|
|
|
48
57
|
});
|
|
49
58
|
return `SELECT ${columns.join(', ')} `;
|
|
50
59
|
}
|
|
51
|
-
|
|
60
|
+
function haveColumns(columns) {
|
|
52
61
|
if (!columns) {
|
|
53
62
|
return false;
|
|
54
63
|
}
|
|
55
64
|
const haveColumn = columns.some((c) => { var _a, _b; return ((_a = c.parameters) === null || _a === void 0 ? void 0 : _a.length) || ((_b = c.parameters) === null || _b === void 0 ? void 0 : _b.some((p) => p.name)); });
|
|
56
65
|
const haveFunction = columns.some((c) => c.name);
|
|
57
66
|
return haveColumn || haveFunction;
|
|
58
|
-
}
|
|
67
|
+
}
|
|
59
68
|
exports.haveColumns = haveColumns;
|
|
60
69
|
/**
|
|
61
70
|
* Creates a GroupByExpression for a specified field
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sql.utils.js","sourceRoot":"","sources":["../../../../src/components/QueryEditor/utils/sql.utils.ts"],"names":[],"mappings":";;;AAAA,mCAAiC;AAEjC,gDAMwB;AAGxB,SAAgB,eAAe,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAY;;
|
|
1
|
+
{"version":3,"file":"sql.utils.js","sourceRoot":"","sources":["../../../../src/components/QueryEditor/utils/sql.utils.ts"],"names":[],"mappings":";;;AAAA,mCAAiC;AAEjC,gDAMwB;AAGxB,SAAgB,WAAW,CAAC,EAAM;IAChC,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAgB,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAA;AACvG,CAAC;AAFD,kCAEC;AAED,SAAgB,QAAQ,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAY,EAAE,eAAwB;;IAClF,IAAI,QAAQ,GAAG,EAAE,CAAC;IAElB,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;QACrC,OAAO,QAAQ,CAAC;KACjB;IAED,QAAQ,IAAI,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAE5C,IAAI,eAAe,EAAE;QACnB,IAAI,KAAK,EAAE;YACT,QAAQ,IAAI,QAAQ,KAAK,GAAG,CAAC;SAC9B;KACF;SAAM;QACL,IAAI,OAAO,IAAI,KAAK,EAAE;YACpB,QAAQ,IAAI,QAAQ,OAAO,IAAI,KAAK,GAAG,CAAC;SACzC;KACF;IAED,IAAI,GAAG,CAAC,WAAW,EAAE;QACnB,QAAQ,IAAI,SAAS,GAAG,CAAC,WAAW,GAAG,CAAC;KACzC;IAED,IAAI,MAAA,MAAA,GAAG,CAAC,OAAO,0CAAG,CAAC,CAAC,0CAAE,QAAQ,CAAC,IAAI,EAAE;QACnC,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAA,gBAAO,EAAC,CAAC,CAAC,CAAC,CAAC;QACnF,QAAQ,IAAI,YAAY,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;KAC/C;IAED,IAAI,MAAA,GAAG,CAAC,OAAO,0CAAE,QAAQ,CAAC,IAAI,EAAE;QAC9B,QAAQ,IAAI,YAAY,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC;KACtD;IAED,IAAI,CAAA,MAAA,GAAG,CAAC,OAAO,0CAAE,QAAQ,CAAC,IAAI,KAAI,GAAG,CAAC,gBAAgB,EAAE;QACtD,QAAQ,IAAI,GAAG,GAAG,CAAC,gBAAgB,GAAG,CAAC;KACxC;IAED,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS,IAAI,GAAG,CAAC,KAAK,IAAI,CAAC,EAAE;QAC7C,QAAQ,IAAI,SAAS,GAAG,CAAC,KAAK,GAAG,CAAC;KACnC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAxCD,4BAwCC;AAED,SAAS,kBAAkB,CAAC,UAAiD;IAC3E,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;;QACnC,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,CAAC,IAAI,EAAE;YACV,SAAS,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,MAAA,CAAC,CAAC,UAAU,0CAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC;SACpE;aAAM;YACL,SAAS,IAAI,GAAG,MAAA,CAAC,CAAC,UAAU,0CAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;SACzD;QACD,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC,CAAC;IACH,OAAO,UAAU,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;AACzC,CAAC;AAED,SAAgB,WAAW,CAAC,OAAiC;IAC3D,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,KAAK,CAAC;KACd;IAED,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,eAAC,OAAA,CAAA,MAAA,CAAC,CAAC,UAAU,0CAAE,MAAM,MAAI,MAAA,CAAC,CAAC,UAAU,0CAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA,CAAA,EAAA,CAAC,CAAC;IAClG,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACjD,OAAO,UAAU,IAAI,YAAY,CAAC;AACpC,CAAC;AARD,kCAQC;AAED;;GAEG;AACH,SAAgB,eAAe,CAAC,KAAc;IAC5C,OAAO;QACL,IAAI,EAAE,uCAAyB,CAAC,OAAO;QACvC,QAAQ,EAAE;YACR,IAAI,EAAE,qCAAuB,CAAC,MAAM;YACpC,IAAI,EAAE,KAAK;SACZ;KACF,CAAC;AACJ,CAAC;AARD,0CAQC;AAED;;GAEG;AACH,SAAgB,gBAAgB,CAAC,KAAc;IAC7C,OAAO;QACL,IAAI,EAAE,uCAAyB,CAAC,QAAQ;QACxC,QAAQ,EAAE;YACR,IAAI,EAAE,qCAAuB,CAAC,MAAM;YACpC,IAAI,EAAE,KAAK;SACZ;KACF,CAAC;AACJ,CAAC;AARD,4CAQC;AAED,SAAgB,mBAAmB,CAAC,YAAqB;IACvD,OAAO;QACL,IAAI,EAAE,uCAAyB,CAAC,QAAQ;QACxC,IAAI,EAAE,YAAY;QAClB,UAAU,EAAE,EAAE;KACf,CAAC;AACJ,CAAC;AAND,kDAMC"}
|
|
@@ -5,7 +5,7 @@ const react_1 = require("react");
|
|
|
5
5
|
const sql_utils_1 = require("./sql.utils");
|
|
6
6
|
function useSqlChange({ query, onQueryChange, db }) {
|
|
7
7
|
const onSqlChange = (0, react_1.useCallback)((sql) => {
|
|
8
|
-
const toRawSql =
|
|
8
|
+
const toRawSql = (0, sql_utils_1.getRawSqlFn)(db);
|
|
9
9
|
const rawSql = toRawSql({ sql, dataset: query.dataset, table: query.table, refId: query.refId });
|
|
10
10
|
const newQuery = Object.assign(Object.assign({}, query), { sql, rawSql });
|
|
11
11
|
onQueryChange(newQuery);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSqlChange.js","sourceRoot":"","sources":["../../../../src/components/QueryEditor/utils/useSqlChange.ts"],"names":[],"mappings":";;;AAAA,iCAAoC;AAIpC,
|
|
1
|
+
{"version":3,"file":"useSqlChange.js","sourceRoot":"","sources":["../../../../src/components/QueryEditor/utils/useSqlChange.ts"],"names":[],"mappings":";;;AAAA,iCAAoC;AAIpC,2CAA0C;AAQ1C,SAAgB,YAAY,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE,EAAgB;IACrE,MAAM,WAAW,GAAG,IAAA,mBAAW,EAC7B,CAAC,GAAkB,EAAE,EAAE;QACrB,MAAM,QAAQ,GAAG,IAAA,uBAAW,EAAC,EAAE,CAAC,CAAC;QACjC,MAAM,MAAM,GAAG,QAAQ,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;QACjG,MAAM,QAAQ,mCAAkB,KAAK,KAAE,GAAG,EAAE,MAAM,GAAE,CAAC;QACrD,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC1B,CAAC,EACD,CAAC,EAAE,EAAE,aAAa,EAAE,KAAK,CAAC,CAC3B,CAAC;IAEF,OAAO,EAAE,WAAW,EAAE,CAAC;AACzB,CAAC;AAZD,oCAYC"}
|
|
@@ -3,7 +3,6 @@ import { QueryEditorProps } from '@grafana/data';
|
|
|
3
3
|
import { SQLQuery, SQLOptions } from './types';
|
|
4
4
|
import { SqlDatasource } from '../../datasource/SqlDatasource';
|
|
5
5
|
interface Props extends QueryEditorProps<SqlDatasource, SQLQuery, SQLOptions> {
|
|
6
|
-
enableDatasets?: boolean;
|
|
7
6
|
}
|
|
8
|
-
export declare function SqlQueryEditor({ datasource, query, onChange, onRunQuery, range
|
|
7
|
+
export declare function SqlQueryEditor({ datasource, query, onChange, onRunQuery, range }: Props): JSX.Element | null;
|
|
9
8
|
export {};
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { QueryEditorFunctionExpression, QueryEditorGroupByExpression, QueryEditorPropertyExpression } from '../expressions';
|
|
2
|
-
import { SQLQuery, SQLExpression } from '../types';
|
|
3
|
-
export declare function
|
|
4
|
-
export declare
|
|
2
|
+
import { SQLQuery, SQLExpression, DB } from '../types';
|
|
3
|
+
export declare function getRawSqlFn(db: DB): (query: SQLQuery) => string;
|
|
4
|
+
export declare function toRawSql({ sql, dataset, table }: SQLQuery, disableDatasets: boolean): string;
|
|
5
|
+
export declare function haveColumns(columns: SQLExpression['columns']): columns is NonNullable<SQLExpression['columns']>;
|
|
5
6
|
/**
|
|
6
7
|
* Creates a GroupByExpression for a specified field
|
|
7
8
|
*/
|