Commit 894754d2 authored by Igor.Zotov's avatar Igor.Zotov

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

http://bugzserver/show_bug.cgi?id=30566 -  [CoEdit]Ошибка в консоли при построении форматированной таблицы поверх только что переданной

git-svn-id: svn://192.168.3.15/activex/AVS/Sources/TeamlabOffice/trunk/OfficeWeb@65319 954022d7-b5bf-4e40-9824-e11837661b57
parent 05185f52
...@@ -1277,7 +1277,7 @@ parserHelper.prototype.checkDataRange = function (model, wb, dialogType, dataRan ...@@ -1277,7 +1277,7 @@ parserHelper.prototype.checkDataRange = function (model, wb, dialogType, dataRan
return c_oAscError.ID.MaxDataSeriesError; return c_oAscError.ID.MaxDataSeriesError;
} else if (c_oAscSelectionDialogType.FormatTable === dialogType) { } else if (c_oAscSelectionDialogType.FormatTable === dialogType) {
// ToDo убрать эту проверку, заменить на более грамотную после правки функции _searchFilters // ToDo убрать эту проверку, заменить на более грамотную после правки функции _searchFilters
if ('error' === wb.getWorksheet().autoFilters._searchFilters(dataRange, false)) if (true === wb.getWorksheet().autoFilters.isRangeIntersectionTableOrFilter(dataRange))
return c_oAscError.ID.AutoFilterDataRangeError; return c_oAscError.ID.AutoFilterDataRangeError;
} }
} }
......
...@@ -712,9 +712,9 @@ var ASC_DOCS_API_USE_EMBEDDED_FONTS = "@@ASC_DOCS_API_USE_EMBEDDED_FONTS"; ...@@ -712,9 +712,9 @@ var ASC_DOCS_API_USE_EMBEDDED_FONTS = "@@ASC_DOCS_API_USE_EMBEDDED_FONTS";
ws.sortColFilter(type, cellId, displayName); ws.sortColFilter(type, cellId, displayName);
}; };
spreadsheet_api.prototype.asc_getAddFormatTableOptions = function() { spreadsheet_api.prototype.asc_getAddFormatTableOptions = function(range) {
var ws = this.wb.getWorksheet(); var ws = this.wb.getWorksheet();
return ws.getAddFormatTableOptions(); return ws.getAddFormatTableOptions(range);
}; };
spreadsheet_api.prototype.asc_clearFilter = function() { spreadsheet_api.prototype.asc_clearFilter = function() {
......
...@@ -55,6 +55,7 @@ var c_oAscError = { ...@@ -55,6 +55,7 @@ var c_oAscError = {
AutoFilterChangeFormatTableError: -51, AutoFilterChangeFormatTableError: -51,
AutoFilterChangeError: -52, AutoFilterChangeError: -52,
AutoFilterMoveToHiddenRangeError: -53, AutoFilterMoveToHiddenRangeError: -53,
LockedAllError: -54,
PasteMaxRangeError: - 65, PasteMaxRangeError: - 65,
......
...@@ -626,7 +626,7 @@ var maxIndividualValues = 10000; ...@@ -626,7 +626,7 @@ var maxIndividualValues = 10000;
aWs.workbook.handlers.trigger("asc_onError", c_oAscError.ID.AutoFilterDataRangeError, c_oAscError.Level.NoCritical); aWs.workbook.handlers.trigger("asc_onError", c_oAscError.ID.AutoFilterDataRangeError, c_oAscError.Level.NoCritical);
result = false; result = false;
} }
else if(styleName && addFormatTableOptionsObj.isTitle === false && this._isEmptyCellsUnderRange(activeRange) == false && this._isPartTablePartsUnderRange(activeRange))//add format table without title if down another format table else if(styleName && addFormatTableOptionsObj && addFormatTableOptionsObj.isTitle === false && this._isEmptyCellsUnderRange(activeRange) == false && this._isPartTablePartsUnderRange(activeRange))//add format table without title if down another format table
{ {
aWs.workbook.handlers.trigger("asc_onError", c_oAscError.ID.AutoFilterChangeFormatTableError, c_oAscError.Level.NoCritical); aWs.workbook.handlers.trigger("asc_onError", c_oAscError.ID.AutoFilterChangeFormatTableError, c_oAscError.Level.NoCritical);
result = false; result = false;
...@@ -963,11 +963,14 @@ var maxIndividualValues = 10000; ...@@ -963,11 +963,14 @@ var maxIndividualValues = 10000;
return result; return result;
}, },
getAddFormatTableOptions: function(activeCells) getAddFormatTableOptions: function(activeCells, userRange)
{ {
var aWs = this._getCurrentWS(); var aWs = this._getCurrentWS();
var objOptions = new AddFormatTableOptions(); var objOptions = new AddFormatTableOptions();
if(userRange)
activeCells = Asc.g_oRangeCache.getAscRange(userRange);
var alreadyAddFilter = this._searchFilters(activeCells, false); var alreadyAddFilter = this._searchFilters(activeCells, false);
//в случае если меняем стиль фильтра //в случае если меняем стиль фильтра
if((alreadyAddFilter && alreadyAddFilter.changeStyle) ||(alreadyAddFilter && !alreadyAddFilter.containsFilter && !alreadyAddFilter.all)) if((alreadyAddFilter && alreadyAddFilter.changeStyle) ||(alreadyAddFilter && !alreadyAddFilter.containsFilter && !alreadyAddFilter.all))
...@@ -1893,6 +1896,25 @@ var maxIndividualValues = 10000; ...@@ -1893,6 +1896,25 @@ var maxIndividualValues = 10000;
return false; return false;
}, },
isRangeIntersectionTableOrFilter: function(range)
{
var aWs = this._getCurrentWS();
var tableParts = aWs.TableParts;
for(var i = 0; i < tableParts.length; i++ )
{
if(range.intersection(tableParts[i].Ref))
{
return true;
}
}
if(aWs.AutoFilter && aWs.AutoFilter.Ref && range.intersection(aWs.AutoFilter.Ref))
return true;
return false;
},
_setStyleTablePartsAfterOpenRows: function(ref) _setStyleTablePartsAfterOpenRows: function(ref)
{ {
var aWs = this._getCurrentWS(); var aWs = this._getCurrentWS();
......
...@@ -10746,6 +10746,7 @@ ...@@ -10746,6 +10746,7 @@
var onChangeAutoFilterCallback = function (isSuccess) { var onChangeAutoFilterCallback = function (isSuccess) {
if (false === isSuccess) if (false === isSuccess)
{ {
t.model.workbook.handlers.trigger("asc_onError", c_oAscError.ID.LockedAllError, c_oAscError.Level.NoCritical);
t.handlers.trigger("selectionChanged", t.getSelectionInfo()); t.handlers.trigger("selectionChanged", t.getSelectionInfo());
return; return;
} }
...@@ -10822,9 +10823,9 @@ ...@@ -10822,9 +10823,9 @@
this._isLockedAll(onChangeAutoFilterCallback); this._isLockedAll(onChangeAutoFilterCallback);
}; };
WorksheetView.prototype.getAddFormatTableOptions = function () { WorksheetView.prototype.getAddFormatTableOptions = function (range) {
var ar = this.activeRange.clone(true); var ar = this.activeRange.clone(true);
return this.autoFilters.getAddFormatTableOptions(ar); return this.autoFilters.getAddFormatTableOptions(ar, range);
}; };
WorksheetView.prototype.clearFilter = function () { WorksheetView.prototype.clearFilter = function () {
......
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