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

http://bugzserver/show_bug.cgi?id=26611 - Потеря формата форматированной...

http://bugzserver/show_bug.cgi?id=26611 - Потеря формата форматированной таблицы при ее перемещении на меньшее количество строк или столбцов самой таблицы в любую сторону

git-svn-id: svn://192.168.3.15/activex/AVS/Sources/TeamlabOffice/trunk/OfficeWeb@58475 954022d7-b5bf-4e40-9824-e11837661b57
parent 77ed7711
...@@ -1572,7 +1572,7 @@ var gUndoInsDelCellsFlag = true; ...@@ -1572,7 +1572,7 @@ var gUndoInsDelCellsFlag = true;
ws._isLockedCells (sortRange1, /*subType*/null, onSortAutoFilterCallback); ws._isLockedCells (sortRange1, /*subType*/null, onSortAutoFilterCallback);
}, },
isEmptyAutoFilters: function(ar, turnOnHistory, insCells, deleteFilterAfterDeleteColRow) isEmptyAutoFilters: function(ar, turnOnHistory, insCells, deleteFilterAfterDeleteColRow, exceptionArray)
{ {
if(turnOnHistory) if(turnOnHistory)
{ {
...@@ -1599,6 +1599,8 @@ var gUndoInsDelCellsFlag = true; ...@@ -1599,6 +1599,8 @@ var gUndoInsDelCellsFlag = true;
//заносим в историю //заносим в историю
this._addHistoryObj(oldFilter, historyitem_AutoFilter_Empty, {activeCells: activeCells}); this._addHistoryObj(oldFilter, historyitem_AutoFilter_Empty, {activeCells: activeCells});
this._isEmptyButtons(oldFilter.Ref);
} }
} }
if(aWs.TableParts) if(aWs.TableParts)
...@@ -1613,7 +1615,7 @@ var gUndoInsDelCellsFlag = true; ...@@ -1613,7 +1615,7 @@ var gUndoInsDelCellsFlag = true;
oCurFilter.insCells = true; oCurFilter.insCells = true;
var bbox = oRange.getBBox0(); var bbox = oRange.getBBox0();
//смотрим находится ли фильтр внутри выделенного фрагмента //смотрим находится ли фильтр внутри выделенного фрагмента
if(activeCells.r1 <= bbox.r1 && activeCells.r2 >= bbox.r2 && activeCells.c1 <= bbox.c1 && activeCells.c2 >= bbox.c2) if(activeCells.r1 <= bbox.r1 && activeCells.r2 >= bbox.r2 && activeCells.c1 <= bbox.c1 && activeCells.c2 >= bbox.c2 && !this._checkExceptionArray(oCurFilter.Ref, exceptionArray))
{ {
//удаляем форматирование //удаляем форматирование
oRange.setTableStyle(null); oRange.setTableStyle(null);
...@@ -1621,6 +1623,8 @@ var gUndoInsDelCellsFlag = true; ...@@ -1621,6 +1623,8 @@ var gUndoInsDelCellsFlag = true;
aWs.setRowHidden(false, bbox.r1, bbox.r2); aWs.setRowHidden(false, bbox.r1, bbox.r2);
//заносим в историю //заносим в историю
this._addHistoryObj(oCurFilter, historyitem_AutoFilter_Empty, {activeCells: activeCells},deleteFilterAfterDeleteColRow); this._addHistoryObj(oCurFilter, historyitem_AutoFilter_Empty, {activeCells: activeCells},deleteFilterAfterDeleteColRow);
this._isEmptyButtons(oCurFilter.Ref);
} }
else else
{ {
...@@ -1631,7 +1635,6 @@ var gUndoInsDelCellsFlag = true; ...@@ -1631,7 +1635,6 @@ var gUndoInsDelCellsFlag = true;
aWs.TableParts = newTableParts; aWs.TableParts = newTableParts;
} }
this._isEmptyButtons(ar);
History.EndTransaction(); History.EndTransaction();
if(turnOnHistory) if(turnOnHistory)
...@@ -1742,6 +1745,20 @@ var gUndoInsDelCellsFlag = true; ...@@ -1742,6 +1745,20 @@ var gUndoInsDelCellsFlag = true;
return result; return result;
}, },
_checkExceptionArray: function(curRange, exceptionArray)
{
if(!curRange || !exceptionArray || (exceptionArray && !exceptionArray.length))
return false;
for(var e = 0; e < exceptionArray.length; e++)
{
if(exceptionArray[e] && exceptionArray[e].Ref && exceptionArray[e].Ref.isEqual(curRange))
return true;
}
return false;
},
_isEmptyButtons: function(ar) _isEmptyButtons: function(ar)
{ {
if(!this.allButtonAF) if(!this.allButtonAF)
...@@ -7237,7 +7254,7 @@ var gUndoInsDelCellsFlag = true; ...@@ -7237,7 +7254,7 @@ var gUndoInsDelCellsFlag = true;
var findFiltersTo = this._searchFiltersInRange(arnTo , aWs); var findFiltersTo = this._searchFiltersInRange(arnTo , aWs);
if(arnTo && findFiltersTo) if(arnTo && findFiltersTo)
{ {
this.isEmptyAutoFilters(arnTo); this.isEmptyAutoFilters(arnTo, null, null, null, findFilters);
} }
else if(aWs.AutoFilter && aWs.AutoFilter.Ref && aWs.AutoFilter.Ref.intersection(arnTo) && !aWs.AutoFilter.Ref.isEqual(arnFrom))//если задеваем часть а/ф областью вставки else if(aWs.AutoFilter && aWs.AutoFilter.Ref && aWs.AutoFilter.Ref.intersection(arnTo) && !aWs.AutoFilter.Ref.isEqual(arnFrom))//если задеваем часть а/ф областью вставки
{ {
......
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