diff --git a/public/app/plugins/datasource/cloudwatch/datasource.d.ts b/public/app/plugins/datasource/cloudwatch/datasource.d.ts
index a50d7ca49cc..afc49d07dea 100644
--- a/public/app/plugins/datasource/cloudwatch/datasource.d.ts
+++ b/public/app/plugins/datasource/cloudwatch/datasource.d.ts
@@ -1,3 +1,3 @@
-declare var Datasource: any;
-export default Datasource;
+declare var CloudWatchDatasource: any;
+export {CloudWatchDatasource};
diff --git a/public/app/plugins/datasource/cloudwatch/datasource.js b/public/app/plugins/datasource/cloudwatch/datasource.js
index 6f9f24ff867..119c4a83167 100644
--- a/public/app/plugins/datasource/cloudwatch/datasource.js
+++ b/public/app/plugins/datasource/cloudwatch/datasource.js
@@ -357,5 +357,7 @@ function (angular, _, moment, dateMath) {
}
- return CloudWatchDatasource;
+ return {
+ CloudWatchDatasource: CloudWatchDatasource
+ };
});
diff --git a/public/app/plugins/datasource/cloudwatch/module.js b/public/app/plugins/datasource/cloudwatch/module.js
deleted file mode 100644
index 6f15457a43e..00000000000
--- a/public/app/plugins/datasource/cloudwatch/module.js
+++ /dev/null
@@ -1,27 +0,0 @@
-define([
- './datasource',
- './query_parameter_ctrl',
- './query_ctrl',
-],
-function (CloudWatchDatasource) {
- 'use strict';
-
- function metricsQueryEditor() {
- return {controller: 'CloudWatchQueryCtrl', templateUrl: 'public/app/plugins/datasource/cloudwatch/partials/query.editor.html'};
- }
-
- function annotationsQueryEditor() {
- return {templateUrl: 'public/app/plugins/datasource/cloudwatch/partials/annotations.editor.html'};
- }
-
- function configView() {
- return {templateUrl: 'public/app/plugins/datasource/cloudwatch/partials/edit_view.html'};
- }
-
- return {
- Datasource: CloudWatchDatasource,
- configView: configView,
- annotationsQueryEditor: annotationsQueryEditor,
- metricsQueryEditor: metricsQueryEditor,
- };
-});
diff --git a/public/app/plugins/datasource/cloudwatch/module.ts b/public/app/plugins/datasource/cloudwatch/module.ts
new file mode 100644
index 00000000000..674506310ab
--- /dev/null
+++ b/public/app/plugins/datasource/cloudwatch/module.ts
@@ -0,0 +1,20 @@
+import './query_parameter_ctrl';
+
+import {CloudWatchDatasource} from './datasource';
+import {CloudWatchQueryCtrl} from './query_ctrl';
+
+class CloudWatchConfigCtrl {
+ static templateUrl = 'public/app/plugins/datasource/cloudwatch/partials/config.html';
+}
+
+class CloudWatchAnnotationsQueryCtrl {
+ static templateUrl = 'public/app/plugins/datasource/cloudwatch/partials/annotations.editor.html';
+}
+
+export {
+ CloudWatchDatasource as Datasource,
+ CloudWatchQueryCtrl as QueryCtrl,
+ CloudWatchConfigCtrl as ConfigCtrl,
+ CloudWatchAnnotationsQueryCtrl as AnnotationsQueryCtrl,
+};
+
diff --git a/public/app/plugins/datasource/cloudwatch/partials/annotations.editor.html b/public/app/plugins/datasource/cloudwatch/partials/annotations.editor.html
index 583a578134d..050698f3ff2 100644
--- a/public/app/plugins/datasource/cloudwatch/partials/annotations.editor.html
+++ b/public/app/plugins/datasource/cloudwatch/partials/annotations.editor.html
@@ -1 +1 @@
-
+
diff --git a/public/app/plugins/datasource/cloudwatch/partials/edit_view.html b/public/app/plugins/datasource/cloudwatch/partials/config.html
similarity index 76%
rename from public/app/plugins/datasource/cloudwatch/partials/edit_view.html
rename to public/app/plugins/datasource/cloudwatch/partials/config.html
index fbb641633ac..92a963da7c6 100644
--- a/public/app/plugins/datasource/cloudwatch/partials/edit_view.html
+++ b/public/app/plugins/datasource/cloudwatch/partials/config.html
@@ -9,7 +9,7 @@
Credentials profile nameCredentials profile name, as specified in ~/.aws/credentials, leave blank for default
-
+
@@ -19,12 +19,12 @@
Default RegionSpecify the region, such as for US West (Oregon) use ` us-west-2 ` as the region.
-
-
+
diff --git a/public/app/plugins/datasource/cloudwatch/partials/query.editor.html b/public/app/plugins/datasource/cloudwatch/partials/query.editor.html
index fa5e74c33c2..a64635dc397 100644
--- a/public/app/plugins/datasource/cloudwatch/partials/query.editor.html
+++ b/public/app/plugins/datasource/cloudwatch/partials/query.editor.html
@@ -1,38 +1,4 @@
-
-
-
+
diff --git a/public/app/plugins/datasource/cloudwatch/query_ctrl.js b/public/app/plugins/datasource/cloudwatch/query_ctrl.js
deleted file mode 100644
index 927c08b3f2d..00000000000
--- a/public/app/plugins/datasource/cloudwatch/query_ctrl.js
+++ /dev/null
@@ -1,27 +0,0 @@
-define([
- 'angular',
- 'lodash',
-],
-function (angular, _) {
- 'use strict';
-
- var module = angular.module('grafana.controllers');
-
- module.controller('CloudWatchQueryCtrl', function($scope) {
-
- $scope.init = function() {
- $scope.aliasSyntax = '{{metric}} {{stat}} {{namespace}} {{region}} {{}}';
- };
-
- $scope.refreshMetricData = function() {
- if (!_.isEqual($scope.oldTarget, $scope.target)) {
- $scope.oldTarget = angular.copy($scope.target);
- $scope.ctrl.refresh();
- }
- };
-
- $scope.init();
-
- });
-
-});
diff --git a/public/app/plugins/datasource/cloudwatch/query_ctrl.ts b/public/app/plugins/datasource/cloudwatch/query_ctrl.ts
new file mode 100644
index 00000000000..daacd7fe198
--- /dev/null
+++ b/public/app/plugins/datasource/cloudwatch/query_ctrl.ts
@@ -0,0 +1,17 @@
+///
+
+import './query_parameter_ctrl';
+import _ from 'lodash';
+import {QueryCtrl} from 'app/features/panel/panel';
+
+export class CloudWatchQueryCtrl extends QueryCtrl {
+ static templateUrl = 'public/app/plugins/datasource/cloudwatch/partials/query.editor.html';
+
+ aliasSyntax: string;
+
+ /** @ngInject **/
+ constructor($scope, $injector) {
+ super($scope, $injector);
+ this.aliasSyntax = '{{metric}} {{stat}} {{namespace}} {{region}} {{}}';
+ }
+}
diff --git a/public/app/plugins/datasource/cloudwatch/query_parameter_ctrl.js b/public/app/plugins/datasource/cloudwatch/query_parameter_ctrl.js
index 3be1f0d5a01..dc027f60aef 100644
--- a/public/app/plugins/datasource/cloudwatch/query_parameter_ctrl.js
+++ b/public/app/plugins/datasource/cloudwatch/query_parameter_ctrl.js
@@ -9,7 +9,7 @@ function (angular, _) {
module.directive('cloudwatchQueryParameter', function() {
return {
- templateUrl: 'app/plugins/datasource/cloudwatch/partials/query.parameter.html',
+ templateUrl: 'public/app/plugins/datasource/cloudwatch/partials/query.parameter.html',
controller: 'CloudWatchQueryParameterCtrl',
restrict: 'E',
scope: {
diff --git a/public/app/plugins/datasource/cloudwatch/specs/datasource_specs.ts b/public/app/plugins/datasource/cloudwatch/specs/datasource_specs.ts
index ed5f9418f8f..cec32420aea 100644
--- a/public/app/plugins/datasource/cloudwatch/specs/datasource_specs.ts
+++ b/public/app/plugins/datasource/cloudwatch/specs/datasource_specs.ts
@@ -3,7 +3,7 @@ import "../datasource";
import {describe, beforeEach, it, sinon, expect, angularMocks} from 'test/lib/common';
import moment from 'moment';
import helpers from 'test/specs/helpers';
-import Datasource from "../datasource";
+import {CloudWatchDatasource} from "../datasource";
describe('CloudWatchDatasource', function() {
var ctx = new helpers.ServiceTestContext();
@@ -20,7 +20,7 @@ describe('CloudWatchDatasource', function() {
ctx.$q = $q;
ctx.$httpBackend = $httpBackend;
ctx.$rootScope = $rootScope;
- ctx.ds = $injector.instantiate(Datasource, {instanceSettings: instanceSettings});
+ ctx.ds = $injector.instantiate(CloudWatchDatasource, {instanceSettings: instanceSettings});
}));
describe('When performing CloudWatch query', function() {
diff --git a/public/app/plugins/datasource/elasticsearch/config_ctrl.ts b/public/app/plugins/datasource/elasticsearch/config_ctrl.ts
new file mode 100644
index 00000000000..4c14e1133bf
--- /dev/null
+++ b/public/app/plugins/datasource/elasticsearch/config_ctrl.ts
@@ -0,0 +1,34 @@
+///
+
+import angular from 'angular';
+import _ from 'lodash';
+
+export class ElasticConfigCtrl {
+ static templateUrl = 'public/app/plugins/datasource/elasticsearch/partials/config.html';
+ current: any;
+
+ /** @ngInject */
+ constructor($scope) {
+ this.current.jsonData.timeField = this.current.jsonData.timeField || '@timestamp';
+ }
+
+ indexPatternTypes = [
+ {name: 'No pattern', value: undefined},
+ {name: 'Hourly', value: 'Hourly', example: '[logstash-]YYYY.MM.DD.HH'},
+ {name: 'Daily', value: 'Daily', example: '[logstash-]YYYY.MM.DD'},
+ {name: 'Weekly', value: 'Weekly', example: '[logstash-]GGGG.WW'},
+ {name: 'Monthly', value: 'Monthly', example: '[logstash-]YYYY.MM'},
+ {name: 'Yearly', value: 'Yearly', example: '[logstash-]YYYY'},
+ ];
+
+ esVersions = [
+ {name: '1.x', value: 1},
+ {name: '2.x', value: 2},
+ ];
+
+ indexPatternTypeChanged() {
+ var def = _.findWhere(this.indexPatternTypes, {value: this.current.jsonData.interval});
+ this.current.database = def.example || 'es-index-name';
+ }
+}
+
diff --git a/public/app/plugins/datasource/elasticsearch/edit_view.ts b/public/app/plugins/datasource/elasticsearch/edit_view.ts
deleted file mode 100644
index c7e17d4fbea..00000000000
--- a/public/app/plugins/datasource/elasticsearch/edit_view.ts
+++ /dev/null
@@ -1,39 +0,0 @@
-///
-
-import angular from 'angular';
-import _ from 'lodash';
-
-export class EditViewCtrl {
-
- /** @ngInject */
- constructor($scope) {
- $scope.indexPatternTypes = [
- {name: 'No pattern', value: undefined},
- {name: 'Hourly', value: 'Hourly', example: '[logstash-]YYYY.MM.DD.HH'},
- {name: 'Daily', value: 'Daily', example: '[logstash-]YYYY.MM.DD'},
- {name: 'Weekly', value: 'Weekly', example: '[logstash-]GGGG.WW'},
- {name: 'Monthly', value: 'Monthly', example: '[logstash-]YYYY.MM'},
- {name: 'Yearly', value: 'Yearly', example: '[logstash-]YYYY'},
- ];
-
- $scope.esVersions = [
- {name: '1.x', value: 1},
- {name: '2.x', value: 2},
- ];
-
- $scope.indexPatternTypeChanged = function() {
- var def = _.findWhere($scope.indexPatternTypes, {value: $scope.current.jsonData.interval});
- $scope.current.database = def.example || 'es-index-name';
- };
- }
-}
-
-function editViewDirective() {
- return {
- templateUrl: 'public/app/plugins/datasource/elasticsearch/partials/edit_view.html',
- controller: EditViewCtrl,
- };
-};
-
-
-export default editViewDirective;
diff --git a/public/app/plugins/datasource/elasticsearch/module.ts b/public/app/plugins/datasource/elasticsearch/module.ts
index f5463af0527..438649017e5 100644
--- a/public/app/plugins/datasource/elasticsearch/module.ts
+++ b/public/app/plugins/datasource/elasticsearch/module.ts
@@ -1,9 +1,6 @@
import {ElasticDatasource} from './datasource';
import {ElasticQueryCtrl} from './query_ctrl';
-
-class ElasticConfigCtrl {
- static templateUrl = 'public/app/plugins/datasource/elasticsearch/partials/config.html';
-}
+import {ElasticConfigCtrl} from './config_ctrl';
class ElasticQueryOptionsCtrl {
static templateUrl = 'public/app/plugins/datasource/elasticsearch/partials/query.options.html';
diff --git a/public/app/plugins/datasource/elasticsearch/partials/annotations.editor.html b/public/app/plugins/datasource/elasticsearch/partials/annotations.editor.html
index 0b7070904de..8f761b67865 100644
--- a/public/app/plugins/datasource/elasticsearch/partials/annotations.editor.html
+++ b/public/app/plugins/datasource/elasticsearch/partials/annotations.editor.html
@@ -1,14 +1,14 @@
diff --git a/public/app/plugins/datasource/elasticsearch/partials/edit_view.html b/public/app/plugins/datasource/elasticsearch/partials/config.html
similarity index 67%
rename from public/app/plugins/datasource/elasticsearch/partials/edit_view.html
rename to public/app/plugins/datasource/elasticsearch/partials/config.html
index bf43012c72e..05df80143e3 100644
--- a/public/app/plugins/datasource/elasticsearch/partials/edit_view.html
+++ b/public/app/plugins/datasource/elasticsearch/partials/config.html
@@ -1,4 +1,5 @@
-
+
+
Elasticsearch details
@@ -8,13 +9,13 @@
Index name
-
+
Pattern
-
+
@@ -25,7 +26,7 @@
Time field name
-
+
@@ -36,7 +37,7 @@
Version
-
+
@@ -52,7 +53,7 @@
Group by time interval
-
diff --git a/public/app/plugins/datasource/influxdb/partials/config.html b/public/app/plugins/datasource/influxdb/partials/config.html
index 9d1c967c668..a371fc9a7c8 100644
--- a/public/app/plugins/datasource/influxdb/partials/config.html
+++ b/public/app/plugins/datasource/influxdb/partials/config.html
@@ -1,4 +1,5 @@
-
+
+
InfluxDB Details
@@ -8,7 +9,7 @@
Database
-
+
@@ -19,13 +20,13 @@
User
-
+
Password
-
+
diff --git a/public/less/panel.less b/public/less/panel.less
index 0156571a822..19bf93ed49a 100644
--- a/public/less/panel.less
+++ b/public/less/panel.less
@@ -86,7 +86,6 @@
}
.panel-fullscreen {
- margin: 5px 20px;
.panel-title-container {
padding: 8px;
}