From 33d7598d3c83e1ef71ff69a336074776ef40a9e3 Mon Sep 17 00:00:00 2001 From: Shannon Date: Fri, 29 Sep 2017 13:16:53 +1000 Subject: [PATCH] Adding key fallback to list view select functions to fix issue when selecting multiple items with an ID of int.MaxValue --- .../src/common/services/listviewhelper.service.js | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/common/services/listviewhelper.service.js b/src/Umbraco.Web.UI.Client/src/common/services/listviewhelper.service.js index 84bb4333a2..2ffdc3f1dd 100644 --- a/src/Umbraco.Web.UI.Client/src/common/services/listviewhelper.service.js +++ b/src/Umbraco.Web.UI.Client/src/common/services/listviewhelper.service.js @@ -269,7 +269,8 @@ var isSelected = false; for (var i = 0; selection.length > i; i++) { var selectedItem = selection[i]; - if (item.id === selectedItem.id || item.key === selectedItem.key) { + // if item.id is 2147483647 (int.MaxValue) use item.key + if ((item.id !== 2147483647 && item.id === selectedItem.id) || item.key === selectedItem.key) { isSelected = true; } } @@ -294,7 +295,8 @@ function deselectItem(item, selection) { for (var i = 0; selection.length > i; i++) { var selectedItem = selection[i]; - if (item.id === selectedItem.id) { + // if item.id is 2147483647 (int.MaxValue) use item.key + if ((item.id !== 2147483647 && item.id === selectedItem.id) || item.key === selectedItem.key) { selection.splice(i, 1); item.selected = false; } @@ -366,7 +368,7 @@ var item = items[i]; if (checkbox.checked) { - selection.push({ id: item.id }); + selection.push({ id: item.id, key: item.key }); } else { clearSelection = true; } @@ -405,7 +407,8 @@ for (var selectedIndex = 0; selection.length > selectedIndex; selectedIndex++) { var selectedItem = selection[selectedIndex]; - if (item.id === selectedItem.id) { + // if item.id is 2147483647 (int.MaxValue) use item.key + if ((item.id !== 2147483647 && item.id === selectedItem.id) || item.key === selectedItem.key) { numberOfSelectedItem++; } }