From b752cfee1f2b43d2ba5621728e39dd0338719b12 Mon Sep 17 00:00:00 2001 From: Patrick O'Carroll Date: Fri, 24 Nov 2017 12:59:36 +0100 Subject: [PATCH] migrated four files to ts, addd some code to config to make it work (#9980) --- public/app/core/config.ts | 4 ++ .../{invited_ctrl.js => invited_ctrl.ts} | 19 +++---- .../{login_ctrl.js => login_ctrl.ts} | 25 ++++----- .../{shareModalCtrl.js => shareModalCtrl.ts} | 25 ++++----- public/app/features/panel/solo_panel_ctrl.js | 51 ------------------- public/app/features/panel/solo_panel_ctrl.ts | 49 ++++++++++++++++++ 6 files changed, 81 insertions(+), 92 deletions(-) rename public/app/core/controllers/{invited_ctrl.js => invited_ctrl.ts} (75%) rename public/app/core/controllers/{login_ctrl.js => login_ctrl.ts} (85%) rename public/app/features/dashboard/{shareModalCtrl.js => shareModalCtrl.ts} (87%) delete mode 100644 public/app/features/panel/solo_panel_ctrl.js create mode 100644 public/app/features/panel/solo_panel_ctrl.ts diff --git a/public/app/core/config.ts b/public/app/core/config.ts index 63f01bea458..e54d62d7c0e 100644 --- a/public/app/core/config.ts +++ b/public/app/core/config.ts @@ -17,6 +17,10 @@ class Settings { alertingEnabled: boolean; authProxyEnabled: boolean; ldapEnabled: boolean; + oauth: any; + disableUserSignUp: boolean; + loginHint: any; + loginError: any; constructor(options) { var defaults = { diff --git a/public/app/core/controllers/invited_ctrl.js b/public/app/core/controllers/invited_ctrl.ts similarity index 75% rename from public/app/core/controllers/invited_ctrl.js rename to public/app/core/controllers/invited_ctrl.ts index dfcc198f3aa..ed4bd1793b8 100644 --- a/public/app/core/controllers/invited_ctrl.js +++ b/public/app/core/controllers/invited_ctrl.ts @@ -1,14 +1,10 @@ -define([ - 'angular', - '../core_module', - 'app/core/config', -], -function (angular, coreModule, config) { - 'use strict'; +import coreModule from '../core_module'; +import config from 'app/core/config'; - config = config.default; +export class InvitedCtrl { - coreModule.default.controller('InvitedCtrl', function($scope, $routeParams, contextSrv, backendSrv) { + /** @ngInject */ + constructor($scope, $routeParams, contextSrv, backendSrv) { contextSrv.sidemenu = false; $scope.formModel = {}; @@ -35,6 +31,7 @@ function (angular, coreModule, config) { }; $scope.init(); + } +} - }); -}); +coreModule.controller('InvitedCtrl', InvitedCtrl); diff --git a/public/app/core/controllers/login_ctrl.js b/public/app/core/controllers/login_ctrl.ts similarity index 85% rename from public/app/core/controllers/login_ctrl.js rename to public/app/core/controllers/login_ctrl.ts index 5f02811a143..11bebbce8e6 100644 --- a/public/app/core/controllers/login_ctrl.js +++ b/public/app/core/controllers/login_ctrl.ts @@ -1,15 +1,11 @@ -define([ - 'angular', - 'lodash', - '../core_module', - 'app/core/config', -], -function (angular, _, coreModule, config) { - 'use strict'; +import _ from 'lodash'; +import coreModule from '../core_module'; +import config from 'app/core/config'; - config = config.default; +export class LoginCtrl { - coreModule.default.controller('LoginCtrl', function($scope, backendSrv, contextSrv, $location) { + /** @ngInject */ + constructor($scope, backendSrv, contextSrv, $location) { $scope.formModel = { user: '', email: '', @@ -74,8 +70,7 @@ function (angular, _, coreModule, config) { if (params.redirect && params.redirect[0] === '/') { window.location.href = config.appSubUrl + params.redirect; - } - else if (result.redirectUrl) { + } else if (result.redirectUrl) { window.location.href = result.redirectUrl; } else { window.location.href = config.appSubUrl + '/'; @@ -84,5 +79,7 @@ function (angular, _, coreModule, config) { }; $scope.init(); - }); -}); + } +} + +coreModule.controller('LoginCtrl', LoginCtrl); diff --git a/public/app/features/dashboard/shareModalCtrl.js b/public/app/features/dashboard/shareModalCtrl.ts similarity index 87% rename from public/app/features/dashboard/shareModalCtrl.js rename to public/app/features/dashboard/shareModalCtrl.ts index e750b631771..1ddec697eb2 100644 --- a/public/app/features/dashboard/shareModalCtrl.js +++ b/public/app/features/dashboard/shareModalCtrl.ts @@ -1,18 +1,11 @@ -define(['angular', - 'lodash', - 'jquery', - 'moment', - 'app/core/config', -], -function (angular, _, $, moment, config) { - 'use strict'; +import angular from 'angular'; +import moment from 'moment'; +import config from 'app/core/config'; - config = config.default; - - var module = angular.module('grafana.controllers'); - - module.controller('ShareModalCtrl', function($scope, $rootScope, $location, $timeout, timeSrv, templateSrv, linkSrv) { +export class ShareModalCtrl { + /** @ngInject */ + constructor($scope, $rootScope, $location, $timeout, timeSrv, templateSrv, linkSrv) { $scope.options = { forCurrent: true, includeTemplateVars: true, theme: 'current' }; $scope.editor = { index: $scope.tabIndex || 0}; @@ -93,7 +86,7 @@ function (angular, _, $, moment, config) { $scope.getShareUrl = function() { return $scope.shareUrl; }; + } +} - }); - -}); +angular.module('grafana.controllers').controller('ShareModalCtrl', ShareModalCtrl); diff --git a/public/app/features/panel/solo_panel_ctrl.js b/public/app/features/panel/solo_panel_ctrl.js deleted file mode 100644 index a25c5f90c27..00000000000 --- a/public/app/features/panel/solo_panel_ctrl.js +++ /dev/null @@ -1,51 +0,0 @@ -define([ - 'angular', - 'jquery', -], -function (angular, $) { - "use strict"; - - var module = angular.module('grafana.routes'); - - module.controller('SoloPanelCtrl', function($scope, $routeParams, $location, dashboardLoaderSrv, contextSrv) { - - var panelId; - - $scope.init = function() { - contextSrv.sidemenu = false; - - var params = $location.search(); - panelId = parseInt(params.panelId); - - $scope.onAppEvent("dashboard-initialized", $scope.initPanelScope); - - dashboardLoaderSrv.loadDashboard($routeParams.type, $routeParams.slug).then(function(result) { - result.meta.soloMode = true; - $scope.initDashboard(result, $scope); - }); - }; - - $scope.initPanelScope = function() { - var panelInfo = $scope.dashboard.getPanelInfoById(panelId); - - // fake row ctrl scope - $scope.ctrl = { - row: panelInfo.row, - dashboard: $scope.dashboard, - }; - - $scope.ctrl.row.height = $(window).height(); - $scope.panel = panelInfo.panel; - $scope.$index = 0; - - if (!$scope.panel) { - $scope.appEvent('alert-error', ['Panel not found', '']); - return; - } - - $scope.panel.span = 12; - }; - - $scope.init(); - }); -}); diff --git a/public/app/features/panel/solo_panel_ctrl.ts b/public/app/features/panel/solo_panel_ctrl.ts new file mode 100644 index 00000000000..2157d840e3e --- /dev/null +++ b/public/app/features/panel/solo_panel_ctrl.ts @@ -0,0 +1,49 @@ +import angular from 'angular'; +import $ from 'jquery'; + +export class SoloPanelCtrl { + + /** @ngInject */ + constructor($scope, $routeParams, $location, dashboardLoaderSrv, contextSrv) { + var panelId; + + $scope.init = function() { + contextSrv.sidemenu = false; + + var params = $location.search(); + panelId = parseInt(params.panelId); + + $scope.onAppEvent("dashboard-initialized", $scope.initPanelScope); + + dashboardLoaderSrv.loadDashboard($routeParams.type, $routeParams.slug).then(function(result) { + result.meta.soloMode = true; + $scope.initDashboard(result, $scope); + }); + }; + + $scope.initPanelScope = function() { + var panelInfo = $scope.dashboard.getPanelInfoById(panelId); + + // fake row ctrl scope + $scope.ctrl = { + row: panelInfo.row, + dashboard: $scope.dashboard, + }; + + $scope.ctrl.row.height = $(window).height(); + $scope.panel = panelInfo.panel; + $scope.$index = 0; + + if (!$scope.panel) { + $scope.appEvent('alert-error', ['Panel not found', '']); + return; + } + + $scope.panel.span = 12; + }; + + $scope.init(); + } +} + +angular.module('grafana.routes').controller('SoloPanelCtrl', SoloPanelCtrl);