3594 lines
109 KiB
JavaScript
3594 lines
109 KiB
JavaScript
/*
|
||
* (c) Copyright Ascensio System SIA 2010-2024
|
||
*
|
||
* This program is a free software product. You can redistribute it and/or
|
||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||
* version 3 as published by the Free Software Foundation. In accordance with
|
||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||
* of any third-party rights.
|
||
*
|
||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||
*
|
||
* You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish
|
||
* street, Riga, Latvia, EU, LV-1050.
|
||
*
|
||
* The interactive user interfaces in modified source and object code versions
|
||
* of the Program must display Appropriate Legal Notices, as required under
|
||
* Section 5 of the GNU AGPL version 3.
|
||
*
|
||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||
* grant you any rights under trademark law for use of our trademarks.
|
||
*
|
||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||
* well as technical writing content are licensed under the terms of the
|
||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||
*
|
||
*/
|
||
|
||
"use strict";
|
||
(function(window, undefined){
|
||
|
||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||
// Private area
|
||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||
|
||
function private_GetLogicDocument()
|
||
{
|
||
if (editor)
|
||
return editor.WordControl.m_oLogicDocument;
|
||
|
||
return null;
|
||
}
|
||
function private_GetStyles()
|
||
{
|
||
var oLogicDocument = private_GetLogicDocument();
|
||
|
||
return oLogicDocument instanceof AscCommonWord.CDocument ? oLogicDocument.Get_Styles() : oLogicDocument.globalTableStyles;
|
||
}
|
||
function private_GetPresentation(){
|
||
return editor.WordControl.m_oLogicDocument;
|
||
}
|
||
|
||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||
// End of private area
|
||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||
|
||
var WriterToJSON = window['AscJsonConverter'].WriterToJSON;
|
||
var ReaderFromJSON = window['AscJsonConverter'].ReaderFromJSON;
|
||
|
||
WriterToJSON.prototype.SerPresentation = function(oPres)
|
||
{
|
||
var aNotesMasters = [];
|
||
for (var nNote = 0; nNote < oPres.notesMasters.length; nNote++)
|
||
aNotesMasters.push(this.SerNotesMaster(oPres.notesMasters[nNote]));
|
||
|
||
var aSlides = [];
|
||
for (var nSlide = 0; nSlide < oPres.Slides.length; nSlide++)
|
||
aSlides.push(this.SerSlide(oPres.Slides[nSlide], false, false, false));
|
||
|
||
var aSldMasters = [];
|
||
for (var nMaster = 0; nMaster < oPres.slideMasters.length; nMaster++)
|
||
aSldMasters.push(this.SerMasterSlide(oPres.slideMasters[nMaster], true));
|
||
|
||
var sConformanceType = oPres.pres.attrConformance === Asc.c_oAscConformanceType.Strict ? "strict" : "transitional";
|
||
return {
|
||
"slides": aSlides,
|
||
"sldSz": this.SerSlideSize(oPres.sldSz),
|
||
"showPr": this.SerShowPr(oPres.showPr),
|
||
"notesMasters": aNotesMasters,
|
||
"sldMasters": aSldMasters,
|
||
|
||
// CPres (oPresentation.pres)
|
||
"defaultTextStyle": this.SerLstStyle(oPres.pres.defaultTextStyle),
|
||
"autoCompressPictures": oPres.pres.attrAutoCompressPictures,
|
||
"bookmarkIdSeed": oPres.pres.attrBookmarkIdSeed,
|
||
"compatMode": oPres.pres.attrCompatMode,
|
||
"conformance": sConformanceType,
|
||
"embedTrueTypeFonts": oPres.pres.attrEmbedTrueTypeFonts,
|
||
"firstSlideNum": oPres.pres.attrFirstSlideNum,
|
||
"removePersonalInfoOnSave": oPres.pres.attrRemovePersonalInfoOnSave,
|
||
"rtl": oPres.pres.attrRtl,
|
||
"saveSubsetFonts": oPres.pres.attrSaveSubsetFonts,
|
||
"serverZoom": oPres.pres.attrServerZoom,
|
||
"showSpecialPlsOnTitleSld": oPres.pres.attrShowSpecialPlsOnTitleSld,
|
||
"strictFirstAndLastChars": oPres.pres.attrStrictFirstAndLastChars,
|
||
"type": "presentation"
|
||
}
|
||
};
|
||
WriterToJSON.prototype.SerSlideSize = function(oSldSz)
|
||
{
|
||
var sSldSzType = undefined;
|
||
switch (oSldSz.type)
|
||
{
|
||
case Asc.c_oAscSlideSZType.Sz35mm:
|
||
sSldSzType = "35mm";
|
||
break;
|
||
case Asc.c_oAscSlideSZType.SzA3:
|
||
sSldSzType = "A3";
|
||
break;
|
||
case Asc.c_oAscSlideSZType.SzA4:
|
||
sSldSzType = "A4";
|
||
break;
|
||
case Asc.c_oAscSlideSZType.SzB4ISO:
|
||
sSldSzType = "B4ISO";
|
||
break;
|
||
case Asc.c_oAscSlideSZType.SzB4JIS:
|
||
sSldSzType = "B4JIS";
|
||
break;
|
||
case Asc.c_oAscSlideSZType.SzB5ISO:
|
||
sSldSzType = "B5ISO";
|
||
break;
|
||
case Asc.c_oAscSlideSZType.SzB5JIS:
|
||
sSldSzType = "B5JIS";
|
||
break;
|
||
case Asc.c_oAscSlideSZType.SzBanner:
|
||
sSldSzType = "banner";
|
||
break;
|
||
case Asc.c_oAscSlideSZType.SzCustom:
|
||
sSldSzType = "custom";
|
||
break;
|
||
case Asc.c_oAscSlideSZType.SzHagakiCard:
|
||
sSldSzType = "hagakiCard";
|
||
break;
|
||
case Asc.c_oAscSlideSZType.SzLedger:
|
||
sSldSzType = "ledger";
|
||
break;
|
||
case Asc.c_oAscSlideSZType.SzLetter:
|
||
sSldSzType = "letter";
|
||
break;
|
||
case Asc.c_oAscSlideSZType.SzOverhead:
|
||
sSldSzType = "overhead";
|
||
break;
|
||
case Asc.c_oAscSlideSZType.SzScreen16x10:
|
||
sSldSzType = "screen16x10";
|
||
break;
|
||
case Asc.c_oAscSlideSZType.SzScreen16x9:
|
||
sSldSzType = "screen16x9";
|
||
break;
|
||
case Asc.c_oAscSlideSZType.SzScreen4x3:
|
||
sSldSzType = "screen4x3";
|
||
break;
|
||
case Asc.c_oAscSlideSZType.SzWidescreen:
|
||
sSldSzType = "wideScreen";
|
||
break;
|
||
}
|
||
|
||
return {
|
||
"cx": oSldSz.cx,
|
||
"cy": oSldSz.cy,
|
||
"type": sSldSzType
|
||
}
|
||
};
|
||
WriterToJSON.prototype.SerShowPr = function(oShowPr)
|
||
{
|
||
if (!oShowPr)
|
||
return undefined;
|
||
|
||
return {
|
||
"browse": oShowPr.browse,
|
||
"kiosk": oShowPr.kiosk,
|
||
"penClr": this.SerColor(oShowPr.penClr),
|
||
"present": oShowPr.present,
|
||
"show": oShowPr.show,
|
||
"loop": oShowPr.loop,
|
||
"showAnimation": oShowPr.showAnimation,
|
||
"showNarration": oShowPr.showNarration,
|
||
"useTimings": oShowPr.useTimings
|
||
}
|
||
};
|
||
WriterToJSON.prototype.SerNotesMaster = function(oNoteMaster)
|
||
{
|
||
var oNotesMasterObj = {
|
||
"id": oNoteMaster.Id,
|
||
"clrMap": this.SerColorMapOvr(oNoteMaster.clrMap),
|
||
"cSld": this.SerCSld(oNoteMaster.cSld),
|
||
"hf": this.SerHF(oNoteMaster.hf),
|
||
"notesStyle": this.SerLstStyle(oNoteMaster.txStyles),
|
||
"theme": oNoteMaster.Theme ? (this.themesMap[oNoteMaster.Theme.Id] ? oNoteMaster.Theme.Id : this.SerTheme(oNoteMaster.Theme)) : null
|
||
}
|
||
|
||
// мапим, чтобы не записывать несколько раз
|
||
this.notesMasterMap[oNoteMaster.Id] = oNotesMasterObj;
|
||
|
||
return oNotesMasterObj;
|
||
};
|
||
WriterToJSON.prototype.SerNotes = function(oNote)
|
||
{
|
||
return {
|
||
"lock": undefined, /// ??? вроде не нужно
|
||
"clrMapOvr": this.SerColorMapOvr(oNote.clrMap),
|
||
"graphicObjects": undefined, /// ??? вроде не нужно
|
||
"cSld": this.SerCSld(oNote.cSld),
|
||
"showMasterPhAnim": oNote.showMasterPhAnim,
|
||
"showMasterSp": oNote.showMasterSp,
|
||
"master": this.notesMasterMap[oNote.Master.Id] ? oNote.Master.Id : this.SerNotesMaster(oNote.Master)
|
||
}
|
||
};
|
||
WriterToJSON.prototype.SerSldComments = function(oSldComments)
|
||
{
|
||
var aComments = [];
|
||
|
||
for (var nComment = 0; nComment < oSldComments.comments.length; nComment++)
|
||
aComments.push(this.SerComment(oSldComments.comments[nComment]));
|
||
|
||
return aComments;
|
||
};
|
||
WriterToJSON.prototype.SerComment = function(oComment)
|
||
{
|
||
return {
|
||
"pos": {
|
||
"x": oComment.x,
|
||
"y": oComment.y
|
||
},
|
||
"text": oComment.Data.m_sText,
|
||
"authorName": oComment.Data.m_sUserName,
|
||
"authorId": oComment.Data.m_sUserId,
|
||
"dt": oComment.Data.m_sOOTime,
|
||
"idx": oComment.Parent.comments.indexOf(oComment)
|
||
}
|
||
};
|
||
WriterToJSON.prototype.SerSlideLayout = function(oLayout, bWriteMaster)
|
||
{
|
||
var sLayoutType = undefined;
|
||
switch (oLayout.type)
|
||
{
|
||
case c_oAscSlideLayoutType.Blank:
|
||
sLayoutType = "blank";
|
||
break;
|
||
case c_oAscSlideLayoutType.Chart:
|
||
sLayoutType = "chart";
|
||
break;
|
||
case c_oAscSlideLayoutType.ChartAndTx:
|
||
sLayoutType = "chartAndTx";
|
||
break;
|
||
case c_oAscSlideLayoutType.ClipArtAndTx:
|
||
sLayoutType = "clipArtAndTx";
|
||
break;
|
||
case c_oAscSlideLayoutType.ClipArtAndVertTx:
|
||
sLayoutType = "clipArtAndVertTx";
|
||
break;
|
||
case c_oAscSlideLayoutType.Cust:
|
||
sLayoutType = "cust";
|
||
break;
|
||
case c_oAscSlideLayoutType.Dgm:
|
||
sLayoutType = "dgm";
|
||
break;
|
||
case c_oAscSlideLayoutType.FourObj:
|
||
sLayoutType = "fourObj";
|
||
break;
|
||
case c_oAscSlideLayoutType.MediaAndTx:
|
||
sLayoutType = "mediaAndTx";
|
||
break;
|
||
case c_oAscSlideLayoutType.Obj:
|
||
sLayoutType = "obj";
|
||
break;
|
||
case c_oAscSlideLayoutType.ObjAndTwoObj:
|
||
sLayoutType = "objAndTwoObj";
|
||
break;
|
||
case c_oAscSlideLayoutType.ObjAndTx:
|
||
sLayoutType = "objAndTx";
|
||
break;
|
||
case c_oAscSlideLayoutType.ObjOnly:
|
||
sLayoutType = "objOnly";
|
||
break;
|
||
case c_oAscSlideLayoutType.ObjOverTx:
|
||
sLayoutType = "objOverTx";
|
||
break;
|
||
case c_oAscSlideLayoutType.ObjTx:
|
||
sLayoutType = "objTx";
|
||
break;
|
||
case c_oAscSlideLayoutType.PicTx:
|
||
sLayoutType = "picTx";
|
||
break;
|
||
case c_oAscSlideLayoutType.SecHead:
|
||
sLayoutType = "secHead";
|
||
break;
|
||
case c_oAscSlideLayoutType.Tbl:
|
||
sLayoutType = "tbl";
|
||
break;
|
||
case c_oAscSlideLayoutType.Title:
|
||
sLayoutType = "title";
|
||
break;
|
||
case c_oAscSlideLayoutType.TitleOnly:
|
||
sLayoutType = "titleOnly";
|
||
break;
|
||
case c_oAscSlideLayoutType.TwoColTx:
|
||
sLayoutType = "twoColTx";
|
||
break;
|
||
case c_oAscSlideLayoutType.TwoObj:
|
||
sLayoutType = "twoObj";
|
||
break;
|
||
case c_oAscSlideLayoutType.TwoObjAndObj:
|
||
sLayoutType = "twoObjAndObj";
|
||
break;
|
||
case c_oAscSlideLayoutType.TwoObjAndTx:
|
||
sLayoutType = "twoObjAndTx";
|
||
break;
|
||
case c_oAscSlideLayoutType.TwoObjOverTx:
|
||
sLayoutType = "twoObjOverTx";
|
||
break;
|
||
case c_oAscSlideLayoutType.TwoTxTwoObj:
|
||
sLayoutType = "twoTxTwoObj";
|
||
break;
|
||
case c_oAscSlideLayoutType.Tx:
|
||
sLayoutType = "tx";
|
||
break;
|
||
case c_oAscSlideLayoutType.TxAndChart:
|
||
sLayoutType = "txAndChart";
|
||
break;
|
||
case c_oAscSlideLayoutType.TxAndClipArt:
|
||
sLayoutType = "txAndClipArt";
|
||
break;
|
||
case c_oAscSlideLayoutType.TxAndMedia:
|
||
sLayoutType = "txAndMedia";
|
||
break;
|
||
case c_oAscSlideLayoutType.TxAndObj:
|
||
sLayoutType = "txAndObj";
|
||
break;
|
||
case c_oAscSlideLayoutType.TxAndTwoObj:
|
||
sLayoutType = "txAndTwoObj";
|
||
break;
|
||
case c_oAscSlideLayoutType.TxOverObj:
|
||
sLayoutType = "txOverObj";
|
||
break;
|
||
case c_oAscSlideLayoutType.VertTitleAndTx:
|
||
sLayoutType = "vertTitleAndTx";
|
||
break;
|
||
case c_oAscSlideLayoutType.VertTitleAndTxOverChart:
|
||
sLayoutType = "vertTitleAndTxOverChart";
|
||
break;
|
||
case c_oAscSlideLayoutType.VertTx:
|
||
sLayoutType = "vertTx";
|
||
break;
|
||
}
|
||
|
||
return {
|
||
"id": oLayout.Id,
|
||
"master": bWriteMaster ? this.SerMasterSlide(oLayout.Master, false) : oLayout.Master.Id,
|
||
"clrMapOvr": this.SerColorMapOvr(oLayout.clrMap),
|
||
"cSld": this.SerCSld(oLayout.cSld),
|
||
"hf": this.SerHF(oLayout.hf),
|
||
"timing": this.SerTiming(oLayout.timing),
|
||
"transition": this.SerTransition(oLayout.transition),
|
||
"matchingName": oLayout.matchingName,
|
||
"preserve": oLayout.preserve,
|
||
"showMasterPhAnim": oLayout.showMasterPhAnim,
|
||
"showMasterSp": oLayout.showMasterSp,
|
||
"userDrawn": oLayout.userDrawn,
|
||
"ltType": sLayoutType,
|
||
"imgBase64": oLayout.ImageBase64,
|
||
"type": "sldLayout"
|
||
}
|
||
};
|
||
WriterToJSON.prototype.SerMasterSlide = function(oMaster, bWriteAllMasLayouts)
|
||
{
|
||
var aLayoutLst = [];
|
||
if (bWriteAllMasLayouts)
|
||
{
|
||
for (var nLayout = 0; nLayout < oMaster.sldLayoutLst.length; nLayout++)
|
||
aLayoutLst.push(this.SerSlideLayout(oMaster.sldLayoutLst[nLayout], false));
|
||
}
|
||
|
||
return {
|
||
"id": oMaster.Id,
|
||
"theme": this.SerTheme(oMaster.Theme),
|
||
"clrMapOvr": this.SerColorMapOvr(oMaster.clrMap),
|
||
"cSld": this.SerCSld(oMaster.cSld),
|
||
"hf": this.SerHF(oMaster.hf),
|
||
"sldLayoutLst": aLayoutLst,
|
||
"timing": this.SerTiming(oMaster.timing),
|
||
"transition": this.SerTransition(oMaster.transition),
|
||
"txStyles": this.SerTxStyles(oMaster.txStyles),
|
||
"preserve": oMaster.preserve,
|
||
"imgBase64": oMaster.ImageBase64,
|
||
"type": "sldMaster"
|
||
}
|
||
};
|
||
WriterToJSON.prototype.SerSlide = function(oSlide, bWriteLayout, bWriteMaster, bWriteAllMasLayouts)
|
||
{
|
||
var oMaster = oSlide.Layout.Master.Id;
|
||
var oLayout = oSlide.Layout.Id;
|
||
|
||
// нет смысла тащить master за слайдом без layout
|
||
if (bWriteLayout || (bWriteMaster && bWriteAllMasLayouts))
|
||
{
|
||
if (bWriteMaster)
|
||
oMaster = this.SerMasterSlide(oSlide.Layout.Master, bWriteAllMasLayouts);
|
||
|
||
if (!bWriteAllMasLayouts)
|
||
oLayout = this.SerSlideLayout(oSlide.Layout, false);
|
||
}
|
||
|
||
return {
|
||
"notes": this.SerNotes(oSlide.notes),
|
||
"master": oMaster,
|
||
"clrMapOvr": this.SerColorMapOvr(oSlide.clrMap),
|
||
"layout": oLayout,
|
||
"cSld": this.SerCSld(oSlide.cSld),
|
||
"transition": this.SerTransition(oSlide.transition),
|
||
"timing": this.SerTiming(oSlide.timing),
|
||
"comments": this.SerSldComments(oSlide.slideComments),
|
||
"show": oSlide.show,
|
||
"showMasterPhAnim": oSlide.showMasterPhAnim,
|
||
"showMasterSp": oSlide.showMasterSp,
|
||
"type": "slide"
|
||
}
|
||
};
|
||
WriterToJSON.prototype.SerSlides = function(nStart, nEnd, bWriteLayout, bWriteMaster, bWriteAllMasLayouts)
|
||
{
|
||
var aMasters = [];
|
||
var aLayouts = [];
|
||
var aSlides = [];
|
||
|
||
var oPresentation = private_GetPresentation();
|
||
for (var nSlide = nStart; nSlide <= nEnd; nSlide++)
|
||
{
|
||
aSlides.push(this.SerSlide(oPresentation.Slides[nSlide], false, false, false));
|
||
|
||
if (bWriteLayout || (bWriteMaster && bWriteAllMasLayouts))
|
||
{
|
||
if (bWriteMaster)
|
||
{
|
||
var sMasterId = oPresentation.Slides[nSlide].Layout.Master ? oPresentation.Slides[nSlide].Layout.Master.Id : "";
|
||
if (sMasterId && !this.mastersMap[sMasterId])
|
||
{
|
||
this.mastersMap[sMasterId] = this.SerMasterSlide(oPresentation.Slides[nSlide].Layout.Master, bWriteAllMasLayouts);
|
||
aMasters.push(this.mastersMap[sMasterId]);
|
||
}
|
||
}
|
||
|
||
if (!bWriteAllMasLayouts)
|
||
{
|
||
var sLayoutId = oPresentation.Slides[nSlide].Layout ? oPresentation.Slides[nSlide].Layout.Id : "";
|
||
if (!this.layoutsMap[sLayoutId])
|
||
{
|
||
this.layoutsMap[sLayoutId] = this.SerSlideLayout(oPresentation.Slides[nSlide].Layout);
|
||
aLayouts.push(this.layoutsMap[sLayoutId]);
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
return {
|
||
"masters": aMasters,
|
||
"layouts": aLayouts,
|
||
"slides": aSlides,
|
||
"type": "slides"
|
||
}
|
||
};
|
||
WriterToJSON.prototype.SerTxStyles = function(oTxStyles)
|
||
{
|
||
return {
|
||
"bodyStyle": this.SerLstStyle(oTxStyles.bodyStyle),
|
||
"otherStyle": this.SerLstStyle(oTxStyles.otherStyle),
|
||
"titleStyle": this.SerLstStyle(oTxStyles.titleStyle)
|
||
}
|
||
};
|
||
WriterToJSON.prototype.SerTableStylesForWrite = function()
|
||
{
|
||
if (this.stylesForWrite == null)
|
||
return undefined;
|
||
|
||
var oResult = {};
|
||
for (var key in this.stylesForWrite.styles)
|
||
oResult[key] = this.SerTableStyle(this.stylesForWrite.styles[key]);
|
||
|
||
return oResult;
|
||
};
|
||
WriterToJSON.prototype.SerTableStyle = function(oStyle)
|
||
{
|
||
return {
|
||
"styleId": oStyle.Id,
|
||
"name": oStyle.Name,
|
||
"tblBg": this.SerTableCellStyle(oStyle.TablePr, true),
|
||
"wholeTbl": this.SerTableStylePart(oStyle.TableWholeTable),
|
||
"band1H": this.SerTableStylePart(oStyle.TableBand1Horz),
|
||
"band2H": this.SerTableStylePart(oStyle.TableBand2Horz),
|
||
"band1V": this.SerTableStylePart(oStyle.TableBand1Vert),
|
||
"band2V": this.SerTableStylePart(oStyle.TableBand2Vert),
|
||
"lastCol": this.SerTableStylePart(oStyle.TableLastCol),
|
||
"firstCol": this.SerTableStylePart(oStyle.TableFirstCol),
|
||
"lastRow": this.SerTableStylePart(oStyle.TableLastRow),
|
||
"seCell": this.SerTableStylePart(oStyle.TableBRCell),
|
||
"swCell": this.SerTableStylePart(oStyle.TableBLCell),
|
||
"firstRow": this.SerTableStylePart(oStyle.TableFirstRow),
|
||
"neCell": this.SerTableStylePart(oStyle.TableTRCell),
|
||
"nwCell": this.SerTableStylePart(oStyle.TableTLCell)
|
||
}
|
||
};
|
||
WriterToJSON.prototype.SerTableCellStyle = function(oCellPr, isTableBorders)
|
||
{
|
||
if (!oCellPr)
|
||
return undefined;
|
||
|
||
let oBorders = isTableBorders ? oCellPr.TableBorders : oCellPr.TableCellBorders;
|
||
let oShd = oCellPr.Shd;
|
||
let bBorders = oBorders && (oBorders.Left || oBorders.Right || oBorders.Top || oBorders.Bottom || oBorders.InsideH || oBorders.InsideV);
|
||
|
||
return {
|
||
"tcBdr": bBorders ? {
|
||
"left": this.SerTableCellBorder(oBorders.Left),
|
||
"right": this.SerTableCellBorder(oBorders.Right),
|
||
"top": this.SerTableCellBorder(oBorders.Top),
|
||
"bottom": this.SerTableCellBorder(oBorders.Bottom),
|
||
"insideH": this.SerTableCellBorder(oBorders.InsideH),
|
||
"insideV": this.SerTableCellBorder(oBorders.InsideV),
|
||
} : undefined,
|
||
"fillRef": oShd ? this.SerStyleRef(oShd.FillRef) : undefined,
|
||
"fill": oShd ? this.SerFill(oShd.Unifill) : undefined
|
||
}
|
||
};
|
||
WriterToJSON.prototype.SerTableCellBorder = function(oBorder)
|
||
{
|
||
if (!oBorder)
|
||
return undefined;
|
||
|
||
let oResult = {};
|
||
|
||
if (oBorder.LineRef)
|
||
oResult["lnRef"] = this.SerStyleRef(oBorder.LineRef);
|
||
else
|
||
{
|
||
let oLn = new AscFormat.CLn();
|
||
oLn.fromDocumentBorder(oBorder);
|
||
oResult["ln"] = this.SerLn(oLn);
|
||
}
|
||
|
||
return oResult;
|
||
};
|
||
WriterToJSON.prototype.SerTableStylePart = function(oStylePart)
|
||
{
|
||
if (!oStylePart)
|
||
return undefined;
|
||
|
||
return {
|
||
"tcTxStyle": this.SerTcTxStyle(oStylePart.TextPr),
|
||
"tcStyle": this.SerTableCellStyle(oStylePart.TableCellPr)
|
||
}
|
||
};
|
||
WriterToJSON.prototype.SerTcTxStyle = function(oTextPr)
|
||
{
|
||
if (!oTextPr)
|
||
return undefined;
|
||
|
||
let oResult;
|
||
let oUnicolor = oTextPr.Unifill && oTextPr.Unifill.fill && oTextPr.Unifill.fill.color;
|
||
if(oTextPr.Italic === true || oTextPr.Italic === false ||
|
||
oTextPr.Bold === true || oTextPr.Bold === false ||
|
||
oTextPr.FontRef || oUnicolor)
|
||
{
|
||
oResult = {};
|
||
if(oTextPr.Italic === true || oTextPr.Italic === false) {
|
||
oResult["i"] = oTextPr.Italic ? "on" : "off";
|
||
}
|
||
if(oTextPr.Bold === true || oTextPr.Bold === false) {
|
||
oResult["b"] = oTextPr.Bold ? "on" : "off";
|
||
}
|
||
|
||
if(oTextPr.FontRef) {
|
||
oResult["fontRef"] = this.SerFontRef(oTextPr.FontRef);
|
||
}
|
||
if(oUnicolor) {
|
||
oResult["color"] = this.SerColor(oUnicolor);
|
||
}
|
||
}
|
||
|
||
return oResult;
|
||
};
|
||
WriterToJSON.prototype.SerHF = function(oHf)
|
||
{
|
||
if (!oHf)
|
||
return undefined;
|
||
|
||
return {
|
||
"dt": oHf.dt,
|
||
"ftr": oHf.ftr,
|
||
"hdr": oHf.hdr,
|
||
"sldNum": oHf.sldNum
|
||
}
|
||
};
|
||
WriterToJSON.prototype.SerCSld = function(oCSld)
|
||
{
|
||
var aSpTree = [];
|
||
for (var nElm = 0; nElm < oCSld.spTree.length; nElm++)
|
||
aSpTree.push(this.SerGraphicObject(oCSld.spTree[nElm]));
|
||
|
||
return {
|
||
"bg": this.SerBg(oCSld.Bg),
|
||
"spTree": aSpTree,
|
||
"name": oCSld.name
|
||
}
|
||
};
|
||
WriterToJSON.prototype.SerBg = function(oBg)
|
||
{
|
||
if (!oBg)
|
||
return undefined;
|
||
|
||
var sBwModeType = undefined;
|
||
switch (oBg.bwMode)
|
||
{
|
||
case c_oAscSlideBgBwModeType.Auto:
|
||
sBwModeType = "auto";
|
||
break;
|
||
case c_oAscSlideBgBwModeType.Black:
|
||
sBwModeType = "black";
|
||
break;
|
||
case c_oAscSlideBgBwModeType.BlackGray:
|
||
sBwModeType = "blackGray";
|
||
break;
|
||
case c_oAscSlideBgBwModeType.BlackWhite:
|
||
sBwModeType = "blackWhite";
|
||
break;
|
||
case c_oAscSlideBgBwModeType.Clr:
|
||
sBwModeType = "clr";
|
||
break;
|
||
case c_oAscSlideBgBwModeType.Gray:
|
||
sBwModeType = "gray";
|
||
break;
|
||
case c_oAscSlideBgBwModeType.GrayWhite:
|
||
sBwModeType = "grayWhite";
|
||
break;
|
||
case c_oAscSlideBgBwModeType.Hidden:
|
||
sBwModeType = "hidden";
|
||
break;
|
||
case c_oAscSlideBgBwModeType.InvGray:
|
||
sBwModeType = "invGray";
|
||
break;
|
||
case c_oAscSlideBgBwModeType.LtGray:
|
||
sBwModeType = "ltGray";
|
||
break;
|
||
case c_oAscSlideBgBwModeType.White:
|
||
sBwModeType = "white";
|
||
break;
|
||
}
|
||
|
||
return {
|
||
"bwMode": sBwModeType,
|
||
"bgPr": this.SerBgPr(oBg.bgPr),
|
||
"bgRef": this.SerStyleRef(oBg.bgRef)
|
||
}
|
||
};
|
||
WriterToJSON.prototype.SerBgPr = function(oBgPr)
|
||
{
|
||
if (!oBgPr)
|
||
return undefined;
|
||
|
||
return {
|
||
"fill": this.SerFill(oBgPr.Fill),
|
||
"shadeToTitle": oBgPr.shadeToTitle
|
||
}
|
||
};
|
||
WriterToJSON.prototype.SerTransition = function(oTransition)
|
||
{
|
||
if (!oTransition)
|
||
return undefined;
|
||
|
||
var sTransType = undefined;
|
||
switch (oTransition.TransitionType)
|
||
{
|
||
case c_oAscSlideTransitionTypes.None:
|
||
sTransType = "none";
|
||
break;
|
||
case c_oAscSlideTransitionTypes.Fade:
|
||
sTransType = "fade";
|
||
break;
|
||
case c_oAscSlideTransitionTypes.Push:
|
||
sTransType = "push";
|
||
break;
|
||
case c_oAscSlideTransitionTypes.Wipe:
|
||
sTransType = "wipe";
|
||
break;
|
||
case c_oAscSlideTransitionTypes.Split:
|
||
sTransType = "split";
|
||
break;
|
||
case c_oAscSlideTransitionTypes.UnCover:
|
||
sTransType = "unCover";
|
||
break;
|
||
case c_oAscSlideTransitionTypes.Cover:
|
||
sTransType = "cover";
|
||
break;
|
||
case c_oAscSlideTransitionTypes.Clock:
|
||
sTransType = "clock";
|
||
break;
|
||
case c_oAscSlideTransitionTypes.Zoom:
|
||
sTransType = "zoom";
|
||
break;
|
||
}
|
||
|
||
var transOption = "none";
|
||
switch (sTransType)
|
||
{
|
||
case "fade":
|
||
transOption = oTransition.TransitionOption !== c_oAscSlideTransitionParams.Fade_Smoothly;
|
||
break;
|
||
case "push":
|
||
case "wipe":
|
||
case "cover":
|
||
case "uncover":
|
||
switch (oTransition.TransitionOption)
|
||
{
|
||
case c_oAscSlideTransitionParams.Param_Left:
|
||
transOption = "l";
|
||
break;
|
||
case c_oAscSlideTransitionParams.Param_Top:
|
||
transOption = "t";
|
||
break;
|
||
case c_oAscSlideTransitionParams.Param_Right:
|
||
transOption = "r";
|
||
break;
|
||
case c_oAscSlideTransitionParams.Param_Bottom:
|
||
transOption = "b";
|
||
break;
|
||
case c_oAscSlideTransitionParams.Param_TopLeft:
|
||
transOption = "tl";
|
||
break;
|
||
case c_oAscSlideTransitionParams.Param_TopRight:
|
||
transOption = "tr";
|
||
break;
|
||
case c_oAscSlideTransitionParams.Param_BottomLeft:
|
||
transOption = "bl";
|
||
break;
|
||
case c_oAscSlideTransitionParams.Param_BottomRight:
|
||
transOption = "br";
|
||
break;
|
||
}
|
||
break;
|
||
case "split":
|
||
switch (oTransition.TransitionOption)
|
||
{
|
||
case c_oAscSlideTransitionParams.Split_VerticalIn:
|
||
transOption = "verIn";
|
||
break;
|
||
case c_oAscSlideTransitionParams.Split_VerticalOut:
|
||
transOption = "verOut";
|
||
break;
|
||
case c_oAscSlideTransitionParams.Split_HorizontalIn:
|
||
transOption = "horIn";
|
||
break;
|
||
case c_oAscSlideTransitionParams.Split_HorizontalOut:
|
||
transOption = "horOut";
|
||
break;
|
||
}
|
||
break;
|
||
case "clock":
|
||
switch (oTransition.TransitionOption)
|
||
{
|
||
case c_oAscSlideTransitionParams.Clock_Clockwise:
|
||
transOption = "clockwise";
|
||
break;
|
||
case c_oAscSlideTransitionParams.Clock_Counterclockwise:
|
||
transOption = "counterClockwise";
|
||
break;
|
||
case c_oAscSlideTransitionParams.Clock_Wedge:
|
||
transOption = "wedge";
|
||
break;
|
||
}
|
||
break;
|
||
case "zoom":
|
||
switch (oTransition.TransitionOption)
|
||
{
|
||
case c_oAscSlideTransitionParams.Zoom_In:
|
||
transOption = "in";
|
||
break;
|
||
case c_oAscSlideTransitionParams.Zoom_Out:
|
||
transOption = "out";
|
||
break;
|
||
case c_oAscSlideTransitionParams.Zoom_AndRotate:
|
||
transOption = "andRotate";
|
||
break;
|
||
}
|
||
break;
|
||
}
|
||
|
||
return {
|
||
"option": transOption,
|
||
"type": sTransType,
|
||
"transDur": oTransition.TransitionDuration,
|
||
"advClick": oTransition.SlideAdvanceOnMouseClick,
|
||
"advAfter": oTransition.SlideAdvanceAfter,
|
||
"advDur": oTransition.SlideAdvanceDuration,
|
||
"shwLoop": oTransition.ShowLoop
|
||
}
|
||
};
|
||
WriterToJSON.prototype.SerTiming = function(oTiming)
|
||
{
|
||
if (!oTiming)
|
||
return undefined;
|
||
|
||
return {
|
||
"bldLst": this.SerBldLst(oTiming.bldLst),
|
||
"tnLst": this.SerTnLst(oTiming.tnLst),
|
||
"type": "timing"
|
||
}
|
||
};
|
||
WriterToJSON.prototype.SerBldLst = function(oBldLst)
|
||
{
|
||
if (!oBldLst)
|
||
return undefined;
|
||
|
||
var aBldLst = [];
|
||
for (var nElm = 0; nElm < oBldLst.list.length; nElm++)
|
||
{
|
||
if (oBldLst.list[nElm] instanceof AscFormat.CBldDgm)
|
||
aBldLst.push(this.SerBldDgm(oBldLst.list[nElm]));
|
||
else if (oBldLst.list[nElm] instanceof AscFormat.CBldOleChart)
|
||
aBldLst.push(this.SerBldOleChart(oBldLst.list[nElm]));
|
||
else if (oBldLst.list[nElm] instanceof AscFormat.CBldGraphic)
|
||
aBldLst.push(this.SerBldGraphic(oBldLst.list[nElm]));
|
||
else if (oBldLst.list[nElm] instanceof AscFormat.CBldP)
|
||
aBldLst.push(this.SerBldP(oBldLst.list[nElm]));
|
||
}
|
||
|
||
return aBldLst;
|
||
};
|
||
WriterToJSON.prototype.SerBldDgm = function(oBldDgm)
|
||
{
|
||
if (!oBldDgm)
|
||
return undefined;
|
||
|
||
let nSpId = this.GetSpIdxId(oBldDgm.spid);
|
||
return {
|
||
"bld": oBldDgm.bld, // ?? c_oAscSlideDgmBuildType
|
||
"grpId": oBldDgm.grpId,
|
||
"spid": nSpId != null ? nSpId : undefined,
|
||
"uiExpand": oBldDgm.uiExpand,
|
||
"type": "bldDgm"
|
||
}
|
||
};
|
||
WriterToJSON.prototype.SerBldOleChart = function(oBldOleChart)
|
||
{
|
||
if (!oBldOleChart)
|
||
return undefined;
|
||
|
||
let nSpId = this.GetSpIdxId(oBldOleChart.spid);
|
||
|
||
return {
|
||
"animBg": oBldOleChart.animBg,
|
||
"bld": oBldOleChart.bld, // ?? c_oAscSlideOleChartBuildType
|
||
"grpId": oBldOleChart.grpId,
|
||
"spid": nSpId != null ? nSpId : undefined,
|
||
"uiExpand": oBldOleChart.uiExpand,
|
||
"type": "bldOleChart"
|
||
}
|
||
};
|
||
WriterToJSON.prototype.SerBldGraphic = function(oBldGraphic)
|
||
{
|
||
if (!oBldGraphic)
|
||
return undefined;
|
||
|
||
let nSpId = this.GetSpIdxId(oBldGraphic.spid);
|
||
|
||
return {
|
||
"bldAsOne": this.SerEmptyObject(oBldGraphic.bldAsOne),
|
||
"bldSub": this.SerBldSub(oBldGraphic.bldSub),
|
||
"grpId": oBldGraphic.grpId,
|
||
"spid": nSpId != null ? nSpId : undefined,
|
||
"uiExpand": oBldGraphic.uiExpand,
|
||
"type": "bldGraphic"
|
||
}
|
||
};
|
||
WriterToJSON.prototype.SerEmptyObject = function(oEmptyObject)
|
||
{
|
||
if (!oEmptyObject)
|
||
return undefined;
|
||
|
||
return {
|
||
"type": "emptyObj"
|
||
}
|
||
};
|
||
WriterToJSON.prototype.SerBldSub = function(oBldSub)
|
||
{
|
||
if (!oBldSub)
|
||
return undefined;
|
||
|
||
return {
|
||
"chart": oBldSub.chart,
|
||
"animBg": oBldSub.animBg,
|
||
"bldChart": oBldSub.bldChart, // ?? c_oAscSlideAnimDgmBuildType
|
||
"bldDgm": oBldSub.bldDgm, // ?? c_oAscSlideAnimChartBuildType
|
||
"rev": oBldSub.rev
|
||
}
|
||
};
|
||
WriterToJSON.prototype.SerBldP = function(oBldP)
|
||
{
|
||
if (!oBldP)
|
||
return undefined;
|
||
|
||
var sBuildType = undefined;
|
||
switch (oBldP.build)
|
||
{
|
||
case c_oAscSlideParaBuildType.AllAtOnce:
|
||
sBuildType = "allAtOnce";
|
||
break;
|
||
case c_oAscSlideParaBuildType.Cust:
|
||
sBuildType = "cust";
|
||
break;
|
||
case c_oAscSlideParaBuildType.P:
|
||
sBuildType = "p";
|
||
break;
|
||
case c_oAscSlideParaBuildType.Whole:
|
||
sBuildType = "whole";
|
||
break;
|
||
}
|
||
let nSpId = this.GetSpIdxId(oBldP.spid);
|
||
|
||
return {
|
||
"tmplLst": this.SerTmplLst(oBldP.tmplLst),
|
||
"advAuto": oBldP.advAuto,
|
||
"animBg": oBldP.animBg,
|
||
"autoUpdateAnimB": oBldP.autoUpdateAnimB,
|
||
"bldLvl": oBldP.bldLvl,
|
||
"build": sBuildType,
|
||
"grpId": oBldP.grpId,
|
||
"rev": oBldP.rev,
|
||
"spid": nSpId != null ? nSpId : undefined,
|
||
"uiExpand": oBldP.uiExpand,
|
||
"type": "bldP"
|
||
}
|
||
};
|
||
WriterToJSON.prototype.SerTmplLst = function(oTmplLst)
|
||
{
|
||
if (!oTmplLst)
|
||
return undefined;
|
||
|
||
var aTmplLst = [];
|
||
|
||
for (var nElm = 0; nElm < oTmplLst.list.length; nElm++)
|
||
aTmplLst.push(this.SerTmpl(oTmplLst.list[nElm]));
|
||
|
||
return aTmplLst;
|
||
};
|
||
WriterToJSON.prototype.SerTmpl = function(oTmpl)
|
||
{
|
||
return {
|
||
"lvl": oTmpl.lvl,
|
||
"tnLst": this.SerTnLst(oTmpl.tnLst)
|
||
}
|
||
};
|
||
WriterToJSON.prototype.SerTnLst = function(oTnLst)
|
||
{
|
||
if (!oTnLst)
|
||
return undefined;
|
||
|
||
var aTnLst = [];
|
||
var oTempElm = null;
|
||
|
||
for (var nElm = 0; nElm < oTnLst.list.length; nElm++)
|
||
{
|
||
oTempElm = oTnLst.list[nElm];
|
||
if (oTempElm instanceof AscFormat.CPar)
|
||
aTnLst.push(this.SerPar(oTempElm));
|
||
else if (oTempElm instanceof AscFormat.CSeq)
|
||
aTnLst.push(this.SerSeq(oTempElm));
|
||
else if (oTempElm instanceof AscFormat.CAudio)
|
||
aTnLst.push(this.SerAudio(oTempElm));
|
||
else if (oTempElm instanceof AscFormat.CVideo)
|
||
aTnLst.push(this.SerVideo(oTempElm));
|
||
else if (oTempElm instanceof AscFormat.CExcl)
|
||
aTnLst.push(this.SerExcl(oTempElm));
|
||
else if (oTempElm instanceof AscFormat.CAnim)
|
||
aTnLst.push(this.SerAnim(oTempElm));
|
||
else if (oTempElm instanceof AscFormat.CAnimClr)
|
||
aTnLst.push(this.SerAnimClr(oTempElm));
|
||
else if (oTempElm instanceof AscFormat.CAnimEffect)
|
||
aTnLst.push(this.SerAnimEffect(oTempElm));
|
||
else if (oTempElm instanceof AscFormat.CAnimMotion)
|
||
aTnLst.push(this.SerAnimMotion(oTempElm));
|
||
else if (oTempElm instanceof AscFormat.CAnimRot)
|
||
aTnLst.push(this.SerAnimRot(oTempElm));
|
||
else if (oTempElm instanceof AscFormat.CAnimScale)
|
||
aTnLst.push(this.SerAnimScale(oTempElm));
|
||
else if (oTempElm instanceof AscFormat.CCmd)
|
||
aTnLst.push(this.SerCmd(oTempElm));
|
||
else if (oTempElm instanceof AscFormat.CSet)
|
||
aTnLst.push(this.SerSet(oTempElm));
|
||
}
|
||
|
||
return aTnLst;
|
||
};
|
||
WriterToJSON.prototype.SerPar = function(oPar)
|
||
{
|
||
return {
|
||
"cTn": this.SerCTn(oPar.cTn),
|
||
"objType": "par"
|
||
}
|
||
};
|
||
WriterToJSON.prototype.SerCTn = function(oCTn)
|
||
{
|
||
if (!oCTn)
|
||
return undefined;
|
||
|
||
var sNodeFillType = undefined;
|
||
switch (oCTn.fill)
|
||
{
|
||
case c_oAscSlideNodeFillType.Freeze:
|
||
sNodeFillType = "freeze";
|
||
break;
|
||
case c_oAscSlideNodeFillType.Hold:
|
||
sNodeFillType = "hold";
|
||
break;
|
||
case c_oAscSlideNodeFillType.Remove:
|
||
sNodeFillType = "remove";
|
||
break;
|
||
case c_oAscSlideNodeFillType.Transition:
|
||
sNodeFillType = "transition";
|
||
break;
|
||
}
|
||
|
||
var sMasterRelType = undefined;
|
||
switch (oCTn.masterRel)
|
||
{
|
||
case c_oAscSlideMasterRelationType.LastClick:
|
||
sMasterRelType = "lastClick";
|
||
break;
|
||
case c_oAscSlideMasterRelationType.NextClick:
|
||
sMasterRelType = "nextClick";
|
||
break;
|
||
case c_oAscSlideMasterRelationType.SameClick:
|
||
sMasterRelType = "sameClick";
|
||
break;
|
||
}
|
||
|
||
var sNodeType = undefined;
|
||
switch (oCTn.nodeType)
|
||
{
|
||
case c_oAscSlideNodeType.AfterEffect:
|
||
sNodeType = "afterEffect";
|
||
break;
|
||
case c_oAscSlideNodeType.AfterGroup:
|
||
sNodeType = "afterGroup";
|
||
break;
|
||
case c_oAscSlideNodeType.ClickEffect:
|
||
sNodeType = "clickEffect";
|
||
break;
|
||
case c_oAscSlideNodeType.ClickPar:
|
||
sNodeType = "clickPar";
|
||
break;
|
||
case c_oAscSlideNodeType.InteractiveSeq:
|
||
sNodeType = "interactiveSeq";
|
||
break;
|
||
case c_oAscSlideNodeType.MainSeq:
|
||
sNodeType = "mainSeq";
|
||
break;
|
||
case c_oAscSlideNodeType.TmRoot:
|
||
sNodeType = "tmRoot";
|
||
break;
|
||
case c_oAscSlideNodeType.WithEffect:
|
||
sNodeType = "withEffect";
|
||
break;
|
||
case c_oAscSlideNodeType.WithGroup:
|
||
sNodeType = "withGroup";
|
||
break;
|
||
}
|
||
|
||
var sPresetClassType = undefined;
|
||
switch (oCTn.presetClass)
|
||
{
|
||
case c_oAscSlidePresetClassType.Emph:
|
||
sPresetClassType = "emph";
|
||
break;
|
||
case c_oAscSlidePresetClassType.Entr:
|
||
sPresetClassType = "entr";
|
||
break;
|
||
case c_oAscSlidePresetClassType.Exit:
|
||
sPresetClassType = "exit";
|
||
break;
|
||
case c_oAscSlidePresetClassType.Mediacall:
|
||
sPresetClassType = "mediacall";
|
||
break;
|
||
case c_oAscSlidePresetClassType.Path:
|
||
sPresetClassType = "path";
|
||
break;
|
||
case c_oAscSlidePresetClassType.Verb:
|
||
sPresetClassType = "verb";
|
||
break;
|
||
}
|
||
|
||
var sRestartType = undefined;
|
||
switch (oCTn.restart)
|
||
{
|
||
case c_oAscSlideRestartType.Always:
|
||
sRestartType = "always";
|
||
break;
|
||
case c_oAscSlideRestartType.Never:
|
||
sRestartType = "never";
|
||
break;
|
||
case c_oAscSlideRestartType.WhenNotActive:
|
||
sRestartType = "whenNotActive";
|
||
break;
|
||
}
|
||
|
||
var sSyncBehaviorType = undefined;
|
||
switch (oCTn.syncBehavior)
|
||
{
|
||
case c_oAscSlideSyncBehaviorType.CanSlip:
|
||
sSyncBehaviorType = "canSlip";
|
||
break;
|
||
case c_oAscSlideSyncBehaviorType.Locked:
|
||
sSyncBehaviorType = "locked";
|
||
break;
|
||
}
|
||
|
||
return {
|
||
"Id": oCTn.Id,
|
||
|
||
"childTnLst": this.SerTnLst(oCTn.childTnLst),
|
||
"endCondLst": this.SerCondLst(oCTn.endCondLst),
|
||
"endSync": this.SerCond(oCTn.endSync),
|
||
"iterate": this.SerIterate(oCTn.iterate),
|
||
"stCondLst": this.SerCondLst(oCTn.stCondLst),
|
||
"subTnLst": this.SerTnLst(oCTn.subTnLst),
|
||
|
||
"accel": oCTn.accel,
|
||
"afterEffect": oCTn.afterEffect,
|
||
"autoRev": oCTn.autoRev,
|
||
"bldLvl": oCTn.bldLvl,
|
||
"decel": oCTn.decel,
|
||
"display": oCTn.display,
|
||
"dur": oCTn.dur,
|
||
"evtFilter": oCTn.evtFilter,
|
||
"fill": sNodeFillType,
|
||
"grpId": oCTn.grpId,
|
||
"id": oCTn.id,
|
||
"masterRel": sMasterRelType,
|
||
"nodePh": oCTn.nodePh,
|
||
"nodeType": sNodeType,
|
||
"presetClass": sPresetClassType,
|
||
"presetID": oCTn.presetID,
|
||
"presetSubtype": oCTn.presetSubtype,
|
||
"repeatCount": oCTn.repeatCount,
|
||
"repeatDur": oCTn.repeatDur,
|
||
"restart": sRestartType,
|
||
"spd": oCTn.spd,
|
||
"syncBehavior": sSyncBehaviorType,
|
||
"tmFilter": oCTn.tmFilter
|
||
}
|
||
};
|
||
WriterToJSON.prototype.SerSeq = function(oSeq)
|
||
{
|
||
var sNextAcType = undefined;
|
||
switch (oSeq.nextAc)
|
||
{
|
||
case c_oAscSlideNextAcType.None:
|
||
sNextAcType = "none";
|
||
break;
|
||
case c_oAscSlideNextAcType.Seek:
|
||
sNextAcType = "seek";
|
||
break;
|
||
}
|
||
|
||
var sPrevAcType = undefined;
|
||
switch (oSeq.prevAc)
|
||
{
|
||
case c_oAscSlidePrevAcType.None:
|
||
sPrevAcType = "none";
|
||
break;
|
||
case c_oAscSlidePrevAcType.SkipTimed:
|
||
sPrevAcType = "skipTimed";
|
||
break;
|
||
}
|
||
|
||
return {
|
||
"cTn": this.SerCTn(oSeq.cTn),
|
||
"nextCondLst": this.SerCondLst(oSeq.nextCondLst),
|
||
"prevCondLst": this.SerCondLst(oSeq.prevCondLst),
|
||
"concurrent": oSeq.concurrent,
|
||
"nextAc": sNextAcType,
|
||
"prevAc": sPrevAcType,
|
||
"objType": "seq"
|
||
}
|
||
};
|
||
WriterToJSON.prototype.SerIterate = function(oIterate)
|
||
{
|
||
if (!oIterate)
|
||
return undefined;
|
||
|
||
var sIterateType = undefined;
|
||
switch (oIterate.type)
|
||
{
|
||
case c_oAscSlideIterateType.El:
|
||
sIterateType = "el";
|
||
break;
|
||
case c_oAscSlideIterateType.Lt:
|
||
sIterateType = "lt";
|
||
break;
|
||
case c_oAscSlideIterateType.Wd:
|
||
sIterateType = "wd";
|
||
break;
|
||
}
|
||
return {
|
||
"tmAbs": oIterate.tmAbs,
|
||
"tmPct": oIterate.tmPct,
|
||
"backwards": oIterate.backwards,
|
||
"type": sIterateType
|
||
}
|
||
};
|
||
WriterToJSON.prototype.SerAudio = function(oAudio)
|
||
{
|
||
return {
|
||
"cMediaNode": this.SerCMediaNode(oAudio.cMediaNode),
|
||
"isNarration": oAudio.isNarration,
|
||
"objType": "audio"
|
||
}
|
||
};
|
||
WriterToJSON.prototype.SerCMediaNode = function(oCMediaNode)
|
||
{
|
||
if (!oCMediaNode)
|
||
return undefined;
|
||
|
||
return {
|
||
"cTn": this.SerCTn(oCMediaNode.cTn),
|
||
"tgtEl": this.SerTgtEl(oCMediaNode.tgtEl),
|
||
"mute": oCMediaNode.mute,
|
||
"numSld": oCMediaNode.numSld,
|
||
"showWhenStopped": oCMediaNode.showWhenStopped,
|
||
"vol": oCMediaNode.vol
|
||
}
|
||
};
|
||
WriterToJSON.prototype.SerVideo = function(oVideo)
|
||
{
|
||
return {
|
||
"cMediaNode": this.SerCMediaNode(oVideo.cMediaNode),
|
||
"fullScrn": oVideo.fullScrn,
|
||
"objType": "video"
|
||
}
|
||
};
|
||
WriterToJSON.prototype.SerExcl = function(oExcl)
|
||
{
|
||
return {
|
||
"cTn": this.SerCTn(oExcl.cTn),
|
||
"objType": "excl"
|
||
}
|
||
};
|
||
WriterToJSON.prototype.SerAnim = function(oAnim)
|
||
{
|
||
var sCalcmodeType = undefined;
|
||
switch (oAnim.calcmode)
|
||
{
|
||
case c_oAscSlideCalcModeType.Discrete:
|
||
sCalcmodeType = "discrete";
|
||
break;
|
||
case c_oAscSlideCalcModeType.Lin:
|
||
sCalcmodeType = "lin";
|
||
break;
|
||
case c_oAscSlideCalcModeType.Fmla:
|
||
sCalcmodeType = "fmla";
|
||
break;
|
||
}
|
||
|
||
var sValueType = undefined;
|
||
switch (oAnim.valueType)
|
||
{
|
||
case c_oAscSlideTLValueType.Num:
|
||
sValueType = "num";
|
||
break;
|
||
case c_oAscSlideTLValueType.Clr:
|
||
sValueType = "clr";
|
||
break;
|
||
case c_oAscSlideTLValueType.Str:
|
||
sValueType = "str";
|
||
break;
|
||
}
|
||
|
||
return {
|
||
"cBhvr": this.SerCBhvr(oAnim.cBhvr),
|
||
"tavLst": this.SerTavLst(oAnim.tavLst),
|
||
"by": oAnim.by,
|
||
"calcmode": sCalcmodeType,
|
||
"from": oAnim.from,
|
||
"to": oAnim.to,
|
||
"valueType": sValueType,
|
||
"objType": "anim"
|
||
}
|
||
};
|
||
WriterToJSON.prototype.SerCBhvr = function(oCBhvr)
|
||
{
|
||
if (!oCBhvr)
|
||
return undefined;
|
||
|
||
var sAccumulateType = undefined;
|
||
switch (oCBhvr.accumulate)
|
||
{
|
||
case c_oAscSlideTLAccumulateType.Always:
|
||
sAccumulateType = "always";
|
||
break;
|
||
case c_oAscSlideTLAccumulateType.None:
|
||
sAccumulateType = "none";
|
||
break;
|
||
}
|
||
|
||
var sAdditiveType = undefined;
|
||
switch (oCBhvr.additive)
|
||
{
|
||
case c_oAscSlideTLAdditiveType.Base:
|
||
sAdditiveType = "base";
|
||
break;
|
||
case c_oAscSlideTLAdditiveType.Mult:
|
||
sAdditiveType = "mult";
|
||
break;
|
||
case c_oAscSlideTLAdditiveType.None:
|
||
sAdditiveType = "none";
|
||
break;
|
||
case c_oAscSlideTLAdditiveType.Repl:
|
||
sAdditiveType = "repl";
|
||
break;
|
||
case c_oAscSlideTLAdditiveType.Sum:
|
||
sAdditiveType = "sum";
|
||
break;
|
||
}
|
||
|
||
var sOverrideType = undefined;
|
||
switch (oCBhvr.override)
|
||
{
|
||
case c_oAscSlideTLOverrideType.ChildStyle:
|
||
sOverrideType = "childStyle";
|
||
break;
|
||
case c_oAscSlideTLOverrideType.Normal:
|
||
sOverrideType = "normal";
|
||
break;
|
||
}
|
||
|
||
var sXfrmTypeType = undefined;
|
||
switch (oCBhvr.xfrmType)
|
||
{
|
||
case c_oAscSlideTLTransformType.Img:
|
||
sXfrmTypeType = "img";
|
||
break;
|
||
case c_oAscSlideTLTransformType.Pt:
|
||
sXfrmTypeType = "pt";
|
||
break;
|
||
}
|
||
|
||
return {
|
||
"attrNameLst": this.SerAttrNameLst(oCBhvr.attrNameLst),
|
||
"cTn": this.SerCTn(oCBhvr.cTn),
|
||
"tgtEl": this.SerTgtEl(oCBhvr.tgtEl),
|
||
|
||
"accumulate": sAccumulateType,
|
||
"additive": sAdditiveType,
|
||
"by": oCBhvr.by,
|
||
"from": oCBhvr.from,
|
||
"override": sOverrideType,
|
||
"rctx": oCBhvr.rctx,
|
||
"to": oCBhvr.to,
|
||
"xfrmType": sXfrmTypeType
|
||
}
|
||
};
|
||
WriterToJSON.prototype.SerTavLst = function(oTavLst)
|
||
{
|
||
if (!oTavLst)
|
||
return undefined;
|
||
|
||
var aTavLst = [];
|
||
for (var nTav = 0; nTav < oTavLst.list.length; nTav++)
|
||
aTavLst.push(this.SerTav(oTavLst.list[nTav]));
|
||
|
||
return aTavLst;
|
||
};
|
||
WriterToJSON.prototype.SerTav = function(oTav)
|
||
{
|
||
return {
|
||
"val": this.SerAnimVariant(oTav.val),
|
||
"fmla": oTav.fmla,
|
||
"tm": oTav.tm
|
||
};
|
||
};
|
||
WriterToJSON.prototype.SerAttrNameLst = function(oAttrNameLst)
|
||
{
|
||
if (!oAttrNameLst)
|
||
return undefined;
|
||
|
||
var aAttrNameLst = [];
|
||
for (var nName = 0; nName < oAttrNameLst.list.length; nName++)
|
||
aAttrNameLst.push(oAttrNameLst.list[nName].text);
|
||
|
||
return aAttrNameLst;
|
||
};
|
||
WriterToJSON.prototype.SerAnimClr = function(oAnimClr)
|
||
{
|
||
var sClrSpcType = undefined;
|
||
switch (oAnimClr.clrSpc)
|
||
{
|
||
case c_oAscSlideTLColorSpaceType.Rgb:
|
||
sClrSpcType = "rgb";
|
||
break;
|
||
case c_oAscSlideTLColorSpaceType.Hsl:
|
||
sClrSpcType = "hsl";
|
||
break;
|
||
}
|
||
|
||
var sColorDir = undefined;
|
||
switch (oAnimClr.dir)
|
||
{
|
||
case AscCommon.ST_HueDir.Ccw:
|
||
sColorDir = "ccw";
|
||
break;
|
||
case AscCommon.ST_HueDir.Cw:
|
||
sColorDir = "cw";
|
||
break;
|
||
}
|
||
|
||
return {
|
||
"by": {
|
||
"rgb": this.SerByRGB(oAnimClr.byRGB),
|
||
"hsl": this.SerByHSL(oAnimClr.byHSL)
|
||
},
|
||
|
||
"cBhvr": this.SerCBhvr(oAnimClr.cBhvr),
|
||
"from": oAnimClr.from,
|
||
"to": oAnimClr.to,
|
||
"clrSpc": sClrSpcType,
|
||
"dir": sColorDir,
|
||
"objType": "animClr"
|
||
}
|
||
};
|
||
WriterToJSON.prototype.SerByRGB = function(oByRGB)
|
||
{
|
||
if (!oByRGB)
|
||
return undefined;
|
||
|
||
return {
|
||
"r": oByRGB.c1,
|
||
"g": oByRGB.c2,
|
||
"b": oByRGB.c3
|
||
}
|
||
};
|
||
WriterToJSON.prototype.SerByHSL = function(oByHSL)
|
||
{
|
||
if (!oByHSL)
|
||
return undefined;
|
||
|
||
return {
|
||
"h": oByHSL.c1,
|
||
"s": oByHSL.c2,
|
||
"l": oByHSL.c3
|
||
}
|
||
};
|
||
WriterToJSON.prototype.SerAnimEffect = function(oAnimEffect)
|
||
{
|
||
|
||
return {
|
||
"cBhvr": this.SerCBhvr(oAnimEffect.cBhvr),
|
||
"progress": this.SerAnimVariant(oAnimEffect.progress),
|
||
"filter": oAnimEffect.filter,
|
||
"prLst": oAnimEffect.prLst,
|
||
"transition": To_XML_TLAnimateEffectTransition(oAnimEffect.transition),
|
||
"objType": "animEffect"
|
||
}
|
||
};
|
||
WriterToJSON.prototype.SerAnimMotion = function(oAnimMotion)
|
||
{
|
||
var sOriginType = undefined;
|
||
switch (oAnimMotion.origin)
|
||
{
|
||
case c_oAscSlideTLOriginType.Parent:
|
||
sOriginType = "parent";
|
||
break;
|
||
case c_oAscSlideTLOriginType.Layout:
|
||
sOriginType = "layout";
|
||
break;
|
||
}
|
||
|
||
var sPathEditMode = undefined;
|
||
switch (oAnimMotion.pathEditMode)
|
||
{
|
||
case c_oAscSlideTLPathEditMode.Fixed:
|
||
sPathEditMode = "fixed";
|
||
break;
|
||
case c_oAscSlideTLPathEditMode.Relative:
|
||
sPathEditMode = "relative";
|
||
break;
|
||
}
|
||
|
||
return {
|
||
"by": this.SerByPoint(oAnimMotion.by),
|
||
"cBhvr": this.SerCBhvr(oAnimMotion.cBhvr),
|
||
"from": this.SerByPoint(oAnimMotion.from),
|
||
"rCtr": this.SerByPoint(oAnimMotion.rCtr),
|
||
"to": this.SerByPoint(oAnimMotion.to),
|
||
"origin": sOriginType,
|
||
"path": oAnimMotion.path,
|
||
"pathEditMode": sPathEditMode,
|
||
"ptsTypes": oAnimMotion.ptsTypes,
|
||
"rAng": oAnimMotion.rAng,
|
||
"objType": "animMotion"
|
||
}
|
||
};
|
||
WriterToJSON.prototype.SerByPoint = function(oPoint)
|
||
{
|
||
if (!oPoint)
|
||
return undefined;
|
||
|
||
return {
|
||
"x": oPoint.x,
|
||
"y": oPoint.y
|
||
}
|
||
};
|
||
WriterToJSON.prototype.SerAnimRot = function(oAnimRot)
|
||
{
|
||
return {
|
||
"cBhvr": this.SerCBhvr(oAnimRot.cBhvr),
|
||
"by": oAnimRot.by,
|
||
"from": oAnimRot.from,
|
||
"to": oAnimRot.to,
|
||
"objType": "animRot"
|
||
}
|
||
};
|
||
WriterToJSON.prototype.SerAnimScale = function(oAnimScale)
|
||
{
|
||
return {
|
||
"cBhvr": this.SerCBhvr(oAnimScale.cBhvr),
|
||
"by": this.SerByPoint(oAnimScale.by),
|
||
"from": this.SerByPoint(oAnimScale.from),
|
||
"to": this.SerByPoint(oAnimScale.to),
|
||
"zoomContents": oAnimScale.zoomContents,
|
||
"objType": "animScale"
|
||
}
|
||
};
|
||
WriterToJSON.prototype.SerCmd = function(oCmd)
|
||
{
|
||
var sCommandType = undefined;
|
||
switch (oCmd.type)
|
||
{
|
||
case c_oAscSlideTLCommandType.Call:
|
||
sCommandType = "call";
|
||
break;
|
||
case c_oAscSlideTLCommandType.Evt:
|
||
sCommandType = "evt";
|
||
break;
|
||
case c_oAscSlideTLCommandType.Verb:
|
||
sCommandType = "verb";
|
||
break;
|
||
}
|
||
return {
|
||
"cBhvr": this.SerCBhvr(oCmd.cBhvr),
|
||
"cmd": oCmd.cmd,
|
||
"type": sCommandType,
|
||
"objType": "cmd"
|
||
}
|
||
};
|
||
WriterToJSON.prototype.SerSet = function(oSet)
|
||
{
|
||
return {
|
||
"cBhvr": this.SerCBhvr(oSet.cBhvr),
|
||
"to": this.SerAnimVariant(oSet.to),
|
||
"objType": "set"
|
||
}
|
||
};
|
||
WriterToJSON.prototype.SerAnimVariant = function(oAnimVariant)
|
||
{
|
||
if (!oAnimVariant)
|
||
return undefined;
|
||
|
||
return {
|
||
"boolVal": oAnimVariant.boolVal,
|
||
"strVal": oAnimVariant.strVal,
|
||
"intVal": oAnimVariant.intVal,
|
||
"fltVal": oAnimVariant.fltVal,
|
||
"clrVal": this.SerColor(oAnimVariant.clrVal)
|
||
}
|
||
};
|
||
WriterToJSON.prototype.SerCondLst = function(oCondLst)
|
||
{
|
||
if (!oCondLst)
|
||
return undefined;
|
||
|
||
var aCondLst = [];
|
||
for (var nCond = 0; nCond < oCondLst.list.length; nCond++)
|
||
aCondLst.push(this.SerCond(oCondLst.list[nCond]));
|
||
|
||
return aCondLst;
|
||
};
|
||
WriterToJSON.prototype.SerCond = function(oCond)
|
||
{
|
||
if (!oCond)
|
||
return undefined;
|
||
|
||
var sEventType = undefined;
|
||
switch (oCond.evt)
|
||
{
|
||
case c_oAscSlideTriggerEventType.Begin:
|
||
sEventType = "begin";
|
||
break;
|
||
case c_oAscSlideTriggerEventType.End:
|
||
sEventType = "end";
|
||
break;
|
||
case c_oAscSlideTriggerEventType.OnBegin:
|
||
sEventType = "onBegin";
|
||
break;
|
||
case c_oAscSlideTriggerEventType.OnClick:
|
||
sEventType = "onClick";
|
||
break;
|
||
case c_oAscSlideTriggerEventType.OnDblClick:
|
||
sEventType = "onDblClick";
|
||
break;
|
||
case c_oAscSlideTriggerEventType.OnEnd:
|
||
sEventType = "onEnd";
|
||
break;
|
||
case c_oAscSlideTriggerEventType.OnMouseOut:
|
||
sEventType = "onMouseOut";
|
||
break;
|
||
case c_oAscSlideTriggerEventType.OnMouseOver:
|
||
sEventType = "onMouseOver";
|
||
break;
|
||
case c_oAscSlideTriggerEventType.OnNext:
|
||
sEventType = "onNext";
|
||
break;
|
||
case c_oAscSlideTriggerEventType.OnPrev:
|
||
sEventType = "onPrev";
|
||
break;
|
||
case c_oAscSlideTriggerEventType.OnStopAudio:
|
||
sEventType = "onStopAudio";
|
||
break;
|
||
}
|
||
|
||
return {
|
||
"rtn": this.SerRtn(oCond.rtn),
|
||
"tgtEl": this.SerTgtEl(oCond.tgtEl),
|
||
"tn": oCond.tn,
|
||
"delay": oCond.delay,
|
||
"evt": sEventType
|
||
}
|
||
};
|
||
WriterToJSON.prototype.SerRtn = function(nRtn)
|
||
{
|
||
if (!AscFormat.isRealNumber(nRtn))
|
||
return undefined;
|
||
var sType = undefined;
|
||
switch (nRtn)
|
||
{
|
||
case c_oAscSlideRuntimeTriggerType.All:
|
||
sType = "all";
|
||
break;
|
||
case c_oAscSlideRuntimeTriggerType.First:
|
||
sType = "first";
|
||
break;
|
||
case c_oAscSlideRuntimeTriggerType.Last:
|
||
sType = "last";
|
||
break;
|
||
}
|
||
|
||
return {
|
||
"val": sType
|
||
}
|
||
};
|
||
WriterToJSON.prototype.SerTgtEl = function(oTgtEl)
|
||
{
|
||
if (!oTgtEl)
|
||
return undefined;
|
||
|
||
return {
|
||
"inkTgt": this.SerInkTgt(oTgtEl.inkTgt),
|
||
"sldTgt": undefined, /// ???
|
||
"sndTgt": this.SerSndTgt(oTgtEl.sndTgt),
|
||
"spTgt": this.SerSpTgt(oTgtEl.spTgt)
|
||
}
|
||
};
|
||
WriterToJSON.prototype.SerInkTgt = function(oInkTgt)
|
||
{
|
||
if (!oInkTgt)
|
||
return undefined;
|
||
|
||
let nSpId = this.GetSpIdxId(oInkTgt.spid);
|
||
|
||
return {
|
||
"spid": nSpId != null ? nSpId : undefined
|
||
}
|
||
};
|
||
WriterToJSON.prototype.SerSndTgt = function(oSndTgt)
|
||
{
|
||
if (!oSndTgt)
|
||
return undefined;
|
||
|
||
return {
|
||
"embed": oSndTgt.embed,
|
||
"name": oSndTgt.name,
|
||
"builtIn": oSndTgt.builtIn
|
||
}
|
||
};
|
||
WriterToJSON.prototype.SerSpTgt = function(oSpTgt)
|
||
{
|
||
if (!oSpTgt)
|
||
return undefined;
|
||
|
||
let nSpId = this.GetSpIdxId(oSpTgt.spid);
|
||
let nSubSpId = this.GetSpIdxId(oSpTgt.subSpId);
|
||
|
||
return {
|
||
"spid": nSpId != null ? nSpId : undefined,
|
||
"bg": oSpTgt.bg,
|
||
"subSpId": nSubSpId != null ? nSubSpId : undefined,
|
||
"oleChartEl": this.SerOleChartEl(oSpTgt.oleChartEl),
|
||
"txEl": this.SerTxEl(oSpTgt.txEl),
|
||
"graphicEl": this.SerGraphicEl(oSpTgt.graphicEl)
|
||
}
|
||
};
|
||
WriterToJSON.prototype.SerOleChartEl = function(oOleChartEl)
|
||
{
|
||
if (!oOleChartEl)
|
||
return undefined;
|
||
|
||
var sType = undefined;
|
||
switch (oOleChartEl.type)
|
||
{
|
||
case c_oAscSlideChartSubElementType.Category:
|
||
sType = "category";
|
||
break;
|
||
case c_oAscSlideChartSubElementType.GridLegend:
|
||
sType = "gridLegend";
|
||
break;
|
||
case c_oAscSlideChartSubElementType.PtInCategory:
|
||
sType = "ptInCategory";
|
||
break;
|
||
case c_oAscSlideChartSubElementType.PtInSeries:
|
||
sType = "ptInSeries";
|
||
break;
|
||
case c_oAscSlideChartSubElementType.Series:
|
||
sType = "series";
|
||
break;
|
||
}
|
||
|
||
return {
|
||
"lvl": oOleChartEl.lvl,
|
||
"type": sType
|
||
}
|
||
};
|
||
WriterToJSON.prototype.SerTxEl = function(oTxEl)
|
||
{
|
||
if (!oTxEl)
|
||
return undefined;
|
||
|
||
return {
|
||
"charRg": this.SerIndexRg(oTxEl.charRg),
|
||
"pRg": this.SerIndexRg(oTxEl.pRg)
|
||
}
|
||
};
|
||
WriterToJSON.prototype.SerIndexRg = function(oIndexRg)
|
||
{
|
||
if (!oIndexRg)
|
||
return undefined;
|
||
|
||
return {
|
||
"st": oIndexRg.st,
|
||
"end": oIndexRg.end
|
||
}
|
||
};
|
||
WriterToJSON.prototype.SerGraphicEl = function(oGraphicEl)
|
||
{
|
||
if (!oGraphicEl)
|
||
return undefined;
|
||
|
||
let nSpId = this.GetSpIdxId(oGraphicEl.dgmId);
|
||
|
||
return {
|
||
"chart": {
|
||
"bldStep": oGraphicEl.chartBuildStep,
|
||
"categoryIdx": oGraphicEl.categoryIdx,
|
||
"seriesIdx": oGraphicEl.seriesIdx
|
||
},
|
||
"dgm": {
|
||
"bldStep": oGraphicEl.dgmBuildStep,
|
||
"id": nSpId != null ? nSpId : undefined
|
||
}
|
||
}
|
||
};
|
||
|
||
ReaderFromJSON.prototype.MasterSlideFromJSON = function(oParsedMaster, oPres)
|
||
{
|
||
var oMasterSlide = new AscCommonSlide.MasterSlide(undefined, null);
|
||
|
||
var oTheme = oParsedMaster["theme"] ? this.ThemeFromJSON(oParsedMaster["theme"]) : null;
|
||
var oClrMap = oParsedMaster["clrMapOvr"] ? this.ColorMapOvrFromJSON(oParsedMaster["clrMapOvr"]) : null;
|
||
|
||
oTheme && oMasterSlide.setTheme(oTheme);
|
||
oClrMap && oMasterSlide.setClMapOverride(oClrMap);
|
||
|
||
// cSld
|
||
var oCSld = this.CSldFromJSON(oParsedMaster["cSld"]);
|
||
for (var nShape = 0; nShape < oCSld.spTree.length; nShape++)
|
||
oMasterSlide.shapeAdd(nShape, oCSld.spTree[nShape]);
|
||
oCSld.Bg && oMasterSlide.changeBackground(oCSld.Bg);
|
||
oCSld.name && oMasterSlide.setCSldName(oCSld.name);
|
||
|
||
// hf
|
||
oParsedMaster["hf"] && oMasterSlide.setHF(this.HFFromJSON(oParsedMaster["hf"]));
|
||
|
||
// layouts
|
||
for (var nLayout = 0; nLayout < oParsedMaster["sldLayoutLst"].length; nLayout++)
|
||
oMasterSlide.addToSldLayoutLstToPos(oMasterSlide.sldLayoutLst.length, this.SlideLayoutFromJSON(oParsedMaster["sldLayoutLst"][nLayout]));
|
||
|
||
// transition
|
||
oParsedMaster["transition"] && oMasterSlide.applyTransition(this.TransitionFromJSON(oParsedMaster["transition"]));
|
||
|
||
// timing
|
||
oParsedMaster["timing"] && oMasterSlide.setTiming(this.TimingFromJSON(oParsedMaster["timing"]));
|
||
|
||
//txStyles
|
||
oParsedMaster["txStyles"] && oMasterSlide.setTxStyles(this.TxStylesFromJSON(oParsedMaster["txStyles"]));
|
||
|
||
oMasterSlide.setPreserve(oParsedMaster["preserve"]);
|
||
oMasterSlide.ImageBase64 = oParsedMaster["imgBase64"];
|
||
|
||
if (!oPres)
|
||
oPres = private_GetPresentation();
|
||
|
||
oPres.pushSlideMaster(oMasterSlide);
|
||
this.mastersMap[oParsedMaster["id"]] = oMasterSlide;
|
||
|
||
return oMasterSlide;
|
||
};
|
||
ReaderFromJSON.prototype.TxStylesFromJSON = function(oParsedTxStyles)
|
||
{
|
||
var oTxStyles = new AscFormat.CTextStyles();
|
||
|
||
if (oParsedTxStyles["bodyStyle"])
|
||
oTxStyles.bodyStyle = this.LstStyleFromJSON(oParsedTxStyles["bodyStyle"]);
|
||
if (oParsedTxStyles["otherStyle"])
|
||
oTxStyles.otherStyle = this.LstStyleFromJSON(oParsedTxStyles["otherStyle"]);
|
||
if (oParsedTxStyles["titleStyle"])
|
||
oTxStyles.titleStyle = this.LstStyleFromJSON(oParsedTxStyles["titleStyle"]);
|
||
|
||
return oTxStyles;
|
||
};
|
||
ReaderFromJSON.prototype.TableStylesFromJSON = function(oParsedStyles)
|
||
{
|
||
this.RestoredStylesMap = {};
|
||
// восстанавливаем все стили и мапим по старым id (т.к. создаются с новыми)
|
||
for (var key in oParsedStyles)
|
||
this.RestoredStylesMap[key] = this.TableStyleFromJSON(oParsedStyles[key]);
|
||
};
|
||
ReaderFromJSON.prototype.TableStyleFromJSON = function(oParsedStyle)
|
||
{
|
||
let oTableStyle = new AscCommonWord.CStyle(oParsedStyle["name"], null, null, styletype_Table);
|
||
|
||
if (oParsedStyle["band1H"])
|
||
oTableStyle.Set_TableBand1Horz(this.TableStylePartFromJSON(oParsedStyle["band1H"]));
|
||
if (oParsedStyle["band1V"])
|
||
oTableStyle.Set_TableBand1Vert(this.TableStylePartFromJSON(oParsedStyle["band1V"]));
|
||
if (oParsedStyle["band2H"])
|
||
oTableStyle.Set_TableBand2Horz(this.TableStylePartFromJSON(oParsedStyle["band2H"]));
|
||
if (oParsedStyle["band2V"])
|
||
oTableStyle.Set_TableBand2Vert(this.TableStylePartFromJSON(oParsedStyle["band2V"]));
|
||
if (oParsedStyle["firstCol"])
|
||
oTableStyle.Set_TableFirstCol(this.TableStylePartFromJSON(oParsedStyle["firstCol"]));
|
||
if (oParsedStyle["firstRow"])
|
||
oTableStyle.Set_TableFirstRow(this.TableStylePartFromJSON(oParsedStyle["firstRow"]));
|
||
if (oParsedStyle["lastCol"])
|
||
oTableStyle.Set_TableLastCol(this.TableStylePartFromJSON(oParsedStyle["lastCol"]));
|
||
if (oParsedStyle["lastRow"])
|
||
oTableStyle.Set_TableLastRow(this.TableStylePartFromJSON(oParsedStyle["lastRow"]));
|
||
if (oParsedStyle["wholeTbl"])
|
||
oTableStyle.Set_TableWholeTable(this.TableStylePartFromJSON(oParsedStyle["wholeTbl"]));
|
||
if (oParsedStyle["neCell"])
|
||
oTableStyle.Set_TableTLCell(this.TableStylePartFromJSON(oParsedStyle["neCell"]));
|
||
if (oParsedStyle["nwCell"])
|
||
oTableStyle.Set_TableTRCell(this.TableStylePartFromJSON(oParsedStyle["nwCell"]));
|
||
if (oParsedStyle["seCell"])
|
||
oTableStyle.Set_TableBLCell(this.TableStylePartFromJSON(oParsedStyle["seCell"]));
|
||
if (oParsedStyle["swCell"])
|
||
oTableStyle.Set_TableBRCell(this.TableStylePartFromJSON(oParsedStyle["swCell"]));
|
||
if (oParsedStyle["tblBg"])
|
||
oTableStyle.Set_TablePr(this.TableCellStyleFromJSON(null, oParsedStyle["tblBg"], true));
|
||
|
||
var oStyles = private_GetStyles();
|
||
if (oTableStyle)
|
||
{
|
||
// если такого стиля нет - добавляем новый
|
||
var nExistingStyleId = oStyles.GetStyleIdByName(oTableStyle.Name);
|
||
if (nExistingStyleId === null)
|
||
{
|
||
oStyles.Add(oTableStyle);
|
||
}
|
||
else
|
||
{
|
||
var oExistingStyle = oStyles.Get(nExistingStyleId);
|
||
// если стили идентичны, стиль не добавляем
|
||
if (!oTableStyle.IsEqual(oExistingStyle))
|
||
oStyles.Add(oTableStyle);
|
||
else
|
||
oTableStyle = oExistingStyle;
|
||
}
|
||
}
|
||
|
||
return oTableStyle;
|
||
};
|
||
ReaderFromJSON.prototype.TableStylePartFromJSON = function(oParsed)
|
||
{
|
||
let oPart = new CTableStylePr();
|
||
let oCellPr = oPart.TableCellPr;
|
||
let oTextPr = oPart.TextPr;
|
||
|
||
if (oParsed["tcTxStyle"])
|
||
this.TcTxStyleFromJSON(oTextPr, oParsed["tcTxStyle"]);
|
||
if (oParsed["tcStyle"])
|
||
this.TableCellStyleFromJSON(oCellPr, oParsed["tcStyle"]);
|
||
|
||
return oPart;
|
||
};
|
||
ReaderFromJSON.prototype.TableCellStyleFromJSON = function(oCellPr, oParsed, isTableBorders)
|
||
{
|
||
if (!oCellPr)
|
||
oCellPr = new CTablePr();
|
||
|
||
let oBorders = isTableBorders ? oCellPr.TableBorders : oCellPr.TableCellBorders;
|
||
if (oParsed["fill"])
|
||
{
|
||
let oFill = this.FillFromJSON(oParsed["fill"]);
|
||
if(!oCellPr.Shd) {
|
||
oCellPr.Shd = new AscCommonWord.CDocumentShd();
|
||
oCellPr.Shd.Value = c_oAscShdClear;
|
||
}
|
||
oCellPr.Shd.Unifill = oFill;
|
||
}
|
||
if (oParsed["fillRef"])
|
||
{
|
||
let oStyleRef = this.StyleRefFromJSON(oParsed["fillRef"]);
|
||
if(!oCellPr.Shd) {
|
||
oCellPr.Shd = new AscCommonWord.CDocumentShd();
|
||
oCellPr.Shd.Value = c_oAscShdClear;
|
||
}
|
||
oCellPr.Shd.FillRef = oStyleRef;
|
||
}
|
||
if (oParsed["tcBdr"])
|
||
{
|
||
if (oParsed["tcBdr"]["bottom"])
|
||
oBorders.Bottom = this.TableCellBorderFromJSON(oParsed["tcBdr"]["bottom"]);
|
||
if (oParsed["tcBdr"]["insideH"])
|
||
oBorders.InsideH = this.TableCellBorderFromJSON(oParsed["tcBdr"]["insideH"]);
|
||
if (oParsed["tcBdr"]["insideV"])
|
||
oBorders.InsideV = this.TableCellBorderFromJSON(oParsed["tcBdr"]["insideV"]);
|
||
if (oParsed["tcBdr"]["left"])
|
||
oBorders.Left = this.TableCellBorderFromJSON(oParsed["tcBdr"]["left"]);
|
||
if (oParsed["tcBdr"]["right"])
|
||
oBorders.Right = this.TableCellBorderFromJSON(oParsed["tcBdr"]["right"]);
|
||
if (oParsed["tcBdr"]["top"])
|
||
oBorders.Top = this.TableCellBorderFromJSON(oParsed["tcBdr"]["top"]);
|
||
}
|
||
|
||
return oCellPr;
|
||
};
|
||
ReaderFromJSON.prototype.TableCellBorderFromJSON = function(oParsed)
|
||
{
|
||
let oBorder = new CDocumentBorder();
|
||
if (oParsed["ln"])
|
||
{
|
||
let oLn = this.LnFromJSON(oParsed["ln"]);
|
||
oLn.fillDocumentBorder(oBorder)
|
||
}
|
||
else if (oParsed["lnRef"])
|
||
{
|
||
oBorder.LineRef = this.StyleRefFromJSON(oParsed["lnRef"]);
|
||
oBorder.Value = AscCommonWord.border_Single;
|
||
}
|
||
|
||
return oBorder;
|
||
};
|
||
ReaderFromJSON.prototype.TcTxStyleFromJSON = function(oTcTxPr, oParsed)
|
||
{
|
||
if (oParsed["i"] != null)
|
||
oTcTxPr.Italic = oParsed["i"] === "on";
|
||
if (oParsed["b"] != null)
|
||
oTcTxPr.Bold = oParsed["b"] === "on";
|
||
if (oParsed["fontRef"])
|
||
oTcTxPr.FontRef = this.FontRefFromJSON(oParsed["fontRef"]);
|
||
if (oParsed["color"])
|
||
{
|
||
let oColor = this.ColorFromJSON(oParsed["color"]);
|
||
oTcTxPr.Unifill = AscFormat.CreateUniFillByUniColor(oColor);
|
||
}
|
||
};
|
||
ReaderFromJSON.prototype.SlideLayoutFromJSON = function(oParsedLayout)
|
||
{
|
||
var oLayout = new AscCommonSlide.SlideLayout();
|
||
|
||
var nLayoutType = undefined;
|
||
switch (oParsedLayout["ltType"])
|
||
{
|
||
case "blank":
|
||
nLayoutType = c_oAscSlideLayoutType.Blank;
|
||
break;
|
||
case "chart":
|
||
nLayoutType = c_oAscSlideLayoutType.Chart;
|
||
break;
|
||
case "chartAndTx":
|
||
nLayoutType = c_oAscSlideLayoutType.ChartAndTx;
|
||
break;
|
||
case "clipArtAndTx":
|
||
nLayoutType = c_oAscSlideLayoutType.ClipArtAndTx;
|
||
break;
|
||
case "clipArtAndVertTx":
|
||
nLayoutType = c_oAscSlideLayoutType.ClipArtAndVertTx;
|
||
break;
|
||
case "cust":
|
||
nLayoutType = c_oAscSlideLayoutType.Cust;
|
||
break;
|
||
case "dgm":
|
||
nLayoutType = c_oAscSlideLayoutType.Dgm;
|
||
break;
|
||
case "fourObj":
|
||
nLayoutType = c_oAscSlideLayoutType.FourObj;
|
||
break;
|
||
case "mediaAndTx":
|
||
nLayoutType = c_oAscSlideLayoutType.MediaAndTx;
|
||
break;
|
||
case "obj":
|
||
nLayoutType = c_oAscSlideLayoutType.Obj;
|
||
break;
|
||
case "objAndTwoObj":
|
||
nLayoutType = c_oAscSlideLayoutType.ObjAndTwoObj;
|
||
break;
|
||
case "objAndTx":
|
||
nLayoutType = c_oAscSlideLayoutType.ObjAndTx;
|
||
break;
|
||
case "objOnly":
|
||
nLayoutType = c_oAscSlideLayoutType.ObjOnly;
|
||
break;
|
||
case "objOverTx":
|
||
nLayoutType = c_oAscSlideLayoutType.ObjOverTx;
|
||
break;
|
||
case "objTx":
|
||
nLayoutType = c_oAscSlideLayoutType.ObjTx;
|
||
break;
|
||
case "picTx":
|
||
nLayoutType = c_oAscSlideLayoutType.PicTx;
|
||
break;
|
||
case "secHead":
|
||
nLayoutType = c_oAscSlideLayoutType.SecHead;
|
||
break;
|
||
case "tbl":
|
||
nLayoutType = c_oAscSlideLayoutType.Tbl;
|
||
break;
|
||
case "title":
|
||
nLayoutType = c_oAscSlideLayoutType.Title;
|
||
break;
|
||
case "titleOnly":
|
||
nLayoutType = c_oAscSlideLayoutType.TitleOnly;
|
||
break;
|
||
case "twoColTx":
|
||
nLayoutType = c_oAscSlideLayoutType.TwoColTx;
|
||
break;
|
||
case "twoObj":
|
||
nLayoutType = c_oAscSlideLayoutType.TwoObj;
|
||
break;
|
||
case "twoObjAndObj":
|
||
nLayoutType = c_oAscSlideLayoutType.TwoObjAndObj;
|
||
break;
|
||
case "twoObjAndTx":
|
||
nLayoutType = c_oAscSlideLayoutType.TwoObjAndTx;
|
||
break;
|
||
case "twoObjOverTx":
|
||
nLayoutType = c_oAscSlideLayoutType.TwoObjOverTx;
|
||
break;
|
||
case "twoTxTwoObj":
|
||
nLayoutType = c_oAscSlideLayoutType.TwoTxTwoObj;
|
||
break;
|
||
case "tx":
|
||
nLayoutType = c_oAscSlideLayoutType.Tx;
|
||
break;
|
||
case "txAndChart":
|
||
nLayoutType = c_oAscSlideLayoutType.TxAndChart;
|
||
break;
|
||
case "txAndClipArt":
|
||
nLayoutType = c_oAscSlideLayoutType.TxAndClipArt;
|
||
break;
|
||
case "txAndMedia":
|
||
nLayoutType = c_oAscSlideLayoutType.TxAndMedia;
|
||
break;
|
||
case "txAndObj":
|
||
nLayoutType = c_oAscSlideLayoutType.TxAndObj;
|
||
break;
|
||
case "txAndTwoObj":
|
||
nLayoutType = c_oAscSlideLayoutType.TxAndTwoObj;
|
||
break;
|
||
case "txOverObj":
|
||
nLayoutType = c_oAscSlideLayoutType.TxOverObj;
|
||
break;
|
||
case "vertTitleAndTx":
|
||
nLayoutType = c_oAscSlideLayoutType.VertTitleAndTx;
|
||
break;
|
||
case "vertTitleAndTxOverChart":
|
||
nLayoutType = c_oAscSlideLayoutType.VertTitleAndTxOverChart;
|
||
break;
|
||
case "vertTx":
|
||
nLayoutType = c_oAscSlideLayoutType.VertTx;
|
||
break;
|
||
}
|
||
|
||
var oClrMap = oParsedLayout["clrMapOvr"] ? this.ColorMapOvrFromJSON(oParsedLayout["clrMapOvr"]) : null;
|
||
oClrMap && oLayout.setClMapOverride(oClrMap);
|
||
|
||
// cSld
|
||
var oCSld = this.CSldFromJSON(oParsedLayout["cSld"]);
|
||
for (var nShape = 0; nShape < oCSld.spTree.length; nShape++)
|
||
oLayout.shapeAdd(nShape, oCSld.spTree[nShape]);
|
||
oCSld.Bg && oLayout.changeBackground(oCSld.Bg);
|
||
oCSld.name && oLayout.setCSldName(oCSld.name);
|
||
|
||
// hf
|
||
oParsedLayout["hf"] && oLayout.setHF(this.HFFromJSON(oParsedLayout["hf"]));
|
||
|
||
// timing
|
||
oParsedLayout["timing"] && oLayout.setTiming(this.TimingFromJSON(oParsedLayout["timing"]));
|
||
// transition
|
||
oParsedLayout["transition"] && oLayout.applyTransition(this.TransitionFromJSON(oParsedLayout["transition"]));
|
||
|
||
oParsedLayout["matchingName"] && oLayout.setMatchingName(oParsedLayout["matchingName"]);
|
||
oLayout.setPreserve(oParsedLayout["preserve"]);
|
||
oParsedLayout["showMasterPhAnim"] && oLayout.setShowPhAnim(oParsedLayout["showMasterPhAnim"]);
|
||
oParsedLayout["showMasterSp"] && oLayout.setShowMasterSp(oParsedLayout["showMasterSp"]);
|
||
oLayout.userDrawn = oParsedLayout["userDrawn"];
|
||
oLayout.setType(nLayoutType);
|
||
oLayout.ImageBase64 = oParsedLayout["imgBase64"];
|
||
|
||
// мапим, чтобы повторно не восстанавливать
|
||
this.layoutsMap[oParsedLayout["id"]] = oLayout;
|
||
|
||
if (this.mastersMap[oParsedLayout["master"]])
|
||
{
|
||
var oMaster = this.mastersMap[oParsedLayout["master"]];
|
||
oMaster.addToSldLayoutLstToPos(oMaster.sldLayoutLst.length, oLayout);
|
||
}
|
||
|
||
return oLayout;
|
||
};
|
||
ReaderFromJSON.prototype.SlideFromJSON = function(oParsedSlide, oPres)
|
||
{
|
||
var oPresentation = oPres || private_GetPresentation();
|
||
|
||
var oLayout = null;
|
||
var oMaster = null;
|
||
|
||
if (typeof oParsedSlide["layout"] === "object")
|
||
oLayout = this.SlideLayoutFromJSON(oParsedSlide["layout"]);
|
||
if (typeof oParsedSlide["master"] === "object")
|
||
oMaster = this.MasterSlideFromJSON(oParsedSlide["master"], oPresentation);
|
||
|
||
if (oMaster)
|
||
{
|
||
if (!oLayout)
|
||
oLayout = this.layoutsMap[oParsedSlide["layout"]];
|
||
else
|
||
oMaster.addToSldLayoutLstToPos(oMaster.length, oLayout);
|
||
}
|
||
|
||
if (!oLayout)
|
||
{
|
||
if (!this.layoutsMap[oParsedSlide["layout"]])
|
||
{
|
||
var CurSlide = oPresentation.Slides[oPresentation.CurPage];
|
||
if (!CurSlide)
|
||
{
|
||
oMaster = oPresentation.getDefaultMasterSlide();
|
||
oLayout = oMaster.sldLayoutLst[0];
|
||
}
|
||
else
|
||
oLayout = CurSlide.Layout;
|
||
}
|
||
else
|
||
oLayout = this.layoutsMap[oParsedSlide["layout"]];
|
||
}
|
||
|
||
// установим MasterSlide для Layout, если не задан
|
||
if (!oLayout.Master)
|
||
{
|
||
oMaster = oPresentation.getDefaultMasterSlide();
|
||
oLayout.setMaster(oMaster);
|
||
oMaster.addToSldLayoutLstToPos(oMaster.length, oLayout);
|
||
}
|
||
|
||
var oSlide = new AscCommonSlide.Slide(oPresentation, oLayout, 0);
|
||
|
||
oParsedSlide["notes"] && oSlide.setNotes(this.NotesFromJSON(oParsedSlide["notes"], oPresentation));
|
||
oParsedSlide["clrMapOvr"] && oSlide.setClMapOverride(this.ColorMapOvrFromJSON(oParsedSlide["clrMapOvr"]));
|
||
|
||
// cSld
|
||
var oCSld = this.CSldFromJSON(oParsedSlide["cSld"]);
|
||
for (var nShape = 0; nShape < oCSld.spTree.length; nShape++)
|
||
oSlide.shapeAdd(nShape, oCSld.spTree[nShape]);
|
||
oCSld.Bg && oSlide.changeBackground(oCSld.Bg);
|
||
oCSld.name && oSlide.setCSldName(oCSld.name);
|
||
|
||
// comments
|
||
for (var nComment = 0; nComment < oParsedSlide["comments"].length; nComment++)
|
||
oSlide.slideComments.addComment(this.CommentFromJSON(oParsedSlide["comments"][nComment], oSlide.slideComments));
|
||
|
||
oParsedSlide["transition"] && oSlide.applyTransition(this.TransitionFromJSON(oParsedSlide["transition"]));
|
||
oParsedSlide["timing"] && oSlide.setTiming(this.TimingFromJSON(oParsedSlide["timing"]));
|
||
oParsedSlide["show"] != undefined && oSlide.setShow(oParsedSlide["show"]);
|
||
oParsedSlide["showMasterPhAnim"] != undefined && oSlide.setShowPhAnim(oParsedSlide["showMasterPhAnim"]);
|
||
oParsedSlide["showMasterSp"] != undefined && oSlide.setShowMasterSp(oParsedSlide["showMasterSp"]);
|
||
|
||
oSlide.setSlideSize(oPresentation.GetWidthMM(), oPresentation.GetHeightMM());
|
||
|
||
return oSlide;
|
||
};
|
||
ReaderFromJSON.prototype.SlidesFromJSON = function(oParsedSlides, oPres)
|
||
{
|
||
var oPresentation = oPres || private_GetPresentation();
|
||
var aSlides = [];
|
||
|
||
for (var nMaster = 0; nMaster < oParsedSlides["masters"].length; nMaster++)
|
||
this.MasterSlideFromJSON(oParsedSlides["masters"][nMaster], oPresentation);
|
||
|
||
for (var nLayout = 0; nLayout < oParsedSlides["layouts"].length; nLayout++)
|
||
this.SlideLayoutFromJSON(oParsedSlides["layouts"][nLayout]);
|
||
|
||
for (var nSlide = 0; nSlide < oParsedSlides["slides"].length; nSlide++)
|
||
aSlides.push(this.SlideFromJSON(oParsedSlides["slides"][nSlide]));
|
||
|
||
return aSlides;
|
||
};
|
||
ReaderFromJSON.prototype.SlideSizeFromJSON = function(oParsedSldSize)
|
||
{
|
||
var nSldSzType = undefined;
|
||
switch (oParsedSldSize["type"])
|
||
{
|
||
case Asc.c_oAscSlideSZType.Sz35mm:
|
||
nSldSzType = "35mm";
|
||
break;
|
||
case Asc.c_oAscSlideSZType.SzA3:
|
||
nSldSzType = "A3";
|
||
break;
|
||
case Asc.c_oAscSlideSZType.SzA4:
|
||
nSldSzType = "A4";
|
||
break;
|
||
case Asc.c_oAscSlideSZType.SzB4ISO:
|
||
nSldSzType = "B4ISO";
|
||
break;
|
||
case Asc.c_oAscSlideSZType.SzB4JIS:
|
||
nSldSzType = "B4JIS";
|
||
break;
|
||
case Asc.c_oAscSlideSZType.SzB5ISO:
|
||
nSldSzType = "B5ISO";
|
||
break;
|
||
case Asc.c_oAscSlideSZType.SzB5JIS:
|
||
nSldSzType = "B5JIS";
|
||
break;
|
||
case Asc.c_oAscSlideSZType.SzBanner:
|
||
nSldSzType = "banner";
|
||
break;
|
||
case Asc.c_oAscSlideSZType.SzCustom:
|
||
nSldSzType = "custom";
|
||
break;
|
||
case Asc.c_oAscSlideSZType.SzHagakiCard:
|
||
nSldSzType = "hagakiCard";
|
||
break;
|
||
case Asc.c_oAscSlideSZType.SzLedger:
|
||
nSldSzType = "ledger";
|
||
break;
|
||
case Asc.c_oAscSlideSZType.SzLetter:
|
||
nSldSzType = "letter";
|
||
break;
|
||
case Asc.c_oAscSlideSZType.SzOverhead:
|
||
nSldSzType = "overhead";
|
||
break;
|
||
case Asc.c_oAscSlideSZType.SzScreen16x10:
|
||
nSldSzType = "screen16x10";
|
||
break;
|
||
case Asc.c_oAscSlideSZType.SzScreen16x9:
|
||
nSldSzType = "screen16x9";
|
||
break;
|
||
case Asc.c_oAscSlideSZType.SzScreen4x3:
|
||
nSldSzType = "screen4x3";
|
||
break;
|
||
case Asc.c_oAscSlideSZType.SzWidescreen:
|
||
nSldSzType = "wideScreen";
|
||
break;
|
||
}
|
||
|
||
var oSldSize = new AscCommonSlide.CSlideSize();
|
||
|
||
oParsedSldSize["cx"] != undefined && oSldSize.setCX(oParsedSldSize["cx"]);
|
||
oParsedSldSize["cy"] != undefined && oSldSize.setCY(oParsedSldSize["cy"]);
|
||
nSldSzType != undefined && oSldSize.setType(oParsedSldSize["cx"]);
|
||
|
||
return oSldSize;
|
||
};
|
||
ReaderFromJSON.prototype.ShowPrFromJSON = function(oParsedShowPr)
|
||
{
|
||
var oShowPr = new CShowPr();
|
||
|
||
oShowPr.browse = oParsedShowPr["browse"] !== undefined ? oParsedShowPr["browse"] : oShowPr.browse;
|
||
oShowPr.kiosk = oParsedShowPr["kiosk"] !== undefined ? oParsedShowPr["kiosk"] : oShowPr.kiosk;
|
||
oShowPr.penClr = oParsedShowPr["penClr"] !== undefined ? this.ColorFromJSON(oParsedShowPr["penClr"]) : oShowPr.penClr;
|
||
oShowPr.present = oParsedShowPr["present"] !== undefined ? oParsedShowPr["present"] : oShowPr.present;
|
||
oShowPr.show = oParsedShowPr["show"] !== undefined ? oParsedShowPr["show"] : oShowPr.show;
|
||
oShowPr.loop = oParsedShowPr["loop"] !== undefined ? oParsedShowPr["loop"] : oShowPr.loop;
|
||
oShowPr.showAnimation = oParsedShowPr["showAnimation"] !== undefined ? oParsedShowPr["showAnimation"] : oShowPr.showAnimation;
|
||
oShowPr.showNarration = oParsedShowPr["showNarration"] !== undefined ? oParsedShowPr["showNarration"] : oShowPr.showNarration;
|
||
oShowPr.useTimings = oParsedShowPr["useTimings"] !== undefined ? oParsedShowPr["useTimings"] : oShowPr.useTimings;
|
||
|
||
return oShowPr;
|
||
};
|
||
ReaderFromJSON.prototype.CommentFromJSON = function(oParsedComment, oParent)
|
||
{
|
||
var oAscCommentData = new Asc.asc_CCommentDataSlide({
|
||
m_sText: oParsedComment["text"],
|
||
m_sUserName: oParsedComment["authorName"],
|
||
m_sUserId: oParsedComment["authorId"],
|
||
m_sOOTime: oParsedComment["dt"]
|
||
});
|
||
|
||
var oCommentData = new AscCommon.CCommentData();
|
||
oCommentData.Read_FromAscCommentData(oAscCommentData);
|
||
|
||
var oComment = new AscCommon.CComment(oParent, oCommentData);
|
||
oComment.setPosition(oParsedComment["pos"]["x"], oParsedComment["pos"]["y"]);
|
||
|
||
return oComment;
|
||
};
|
||
ReaderFromJSON.prototype.NotesFromJSON = function(oParsedNotes, oPres)
|
||
{
|
||
var oNotes = new AscCommonSlide.CNotes();
|
||
|
||
oParsedNotes["clrMapOvr"] && oNotes.setClMapOverride(this.ColorMapOvrFromJSON(oParsedNotes["clrMapOvr"]));
|
||
// cSld
|
||
var oCSld = this.CSldFromJSON(oParsedNotes["cSld"]);
|
||
for (var nShape = 0; nShape < oCSld.spTree.length; nShape++)
|
||
oNotes.addToSpTreeToPos(nShape, oCSld.spTree[nShape]);
|
||
oCSld.Bg && oNotes.changeBackground(oCSld.Bg);
|
||
oCSld.name && oNotes.setCSldName(oCSld.name);
|
||
|
||
oParsedNotes["showMasterPhAnim"] != undefined && oNotes.setShowMasterPhAnim(oParsedNotes["showMasterPhAnim"]);
|
||
oParsedNotes["showMasterSp"] != undefined && oNotes.setShowMasterSp(oParsedNotes["showMasterSp"]);
|
||
|
||
var oNotesMaster = typeof oParsedNotes["master"] === "object" ? this.NotesMasterFromJSON(oParsedNotes["master"], oPres) : oParsedNotes["master"];
|
||
typeof oNotesMaster === "object" ? oNotes.setNotesMaster(oNotesMaster) : oNotes.setNotesMaster(this.notesMasterMap[oNotesMaster]);
|
||
|
||
return oNotes;
|
||
};
|
||
ReaderFromJSON.prototype.NotesMasterFromJSON = function(oParsedNotesMaster, oPres)
|
||
{
|
||
var oNotesMaster = new AscCommonSlide.CNotesMaster();
|
||
|
||
if (oParsedNotesMaster["clrMap"] != null)
|
||
oNotesMaster.setClrMap(this.ColorMapOvrFromJSON(oParsedNotesMaster["clrMap"]));
|
||
|
||
// cSld
|
||
var oCSld = this.CSldFromJSON(oParsedNotesMaster["cSld"]);
|
||
for (var nShape = 0; nShape < oCSld.spTree.length; nShape++)
|
||
oNotesMaster.addToSpTreeToPos(nShape, oCSld.spTree[nShape]);
|
||
oCSld.Bg && oNotesMaster.changeBackground(oCSld.Bg);
|
||
oCSld.name && oNotesMaster.setCSldName(oCSld.name);
|
||
|
||
oParsedNotesMaster["hf"] && oNotesMaster.setHF(this.HFFromJSON(oParsedNotesMaster["hf"]));
|
||
oParsedNotesMaster["notesStyle"] && oNotesMaster.setNotesStyle(this.LstStyleFromJSON(oParsedNotesMaster["notesStyle"]));
|
||
|
||
// oTheme здесь будет либо объект темы, либо Id по которому тема уже создана и замаплена
|
||
var oTheme = typeof oParsedNotesMaster["theme"] === "object" ? this.ThemeFromJSON(oParsedNotesMaster["theme"]) : oParsedNotesMaster["theme"];
|
||
typeof oParsedNotesMaster["theme"] === "object" ? oNotesMaster.setTheme(oTheme) : oNotesMaster.setTheme(this.themesMap[oTheme]);
|
||
|
||
oPres.notesMasters[oPres.notesMasters.length] = oNotesMaster;
|
||
this.notesMasterMap[oParsedNotesMaster["id"]] = oNotesMaster;
|
||
|
||
return oNotesMaster;
|
||
};
|
||
ReaderFromJSON.prototype.TimingFromJSON = function(oParsedTimig)
|
||
{
|
||
var oTiming = new AscFormat.CTiming();
|
||
|
||
oParsedTimig["bldLst"] && oTiming.setBldLst(this.BldLstFromJSON(oParsedTimig["bldLst"]));
|
||
oParsedTimig["tnLst"] && oTiming.setTnLst(this.TnLstFromJSON(oParsedTimig["tnLst"]));
|
||
|
||
return oTiming;
|
||
};
|
||
ReaderFromJSON.prototype.BldLstFromJSON = function(oParsedBldLst)
|
||
{
|
||
var oBldLst = new AscFormat.CBldLst();
|
||
for (var nElm = 0; nElm < oParsedBldLst.length; nElm++)
|
||
{
|
||
if (oParsedBldLst[nElm]["type"] === "bldDgm")
|
||
oBldLst.addToLst(oBldLst.list.length, this.BldDgmFromJSON(oParsedBldLst[nElm]));
|
||
else if (oParsedBldLst[nElm]["type"] === "bldOleChart")
|
||
oBldLst.addToLst(oBldLst.list.length, this.BldOleChartFromJSON(oParsedBldLst[nElm]));
|
||
else if (oParsedBldLst[nElm]["type"] === "bldGraphic")
|
||
oBldLst.addToLst(oBldLst.list.length, this.BldGraphicFromJSON(oParsedBldLst[nElm]));
|
||
else if (oParsedBldLst[nElm]["type"] === "bldP")
|
||
oBldLst.addToLst(oBldLst.list.length, this.BldPFromJSON(oParsedBldLst[nElm]));
|
||
}
|
||
|
||
return oBldLst;
|
||
};
|
||
ReaderFromJSON.prototype.BldDgmFromJSON = function(oParsedBldDgm)
|
||
{
|
||
var oBldDgm = new AscFormat.CBldDgm();
|
||
|
||
var spId = this.drawingsMap[oParsedBldDgm["spid"]] ? this.drawingsMap[oParsedBldDgm["spid"]].Id : oParsedBldDgm["spid"];
|
||
oParsedBldDgm["bld"] != undefined && oBldDgm.setBld(oParsedBldDgm["bld"]);
|
||
oParsedBldDgm["grpId"] != undefined && oBldDgm.setGrpId(oParsedBldDgm["grpId"]);
|
||
oParsedBldDgm["spid"] != undefined && oBldDgm.setSpid(spId);
|
||
oParsedBldDgm["uiExpand"] != undefined && oBldDgm.setUiExpand(oParsedBldDgm["uiExpand"]);
|
||
|
||
return oBldDgm;
|
||
};
|
||
ReaderFromJSON.prototype.BldOleChartFromJSON = function(oParsedBldOleChart)
|
||
{
|
||
var oBldOleChart = new AscFormat.CBldOleChart();
|
||
|
||
var spId = this.drawingsMap[oParsedBldOleChart["spid"]] ? this.drawingsMap[oParsedBldOleChart["spid"]].Id : oParsedBldOleChart["spid"];
|
||
|
||
oParsedBldOleChart["animBg"] != undefined && oBldOleChart.setAnimBg(oParsedBldOleChart["animBg"]);
|
||
oParsedBldOleChart["bld"] != undefined && oBldOleChart.setBld(oParsedBldOleChart["bld"]);
|
||
oParsedBldOleChart["grpId"] != undefined && oBldOleChart.setGrpId(oParsedBldOleChart["grpId"]);
|
||
oParsedBldOleChart["spid"] != undefined && oBldOleChart.setSpid(spId);
|
||
oParsedBldOleChart["uiExpand"] != undefined && oBldOleChart.setUiExpand(oParsedBldOleChart["uiExpand"]);
|
||
|
||
return oBldOleChart;
|
||
};
|
||
ReaderFromJSON.prototype.BldGraphicFromJSON = function(oParsedBldGraphic)
|
||
{
|
||
var oBldGraphic = new AscFormat.CBldGraphic();
|
||
|
||
var spId = this.drawingsMap[oParsedBldGraphic["spid"]] ? this.drawingsMap[oParsedBldGraphic["spid"]].Id : oParsedBldGraphic["spid"];
|
||
|
||
oParsedBldGraphic["bldAsOne"] && oBldGraphic.setBldAsOne(new AscFormat.CEmptyObject());
|
||
oParsedBldGraphic["bldSub"] && oBldGraphic.setBldSub(this.BldSubFromJSON(oParsedBldGraphic["bldSub"]));
|
||
|
||
oParsedBldGraphic["grpId"] != undefined && oBldGraphic.setGrpId(oParsedBldGraphic["grpId"]);
|
||
oParsedBldGraphic["spid"] != undefined && oBldGraphic.setSpid(spId);
|
||
oParsedBldGraphic["uiExpand"] != undefined && oBldGraphic.setUiExpand(oParsedBldGraphic["uiExpand"]);
|
||
|
||
return oBldGraphic;
|
||
};
|
||
ReaderFromJSON.prototype.BldSubFromJSON = function(oParsedBldSub)
|
||
{
|
||
var oBldSub = new AscFormat.CBldSub();
|
||
|
||
oParsedBldSub["chart"] != undefined && oBldSub.setChart(oParsedBldSub["chart"]);
|
||
oParsedBldSub["animBg"] != undefined && oBldSub.setAnimBg(oParsedBldSub["animBg"]);
|
||
oParsedBldSub["bldChart"] != undefined && oBldSub.setBldChart(oParsedBldSub["bldChart"]);
|
||
oParsedBldSub["bldDgm"] != undefined && oBldSub.setBldDgm(oParsedBldSub["bldDgm"]);
|
||
oParsedBldSub["rev"] != undefined && oBldSub.setRev(oParsedBldSub["rev"]);
|
||
|
||
return oBldSub;
|
||
};
|
||
ReaderFromJSON.prototype.BldPFromJSON = function(oParsedBldP)
|
||
{
|
||
var oBldP = new AscFormat.CBldP();
|
||
|
||
var spId = this.drawingsMap[oParsedBldP["spid"]] ? this.drawingsMap[oParsedBldP["spid"]].Id : oParsedBldP["spid"];
|
||
|
||
var nBuildType = undefined;
|
||
switch (oParsedBldP["build"])
|
||
{
|
||
case "allAtOnce":
|
||
nBuildType = c_oAscSlideParaBuildType.AllAtOnce;
|
||
break;
|
||
case "cust":
|
||
nBuildType = c_oAscSlideParaBuildType.Cust;
|
||
break;
|
||
case "p":
|
||
nBuildType = c_oAscSlideParaBuildType.P;
|
||
break;
|
||
case "whole":
|
||
nBuildType = c_oAscSlideParaBuildType.Whole;
|
||
break;
|
||
}
|
||
|
||
oParsedBldP["tmplLst"] != undefined && oBldP.setTmplLst(this.TmplLstFromJSON(oParsedBldP["tmplLst"]));
|
||
oParsedBldP["advAuto"] != undefined && oBldP.setAdvAuto(oParsedBldP["advAuto"]);
|
||
oParsedBldP["animBg"] != undefined && oBldP.setAnimBg(oParsedBldP["animBg"]);
|
||
oParsedBldP["autoUpdateAnimB"] != undefined && oBldP.setAutoUpdateAnimBg(oParsedBldP["autoUpdateAnimB"]);
|
||
oParsedBldP["bldLvl"] != undefined && oBldP.setBldLvl(oParsedBldP["bldLvl"]);
|
||
nBuildType != undefined && oBldP.setBuild(nBuildType);
|
||
oParsedBldP["grpId"] != undefined && oBldP.setGrpId(oParsedBldP["grpId"]);
|
||
oParsedBldP["rev"] != undefined && oBldP.setRev(oParsedBldP["rev"]);
|
||
oParsedBldP["spid"] != undefined && oBldP.setSpid(spId);
|
||
oParsedBldP["uiExpand"] != undefined && oBldP.setUiExpand(oParsedBldP["uiExpand"]);
|
||
|
||
return oBldP;
|
||
};
|
||
ReaderFromJSON.prototype.TmplLstFromJSON = function(oParsedTmplLst)
|
||
{
|
||
var oTmplLst = new AscFormat.CTmplLst();
|
||
|
||
for (var nElm = 0; nElm < oParsedTmplLst["list"].length; nElm++)
|
||
oTmplLst.addToLst(oTmplLst.list.length, this.TmplFromJSON(oParsedTmplLst["list"][nElm]));
|
||
|
||
return oTmplLst;
|
||
};
|
||
ReaderFromJSON.prototype.TmplFromJSON = function(oParsedTmpl)
|
||
{
|
||
var oTmlp = new AscFormat.CTmpl();
|
||
|
||
oParsedTmpl["lvl"] != undefined && oTmlp.setLvl(oParsedTmpl["lvl"]);
|
||
oParsedTmpl["tnLst"] && oTmlp.setTnLst(this.TnLstFromJSON(oParsedTmpl["tnLst"]));
|
||
|
||
return oTmlp;
|
||
};
|
||
ReaderFromJSON.prototype.TnLstFromJSON = function(oParsedTnLst, bChildLst)
|
||
{
|
||
var oTnLSt = bChildLst ? new AscFormat.CChildTnLst() : new AscFormat.CTnLst();
|
||
var oTempElm = null;
|
||
for (var nElm = 0; nElm < oParsedTnLst.length; nElm++)
|
||
{
|
||
oTempElm = oParsedTnLst[nElm];
|
||
switch (oTempElm["objType"])
|
||
{
|
||
case "par":
|
||
oTnLSt.addToLst(oTnLSt.list.length, this.ParFromJSON(oTempElm));
|
||
break;
|
||
case "seq":
|
||
oTnLSt.addToLst(oTnLSt.list.length, this.SeqFromJSON(oTempElm));
|
||
break;
|
||
case "audio":
|
||
oTnLSt.addToLst(oTnLSt.list.length, this.AudioFromJSON(oTempElm));
|
||
break;
|
||
case "video":
|
||
oTnLSt.addToLst(oTnLSt.list.length, this.VideoFromJSON(oTempElm));
|
||
break;
|
||
case "excl":
|
||
oTnLSt.addToLst(oTnLSt.list.length, this.ExclFromJSON(oTempElm));
|
||
break;
|
||
case "anim":
|
||
oTnLSt.addToLst(oTnLSt.list.length, this.AnimFromJSON(oTempElm));
|
||
break;
|
||
case "animClr":
|
||
oTnLSt.addToLst(oTnLSt.list.length, this.AnimClrFromJSON(oTempElm));
|
||
break;
|
||
case "animEffect":
|
||
oTnLSt.addToLst(oTnLSt.list.length, this.AnimEffectFromJSON(oTempElm));
|
||
break;
|
||
case "animMotion":
|
||
oTnLSt.addToLst(oTnLSt.list.length, this.AnimMotionFromJSON(oTempElm));
|
||
break;
|
||
case "animRot":
|
||
oTnLSt.addToLst(oTnLSt.list.length, this.AnimRotFromJSON(oTempElm));
|
||
break;
|
||
case "animScale":
|
||
oTnLSt.addToLst(oTnLSt.list.length, this.AnimScaleFromJSON(oTempElm));
|
||
break;
|
||
case "cmd":
|
||
oTnLSt.addToLst(oTnLSt.list.length, this.CmdFromJSON(oTempElm));
|
||
break;
|
||
case "set":
|
||
oTnLSt.addToLst(oTnLSt.list.length, this.SetFromJSON(oTempElm));
|
||
break;
|
||
}
|
||
}
|
||
|
||
return oTnLSt;
|
||
};
|
||
ReaderFromJSON.prototype.ParFromJSON = function(oParsedPar)
|
||
{
|
||
var oPar = new AscFormat.CPar();
|
||
|
||
oParsedPar["cTn"] && oPar.setCTn(this.CTnFromJSON(oParsedPar["cTn"]));
|
||
|
||
return oPar;
|
||
};
|
||
ReaderFromJSON.prototype.CTnFromJSON = function(oParsedCTn)
|
||
{
|
||
var oCTn = new AscFormat.CCTn();
|
||
|
||
oParsedCTn["childTnLst"] && oCTn.setChildTnLst(this.TnLstFromJSON(oParsedCTn["childTnLst"], true));
|
||
oParsedCTn["endCondLst"] && oCTn.setEndCondLst(this.CondLstFromJSON(oParsedCTn["endCondLst"]));
|
||
oParsedCTn["endSync"] && oCTn.setEndSync(this.CondFromJSON(oParsedCTn["endSync"]));
|
||
oParsedCTn["iterate"] && oCTn.setIterate(this.IterateFromJSON(oParsedCTn["iterate"]));
|
||
oParsedCTn["stCondLst"] && oCTn.setStCondLst(this.CondLstFromJSON(oParsedCTn["stCondLst"]));
|
||
oParsedCTn["subTnLst"] && oCTn.setSubTnLst(this.TnLstFromJSON(oParsedCTn["subTnLst"]));
|
||
|
||
var nNodeFillType = undefined;
|
||
switch (oParsedCTn["fill"])
|
||
{
|
||
case "freeze":
|
||
nNodeFillType = c_oAscSlideNodeFillType.Freeze;
|
||
break;
|
||
case "hold":
|
||
nNodeFillType = c_oAscSlideNodeFillType.Hold;
|
||
break;
|
||
case "remove":
|
||
nNodeFillType = c_oAscSlideNodeFillType.Remove;
|
||
break;
|
||
case "transition":
|
||
nNodeFillType = c_oAscSlideNodeFillType.Transition;
|
||
break;
|
||
}
|
||
|
||
var nMasterRelType = undefined;
|
||
switch (oParsedCTn["masterRel"])
|
||
{
|
||
case "lastClick":
|
||
nMasterRelType = c_oAscSlideMasterRelationType.LastClick;
|
||
break;
|
||
case "nextClick":
|
||
nMasterRelType = c_oAscSlideMasterRelationType.NextClick;
|
||
break;
|
||
case "sameClick":
|
||
nMasterRelType = c_oAscSlideMasterRelationType.SameClick;
|
||
break;
|
||
}
|
||
|
||
var nNodeType = undefined;
|
||
switch (oParsedCTn["nodeType"])
|
||
{
|
||
case "afterEffect":
|
||
nNodeType = c_oAscSlideNodeType.AfterEffect;
|
||
break;
|
||
case "afterGroup":
|
||
nNodeType = c_oAscSlideNodeType.AfterGroup;
|
||
break;
|
||
case "clickEffect":
|
||
nNodeType = c_oAscSlideNodeType.ClickEffect;
|
||
break;
|
||
case "clickPar":
|
||
nNodeType = c_oAscSlideNodeType.ClickPar;
|
||
break;
|
||
case "interactiveSeq":
|
||
nNodeType = c_oAscSlideNodeType.InteractiveSeq;
|
||
break;
|
||
case "mainSeq":
|
||
nNodeType = c_oAscSlideNodeType.MainSeq;
|
||
break;
|
||
case "tmRoot":
|
||
nNodeType = c_oAscSlideNodeType.TmRoot;
|
||
break;
|
||
case "withEffect":
|
||
nNodeType = c_oAscSlideNodeType.WithEffect;
|
||
break;
|
||
case "withGroup":
|
||
nNodeType = c_oAscSlideNodeType.WithGroup;
|
||
break;
|
||
}
|
||
|
||
var nPresetClassType = undefined;
|
||
switch (oParsedCTn["presetClass"])
|
||
{
|
||
case "emph":
|
||
nPresetClassType = c_oAscSlidePresetClassType.Emph;
|
||
break;
|
||
case "entr":
|
||
nPresetClassType = c_oAscSlidePresetClassType.Entr;
|
||
break;
|
||
case "exit":
|
||
nPresetClassType = c_oAscSlidePresetClassType.Exit;
|
||
break;
|
||
case "mediacall":
|
||
nPresetClassType = c_oAscSlidePresetClassType.Mediacall;
|
||
break;
|
||
case "path":
|
||
nPresetClassType = c_oAscSlidePresetClassType.Path;
|
||
break;
|
||
case "verb":
|
||
nPresetClassType = c_oAscSlidePresetClassType.Verb;
|
||
break;
|
||
}
|
||
|
||
var nRestartType = undefined;
|
||
switch (oParsedCTn["restart"])
|
||
{
|
||
case "always":
|
||
nRestartType = c_oAscSlideRestartType.Always;
|
||
break;
|
||
case "never":
|
||
nRestartType = c_oAscSlideRestartType.Never;
|
||
break;
|
||
case "whenNotActive":
|
||
nRestartType = c_oAscSlideRestartType.WhenNotActive;
|
||
break;
|
||
}
|
||
|
||
var nSyncBehaviorType = undefined;
|
||
switch (oParsedCTn["syncBehavior"])
|
||
{
|
||
case "canSlip":
|
||
nSyncBehaviorType = c_oAscSlideSyncBehaviorType.CanSlip;
|
||
break;
|
||
case "locked":
|
||
nSyncBehaviorType = c_oAscSlideSyncBehaviorType.Locked;
|
||
break;
|
||
}
|
||
|
||
oParsedCTn["accel"] != undefined && oCTn.setAccel(oParsedCTn["accel"]);
|
||
oParsedCTn["afterEffect"] != undefined && oCTn.setAfterEffect(oParsedCTn["afterEffect"]);
|
||
oParsedCTn["autoRev"] != undefined && oCTn.setAutoRev(oParsedCTn["autoRev"]);
|
||
oParsedCTn["bldLvl"] != undefined && oCTn.setBldLvl(oParsedCTn["bldLvl"]);
|
||
oParsedCTn["decel"] != undefined && oCTn.setDecel(oParsedCTn["decel"]);
|
||
oParsedCTn["display"] != undefined && oCTn.setDisplay(oParsedCTn["display"]);
|
||
oParsedCTn["dur"] != undefined && oCTn.setDur(oParsedCTn["dur"]);
|
||
oParsedCTn["evtFilter"] != undefined && oCTn.setEvtFilter(oParsedCTn["evtFilter"]);
|
||
nNodeFillType != undefined && oCTn.setFill(nNodeFillType);
|
||
oParsedCTn["grpId"] != undefined && oCTn.setGrpId(oParsedCTn["grpId"]);
|
||
oParsedCTn["id"] != undefined && oCTn.setId(oParsedCTn["id"]);
|
||
nMasterRelType != undefined && oCTn.setMasterRel(nMasterRelType);
|
||
oParsedCTn["nodePh"] != undefined && oCTn.setNodePh(oParsedCTn["nodePh"]);
|
||
nNodeType != undefined && oCTn.setNodeType(nNodeType);
|
||
nPresetClassType != undefined && oCTn.setPresetClass(nPresetClassType);
|
||
oParsedCTn["presetID"] != undefined && oCTn.setPresetID(oParsedCTn["presetID"]);
|
||
oParsedCTn["presetSubtype"] != undefined && oCTn.setPresetSubtype(oParsedCTn["presetSubtype"]);
|
||
oParsedCTn["repeatCount"] != undefined && oCTn.setRepeatCount(oParsedCTn["repeatCount"]);
|
||
oParsedCTn["repeatDur"] != undefined && oCTn.setRepeatDur(oParsedCTn["repeatDur"]);
|
||
nRestartType != undefined && oCTn.setRestart(nRestartType);
|
||
oParsedCTn["spd"] != undefined && oCTn.setSpd(oParsedCTn["spd"]);
|
||
nSyncBehaviorType != undefined && oCTn.setSyncBehavior(nSyncBehaviorType);
|
||
oParsedCTn["tmFilter"] != undefined && oCTn.setTmFilter(oParsedCTn["tmFilter"]);
|
||
|
||
return oCTn;
|
||
};
|
||
ReaderFromJSON.prototype.CondLstFromJSON = function(oParsedCondLst)
|
||
{
|
||
var oCondLst = new AscFormat.CCondLst();
|
||
|
||
for (var nCond = 0; nCond < oParsedCondLst.length; nCond++)
|
||
oCondLst.addToLst(oCondLst.list.length, this.CondFromJSON(oParsedCondLst[nCond]));
|
||
|
||
return oCondLst;
|
||
};
|
||
ReaderFromJSON.prototype.CondFromJSON = function(oParsedCond)
|
||
{
|
||
var oCond = new AscFormat.CCond();
|
||
|
||
var nEventType = undefined;
|
||
switch (oParsedCond["evt"])
|
||
{
|
||
case "begin":
|
||
nEventType = c_oAscSlideTriggerEventType.Begin;
|
||
break;
|
||
case "end":
|
||
nEventType = c_oAscSlideTriggerEventType.End;
|
||
break;
|
||
case "onBegin":
|
||
nEventType = c_oAscSlideTriggerEventType.OnBegin;
|
||
break;
|
||
case "onClick":
|
||
nEventType = c_oAscSlideTriggerEventType.OnClick;
|
||
break;
|
||
case "onDblClick":
|
||
nEventType = c_oAscSlideTriggerEventType.OnDblClick;
|
||
break;
|
||
case "onEnd":
|
||
nEventType = c_oAscSlideTriggerEventType.OnEnd;
|
||
break;
|
||
case "onMouseOut":
|
||
nEventType = c_oAscSlideTriggerEventType.OnMouseOut;
|
||
break;
|
||
case "onMouseOver":
|
||
nEventType = c_oAscSlideTriggerEventType.OnMouseOver;
|
||
break;
|
||
case "onNext":
|
||
nEventType = c_oAscSlideTriggerEventType.OnNext;
|
||
break;
|
||
case "onPrev":
|
||
nEventType = c_oAscSlideTriggerEventType.OnPrev;
|
||
break;
|
||
case "onStopAudio":
|
||
nEventType = c_oAscSlideTriggerEventType.OnStopAudio;
|
||
break;
|
||
}
|
||
|
||
oParsedCond["rtn"] && oCond.setRtn(this.RtnFromJSON(oParsedCond["rtn"]));
|
||
oParsedCond["tgtEl"] && oCond.setTgtEl(this.TgtElFromJSON(oParsedCond["tgtEl"]));
|
||
oParsedCond["tn"] != undefined && oCond.setTn(oParsedCond["tn"]);
|
||
oParsedCond["delay"] != undefined && oCond.setDelay(oParsedCond["delay"]);
|
||
nEventType != undefined && oCond.setEvt(nEventType);
|
||
|
||
return oCond;
|
||
};
|
||
ReaderFromJSON.prototype.RtnFromJSON = function(oParsedRtn)
|
||
{
|
||
|
||
var nType = undefined;
|
||
switch (oParsedRtn["val"])
|
||
{
|
||
case "all":
|
||
nType = c_oAscSlideRuntimeTriggerType.All;
|
||
break;
|
||
case "first":
|
||
nType = c_oAscSlideRuntimeTriggerType.First;
|
||
break;
|
||
case "last":
|
||
nType = c_oAscSlideRuntimeTriggerType.Last;
|
||
break;
|
||
}
|
||
|
||
return nType || null;
|
||
};
|
||
ReaderFromJSON.prototype.TgtElFromJSON = function(oParsedTgtEl)
|
||
{
|
||
var oTgtEl = new AscFormat.CTgtEl();
|
||
|
||
oParsedTgtEl["inkTgt"] && oTgtEl.setInkTgt(this.InkTgtFromJSON(oParsedTgtEl["inkTgt"]));
|
||
//oParsedTgtEl["sldTgt"] && oTgtEl.setSldTgt(this.SldTgtFromJSON(oParsedTgtEl["sldTgt"]));
|
||
oParsedTgtEl["sndTgt"] && oTgtEl.setSndTgt(this.SndTgtFromJSON(oParsedTgtEl["sndTgt"]));
|
||
oParsedTgtEl["spTgt"] && oTgtEl.setSpTgt(this.SpTgtFromJSON(oParsedTgtEl["spTgt"]));
|
||
|
||
return oTgtEl;
|
||
};
|
||
ReaderFromJSON.prototype.InkTgtFromJSON = function(oParsedInkTgt)
|
||
{
|
||
var oInkTgt = new AscFormat.CObjectTarget();
|
||
|
||
//var spId = this.drawingsMap[oParsedInkTgt["spid"]] ? this.drawingsMap[oParsedInkTgt["spid"]].Id : oParsedInkTgt["spid"];
|
||
|
||
oParsedInkTgt["spid"] != undefined && oInkTgt.setSpid(oParsedInkTgt["spid"]);
|
||
this.AddConnectedObject(oInkTgt);
|
||
|
||
return oInkTgt;
|
||
};
|
||
ReaderFromJSON.prototype.SldTgtFromJSON = function(oParsedSldTgt)
|
||
{
|
||
// not supported yet
|
||
};
|
||
ReaderFromJSON.prototype.SndTgtFromJSON = function(oParsedSndTgt)
|
||
{
|
||
var oSndTgt = new AscFormat.CSndTgt();
|
||
|
||
oParsedSndTgt["embed"] != undefined && oSndTgt.setEmbed(oParsedSndTgt["embed"]);
|
||
oParsedSndTgt["name"] != undefined && oSndTgt.setName(oParsedSndTgt["name"]);
|
||
oParsedSndTgt["builtIn"] != undefined && oSndTgt.setBuiltIn(oParsedSndTgt["builtIn"]);
|
||
|
||
return oSndTgt;
|
||
};
|
||
ReaderFromJSON.prototype.SpTgtFromJSON = function(oParsedSpTgt)
|
||
{
|
||
var oSpTgt = new AscFormat.CSpTgt();
|
||
|
||
//var spId = this.drawingsMap[oParsedSpTgt["spid"]] ? this.drawingsMap[oParsedSpTgt["spid"]].Id : oParsedSpTgt["spid"];
|
||
//var subSpId = this.drawingsMap[oParsedSpTgt["subSpId"]] ? this.drawingsMap[oParsedSpTgt["subSpId"]].Id : oParsedSpTgt["subSpId"];
|
||
|
||
oParsedSpTgt["spid"] != undefined && oSpTgt.setSpid(oParsedSpTgt["spid"]);
|
||
oParsedSpTgt["bg"] != undefined && oSpTgt.setBg(oParsedSpTgt["bg"]);
|
||
oParsedSpTgt["subSpId"] != undefined && oSpTgt.setSubSpId(oParsedSpTgt["subSpId"]);
|
||
|
||
oParsedSpTgt["oleChartEl"] && oSpTgt.setOleChartEl(this.OleChartElFromJSON(oParsedSpTgt["oleChartEl"]));
|
||
oParsedSpTgt["txEl"] && oSpTgt.setTxEl(this.TxElFromJSON(oParsedSpTgt["txEl"]));
|
||
oParsedSpTgt["graphicEl"] && oSpTgt.setGraphicEl(this.GraphicElFromJSON(oParsedSpTgt["graphicEl"]));
|
||
this.AddConnectedObject(oSpTgt);
|
||
return oSpTgt;
|
||
};
|
||
ReaderFromJSON.prototype.OleChartElFromJSON = function(oParsedOleChartEl)
|
||
{
|
||
var oOleChartEl = new AscFormat.COleChartEl();
|
||
|
||
var nType = undefined;
|
||
switch (oParsedOleChartEl["type"])
|
||
{
|
||
case "category":
|
||
nType = c_oAscSlideChartSubElementType.Category;
|
||
break;
|
||
case "gridLegend":
|
||
nType = c_oAscSlideChartSubElementType.GridLegend;
|
||
break;
|
||
case "ptInCategory":
|
||
nType = c_oAscSlideChartSubElementType.PtInCategory;
|
||
break;
|
||
case "ptInSeries":
|
||
nType = c_oAscSlideChartSubElementType.PtInSeries;
|
||
break;
|
||
case "series":
|
||
nType = c_oAscSlideChartSubElementType.Series;
|
||
break;
|
||
}
|
||
|
||
oParsedOleChartEl["lvl"] != undefined && oOleChartEl.setLvl(oParsedOleChartEl["lvl"]);
|
||
nType != undefined && oOleChartEl.setType(nType);
|
||
|
||
return oOleChartEl;
|
||
};
|
||
ReaderFromJSON.prototype.TxElFromJSON = function(oParsedTxEl)
|
||
{
|
||
var oTxEl = new AscFormat.CTxEl();
|
||
|
||
oParsedTxEl["charRg"] && oTxEl.setCharRg(this.IndexRgFromJSON(oParsedTxEl["charRg"]));
|
||
oParsedTxEl["pRg"] && oTxEl.setPRg(this.IndexRgFromJSON(oParsedTxEl["pRg"]));
|
||
|
||
return oTxEl;
|
||
};
|
||
ReaderFromJSON.prototype.IndexRgFromJSON = function(oParsedIndexRg)
|
||
{
|
||
var oIndexRg = new AscFormat.CIndexRg();
|
||
|
||
oParsedIndexRg["st"] != undefined && oIndexRg.setSt(oParsedIndexRg["st"]);
|
||
oParsedIndexRg["end"] != undefined && oIndexRg.setEnd(oParsedIndexRg["end"]);
|
||
|
||
return oIndexRg;
|
||
};
|
||
ReaderFromJSON.prototype.GraphicElFromJSON = function(oParsedGraphicEl)
|
||
{
|
||
var oGraphicEl = new AscFormat.CGraphicEl();
|
||
|
||
oParsedGraphicEl["chart"]["bldStep"] != undefined && oGraphicEl.setChartBuildStep(oParsedGraphicEl["chart"]["bldStep"]);
|
||
oParsedGraphicEl["chart"]["categoryIdx"] != undefined && oGraphicEl.setCategoryIdx(oParsedGraphicEl["chart"]["categoryIdx"]);
|
||
oParsedGraphicEl["chart"]["seriesIdx"] != undefined && oGraphicEl.setSeriesIdx(oParsedGraphicEl["chart"]["seriesIdx"]);
|
||
|
||
oParsedGraphicEl["dgm"]["bldStep"] != undefined && oGraphicEl.setDgmBuildStep(oParsedGraphicEl["dgm"]["bldStep"]);
|
||
oParsedGraphicEl["dgm"]["id"] != undefined && oGraphicEl.setDgmId(oParsedGraphicEl["dgm"]["id"]);
|
||
this.AddConnectedObject(oGraphicEl);
|
||
|
||
return oGraphicEl;
|
||
};
|
||
ReaderFromJSON.prototype.IterateFromJSON = function(oParsedIterate)
|
||
{
|
||
var oIterate = new AscFormat.CIterateData();
|
||
|
||
var nIterateType = undefined;
|
||
switch (oParsedIterate["type"])
|
||
{
|
||
case "el":
|
||
nIterateType = c_oAscSlideIterateType.El;
|
||
break;
|
||
case "lt":
|
||
nIterateType = c_oAscSlideIterateType.Lt;
|
||
break;
|
||
case "wd":
|
||
nIterateType = c_oAscSlideIterateType.Wd;
|
||
break;
|
||
}
|
||
|
||
oParsedIterate["tmAbs"] != undefined && oIterate.setTmAbs(oParsedIterate["tmAbs"]);
|
||
oParsedIterate["tmPct"] != undefined && oIterate.setTmPct(oParsedIterate["tmPct"]);
|
||
oParsedIterate["backwards"] != undefined && oIterate.setBackwards(oParsedIterate["backwards"]);
|
||
nIterateType != undefined && oIterate.setType(nIterateType);
|
||
|
||
return oIterate;
|
||
};
|
||
ReaderFromJSON.prototype.SeqFromJSON = function(oParsedSeq)
|
||
{
|
||
var oSeq = new AscFormat.CSeq();
|
||
|
||
var nNextAcType = undefined;
|
||
switch (oParsedSeq["nextAc"])
|
||
{
|
||
case "none":
|
||
nNextAcType = c_oAscSlideNextAcType.None;
|
||
break;
|
||
case "seek":
|
||
nNextAcType = c_oAscSlideNextAcType.Seek;
|
||
break;
|
||
}
|
||
|
||
var nPrevAcType = undefined;
|
||
switch (oParsedSeq["prevAc"])
|
||
{
|
||
case "none":
|
||
nPrevAcType = c_oAscSlidePrevAcType.None;
|
||
break;
|
||
case "skipTimed":
|
||
nPrevAcType = c_oAscSlidePrevAcType.SkipTimed;
|
||
break;
|
||
}
|
||
|
||
oParsedSeq["cTn"] && oSeq.setCTn(this.CTnFromJSON(oParsedSeq["cTn"]));
|
||
oParsedSeq["nextCondLst"] && oSeq.setNextCondLst(this.CondLstFromJSON(oParsedSeq["nextCondLst"]));
|
||
oParsedSeq["prevCondLst"] && oSeq.setPrevCondLst(this.CondLstFromJSON(oParsedSeq["prevCondLst"]));
|
||
|
||
oParsedSeq["concurrent"] != undefined && oSeq.setConcurrent(oParsedSeq["concurrent"]);
|
||
nNextAcType != undefined && oSeq.setNextAc(nNextAcType);
|
||
nPrevAcType != undefined && oSeq.setPrevAc(nPrevAcType);
|
||
|
||
return oSeq;
|
||
};
|
||
ReaderFromJSON.prototype.AudioFromJSON = function(oParsedAudio)
|
||
{
|
||
var oAudio = new AscFormat.CAudio();
|
||
|
||
oParsedAudio["cMediaNode"] && oAudio.setCMediaNode(this.CMediaNodeFromJSON(oParsedAudio["cMediaNode"]));
|
||
oParsedAudio["isNarration"] != undefined && oAudio.setIsNarration(oParsedAudio["isNarration"]);
|
||
|
||
return oAudio;
|
||
};
|
||
ReaderFromJSON.prototype.CMediaNodeFromJSON = function(oParsedCMediaNode)
|
||
{
|
||
var oCMediaNode = new AscFormat.CCMediaNode();
|
||
|
||
oParsedCMediaNode["cTn"] && oCMediaNode.setCTn(this.CTnFromJSON(oParsedCMediaNode["cTn"]));
|
||
oParsedCMediaNode["tgtEl"] && oCMediaNode.setTgtEl(this.TgtElFromJSON(oParsedCMediaNode["tgtEl"]));
|
||
|
||
oParsedCMediaNode["mute"] != undefined && oCMediaNode.setMute(oParsedCMediaNode["mute"]);
|
||
oParsedCMediaNode["numSld"] != undefined && oCMediaNode.setNumSld(oParsedCMediaNode["numSld"]);
|
||
oParsedCMediaNode["showWhenStopped"] != undefined && oCMediaNode.setShowWhenStopped(oParsedCMediaNode["showWhenStopped"]);
|
||
oParsedCMediaNode["vol"] != undefined && oCMediaNode.setVol(oParsedCMediaNode["vol"]);
|
||
|
||
return oCMediaNode;
|
||
};
|
||
ReaderFromJSON.prototype.VideoFromJSON = function(oParsedVideo)
|
||
{
|
||
var oVideo = new AscFormat.CVideo();
|
||
|
||
oParsedVideo["cMediaNode"] && oVideo.setCMediaNode(this.CMediaNodeFromJSON(oParsedVideo["cMediaNode"]));
|
||
oParsedVideo["fullScrn"] != undefined && oVideo.setFullScrn(oParsedVideo["fullScrn"]);
|
||
|
||
return oVideo;
|
||
};
|
||
ReaderFromJSON.prototype.ExclFromJSON = function(oParsedExcl)
|
||
{
|
||
var oExcl = new AscFormat.CExcl();
|
||
|
||
oParsedExcl["cTn"] && oExcl.setCTn(this.CTnFromJSON(oParsedExcl["cTn"]));
|
||
|
||
return oExcl;
|
||
};
|
||
ReaderFromJSON.prototype.AnimFromJSON = function(oParsedAnim)
|
||
{
|
||
var oAnim = new AscFormat.CAnim();
|
||
|
||
var nCalcmodeType = undefined;
|
||
switch (oParsedAnim["calcmode"])
|
||
{
|
||
case "discrete":
|
||
nCalcmodeType = c_oAscSlideCalcModeType.Discrete;
|
||
break;
|
||
case "lin":
|
||
nCalcmodeType = c_oAscSlideCalcModeType.Lin;
|
||
break;
|
||
case "fmla":
|
||
nCalcmodeType = c_oAscSlideCalcModeType.Fmla;
|
||
break;
|
||
}
|
||
|
||
var nValueType = undefined;
|
||
switch (oParsedAnim["valueType"])
|
||
{
|
||
case "num":
|
||
nValueType = c_oAscSlideTLValueType.Num;
|
||
break;
|
||
case "clr":
|
||
nValueType = c_oAscSlideTLValueType.Clr;
|
||
break;
|
||
case "str":
|
||
nValueType = c_oAscSlideTLValueType.Str;
|
||
break;
|
||
}
|
||
|
||
oParsedAnim["cBhvr"] && oAnim.setCBhvr(this.CBhvrFromJSON(oParsedAnim["cBhvr"]));
|
||
oParsedAnim["tavLst"] && oAnim.setTavLst(this.TavLstFromJSON(oParsedAnim["tavLst"]));
|
||
|
||
oParsedAnim["by"] != undefined && oAnim.setBy(oParsedAnim["by"]);
|
||
nCalcmodeType != undefined && oAnim.setCalcmode(nCalcmodeType);
|
||
oParsedAnim["from"] != undefined && oAnim.setFrom(oParsedAnim["from"]);
|
||
oParsedAnim["to"] != undefined && oAnim.setTo(oParsedAnim["to"]);
|
||
nValueType != undefined && oAnim.setValueType(nValueType);
|
||
|
||
return oAnim;
|
||
};
|
||
ReaderFromJSON.prototype.CBhvrFromJSON = function(oParsedCBhvr)
|
||
{
|
||
var oCBhvr = new AscFormat.CCBhvr();
|
||
|
||
var nAccumulateType = undefined;
|
||
switch (oParsedCBhvr["accumulate"])
|
||
{
|
||
case "always":
|
||
nAccumulateType = c_oAscSlideTLAccumulateType.Always;
|
||
break;
|
||
case "none":
|
||
nAccumulateType = c_oAscSlideTLAccumulateType.None;
|
||
break;
|
||
}
|
||
|
||
var nAdditiveType = undefined;
|
||
switch (oParsedCBhvr["additive"])
|
||
{
|
||
case "base":
|
||
nAdditiveType = c_oAscSlideTLAdditiveType.Base;
|
||
break;
|
||
case "mult":
|
||
nAdditiveType = c_oAscSlideTLAdditiveType.Mult;
|
||
break;
|
||
case "none":
|
||
nAdditiveType = c_oAscSlideTLAdditiveType.None;
|
||
break;
|
||
case "repl":
|
||
nAdditiveType = c_oAscSlideTLAdditiveType.Repl;
|
||
break;
|
||
case "sum":
|
||
nAdditiveType = c_oAscSlideTLAdditiveType.Sum;
|
||
break;
|
||
}
|
||
|
||
var nOverrideType = undefined;
|
||
switch (oParsedCBhvr["override"])
|
||
{
|
||
case "childStyle":
|
||
nOverrideType = c_oAscSlideTLOverrideType.ChildStyle;
|
||
break;
|
||
case "normal":
|
||
nOverrideType = c_oAscSlideTLOverrideType.Normal;
|
||
break;
|
||
}
|
||
|
||
var nXfrmTypeType = undefined;
|
||
switch (oParsedCBhvr["xfrmType"])
|
||
{
|
||
case "img":
|
||
nXfrmTypeType = c_oAscSlideTLTransformType.Img;
|
||
break;
|
||
case "pt":
|
||
nXfrmTypeType = c_oAscSlideTLTransformType.Pt;
|
||
break;
|
||
}
|
||
|
||
oParsedCBhvr["attrNameLst"] && oCBhvr.setAttrNameLst(this.AttrNameLstFromJSON(oParsedCBhvr["attrNameLst"]));
|
||
oParsedCBhvr["cTn"] && oCBhvr.setCTn(this.CTnFromJSON(oParsedCBhvr["cTn"]));
|
||
oParsedCBhvr["tgtEl"] && oCBhvr.setTgtEl(this.TgtElFromJSON(oParsedCBhvr["tgtEl"]));
|
||
|
||
nAccumulateType != undefined && oCBhvr.setAccumulate(nAccumulateType);
|
||
nAdditiveType != undefined && oCBhvr.setAdditive(nAdditiveType);
|
||
oParsedCBhvr["by"] != undefined && oCBhvr.setBy(oParsedCBhvr["by"]);
|
||
oParsedCBhvr["from"] != undefined && oCBhvr.setFrom(oParsedCBhvr["from"]);
|
||
nOverrideType != undefined && oCBhvr.setOverride(nOverrideType);
|
||
oParsedCBhvr["rctx"] != undefined && oCBhvr.setRctx(oParsedCBhvr["rctx"]);
|
||
oParsedCBhvr["to"] != undefined && oCBhvr.setTo(oParsedCBhvr["to"]);
|
||
nXfrmTypeType != undefined && oCBhvr.setXfrmType(nXfrmTypeType);
|
||
|
||
return oCBhvr;
|
||
};
|
||
ReaderFromJSON.prototype.AttrNameLstFromJSON = function(oParsedAttrNameLst)
|
||
{
|
||
var oAttrNameLst = new AscFormat.CAttrNameLst();
|
||
var oTempName = null;
|
||
for (var nName = 0; nName < oParsedAttrNameLst.length; nName++)
|
||
{
|
||
oTempName = new AscFormat.CAttrName();
|
||
oTempName.setText(oParsedAttrNameLst[nName]);
|
||
oAttrNameLst.addToLst(oAttrNameLst.list.length, oTempName);
|
||
}
|
||
|
||
return oAttrNameLst;
|
||
};
|
||
ReaderFromJSON.prototype.TavLstFromJSON = function(oParsedTavLst)
|
||
{
|
||
var oTavLst = new AscFormat.CTavLst();
|
||
for (var nTav = 0; nTav < oParsedTavLst.length; nTav++)
|
||
oTavLst.addToLst(oTavLst.list.length, this.TavFromJSON(oParsedTavLst[nTav]));
|
||
|
||
return oTavLst;
|
||
};
|
||
ReaderFromJSON.prototype.TavFromJSON = function(oParsedTav)
|
||
{
|
||
var oTav = new AscFormat.CTav();
|
||
|
||
oParsedTav["val"] && oTav.setVal(this.AnimVariantFromJSON(oParsedTav["val"]));
|
||
oParsedTav["fmla"] != undefined && oTav.setFmla(oParsedTav["fmla"]);
|
||
oParsedTav["tm"] != undefined && oTav.setTm(oParsedTav["tm"]);
|
||
|
||
return oTav;
|
||
};
|
||
ReaderFromJSON.prototype.AnimVariantFromJSON = function(oParsedAnimVariant)
|
||
{
|
||
var oAnimVariant = new AscFormat.CAnimVariant();
|
||
|
||
oParsedAnimVariant["boolVal"] != undefined && oAnimVariant.setBoolVal(oParsedAnimVariant["boolVal"]);
|
||
oParsedAnimVariant["fltVal"] != undefined && oAnimVariant.setFltVal(oParsedAnimVariant["fltVal"]);
|
||
oParsedAnimVariant["intVal"] != undefined && oAnimVariant.setIntVal(oParsedAnimVariant["intVal"]);
|
||
oParsedAnimVariant["strVal"] != undefined && oAnimVariant.setStrVal(oParsedAnimVariant["strVal"]);
|
||
oParsedAnimVariant["clrVal"] && oAnimVariant.setClrVal(this.ColorFromJSON(oParsedAnimVariant["clrVal"]));
|
||
|
||
return oAnimVariant;
|
||
};
|
||
ReaderFromJSON.prototype.AnimClrFromJSON = function(oParsedAnimClr)
|
||
{
|
||
var oAnimClr = new AscFormat.CAnimClr();
|
||
|
||
var nClrSpcType = undefined;
|
||
switch (oParsedAnimClr["clrSpc"])
|
||
{
|
||
case "rgb":
|
||
nClrSpcType = c_oAscSlideTLColorSpaceType.Rgb;
|
||
break;
|
||
case "hsl":
|
||
nClrSpcType = c_oAscSlideTLColorSpaceType.Hsl;
|
||
break;
|
||
}
|
||
|
||
var nColorDir = undefined;
|
||
switch (oParsedAnimClr["dir"])
|
||
{
|
||
case "ccw":
|
||
nColorDir = AscCommon.ST_HueDir.Ccw;
|
||
break;
|
||
case "cw":
|
||
nColorDir = AscCommon.ST_HueDir.Cw;
|
||
break;
|
||
}
|
||
|
||
oParsedAnimClr["by"]["rgb"] && oAnimClr.setByRGB(this.ByRGBFromJSON(oParsedAnimClr["by"]["rgb"]));
|
||
oParsedAnimClr["by"]["hsl"] && oAnimClr.setByHSL(this.ByHSLFromJSON(oParsedAnimClr["by"]["hsl"]));
|
||
|
||
oParsedAnimClr["cBhvr"] && oAnimClr.setCBhvr(this.CBhvrFromJSON(oParsedAnimClr["cBhvr"]));
|
||
oParsedAnimClr["from"] != undefined && oAnimClr.setFrom(oParsedAnimClr["from"]);
|
||
oParsedAnimClr["to"] != undefined && oAnimClr.setTo(oParsedAnimClr["to"]);
|
||
nClrSpcType != undefined && oAnimClr.setClrSpc(nClrSpcType);
|
||
nColorDir != undefined && oAnimClr.setDir(nColorDir);
|
||
|
||
return oAnimClr;
|
||
};
|
||
ReaderFromJSON.prototype.ByRGBFromJSON = function(oParsedByRGB)
|
||
{
|
||
var oByRGB = new AscFormat.CColorPercentage();
|
||
|
||
oByRGB.c1 = oParsedByRGB["r"];
|
||
oByRGB.c1 = oParsedByRGB["g"];
|
||
oByRGB.c1 = oParsedByRGB["b"];
|
||
|
||
return oByRGB;
|
||
};
|
||
ReaderFromJSON.prototype.ByHSLFromJSON = function(oParsedByHSL)
|
||
{
|
||
var oByHSL = new AscFormat.CColorPercentage();
|
||
|
||
oByHSL.c1 = oParsedByHSL["h"];
|
||
oByHSL.c1 = oParsedByHSL["s"];
|
||
oByHSL.c1 = oParsedByHSL["l"];
|
||
|
||
return oByHSL;
|
||
};
|
||
ReaderFromJSON.prototype.AnimEffectFromJSON = function(oParsedAnimEffect)
|
||
{
|
||
var oAnimEffect = new AscFormat.CAnimEffect();
|
||
|
||
oParsedAnimEffect["cBhvr"] && oAnimEffect.setCBhvr(this.CBhvrFromJSON(oParsedAnimEffect["cBhvr"]));
|
||
oParsedAnimEffect["progress"] && oAnimEffect.setProgress(this.AnimVariantFromJSON(oParsedAnimEffect["progress"]));
|
||
oParsedAnimEffect["filter"] != undefined && oAnimEffect.setFilter(oParsedAnimEffect["filter"]);
|
||
oParsedAnimEffect["prLst"] != undefined && oAnimEffect.setPrLst(oParsedAnimEffect["prLst"]);
|
||
oParsedAnimEffect["transition"] && oAnimEffect.setTransition(From_XML_TLAnimateEffectTransition(oParsedAnimEffect["transition"]));
|
||
|
||
return oAnimEffect;
|
||
};
|
||
ReaderFromJSON.prototype.TransitionFromJSON = function(oParsedTransition)
|
||
{
|
||
var oTransition = new Asc.CAscSlideTransition();
|
||
|
||
var nTransType = undefined;
|
||
switch (oParsedTransition["type"])
|
||
{
|
||
case "none":
|
||
nTransType = c_oAscSlideTransitionTypes.None;
|
||
break;
|
||
case "fade":
|
||
nTransType = c_oAscSlideTransitionTypes.Fade;
|
||
break;
|
||
case "push":
|
||
nTransType = c_oAscSlideTransitionTypes.Push;
|
||
break;
|
||
case "wipe":
|
||
nTransType = c_oAscSlideTransitionTypes.Wipe;
|
||
break;
|
||
case "split":
|
||
nTransType = c_oAscSlideTransitionTypes.Split;
|
||
break;
|
||
case "unCover":
|
||
nTransType = c_oAscSlideTransitionTypes.UnCover;
|
||
break;
|
||
case "cover":
|
||
nTransType = c_oAscSlideTransitionTypes.Cover;
|
||
break;
|
||
case "clock":
|
||
nTransType = c_oAscSlideTransitionTypes.Clock;
|
||
break;
|
||
case "zoom":
|
||
nTransType = c_oAscSlideTransitionTypes.Zoom;
|
||
break;
|
||
}
|
||
|
||
var transOption = undefined;
|
||
switch (nTransType)
|
||
{
|
||
case c_oAscSlideTransitionTypes.Fade:
|
||
transOption = oParsedTransition["option"] === false ? c_oAscSlideTransitionParams.Fade_Smoothly : c_oAscSlideTransitionParams.Fade_Through_Black;
|
||
break;
|
||
case c_oAscSlideTransitionTypes.Push:
|
||
case c_oAscSlideTransitionTypes.Wipe:
|
||
case c_oAscSlideTransitionTypes.Cover:
|
||
case c_oAscSlideTransitionTypes.UnCover:
|
||
switch (oParsedTransition["option"])
|
||
{
|
||
case "l":
|
||
transOption = c_oAscSlideTransitionParams.Param_Left;
|
||
break;
|
||
case "t":
|
||
transOption = c_oAscSlideTransitionParams.Param_Top;
|
||
break;
|
||
case "r":
|
||
transOption = c_oAscSlideTransitionParams.Param_Right;
|
||
break;
|
||
case "b":
|
||
transOption = c_oAscSlideTransitionParams.Param_Bottom;
|
||
break;
|
||
case "tl":
|
||
transOption = c_oAscSlideTransitionParams.Param_TopLeft;
|
||
break;
|
||
case "tr":
|
||
transOption = c_oAscSlideTransitionParams.Param_TopRight;
|
||
break;
|
||
case "bl":
|
||
transOption = c_oAscSlideTransitionParams.Param_BottomLeft;
|
||
break;
|
||
case "br":
|
||
transOption = c_oAscSlideTransitionParams.Param_BottomRight;
|
||
break;
|
||
}
|
||
break;
|
||
case c_oAscSlideTransitionTypes.Split:
|
||
switch (oParsedTransition["option"])
|
||
{
|
||
case "verIn":
|
||
transOption = c_oAscSlideTransitionParams.Split_VerticalIn;
|
||
break;
|
||
case "verOut":
|
||
transOption = c_oAscSlideTransitionParams.Split_VerticalOut;
|
||
break;
|
||
case "horIn":
|
||
transOption = c_oAscSlideTransitionParams.Split_HorizontalIn;
|
||
break;
|
||
case "horOut":
|
||
transOption = c_oAscSlideTransitionParams.Split_HorizontalOut;
|
||
break;
|
||
}
|
||
break;
|
||
case c_oAscSlideTransitionTypes.Clock:
|
||
switch (oParsedTransition["option"])
|
||
{
|
||
case "clockwise":
|
||
transOption = c_oAscSlideTransitionParams.Clock_Clockwise;
|
||
break;
|
||
case "counterClockwise":
|
||
transOption = c_oAscSlideTransitionParams.Clock_Counterclockwise;
|
||
break;
|
||
case "wedge":
|
||
transOption = c_oAscSlideTransitionParams.Clock_Wedge;
|
||
break;
|
||
}
|
||
break;
|
||
case c_oAscSlideTransitionTypes.Zoom:
|
||
switch (oParsedTransition["option"])
|
||
{
|
||
case "in":
|
||
transOption = c_oAscSlideTransitionParams.Zoom_In;
|
||
break;
|
||
case "out":
|
||
transOption = c_oAscSlideTransitionParams.Zoom_Out;
|
||
break;
|
||
case "andRotate":
|
||
transOption = c_oAscSlideTransitionParams.Zoom_AndRotate;
|
||
break;
|
||
}
|
||
break;
|
||
}
|
||
|
||
oTransition.TransitionType = nTransType;
|
||
oTransition.TransitionOption = transOption;
|
||
oTransition.TransitionDuration = oParsedTransition["transDur"];
|
||
oTransition.SlideAdvanceOnMouseClick = oParsedTransition["advClick"];
|
||
oTransition.SlideAdvanceAfter = oParsedTransition["advAfter"];
|
||
oTransition.SlideAdvanceDuration = oParsedTransition["advDur"];
|
||
oTransition.ShowLoop = oParsedTransition["shwLoop"];
|
||
|
||
return oTransition;
|
||
};
|
||
ReaderFromJSON.prototype.AnimMotionFromJSON = function(oParsedAnimMotion)
|
||
{
|
||
var oAnimMotion = new AscFormat.CAnimMotion();
|
||
|
||
var nOriginType = undefined;
|
||
switch (oParsedAnimMotion["origin"])
|
||
{
|
||
case "parent":
|
||
nOriginType = c_oAscSlideTLOriginType.Parent;
|
||
break;
|
||
case "layout":
|
||
nOriginType = c_oAscSlideTLOriginType.Layout;
|
||
break;
|
||
}
|
||
|
||
var nPathEditMode = undefined;
|
||
switch (oParsedAnimMotion["pathEditMode"])
|
||
{
|
||
case "fixed":
|
||
nPathEditMode = c_oAscSlideTLPathEditMode.Fixed;
|
||
break;
|
||
case "relative":
|
||
nPathEditMode = c_oAscSlideTLPathEditMode.Relative;
|
||
break;
|
||
}
|
||
|
||
oParsedAnimMotion["by"] && oAnimMotion.setBy(this.ByPointFromJSON(oParsedAnimMotion["by"]));
|
||
oParsedAnimMotion["cBhvr"] && oAnimMotion.setCBhvr(this.CBhvrFromJSON(oParsedAnimMotion["cBhvr"]));
|
||
oParsedAnimMotion["from"] && oAnimMotion.setFrom(this.ByPointFromJSON(oParsedAnimMotion["from"]));
|
||
oParsedAnimMotion["rCtr"] && oAnimMotion.setRCtr(this.ByPointFromJSON(oParsedAnimMotion["rCtr"]));
|
||
oParsedAnimMotion["to"] && oAnimMotion.setTo(this.ByPointFromJSON(oParsedAnimMotion["to"]));
|
||
|
||
nOriginType != undefined && oAnimMotion.setOrigin(nOriginType);
|
||
oParsedAnimMotion["path"] != undefined && oAnimMotion.setPath(oParsedAnimMotion["path"]);
|
||
nPathEditMode != undefined && oAnimMotion.setPathEditMode(nPathEditMode);
|
||
oParsedAnimMotion["ptsTypes"] != undefined && oAnimMotion.setPtsTypes(oParsedAnimMotion["ptsTypes"]);
|
||
oParsedAnimMotion["rAng"] != undefined && oAnimMotion.setRAng(oParsedAnimMotion["rAng"]);
|
||
|
||
return oAnimMotion;
|
||
};
|
||
ReaderFromJSON.prototype.ByPointFromJSON = function(oParsedByPoint)
|
||
{
|
||
var oTLPoint = new AscFormat.CTLPoint();
|
||
|
||
oParsedByPoint["x"] != undefined && oTLPoint.setX(oParsedByPoint["x"]);
|
||
oParsedByPoint["y"] != undefined && oTLPoint.setY(oParsedByPoint["y"]);
|
||
|
||
return oTLPoint;
|
||
};
|
||
ReaderFromJSON.prototype.AnimRotFromJSON = function(oParsedAnimRot)
|
||
{
|
||
var oAnimRot = new AscFormat.CAnimRot();
|
||
|
||
oParsedAnimRot["cBhvr"] && oAnimRot.setCBhvr(this.CBhvrFromJSON(oParsedAnimRot["cBhvr"]));
|
||
oParsedAnimRot["by"] != undefined && oAnimRot.setBy(oParsedAnimRot["by"]);
|
||
oParsedAnimRot["from"] != undefined && oAnimRot.setFrom(oParsedAnimRot["from"]);
|
||
oParsedAnimRot["to"] != undefined && oAnimRot.setTo(oParsedAnimRot["to"]);
|
||
|
||
return oAnimRot;
|
||
};
|
||
ReaderFromJSON.prototype.AnimScaleFromJSON = function(oParsedAnimScale)
|
||
{
|
||
var oAnimScale = new AscFormat.CAnimScale();
|
||
|
||
oParsedAnimScale["cBhvr"] && oAnimScale.setCBhvr(this.CBhvrFromJSON(oParsedAnimScale["cBhvr"]));
|
||
oParsedAnimScale["by"] && oAnimScale.setBy(this.ByPointFromJSON(oParsedAnimScale["by"]));
|
||
oParsedAnimScale["from"] && oAnimScale.setFrom(this.ByPointFromJSON(oParsedAnimScale["from"]));
|
||
oParsedAnimScale["to"] && oAnimScale.setTo(this.ByPointFromJSON(oParsedAnimScale["to"]));
|
||
oParsedAnimScale["zoomContents"] != undefined && oAnimScale.setZoomContents(oParsedAnimScale["zoomContents"]);
|
||
|
||
return oAnimScale;
|
||
};
|
||
ReaderFromJSON.prototype.CmdFromJSON = function(oParsedCmd)
|
||
{
|
||
var oCmd = new AscFormat.CCmd();
|
||
|
||
var nCommandType = undefined;
|
||
switch (oParsedCmd["type"])
|
||
{
|
||
case "call":
|
||
nCommandType = c_oAscSlideTLCommandType.Call;
|
||
break;
|
||
case "evt":
|
||
nCommandType = c_oAscSlideTLCommandType.Evt;
|
||
break;
|
||
case "verb":
|
||
nCommandType = c_oAscSlideTLCommandType.Verb;
|
||
break;
|
||
}
|
||
|
||
oParsedCmd["cBhvr"] && oCmd.setCBhvr(this.CBhvrFromJSON(oParsedCmd["cBhvr"]));
|
||
oParsedCmd["cmd"] && oCmd.setCmd(oParsedCmd["cmd"]);
|
||
nCommandType != undefined && oCmd.setType(nCommandType);
|
||
|
||
return oCmd;
|
||
};
|
||
ReaderFromJSON.prototype.SetFromJSON = function(oParsedSet)
|
||
{
|
||
var oSet = new AscFormat.CSet();
|
||
|
||
oParsedSet["cBhvr"] && oSet.setCBhvr(this.CBhvrFromJSON(oParsedSet["cBhvr"]));
|
||
oParsedSet["to"] && oSet.setTo(this.AnimVariantFromJSON(oParsedSet["to"]));
|
||
|
||
return oSet;
|
||
};
|
||
ReaderFromJSON.prototype.HFFromJSON = function(oParsedHF)
|
||
{
|
||
var oHF = new AscFormat.HF();
|
||
|
||
oParsedHF["dt"] != undefined && oHF.setDt(oParsedHF["dt"]);
|
||
oParsedHF["ftr"] != undefined && oHF.setFtr(oParsedHF["ftr"]);
|
||
oParsedHF["hdr"] != undefined && oHF.setHdr(oParsedHF["hdr"]);
|
||
oParsedHF["sldNum"] != undefined && oHF.setSldNum(oParsedHF["sldNum"]);
|
||
|
||
return oHF;
|
||
};
|
||
ReaderFromJSON.prototype.CSldFromJSON = function(oParsedCSld)
|
||
{
|
||
var oCSld = new AscFormat.CSld();
|
||
|
||
for (var nShape = 0; nShape < oParsedCSld["spTree"].length; nShape++)
|
||
oCSld.spTree.push(this.GraphicObjFromJSON(oParsedCSld["spTree"][nShape]));
|
||
|
||
oCSld.Bg = oParsedCSld["bg"] ? this.BgFromJSON(oParsedCSld["bg"]) : oCSld.Bg;
|
||
oCSld.name = oParsedCSld.name;
|
||
|
||
return oCSld;
|
||
};
|
||
ReaderFromJSON.prototype.BgFromJSON = function(oParsedBg)
|
||
{
|
||
var oBg = new AscFormat.CBg();
|
||
|
||
var nBwModeType = undefined;
|
||
switch (oParsedBg["bwMode"])
|
||
{
|
||
case "auto":
|
||
nBwModeType = c_oAscSlideBgBwModeType.Auto;
|
||
break;
|
||
case "black":
|
||
nBwModeType = c_oAscSlideBgBwModeType.Black;
|
||
break;
|
||
case "blackGray":
|
||
nBwModeType = c_oAscSlideBgBwModeType.BlackGray;
|
||
break;
|
||
case "blackWhite":
|
||
nBwModeType = c_oAscSlideBgBwModeType.BlackWhite;
|
||
break;
|
||
case "clr":
|
||
nBwModeType = c_oAscSlideBgBwModeType.Clr;
|
||
break;
|
||
case "gray":
|
||
nBwModeType = c_oAscSlideBgBwModeType.Gray;
|
||
break;
|
||
case "grayWhite":
|
||
nBwModeType = c_oAscSlideBgBwModeType.GrayWhite;
|
||
break;
|
||
case "hidden":
|
||
nBwModeType = c_oAscSlideBgBwModeType.Hidden;
|
||
break;
|
||
case "invGray":
|
||
nBwModeType = c_oAscSlideBgBwModeType.InvGray;
|
||
break;
|
||
case "ltGray":
|
||
nBwModeType = c_oAscSlideBgBwModeType.LtGray;
|
||
break;
|
||
case "white":
|
||
nBwModeType = c_oAscSlideBgBwModeType.White;
|
||
break;
|
||
}
|
||
|
||
nBwModeType != undefined && oBg.setBwMode(nBwModeType);
|
||
oParsedBg["bgPr"] && oBg.setBgPr(this.BgPrFromJSON(oParsedBg["bgPr"]));
|
||
oParsedBg["bgRef"] && oBg.setBgRef(this.StyleRefFromJSON(oParsedBg["bgRef"]));
|
||
|
||
return oBg;
|
||
};
|
||
ReaderFromJSON.prototype.BgPrFromJSON = function(oParsedBgPr)
|
||
{
|
||
var oBgPr = new AscFormat.CBgPr();
|
||
|
||
oParsedBgPr["fill"] && oBgPr.setFill(this.FillFromJSON(oParsedBgPr["fill"]));
|
||
oParsedBgPr["setShadeToTitle"] && oBgPr.setShadeToTitle(oParsedBgPr["setShadeToTitle"]);
|
||
|
||
return oBgPr;
|
||
};
|
||
|
||
function To_XML_TLAnimateEffectTransition(nVal)
|
||
{
|
||
var sVal = undefined;
|
||
switch(nVal)
|
||
{
|
||
case AscCommon.ST_TLAnimateEffectTransition.in:
|
||
sVal = "in";
|
||
break;
|
||
case AscCommon.ST_TLAnimateEffectTransition.out:
|
||
sVal = "out";
|
||
break;
|
||
case AscCommon.ST_TLAnimateEffectTransition.none:
|
||
sVal = "none";
|
||
break;
|
||
}
|
||
|
||
return sVal;
|
||
}
|
||
function From_XML_TLAnimateEffectTransition(sVal)
|
||
{
|
||
var nVal = undefined;
|
||
switch(sVal)
|
||
{
|
||
case "in":
|
||
nVal = AscCommon.ST_TLAnimateEffectTransition.in;
|
||
break;
|
||
case "out":
|
||
nVal = AscCommon.ST_TLAnimateEffectTransition.out;
|
||
break;
|
||
case "none":
|
||
nVal = AscCommon.ST_TLAnimateEffectTransition.none;
|
||
break;
|
||
}
|
||
|
||
return nVal;
|
||
}
|
||
//----------------------------------------------------------export----------------------------------------------------
|
||
window['AscCommon'] = window['AscCommon'] || {};
|
||
window['AscFormat'] = window['AscFormat'] || {};
|
||
|
||
})(window);
|
||
|
||
|
||
|