|
|
@@ -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(<time_column>) as time_sec,
|
|
|
- <value column> as value,
|
|
|
- <series name column> as metric
|
|
|
-FROM <table name>
|
|
|
-WHERE $__timeFilter(time_column)
|
|
|
-ORDER BY <time_column> 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';
|