From d4a1eea8e55e0112c66dfbbc107ea6938845f8ce Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Sat, 9 Jan 2016 20:49:54 +0100 Subject: [PATCH] Fixes: U4-7575 Deselecting items in the MNTP are not deselected --- .../treepicker/treepicker.controller.js | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/views/common/overlays/treepicker/treepicker.controller.js b/src/Umbraco.Web.UI.Client/src/views/common/overlays/treepicker/treepicker.controller.js index 76fc8509ce..2e530235d3 100644 --- a/src/Umbraco.Web.UI.Client/src/views/common/overlays/treepicker/treepicker.controller.js +++ b/src/Umbraco.Web.UI.Client/src/views/common/overlays/treepicker/treepicker.controller.js @@ -267,12 +267,23 @@ angular.module("umbraco").controller("Umbraco.Overlays.TreePickerController", function multiSelectItem(item) { - var i = $scope.model.selection.indexOf(item); + var found = false; + var foundIndex = 0; - if (i < 0) { - $scope.model.selection.push(item); + if($scope.model.selection.length > 0) { + for(i = 0; $scope.model.selection.length > i; i++) { + var selectedItem = $scope.model.selection[i]; + if(selectedItem.id === item.id) { + found = true; + foundIndex = i; + } + } + } + + if(found) { + $scope.model.selection.splice(foundIndex, 1); } else { - $scope.model.selection.splice(i, 1); + $scope.model.selection.push(item); } }