Commit 1b551cb9 authored by Dmitry.Vikulov's avatar Dmitry.Vikulov

Fixes: #20440, #20441, #20454, #20449, #18045, #20429, #20430

git-svn-id: svn://192.168.3.15/activex/AVS/Sources/TeamlabOffice/trunk/OfficeWeb@49822 954022d7-b5bf-4e40-9824-e11837661b57
parent 79ce52ed
...@@ -2349,6 +2349,8 @@ function DrawingObjects() { ...@@ -2349,6 +2349,8 @@ function DrawingObjects() {
_this.asyncImageEndLoaded = null; _this.asyncImageEndLoaded = null;
_this.asyncImagesDocumentEndLoaded = null; _this.asyncImagesDocumentEndLoaded = null;
var wsCellCache = { cols: null, rows: null, isInit: false };
// Task timer // Task timer
var aDrawTasks = []; var aDrawTasks = [];
var drawTaskTimerId = null; var drawTaskTimerId = null;
...@@ -2741,6 +2743,7 @@ function DrawingObjects() { ...@@ -2741,6 +2743,7 @@ function DrawingObjects() {
for (var i = 0; currentSheet.model.Drawings && (i < currentSheet.model.Drawings.length); i++) { for (var i = 0; currentSheet.model.Drawings && (i < currentSheet.model.Drawings.length); i++) {
var drawingObject = _this.cloneDrawingObject(currentSheet.model.Drawings[i]); var drawingObject = _this.cloneDrawingObject(currentSheet.model.Drawings[i]);
drawingObject.updateAnchorPosition();
if ( !worksheet.cols[drawingObject.to.col] ) { if ( !worksheet.cols[drawingObject.to.col] ) {
while ( !worksheet.cols[drawingObject.to.col] ) { while ( !worksheet.cols[drawingObject.to.col] ) {
...@@ -2846,9 +2849,7 @@ function DrawingObjects() { ...@@ -2846,9 +2849,7 @@ function DrawingObjects() {
_this.shiftMap = {}; _this.shiftMap = {};
} }
_this.preCopy = function() {
_this.preCopy = function()
{
_this.shiftMap = {}; _this.shiftMap = {};
var selected_objects = _this.controller.selectedObjects; var selected_objects = _this.controller.selectedObjects;
if(selected_objects.length > 0) if(selected_objects.length > 0)
...@@ -3507,6 +3508,7 @@ function DrawingObjects() { ...@@ -3507,6 +3508,7 @@ function DrawingObjects() {
chart.rebuildSeries(); chart.rebuildSeries();
chart.worksheet = worksheet; // Для формул серий chart.worksheet = worksheet; // Для формул серий
History.Create_NewPoint();
return this.controller.addChartDrawingObject(chart, options); return this.controller.addChartDrawingObject(chart, options);
} }
else if ( isObject(chart) && chart["binary"] ) { else if ( isObject(chart) && chart["binary"] ) {
...@@ -3545,6 +3547,22 @@ function DrawingObjects() { ...@@ -3545,6 +3547,22 @@ function DrawingObjects() {
api.chartPreviewManager.init(); api.chartPreviewManager.init();
} }
if ( !wsCellCache.isInit ) {
wsCellCache.cols = [];
wsCellCache.rows = [];
var colsCount = worksheet.cols.length; //worksheet.model.getColsCount();
var rowsCount = worksheet.rows.length; //worksheet.model.getRowsCount();
for (var i = 0; i < colsCount; i++) {
wsCellCache.cols.push(worksheet.model.getColWidth(i));
}
for (var i = 0; i < rowsCount; i++) {
wsCellCache.rows.push(worksheet.model.getRowHeight(i));
}
wsCellCache.isInit = true;
}
// Заполняем таблицу // Заполняем таблицу
if ( graphicObject.chart.series.length ) { if ( graphicObject.chart.series.length ) {
...@@ -4127,11 +4145,14 @@ function DrawingObjects() { ...@@ -4127,11 +4145,14 @@ function DrawingObjects() {
for (var i = 0; i < aObjects.length; i++) { for (var i = 0; i < aObjects.length; i++) {
if ( aObjects[i].graphicObject.Id == graphicId ) { if ( aObjects[i].graphicObject.Id == graphicId ) {
aObjects[i].graphicObject.deselect(_this.controller); aObjects[i].graphicObject.deselect(_this.controller);
if ( aObjects[i].isChart() )
worksheet.arrActiveChartsRanges = [];
aObjects.splice(i, 1); aObjects.splice(i, 1);
bRedraw = true; bRedraw = true;
return i; return i;
} }
} }
if ( bRedraw ) if ( bRedraw )
_this.showDrawingObjects(true); _this.showDrawingObjects(true);
...@@ -4382,6 +4403,19 @@ function DrawingObjects() { ...@@ -4382,6 +4403,19 @@ function DrawingObjects() {
//----------------------------------------------------------------------------------- //-----------------------------------------------------------------------------------
_this.cleanWorksheet = function() { _this.cleanWorksheet = function() {
// Восстанавливаем ячейки
if ( wsCellCache.isInit ) {
for (var i = 0; i < wsCellCache.cols.length; i++) {
worksheet.model.setColWidth( wsCellCache.cols[i], i, i ); // Default
}
for (var i = 0; i < wsCellCache.rows.length; i++) {
worksheet.model.setRowHeight( wsCellCache.rows[i], i, i ); // Default
}
//worksheet._initCellsArea(true);
worksheet.changeWorksheet("update");
}
aObjects = []; aObjects = [];
worksheet._clean(); worksheet._clean();
var listRange = new Range(worksheet.model, 0, 0, worksheet.nRowsCount - 1, worksheet.nColsCount - 1); var listRange = new Range(worksheet.model, 0, 0, worksheet.nRowsCount - 1, worksheet.nColsCount - 1);
...@@ -4414,6 +4448,11 @@ function DrawingObjects() { ...@@ -4414,6 +4448,11 @@ function DrawingObjects() {
api.chartPreviewManager.init(); api.chartPreviewManager.init();
_this.callTrigger("asc_onUpdateChartStyles"); _this.callTrigger("asc_onUpdateChartStyles");
} }
if ( api.isChartEditor ) {
if ( aObjects.length && aObjects[0].isChart() )
return new asc_CChart(aObjects[0].graphicObject.chart);
}
var chart = this.controller.getAscChartObject(); var chart = this.controller.getAscChartObject();
if ( !chart ) { if ( !chart ) {
......
...@@ -1812,6 +1812,7 @@ function ResizeState(drawingObjectsController, drawingObjects, majorObject, card ...@@ -1812,6 +1812,7 @@ function ResizeState(drawingObjectsController, drawingObjects, majorObject, card
for(var i = 0; i < track_objects2.length; ++i) for(var i = 0; i < track_objects2.length; ++i)
track_objects2[i].trackEnd(); track_objects2[i].trackEnd();
drawingObjects.showDrawingObjects(true); drawingObjects.showDrawingObjects(true);
drawingObjects.sendGraphicObjectProps();
} }
}; };
......
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