From a8285d0eb4ea2e96768a3119eb79610df3585d43 Mon Sep 17 00:00:00 2001 From: Patrick O'Carroll Date: Tue, 24 Oct 2017 10:45:46 +0200 Subject: [PATCH] shore: migrating config/settings.js to typescript --- public/app/core/config.js | 13 - public/app/core/config.ts | 38 +++ public/app/core/controllers/invited_ctrl.js | 2 + public/app/core/controllers/login_ctrl.js | 2 + public/app/core/services/analytics.js | 2 + public/app/core/settings.js | 20 -- .../features/dashboard/dashboardLoaderSrv.js | 3 +- .../app/features/dashboard/shareModalCtrl.js | 2 + public/app/features/dashboard/viewStateSrv.js | 1 + .../app/features/org/change_password_ctrl.js | 2 + public/app/features/org/newOrgCtrl.js | 2 + public/app/features/org/select_org_ctrl.js | 2 + .../app/features/playlist/playlist_routes.js | 1 - public/app/features/plugins/datasource_srv.js | 2 + .../app/plugins/panel/singlestat/editor.html | 16 +- public/test/specs/helpers.js | 2 + yarn.lock | 240 +++++++++++++++++- 17 files changed, 301 insertions(+), 49 deletions(-) delete mode 100644 public/app/core/config.js create mode 100644 public/app/core/config.ts delete mode 100644 public/app/core/settings.js 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/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/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 2847e52ebfa..00b5b5bcdf9 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) { diff --git a/public/app/features/org/change_password_ctrl.js b/public/app/features/org/change_password_ctrl.js index fea22deb4f5..e1b9b8c9b37 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/test/specs/helpers.js b/public/test/specs/helpers.js index 40c4a75423c..eae57be7115 100644 --- a/public/test/specs/helpers.js +++ b/public/test/specs/helpers.js @@ -5,6 +5,8 @@ define([ ], function(_, config, dateMath) { 'use strict'; + config = config.default; + function ControllerTestContext() { var self = this; diff --git a/yarn.lock b/yarn.lock index 57f23beeb1f..770633ed1df 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1774,7 +1774,7 @@ combined-stream@^1.0.5, combined-stream@~1.0.5: dependencies: delayed-stream "~1.0.0" -commander@2.11.0, commander@2.11.x, commander@^2.8.1, commander@^2.9.0, commander@~2.11.0: +commander@2, commander@2.11.0, commander@2.11.x, commander@^2.8.1, commander@^2.9.0, commander@~2.11.0: version "2.11.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.11.0.tgz#157152fd1e7a6c8d98a5b715cf376df928004563" @@ -2177,6 +2177,228 @@ cyclist@~0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-0.2.2.tgz#1b33792e11e914a2fd6d6ed6447464444e5fa640" +d3-array@1, d3-array@1.2.1, d3-array@^1.2.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/d3-array/-/d3-array-1.2.1.tgz#d1ca33de2f6ac31efadb8e050a021d7e2396d5dc" + +d3-axis@1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/d3-axis/-/d3-axis-1.0.8.tgz#31a705a0b535e65759de14173a31933137f18efa" + +d3-brush@1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/d3-brush/-/d3-brush-1.0.4.tgz#00c2f238019f24f6c0a194a26d41a1530ffe7bc4" + dependencies: + d3-dispatch "1" + d3-drag "1" + d3-interpolate "1" + d3-selection "1" + d3-transition "1" + +d3-chord@1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/d3-chord/-/d3-chord-1.0.4.tgz#7dec4f0ba886f713fe111c45f763414f6f74ca2c" + dependencies: + d3-array "1" + d3-path "1" + +d3-collection@1, d3-collection@1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/d3-collection/-/d3-collection-1.0.4.tgz#342dfd12837c90974f33f1cc0a785aea570dcdc2" + +d3-color@1, d3-color@1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/d3-color/-/d3-color-1.0.3.tgz#bc7643fca8e53a8347e2fbdaffa236796b58509b" + +d3-dispatch@1, d3-dispatch@1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/d3-dispatch/-/d3-dispatch-1.0.3.tgz#46e1491eaa9b58c358fce5be4e8bed626e7871f8" + +d3-drag@1, d3-drag@1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/d3-drag/-/d3-drag-1.2.1.tgz#df8dd4c502fb490fc7462046a8ad98a5c479282d" + dependencies: + d3-dispatch "1" + d3-selection "1" + +d3-dsv@1, d3-dsv@1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/d3-dsv/-/d3-dsv-1.0.7.tgz#137076663f398428fc3d031ae65370522492b78f" + dependencies: + commander "2" + iconv-lite "0.4" + rw "1" + +d3-ease@1, d3-ease@1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/d3-ease/-/d3-ease-1.0.3.tgz#68bfbc349338a380c44d8acc4fbc3304aa2d8c0e" + +d3-force@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/d3-force/-/d3-force-1.1.0.tgz#cebf3c694f1078fcc3d4daf8e567b2fbd70d4ea3" + dependencies: + d3-collection "1" + d3-dispatch "1" + d3-quadtree "1" + d3-timer "1" + +d3-format@1, d3-format@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/d3-format/-/d3-format-1.2.0.tgz#6b480baa886885d4651dc248a8f4ac9da16db07a" + +d3-geo@1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/d3-geo/-/d3-geo-1.8.1.tgz#50615c33454487e350db71059f84f71cda2dd983" + dependencies: + d3-array "1" + +d3-hierarchy@1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/d3-hierarchy/-/d3-hierarchy-1.1.5.tgz#a1c845c42f84a206bcf1c01c01098ea4ddaa7a26" + +d3-interpolate@1, d3-interpolate@1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/d3-interpolate/-/d3-interpolate-1.1.5.tgz#69e099ff39214716e563c9aec3ea9d1ea4b8a79f" + dependencies: + d3-color "1" + +d3-path@1, d3-path@1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/d3-path/-/d3-path-1.0.5.tgz#241eb1849bd9e9e8021c0d0a799f8a0e8e441764" + +d3-polygon@1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/d3-polygon/-/d3-polygon-1.0.3.tgz#16888e9026460933f2b179652ad378224d382c62" + +d3-quadtree@1, d3-quadtree@1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/d3-quadtree/-/d3-quadtree-1.0.3.tgz#ac7987e3e23fe805a990f28e1b50d38fcb822438" + +d3-queue@3.0.7: + version "3.0.7" + resolved "https://registry.yarnpkg.com/d3-queue/-/d3-queue-3.0.7.tgz#c93a2e54b417c0959129d7d73f6cf7d4292e7618" + +d3-random@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/d3-random/-/d3-random-1.1.0.tgz#6642e506c6fa3a648595d2b2469788a8d12529d3" + +d3-request@1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/d3-request/-/d3-request-1.0.6.tgz#a1044a9ef4ec28c824171c9379fae6d79474b19f" + dependencies: + d3-collection "1" + d3-dispatch "1" + d3-dsv "1" + xmlhttprequest "1" + +d3-scale-chromatic@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/d3-scale-chromatic/-/d3-scale-chromatic-1.1.1.tgz#811406e8e09dab78a49dac4a32047d5d3edd0c44" + dependencies: + d3-interpolate "1" + +d3-scale@1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/d3-scale/-/d3-scale-1.0.6.tgz#bce19da80d3a0cf422c9543ae3322086220b34ed" + dependencies: + d3-array "^1.2.0" + d3-collection "1" + d3-color "1" + d3-format "1" + d3-interpolate "1" + d3-time "1" + d3-time-format "2" + +d3-selection@1, d3-selection@1.1.0, d3-selection@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/d3-selection/-/d3-selection-1.1.0.tgz#1998684896488f839ca0372123da34f1d318809c" + +d3-shape@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/d3-shape/-/d3-shape-1.2.0.tgz#45d01538f064bafd05ea3d6d2cb748fd8c41f777" + dependencies: + d3-path "1" + +d3-time-format@2: + version "2.1.0" + resolved "https://registry.yarnpkg.com/d3-time-format/-/d3-time-format-2.1.0.tgz#a1d9540a1dc498817d44066b121b19a4a83e3531" + dependencies: + d3-time "1" + +d3-time-format@2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/d3-time-format/-/d3-time-format-2.0.5.tgz#9d7780204f7c9119c9170b1a56db4de9a8af972e" + dependencies: + d3-time "1" + +d3-time@1, d3-time@1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/d3-time/-/d3-time-1.0.7.tgz#94caf6edbb7879bb809d0d1f7572bc48482f7270" + +d3-timer@1, d3-timer@1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/d3-timer/-/d3-timer-1.0.7.tgz#df9650ca587f6c96607ff4e60cc38229e8dd8531" + +d3-transition@1, d3-transition@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/d3-transition/-/d3-transition-1.1.0.tgz#cfc85c74e5239324290546623572990560c3966f" + dependencies: + d3-color "1" + d3-dispatch "1" + d3-ease "1" + d3-interpolate "1" + d3-selection "^1.1.0" + d3-timer "1" + +d3-voronoi@1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/d3-voronoi/-/d3-voronoi-1.1.2.tgz#1687667e8f13a2d158c80c1480c5a29cb0d8973c" + +d3-zoom@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/d3-zoom/-/d3-zoom-1.6.0.tgz#eb645b07fd0c37acc8b36b88476b781ed277b40e" + dependencies: + d3-dispatch "1" + d3-drag "1" + d3-interpolate "1" + d3-selection "1" + d3-transition "1" + +d3@^4.11.0: + version "4.11.0" + resolved "https://registry.yarnpkg.com/d3/-/d3-4.11.0.tgz#15ce99ec33e6941718cfd8fb826071b4fb7c48cb" + dependencies: + d3-array "1.2.1" + d3-axis "1.0.8" + d3-brush "1.0.4" + d3-chord "1.0.4" + d3-collection "1.0.4" + d3-color "1.0.3" + d3-dispatch "1.0.3" + d3-drag "1.2.1" + d3-dsv "1.0.7" + d3-ease "1.0.3" + d3-force "1.1.0" + d3-format "1.2.0" + d3-geo "1.8.1" + d3-hierarchy "1.1.5" + d3-interpolate "1.1.5" + d3-path "1.0.5" + d3-polygon "1.0.3" + d3-quadtree "1.0.3" + d3-queue "3.0.7" + d3-random "1.1.0" + d3-request "1.0.6" + d3-scale "1.0.6" + d3-selection "1.1.0" + d3-shape "1.2.0" + d3-time "1.0.7" + d3-time-format "2.0.5" + d3-timer "1.0.7" + d3-transition "1.1.0" + d3-voronoi "1.1.2" + d3-zoom "1.6.0" + d@1: version "1.0.0" resolved "https://registry.yarnpkg.com/d/-/d-1.0.0.tgz#754bb5bfe55451da69a58b94d45f4c5b0462d58f" @@ -4090,14 +4312,14 @@ i@0.3.x: version "0.3.5" resolved "https://registry.yarnpkg.com/i/-/i-0.3.5.tgz#1d2b854158ec8169113c6cb7f6b6801e99e211d5" +iconv-lite@0.4, iconv-lite@0.4.19, iconv-lite@~0.4.13: + version "0.4.19" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b" + iconv-lite@0.4.13: version "0.4.13" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.13.tgz#1f88aba4ab0b1508e8312acc39345f36e992e2f2" -iconv-lite@0.4.19, iconv-lite@~0.4.13: - version "0.4.19" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b" - icss-replace-symbols@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz#06ea6f83679a7749e386cfe1fe812ae5db223ded" @@ -7773,6 +7995,10 @@ run-queue@^1.0.0, run-queue@^1.0.3: dependencies: aproba "^1.1.1" +rw@1: + version "1.3.3" + resolved "https://registry.yarnpkg.com/rw/-/rw-1.3.3.tgz#3f862dfa91ab766b14885ef4d01124bfda074fb4" + rx-lite@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-3.1.2.tgz#19ce502ca572665f3b647b10939f97fd1615f102" @@ -9388,6 +9614,10 @@ xmlhttprequest-ssl@1.5.3: version "1.5.3" resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.3.tgz#185a888c04eca46c3e4070d99f7b49de3528992d" +xmlhttprequest@1: + version "1.8.0" + resolved "https://registry.yarnpkg.com/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz#67fe075c5c24fef39f9d65f5f7b7fe75171968fc" + xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af"