123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- define("dojox/grid/DataSelection", [
- "dojo/_base/declare",
- "./_SelectionPreserver",
- "./Selection"
- ], function(declare, _SelectionPreserver, Selection){
-
- return declare("dojox.grid.DataSelection", Selection, {
- constructor: function(grid){
- if(grid.keepSelection){
- this.preserver = new _SelectionPreserver(this);
- }
- },
-
- destroy: function(){
- if(this.preserver){
- this.preserver.destroy();
- }
- },
-
- getFirstSelected: function(){
- var idx = Selection.prototype.getFirstSelected.call(this);
- if(idx == -1){ return null; }
- return this.grid.getItem(idx);
- },
- getNextSelected: function(inPrev){
- var old_idx = this.grid.getItemIndex(inPrev);
- var idx = Selection.prototype.getNextSelected.call(this, old_idx);
- if(idx == -1){ return null; }
- return this.grid.getItem(idx);
- },
- getSelected: function(){
- var result = [];
- for(var i=0, l=this.selected.length; i<l; i++){
- if(this.selected[i]){
- result.push(this.grid.getItem(i));
- }
- }
- return result;
- },
- addToSelection: function(inItemOrIndex){
- if(this.mode == 'none'){ return; }
- var idx = null;
- if(typeof inItemOrIndex == "number" || typeof inItemOrIndex == "string"){
- idx = inItemOrIndex;
- }else{
- idx = this.grid.getItemIndex(inItemOrIndex);
- }
- Selection.prototype.addToSelection.call(this, idx);
- },
- deselect: function(inItemOrIndex){
- if(this.mode == 'none'){ return; }
- var idx = null;
- if(typeof inItemOrIndex == "number" || typeof inItemOrIndex == "string"){
- idx = inItemOrIndex;
- }else{
- idx = this.grid.getItemIndex(inItemOrIndex);
- }
- Selection.prototype.deselect.call(this, idx);
- },
- deselectAll: function(inItemOrIndex){
- var idx = null;
- if(inItemOrIndex || typeof inItemOrIndex == "number"){
- if(typeof inItemOrIndex == "number" || typeof inItemOrIndex == "string"){
- idx = inItemOrIndex;
- }else{
- idx = this.grid.getItemIndex(inItemOrIndex);
- }
- Selection.prototype.deselectAll.call(this, idx);
- }else{
- this.inherited(arguments);
- }
- }
- });
- });
|