diff --git a/public/app/core/config.js b/public/app/core/config.js deleted file mode 100644 index 410d47f7b9a..00000000000 --- a/public/app/core/config.js +++ /dev/null @@ -1,13 +0,0 @@ -define([ - 'app/core/settings', -], -function (Settings) { - "use strict"; - - var bootData = window.grafanaBootData || { settings: {} }; - var options = bootData.settings; - options.bootData = bootData; - - return new Settings(options); - -}); diff --git a/public/app/core/config.ts b/public/app/core/config.ts new file mode 100644 index 00000000000..f4898b4e08b --- /dev/null +++ b/public/app/core/config.ts @@ -0,0 +1,38 @@ +import _ from 'lodash'; + +class Settings { + datasources: any; + panels: any; + appSubUrl: string; + window_title_prefix: string; + buildInfo: any; + new_panel_title: string; + bootData: any; + externalUserMngLinkUrl: string; + externalUserMngLinkName: string; + externalUserMngInfo: string; + allowOrgCreate: boolean; + disableLoginForm: boolean; + defaultDatasource: string; + alertingEnabled: boolean; + + constructor(options) { + var defaults = { + datasources: {}, + window_title_prefix: 'Grafana - ', + panels: {}, + new_panel_title: 'Panel Title', + playlist_timespan: "1m", + unsaved_changes_warning: true, + appSubUrl: "" + }; + _.extend(this, defaults, options); + } +} + +var bootData = (window).grafanaBootData || { settings: {} }; +var options = bootData.settings; +options.bootData = bootData; + +const config = new Settings(options); +export default config; diff --git a/public/app/core/controllers/invited_ctrl.js b/public/app/core/controllers/invited_ctrl.js index 298fede53d8..dfcc198f3aa 100644 --- a/public/app/core/controllers/invited_ctrl.js +++ b/public/app/core/controllers/invited_ctrl.js @@ -6,6 +6,8 @@ define([ function (angular, coreModule, config) { 'use strict'; + config = config.default; + coreModule.default.controller('InvitedCtrl', function($scope, $routeParams, contextSrv, backendSrv) { contextSrv.sidemenu = false; $scope.formModel = {}; diff --git a/public/app/core/controllers/login_ctrl.js b/public/app/core/controllers/login_ctrl.js index 54323711604..5f02811a143 100644 --- a/public/app/core/controllers/login_ctrl.js +++ b/public/app/core/controllers/login_ctrl.js @@ -7,6 +7,8 @@ define([ function (angular, _, coreModule, config) { 'use strict'; + config = config.default; + coreModule.default.controller('LoginCtrl', function($scope, backendSrv, contextSrv, $location) { $scope.formModel = { user: '', diff --git a/public/app/core/directives/dash_class.js b/public/app/core/directives/dash_class.js index 3dd2bba91af..d8ad335de5c 100644 --- a/public/app/core/directives/dash_class.js +++ b/public/app/core/directives/dash_class.js @@ -31,8 +31,8 @@ function (_, $, coreModule) { } }); - $scope.$watch('ctrl.playlistSrv', function(newValue) { - elem.toggleClass('playlist-active', _.isObject(newValue)); + $scope.$watch('ctrl.playlistSrv.isPlaying', function(newValue) { + elem.toggleClass('playlist-active', newValue === true); }); } }; diff --git a/public/app/core/services/analytics.js b/public/app/core/services/analytics.js index a20a11bb2b6..9f71045b008 100644 --- a/public/app/core/services/analytics.js +++ b/public/app/core/services/analytics.js @@ -7,6 +7,8 @@ define([ function(angular, $, coreModule, config) { 'use strict'; + config = config.default; + coreModule.default.service('googleAnalyticsSrv', function($rootScope, $location) { function gaInit() { diff --git a/public/app/core/settings.js b/public/app/core/settings.js deleted file mode 100644 index 4c0b84f8da5..00000000000 --- a/public/app/core/settings.js +++ /dev/null @@ -1,20 +0,0 @@ -define([ - 'lodash', -], -function (_) { - "use strict"; - - return function Settings (options) { - var defaults = { - datasources : {}, - window_title_prefix : 'Grafana - ', - panels : {}, - new_panel_title: 'Panel Title', - playlist_timespan: "1m", - unsaved_changes_warning: true, - appSubUrl: "" - }; - - return _.extend({}, defaults, options); - }; -}); diff --git a/public/app/features/dashboard/dashboardLoaderSrv.js b/public/app/features/dashboard/dashboardLoaderSrv.js index de0063dc56b..64ef3d4add4 100644 --- a/public/app/features/dashboard/dashboardLoaderSrv.js +++ b/public/app/features/dashboard/dashboardLoaderSrv.js @@ -5,8 +5,7 @@ define([ 'jquery', 'app/core/utils/kbn', 'app/core/utils/datemath', - './impression_store', - 'app/core/config', + './impression_store' ], function (angular, moment, _, $, kbn, dateMath, impressionStore) { 'use strict'; diff --git a/public/app/features/dashboard/dashboard_ctrl.ts b/public/app/features/dashboard/dashboard_ctrl.ts index 0e19270723d..750826d386d 100644 --- a/public/app/features/dashboard/dashboard_ctrl.ts +++ b/public/app/features/dashboard/dashboard_ctrl.ts @@ -21,6 +21,7 @@ export class DashboardCtrl implements PanelContainer { private dashboardSrv, private unsavedChangesSrv, private dashboardViewStateSrv, + public playlistSrv, private panelLoader) { // temp hack due to way dashboards are loaded // can't use controllerAs on route yet diff --git a/public/app/features/dashboard/dashnav/dashnav.ts b/public/app/features/dashboard/dashnav/dashnav.ts index 98e34a3aa04..71bc23c3eab 100644 --- a/public/app/features/dashboard/dashnav/dashnav.ts +++ b/public/app/features/dashboard/dashnav/dashnav.ts @@ -19,6 +19,7 @@ export class DashNavCtrl { private $location, private backendSrv, private contextSrv, + public playlistSrv, navModelSrv) { this.navModel = navModelSrv.getDashboardNav(this.dashboard, this); diff --git a/public/app/features/dashboard/shareModalCtrl.js b/public/app/features/dashboard/shareModalCtrl.js index 211b0efbac9..e750b631771 100644 --- a/public/app/features/dashboard/shareModalCtrl.js +++ b/public/app/features/dashboard/shareModalCtrl.js @@ -7,6 +7,8 @@ define(['angular', function (angular, _, $, moment, config) { 'use strict'; + config = config.default; + var module = angular.module('grafana.controllers'); module.controller('ShareModalCtrl', function($scope, $rootScope, $location, $timeout, timeSrv, templateSrv, linkSrv) { diff --git a/public/app/features/dashboard/viewStateSrv.js b/public/app/features/dashboard/viewStateSrv.js index 34451c25951..d300990851f 100644 --- a/public/app/features/dashboard/viewStateSrv.js +++ b/public/app/features/dashboard/viewStateSrv.js @@ -7,6 +7,7 @@ define([ function (angular, _, $, config) { 'use strict'; + config = config.default; var module = angular.module('grafana.services'); module.factory('dashboardViewStateSrv', function($location, $timeout, $rootScope) { diff --git a/public/app/features/org/change_password_ctrl.js b/public/app/features/org/change_password_ctrl.js index 69f15de26cd..91bbf9e9253 100644 --- a/public/app/features/org/change_password_ctrl.js +++ b/public/app/features/org/change_password_ctrl.js @@ -5,6 +5,8 @@ define([ function (angular, config) { 'use strict'; + config = config.default; + var module = angular.module('grafana.controllers'); module.controller('ChangePasswordCtrl', function($scope, backendSrv, $location, navModelSrv) { diff --git a/public/app/features/org/newOrgCtrl.js b/public/app/features/org/newOrgCtrl.js index 4c79a5ca6af..cf8e239d065 100644 --- a/public/app/features/org/newOrgCtrl.js +++ b/public/app/features/org/newOrgCtrl.js @@ -5,6 +5,8 @@ define([ function (angular, config) { 'use strict'; + config = config.default; + var module = angular.module('grafana.controllers'); module.controller('NewOrgCtrl', function($scope, $http, backendSrv, navModelSrv) { diff --git a/public/app/features/org/select_org_ctrl.js b/public/app/features/org/select_org_ctrl.js index f0bdc611d5a..a6954dc2f9a 100644 --- a/public/app/features/org/select_org_ctrl.js +++ b/public/app/features/org/select_org_ctrl.js @@ -5,6 +5,8 @@ define([ function (angular, config) { 'use strict'; + config = config.default; + var module = angular.module('grafana.controllers'); module.controller('SelectOrgCtrl', function($scope, backendSrv, contextSrv) { diff --git a/public/app/features/playlist/playlist_routes.js b/public/app/features/playlist/playlist_routes.js index 1bba519f8f7..193b0b52b20 100644 --- a/public/app/features/playlist/playlist_routes.js +++ b/public/app/features/playlist/playlist_routes.js @@ -1,6 +1,5 @@ define([ 'angular', - 'app/core/config', 'lodash' ], function (angular) { diff --git a/public/app/features/plugins/datasource_srv.js b/public/app/features/plugins/datasource_srv.js index db74c13331a..bdd9a921c3d 100644 --- a/public/app/features/plugins/datasource_srv.js +++ b/public/app/features/plugins/datasource_srv.js @@ -8,6 +8,8 @@ define([ function (angular, _, coreModule, config, pluginLoader) { 'use strict'; + config = config.default; + coreModule.default.service('datasourceSrv', function($q, $injector, $rootScope, templateSrv) { var self = this; diff --git a/public/app/plugins/panel/singlestat/editor.html b/public/app/plugins/panel/singlestat/editor.html index f00d909d39c..8d74cf3ac66 100644 --- a/public/app/plugins/panel/singlestat/editor.html +++ b/public/app/plugins/panel/singlestat/editor.html @@ -42,14 +42,14 @@ -
- -
-
-
- - -
+
+ +
+
+
+ + +
diff --git a/public/app/plugins/panel/singlestat/module.ts b/public/app/plugins/panel/singlestat/module.ts index 744659e5134..5879b2d720a 100644 --- a/public/app/plugins/panel/singlestat/module.ts +++ b/public/app/plugins/panel/singlestat/module.ts @@ -130,7 +130,7 @@ class SingleStatCtrl extends MetricsPanelCtrl { seriesHandler(seriesData) { var series = new TimeSeries({ - datapoints: seriesData.datapoints, + datapoints: seriesData.datapoints || [], alias: seriesData.target, });