Skip to content
This repository was archived by the owner on May 28, 2022. It is now read-only.

Commit 47e043b

Browse files
committed
Add temporary fix for angular $setValidity leak.
See: angular/angular.js#10509
1 parent e8a82d9 commit 47e043b

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

datepicker-directive.js

+17
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,23 @@ function datepickerFactory($filter, $timeout) {
8989
}
9090

9191
function Link(scope, element, attrs, ctrl) {
92+
// FIXME: temporary fix for angular memory leak:
93+
// https://github.com/angular/angular.js/issues/10509
94+
var formCtrl = element.inheritedData('$formController');
95+
if(formCtrl) {
96+
// clear reference to ngModelCtrl in parent form controller
97+
scope.$on('$destroy', function() {
98+
if(formCtrl.$$success) {
99+
delete formCtrl.$$success.date;
100+
delete formCtrl.$$success['date-disabled'];
101+
}
102+
if(formCtrl.$$error) {
103+
delete formCtrl.$$error.date;
104+
delete formCtrl.$$error['date-disabled'];
105+
}
106+
});
107+
}
108+
92109
scope.$watch(function() {
93110
return ctrl.model;
94111
}, function(value) {

0 commit comments

Comments
 (0)