Commit ef9843a1 authored by Alexander.Trofimov's avatar Alexander.Trofimov Committed by Alexander.Trofimov

fix bug #31113

git-svn-id: svn://192.168.3.15/activex/AVS/Sources/TeamlabOffice/trunk/OfficeWeb@66862 954022d7-b5bf-4e40-9824-e11837661b57
parent 22b91ba1
...@@ -351,6 +351,9 @@ function fSortAscending( a, b ) { ...@@ -351,6 +351,9 @@ function fSortAscending( a, b ) {
function fSortDescending( a, b ) { function fSortDescending( a, b ) {
return b - a; return b - a;
} }
function fOnlyUnique(value, index, self) {
return self.indexOf(value) === index;
}
function isLeadingSurrogateChar(nCharCode) { function isLeadingSurrogateChar(nCharCode) {
return (nCharCode >= 0xD800 && nCharCode <= 0xDFFF); return (nCharCode >= 0xD800 && nCharCode <= 0xDFFF);
} }
......
...@@ -705,16 +705,15 @@ ...@@ -705,16 +705,15 @@
// Проверяет, есть ли числовые значения в диапазоне // Проверяет, есть ли числовые значения в диапазоне
WorksheetView.prototype._hasNumberValueInActiveRange = function () { WorksheetView.prototype._hasNumberValueInActiveRange = function () {
var cell, cellType, isNumberFormat; var cell, cellType, isNumberFormat, arrCols = null, arrRows = null;
var result = null;
if (this._rangeIsSingleCell(this.activeRange)) { if (this._rangeIsSingleCell(this.activeRange)) {
// Для одной ячейки не стоит ничего делать // Для одной ячейки не стоит ничего делать
return result; return null;
} }
var mergedRange = this.model.getMergedByCell(this.activeRange.r1, this.activeRange.c1); var mergedRange = this.model.getMergedByCell(this.activeRange.r1, this.activeRange.c1);
if (mergedRange && mergedRange.isEqual(this.activeRange)) { if (mergedRange && mergedRange.isEqual(this.activeRange)) {
// Для одной ячейки не стоит ничего делать // Для одной ячейки не стоит ничего делать
return result; return null;
} }
for (var c = this.activeRange.c1; c <= this.activeRange.c2; ++c) { for (var c = this.activeRange.c1; c <= this.activeRange.c2; ++c) {
...@@ -725,25 +724,24 @@ ...@@ -725,25 +724,24 @@
cellType = cell.cellType; cellType = cell.cellType;
isNumberFormat = (null == cellType || CellValueType.Number === cellType); isNumberFormat = (null == cellType || CellValueType.Number === cellType);
if (isNumberFormat) { if (isNumberFormat) {
if (null === result) { if (!arrCols) {
result = {}; arrCols = [];
result.arrCols = []; arrRows = [];
result.arrRows = [];
} }
result.arrCols.push(c); arrCols.push(c);
result.arrRows.push(r); arrRows.push(r);
} }
} }
} }
} }
if (null !== result) { if (arrCols) {
// Делаем массивы уникальными и сортируем // Делаем массивы уникальными и сортируем
$.unique(result.arrCols); arrCols = arrCols.filter(fOnlyUnique);
$.unique(result.arrRows); arrRows = arrRows.filter(fOnlyUnique);
result.arrCols = result.arrCols.sort(fSortAscending); return {arrCols: arrCols.sort(fSortAscending), arrRows: arrRows.sort(fSortAscending)};
result.arrRows = result.arrRows.sort(fSortAscending); } else {
} return null;
return result; }
}; };
// Автодополняет формулу диапазоном, если это возможно // Автодополняет формулу диапазоном, если это возможно
......
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