Skip to content

Commit

Permalink
fixing issue #250
Browse files Browse the repository at this point in the history
  • Loading branch information
orneryd committed Mar 29, 2013
1 parent 6330b6a commit 4d46310
Show file tree
Hide file tree
Showing 8 changed files with 29 additions and 25 deletions.
13 changes: 7 additions & 6 deletions build/ng-grid.debug.js
Expand Up @@ -2,7 +2,7 @@
* ng-grid JavaScript Library
* Authors: https://github.com/angular-ui/ng-grid/blob/master/README.md
* License: MIT (http://www.opensource.org/licenses/mit-license.php)
* Compiled At: 03/29/2013 14:07
* Compiled At: 03/29/2013 14:44
***********************************************/
(function(window) {
'use strict';
Expand Down Expand Up @@ -2477,10 +2477,9 @@ var ngSelectionProvider = function (grid, $scope, $parse) {
self.selectedIndex = grid.config.selectedIndex;
self.lastClickedRow = undefined;
self.ignoreSelectedItemChanges = false; // flag to prevent circular event loops keeping single-select var in sync
self.pKeyParser = $parse(grid.config.primaryKey);
self.pKeyParser = $parse(grid.config.primaryKey);
// function to manage the selection action of a data item (entity)
self.ChangeSelection = function (r, evt) {
var rowItem = r.isClone ? grid.filteredRows[r.rowIndex] : r;
self.ChangeSelection = function (rowItem, evt) {
// ctrl-click + shift-click multi-selections
if (evt && !evt.ctrlKey && !evt.shiftKey && evt.originalEvent.constructor.name == "MouseEvent") {
self.toggleSelectAll(false, true);
Expand Down Expand Up @@ -2564,8 +2563,7 @@ 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 (r, isSelected) {
var rowItem = r.isClone ? grid.filteredRows[r.rowIndex] : r;
self.setSelection = function (rowItem, isSelected) {
if(grid.config.enableRowSelection){
rowItem.selected = isSelected;
if (rowItem.clone) {
Expand Down Expand Up @@ -2850,6 +2848,9 @@ ngGridDirectives.directive('ngGrid', ['$compile', '$filter', '$templateCache', '
// method for user to select a specific row programatically
options.selectRow = function (rowIndex, state) {
if (grid.rowCache[rowIndex]) {
if (grid.rowCache[rowIndex].clone) {
grid.rowCache[rowIndex].clone.setSelection(state ? true : false);
}
grid.rowCache[rowIndex].setSelection(state ? true : false);
}
};
Expand Down
11 changes: 6 additions & 5 deletions build/ng-grid.js
Expand Up @@ -2,7 +2,7 @@
* ng-grid JavaScript Library
* Authors: https://github.com/angular-ui/ng-grid/blob/master/README.md
* License: MIT (http://www.opensource.org/licenses/mit-license.php)
* Compiled At: 03/29/2013 14:07
* Compiled At: 03/29/2013 14:44
***********************************************/
(function(window) {
'use strict';
Expand Down Expand Up @@ -2199,8 +2199,7 @@ var ngSelectionProvider = function (grid, $scope, $parse) {
self.lastClickedRow = undefined;
self.ignoreSelectedItemChanges = false;
self.pKeyParser = $parse(grid.config.primaryKey);
self.ChangeSelection = function (r, evt) {
var rowItem = r.isClone ? grid.filteredRows[r.rowIndex] : r;
self.ChangeSelection = function (rowItem, evt) {
if (evt && !evt.ctrlKey && !evt.shiftKey && evt.originalEvent.constructor.name == "MouseEvent") {
self.toggleSelectAll(false, true);
}
Expand Down Expand Up @@ -2281,8 +2280,7 @@ var ngSelectionProvider = function (grid, $scope, $parse) {
}
return isSelected;
};
self.setSelection = function (r, isSelected) {
var rowItem = r.isClone ? grid.filteredRows[r.rowIndex] : r;
self.setSelection = function (rowItem, isSelected) {
if(grid.config.enableRowSelection){
rowItem.selected = isSelected;
if (rowItem.clone) {
Expand Down Expand Up @@ -2552,6 +2550,9 @@ ngGridDirectives.directive('ngGrid', ['$compile', '$filter', '$templateCache', '
grid.eventProvider = new ngEventProvider(grid, $scope, domUtilityService);
options.selectRow = function (rowIndex, state) {
if (grid.rowCache[rowIndex]) {
if (grid.rowCache[rowIndex].clone) {
grid.rowCache[rowIndex].clone.setSelection(state ? true : false);
}
grid.rowCache[rowIndex].setSelection(state ? true : false);
}
};
Expand Down
2 changes: 1 addition & 1 deletion build/ng-grid.min.js

Large diffs are not rendered by default.

13 changes: 7 additions & 6 deletions ng-grid-2.0.3.debug.js
Expand Up @@ -2,7 +2,7 @@
* ng-grid JavaScript Library
* Authors: https://github.com/angular-ui/ng-grid/blob/master/README.md
* License: MIT (http://www.opensource.org/licenses/mit-license.php)
* Compiled At: 03/29/2013 14:07
* Compiled At: 03/29/2013 14:44
***********************************************/
(function(window) {
'use strict';
Expand Down Expand Up @@ -2477,10 +2477,9 @@ var ngSelectionProvider = function (grid, $scope, $parse) {
self.selectedIndex = grid.config.selectedIndex;
self.lastClickedRow = undefined;
self.ignoreSelectedItemChanges = false; // flag to prevent circular event loops keeping single-select var in sync
self.pKeyParser = $parse(grid.config.primaryKey);
self.pKeyParser = $parse(grid.config.primaryKey);
// function to manage the selection action of a data item (entity)
self.ChangeSelection = function (r, evt) {
var rowItem = r.isClone ? grid.filteredRows[r.rowIndex] : r;
self.ChangeSelection = function (rowItem, evt) {
// ctrl-click + shift-click multi-selections
if (evt && !evt.ctrlKey && !evt.shiftKey && evt.originalEvent.constructor.name == "MouseEvent") {
self.toggleSelectAll(false, true);
Expand Down Expand Up @@ -2564,8 +2563,7 @@ 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 (r, isSelected) {
var rowItem = r.isClone ? grid.filteredRows[r.rowIndex] : r;
self.setSelection = function (rowItem, isSelected) {
if(grid.config.enableRowSelection){
rowItem.selected = isSelected;
if (rowItem.clone) {
Expand Down Expand Up @@ -2850,6 +2848,9 @@ ngGridDirectives.directive('ngGrid', ['$compile', '$filter', '$templateCache', '
// method for user to select a specific row programatically
options.selectRow = function (rowIndex, state) {
if (grid.rowCache[rowIndex]) {
if (grid.rowCache[rowIndex].clone) {
grid.rowCache[rowIndex].clone.setSelection(state ? true : false);
}
grid.rowCache[rowIndex].setSelection(state ? true : false);
}
};
Expand Down
2 changes: 1 addition & 1 deletion ng-grid-2.0.3.min.js

Large diffs are not rendered by default.

8 changes: 3 additions & 5 deletions src/classes/selectionProvider.js
Expand Up @@ -5,10 +5,9 @@ var ngSelectionProvider = function (grid, $scope, $parse) {
self.selectedIndex = grid.config.selectedIndex;
self.lastClickedRow = undefined;
self.ignoreSelectedItemChanges = false; // flag to prevent circular event loops keeping single-select var in sync
self.pKeyParser = $parse(grid.config.primaryKey);
self.pKeyParser = $parse(grid.config.primaryKey);
// function to manage the selection action of a data item (entity)
self.ChangeSelection = function (r, evt) {
var rowItem = r.isClone ? grid.filteredRows[r.rowIndex] : r;
self.ChangeSelection = function (rowItem, evt) {
// ctrl-click + shift-click multi-selections
if (evt && !evt.ctrlKey && !evt.shiftKey && evt.originalEvent.constructor.name == "MouseEvent") {
self.toggleSelectAll(false, true);
Expand Down Expand Up @@ -92,8 +91,7 @@ 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 (r, isSelected) {
var rowItem = r.isClone ? grid.filteredRows[r.rowIndex] : r;
self.setSelection = function (rowItem, isSelected) {
if(grid.config.enableRowSelection){
rowItem.selected = isSelected;
if (rowItem.clone) {
Expand Down
3 changes: 3 additions & 0 deletions src/directives/ng-grid.js
Expand Up @@ -75,6 +75,9 @@
// method for user to select a specific row programatically
options.selectRow = function (rowIndex, state) {
if (grid.rowCache[rowIndex]) {
if (grid.rowCache[rowIndex].clone) {
grid.rowCache[rowIndex].clone.setSelection(state ? true : false);
}
grid.rowCache[rowIndex].setSelection(state ? true : false);
}
};
Expand Down
2 changes: 1 addition & 1 deletion workbench/main.js
Expand Up @@ -207,7 +207,7 @@ function userController($scope) {
$scope.filteringText = text;
});
$scope.setSelection = function() {
$scope.gridOptions.i18n = 'zh-cn';
$scope.gridOptions2.selectRow(0, true);
};
$scope.dropDownOpts = ['editing', 'is', 'impossibru?'];
};

0 comments on commit 4d46310

Please sign in to comment.