Skip to content

Commit 608c1b8

Browse files
authored
Use templateSrv to interpolate timeFrom and timeTo variables. (#31)
I realized that `timeFrom` and `timeTo` variables can be used to access the overridden time range values at the panel level (Query Options). Those variables were interpolated using a regex instead of using `templateSrv`, thus preventing custom date formats to be used. With this change, it's now possible to specify a custom date format for `timeFrom` and `timeTo` variables if running on Grafana >= v7.2. For example: ``` query { data:submissions( where: { submitTime: {_gte: "${timeFrom:date}", _lte: "${timeTo:date}"}, } ) { Time:submitTime } } ```
1 parent d0c0fbd commit 608c1b8

4 files changed

Lines changed: 16 additions & 6 deletions

File tree

dist/module.js

Lines changed: 10 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/module.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/plugin.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
{ "name": "GitHub Security Advisories", "path": "img/github_security_advisories.png"}
2626
],
2727
"version": "1.1.3",
28-
"updated": "2020-08-14"
28+
"updated": "2020-10-20"
2929
},
3030

3131
"dependencies": {

src/DataSource.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,8 +70,10 @@ export class DataSource extends DataSourceApi<MyQuery, MyDataSourceOptions> {
7070
private createQuery(query: MyQuery, range: TimeRange | undefined, scopedVars: ScopedVars | undefined = undefined) {
7171
let payload = query.queryText;
7272
if (range) {
73-
payload = payload.replace(/\$timeFrom/g, range.from.valueOf().toString());
74-
payload = payload.replace(/\$timeTo/g, range.to.valueOf().toString());
73+
payload = getTemplateSrv().replace(payload, {
74+
timeFrom: { text: 'from', value: range.from.valueOf() },
75+
timeTo: { text: 'to', value: range.to.valueOf() },
76+
});
7577
}
7678
payload = getTemplateSrv().replace(payload, scopedVars);
7779

0 commit comments

Comments
 (0)