From a8547ae36eebc234c1a7b802c0607ce069bbc44e Mon Sep 17 00:00:00 2001 From: Patrick O'Carroll Date: Thu, 30 Aug 2018 10:49:18 +0200 Subject: [PATCH] added this:any to functions and changed functions to arrowfunctions --- public/app/containers/Explore/utils/dom.ts | 2 +- .../components/form_dropdown/form_dropdown.ts | 2 +- .../query_part/query_part_editor.ts | 8 ++-- public/app/core/directives/tags.ts | 4 +- public/app/core/jquery_extended.ts | 4 +- public/app/core/services/ng_react.ts | 4 +- public/app/core/services/popover_srv.ts | 2 +- public/app/core/services/segment_srv.ts | 4 +- .../features/dashboard/dashboard_migration.ts | 15 +++--- .../features/dashboard/unsaved_changes_srv.ts | 2 +- .../templating/specs/variable_srv.test.ts | 2 +- .../specs/variable_srv_init.test.ts | 2 +- .../datasource/elasticsearch/datasource.ts | 4 +- .../elasticsearch/specs/datasource.test.ts | 2 +- .../datasource/graphite/add_graphite_func.ts | 2 +- .../plugins/datasource/graphite/datasource.ts | 2 +- .../datasource/graphite/func_editor.ts | 8 ++-- .../app/plugins/datasource/graphite/gfunc.ts | 46 ++++++++----------- 18 files changed, 53 insertions(+), 62 deletions(-) diff --git a/public/app/containers/Explore/utils/dom.ts b/public/app/containers/Explore/utils/dom.ts index 6ba21b54c83..6ab3de39923 100644 --- a/public/app/containers/Explore/utils/dom.ts +++ b/public/app/containers/Explore/utils/dom.ts @@ -1,6 +1,6 @@ // Node.closest() polyfill if ('Element' in window && !Element.prototype.closest) { - Element.prototype.closest = function(s) { + Element.prototype.closest = function(this: any, s) { const matches = (this.document || this.ownerDocument).querySelectorAll(s); let el = this; let i; diff --git a/public/app/core/components/form_dropdown/form_dropdown.ts b/public/app/core/components/form_dropdown/form_dropdown.ts index 4604e1d7838..f2502b42196 100644 --- a/public/app/core/components/form_dropdown/form_dropdown.ts +++ b/public/app/core/components/form_dropdown/form_dropdown.ts @@ -1,7 +1,7 @@ import _ from 'lodash'; import coreModule from '../../core_module'; -function typeaheadMatcher(item) { +function typeaheadMatcher(this: any, item) { var str = this.query; if (str === '') { return true; diff --git a/public/app/core/components/query_part/query_part_editor.ts b/public/app/core/components/query_part/query_part_editor.ts index cab7907a9a2..bf4cef5b2fb 100644 --- a/public/app/core/components/query_part/query_part_editor.ts +++ b/public/app/core/components/query_part/query_part_editor.ts @@ -33,7 +33,7 @@ export function queryPartEditorDirective($compile, templateSrv) { $scope.partActions = []; - function clickFuncParam(paramIndex) { + function clickFuncParam(this: any, paramIndex) { /*jshint validthis:true */ const $link = $(this); const $input = $link.next(); @@ -53,7 +53,7 @@ export function queryPartEditorDirective($compile, templateSrv) { } } - function inputBlur(paramIndex) { + function inputBlur(this: any, paramIndex) { /*jshint validthis:true */ const $input = $(this); const $link = $input.prev(); @@ -72,14 +72,14 @@ export function queryPartEditorDirective($compile, templateSrv) { $link.show(); } - function inputKeyPress(paramIndex, e) { + function inputKeyPress(this: any, paramIndex, e) { /*jshint validthis:true */ if (e.which === 13) { inputBlur.call(this, paramIndex); } } - function inputKeyDown() { + function inputKeyDown(this: any) { /*jshint validthis:true */ this.style.width = (3 + this.value.length) * 8 + 'px'; } diff --git a/public/app/core/directives/tags.ts b/public/app/core/directives/tags.ts index 7cee3ac338d..85bb6dbe069 100644 --- a/public/app/core/directives/tags.ts +++ b/public/app/core/directives/tags.ts @@ -69,7 +69,7 @@ function bootstrapTagsinput() { }, }); - select.on('itemAdded', function(event) { + select.on('itemAdded', event => { if (scope.model.indexOf(event.item) === -1) { scope.model.push(event.item); if (scope.onTagsUpdated) { @@ -79,7 +79,7 @@ function bootstrapTagsinput() { const tagElement = select .next() .children('span') - .filter(function() { + .filter(() => { return $(this).text() === event.item; }); setColor(event.item, tagElement); diff --git a/public/app/core/jquery_extended.ts b/public/app/core/jquery_extended.ts index f6c28c69f35..241baa1af22 100644 --- a/public/app/core/jquery_extended.ts +++ b/public/app/core/jquery_extended.ts @@ -9,10 +9,10 @@ $.fn.place_tt = (function() { offset: 5, }; - return function(x, y, opts) { + return function(this: any, x, y, opts) { opts = $.extend(true, {}, defaults, opts); - return this.each(function() { + return this.each(() => { const $tooltip = $(this); let width, height; diff --git a/public/app/core/services/ng_react.ts b/public/app/core/services/ng_react.ts index 8c262275ffa..f76e2d29725 100644 --- a/public/app/core/services/ng_react.ts +++ b/public/app/core/services/ng_react.ts @@ -204,7 +204,7 @@ const reactComponent = function($injector) { attrs.props ? watchProps(attrs.watchDepth, scope, [attrs.props], renderMyComponent) : renderMyComponent(); // cleanup when scope is destroyed - scope.$on('$destroy', function() { + scope.$on('$destroy', () => { if (!attrs.onScopeDestroy) { ReactDOM.unmountComponentAtNode(elem[0]); } else { @@ -280,7 +280,7 @@ const reactDirective = function($injector) { props.length ? watchProps(attrs.watchDepth, scope, propExpressions, renderMyComponent) : renderMyComponent(); // cleanup when scope is destroyed - scope.$on('$destroy', function() { + scope.$on('$destroy', () => { if (!attrs.onScopeDestroy) { ReactDOM.unmountComponentAtNode(elem[0]); } else { diff --git a/public/app/core/services/popover_srv.ts b/public/app/core/services/popover_srv.ts index 33568cda8d3..5072d04fa9f 100644 --- a/public/app/core/services/popover_srv.ts +++ b/public/app/core/services/popover_srv.ts @@ -3,7 +3,7 @@ import coreModule from 'app/core/core_module'; import Drop from 'tether-drop'; /** @ngInject **/ -function popoverSrv($compile, $rootScope, $timeout) { +function popoverSrv(this: any, $compile, $rootScope, $timeout) { let openDrop = null; this.close = function() { diff --git a/public/app/core/services/segment_srv.ts b/public/app/core/services/segment_srv.ts index 5250febc11a..f03f5eca546 100644 --- a/public/app/core/services/segment_srv.ts +++ b/public/app/core/services/segment_srv.ts @@ -2,10 +2,10 @@ import _ from 'lodash'; import coreModule from '../core_module'; /** @ngInject */ -export function uiSegmentSrv($sce, templateSrv) { +export function uiSegmentSrv(this: any, $sce, templateSrv) { const self = this; - function MetricSegment(options) { + function MetricSegment(this: any, options) { if (options === '*' || options.value === '*') { this.value = '*'; this.html = $sce.trustAsHtml(''); diff --git a/public/app/features/dashboard/dashboard_migration.ts b/public/app/features/dashboard/dashboard_migration.ts index 88bd178c128..f2ccfc64169 100644 --- a/public/app/features/dashboard/dashboard_migration.ts +++ b/public/app/features/dashboard/dashboard_migration.ts @@ -140,15 +140,12 @@ export class DashboardMigrator { } // ensure query refIds - panelUpgrades.push(function(panel) { - _.each( - panel.targets, - function(target) { - if (!target.refId) { - target.refId = this.dashboard.getNextQueryLetter(panel); - } - }.bind(this) - ); + panelUpgrades.push(panel => { + _.each(panel.targets, target => { + if (!target.refId) { + target.refId = this.dashboard.getNextQueryLetter(panel); + } + }); }); } diff --git a/public/app/features/dashboard/unsaved_changes_srv.ts b/public/app/features/dashboard/unsaved_changes_srv.ts index 0406e6a55d7..f0a8bf40501 100644 --- a/public/app/features/dashboard/unsaved_changes_srv.ts +++ b/public/app/features/dashboard/unsaved_changes_srv.ts @@ -2,7 +2,7 @@ import angular from 'angular'; import { ChangeTracker } from './change_tracker'; /** @ngInject */ -export function unsavedChangesSrv($rootScope, $q, $location, $timeout, contextSrv, dashboardSrv, $window) { +export function unsavedChangesSrv(this: any, $rootScope, $q, $location, $timeout, contextSrv, dashboardSrv, $window) { this.init = function(dashboard, scope) { this.tracker = new ChangeTracker(dashboard, scope, 1000, $location, $window, $timeout, contextSrv, $rootScope); return this.tracker; diff --git a/public/app/features/templating/specs/variable_srv.test.ts b/public/app/features/templating/specs/variable_srv.test.ts index 28fd3860ed3..96b3e5b81b6 100644 --- a/public/app/features/templating/specs/variable_srv.test.ts +++ b/public/app/features/templating/specs/variable_srv.test.ts @@ -3,7 +3,7 @@ import { VariableSrv } from '../variable_srv'; import moment from 'moment'; import $q from 'q'; -describe('VariableSrv', function() { +describe('VariableSrv', function(this: any) { const ctx = { datasourceSrv: {}, timeSrv: { diff --git a/public/app/features/templating/specs/variable_srv_init.test.ts b/public/app/features/templating/specs/variable_srv_init.test.ts index f06f533e429..978ad824d69 100644 --- a/public/app/features/templating/specs/variable_srv_init.test.ts +++ b/public/app/features/templating/specs/variable_srv_init.test.ts @@ -4,7 +4,7 @@ import _ from 'lodash'; import { VariableSrv } from '../variable_srv'; import $q from 'q'; -describe('VariableSrv init', function() { +describe('VariableSrv init', function(this: any) { const templateSrv = { init: vars => { this.variables = vars; diff --git a/public/app/plugins/datasource/elasticsearch/datasource.ts b/public/app/plugins/datasource/elasticsearch/datasource.ts index 632f8add61f..a91f7d09971 100644 --- a/public/app/plugins/datasource/elasticsearch/datasource.ts +++ b/public/app/plugins/datasource/elasticsearch/datasource.ts @@ -203,7 +203,7 @@ export class ElasticDatasource { this.timeSrv.setTime({ from: 'now-1m', to: 'now' }, true); // validate that the index exist and has date field return this.getFields({ type: 'date' }).then( - function(dateFields) { + dateFields => { const timeField = _.find(dateFields, { text: this.timeField }); if (!timeField) { return { @@ -212,7 +212,7 @@ export class ElasticDatasource { }; } return { status: 'success', message: 'Index OK. Time field name OK.' }; - }.bind(this), + }, function(err) { console.log(err); if (err.data && err.data.error) { diff --git a/public/app/plugins/datasource/elasticsearch/specs/datasource.test.ts b/public/app/plugins/datasource/elasticsearch/specs/datasource.test.ts index d37d1d86d54..a54a3f50f86 100644 --- a/public/app/plugins/datasource/elasticsearch/specs/datasource.test.ts +++ b/public/app/plugins/datasource/elasticsearch/specs/datasource.test.ts @@ -5,7 +5,7 @@ import { ElasticDatasource } from '../datasource'; import * as dateMath from 'app/core/utils/datemath'; -describe('ElasticDatasource', function() { +describe('ElasticDatasource', function(this: any) { const backendSrv = { datasourceRequest: jest.fn(), }; diff --git a/public/app/plugins/datasource/graphite/add_graphite_func.ts b/public/app/plugins/datasource/graphite/add_graphite_func.ts index f025b4f1830..97e8ce4e34a 100644 --- a/public/app/plugins/datasource/graphite/add_graphite_func.ts +++ b/public/app/plugins/datasource/graphite/add_graphite_func.ts @@ -90,7 +90,7 @@ export function graphiteAddFunc($compile) { }; $(elem) - .on('mouseenter', 'ul.dropdown-menu li', function() { + .on('mouseenter', 'ul.dropdown-menu li', () => { cleanUpDrop(); var funcDef; diff --git a/public/app/plugins/datasource/graphite/datasource.ts b/public/app/plugins/datasource/graphite/datasource.ts index e86bf828207..e6c486d1c1f 100644 --- a/public/app/plugins/datasource/graphite/datasource.ts +++ b/public/app/plugins/datasource/graphite/datasource.ts @@ -4,7 +4,7 @@ import { isVersionGtOrEq, SemVersion } from 'app/core/utils/version'; import gfunc from './gfunc'; /** @ngInject */ -export function GraphiteDatasource(instanceSettings, $q, backendSrv, templateSrv) { +export function GraphiteDatasource(this: any, instanceSettings, $q, backendSrv, templateSrv) { this.basicAuth = instanceSettings.basicAuth; this.url = instanceSettings.url; this.name = instanceSettings.name; diff --git a/public/app/plugins/datasource/graphite/func_editor.ts b/public/app/plugins/datasource/graphite/func_editor.ts index 2d68dbbfa8a..efc327404dd 100644 --- a/public/app/plugins/datasource/graphite/func_editor.ts +++ b/public/app/plugins/datasource/graphite/func_editor.ts @@ -28,7 +28,7 @@ export function graphiteFuncEditor($compile, templateSrv, popoverSrv) { var paramCountAtLink = 0; var cancelBlur = null; - function clickFuncParam(paramIndex) { + function clickFuncParam(this: any, paramIndex) { /*jshint validthis:true */ const $link = $(this); @@ -108,7 +108,7 @@ export function graphiteFuncEditor($compile, templateSrv, popoverSrv) { } // this = input element - function inputBlur(paramIndex) { + function inputBlur(this: any, paramIndex) { /*jshint validthis:true */ const inputElem = this; // happens long before the click event on the typeahead options @@ -118,14 +118,14 @@ export function graphiteFuncEditor($compile, templateSrv, popoverSrv) { }, 200); } - function inputKeyPress(paramIndex, e) { + function inputKeyPress(this: any, paramIndex, e) { /*jshint validthis:true */ if (e.which === 13) { $(this).blur(); } } - function inputKeyDown() { + function inputKeyDown(this: any) { /*jshint validthis:true */ this.style.width = (3 + this.value.length) * 8 + 'px'; } diff --git a/public/app/plugins/datasource/graphite/gfunc.ts b/public/app/plugins/datasource/graphite/gfunc.ts index aee3e6ea19a..74a2b0a753d 100644 --- a/public/app/plugins/datasource/graphite/gfunc.ts +++ b/public/app/plugins/datasource/graphite/gfunc.ts @@ -964,26 +964,23 @@ export class FuncInstance { render(metricExp) { const str = this.def.name + '('; - const parameters = _.map( - this.params, - function(value, index) { - var paramType; - if (index < this.def.params.length) { - paramType = this.def.params[index].type; - } else if (_.get(_.last(this.def.params), 'multiple')) { - paramType = _.get(_.last(this.def.params), 'type'); - } - // param types that should never be quoted - if (_.includes(['value_or_series', 'boolean', 'int', 'float', 'node'], paramType)) { - return value; - } - // param types that might be quoted - if (_.includes(['int_or_interval', 'node_or_tag'], paramType) && _.isFinite(+value)) { - return _.toString(+value); - } - return "'" + value + "'"; - }.bind(this) - ); + const parameters = _.map(this.params, (value, index) => { + var paramType; + if (index < this.def.params.length) { + paramType = this.def.params[index].type; + } else if (_.get(_.last(this.def.params), 'multiple')) { + paramType = _.get(_.last(this.def.params), 'type'); + } + // param types that should never be quoted + if (_.includes(['value_or_series', 'boolean', 'int', 'float', 'node'], paramType)) { + return value; + } + // param types that might be quoted + if (_.includes(['int_or_interval', 'node_or_tag'], paramType) && _.isFinite(+value)) { + return _.toString(+value); + } + return "'" + value + "'"; + }); // don't send any blank parameters to graphite while (parameters[parameters.length - 1] === '') { @@ -1017,12 +1014,9 @@ export class FuncInstance { // handle optional parameters // if string contains ',' and next param is optional, split and update both if (this._hasMultipleParamsInString(strValue, index)) { - _.each( - strValue.split(','), - function(partVal, idx) { - this.updateParam(partVal.trim(), index + idx); - }.bind(this) - ); + _.each(strValue.split(','), (partVal, idx) => { + this.updateParam(partVal.trim(), index + idx); + }); return; }