From 8fb1386c6586ca4a4d0c225d6cb4613ddf0b3f0d Mon Sep 17 00:00:00 2001 From: Brian Hann Date: Wed, 10 Apr 2013 10:00:04 -0500 Subject: [PATCH 1/3] Fixed capitalization of call to pKeyParser (pkeyParser -> pKeyParser) --- src/classes/selectionProvider.js | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/src/classes/selectionProvider.js b/src/classes/selectionProvider.js index 14369c0fc9..94002a18d3 100644 --- a/src/classes/selectionProvider.js +++ b/src/classes/selectionProvider.js @@ -9,10 +9,7 @@ var ngSelectionProvider = function (grid, $scope, $parse) { // function to manage the selection action of a data item (entity) self.ChangeSelection = function (rowItem, evt) { // ctrl-click + shift-click multi-selections - // up/down key navigation in multi-selections - var charCode = evt.which || evt.keyCode; - var isUpDownKeyPress = (charCode === 40 || charCode === 38); - if (evt && (!evt.keyCode || isUpDownKeyPress) && !evt.ctrlKey && !evt.shiftKey) { + if (evt && !evt.keyCode && !evt.ctrlKey && !evt.shiftKey) { self.toggleSelectAll(false, true); } if (evt && evt.shiftKey && !evt.keyCode && self.multi && grid.config.enableRowSelection) { @@ -71,7 +68,7 @@ var ngSelectionProvider = function (grid, $scope, $parse) { } self.setSelection(rowItem, !rowItem.selected); } - } else if (!evt.keyCode || isUpDownKeyPress) { + } else if (!evt.keyCode) { self.setSelection(rowItem, !rowItem.selected); } self.lastClickedRow = rowItem; @@ -83,7 +80,7 @@ var ngSelectionProvider = function (grid, $scope, $parse) { if (grid.config.primaryKey) { var val = self.pKeyParser(entity); angular.forEach(self.selectedItems, function (c) { - if (val == self.pkeyParser(c)) { + if (val == self.pKeyParser(c)) { isSelected = true; } }); @@ -96,6 +93,10 @@ var ngSelectionProvider = function (grid, $scope, $parse) { // just call this func and hand it the rowItem you want to select (or de-select) self.setSelection = function (rowItem, isSelected) { if(grid.config.enableRowSelection){ + rowItem.selected = isSelected; + if (rowItem.clone) { + rowItem.clone.selected = isSelected; + } if (!isSelected) { var indx = self.selectedItems.indexOf(rowItem.entity); if(indx != -1){ @@ -105,21 +106,21 @@ var ngSelectionProvider = function (grid, $scope, $parse) { if (self.selectedItems.indexOf(rowItem.entity) === -1) { if(!self.multi && self.selectedItems.length > 0){ self.toggleSelectAll(false, true); + rowItem.selected = isSelected; + if (rowItem.clone) { + rowItem.clone.selected = isSelected; + } } self.selectedItems.push(rowItem.entity); } } - rowItem.selected = isSelected; - if (rowItem.orig) { - rowItem.orig.selected = isSelected; - } rowItem.afterSelectionChange(rowItem); } }; // @return - boolean indicating if all items are selected or not // @val - boolean indicating whether to select all/de-select all self.toggleSelectAll = function (checkAll, bypass) { - if (bypass || grid.config.beforeSelectionChange(grid.filteredRows, checkAll)) { + if (bypass || grid.config.beforeSelectionChange(grid.filteredRows)) { var selectedlength = self.selectedItems.length; if (selectedlength > 0) { self.selectedItems.length = 0; @@ -134,7 +135,7 @@ var ngSelectionProvider = function (grid, $scope, $parse) { } } if (!bypass) { - grid.config.afterSelectionChange(grid.filteredRows, checkAll); + grid.config.afterSelectionChange(grid.filteredRows); } } }; From 929aa65f0ed59a2c8aeaa46338c1817d50891395 Mon Sep 17 00:00:00 2001 From: Brian Hann Date: Wed, 10 Apr 2013 10:05:04 -0500 Subject: [PATCH 2/3] Resetting selectionProvider.js, unintentional changes --- src/classes/selectionProvider.js | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/src/classes/selectionProvider.js b/src/classes/selectionProvider.js index 94002a18d3..14369c0fc9 100644 --- a/src/classes/selectionProvider.js +++ b/src/classes/selectionProvider.js @@ -9,7 +9,10 @@ var ngSelectionProvider = function (grid, $scope, $parse) { // function to manage the selection action of a data item (entity) self.ChangeSelection = function (rowItem, evt) { // ctrl-click + shift-click multi-selections - if (evt && !evt.keyCode && !evt.ctrlKey && !evt.shiftKey) { + // up/down key navigation in multi-selections + var charCode = evt.which || evt.keyCode; + var isUpDownKeyPress = (charCode === 40 || charCode === 38); + if (evt && (!evt.keyCode || isUpDownKeyPress) && !evt.ctrlKey && !evt.shiftKey) { self.toggleSelectAll(false, true); } if (evt && evt.shiftKey && !evt.keyCode && self.multi && grid.config.enableRowSelection) { @@ -68,7 +71,7 @@ var ngSelectionProvider = function (grid, $scope, $parse) { } self.setSelection(rowItem, !rowItem.selected); } - } else if (!evt.keyCode) { + } else if (!evt.keyCode || isUpDownKeyPress) { self.setSelection(rowItem, !rowItem.selected); } self.lastClickedRow = rowItem; @@ -80,7 +83,7 @@ var ngSelectionProvider = function (grid, $scope, $parse) { if (grid.config.primaryKey) { var val = self.pKeyParser(entity); angular.forEach(self.selectedItems, function (c) { - if (val == self.pKeyParser(c)) { + if (val == self.pkeyParser(c)) { isSelected = true; } }); @@ -93,10 +96,6 @@ var ngSelectionProvider = function (grid, $scope, $parse) { // just call this func and hand it the rowItem you want to select (or de-select) self.setSelection = function (rowItem, isSelected) { if(grid.config.enableRowSelection){ - rowItem.selected = isSelected; - if (rowItem.clone) { - rowItem.clone.selected = isSelected; - } if (!isSelected) { var indx = self.selectedItems.indexOf(rowItem.entity); if(indx != -1){ @@ -106,21 +105,21 @@ var ngSelectionProvider = function (grid, $scope, $parse) { if (self.selectedItems.indexOf(rowItem.entity) === -1) { if(!self.multi && self.selectedItems.length > 0){ self.toggleSelectAll(false, true); - rowItem.selected = isSelected; - if (rowItem.clone) { - rowItem.clone.selected = isSelected; - } } self.selectedItems.push(rowItem.entity); } } + rowItem.selected = isSelected; + if (rowItem.orig) { + rowItem.orig.selected = isSelected; + } rowItem.afterSelectionChange(rowItem); } }; // @return - boolean indicating if all items are selected or not // @val - boolean indicating whether to select all/de-select all self.toggleSelectAll = function (checkAll, bypass) { - if (bypass || grid.config.beforeSelectionChange(grid.filteredRows)) { + if (bypass || grid.config.beforeSelectionChange(grid.filteredRows, checkAll)) { var selectedlength = self.selectedItems.length; if (selectedlength > 0) { self.selectedItems.length = 0; @@ -135,7 +134,7 @@ var ngSelectionProvider = function (grid, $scope, $parse) { } } if (!bypass) { - grid.config.afterSelectionChange(grid.filteredRows); + grid.config.afterSelectionChange(grid.filteredRows, checkAll); } } }; From 8134b61ac702eae20f05538522d89728b145c241 Mon Sep 17 00:00:00 2001 From: Brian Hann Date: Wed, 10 Apr 2013 10:06:29 -0500 Subject: [PATCH 3/3] Fixed capitalization of call to pKeyParser (pkeyParser -> pKeyParser) --- src/classes/selectionProvider.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/classes/selectionProvider.js b/src/classes/selectionProvider.js index 14369c0fc9..c30b5a467e 100644 --- a/src/classes/selectionProvider.js +++ b/src/classes/selectionProvider.js @@ -83,7 +83,7 @@ var ngSelectionProvider = function (grid, $scope, $parse) { if (grid.config.primaryKey) { var val = self.pKeyParser(entity); angular.forEach(self.selectedItems, function (c) { - if (val == self.pkeyParser(c)) { + if (val == self.pKeyParser(c)) { isSelected = true; } });