diff --git a/package.json b/package.json index d2760bbad02..c951e5241c1 100644 --- a/package.json +++ b/package.json @@ -17,6 +17,7 @@ "@babel/preset-react": "^7.0.0", "@babel/preset-typescript": "^7.1.0", "@rtsao/plugin-proposal-class-properties": "^7.0.1-patch.1", + "@types/angular": "^1.6.6", "@types/chalk": "^2.2.0", "@types/classnames": "^2.2.6", "@types/commander": "^2.12.2", diff --git a/packages/grafana-ui/src/components/Gauge/Gauge.tsx b/packages/grafana-ui/src/components/Gauge/Gauge.tsx index d04daae3dab..aa6d2a40258 100644 --- a/packages/grafana-ui/src/components/Gauge/Gauge.tsx +++ b/packages/grafana-ui/src/components/Gauge/Gauge.tsx @@ -30,7 +30,7 @@ const FONT_SCALE = 1; export class Gauge extends PureComponent { canvasElement: any; - static defaultProps = { + static defaultProps: Partial = { maxValue: 100, valueMappings: [], minValue: 0, @@ -41,7 +41,6 @@ export class Gauge extends PureComponent { thresholds: [], unit: 'none', stat: 'avg', - theme: GrafanaThemeType.Dark, }; componentDidMount() { @@ -134,7 +133,7 @@ export class Gauge extends PureComponent { Math.min(dimension / 5, 100) * (formattedValue !== null ? this.getFontScale(formattedValue.length) : 1); const thresholdLabelFontSize = fontSize / 2.5; - const options = { + const options: any = { series: { gauges: { gauge: { diff --git a/public/app/core/components/jsontree/jsontree.ts b/public/app/core/components/jsontree/jsontree.ts index 4bcb2f632c2..a101007f129 100644 --- a/public/app/core/components/jsontree/jsontree.ts +++ b/public/app/core/components/jsontree/jsontree.ts @@ -10,13 +10,13 @@ coreModule.directive('jsonTree', [ startExpanded: '@', rootName: '@', }, - link: (scope, elem) => { + link: (scope: any, elem) => { const jsonExp = new JsonExplorer(scope.object, 3, { animateOpen: true, }); const html = jsonExp.render(true); - elem.html(html); + elem.replaceAll(html); }, }; }, diff --git a/public/app/core/directives/give_focus.ts b/public/app/core/directives/give_focus.ts index 4ef574ec68e..37549ad7229 100644 --- a/public/app/core/directives/give_focus.ts +++ b/public/app/core/directives/give_focus.ts @@ -14,7 +14,7 @@ coreModule.directive('giveFocus', () => { } setTimeout(() => { element.focus(); - const domEl = element[0]; + const domEl: any = element[0]; if (domEl.setSelectionRange) { const pos = element.val().length * 2; domEl.setSelectionRange(pos, pos); diff --git a/public/app/features/datasources/settings/HttpSettingsCtrl.ts b/public/app/features/datasources/settings/HttpSettingsCtrl.ts index 47022c283f8..5cdebe7b9ab 100644 --- a/public/app/features/datasources/settings/HttpSettingsCtrl.ts +++ b/public/app/features/datasources/settings/HttpSettingsCtrl.ts @@ -9,7 +9,7 @@ coreModule.directive('datasourceHttpSettings', () => { }, templateUrl: 'public/app/features/datasources/partials/http_settings.html', link: { - pre: ($scope, elem, attrs) => { + pre: ($scope: any, elem, attrs) => { // do not show access option if direct access is disabled $scope.showAccessOption = $scope.noDirectAccess !== 'true'; $scope.showAccessHelp = false; diff --git a/public/app/features/panel/panel_directive.ts b/public/app/features/panel/panel_directive.ts index 31da05a2d4f..8dff4de5872 100644 --- a/public/app/features/panel/panel_directive.ts +++ b/public/app/features/panel/panel_directive.ts @@ -33,7 +33,7 @@ module.directive('grafanaPanel', ($rootScope, $document, $timeout) => { template: panelTemplate, transclude: true, scope: { ctrl: '=' }, - link: (scope, elem) => { + link: (scope: any, elem) => { const panelContainer = elem.find('.panel-container'); const panelContent = elem.find('.panel-content'); const cornerInfoElem = elem.find('.panel-info-corner'); @@ -67,7 +67,7 @@ module.directive('grafanaPanel', ($rootScope, $document, $timeout) => { // set initial transparency if (ctrl.panel.transparent) { transparentLastState = true; - panelContainer.addClass('panel-transparent', true); + panelContainer.addClass('panel-transparent'); } // update scrollbar after mounting diff --git a/public/app/plugins/datasource/stackdriver/query_filter_ctrl.ts b/public/app/plugins/datasource/stackdriver/query_filter_ctrl.ts index 889720ad286..0cbd1bac564 100644 --- a/public/app/plugins/datasource/stackdriver/query_filter_ctrl.ts +++ b/public/app/plugins/datasource/stackdriver/query_filter_ctrl.ts @@ -2,28 +2,6 @@ import coreModule from 'app/core/core_module'; import _ from 'lodash'; import { FilterSegments, DefaultFilterValue } from './filter_segments'; -export class StackdriverFilter { - /** @ngInject */ - constructor() { - return { - templateUrl: 'public/app/plugins/datasource/stackdriver/partials/query.filter.html', - controller: 'StackdriverFilterCtrl', - controllerAs: 'ctrl', - bindToController: true, - restrict: 'E', - scope: { - labelData: '<', - loading: '<', - groupBys: '<', - filters: '<', - filtersChanged: '&', - groupBysChanged: '&', - hideGroupBys: '<', - }, - }; - } -} - export class StackdriverFilterCtrl { defaultRemoveGroupByValue = '-- remove group by --'; resourceTypeValue = 'resource.type'; @@ -193,5 +171,24 @@ export class StackdriverFilterCtrl { } } -coreModule.directive('stackdriverFilter', StackdriverFilter); -coreModule.controller('StackdriverFilterCtrl', StackdriverFilterCtrl); +/** @ngInject */ +function stackdriverFilter() { + return { + templateUrl: 'public/app/plugins/datasource/stackdriver/partials/query.filter.html', + controller: StackdriverFilterCtrl, + controllerAs: 'ctrl', + bindToController: true, + restrict: 'E', + scope: { + labelData: '<', + loading: '<', + groupBys: '<', + filters: '<', + filtersChanged: '&', + groupBysChanged: '&', + hideGroupBys: '<', + }, + }; +} + +coreModule.directive('stackdriverFilter', stackdriverFilter); diff --git a/public/app/plugins/panel/heatmap/color_legend.ts b/public/app/plugins/panel/heatmap/color_legend.ts index c36fad45cba..c90b394fb02 100644 --- a/public/app/plugins/panel/heatmap/color_legend.ts +++ b/public/app/plugins/panel/heatmap/color_legend.ts @@ -19,7 +19,7 @@ coreModule.directive('colorLegend', () => { return { restrict: 'E', template: '
', - link: (scope, elem, attrs) => { + link: (scope: any, elem, attrs) => { const ctrl = scope.ctrl; const panel = scope.ctrl.panel; @@ -55,7 +55,7 @@ coreModule.directive('heatmapLegend', () => { return { restrict: 'E', template: `
`, - link: (scope, elem, attrs) => { + link: (scope: any, elem, attrs) => { const ctrl = scope.ctrl; const panel = scope.ctrl.panel; diff --git a/yarn.lock b/yarn.lock index 0a3513595a8..c75b8e5a57b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1514,6 +1514,11 @@ react-input-autosize "^2.2.1" react-transition-group "^2.2.1" +"@types/angular@^1.6.6": + version "1.6.54" + resolved "https://registry.yarnpkg.com/@types/angular/-/angular-1.6.54.tgz#f9d5a03e4da7b021a6dabe5d63e899ed4567a5bd" + integrity sha512-xA1FuozWXeRQ7FClUbvk8ePL+dydBeDoCWRPFTHU5+8uvVtIIfLGiHA8CMkwsbddFCYnTDVbLxG85a/HBx7LtA== + "@types/chalk@^2.2.0": version "2.2.0" resolved "https://registry.yarnpkg.com/@types/chalk/-/chalk-2.2.0.tgz#b7f6e446f4511029ee8e3f43075fb5b73fbaa0ba"