Commit 4d9bde5d authored by Alexander.Trofimov's avatar Alexander.Trofimov Committed by Alexander.Trofimov

Для удаления/добавления строк/колонок убрал вызовы на undo/redo через wsView....

Для удаления/добавления строк/колонок убрал вызовы на undo/redo через wsView. Сделал вызовы через model

git-svn-id: svn://192.168.3.15/activex/AVS/Sources/TeamlabOffice/trunk/OfficeWeb@59307 954022d7-b5bf-4e40-9824-e11837661b57
parent 8fba758c
...@@ -2997,14 +2997,25 @@ UndoRedoWoorksheet.prototype = { ...@@ -2997,14 +2997,25 @@ UndoRedoWoorksheet.prototype = {
} }
} }
range = Asc.Range(0, from, gc_nMaxCol0, to); range = Asc.Range(0, from, gc_nMaxCol0, to);
if((true == bUndo && historyitem_Worksheet_AddRows == Type) || (false == bUndo && historyitem_Worksheet_RemoveRows == Type)) if((true == bUndo && historyitem_Worksheet_AddRows == Type) || (false == bUndo && historyitem_Worksheet_RemoveRows == Type)) {
ws.workbook.handlers.trigger("deleteCell", nSheetId, c_oAscDeleteOptions.DeleteRows, range); ws.removeRows(from, to);
else bInsert = false;
ws.workbook.handlers.trigger("insertCell", nSheetId, c_oAscInsertOptions.InsertRows, range); operType = c_oAscDeleteOptions.DeleteRows;
} else {
ws.insertRowsBefore(from, to - from + 1);
bInsert = true;
operType = c_oAscInsertOptions.InsertRows;
}
// Нужно поменять пересчетные индексы для совместного редактирования (lock-элементы), но только если это не изменения от другого пользователя // Нужно поменять пересчетные индексы для совместного редактирования (lock-элементы), но только если это не изменения от другого пользователя
if (true !== this.wb.bCollaborativeChanges) if (true !== this.wb.bCollaborativeChanges)
ws.workbook.handlers.trigger("undoRedoAddRemoveRowCols", nSheetId, Type, range, bUndo); ws.workbook.handlers.trigger("undoRedoAddRemoveRowCols", nSheetId, Type, range, bUndo);
// ToDo Так делать неправильно, нужно поправить (перенести логику в model, а отрисовку отделить)
worksheetView = this.wb.oApi.wb.getWorksheetById(nSheetId);
worksheetView.autoFilters.insertRows(bInsert ? "insCell" : "delCell", range, operType);
worksheetView.objectRender.updateDrawingObject(bInsert, operType, range);
worksheetView.cellCommentator.updateCommentsDependencies(bInsert, operType, range);
} }
else if(historyitem_Worksheet_AddCols == Type || historyitem_Worksheet_RemoveCols == Type) else if(historyitem_Worksheet_AddCols == Type || historyitem_Worksheet_RemoveCols == Type)
{ {
...@@ -3025,14 +3036,25 @@ UndoRedoWoorksheet.prototype = { ...@@ -3025,14 +3036,25 @@ UndoRedoWoorksheet.prototype = {
} }
range = Asc.Range(from, 0, to, gc_nMaxRow0); range = Asc.Range(from, 0, to, gc_nMaxRow0);
if((true == bUndo && historyitem_Worksheet_AddCols == Type) || (false == bUndo && historyitem_Worksheet_RemoveCols == Type)) if((true == bUndo && historyitem_Worksheet_AddCols == Type) || (false == bUndo && historyitem_Worksheet_RemoveCols == Type)) {
ws.workbook.handlers.trigger("deleteCell", nSheetId, c_oAscDeleteOptions.DeleteColumns, range); ws.removeCols(from, to);
else bInsert = false;
ws.workbook.handlers.trigger("insertCell", nSheetId, c_oAscInsertOptions.InsertColumns, range); operType = c_oAscDeleteOptions.DeleteColumns;
} else {
ws.insertColsBefore(from, to - from + 1);
bInsert = true;
operType = c_oAscInsertOptions.InsertColumns;
}
// Нужно поменять пересчетные индексы для совместного редактирования (lock-элементы), но только если это не изменения от другого пользователя // Нужно поменять пересчетные индексы для совместного редактирования (lock-элементы), но только если это не изменения от другого пользователя
if (true !== this.wb.bCollaborativeChanges) if (true !== this.wb.bCollaborativeChanges)
ws.workbook.handlers.trigger("undoRedoAddRemoveRowCols", nSheetId, Type, range, bUndo); ws.workbook.handlers.trigger("undoRedoAddRemoveRowCols", nSheetId, Type, range, bUndo);
// ToDo Так делать неправильно, нужно поправить (перенести логику в model, а отрисовку отделить)
worksheetView = this.wb.oApi.wb.getWorksheetById(nSheetId);
worksheetView.autoFilters.insertColumn(bInsert ? "insCell" : "delCell", range, operType);
worksheetView.objectRender.updateDrawingObject(bInsert, operType, range);
worksheetView.cellCommentator.updateCommentsDependencies(bInsert, operType, range);
} }
else if(historyitem_Worksheet_ShiftCellsLeft == Type || historyitem_Worksheet_ShiftCellsRight == Type) else if(historyitem_Worksheet_ShiftCellsLeft == Type || historyitem_Worksheet_ShiftCellsRight == Type)
{ {
......
...@@ -438,12 +438,6 @@ ...@@ -438,12 +438,6 @@
if (ws) if (ws)
ws.changeWorksheet("update", val); ws.changeWorksheet("update", val);
}); });
this.model.handlers.add("insertCell", function (wsId, val, range) {
self.getWorksheetById(wsId).changeWorksheet("insCell", {val: val, range: range});
});
this.model.handlers.add("deleteCell", function (wsId, val, range) {
self.getWorksheetById(wsId).changeWorksheet("delCell", {val: val, range: range});
});
this.model.handlers.add("showWorksheet", function (wsId) { this.model.handlers.add("showWorksheet", function (wsId) {
var wsModel = self.model.getWorksheetById(wsId), index; var wsModel = self.model.getWorksheetById(wsId), index;
if (wsModel) { if (wsModel) {
......
This diff is collapsed.
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