Commit 2d83264a authored by Alexander.Trofimov's avatar Alexander.Trofimov

area3D.getRange return range (above return array ranges)

parent 2d8e5ba4
......@@ -290,23 +290,12 @@
return this.value = new cNumber(arg0.getFirst().getCol());
}
arg0 = arg[0];
if (cElementType.cell === arg0.type || cElementType.cell3D === arg0.type || cElementType.cellsRange === arg0.type) {
var range = arg0.getRange();
if (range) {
return this.value = new cNumber(range.getFirst().getCol());
} else {
return this.value = new cError(cErrorType.bad_reference);
}
} else if (cElementType.cellsRange3D === arg0.type) {
var r = arg0.getRange();
if (r && r[0] && r[0].getFirst()) {
return this.value = new cNumber(r[0].getFirst().getCol());
} else {
return this.value = new cError(cErrorType.bad_reference);
}
} else {
return this.value = new cError(cErrorType.bad_reference);
var range;
if (cElementType.cell === arg0.type || cElementType.cell3D === arg0.type ||
cElementType.cellsRange === arg0.type || cElementType.cellsRange3D === arg0.type) {
range = arg0.getRange();
}
return this.value = (range ? new cNumber(range.getFirst().getCol()) : new cError(cErrorType.bad_reference));
};
cCOLUMN.prototype.getInfo = function () {
return {
......@@ -332,22 +321,15 @@
cCOLUMNS.prototype = Object.create(cBaseFunction.prototype);
cCOLUMNS.prototype.Calculate = function (arg) {
var arg0 = arg[0];
var range;
if (cElementType.array === arg0.type) {
return this.value = new cNumber(arg0.getCountElementInRow());
} else if (cElementType.cellsRange === arg0.type || cElementType.cell === arg0.type ||
cElementType.cell3D === arg0.type) {
var range = arg0.getRange();
return this.value = new cNumber(Math.abs(range.getBBox0().c1 - range.getBBox0().c2) + 1);
} else if (cElementType.cellsRange3D === arg0.type) {
var range = arg0.getRange();
if (range.length > 1) {
return this.value = new cError(cErrorType.wrong_value_type);
}
return this.value = new cNumber(Math.abs(range[0].getBBox0().c1 - range[0].getBBox0().c2) + 1);
} else {
return this.value = new cError(cErrorType.wrong_value_type);
cElementType.cell3D === arg0.type || cElementType.cellsRange3D === arg0.type) {
range = arg0.getRange();
}
return this.value = (range ? new cNumber(Math.abs(range.getBBox0().c1 - range.getBBox0().c2) + 1) :
new cError(cErrorType.wrong_value_type));
};
cCOLUMNS.prototype.getInfo = function () {
return {
......@@ -447,10 +429,9 @@
}
var range;
if (cElementType.cell === arg1.type || cElementType.cell3D === arg1.type || cElementType.cellsRange === arg1.type) {
if (cElementType.cell === arg1.type || cElementType.cell3D === arg1.type ||
cElementType.cellsRange === arg1.type || cElementType.cellsRange3D === arg1.type) {
range = arg1.getRange();
} else if (cElementType.cellsRange3D === arg1.type) {
range = arg1.getRange()[0];
}
if (!range) {
return this.value = new cError(cErrorType.bad_reference);
......@@ -776,13 +757,13 @@
var c = new CellAddress(BBox.r1 + resR, BBox.c1 + resC, 0);
return this.value = checkTypeCell(_arg2.getWS()._getCellNoEmpty(c.getRow0(), c.getCol0()));
} else {
var arg1Range = arg1.getRange(), arg2Range = arg2.getRange();
if (cElementType.cellsRange3D === arg1.type && arg1Range.length > 1 ||
cElementType.cellsRange3D === arg2.type && arg2Range.length > 1) {
if (cElementType.cellsRange3D === arg1.type && !arg1.isSingleSheet() ||
cElementType.cellsRange3D === arg2.type && !arg2.isSingleSheet()) {
return this.value = new cError(cErrorType.not_available);
}
var arg1Range, arg2Range;
if (cElementType.cellsRange3D === arg1.type) {
arg1Range = arg1.getMatrix()[0];
} else if (cElementType.cellsRange === arg1.type) {
......@@ -1119,23 +1100,12 @@
return this.value = new cNumber(arg0.getFirst().getRow());
}
arg0 = arg[0];
if (cElementType.cell === arg0.type || cElementType.cell3D === arg0.type || cElementType.cellsRange === arg0.type) {
var range = arg0.getRange();
if (range) {
return this.value = new cNumber(range.getFirst().getRow());
} else {
return this.value = new cError(cErrorType.bad_reference);
}
} else if (cElementType.cellsRange3D === arg0.type) {
var r = arg0.getRange();
if (r && r[0] && r[0].getFirst()) {
return this.value = new cNumber(r[0].getFirst().getRow());
} else {
return this.value = new cError(cErrorType.bad_reference);
}
} else {
return this.value = new cError(cErrorType.bad_reference);
var range;
if (cElementType.cell === arg0.type || cElementType.cell3D === arg0.type ||
cElementType.cellsRange === arg0.type || cElementType.cellsRange3D === arg0.type) {
range = arg0.getRange();
}
return this.value = (range ? new cNumber(range.getFirst().getRow()) : new cError(cErrorType.bad_reference));
};
cROW.prototype.getInfo = function () {
return {
......@@ -1161,22 +1131,15 @@
cROWS.prototype = Object.create(cBaseFunction.prototype);
cROWS.prototype.Calculate = function (arg) {
var arg0 = arg[0];
var range;
if (cElementType.array === arg0.type) {
return this.value = new cNumber(arg0.getRowCount());
} else if (cElementType.cellsRange === arg0.type || cElementType.cell === arg0.type ||
cElementType.cell3D === arg0.type) {
var range = arg0.getRange();
return this.value = new cNumber(Math.abs(range.getBBox0().r1 - range.getBBox0().r2) + 1);
} else if (cElementType.cellsRange3D === arg0.type) {
var range = arg0.getRange();
if (range.length > 1) {
return this.value = new cError(cErrorType.wrong_value_type);
}
return this.value = new cNumber(Math.abs(range[0].getBBox0().r1 - range[0].getBBox0().r2) + 1);
} else {
return this.value = new cError(cErrorType.wrong_value_type);
cElementType.cell3D === arg0.type || cElementType.cellsRange3D === arg0.type) {
range = arg0.getRange();
}
return this.value = (range ? new cNumber(Math.abs(range.getBBox0().r1 - range.getBBox0().r2) + 1) :
new cError(cErrorType.wrong_value_type));
};
cROWS.prototype.getInfo = function () {
return {
......@@ -1415,10 +1378,9 @@
}
var range;
if (cElementType.cell === arg1.type || cElementType.cell3D === arg1.type || cElementType.cellsRange === arg1.type) {
if (cElementType.cell === arg1.type || cElementType.cell3D === arg1.type ||
cElementType.cellsRange === arg1.type || cElementType.cellsRange3D === arg1.type) {
range = arg1.getRange();
} else if (cElementType.cellsRange3D === arg1.type) {
range = arg1.getRange()[0];
}
if (!range) {
return this.value = new cError(cErrorType.bad_reference);
......
......@@ -1064,7 +1064,7 @@ cArea.prototype.foreach = function ( action ) {
}
};
cArea.prototype.foreach2 = function (action) {
var t = this, r = this.getRange();
var r = this.getRange();
if (r) {
r._foreach2(function (cell) {
action(checkTypeCell(cell), cell);
......@@ -1165,9 +1165,12 @@ cArea3D.prototype.wsRange = function () {
}
return r;
};
cArea3D.prototype.getRange = function () {
return this.range( this.wsRange() );
};
cArea3D.prototype.getRange = function () {
if (!this.isSingleSheet()) {
return null;
}
return (this.range(this.wsRange()))[0];
};
cArea3D.prototype.getValue = function () {
var i, _wsA = this.wsRange();
var _val = [];
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment