Commit b1781bcc authored by Alexander.Trofimov's avatar Alexander.Trofimov Committed by Alexander.Trofimov

Выставление активного листа после скрытия теперь в модели (правка проблем с...

Выставление активного листа после скрытия теперь в модели (правка проблем с undo/redo со скрытием листов)
Баг http://bugzserver/show_bug.cgi?id=20509

git-svn-id: svn://192.168.3.15/activex/AVS/Sources/TeamlabOffice/trunk/OfficeWeb@49911 954022d7-b5bf-4e40-9824-e11837661b57
parent c1030819
...@@ -1850,27 +1850,6 @@ var ASC_DOCS_API_USE_EMBEDDED_FONTS = "@@ASC_DOCS_API_USE_EMBEDDED_FONTS"; ...@@ -1850,27 +1850,6 @@ var ASC_DOCS_API_USE_EMBEDDED_FONTS = "@@ASC_DOCS_API_USE_EMBEDDED_FONTS";
var hideWorksheetCallback = function (res) { var hideWorksheetCallback = function (res) {
if (res) { if (res) {
t.wbModel.getWorksheet(activeWorksheet).setHidden(true); t.wbModel.getWorksheet(activeWorksheet).setHidden(true);
// Покажем следующий лист или предыдущий (если больше нет)
var i, ws;
for (i = activeWorksheet + 1; i < countWorksheets; ++i) {
ws = model.getWorksheet(i);
if (false === ws.getHidden()) {
t.asc_showWorksheet (i);
// Посылаем callback об изменении списка листов
t.sheetsChanged();
return;
}
}
// Не нашли справа, ищем слева от текущего
for (i = activeWorksheet - 1; i >= 0; --i) {
ws = model.getWorksheet(i);
if (false === ws.getHidden()) {
t.asc_showWorksheet (i);
// Посылаем callback об изменении списка листов
t.sheetsChanged();
return;
}
}
} }
}; };
......
...@@ -2533,21 +2533,21 @@ Woorksheet.prototype.setHidden=function(hidden){ ...@@ -2533,21 +2533,21 @@ Woorksheet.prototype.setHidden=function(hidden){
{ {
//выбираем новый активный //выбираем новый активный
var activeWorksheet = this.getIndex(); var activeWorksheet = this.getIndex();
var countWorksheets = this.workbook.getWorksheetCount() var countWorksheets = this.workbook.getWorksheetCount();
for (var i = activeWorksheet + 1; i < countWorksheets; ++i) { // Покажем следующий лист или предыдущий (если больше нет)
var ws = this.workbook.getWorksheet(i); var i, ws;
if (false === ws.getHidden()) for (i = activeWorksheet + 1; i < countWorksheets; ++i) {
{ ws = this.workbook.getWorksheet(i);
this.workbook.setActive(i); if (false === ws.getHidden()) {
this.workbook.handlers.trigger("undoRedoHideSheet", i);
return; return;
} }
} }
// Не нашли справа, ищем слева от текущего // Не нашли справа, ищем слева от текущего
for (var i = activeWorksheet - 1; i >= 0; --i) { for (i = activeWorksheet - 1; i >= 0; --i) {
var ws = this.workbook.getWorksheet(i); ws = this.workbook.getWorksheet(i);
if (false === ws.getHidden()) if (false === ws.getHidden()) {
{ this.workbook.handlers.trigger("undoRedoHideSheet", i);
this.workbook.setActive(i);
return; return;
} }
} }
......
...@@ -319,6 +319,11 @@ ...@@ -319,6 +319,11 @@
} }
} }
}); });
this.model.handlers.add("undoRedoHideSheet", function (sheetId) {
self.showWorksheet(sheetId);
// Посылаем callback об изменении списка листов
self.handlers.trigger("asc_onSheetsChanged");
});
this.input this.input
......
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