From 68a22aef65c67b9314855f852033da8c97a20476 Mon Sep 17 00:00:00 2001 From: Shane Walters Date: Fri, 23 Jan 2015 21:44:19 -0600 Subject: [PATCH] fix(edit) edit cell scope was not being destroyed when element was removed --- src/features/edit/js/gridEdit.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/features/edit/js/gridEdit.js b/src/features/edit/js/gridEdit.js index f47f2e0e16..f08e096992 100644 --- a/src/features/edit/js/gridEdit.js +++ b/src/features/edit/js/gridEdit.js @@ -406,6 +406,8 @@ var cellModel; var cancelTouchstartTimeout; + var editCellScope; + registerBeginEditEvents(); function registerBeginEditEvents() { @@ -634,7 +636,8 @@ cancelBeginEditEvents(); var cellElement = angular.element(html); $elm.append(cellElement); - $compile(cellElement)($scope.$new()); + editCellScope = $scope.$new(); + $compile(cellElement)(editCellScope); var gridCellContentsEl = angular.element($elm.children()[0]); isFocusedBeforeEdit = gridCellContentsEl.hasClass('ui-grid-cell-focus'); gridCellContentsEl.addClass('ui-grid-cell-contents-hidden'); @@ -676,6 +679,7 @@ } var gridCellContentsEl = angular.element($elm.children()[0]); //remove edit element + editCellScope.$destroy(); angular.element($elm.children()[1]).remove(); gridCellContentsEl.removeClass('ui-grid-cell-contents-hidden'); if (retainFocus && isFocusedBeforeEdit) {