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

http://bugzserver/show_bug.cgi?id=26555 - [Drag&Drop] Ошибка в консоли при...

http://bugzserver/show_bug.cgi?id=26555 -  [Drag&Drop] Ошибка в консоли при наложении фильтрованного диапазона на заголовок форматированной таблицы 

git-svn-id: svn://192.168.3.15/activex/AVS/Sources/TeamlabOffice/trunk/OfficeWeb@58348 954022d7-b5bf-4e40-9824-e11837661b57
parent a79d86e6
...@@ -7166,6 +7166,31 @@ var gUndoInsDelCellsFlag = true; ...@@ -7166,6 +7166,31 @@ var gUndoInsDelCellsFlag = true;
return result; return result;
}, },
_intersectionRangeWithTableParts: function(range, aWs)//находим фильтры, находящиеся в данном range
{
var result = [];
var rangeFilter;
if(aWs.TableParts)
{
for(var k = 0; k < aWs.TableParts.length; k++)
{
if(aWs.TableParts[k])
{
rangeFilter = aWs.TableParts[k].Ref;
if(range.intersection(rangeFilter) && !range.containsRange(rangeFilter))
{
result[result.length] = aWs.TableParts[k];
}
}
}
}
if(!result.length)
result = false;
return result;
},
_shiftId: function(id, colShift, rowShift) _shiftId: function(id, colShift, rowShift)
{ {
var result = false; var result = false;
...@@ -7182,11 +7207,26 @@ var gUndoInsDelCellsFlag = true; ...@@ -7182,11 +7207,26 @@ var gUndoInsDelCellsFlag = true;
_preMoveAutoFilters: function(arnFrom, arnTo) _preMoveAutoFilters: function(arnFrom, arnTo)
{ {
var aWs = this._getCurrentWS(); var aWs = this._getCurrentWS();
var diffCol = arnTo.c1 - arnFrom.c1;
var diffRow = arnTo.r1 - arnFrom.r1;
var findFilters = this._searchFiltersInRange(arnFrom , aWs); var findFilters = this._searchFiltersInRange(arnFrom , aWs);
if(findFilters) if(findFilters)
{ {
for(var i = 0; i < findFilters.length; i++) for(var i = 0; i < findFilters.length; i++)
{ {
var ref = findFilters[i].Ref;
var newRange = Asc.Range(ref.c1 + diffCol, ref.r1 + diffRow, ref.c2 + diffCol, ref.r2 + diffRow);
//если область вставки содержит форматированную таблицу, которая пересекается с вставляемой форматированной таблицей
var findFiltersFromTo = this._intersectionRangeWithTableParts(newRange , aWs);
if(findFiltersFromTo && findFiltersFromTo.length)//удаляем данный фильтр
{
this.isEmptyAutoFilters(ref);
continue;
}
this._openHiddenRows(findFilters[i]); this._openHiddenRows(findFilters[i]);
} }
} }
......
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