Commit f6a22b02 authored by Igor.Zotov's avatar Igor.Zotov

http://bugzserver/show_bug.cgi?id=24935 - Удаление строки, являющейся...

http://bugzserver/show_bug.cgi?id=24935 -  Удаление строки, являющейся заголовком форматированной таблицы без автофильтра, не осуществляется и вызывает ошибку в консоли

git-svn-id: svn://192.168.3.15/activex/AVS/Sources/TeamlabOffice/trunk/OfficeWeb@56958 954022d7-b5bf-4e40-9824-e11837661b57
parent 07dcd833
...@@ -1602,7 +1602,7 @@ var gUndoInsDelCellsFlag = true; ...@@ -1602,7 +1602,7 @@ var gUndoInsDelCellsFlag = true;
var rangeButton; var rangeButton;
for(var i = 0; i < this.allButtonAF.length; i++) for(var i = 0; i < this.allButtonAF.length; i++)
{ {
rangeButton = this._refToRange(this.allButtonAF[i].inFilter); rangeButton = this.allButtonAF[i].inFilter;
if(rangeButton.r1 >= ar.r1 && rangeButton.r2 <= ar.r2 && rangeButton.c1 >= ar.c1 && rangeButton.c2 <= ar.c2) if(rangeButton.r1 >= ar.r1 && rangeButton.r2 <= ar.r2 && rangeButton.c1 >= ar.c1 && rangeButton.c2 <= ar.c2)
{ {
this.allButtonAF.splice(i, 1); this.allButtonAF.splice(i, 1);
...@@ -2018,6 +2018,27 @@ var gUndoInsDelCellsFlag = true; ...@@ -2018,6 +2018,27 @@ var gUndoInsDelCellsFlag = true;
objOptions.asc_setRange(tmpRange.getName()); objOptions.asc_setRange(tmpRange.getName());
return objOptions; return objOptions;
}, },
checkRemoveTableParts: function(delRange, tableRange)
{
var result = true, firstRowRange;
var aWs = this._getCurrentWS();
if(tableRange)
{
if(delRange.containsRange(tableRange) == false)
{
firstRowRange = new Asc.Range(tableRange.c1, tableRange.r1, tableRange.c2, tableRange.r1);
if(firstRowRange.intersection(delRange))
{
result = false;
};
};
};
return result;
},
//если селект затрагивает часть хотя бы одной форматированной таблицы(для случая insert(delete) cells) //если селект затрагивает часть хотя бы одной форматированной таблицы(для случая insert(delete) cells)
isActiveCellsCrossHalfFTable: function(activeCells, val, prop, bUndoRedo) isActiveCellsCrossHalfFTable: function(activeCells, val, prop, bUndoRedo)
{ {
...@@ -2067,7 +2088,7 @@ var gUndoInsDelCellsFlag = true; ...@@ -2067,7 +2088,7 @@ var gUndoInsDelCellsFlag = true;
var isPart = false; var isPart = false;
for(var i = 0; i < tableParts.length; i++ ) for(var i = 0; i < tableParts.length; i++ )
{ {
tableRange = this._refToRange(tableParts[i].Ref); tableRange = tableParts[i].Ref;
//если хотя бы одна ячейка активной области попадает внутрь форматированной таблицы //если хотя бы одна ячейка активной области попадает внутрь форматированной таблицы
if(this._rangeHitInAnRange(newActiveRange, tableRange)) if(this._rangeHitInAnRange(newActiveRange, tableRange))
{ {
...@@ -2095,6 +2116,14 @@ var gUndoInsDelCellsFlag = true; ...@@ -2095,6 +2116,14 @@ var gUndoInsDelCellsFlag = true;
ws.model.workbook.handlers.trigger("asc_onError", c_oAscError.ID.AutoFilterChangeFormatTableError, c_oAscError.Level.NoCritical); ws.model.workbook.handlers.trigger("asc_onError", c_oAscError.ID.AutoFilterChangeFormatTableError, c_oAscError.Level.NoCritical);
return false; return false;
} }
else if(DeleteRows)
{
if(!this.checkRemoveTableParts(activeCells, tableRange))
{
ws.model.workbook.handlers.trigger("asc_onError", c_oAscError.ID.AutoFilterChangeFormatTableError, c_oAscError.Level.NoCritical);
return false;
};
}
else else
isPart = true; isPart = true;
} }
...@@ -2110,7 +2139,7 @@ var gUndoInsDelCellsFlag = true; ...@@ -2110,7 +2139,7 @@ var gUndoInsDelCellsFlag = true;
var isExp; var isExp;
for(var i = 0; i < tableParts.length; i++ ) for(var i = 0; i < tableParts.length; i++ )
{ {
tableRange = this._refToRange(tableParts[i].Ref); tableRange = tableParts[i].Ref;
isExp = false; isExp = false;
//если хотя бы одна ячейка активной области попадает внутрь форматированной таблицы //если хотя бы одна ячейка активной области попадает внутрь форматированной таблицы
if(this._rangeHitInAnRange(activeCells, tableRange)) if(this._rangeHitInAnRange(activeCells, tableRange))
......
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