remove eventlisteners on destroy

This commit is contained in:
Niels Lyngsø
2019-02-08 13:06:56 +01:00
parent 14db9da57c
commit 1860a175d1
2 changed files with 19 additions and 3 deletions

View File

@@ -13,7 +13,7 @@
var scrollableNode = appRootNode.closest(".umb-scrollable");
scrollableNode.addEventListener("scroll", onScroll);
scrollableNode.addEventListener("mousehweel", cancelScrollTween);
scrollableNode.addEventListener("mousewheel", cancelScrollTween);
function onScroll(event) {
@@ -87,7 +87,7 @@
$scope.registerPropertyGroup = function(element, appAnchor) {
propertyGroupNodesDictionary[appAnchor] = element;
}
};
$scope.$on("editors.apps.appChanged", function($event, $args) {
// if app changed to this app, then we want to scroll to the current anchor
@@ -104,6 +104,12 @@
}
});
//ensure to unregister from all dom-events
$scope.$on('$destroy', function () {
cancelScrollTween();
scrollableNode.removeEventListener("scroll", onScroll);
scrollableNode.removeEventListener("mousehweel", cancelScrollTween);
});
}

View File

@@ -10,15 +10,25 @@
};
vm.anchorClicked = function(anchor, $event) {
vm.onOpenAnchor({item:vm.item, anchor:anchor});
$event.stopPropagation();
$event.preventDefault();
};
// needed to make sure that we update what anchors are active.
vm.mouseOver = function() {
$scope.$digest();
}
var componentNode = $element[0];
componentNode.classList.add('umb-sub-views-nav-item');
componentNode.addEventListener('mouseover', vm.mouseOver);
//ensure to unregister from all dom-events
$scope.$on('$destroy', function () {
componentNode.removeEventListener("mouseover", vm.mouseOver);
});
}