From 06d3e4e49c868b9c7ea4cd382ddc0fd7c5690af8 Mon Sep 17 00:00:00 2001 From: Erik Hughes Date: Tue, 13 Dec 2016 07:41:06 +0100 Subject: [PATCH 1/2] $timout to setTimeout in _modelChangeInDirective() Changed $timeout to setTimeout in _modelChangeInDirective function to avoid angular overhead creating a new defer for each marker, when all that is required is a simple delay in execution. The $timeout is not noticeable in Chrome and Firefox however causes substantial freeze/lock in Internet Explorer and Edge after creating new markers. *Note: I don't think the 10 ms delay is required, 0 is a enough, due to the fact that setTimeout queues the execution to occur after the current. However I don't want to cause any new issues, because this solution seems hacky enough.* --- src/services/leafletHelpers.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/services/leafletHelpers.js b/src/services/leafletHelpers.js index afa34e52..d7d545d3 100644 --- a/src/services/leafletHelpers.js +++ b/src/services/leafletHelpers.js @@ -145,7 +145,7 @@ angular.module('ui-leaflet').service('leafletHelpers', function ($q, $log, $time trapObj[trapField] = true; let ret = cbToExec(); - $timeout(()=> { + setTimeout(()=> { trapObj[trapField] = false; }, _watchTrapDelayMilliSec); return ret; From 19500f743b54482df32521ec9edaeb4f8eb6ac6c Mon Sep 17 00:00:00 2001 From: Erik Hughes Date: Tue, 13 Dec 2016 07:47:52 +0100 Subject: [PATCH 2/2] Removed unused $timeout DI --- src/services/leafletHelpers.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/services/leafletHelpers.js b/src/services/leafletHelpers.js index d7d545d3..7d0b9701 100644 --- a/src/services/leafletHelpers.js +++ b/src/services/leafletHelpers.js @@ -1,4 +1,4 @@ -angular.module('ui-leaflet').service('leafletHelpers', function ($q, $log, $timeout) { +angular.module('ui-leaflet').service('leafletHelpers', function ($q, $log) { var _errorHeader = '[ui-leaflet] '; var _copy = angular.copy; var _clone = _copy;