Commit 130b2763 authored by alexey.musinov's avatar alexey.musinov

Merge branch 'develop' of https://github.com/ONLYOFFICE/sdkjs into develop

parents 1442522b dc7592e6
...@@ -598,7 +598,6 @@ window['AscFonts'].CFontManager = function CFontManager() { ...@@ -598,7 +598,6 @@ window['AscFonts'].CFontManager = function CFontManager() {
this.Initialize = function(){}; this.Initialize = function(){};
this.ClearFontsRasterCache = function(){}; this.ClearFontsRasterCache = function(){};
}; };
window["use_native_fonts_only"] = true;
// FT_Common // FT_Common
function _FT_Common() { function _FT_Common() {
......
...@@ -3108,9 +3108,7 @@ PasteProcessor.prototype = ...@@ -3108,9 +3108,7 @@ PasteProcessor.prototype =
} }
else if(base64FromExcel)//вставляем в презентации из таблиц else if(base64FromExcel)//вставляем в презентации из таблиц
{ {
History.TurnOff(); var excelContent = AscFormat.ExecuteNoHistory(this._readFromBinaryExcel, this, [base64FromExcel]);
var excelContent = this._readFromBinaryExcel(base64FromExcel);
History.TurnOn();
var aContentExcel = excelContent.workbook; var aContentExcel = excelContent.workbook;
var aPastedImages = excelContent.arrImages; var aPastedImages = excelContent.arrImages;
...@@ -3118,22 +3116,6 @@ PasteProcessor.prototype = ...@@ -3118,22 +3116,6 @@ PasteProcessor.prototype =
//если есть шейпы, то вставляем их из excel //если есть шейпы, то вставляем их из excel
if(aContentExcel && aContentExcel.aWorksheets && aContentExcel.aWorksheets[0] && aContentExcel.aWorksheets[0].Drawings && aContentExcel.aWorksheets[0].Drawings.length) if(aContentExcel && aContentExcel.aWorksheets && aContentExcel.aWorksheets[0] && aContentExcel.aWorksheets[0].Drawings && aContentExcel.aWorksheets[0].Drawings.length)
{ {
var arr_shapes = aContentExcel.aWorksheets[0].Drawings;
var shape;
var aImagesToDownload = [];
for(var i = 0; i < aPastedImages.length; i++)
{
aImagesToDownload.push(aPastedImages[i].Url);
}
var aContent = {aPastedImages: aPastedImages, images: aImagesToDownload};
//var arrTransforms = objects.arrTransforms;
var presentation = editor.WordControl.m_oLogicDocument;
oThis = this;
var font_map = {};
var paste_callback = function() var paste_callback = function()
{ {
if(false == oThis.bNested) if(false == oThis.bNested)
...@@ -3154,20 +3136,42 @@ PasteProcessor.prototype = ...@@ -3154,20 +3136,42 @@ PasteProcessor.prototype =
presentation.Insert_Content(presentationSelectedContent); presentation.Insert_Content(presentationSelectedContent);
presentation.Recalculate(); presentation.Recalculate();
presentation.Check_CursorMoveRight(); presentation.Check_CursorMoveRight();
presentation.Document_UpdateInterfaceState(); presentation.Document_UpdateInterfaceState();
} }
};
var arr_shapes = aContentExcel.aWorksheets[0].Drawings;
var aImagesToDownload = [];
for(var i = 0; i < aPastedImages.length; i++)
{
aImagesToDownload.push(aPastedImages[i].Url);
} }
var aContent = {aPastedImages: aPastedImages, images: aImagesToDownload};
//var arrTransforms = objects.arrTransforms;
var presentation = editor.WordControl.m_oLogicDocument;
oThis = this;
//fonts
var font_map = {};
for(var i = 0; i < arr_shapes.length; ++i)
{
var shape = arr_shapes[i].graphicObject;
shape.getAllFonts(font_map);
}
var fonts = []; var fonts = [];
//грузим картинки и фонты //грузим картинки и фонты
for(var i in font_map) for(var i in font_map)
fonts.push(new CFont(i, 0, "", 0)); fonts.push(new CFont(i, 0, "", 0));
//images
var images = aContent.images; var images = aContent.images;
var arrImages = aContent.aPastedImages; var arrImages = aContent.aPastedImages;
var oObjectsForDownload = GetObjectsForImageDownload(arrImages); var oObjectsForDownload = GetObjectsForImageDownload(arrImages);
if(oObjectsForDownload.aUrls.length > 0) if(oObjectsForDownload.aUrls.length > 0)
{ {
...@@ -3190,10 +3194,70 @@ PasteProcessor.prototype = ...@@ -3190,10 +3194,70 @@ PasteProcessor.prototype =
this.api.pre_Paste(fonts, im_arr, paste_callback); this.api.pre_Paste(fonts, im_arr, paste_callback);
} }
return;
}
else
{
var presentationSelectedContent = new PresentationSelectedContent();
presentationSelectedContent.DocContent = new CSelectedContent();
var aContent = AscFormat.ExecuteNoHistory(this._convertExcelBinary, this, [excelContent]);
var elements = [], selectedElement, element, drawings = [], pDrawings = [], drawingCopyObject;
var defaultTableStyleId = presentation.DefaultTableStyleId;
for(var i = 0; i < aContent.content.length; ++i)
{
selectedElement = new CSelectedElement();
element = aContent.content[i];
if(type_Table == element.GetType())//table
{
//TODO переделать количество строк и ширину
var W = 100;
var Rows = 3;
var graphic_frame = new CGraphicFrame();
graphic_frame.setSpPr(new AscFormat.CSpPr());
graphic_frame.spPr.setParent(graphic_frame);
graphic_frame.spPr.setXfrm(new AscFormat.CXfrm());
graphic_frame.spPr.xfrm.setParent(graphic_frame.spPr);
graphic_frame.spPr.xfrm.setOffX((this.oDocument.Width - W)/2);
graphic_frame.spPr.xfrm.setOffY(this.oDocument.Height/5);
graphic_frame.spPr.xfrm.setExtX(W);
graphic_frame.spPr.xfrm.setExtY(7.478268771701388 * Rows);
graphic_frame.setNvSpPr(new AscFormat.UniNvPr());
element = this._convertTableToPPTX(element);
graphic_frame.setGraphicObject(element.Copy(graphic_frame));
graphic_frame.graphicObject.Set_TableStyle(defaultTableStyleId);
drawingCopyObject = new DrawingCopyObject();
drawingCopyObject.Drawing = graphic_frame;
pDrawings.push(drawingCopyObject);
}
}
presentationSelectedContent.Drawings = pDrawings;
var presentation = editor.WordControl.m_oLogicDocument;
//вставка
var paste_callback = function()
{
if(false == oThis.bNested)
{
presentation.Insert_Content(presentationSelectedContent);
presentation.Recalculate();
presentation.Check_CursorMoveRight();
presentation.Document_UpdateInterfaceState();
}
}
oThis.api.pre_Paste(aContent.content.fonts, null, paste_callback);
return; return;
} }
} }
} }
this.oRootNode = node; this.oRootNode = node;
this._Prepeare(node, this._Prepeare(node,
function(){ function(){
......
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