Commit f719e0f7 authored by Igor.Zotov's avatar Igor.Zotov Committed by Alexander.Trofimov

http://bugzserver/show_bug.cgi?id=29953 - Неверная нумерация вставленных...

http://bugzserver/show_bug.cgi?id=29953 - Неверная нумерация вставленных столбцов форматированной таблицы

git-svn-id: svn://192.168.3.15/activex/AVS/Sources/TeamlabOffice/trunk/OfficeWeb@65147 954022d7-b5bf-4e40-9824-e11837661b57
parent 989825e0
......@@ -4443,11 +4443,7 @@ TablePart.prototype.addTableColumns = function(activeRange, aF)
var curCol = num + this.Ref.c1;
if(activeRange.c1 <= curCol && activeRange.c2 >= curCol)
{
var newNameColumn = aF._generateColumnName(newTableColumns.concat(this.TableColumns), curCol - 1);
var newTableColumn = new TableColumn();
newTableColumn.Name = newNameColumn;
newTableColumns[newTableColumns.length] = newTableColumn;
newTableColumns[newTableColumns.length] = new TableColumn();
}
else
{
......@@ -4458,6 +4454,12 @@ TablePart.prototype.addTableColumns = function(activeRange, aF)
num++;
}
for(var j = 0; j < newTableColumns.length; j++)
{
if(newTableColumns[j].Name === null)
newTableColumns[j].Name = aF._generateColumnName2(newTableColumns, newTableColumns[j - 1].Name);
}
this.TableColumns = newTableColumns;
};
......
......@@ -4553,6 +4553,7 @@ var maxIndividualValues = 10000;
{
var aWs = this._getCurrentWS();
var findFilters = this._searchFiltersInRange(arnFrom);
var bUndoRedoChanges = aWs.workbook.bUndoChanges || aWs.workbook.bRedoChanges;
if(findFilters && findFilters.length)
{
......@@ -4571,7 +4572,7 @@ var maxIndividualValues = 10000;
if(!ref.intersection(newRange) && !this._intersectionRangeWithTableParts(newRange, aWs, arnFrom))
{
//TODO позже не копировать стиль при перемещении всей таблицы
if(!(aWs.workbook.bUndoChanges || aWs.workbook.bRedoChanges))
if(!bUndoRedoChanges)
{
var cleanRange = new Range(aWs, newRange.r1, newRange.c1, newRange.r2, newRange.c2);
cleanRange.cleanFormat();
......@@ -4956,8 +4957,77 @@ var maxIndividualValues = 10000;
result = false;
return result;
}
},
_generateColumnName2: function(tableColumns, prevColumnName)
{
var columnName = "Column";
var name = prevColumnName.split(columnName);
var indexColumn = name[1];
var nextIndex;
//ищем среди tableColumns, возможно такое имя уже имеется
var checkNextName = function()
{
var nextName = columnName + nextIndex;
for(var i = 0; i < tableColumns.length; i++)
{
if(tableColumns[i].Name === nextName)
return false;
}
return true;
};
//если сменилась первая цифра
var checkChangeIndex = function()
{
if((nextIndex + 1).toString().substr(0, 1) !== (indexColumn).toString().substr(0, 1))
return true;
else
return false;
};
if(indexColumn && !isNaN(indexColumn))//если нашли числовой индекс
{
indexColumn = parseFloat(indexColumn);
nextIndex = indexColumn + 1;
var string = "";
var firstInput = true;
while(checkNextName() === false)
{
if(firstInput === true)
{
string += "1";
nextIndex = parseFloat(indexColumn + "2");
}
else
{
if(checkChangeIndex())
{
string += "0";
nextIndex = parseFloat(indexColumn + string);
}
else
nextIndex++;
}
firstInput = false;
}
}
else//если не нашли, то индекс начинаем с 1
{
var nextIndex = 1;
while(checkNextName() === false)
{
nextIndex++;
}
}
var res = columnName + nextIndex;
return res;
}
};
/*
......
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