Bez popisu
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

powerpoint-15.02.debug.js 50KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674
  1. /* PowerPoint specific API library */
  2. /* Version: 15.0.4862.1000 */
  3. /*
  4. Copyright (c) Microsoft Corporation. All rights reserved.
  5. */
  6. /*
  7. Your use of this file is governed by the Microsoft Services Agreement http://go.microsoft.com/fwlink/?LinkId=266419.
  8. */
  9. OSF.ClientMode={
  10. ReadWrite: 0,
  11. ReadOnly: 1
  12. }
  13. OSF.DDA.RichInitializationReason={
  14. 1: Microsoft.Office.WebExtension.InitializationReason.Inserted,
  15. 2: Microsoft.Office.WebExtension.InitializationReason.DocumentOpened
  16. };
  17. Microsoft.Office.WebExtension.FileType={
  18. Text: "text",
  19. Compressed: "compressed"
  20. };
  21. OSF.DDA.RichClientSettingsManager={
  22. read: function OSF_DDA_RichClientSettingsManager$Read(onCalling, onReceiving) {
  23. var keys=[];
  24. var values=[];
  25. if (onCalling) {
  26. onCalling();
  27. }
  28. window.external.GetContext().GetSettings().Read(keys, values);
  29. if (onReceiving) {
  30. onReceiving();
  31. }
  32. var serializedSettings={};
  33. for (var index=0; index < keys.length; index++) {
  34. serializedSettings[keys[index]]=values[index];
  35. }
  36. return serializedSettings;
  37. },
  38. write: function OSF_DDA_RichClientSettingsManager$Write(serializedSettings, overwriteIfStale, onCalling, onReceiving) {
  39. var keys=[];
  40. var values=[];
  41. for (var key in serializedSettings) {
  42. keys.push(key);
  43. values.push(serializedSettings[key]);
  44. }
  45. if (onCalling) {
  46. onCalling();
  47. }
  48. window.external.GetContext().GetSettings().Write(keys, values);
  49. if (onReceiving) {
  50. onReceiving();
  51. }
  52. }
  53. };
  54. OSF.DDA.DispIdHost.getRichClientDelegateMethods=function (actionId) {
  55. var delegateMethods={};
  56. delegateMethods[OSF.DDA.DispIdHost.Delegates.ExecuteAsync]=OSF.DDA.SafeArray.Delegate.executeAsync;
  57. delegateMethods[OSF.DDA.DispIdHost.Delegates.RegisterEventAsync]=OSF.DDA.SafeArray.Delegate.registerEventAsync;
  58. delegateMethods[OSF.DDA.DispIdHost.Delegates.UnregisterEventAsync]=OSF.DDA.SafeArray.Delegate.unregisterEventAsync;
  59. delegateMethods[OSF.DDA.DispIdHost.Delegates.MessageParent]=OSF.DDA.SafeArray.Delegate.MessageParent;
  60. function getSettingsExecuteMethod(hostDelegateMethod) {
  61. return function (args) {
  62. var status, response;
  63. try {
  64. response=hostDelegateMethod(args.hostCallArgs, args.onCalling, args.onReceiving);
  65. status=OSF.DDA.ErrorCodeManager.errorCodes.ooeSuccess;
  66. } catch (ex) {
  67. status=OSF.DDA.ErrorCodeManager.errorCodes.ooeInternalError;
  68. response={ name : Strings.OfficeOM.L_InternalError, message : ex };
  69. }
  70. if (args.onComplete) {
  71. args.onComplete(status, response);
  72. }
  73. };
  74. }
  75. function readSerializedSettings(hostCallArgs, onCalling, onReceiving) {
  76. return OSF.DDA.RichClientSettingsManager.read(onCalling, onReceiving);
  77. }
  78. function writeSerializedSettings(hostCallArgs, onCalling, onReceiving) {
  79. return OSF.DDA.RichClientSettingsManager.write(
  80. hostCallArgs[OSF.DDA.SettingsManager.SerializedSettings],
  81. hostCallArgs[Microsoft.Office.WebExtension.Parameters.OverwriteIfStale],
  82. onCalling,
  83. onReceiving
  84. );
  85. }
  86. switch (actionId) {
  87. case OSF.DDA.AsyncMethodNames.RefreshAsync.id:
  88. delegateMethods[OSF.DDA.DispIdHost.Delegates.ExecuteAsync]=getSettingsExecuteMethod(readSerializedSettings);
  89. break;
  90. case OSF.DDA.AsyncMethodNames.SaveAsync.id:
  91. delegateMethods[OSF.DDA.DispIdHost.Delegates.ExecuteAsync]=getSettingsExecuteMethod(writeSerializedSettings);
  92. break;
  93. default:
  94. break;
  95. }
  96. return delegateMethods;
  97. }
  98. OSF.DDA.DispIdHost.getClientDelegateMethods=function (actionId) {
  99. var delegateMethods={};
  100. delegateMethods[OSF.DDA.DispIdHost.Delegates.ExecuteAsync]=OSF.DDA.SafeArray.Delegate.executeAsync;
  101. delegateMethods[OSF.DDA.DispIdHost.Delegates.RegisterEventAsync]=OSF.DDA.SafeArray.Delegate.registerEventAsync;
  102. delegateMethods[OSF.DDA.DispIdHost.Delegates.UnregisterEventAsync]=OSF.DDA.SafeArray.Delegate.unregisterEventAsync;
  103. delegateMethods[OSF.DDA.DispIdHost.Delegates.MessageParent]=OSF.DDA.SafeArray.Delegate.MessageParent;
  104. if (OSF.DDA.AsyncMethodNames.RefreshAsync && actionId==OSF.DDA.AsyncMethodNames.RefreshAsync.id) {
  105. var readSerializedSettings=function (hostCallArgs, onCalling, onReceiving) {
  106. return OSF.DDA.ClientSettingsManager.read(onCalling, onReceiving);
  107. };
  108. delegateMethods[OSF.DDA.DispIdHost.Delegates.ExecuteAsync]=OSF.DDA.ClientSettingsManager.getSettingsExecuteMethod(readSerializedSettings);
  109. }
  110. if (OSF.DDA.AsyncMethodNames.SaveAsync && actionId==OSF.DDA.AsyncMethodNames.SaveAsync.id) {
  111. var writeSerializedSettings=function (hostCallArgs, onCalling, onReceiving) {
  112. return OSF.DDA.ClientSettingsManager.write(hostCallArgs[OSF.DDA.SettingsManager.SerializedSettings], hostCallArgs[Microsoft.Office.WebExtension.Parameters.OverwriteIfStale], onCalling, onReceiving);
  113. };
  114. delegateMethods[OSF.DDA.DispIdHost.Delegates.ExecuteAsync]=OSF.DDA.ClientSettingsManager.getSettingsExecuteMethod(writeSerializedSettings);
  115. }
  116. return delegateMethods;
  117. }
  118. OSF.DDA.File=function OSF_DDA_File(handle, fileSize, sliceSize) {
  119. OSF.OUtil.defineEnumerableProperties(this, {
  120. "size": {
  121. value: fileSize
  122. },
  123. "sliceCount": {
  124. value: Math.ceil(fileSize / sliceSize)
  125. }
  126. });
  127. var privateState={};
  128. privateState[OSF.DDA.FileProperties.Handle]=handle;
  129. privateState[OSF.DDA.FileProperties.SliceSize]=sliceSize;
  130. var am=OSF.DDA.AsyncMethodNames;
  131. OSF.DDA.DispIdHost.addAsyncMethods(
  132. this, [
  133. am.GetDocumentCopyChunkAsync,
  134. am.ReleaseDocumentCopyAsync
  135. ],
  136. privateState
  137. );
  138. }
  139. OSF.DDA.FileSliceOffset="fileSliceoffset";
  140. OSF.DDA.CustomXmlParts=function OSF_DDA_CustomXmlParts() {
  141. this._eventDispatches=[];
  142. var am=OSF.DDA.AsyncMethodNames;
  143. OSF.DDA.DispIdHost.addAsyncMethods(this, [
  144. am.AddDataPartAsync,
  145. am.GetDataPartByIdAsync,
  146. am.GetDataPartsByNameSpaceAsync
  147. ]);
  148. };
  149. OSF.DDA.CustomXmlPart=function OSF_DDA_CustomXmlPart(customXmlParts, id, builtIn) {
  150. OSF.OUtil.defineEnumerableProperties(this, {
  151. "builtIn": {
  152. value: builtIn
  153. },
  154. "id": {
  155. value: id
  156. },
  157. "namespaceManager": {
  158. value: new OSF.DDA.CustomXmlPrefixMappings(id)
  159. }
  160. });
  161. var am=OSF.DDA.AsyncMethodNames;
  162. OSF.DDA.DispIdHost.addAsyncMethods(this, [
  163. am.DeleteDataPartAsync,
  164. am.GetPartNodesAsync,
  165. am.GetPartXmlAsync
  166. ]);
  167. var customXmlPartEventDispatches=customXmlParts._eventDispatches;
  168. var dispatch=customXmlPartEventDispatches[id];
  169. if (!dispatch) {
  170. var et=Microsoft.Office.WebExtension.EventType;
  171. dispatch=new OSF.EventDispatch([
  172. et.DataNodeDeleted,
  173. et.DataNodeInserted,
  174. et.DataNodeReplaced
  175. ]);
  176. customXmlPartEventDispatches[id]=dispatch;
  177. }
  178. OSF.DDA.DispIdHost.addEventSupport(this, dispatch);
  179. };
  180. OSF.DDA.CustomXmlPrefixMappings=function OSF_DDA_CustomXmlPrefixMappings(partId) {
  181. var am=OSF.DDA.AsyncMethodNames;
  182. OSF.DDA.DispIdHost.addAsyncMethods(
  183. this,
  184. [
  185. am.AddDataPartNamespaceAsync,
  186. am.GetDataPartNamespaceAsync,
  187. am.GetDataPartPrefixAsync
  188. ],
  189. partId
  190. );
  191. };
  192. OSF.DDA.CustomXmlNode=function OSF_DDA_CustomXmlNode(handle, nodeType, ns, baseName) {
  193. OSF.OUtil.defineEnumerableProperties(this, {
  194. "baseName": {
  195. value: baseName
  196. },
  197. "namespaceUri": {
  198. value: ns
  199. },
  200. "nodeType": {
  201. value: nodeType
  202. }
  203. });
  204. var am=OSF.DDA.AsyncMethodNames;
  205. OSF.DDA.DispIdHost.addAsyncMethods(
  206. this,
  207. [
  208. am.GetRelativeNodesAsync,
  209. am.GetNodeValueAsync,
  210. am.GetNodeXmlAsync,
  211. am.SetNodeValueAsync,
  212. am.SetNodeXmlAsync,
  213. am.GetNodeTextAsync,
  214. am.SetNodeTextAsync
  215. ],
  216. handle
  217. );
  218. };
  219. OSF.DDA.NodeInsertedEventArgs=function OSF_DDA_NodeInsertedEventArgs(newNode, inUndoRedo) {
  220. OSF.OUtil.defineEnumerableProperties(this, {
  221. "type": {
  222. value: Microsoft.Office.WebExtension.EventType.DataNodeInserted
  223. },
  224. "newNode": {
  225. value: newNode
  226. },
  227. "inUndoRedo": {
  228. value: inUndoRedo
  229. }
  230. });
  231. };
  232. OSF.DDA.NodeReplacedEventArgs=function OSF_DDA_NodeReplacedEventArgs(oldNode, newNode, inUndoRedo) {
  233. OSF.OUtil.defineEnumerableProperties(this, {
  234. "type": {
  235. value: Microsoft.Office.WebExtension.EventType.DataNodeReplaced
  236. },
  237. "oldNode": {
  238. value: oldNode
  239. },
  240. "newNode": {
  241. value: newNode
  242. },
  243. "inUndoRedo": {
  244. value: inUndoRedo
  245. }
  246. });
  247. };
  248. OSF.DDA.NodeDeletedEventArgs=function OSF_DDA_NodeDeletedEventArgs(oldNode, oldNextSibling, inUndoRedo) {
  249. OSF.OUtil.defineEnumerableProperties(this, {
  250. "type": {
  251. value: Microsoft.Office.WebExtension.EventType.DataNodeDeleted
  252. },
  253. "oldNode": {
  254. value: oldNode
  255. },
  256. "oldNextSibling": {
  257. value: oldNextSibling
  258. },
  259. "inUndoRedo": {
  260. value: inUndoRedo
  261. }
  262. });
  263. };
  264. OSF.OUtil.redefineList(Microsoft.Office.WebExtension.FileType, {
  265. Compressed: "compressed",
  266. Pdf: "pdf"
  267. });
  268. OSF.OUtil.redefineList(Microsoft.Office.WebExtension.CoercionType, {
  269. Text: "text",
  270. SlideRange: "slideRange",
  271. Image: "image"
  272. });
  273. OSF.OUtil.redefineList(Microsoft.Office.WebExtension.EventType, {
  274. DocumentSelectionChanged: "documentSelectionChanged",
  275. OfficeThemeChanged: "officeThemeChanged",
  276. DocumentThemeChanged: "documentThemeChanged",
  277. ActiveViewChanged: "activeViewChanged",
  278. DialogMessageReceived: "dialogMessageReceived",
  279. DialogEventReceived: "dialogEventReceived"
  280. });
  281. OSF.OUtil.redefineList(Microsoft.Office.WebExtension.ValueFormat, {
  282. Unformatted: "unformatted"
  283. });
  284. OSF.OUtil.redefineList(Microsoft.Office.WebExtension.FilterType, {
  285. All: "all"
  286. });
  287. Microsoft.Office.Internal.OfficeTheme={
  288. PrimaryFontColor: "primaryFontColor",
  289. PrimaryBackgroundColor: "primaryBackgroundColor",
  290. SecondaryFontColor: "secondaryFontColor",
  291. SecondaryBackgroundColor: "secondaryBackgroundColor"
  292. };
  293. Microsoft.Office.Internal.DocumentTheme={
  294. PrimaryFontColor:"primaryFontColor",
  295. PrimaryBackgroundColor: "primaryBackgroundColor",
  296. SecondaryFontColor: "secondaryFontColor",
  297. SecondaryBackgroundColor: "secondaryBackgroundColor",
  298. Accent1: "accent1",
  299. Accent2: "accent2",
  300. Accent3: "accent3",
  301. Accent4: "accent4",
  302. Accent5: "accent5",
  303. Accent6: "accent6",
  304. Hyperlink: "hyperlink",
  305. FollowedHyperlink: "followedHyperlink",
  306. HeaderLatinFont: "headerLatinFont",
  307. HeaderEastAsianFont: "headerEastAsianFont",
  308. HeaderScriptFont: "headerScriptFont",
  309. HeaderLocalizedFont: "headerLocalizedFont",
  310. BodyLatinFont: "bodyLatinFont",
  311. BodyEastAsianFont: "bodyEastAsianFont",
  312. BodyScriptFont: "bodyScriptFont",
  313. BodyLocalizedFont: "bodyLocalizedFont"
  314. };
  315. Microsoft.Office.WebExtension.ActiveView={};
  316. OSF.OUtil.redefineList(Microsoft.Office.WebExtension.ActiveView, {
  317. Read: "read",
  318. Edit: "edit"
  319. });
  320. OSF.OUtil.redefineList(Microsoft.Office.WebExtension.GoToType, {
  321. Slide: "slide",
  322. Index: "index"
  323. });
  324. delete Microsoft.Office.WebExtension.BindingType;
  325. delete Microsoft.Office.WebExtension.select;
  326. OSF.OUtil.setNamespace("SafeArray", OSF.DDA);
  327. OSF.DDA.SafeArray.Response={
  328. Status: 0,
  329. Payload: 1
  330. };
  331. OSF.DDA.SafeArray.UniqueArguments={
  332. Offset: "offset",
  333. Run: "run",
  334. BindingSpecificData: "bindingSpecificData",
  335. MergedCellGuid: "{66e7831f-81b2-42e2-823c-89e872d541b3}"
  336. };
  337. OSF.OUtil.setNamespace("Delegate", OSF.DDA.SafeArray);
  338. OSF.DDA.SafeArray.Delegate.SpecialProcessor=function OSF_DDA_SafeArray_Delegate_SpecialProcessor() {
  339. function _2DVBArrayToJaggedArray(vbArr) {
  340. var ret;
  341. try {
  342. var rows=vbArr.ubound(1);
  343. var cols=vbArr.ubound(2);
  344. vbArr=vbArr.toArray();
  345. if (rows==1 && cols==1) {
  346. ret=[vbArr];
  347. } else {
  348. ret=[];
  349. for (var row=0; row < rows; row++) {
  350. var rowArr=[];
  351. for (var col=0; col < cols; col++) {
  352. var datum=vbArr[row * cols+col];
  353. if (datum !=OSF.DDA.SafeArray.UniqueArguments.MergedCellGuid) {
  354. rowArr.push(datum);
  355. }
  356. }
  357. if (rowArr.length > 0) {
  358. ret.push(rowArr);
  359. }
  360. }
  361. }
  362. } catch (ex) {
  363. }
  364. return ret;
  365. }
  366. var complexTypes=[
  367. OSF.DDA.PropertyDescriptors.FileProperties,
  368. OSF.DDA.PropertyDescriptors.FileSliceProperties,
  369. OSF.DDA.PropertyDescriptors.FilePropertiesDescriptor,
  370. OSF.DDA.PropertyDescriptors.BindingProperties,
  371. OSF.DDA.SafeArray.UniqueArguments.BindingSpecificData,
  372. OSF.DDA.SafeArray.UniqueArguments.Offset,
  373. OSF.DDA.SafeArray.UniqueArguments.Run,
  374. OSF.DDA.PropertyDescriptors.Subset,
  375. OSF.DDA.PropertyDescriptors.DataPartProperties,
  376. OSF.DDA.PropertyDescriptors.DataNodeProperties,
  377. OSF.DDA.EventDescriptors.BindingSelectionChangedEvent,
  378. OSF.DDA.EventDescriptors.DataNodeInsertedEvent,
  379. OSF.DDA.EventDescriptors.DataNodeReplacedEvent,
  380. OSF.DDA.EventDescriptors.DataNodeDeletedEvent,
  381. OSF.DDA.EventDescriptors.DocumentThemeChangedEvent,
  382. OSF.DDA.EventDescriptors.OfficeThemeChangedEvent,
  383. OSF.DDA.EventDescriptors.ActiveViewChangedEvent,
  384. OSF.DDA.EventDescriptors.AppCommandInvokedEvent,
  385. OSF.DDA.DataNodeEventProperties.OldNode,
  386. OSF.DDA.DataNodeEventProperties.NewNode,
  387. OSF.DDA.DataNodeEventProperties.NextSiblingNode,
  388. Microsoft.Office.Internal.Parameters.OfficeTheme,
  389. Microsoft.Office.Internal.Parameters.DocumentTheme
  390. ];
  391. var dynamicTypes={};
  392. dynamicTypes[Microsoft.Office.WebExtension.Parameters.Data]=(function () {
  393. var tableRows=0;
  394. var tableHeaders=1;
  395. return {
  396. toHost: function OSF_DDA_SafeArray_Delegate_SpecialProcessor_Data$toHost(data) {
  397. if (typeof data !="string" && data[OSF.DDA.TableDataProperties.TableRows] !==undefined) {
  398. var tableData=[];
  399. tableData[tableRows]=data[OSF.DDA.TableDataProperties.TableRows];
  400. tableData[tableHeaders]=data[OSF.DDA.TableDataProperties.TableHeaders];
  401. data=tableData;
  402. }
  403. return data;
  404. },
  405. fromHost: function OSF_DDA_SafeArray_Delegate_SpecialProcessor_Data$fromHost(hostArgs) {
  406. var ret;
  407. if (hostArgs.toArray) {
  408. var dimensions=hostArgs.dimensions();
  409. if(dimensions===2) {
  410. ret=_2DVBArrayToJaggedArray(hostArgs);
  411. } else {
  412. var array=hostArgs.toArray();
  413. if(array.length===2 && ((array[0] !=null && array[0].toArray) || (array[1] !=null && array[1].toArray))) {
  414. ret={};
  415. ret[OSF.DDA.TableDataProperties.TableRows]=_2DVBArrayToJaggedArray(array[tableRows]);
  416. ret[OSF.DDA.TableDataProperties.TableHeaders]=_2DVBArrayToJaggedArray(array[tableHeaders]);
  417. } else {
  418. ret=array;
  419. }
  420. }
  421. } else {
  422. ret=hostArgs;
  423. }
  424. return ret;
  425. }
  426. }
  427. })();
  428. OSF.DDA.SafeArray.Delegate.SpecialProcessor.uber.constructor.call(this, complexTypes, dynamicTypes);
  429. this.pack=function OSF_DDA_SafeArray_Delegate_SpecialProcessor$pack(param, arg) {
  430. var value;
  431. if (this.isDynamicType(param)) {
  432. value=dynamicTypes[param].toHost(arg);
  433. } else {
  434. value=arg;
  435. }
  436. return value;
  437. };
  438. this.unpack=function OSF_DDA_SafeArray_Delegate_SpecialProcessor$unpack(param, arg) {
  439. var value;
  440. if (this.isComplexType(param) || OSF.DDA.ListType.isListType(param)) {
  441. try {
  442. value=arg.toArray();
  443. } catch (ex) {
  444. value=arg || {};
  445. }
  446. } else if (this.isDynamicType(param)) {
  447. value=dynamicTypes[param].fromHost(arg);
  448. } else {
  449. value=arg;
  450. }
  451. return value;
  452. };
  453. this.dynamicTypes=dynamicTypes;
  454. }
  455. OSF.OUtil.extend(OSF.DDA.SafeArray.Delegate.SpecialProcessor, OSF.DDA.SpecialProcessor);
  456. OSF.DDA.SafeArray.Delegate.ParameterMap=(function () {
  457. var parameterMap=new OSF.DDA.HostParameterMap(new OSF.DDA.SafeArray.Delegate.SpecialProcessor());
  458. var ns;
  459. var self=parameterMap.self;
  460. function createObject(properties) {
  461. var obj=null;
  462. if (properties) {
  463. obj={};
  464. var len=properties.length;
  465. for (var i=0; i < len; i++) {
  466. obj[properties[i].name]=properties[i].value;
  467. }
  468. }
  469. return obj;
  470. }
  471. function define(definition) {
  472. var args={};
  473. var toHost=createObject(definition.toHost);
  474. if (definition.invertible) {
  475. args.map=toHost;
  476. }
  477. else if (definition.canonical) {
  478. args.toHost=args.fromHost=toHost;
  479. }
  480. else {
  481. args.toHost=toHost;
  482. args.fromHost=createObject(definition.fromHost);
  483. }
  484. parameterMap.setMapping(definition.type, args);
  485. }
  486. ns=OSF.DDA.FileProperties;
  487. define({
  488. type: OSF.DDA.PropertyDescriptors.FileProperties,
  489. fromHost: [
  490. { name: ns.Handle, value: 0 },
  491. { name: ns.FileSize, value: 1 }
  492. ]
  493. });
  494. define({
  495. type: OSF.DDA.PropertyDescriptors.FileSliceProperties,
  496. fromHost: [
  497. { name: Microsoft.Office.WebExtension.Parameters.Data, value: 0 },
  498. { name: ns.SliceSize, value: 1}
  499. ]
  500. });
  501. ns=OSF.DDA.FilePropertiesDescriptor;
  502. define({
  503. type: OSF.DDA.PropertyDescriptors.FilePropertiesDescriptor,
  504. fromHost: [
  505. { name: ns.Url, value: 0 }
  506. ]
  507. });
  508. ns=OSF.DDA.BindingProperties;
  509. define({
  510. type: OSF.DDA.PropertyDescriptors.BindingProperties,
  511. fromHost: [
  512. { name: ns.Id, value: 0 },
  513. { name: ns.Type, value: 1 },
  514. { name: OSF.DDA.SafeArray.UniqueArguments.BindingSpecificData, value: 2 }
  515. ]
  516. });
  517. define({
  518. type: OSF.DDA.SafeArray.UniqueArguments.BindingSpecificData,
  519. fromHost: [
  520. { name: ns.RowCount, value: 0 },
  521. { name: ns.ColumnCount, value: 1 },
  522. { name: ns.HasHeaders, value: 2 }
  523. ]
  524. });
  525. ns=OSF.DDA.SafeArray.UniqueArguments;
  526. define({
  527. type: OSF.DDA.PropertyDescriptors.Subset,
  528. toHost: [
  529. { name: ns.Offset, value: 0 },
  530. { name: ns.Run, value: 1 }
  531. ],
  532. canonical: true
  533. });
  534. ns=Microsoft.Office.WebExtension.Parameters;
  535. define({
  536. type: OSF.DDA.SafeArray.UniqueArguments.Offset,
  537. toHost: [
  538. { name: ns.StartRow, value: 0 },
  539. { name: ns.StartColumn, value: 1 }
  540. ],
  541. canonical: true
  542. });
  543. define({
  544. type: OSF.DDA.SafeArray.UniqueArguments.Run,
  545. toHost: [
  546. { name: ns.RowCount, value: 0 },
  547. { name: ns.ColumnCount, value: 1 }
  548. ],
  549. canonical: true
  550. });
  551. ns=OSF.DDA.DataPartProperties;
  552. define({
  553. type: OSF.DDA.PropertyDescriptors.DataPartProperties,
  554. fromHost: [
  555. { name: ns.Id, value: 0 },
  556. { name: ns.BuiltIn, value: 1 }
  557. ]
  558. });
  559. ns=OSF.DDA.DataNodeProperties;
  560. define({
  561. type: OSF.DDA.PropertyDescriptors.DataNodeProperties,
  562. fromHost: [
  563. { name: ns.Handle, value: 0 },
  564. { name: ns.BaseName, value: 1 },
  565. { name: ns.NamespaceUri, value: 2 },
  566. { name: ns.NodeType, value: 3 }
  567. ]
  568. });
  569. define({
  570. type: OSF.DDA.EventDescriptors.BindingSelectionChangedEvent,
  571. fromHost: [
  572. { name: OSF.DDA.PropertyDescriptors.BindingProperties, value: 0 },
  573. { name: OSF.DDA.PropertyDescriptors.Subset, value: 1 }
  574. ]
  575. });
  576. define({
  577. type: OSF.DDA.EventDescriptors.DocumentThemeChangedEvent,
  578. fromHost: [
  579. { name: Microsoft.Office.Internal.Parameters.DocumentTheme, value: self}
  580. ]
  581. })
  582. define({
  583. type: OSF.DDA.EventDescriptors.OfficeThemeChangedEvent,
  584. fromHost: [
  585. { name: Microsoft.Office.Internal.Parameters.OfficeTheme, value: self}
  586. ]
  587. })
  588. define({
  589. type: OSF.DDA.EventDescriptors.ActiveViewChangedEvent,
  590. fromHost: [
  591. { name: Microsoft.Office.WebExtension.Parameters.ActiveView, value: 0}
  592. ]
  593. })
  594. ns=OSF.DDA.DataNodeEventProperties;
  595. define({
  596. type: OSF.DDA.EventDescriptors.DataNodeInsertedEvent,
  597. fromHost: [
  598. { name: ns.InUndoRedo, value: 0 },
  599. { name: ns.NewNode, value: 1 }
  600. ]
  601. });
  602. define({
  603. type: OSF.DDA.EventDescriptors.DataNodeReplacedEvent,
  604. fromHost: [
  605. { name: ns.InUndoRedo, value: 0 },
  606. { name: ns.OldNode, value: 1 },
  607. { name: ns.NewNode, value: 2 }
  608. ]
  609. });
  610. define({
  611. type: OSF.DDA.EventDescriptors.DataNodeDeletedEvent,
  612. fromHost: [
  613. { name: ns.InUndoRedo, value: 0 },
  614. { name: ns.OldNode, value: 1 },
  615. { name: ns.NextSiblingNode, value: 2 }
  616. ]
  617. });
  618. define({
  619. type: ns.OldNode,
  620. fromHost: [
  621. { name: OSF.DDA.PropertyDescriptors.DataNodeProperties, value: self }
  622. ]
  623. });
  624. define({
  625. type: ns.NewNode,
  626. fromHost: [
  627. { name: OSF.DDA.PropertyDescriptors.DataNodeProperties, value: self }
  628. ]
  629. });
  630. define({
  631. type: ns.NextSiblingNode,
  632. fromHost: [
  633. { name: OSF.DDA.PropertyDescriptors.DataNodeProperties, value: self }
  634. ]
  635. });
  636. ns=Microsoft.Office.WebExtension.AsyncResultStatus;
  637. define({
  638. type: OSF.DDA.PropertyDescriptors.AsyncResultStatus,
  639. fromHost: [
  640. { name: ns.Succeeded, value: 0 },
  641. { name: ns.Failed, value: 1 }
  642. ]
  643. });
  644. ns=Microsoft.Office.WebExtension.CoercionType;
  645. define({
  646. type: Microsoft.Office.WebExtension.Parameters.CoercionType,
  647. toHost: [
  648. { name: ns.Text, value: 0 },
  649. { name: ns.Matrix, value: 1 },
  650. { name: ns.Table, value: 2 },
  651. { name: ns.Html, value: 3 },
  652. { name: ns.Ooxml, value: 4 },
  653. { name: ns.SlideRange, value:7 },
  654. { name: ns.Image, value:8 }
  655. ]
  656. });
  657. ns=Microsoft.Office.WebExtension.GoToType;
  658. define({
  659. type: Microsoft.Office.WebExtension.Parameters.GoToType,
  660. toHost: [
  661. { name: ns.Binding, value: 0 },
  662. { name: ns.NamedItem, value: 1 },
  663. { name: ns.Slide, value: 2 },
  664. { name: ns.Index, value: 3 }
  665. ]
  666. });
  667. ns=Microsoft.Office.WebExtension.FileType;
  668. if (ns) {
  669. define({
  670. type: Microsoft.Office.WebExtension.Parameters.FileType,
  671. toHost: [
  672. { name: ns.Text, value: 0 },
  673. { name: ns.Compressed, value: 5 },
  674. { name: ns.Pdf, value: 6 }
  675. ]
  676. });
  677. }
  678. ns=Microsoft.Office.WebExtension.BindingType;
  679. if (ns) {
  680. define({
  681. type: Microsoft.Office.WebExtension.Parameters.BindingType,
  682. toHost: [
  683. { name: ns.Text, value: 0 },
  684. { name: ns.Matrix, value: 1 },
  685. { name: ns.Table, value: 2 }
  686. ],
  687. invertible: true
  688. });
  689. }
  690. ns=Microsoft.Office.WebExtension.ValueFormat;
  691. define({
  692. type: Microsoft.Office.WebExtension.Parameters.ValueFormat,
  693. toHost: [
  694. { name: ns.Unformatted, value: 0 },
  695. { name: ns.Formatted, value: 1 }
  696. ]
  697. });
  698. ns=Microsoft.Office.WebExtension.FilterType;
  699. define({
  700. type: Microsoft.Office.WebExtension.Parameters.FilterType,
  701. toHost: [
  702. { name: ns.All, value: 0 },
  703. { name: ns.OnlyVisible, value: 1 }
  704. ]
  705. });
  706. ns=Microsoft.Office.Internal.OfficeTheme;
  707. if (ns) {
  708. define({
  709. type:Microsoft.Office.Internal.Parameters.OfficeTheme,
  710. fromHost: [
  711. {name: ns.PrimaryFontColor, value: 0},
  712. {name: ns.PrimaryBackgroundColor, value: 1},
  713. {name: ns.SecondaryFontColor, value:2},
  714. {name: ns.SecondaryBackgroundColor, value:3}
  715. ]
  716. })
  717. }
  718. ns=Microsoft.Office.WebExtension.ActiveView;
  719. if (ns) {
  720. define({
  721. type:Microsoft.Office.WebExtension.Parameters.ActiveView,
  722. fromHost: [
  723. {name: 0, value: ns.Read},
  724. {name: 1, value: ns.Edit}
  725. ]
  726. })
  727. }
  728. ns=Microsoft.Office.Internal.DocumentTheme;
  729. if (ns) {
  730. define({
  731. type:Microsoft.Office.Internal.Parameters.DocumentTheme,
  732. fromHost: [
  733. {name: ns.PrimaryBackgroundColor, value: 0},
  734. {name: ns.PrimaryFontColor, value: 1},
  735. {name: ns.SecondaryBackgroundColor, value: 2},
  736. {name: ns.SecondaryFontColor, value: 3},
  737. {name: ns.Accent1, value: 4},
  738. {name: ns.Accent2, value: 5},
  739. {name: ns.Accent3, value: 6},
  740. {name: ns.Accent4, value: 7},
  741. {name: ns.Accent5, value: 8},
  742. {name: ns.Accent6, value: 9},
  743. {name: ns.Hyperlink, value: 10},
  744. {name: ns.FollowedHyperlink, value: 11},
  745. {name: ns.HeaderLatinFont, value: 12},
  746. {name: ns.HeaderEastAsianFont, value: 13},
  747. {name: ns.HeaderScriptFont, value: 14},
  748. {name: ns.HeaderLocalizedFont, value: 15},
  749. {name: ns.BodyLatinFont, value: 16},
  750. {name: ns.BodyEastAsianFont, value: 17},
  751. {name: ns.BodyScriptFont, value: 18},
  752. {name: ns.BodyLocalizedFont, value: 19}
  753. ]
  754. })
  755. }
  756. ns=Microsoft.Office.WebExtension.SelectionMode;
  757. define({
  758. type: Microsoft.Office.WebExtension.Parameters.SelectionMode,
  759. toHost: [
  760. { name: ns.Default, value: 0 },
  761. { name: ns.Selected, value: 1 },
  762. { name: ns.None, value: 2 },
  763. ]
  764. });
  765. ns=Microsoft.Office.WebExtension.Parameters;
  766. var cns=OSF.DDA.MethodDispId;
  767. define({
  768. type: cns.dispidNavigateToMethod,
  769. toHost: [
  770. { name: ns.Id, value: 0 },
  771. { name: ns.GoToType, value: 1 },
  772. { name: ns.SelectionMode, value: 2 }
  773. ]
  774. });
  775. define({
  776. type: cns.dispidGetSelectedDataMethod,
  777. fromHost: [
  778. { name: ns.Data, value: self }
  779. ],
  780. toHost: [
  781. { name: ns.CoercionType, value: 0 },
  782. { name: ns.ValueFormat, value: 1 },
  783. { name: ns.FilterType, value: 2 }
  784. ]
  785. });
  786. define({
  787. type: cns.dispidSetSelectedDataMethod,
  788. toHost: [
  789. { name: ns.CoercionType, value: 0 },
  790. { name: ns.Data, value: 1 },
  791. { name: ns.ImageLeft, value: 2 },
  792. { name: ns.ImageTop, value: 3 },
  793. { name: ns.ImageWidth, value: 4 },
  794. { name: ns.ImageHeight, value: 5 }
  795. ]
  796. });
  797. define({
  798. type: cns.dispidGetFilePropertiesMethod,
  799. fromHost: [
  800. { name: OSF.DDA.PropertyDescriptors.FilePropertiesDescriptor, value: self }
  801. ]
  802. });
  803. define({
  804. type: cns.dispidGetDocumentCopyMethod,
  805. toHost: [{ name: ns.FileType, value: 0}],
  806. fromHost: [
  807. { name: OSF.DDA.PropertyDescriptors.FileProperties, value: self }
  808. ]
  809. });
  810. define({
  811. type: cns.dispidGetDocumentCopyChunkMethod,
  812. toHost: [
  813. { name: OSF.DDA.FileProperties.Handle, value: 0 },
  814. { name: OSF.DDA.FileSliceOffset, value: 1 },
  815. { name: OSF.DDA.FileProperties.SliceSize, value: 2 }
  816. ],
  817. fromHost: [
  818. { name: OSF.DDA.PropertyDescriptors.FileSliceProperties, value: self }
  819. ]
  820. });
  821. define({
  822. type: cns.dispidReleaseDocumentCopyMethod,
  823. toHost: [{ name: OSF.DDA.FileProperties.Handle, value: 0}]
  824. });
  825. define({
  826. type: cns.dispidAddBindingFromSelectionMethod,
  827. fromHost: [
  828. { name: OSF.DDA.PropertyDescriptors.BindingProperties, value: self }
  829. ],
  830. toHost: [
  831. { name: ns.Id, value: 0 },
  832. { name: ns.BindingType, value: 1 }
  833. ]
  834. });
  835. define({
  836. type: cns.dispidAddBindingFromPromptMethod,
  837. fromHost: [
  838. { name: OSF.DDA.PropertyDescriptors.BindingProperties, value: self }
  839. ],
  840. toHost: [
  841. { name: ns.Id, value: 0 },
  842. { name: ns.BindingType, value: 1 },
  843. { name: ns.PromptText, value: 2 }
  844. ]
  845. });
  846. define({
  847. type: cns.dispidAddBindingFromNamedItemMethod,
  848. fromHost: [
  849. { name: OSF.DDA.PropertyDescriptors.BindingProperties, value: self }
  850. ],
  851. toHost: [
  852. { name: ns.ItemName, value: 0 },
  853. { name: ns.Id, value: 1 },
  854. { name: ns.BindingType, value: 2 },
  855. { name: ns.FailOnCollision, value: 3 }
  856. ]
  857. });
  858. define({
  859. type: cns.dispidReleaseBindingMethod,
  860. toHost: [
  861. { name: ns.Id, value: 0 }
  862. ]
  863. });
  864. define({
  865. type: cns.dispidGetBindingMethod,
  866. fromHost: [
  867. { name: OSF.DDA.PropertyDescriptors.BindingProperties, value: self }
  868. ],
  869. toHost: [
  870. { name: ns.Id, value: 0 }
  871. ]
  872. });
  873. define({
  874. type: cns.dispidGetAllBindingsMethod,
  875. fromHost: [
  876. { name: OSF.DDA.ListDescriptors.BindingList, value: self }
  877. ]
  878. });
  879. define({
  880. type: cns.dispidGetBindingDataMethod,
  881. fromHost: [
  882. { name: ns.Data, value: self }
  883. ],
  884. toHost: [
  885. { name: ns.Id, value: 0 },
  886. { name: ns.CoercionType, value: 1 },
  887. { name: ns.ValueFormat, value: 2 },
  888. { name: ns.FilterType, value: 3 },
  889. { name: OSF.DDA.PropertyDescriptors.Subset, value: 4 }
  890. ]
  891. });
  892. define({
  893. type: cns.dispidSetBindingDataMethod,
  894. toHost: [
  895. { name: ns.Id, value: 0 },
  896. { name: ns.CoercionType, value: 1 },
  897. { name: ns.Data, value: 2 },
  898. { name: OSF.DDA.SafeArray.UniqueArguments.Offset, value: 3 }
  899. ]
  900. });
  901. define({
  902. type: cns.dispidAddRowsMethod,
  903. toHost: [
  904. { name: ns.Id, value: 0 },
  905. { name: ns.Data, value: 1 }
  906. ]
  907. });
  908. define({
  909. type: cns.dispidAddColumnsMethod,
  910. toHost: [
  911. { name: ns.Id, value: 0 },
  912. { name: ns.Data, value: 1 }
  913. ]
  914. });
  915. define({
  916. type: cns.dispidClearAllRowsMethod,
  917. toHost: [
  918. { name: ns.Id, value: 0 }
  919. ]
  920. });
  921. define({
  922. type: cns.dispidClearFormatsMethod,
  923. toHost: [
  924. { name: ns.Id, value: 0 }
  925. ]
  926. });
  927. define({
  928. type: cns.dispidSetTableOptionsMethod,
  929. toHost: [
  930. { name: ns.Id, value: 0 },
  931. { name: ns.TableOptions, value: 1 },
  932. ]
  933. });
  934. define({
  935. type: cns.dispidSetFormatsMethod,
  936. toHost: [
  937. { name: ns.Id, value: 0 },
  938. { name: ns.CellFormat, value: 1 },
  939. ]
  940. });
  941. define({
  942. type: cns.dispidLoadSettingsMethod,
  943. fromHost: [
  944. { name: OSF.DDA.SettingsManager.SerializedSettings, value: self }
  945. ]
  946. });
  947. define({
  948. type: cns.dispidSaveSettingsMethod,
  949. toHost: [
  950. { name: OSF.DDA.SettingsManager.SerializedSettings, value: OSF.DDA.SettingsManager.SerializedSettings },
  951. { name: Microsoft.Office.WebExtension.Parameters.OverwriteIfStale, value: Microsoft.Office.WebExtension.Parameters.OverwriteIfStale }
  952. ]
  953. });
  954. define({
  955. type: OSF.DDA.MethodDispId.dispidGetOfficeThemeMethod,
  956. fromHost: [
  957. { name: Microsoft.Office.Internal.Parameters.OfficeTheme, value: self }
  958. ]
  959. });
  960. define({
  961. type: OSF.DDA.MethodDispId.dispidGetDocumentThemeMethod,
  962. fromHost: [
  963. { name: Microsoft.Office.Internal.Parameters.DocumentTheme, value: self }
  964. ]
  965. });
  966. define({
  967. type: OSF.DDA.MethodDispId.dispidGetActiveViewMethod,
  968. fromHost: [
  969. { name: Microsoft.Office.WebExtension.Parameters.ActiveView, value: self }
  970. ]
  971. });
  972. define({
  973. type: cns.dispidAddDataPartMethod,
  974. fromHost: [
  975. { name: OSF.DDA.PropertyDescriptors.DataPartProperties, value: self }
  976. ],
  977. toHost: [
  978. { name: ns.Xml, value: 0 }
  979. ]
  980. });
  981. define({
  982. type: cns.dispidGetDataPartByIdMethod,
  983. fromHost: [
  984. { name: OSF.DDA.PropertyDescriptors.DataPartProperties, value: self }
  985. ],
  986. toHost: [
  987. { name: ns.Id, value: 0 }
  988. ]
  989. });
  990. define({
  991. type: cns.dispidGetDataPartsByNamespaceMethod,
  992. fromHost: [
  993. { name: OSF.DDA.ListDescriptors.DataPartList, value: self }
  994. ],
  995. toHost: [
  996. { name: ns.Namespace, value: 0 }
  997. ]
  998. });
  999. define({
  1000. type: cns.dispidGetDataPartXmlMethod,
  1001. fromHost: [
  1002. { name: ns.Data, value: self}
  1003. ],
  1004. toHost: [
  1005. { name: ns.Id, value: 0 }
  1006. ]
  1007. });
  1008. define({
  1009. type: cns.dispidGetDataPartNodesMethod,
  1010. fromHost: [
  1011. { name: OSF.DDA.ListDescriptors.DataNodeList, value: self }
  1012. ],
  1013. toHost: [
  1014. { name: ns.Id, value: 0 },
  1015. { name: ns.XPath, value: 1 }
  1016. ]
  1017. });
  1018. define({
  1019. type: cns.dispidDeleteDataPartMethod,
  1020. toHost: [
  1021. { name: ns.Id, value: 0 }
  1022. ]
  1023. });
  1024. define({
  1025. type: cns.dispidGetDataNodeValueMethod,
  1026. fromHost: [
  1027. { name: ns.Data, value: self}
  1028. ],
  1029. toHost: [
  1030. { name: OSF.DDA.DataNodeProperties.Handle, value: 0 }
  1031. ]
  1032. });
  1033. define({
  1034. type: cns.dispidGetDataNodeXmlMethod,
  1035. fromHost: [
  1036. { name: ns.Data, value: self}
  1037. ],
  1038. toHost: [
  1039. { name: OSF.DDA.DataNodeProperties.Handle, value: 0 }
  1040. ]
  1041. });
  1042. define({
  1043. type: cns.dispidGetDataNodesMethod,
  1044. fromHost: [
  1045. { name: OSF.DDA.ListDescriptors.DataNodeList, value: self }
  1046. ],
  1047. toHost: [
  1048. { name: OSF.DDA.DataNodeProperties.Handle, value: 0 },
  1049. { name: ns.XPath, value: 1 }
  1050. ]
  1051. });
  1052. define({
  1053. type: cns.dispidSetDataNodeValueMethod,
  1054. toHost: [
  1055. { name: OSF.DDA.DataNodeProperties.Handle, value: 0 },
  1056. { name: ns.Data, value: 1 }
  1057. ]
  1058. });
  1059. define({
  1060. type: cns.dispidSetDataNodeXmlMethod,
  1061. toHost: [
  1062. { name: OSF.DDA.DataNodeProperties.Handle, value: 0 },
  1063. { name: ns.Xml, value: 1 }
  1064. ]
  1065. });
  1066. define({
  1067. type: cns.dispidAddDataNamespaceMethod,
  1068. toHost: [
  1069. { name: OSF.DDA.DataPartProperties.Id, value: 0 },
  1070. { name: ns.Prefix, value: 1 },
  1071. { name: ns.Namespace, value: 2 }
  1072. ]
  1073. });
  1074. define({
  1075. type: cns.dispidGetDataUriByPrefixMethod,
  1076. fromHost: [
  1077. { name: ns.Data, value: self}
  1078. ],
  1079. toHost: [
  1080. { name: OSF.DDA.DataPartProperties.Id, value: 0 },
  1081. { name: ns.Prefix, value: 1 }
  1082. ]
  1083. });
  1084. define({
  1085. type: cns.dispidGetDataPrefixByUriMethod,
  1086. fromHost: [
  1087. { name: ns.Data, value: self}
  1088. ],
  1089. toHost: [
  1090. { name: OSF.DDA.DataPartProperties.Id, value: 0 },
  1091. { name: ns.Namespace, value: 1 }
  1092. ]
  1093. });
  1094. define({
  1095. type: cns.dispidGetDataNodeTextMethod,
  1096. fromHost: [
  1097. { name: ns.Data, value: self}
  1098. ],
  1099. toHost: [
  1100. { name: OSF.DDA.DataNodeProperties.Handle, value: 0 }
  1101. ]
  1102. });
  1103. define({
  1104. type: cns.dispidSetDataNodeTextMethod,
  1105. toHost: [
  1106. { name: OSF.DDA.DataNodeProperties.Handle, value: 0 },
  1107. { name: ns.Text, value: 1 }
  1108. ]
  1109. });
  1110. define({
  1111. type: cns.dispidGetSelectedTaskMethod,
  1112. fromHost: [
  1113. { name: ns.TaskId, value: self }
  1114. ]
  1115. });
  1116. define({
  1117. type: cns.dispidGetTaskMethod,
  1118. fromHost: [
  1119. { name: "taskName", value: 0 },
  1120. { name: "wssTaskId", value: 1 },
  1121. { name: "resourceNames", value: 2 }
  1122. ],
  1123. toHost: [
  1124. { name: ns.TaskId, value: 0 }
  1125. ]
  1126. });
  1127. define({
  1128. type: cns.dispidGetTaskFieldMethod,
  1129. fromHost: [
  1130. { name: ns.FieldValue, value: self }
  1131. ],
  1132. toHost: [
  1133. { name: ns.TaskId, value: 0 },
  1134. { name: ns.FieldId, value: 1 },
  1135. { name: ns.GetRawValue, value: 2 }
  1136. ]
  1137. });
  1138. define({
  1139. type: cns.dispidGetWSSUrlMethod,
  1140. fromHost: [
  1141. { name: ns.ServerUrl, value: 0 },
  1142. { name: ns.ListName, value: 1 }
  1143. ]
  1144. });
  1145. define({
  1146. type: cns.dispidGetSelectedResourceMethod,
  1147. fromHost: [
  1148. { name: ns.ResourceId, value: self }
  1149. ]
  1150. });
  1151. define({
  1152. type: cns.dispidGetResourceFieldMethod,
  1153. fromHost: [
  1154. { name: ns.FieldValue, value: self }
  1155. ],
  1156. toHost: [
  1157. { name: ns.ResourceId, value: 0 },
  1158. { name: ns.FieldId, value: 1 },
  1159. { name: ns.GetRawValue, value: 2 }
  1160. ]
  1161. });
  1162. define({
  1163. type: cns.dispidGetProjectFieldMethod,
  1164. fromHost: [
  1165. { name: ns.FieldValue, value: self }
  1166. ],
  1167. toHost: [
  1168. { name: ns.FieldId, value: 0 },
  1169. { name: ns.GetRawValue, value: 1 }
  1170. ]
  1171. });
  1172. define({
  1173. type: cns.dispidGetSelectedViewMethod,
  1174. fromHost: [
  1175. { name: ns.ViewType, value: 0 },
  1176. { name: ns.ViewName, value: 1 }
  1177. ]
  1178. });
  1179. cns=OSF.DDA.EventDispId
  1180. define({ type: cns.dispidDocumentSelectionChangedEvent });
  1181. define({
  1182. type: cns.dispidBindingSelectionChangedEvent,
  1183. fromHost: [
  1184. {name: OSF.DDA.EventDescriptors.BindingSelectionChangedEvent, value: self}
  1185. ]
  1186. });
  1187. define({
  1188. type: cns.dispidBindingDataChangedEvent,
  1189. fromHost: [{ name: OSF.DDA.PropertyDescriptors.BindingProperties, value: self}]
  1190. });
  1191. define({ type: cns.dispidSettingsChangedEvent });
  1192. define({
  1193. type: cns.dispidDocumentThemeChangedEvent,
  1194. fromHost: [
  1195. {name: OSF.DDA.EventDescriptors.DocumentThemeChangedEvent, value: self}
  1196. ]
  1197. });
  1198. define({
  1199. type: cns.dispidOfficeThemeChangedEvent,
  1200. fromHost: [
  1201. {name: OSF.DDA.EventDescriptors.OfficeThemeChangedEvent, value: self}
  1202. ]
  1203. });
  1204. define({
  1205. type: cns.dispidActiveViewChangedEvent,
  1206. fromHost: [{ name: OSF.DDA.EventDescriptors.ActiveViewChangedEvent, value: self}]
  1207. });
  1208. define({
  1209. type: cns.dispidDataNodeAddedEvent,
  1210. fromHost: [{ name: OSF.DDA.EventDescriptors.DataNodeInsertedEvent, value: self}]
  1211. });
  1212. define({
  1213. type: cns.dispidDataNodeReplacedEvent,
  1214. fromHost: [{ name: OSF.DDA.EventDescriptors.DataNodeReplacedEvent, value: self}]
  1215. });
  1216. define({
  1217. type: cns.dispidDataNodeDeletedEvent,
  1218. fromHost: [{ name: OSF.DDA.EventDescriptors.DataNodeDeletedEvent, value: self}]
  1219. });
  1220. define({ type: cns.dispidTaskSelectionChangedEvent });
  1221. define({ type: cns.dispidResourceSelectionChangedEvent });
  1222. define({ type: cns.dispidViewSelectionChangedEvent });
  1223. parameterMap.define=define;
  1224. return parameterMap;
  1225. })();
  1226. OSF.DDA.SafeArray.Delegate._onException=function OSF_DDA_SafeArray_Delegate$OnException(ex, args) {
  1227. var status;
  1228. var number=ex.number;
  1229. if (number) {
  1230. switch (number) {
  1231. case -2146828218:
  1232. status=OSF.DDA.ErrorCodeManager.errorCodes.ooeNoCapability;
  1233. break;
  1234. case -2146827850:
  1235. default:
  1236. status=OSF.DDA.ErrorCodeManager.errorCodes.ooeInternalError;
  1237. break;
  1238. }
  1239. }
  1240. if (args.onComplete) {
  1241. args.onComplete(status || OSF.DDA.ErrorCodeManager.errorCodes.ooeInternalError);
  1242. }
  1243. }
  1244. OSF.DDA.SafeArray.Delegate.executeAsync=function OSF_DDA_SafeArray_Delegate$ExecuteAsync(args) {
  1245. try {
  1246. if (args.onCalling) {
  1247. args.onCalling();
  1248. }
  1249. function toArray(args) {
  1250. var arrArgs=args;
  1251. if (OSF.OUtil.isArray(args)) {
  1252. var len=arrArgs.length;
  1253. for (var i=0; i < len; i++) {
  1254. arrArgs[i]=toArray(arrArgs[i]);
  1255. }
  1256. } else if (OSF.OUtil.isDate(args)) {
  1257. arrArgs=args.getVarDate();
  1258. } else if (typeof args==="object" && !OSF.OUtil.isArray(args)) {
  1259. arrArgs=[];
  1260. for (var index in args) {
  1261. if (!OSF.OUtil.isFunction(args[index])) {
  1262. arrArgs[index]=toArray(args[index]);
  1263. }
  1264. }
  1265. }
  1266. return arrArgs;
  1267. }
  1268. var startTime=(new Date()).getTime();
  1269. window.external.Execute(
  1270. args.dispId,
  1271. toArray(args.hostCallArgs),
  1272. function OSF_DDA_SafeArrayFacade$Execute_OnResponse(hostResponseArgs) {
  1273. if (args.onReceiving) {
  1274. args.onReceiving();
  1275. }
  1276. var result=hostResponseArgs.toArray();
  1277. var status=result[OSF.DDA.SafeArray.Response.Status];
  1278. if (args.onComplete) {
  1279. var payload;
  1280. if (status==OSF.DDA.ErrorCodeManager.errorCodes.ooeSuccess) {
  1281. if (result.length > 2) {
  1282. payload=[];
  1283. for (var i=1; i < result.length; i++)
  1284. payload[i - 1]=result[i];
  1285. }
  1286. else {
  1287. payload=result[OSF.DDA.SafeArray.Response.Payload];
  1288. }
  1289. }
  1290. else {
  1291. payload=result[OSF.DDA.SafeArray.Response.Payload];
  1292. }
  1293. args.onComplete(status, payload);
  1294. }
  1295. if (OSF.AppTelemetry) {
  1296. OSF.AppTelemetry.onMethodDone(args.dispId, args.hostCallArgs, Math.abs((new Date()).getTime() - startTime), status);
  1297. }
  1298. }
  1299. );
  1300. }
  1301. catch (ex) {
  1302. OSF.DDA.SafeArray.Delegate._onException(ex, args);
  1303. }
  1304. };
  1305. OSF.DDA.SafeArray.Delegate._getOnAfterRegisterEvent=function OSF_DDA_SafeArrayDelegate$GetOnAfterRegisterEvent(register, args) {
  1306. var startTime=(new Date()).getTime();
  1307. return function OSF_DDA_SafeArrayDelegate$OnAfterRegisterEvent(hostResponseArgs) {
  1308. if (args.onReceiving) {
  1309. args.onReceiving();
  1310. }
  1311. var status=hostResponseArgs.toArray ? hostResponseArgs.toArray()[OSF.DDA.SafeArray.Response.Status] : hostResponseArgs;
  1312. if (args.onComplete) {
  1313. args.onComplete(status)
  1314. }
  1315. if (OSF.AppTelemetry) {
  1316. OSF.AppTelemetry.onRegisterDone(register, args.dispId, Math.abs((new Date()).getTime() - startTime), status);
  1317. }
  1318. }
  1319. }
  1320. OSF.DDA.SafeArray.Delegate.registerEventAsync=function OSF_DDA_SafeArray_Delegate$RegisterEventAsync(args) {
  1321. if (args.onCalling) {
  1322. args.onCalling();
  1323. }
  1324. var callback=OSF.DDA.SafeArray.Delegate._getOnAfterRegisterEvent(true, args);
  1325. try {
  1326. window.external.RegisterEvent(
  1327. args.dispId,
  1328. args.targetId,
  1329. function OSF_DDA_SafeArrayDelegate$RegisterEventAsync_OnEvent(eventDispId, payload) {
  1330. if (args.onEvent) {
  1331. args.onEvent(payload);
  1332. }
  1333. if (OSF.AppTelemetry) {
  1334. OSF.AppTelemetry.onEventDone(args.dispId);
  1335. }
  1336. },
  1337. callback
  1338. );
  1339. }
  1340. catch (ex) {
  1341. OSF.DDA.SafeArray.Delegate._onException(ex, args);
  1342. }
  1343. };
  1344. OSF.DDA.SafeArray.Delegate.unregisterEventAsync=function OSF_DDA_SafeArray_Delegate$UnregisterEventAsync(args) {
  1345. if (args.onCalling) {
  1346. args.onCalling();
  1347. }
  1348. var callback=OSF.DDA.SafeArray.Delegate._getOnAfterRegisterEvent(false, args);
  1349. try {
  1350. window.external.UnregisterEvent(
  1351. args.dispId,
  1352. args.targetId,
  1353. callback
  1354. );
  1355. }
  1356. catch (ex) {
  1357. OSF.DDA.SafeArray.Delegate._onException(ex, args);
  1358. }
  1359. };
  1360. OSF.DDA.SafeArray.Delegate.MessageParent=function OSF_DDA_SafeArray_Delegate$MessageParent(args){
  1361. try {
  1362. if (args.onCalling) {
  1363. args.onCalling();
  1364. }
  1365. var startTime=(new Date()).getTime();
  1366. var message=args.hostCallArgs[Microsoft.Office.WebExtension.Parameters.MessageToParent];
  1367. window.external.MessageParent(message);
  1368. if (args.onReceiving) {
  1369. args.onReceiving();
  1370. }
  1371. if (OSF.AppTelemetry) {
  1372. OSF.AppTelemetry.onMethodDone(args.dispId, args.hostCallArgs, Math.abs((new Date()).getTime() - startTime), result);
  1373. }
  1374. return result;
  1375. }
  1376. catch (ex) {
  1377. var status;
  1378. var number=ex.number;
  1379. if (number) {
  1380. switch (number) {
  1381. case -2146828218:
  1382. status=OSF.DDA.ErrorCodeManager.errorCodes.ooeNoCapability;
  1383. break;
  1384. case -2146827850:
  1385. default:
  1386. status=OSF.DDA.ErrorCodeManager.errorCodes.ooeInternalError;
  1387. break;
  1388. }
  1389. }
  1390. return status || OSF.DDA.ErrorCodeManager.errorCodes.ooeInternalError;
  1391. }
  1392. }
  1393. OSF.DDA.PowerPointDocument=function OSF_DDA_PowerPointDocument(officeAppContext, settings) {
  1394. OSF.DDA.PowerPointDocument.uber.constructor.call(this, officeAppContext, settings);
  1395. OSF.DDA.DispIdHost.addAsyncMethods(this, [
  1396. OSF.DDA.AsyncMethodNames.GetSelectedDataAsync,
  1397. OSF.DDA.AsyncMethodNames.SetSelectedDataAsync,
  1398. OSF.DDA.AsyncMethodNames.GetDocumentCopyAsync,
  1399. OSF.DDA.AsyncMethodNames.GetActiveViewAsync,
  1400. OSF.DDA.AsyncMethodNames.GetFilePropertiesAsync,
  1401. OSF.DDA.AsyncMethodNames.GoToByIdAsync
  1402. ]);
  1403. OSF.DDA.DispIdHost.addEventSupport(this, new OSF.EventDispatch([
  1404. Microsoft.Office.WebExtension.EventType.DocumentSelectionChanged,
  1405. Microsoft.Office.WebExtension.EventType.ActiveViewChanged
  1406. ]));
  1407. OSF.OUtil.finalizeProperties(this);
  1408. };
  1409. OSF.DDA.PowerPointDocumentInternal=function OSF_DDA_PowerPointDocumentInternal() {
  1410. OSF.DDA.DispIdHost.addAsyncMethods(this, [
  1411. OSF.DDA.AsyncMethodNames.GetOfficeThemeAsync,
  1412. OSF.DDA.AsyncMethodNames.GetDocumentThemeAsync
  1413. ]);
  1414. OSF.DDA.DispIdHost.addEventSupport(this, new OSF.EventDispatch([
  1415. Microsoft.Office.WebExtension.EventType.OfficeThemeChanged,
  1416. Microsoft.Office.WebExtension.EventType.DocumentThemeChanged
  1417. ]));
  1418. OSF.OUtil.finalizeProperties(this);
  1419. };
  1420. Microsoft.Office.WebExtension.Index={
  1421. First: "first",
  1422. Last: "last",
  1423. Next: "next",
  1424. Previous: "previous"
  1425. };
  1426. OSF.DDA.SafeArray.Delegate.ParameterMap.define({
  1427. type: OSF.DDA.EventDispId.dispidDialogMessageReceivedEvent,
  1428. fromHost: [
  1429. { name: OSF.DDA.EventDescriptors.DialogMessageReceivedEvent, value: OSF.DDA.SafeArray.Delegate.ParameterMap.self }
  1430. ],
  1431. isComplexType: true
  1432. });
  1433. OSF.DDA.SafeArray.Delegate.ParameterMap.define({
  1434. type: OSF.DDA.EventDescriptors.DialogMessageReceivedEvent,
  1435. fromHost: [
  1436. { name: OSF.DDA.PropertyDescriptors.MessageType, value: 0 },
  1437. { name: OSF.DDA.PropertyDescriptors.MessageContent, value: 1 }
  1438. ],
  1439. isComplexType: true
  1440. });
  1441. OSF.DDA.Slide=function OSF_DDA_Slide(input) {
  1442. var mapList={
  1443. "id": {
  1444. value: parseInt(input[0])
  1445. },
  1446. "title": {
  1447. value: input[1]
  1448. },
  1449. "index": {
  1450. value: parseInt(input[2])
  1451. }
  1452. };
  1453. var numField=0;
  1454. for(var key in mapList) {
  1455. if(mapList.hasOwnProperty(key)) {
  1456. numField++;
  1457. }
  1458. }
  1459. if(input.length !=numField) {
  1460. throw OsfMsAjaxFactory.msAjaxError.argument("slide");
  1461. }
  1462. OSF.OUtil.defineEnumerableProperties(this, mapList);
  1463. if(isNaN(this.id) || isNaN(this.index)) {
  1464. throw OsfMsAjaxFactory.msAjaxError.argument("slide");
  1465. }
  1466. };
  1467. OSF.DDA.SlideRange=function OSF_DDA_SlideRange(input) {
  1468. var items=input.split("\n");
  1469. var dataValid=true;
  1470. var slides=[];
  1471. for(var i=0; i < items.length && dataValid; i++) {
  1472. var curSlide=OSF.OUtil.splitStringToList(items[i], ',');
  1473. try {
  1474. slides.push(new OSF.DDA.Slide(curSlide));
  1475. }
  1476. catch (e) {
  1477. dataValid=false;
  1478. }
  1479. }
  1480. if(!dataValid) {
  1481. throw OsfMsAjaxFactory.msAjaxError.argument("sliderange");
  1482. }
  1483. OSF.OUtil.defineEnumerableProperties(this, {
  1484. "slides": {
  1485. value: slides
  1486. }
  1487. });
  1488. };
  1489. OSF.OUtil.extend(OSF.DDA.PowerPointDocument, OSF.DDA.Document);
  1490. OSF.InitializationHelper.prototype.prepareRightBeforeWebExtensionInitialize=function OSF_InitializationHelper$prepareRightBeforeWebExtensionInitialize(appContext) {
  1491. var license=new OSF.DDA.License(appContext.get_eToken());
  1492. if (this._hostInfo.isRichClient) {
  1493. if (appContext.get_isDialog()) {
  1494. if (OSF.DDA.UI.ChildUI) {
  1495. appContext.ui=new OSF.DDA.UI.ChildUI();
  1496. }
  1497. } else {
  1498. if (OSF.DDA.UI.ParentUI) {
  1499. appContext.ui=new OSF.DDA.UI.ParentUI();
  1500. }
  1501. }
  1502. }
  1503. OSF._OfficeAppFactory.setContext(new OSF.DDA.Context(appContext, appContext.doc, license));
  1504. var getDelegateMethods, parameterMap;
  1505. var reason=appContext.get_reason();
  1506. getDelegateMethods=OSF.DDA.DispIdHost.getRichClientDelegateMethods;
  1507. parameterMap=OSF.DDA.SafeArray.Delegate.ParameterMap;
  1508. reason=OSF.DDA.RichInitializationReason[reason];
  1509. OSF._OfficeAppFactory.setHostFacade(new OSF.DDA.DispIdHost.Facade(getDelegateMethods, parameterMap));
  1510. var getOfficeThemesCss=function GetOfficeThemesCss() {
  1511. var cssFileName="officethemes.css"
  1512. for (var i=0; i < document.styleSheets.length; i++) {
  1513. var ss=document.styleSheets[i];
  1514. if (!ss.disabled && ss.href
  1515. && (cssFileName==(ss.href.substring(ss.href.length - cssFileName.length, ss.href.length)).toLowerCase())){
  1516. if ((!ss.cssRules) && (!ss.rules)) {
  1517. return null
  1518. }
  1519. else {
  1520. return ss;
  1521. }
  1522. }
  1523. }
  1524. }
  1525. var onComplete=function onComplete(reason) {
  1526. OSF.OUtil.redefineList(Microsoft.Office.WebExtension.EventType, {
  1527. DocumentSelectionChanged: "documentSelectionChanged",
  1528. ActiveViewChanged: "activeViewChanged",
  1529. DialogMessageReceived: "dialogMessageReceived",
  1530. DialogEventReceived: "dialogEventReceived"
  1531. });
  1532. Microsoft.Office.WebExtension.initialize(reason);
  1533. }
  1534. var officeCss=getOfficeThemesCss();
  1535. if (officeCss){
  1536. var changeCss=function ChangeCss(officeCss, selector, newRule) {
  1537. var length=officeCss.cssRules ? officeCss.cssRules.length : officeCss.rules.length;
  1538. for (var i=0; i < length; i++) {
  1539. var rule;
  1540. if (officeCss.cssRules) {
  1541. rule=officeCss.cssRules[i];
  1542. }
  1543. else {
  1544. rule=officeCss.rules[i];
  1545. }
  1546. var ruleSelector=rule.selectorText;
  1547. if ( ruleSelector !=="" && (ruleSelector.toLowerCase()==selector.toLowerCase()) ) {
  1548. if (officeCss.cssRules) {
  1549. officeCss.deleteRule(i);
  1550. officeCss.insertRule(ruleSelector+newRule, i);
  1551. }
  1552. else {
  1553. officeCss.removeRule(i);
  1554. officeCss.addRule(ruleSelector, newRule, i);
  1555. }
  1556. }
  1557. }
  1558. }
  1559. var previousDocumentThemeData=null;
  1560. var changeDocumentThemeData=function ChangeDocumentThemeData(data) {
  1561. var documentThemeCssMapping=[
  1562. { name: "primaryFontColor", cssSelector: ".office-docTheme-primary-fontColor", cssProperty: "color" },
  1563. { name: "primaryBackgroundColor", cssSelector: ".office-docTheme-primary-bgColor", cssProperty: "background-color" },
  1564. { name: "secondaryFontColor", cssSelector: ".office-docTheme-secondary-fontColor", cssProperty: "color" },
  1565. { name: "secondaryBackgroundColor", cssSelector: ".office-docTheme-secondary-bgColor", cssProperty: "background-color" },
  1566. { name: "accent1", cssSelector: ".office-contentAccent1-color", cssProperty: "color" },
  1567. { name: "accent2", cssSelector: ".office-contentAccent2-color", cssProperty: "color" },
  1568. { name: "accent3", cssSelector: ".office-contentAccent3-color", cssProperty: "color" },
  1569. { name: "accent4", cssSelector: ".office-contentAccent4-color", cssProperty: "color" },
  1570. { name: "accent5", cssSelector: ".office-contentAccent5-color", cssProperty: "color" },
  1571. { name: "accent6", cssSelector: ".office-contentAccent6-color", cssProperty: "color" },
  1572. { name: "accent1", cssSelector: ".office-contentAccent1-bgColor", cssProperty: "background-color" },
  1573. { name: "accent2", cssSelector: ".office-contentAccent2-bgColor", cssProperty: "background-color" },
  1574. { name: "accent3", cssSelector: ".office-contentAccent3-bgColor", cssProperty: "background-color" },
  1575. { name: "accent4", cssSelector: ".office-contentAccent4-bgColor", cssProperty: "background-color" },
  1576. { name: "accent5", cssSelector: ".office-contentAccent5-bgColor", cssProperty: "background-color" },
  1577. { name: "accent6", cssSelector: ".office-contentAccent6-bgColor", cssProperty: "background-color" },
  1578. { name: "accent1", cssSelector: ".office-contentAccent1-borderColor", cssProperty: "border-color" },
  1579. { name: "accent2", cssSelector: ".office-contentAccent2-borderColor", cssProperty: "border-color" },
  1580. { name: "accent3", cssSelector: ".office-contentAccent3-borderColor", cssProperty: "border-color" },
  1581. { name: "accent4", cssSelector: ".office-contentAccent4-borderColor", cssProperty: "border-color" },
  1582. { name: "accent5", cssSelector: ".office-contentAccent5-borderColor", cssProperty: "border-color" },
  1583. { name: "accent6", cssSelector: ".office-contentAccent6-borderColor", cssProperty: "border-color" },
  1584. { name: "hyperlink", cssSelector: ".office-a", cssProperty: "color" },
  1585. { name: "followedHyperlink", cssSelector: ".office-a:visited", cssProperty: "color" },
  1586. { name: "headerLatinFont", cssSelector: ".office-headerFont-latin", cssProperty: "font-family" },
  1587. { name: "headerEastAsianFont", cssSelector: ".office-headerFont-eastAsian", cssProperty: "font-family" },
  1588. { name: "headerScriptFont", cssSelector: ".office-headerFont-script", cssProperty: "font-family" },
  1589. { name: "headerLocalizedFont", cssSelector: ".office-headerFont-localized", cssProperty: "font-family" },
  1590. { name: "bodyLatinFont", cssSelector: ".office-bodyFont-latin", cssProperty: "font-family" },
  1591. { name: "bodyEastAsianFont", cssSelector: ".office-bodyFont-eastAsian", cssProperty: "font-family" },
  1592. { name: "bodyScriptFont", cssSelector: ".office-bodyFont-script", cssProperty: "font-family" },
  1593. { name: "bodyLocalizedFont", cssSelector: ".office-bodyFont-localized", cssProperty: "font-family" }
  1594. ];
  1595. var realData=data.type=="documentThemeChanged" ? data.documentTheme : data;
  1596. for (var i=0; i< documentThemeCssMapping.length; i++)
  1597. {
  1598. if (previousDocumentThemeData===null || previousDocumentThemeData[documentThemeCssMapping[i].name] !=realData[documentThemeCssMapping[i].name])
  1599. {
  1600. if (realData[documentThemeCssMapping[i].name] !=null && realData[documentThemeCssMapping[i].name] !="")
  1601. {
  1602. var insertableText=realData[documentThemeCssMapping[i].name];
  1603. if (documentThemeCssMapping[i].cssProperty==="font-family") {
  1604. insertableText='"'+insertableText.replace(/"/g, '\\"')+'"';
  1605. }
  1606. changeCss(officeCss, documentThemeCssMapping[i].cssSelector, "{"+documentThemeCssMapping[i].cssProperty+":"+insertableText+";}");
  1607. }
  1608. else
  1609. {
  1610. changeCss(officeCss, documentThemeCssMapping[i].cssSelector, "{}");
  1611. }
  1612. }
  1613. }
  1614. previousDocumentThemeData=realData;
  1615. }
  1616. var previousOfficeThemeData=null;
  1617. var internal=new OSF.DDA.PowerPointDocumentInternal();
  1618. var changeOfficeThemeData=function ChangeOfficeThemeData(data) {
  1619. var officeThemeCssMapping=[
  1620. { name: "primaryFontColor", cssSelector: ".office-officeTheme-primary-fontColor", cssProperty: "color" },
  1621. { name: "primaryBackgroundColor", cssSelector: ".office-officeTheme-primary-bgColor", cssProperty: "background-color" },
  1622. { name: "secondaryFontColor", cssSelector: ".office-officeTheme-secondary-fontColor", cssProperty: "color" },
  1623. { name: "secondaryBackgroundColor", cssSelector: ".office-officeTheme-secondary-bgColor", cssProperty: "background-color" }
  1624. ];
  1625. var realData=data.type=="officeThemeChanged" ? data.officeTheme : data;
  1626. for (var i=0; i<officeThemeCssMapping.length; i++)
  1627. {
  1628. if (previousOfficeThemeData===null || previousOfficeThemeData[officeThemeCssMapping[i].name] !=realData[officeThemeCssMapping[i].name]) {
  1629. if (realData[officeThemeCssMapping[i].name] !==undefined) {
  1630. changeCss(officeCss, officeThemeCssMapping[i].cssSelector, "{"+officeThemeCssMapping[i].cssProperty+":"+realData[officeThemeCssMapping[i].name]+";}");
  1631. }
  1632. }
  1633. }
  1634. previousOfficeThemeData=realData;
  1635. }
  1636. var getAndprocessThemeData=function GetAndprocessThemeData(getThemeMethod, onSuccessProcessResult, onFailureProcessNextThemeData) {
  1637. getThemeMethod(function (asyncResult) {
  1638. if (asyncResult.status=="succeeded") {
  1639. var data=asyncResult.value;
  1640. onSuccessProcessResult(data);
  1641. }
  1642. else {
  1643. if (onFailureProcessNextThemeData) {
  1644. onFailureProcessNextThemeData();
  1645. }
  1646. else {
  1647. onComplete(reason);
  1648. }
  1649. }
  1650. });
  1651. }
  1652. var processOfficeThemeData=function ProcessOfficeThemeData(data) {
  1653. changeOfficeThemeData(data);
  1654. internal.addHandlerAsync(Microsoft.Office.WebExtension.EventType.OfficeThemeChanged, changeOfficeThemeData, null);
  1655. onComplete(reason);
  1656. }
  1657. var processDocumentThemeData=function ProcessDocumentThemeData(data){
  1658. changeDocumentThemeData(data)
  1659. internal.addHandlerAsync(Microsoft.Office.WebExtension.EventType.DocumentThemeChanged, changeDocumentThemeData, null);
  1660. getAndprocessThemeData(internal.getOfficeThemeAsync, processOfficeThemeData, null);
  1661. };
  1662. getAndprocessThemeData(internal.getDocumentThemeAsync,
  1663. processDocumentThemeData,
  1664. function(){
  1665. getAndprocessThemeData(internal.getOfficeThemeAsync, processOfficeThemeData, null);
  1666. });
  1667. }
  1668. else {
  1669. onComplete(reason);
  1670. }
  1671. };