diff --git a/.gitignore b/.gitignore index 721a2a71ad4..1ab7068c96a 100644 --- a/.gitignore +++ b/.gitignore @@ -25,6 +25,7 @@ public/css/*.min.css *.swp .idea/ *.iml +*.tmp .vscode/ /data/* diff --git a/public/app/plugins/datasource/mysql/datasource.ts b/public/app/plugins/datasource/mysql/datasource.ts index b25e183198a..f798ce0e838 100644 --- a/public/app/plugins/datasource/mysql/datasource.ts +++ b/public/app/plugins/datasource/mysql/datasource.ts @@ -6,7 +6,7 @@ export class MysqlDatasource { id: any; name: any; - /** @ngInject */ + /** @ngInject **/ constructor(instanceSettings, private backendSrv, private $q, private templateSrv) { this.name = instanceSettings.name; this.id = instanceSettings.id; diff --git a/public/app/plugins/datasource/mysql/module.ts b/public/app/plugins/datasource/mysql/module.ts index 23fa783b195..e706ca3cd44 100644 --- a/public/app/plugins/datasource/mysql/module.ts +++ b/public/app/plugins/datasource/mysql/module.ts @@ -3,77 +3,7 @@ import angular from 'angular'; import _ from 'lodash'; import {MysqlDatasource} from './datasource'; -import {QueryCtrl} from 'app/plugins/sdk'; - -export interface MysqlQuery { - refId: string; - format: string; - alias: string; - rawSql: string; -} - -export interface QueryMeta { - sql: string; -} - - -var defaulQuery = `SELECT - UNIX_TIMESTAMP() as time_sec, - as value, - as metric -FROM -WHERE $__timeFilter(time_column) -ORDER BY ASC -`; - -class MysqlQueryCtrl extends QueryCtrl { - static templateUrl = 'partials/query.editor.html'; - - showLastQuerySQL: boolean; - formats: any[]; - target: MysqlQuery; - lastQueryMeta: QueryMeta; - lastQueryError: string; - showHelp: boolean; - - constructor($scope, $injector) { - super($scope, $injector); - - this.target.format = this.target.format || 'time_series'; - this.target.alias = ""; - this.formats = [ - {text: 'Time series', value: 'time_series'}, - {text: 'Table', value: 'table'}, - ]; - - if (!this.target.rawSql) { - this.target.rawSql = defaulQuery; - } - - this.panelCtrl.events.on('data-received', this.onDataReceived.bind(this), $scope); - this.panelCtrl.events.on('data-error', this.onDataError.bind(this), $scope); - } - - onDataReceived(dataList) { - this.lastQueryMeta = null; - this.lastQueryError = null; - - let anySeriesFromQuery = _.find(dataList, {refId: this.target.refId}); - if (anySeriesFromQuery) { - this.lastQueryMeta = anySeriesFromQuery.meta; - } - } - - onDataError(err) { - if (err.data && err.data.results) { - let queryRes = err.data.results[this.target.refId]; - if (queryRes) { - this.lastQueryMeta = queryRes.meta; - this.lastQueryError = queryRes.error; - } - } - } -} +import {MysqlQueryCtrl} from './query_ctrl'; class MysqlConfigCtrl { static templateUrl = 'partials/config.html'; diff --git a/public/app/plugins/datasource/mysql/query_ctrl.ts b/public/app/plugins/datasource/mysql/query_ctrl.ts new file mode 100644 index 00000000000..17242fac1f0 --- /dev/null +++ b/public/app/plugins/datasource/mysql/query_ctrl.ts @@ -0,0 +1,79 @@ +/// + +import angular from 'angular'; +import _ from 'lodash'; +import {MysqlDatasource} from './datasource'; +import {QueryCtrl} from 'app/plugins/sdk'; + +export interface MysqlQuery { + refId: string; + format: string; + alias: string; + rawSql: string; +} + +export interface QueryMeta { + sql: string; +} + + +var defaulQuery = `SELECT + UNIX_TIMESTAMP() as time_sec, + as value, + as metric +FROM
+WHERE $__timeFilter(time_column) +ORDER BY ASC +`; + +export class MysqlQueryCtrl extends QueryCtrl { + static templateUrl = 'partials/query.editor.html'; + + showLastQuerySQL: boolean; + formats: any[]; + target: MysqlQuery; + lastQueryMeta: QueryMeta; + lastQueryError: string; + showHelp: boolean; + + /** @ngInject **/ + constructor($scope, $injector) { + super($scope, $injector); + + this.target.format = this.target.format || 'time_series'; + this.target.alias = ""; + this.formats = [ + {text: 'Time series', value: 'time_series'}, + {text: 'Table', value: 'table'}, + ]; + + if (!this.target.rawSql) { + this.target.rawSql = defaulQuery; + } + + this.panelCtrl.events.on('data-received', this.onDataReceived.bind(this), $scope); + this.panelCtrl.events.on('data-error', this.onDataError.bind(this), $scope); + } + + onDataReceived(dataList) { + this.lastQueryMeta = null; + this.lastQueryError = null; + + let anySeriesFromQuery = _.find(dataList, {refId: this.target.refId}); + if (anySeriesFromQuery) { + this.lastQueryMeta = anySeriesFromQuery.meta; + } + } + + onDataError(err) { + if (err.data && err.data.results) { + let queryRes = err.data.results[this.target.refId]; + if (queryRes) { + this.lastQueryMeta = queryRes.meta; + this.lastQueryError = queryRes.error; + } + } + } +} + +