if (selcount) {
if (!sel || selcount != 1) {
bounds = [ rownum, this.pivotrow ];
- this.viewport.select($A($R(bounds.min(), bounds.max())), { range: true });
+ this.viewport.select($A($R(bounds.min(), bounds.max())));
}
return;
}
selectAll: function()
{
- this.viewport.select(this.viewport.getAllRows(), { range: true });
+ this.viewport.select($A($R(1, this.viewport.getMetaData('total_rows'))));
},
isSelected: function(format, data)
// vs = (ViewPort_Selection | array) A ViewPort_Selection object -or- if
// opts.range is set, an array of row numbers.
- // opts = (object) TODO [add, range, search]
+ // opts = (object) [add, search]
select: function(vs, opts)
{
opts = opts || {};
var b = this._getBuffer(),
sel, slice;
+ if (Object.isArray(vs)) {
+ slice = this.createSelection('rownum', vs);
+ if (vs.size() != slice.size()) {
+ this.opts.container.fire('ViewPort:fetch', this.view);
+ return this._ajaxRequest({ rangeslice: 1, slice: vs.min() + ':' + vs.size() });
+ }
+ vs = slice;
+ }
+
if (opts.search) {
return this._fetchBuffer({
callback: function(r) {
if (r.rownum) {
- this.select(this.createSelection('rownum', [ r.rownum ]), { add: opts.add, range: opts.range });
+ this.select(this.createSelection('rownum', [ r.rownum ]), { add: opts.add });
}
}.bind(this),
search: opts.search
});
}
- if (opts.range) {
- slice = this.createSelection('rownum', vs);
- if (vs.size() != slice.size()) {
- this.opts.container.fire('ViewPort:fetch', this.view);
- return this._ajaxRequest({ rangeslice: 1, slice: vs.min() + ':' + vs.size() });
- }
- vs = slice;
- }
-
if (!opts.add) {
sel = this.getSelected();
b.deselect(sel, true);