Без опису
Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

powerpointios-15.debug.js 43KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461
  1. /* PowerPoint iOS specific API library */
  2. /* Version: 15.0.4420.1017 Build Time: 05/04/2015 */
  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. var OSF=OSF || {};
  10. var OSFWebkit;
  11. (function (OSFWebkit) {
  12. var WebkitSafeArray=(function () {
  13. function WebkitSafeArray(data) {
  14. this.data=data;
  15. this.safeArrayFlag=this.isSafeArray(data);
  16. }
  17. WebkitSafeArray.prototype.dimensions=function () {
  18. var dimensions=0;
  19. if (this.safeArrayFlag) {
  20. dimensions=this.data[0][0];
  21. } else if (this.isArray()) {
  22. dimensions=2;
  23. }
  24. return dimensions;
  25. };
  26. WebkitSafeArray.prototype.getItem=function () {
  27. var array=[];
  28. var element=null;
  29. if (this.safeArrayFlag) {
  30. array=this.toArray();
  31. } else {
  32. array=this.data;
  33. }
  34. element=array;
  35. for (var i=0; i < arguments.length; i++) {
  36. element=element[arguments[i]];
  37. }
  38. return element;
  39. };
  40. WebkitSafeArray.prototype.lbound=function (dimension) {
  41. return 0;
  42. };
  43. WebkitSafeArray.prototype.ubound=function (dimension) {
  44. var ubound=0;
  45. if (this.safeArrayFlag) {
  46. ubound=this.data[0][dimension];
  47. } else if (this.isArray()) {
  48. if (dimension==1) {
  49. return this.data.length;
  50. } else if (dimension==2) {
  51. if (OSF.OUtil.isArray(this.data[0])) {
  52. return this.data[0].length;
  53. } else if (this.data[0] !=null) {
  54. return 1;
  55. }
  56. }
  57. }
  58. return ubound;
  59. };
  60. WebkitSafeArray.prototype.toArray=function () {
  61. if (this.isArray()==false) {
  62. return this.data;
  63. }
  64. var arr=[];
  65. var startingIndex=this.safeArrayFlag ? 1 : 0;
  66. for (var i=startingIndex; i < this.data.length; i++) {
  67. var element=this.data[i];
  68. if (this.isSafeArray(element)) {
  69. arr.push(new WebkitSafeArray(element));
  70. } else {
  71. arr.push(element);
  72. }
  73. }
  74. return arr;
  75. };
  76. WebkitSafeArray.prototype.isArray=function () {
  77. return OSF.OUtil.isArray(this.data);
  78. };
  79. WebkitSafeArray.prototype.isSafeArray=function (obj) {
  80. var isSafeArray=false;
  81. if (OSF.OUtil.isArray(obj) && OSF.OUtil.isArray(obj[0])) {
  82. var bounds=obj[0];
  83. var dimensions=bounds[0];
  84. if (bounds.length !=dimensions+1) {
  85. return false;
  86. }
  87. var expectedArraySize=1;
  88. for (var i=1; i < bounds.length; i++) {
  89. var dimension=bounds[i];
  90. if (isFinite(dimension)==false) {
  91. return false;
  92. }
  93. expectedArraySize=expectedArraySize * dimension;
  94. }
  95. expectedArraySize++;
  96. isSafeArray=(expectedArraySize==obj.length);
  97. }
  98. return isSafeArray;
  99. };
  100. return WebkitSafeArray;
  101. })();
  102. OSFWebkit.WebkitSafeArray=WebkitSafeArray;
  103. })(OSFWebkit || (OSFWebkit={}));
  104. var OSFWebkit;
  105. (function (OSFWebkit) {
  106. (function (ScriptMessaging) {
  107. var scriptMessenger=null;
  108. function agaveHostCallback(callbackId, params) {
  109. scriptMessenger.agaveHostCallback(callbackId, params);
  110. }
  111. ScriptMessaging.agaveHostCallback=agaveHostCallback;
  112. function agaveHostEventCallback(callbackId, params) {
  113. scriptMessenger.agaveHostEventCallback(callbackId, params);
  114. }
  115. ScriptMessaging.agaveHostEventCallback=agaveHostEventCallback;
  116. function GetScriptMessenger() {
  117. if (scriptMessenger==null) {
  118. scriptMessenger=new WebkitScriptMessaging("OSF.ScriptMessaging.agaveHostCallback", "OSF.ScriptMessaging.agaveHostEventCallback");
  119. }
  120. return scriptMessenger;
  121. }
  122. ScriptMessaging.GetScriptMessenger=GetScriptMessenger;
  123. var EventHandlerCallback=(function () {
  124. function EventHandlerCallback(id, targetId, handler) {
  125. this.id=id;
  126. this.targetId=targetId;
  127. this.handler=handler;
  128. }
  129. return EventHandlerCallback;
  130. })();
  131. var WebkitScriptMessaging=(function () {
  132. function WebkitScriptMessaging(methodCallbackName, eventCallbackName) {
  133. this.callingIndex=0;
  134. this.callbackList={};
  135. this.eventHandlerList={};
  136. this.asyncMethodCallbackFunctionName=methodCallbackName;
  137. this.eventCallbackFunctionName=eventCallbackName;
  138. this.conversationId=WebkitScriptMessaging.getCurrentTimeMS().toString();
  139. }
  140. WebkitScriptMessaging.prototype.invokeMethod=function (handlerName, methodId, params, callback) {
  141. var messagingArgs={};
  142. this.postWebkitMessage(messagingArgs, handlerName, methodId, params, callback);
  143. };
  144. WebkitScriptMessaging.prototype.registerEvent=function (handlerName, methodId, dispId, targetId, handler, callback) {
  145. var messagingArgs={
  146. eventCallbackFunction: this.eventCallbackFunctionName
  147. };
  148. var hostArgs={
  149. id: dispId,
  150. targetId: targetId
  151. };
  152. var correlationId=this.postWebkitMessage(messagingArgs, handlerName, methodId, hostArgs, callback);
  153. this.eventHandlerList[correlationId]=new EventHandlerCallback(dispId, targetId, handler);
  154. };
  155. WebkitScriptMessaging.prototype.unregisterEvent=function (handlerName, methodId, dispId, targetId, callback) {
  156. var hostArgs={
  157. id: dispId,
  158. targetId: targetId
  159. };
  160. for (var key in this.eventHandlerList) {
  161. if (this.eventHandlerList.hasOwnProperty(key)) {
  162. var eventCallback=this.eventHandlerList[key];
  163. if (eventCallback.id==dispId && eventCallback.targetId==targetId) {
  164. delete this.eventHandlerList[key];
  165. }
  166. }
  167. }
  168. this.invokeMethod(handlerName, methodId, hostArgs, callback);
  169. };
  170. WebkitScriptMessaging.prototype.agaveHostCallback=function (callbackId, params) {
  171. var callbackFunction=this.callbackList[callbackId];
  172. if (callbackFunction) {
  173. callbackFunction(params);
  174. delete this.callbackList[callbackId];
  175. }
  176. };
  177. WebkitScriptMessaging.prototype.agaveHostEventCallback=function (callbackId, params) {
  178. var eventCallback=this.eventHandlerList[callbackId];
  179. if (eventCallback) {
  180. eventCallback.handler(params);
  181. }
  182. };
  183. WebkitScriptMessaging.prototype.postWebkitMessage=function (messagingArgs, handlerName, methodId, params, callback) {
  184. var correlationId=this.generateCorrelationId();
  185. this.callbackList[correlationId]=callback;
  186. messagingArgs.methodId=methodId;
  187. messagingArgs.params=params;
  188. messagingArgs.callbackId=correlationId;
  189. messagingArgs.callbackFunction=this.asyncMethodCallbackFunctionName;
  190. var invokePostMessage=function () {
  191. window.webkit.messageHandlers[handlerName].postMessage(JSON.stringify(messagingArgs));
  192. };
  193. var currentTimestamp=WebkitScriptMessaging.getCurrentTimeMS();
  194. if (this.lastMessageTimestamp==null || (currentTimestamp - this.lastMessageTimestamp >=WebkitScriptMessaging.MESSAGE_TIME_DELTA)) {
  195. invokePostMessage();
  196. this.lastMessageTimestamp=currentTimestamp;
  197. } else {
  198. this.lastMessageTimestamp+=WebkitScriptMessaging.MESSAGE_TIME_DELTA;
  199. setTimeout(function () {
  200. invokePostMessage();
  201. }, this.lastMessageTimestamp - currentTimestamp);
  202. }
  203. return correlationId;
  204. };
  205. WebkitScriptMessaging.prototype.generateCorrelationId=function () {
  206. ++this.callingIndex;
  207. return this.conversationId+this.callingIndex;
  208. };
  209. WebkitScriptMessaging.getCurrentTimeMS=function () {
  210. return (new Date).getTime();
  211. };
  212. WebkitScriptMessaging.MESSAGE_TIME_DELTA=10;
  213. return WebkitScriptMessaging;
  214. })();
  215. ScriptMessaging.WebkitScriptMessaging=WebkitScriptMessaging;
  216. })(OSFWebkit.ScriptMessaging || (OSFWebkit.ScriptMessaging={}));
  217. var ScriptMessaging=OSFWebkit.ScriptMessaging;
  218. })(OSFWebkit || (OSFWebkit={}));
  219. OSF.ScriptMessaging=OSFWebkit.ScriptMessaging;
  220. var OSFWebkit;
  221. (function (OSFWebkit) {
  222. OSFWebkit.MessageHandlerName="Agave";
  223. (function (AppContextProperties) {
  224. AppContextProperties[AppContextProperties["Settings"]=0]="Settings";
  225. AppContextProperties[AppContextProperties["SolutionReferenceId"]=1]="SolutionReferenceId";
  226. AppContextProperties[AppContextProperties["AppType"]=2]="AppType";
  227. AppContextProperties[AppContextProperties["MajorVersion"]=3]="MajorVersion";
  228. AppContextProperties[AppContextProperties["MinorVersion"]=4]="MinorVersion";
  229. AppContextProperties[AppContextProperties["RevisionVersion"]=5]="RevisionVersion";
  230. AppContextProperties[AppContextProperties["APIVersionSequence"]=6]="APIVersionSequence";
  231. AppContextProperties[AppContextProperties["AppCapabilities"]=7]="AppCapabilities";
  232. AppContextProperties[AppContextProperties["APPUILocale"]=8]="APPUILocale";
  233. AppContextProperties[AppContextProperties["AppDataLocale"]=9]="AppDataLocale";
  234. AppContextProperties[AppContextProperties["BindingCount"]=10]="BindingCount";
  235. AppContextProperties[AppContextProperties["DocumentUrl"]=11]="DocumentUrl";
  236. AppContextProperties[AppContextProperties["ActivationMode"]=12]="ActivationMode";
  237. AppContextProperties[AppContextProperties["ControlIntegrationLevel"]=13]="ControlIntegrationLevel";
  238. AppContextProperties[AppContextProperties["SolutionToken"]=14]="SolutionToken";
  239. AppContextProperties[AppContextProperties["APISetVersion"]=15]="APISetVersion";
  240. AppContextProperties[AppContextProperties["CorrelationId"]=16]="CorrelationId";
  241. AppContextProperties[AppContextProperties["InstanceId"]=17]="InstanceId";
  242. })(OSFWebkit.AppContextProperties || (OSFWebkit.AppContextProperties={}));
  243. var AppContextProperties=OSFWebkit.AppContextProperties;
  244. (function (MethodId) {
  245. MethodId[MethodId["Execute"]=1]="Execute";
  246. MethodId[MethodId["RegisterEvent"]=2]="RegisterEvent";
  247. MethodId[MethodId["UnregisterEvent"]=3]="UnregisterEvent";
  248. MethodId[MethodId["WriteSettings"]=4]="WriteSettings";
  249. MethodId[MethodId["GetContext"]=5]="GetContext";
  250. })(OSFWebkit.MethodId || (OSFWebkit.MethodId={}));
  251. var MethodId=OSFWebkit.MethodId;
  252. var WebkitHostController=(function () {
  253. function WebkitHostController(hostScriptProxy) {
  254. this.hostScriptProxy=hostScriptProxy;
  255. }
  256. WebkitHostController.prototype.execute=function (id, params, callback) {
  257. var args=params;
  258. if (args==null) {
  259. args=[];
  260. }
  261. var hostParams={
  262. id: id,
  263. apiArgs: args
  264. };
  265. var agaveResponseCallback=function (payload) {
  266. var safeArraySource=payload;
  267. if (OSF.OUtil.isArray(payload) && payload.length >=2) {
  268. var hrStatus=payload[0];
  269. safeArraySource=payload[1];
  270. }
  271. if (callback) {
  272. callback(new OSFWebkit.WebkitSafeArray(safeArraySource));
  273. }
  274. };
  275. this.hostScriptProxy.invokeMethod(OSF.Webkit.MessageHandlerName, OSF.Webkit.MethodId.Execute, hostParams, agaveResponseCallback);
  276. };
  277. WebkitHostController.prototype.registerEvent=function (id, targetId, handler, callback) {
  278. var agaveEventHandlerCallback=function (payload) {
  279. var safeArraySource=payload;
  280. var eventId=0;
  281. if (OSF.OUtil.isArray(payload) && payload.length >=2) {
  282. safeArraySource=payload[0];
  283. eventId=payload[1];
  284. }
  285. if (handler) {
  286. handler(eventId, new OSFWebkit.WebkitSafeArray(safeArraySource));
  287. }
  288. };
  289. var agaveResponseCallback=function (payload) {
  290. if (callback) {
  291. callback(new OSFWebkit.WebkitSafeArray(payload));
  292. }
  293. };
  294. this.hostScriptProxy.registerEvent(OSF.Webkit.MessageHandlerName, OSF.Webkit.MethodId.RegisterEvent, id, targetId, agaveEventHandlerCallback, agaveResponseCallback);
  295. };
  296. WebkitHostController.prototype.unregisterEvent=function (id, targetId, callback) {
  297. var agaveResponseCallback=function (response) {
  298. callback(new OSFWebkit.WebkitSafeArray(response));
  299. };
  300. this.hostScriptProxy.unregisterEvent(OSF.Webkit.MessageHandlerName, OSF.Webkit.MethodId.UnregisterEvent, id, targetId, agaveResponseCallback);
  301. };
  302. return WebkitHostController;
  303. })();
  304. OSFWebkit.WebkitHostController=WebkitHostController;
  305. })(OSFWebkit || (OSFWebkit={}));
  306. OSF.Webkit=OSFWebkit;
  307. OSF.ClientHostController=new OSFWebkit.WebkitHostController(OSF.ScriptMessaging.GetScriptMessenger());
  308. OSF.ClientMode={
  309. ReadWrite: 0,
  310. ReadOnly: 1
  311. }
  312. OSF.DDA.RichInitializationReason={
  313. 1: Microsoft.Office.WebExtension.InitializationReason.Inserted,
  314. 2: Microsoft.Office.WebExtension.InitializationReason.DocumentOpened
  315. };
  316. Microsoft.Office.WebExtension.FileType={
  317. Text: "text",
  318. Compressed: "compressed"
  319. };
  320. OSF.DDA.File=function OSF_DDA_File(handle, fileSize, sliceSize) {
  321. OSF.OUtil.defineEnumerableProperties(this, {
  322. "size": {
  323. value: fileSize
  324. },
  325. "sliceCount": {
  326. value: Math.ceil(fileSize / sliceSize)
  327. }
  328. });
  329. var privateState={};
  330. privateState[OSF.DDA.FileProperties.Handle]=handle;
  331. privateState[OSF.DDA.FileProperties.SliceSize]=sliceSize;
  332. var am=OSF.DDA.AsyncMethodNames;
  333. OSF.DDA.DispIdHost.addAsyncMethods(
  334. this, [
  335. am.GetDocumentCopyChunkAsync,
  336. am.ReleaseDocumentCopyAsync
  337. ],
  338. privateState
  339. );
  340. }
  341. OSF.DDA.FileSliceOffset="fileSliceoffset";
  342. OSF.DDA.CustomXmlParts=function OSF_DDA_CustomXmlParts() {
  343. this._eventDispatches=[];
  344. var am=OSF.DDA.AsyncMethodNames;
  345. OSF.DDA.DispIdHost.addAsyncMethods(this, [
  346. am.AddDataPartAsync,
  347. am.GetDataPartByIdAsync,
  348. am.GetDataPartsByNameSpaceAsync
  349. ]);
  350. };
  351. OSF.DDA.CustomXmlPart=function OSF_DDA_CustomXmlPart(customXmlParts, id, builtIn) {
  352. OSF.OUtil.defineEnumerableProperties(this, {
  353. "builtIn": {
  354. value: builtIn
  355. },
  356. "id": {
  357. value: id
  358. },
  359. "namespaceManager": {
  360. value: new OSF.DDA.CustomXmlPrefixMappings(id)
  361. }
  362. });
  363. var am=OSF.DDA.AsyncMethodNames;
  364. OSF.DDA.DispIdHost.addAsyncMethods(this, [
  365. am.DeleteDataPartAsync,
  366. am.GetPartNodesAsync,
  367. am.GetPartXmlAsync
  368. ]);
  369. var customXmlPartEventDispatches=customXmlParts._eventDispatches;
  370. var dispatch=customXmlPartEventDispatches[id];
  371. if (!dispatch) {
  372. var et=Microsoft.Office.WebExtension.EventType;
  373. dispatch=new OSF.EventDispatch([
  374. et.DataNodeDeleted,
  375. et.DataNodeInserted,
  376. et.DataNodeReplaced
  377. ]);
  378. customXmlPartEventDispatches[id]=dispatch;
  379. }
  380. OSF.DDA.DispIdHost.addEventSupport(this, dispatch);
  381. };
  382. OSF.DDA.CustomXmlPrefixMappings=function OSF_DDA_CustomXmlPrefixMappings(partId) {
  383. var am=OSF.DDA.AsyncMethodNames;
  384. OSF.DDA.DispIdHost.addAsyncMethods(
  385. this,
  386. [
  387. am.AddDataPartNamespaceAsync,
  388. am.GetDataPartNamespaceAsync,
  389. am.GetDataPartPrefixAsync
  390. ],
  391. partId
  392. );
  393. };
  394. OSF.DDA.CustomXmlNode=function OSF_DDA_CustomXmlNode(handle, nodeType, ns, baseName) {
  395. OSF.OUtil.defineEnumerableProperties(this, {
  396. "baseName": {
  397. value: baseName
  398. },
  399. "namespaceUri": {
  400. value: ns
  401. },
  402. "nodeType": {
  403. value: nodeType
  404. }
  405. });
  406. var am=OSF.DDA.AsyncMethodNames;
  407. OSF.DDA.DispIdHost.addAsyncMethods(
  408. this,
  409. [
  410. am.GetRelativeNodesAsync,
  411. am.GetNodeValueAsync,
  412. am.GetNodeXmlAsync,
  413. am.SetNodeValueAsync,
  414. am.SetNodeXmlAsync
  415. ],
  416. handle
  417. );
  418. };
  419. OSF.DDA.NodeInsertedEventArgs=function OSF_DDA_NodeInsertedEventArgs(newNode, inUndoRedo) {
  420. OSF.OUtil.defineEnumerableProperties(this, {
  421. "type": {
  422. value: Microsoft.Office.WebExtension.EventType.DataNodeInserted
  423. },
  424. "newNode": {
  425. value: newNode
  426. },
  427. "inUndoRedo": {
  428. value: inUndoRedo
  429. }
  430. });
  431. };
  432. OSF.DDA.NodeReplacedEventArgs=function OSF_DDA_NodeReplacedEventArgs(oldNode, newNode, inUndoRedo) {
  433. OSF.OUtil.defineEnumerableProperties(this, {
  434. "type": {
  435. value: Microsoft.Office.WebExtension.EventType.DataNodeReplaced
  436. },
  437. "oldNode": {
  438. value: oldNode
  439. },
  440. "newNode": {
  441. value: newNode
  442. },
  443. "inUndoRedo": {
  444. value: inUndoRedo
  445. }
  446. });
  447. };
  448. OSF.DDA.NodeDeletedEventArgs=function OSF_DDA_NodeDeletedEventArgs(oldNode, oldNextSibling, inUndoRedo) {
  449. OSF.OUtil.defineEnumerableProperties(this, {
  450. "type": {
  451. value: Microsoft.Office.WebExtension.EventType.DataNodeDeleted
  452. },
  453. "oldNode": {
  454. value: oldNode
  455. },
  456. "oldNextSibling": {
  457. value: oldNextSibling
  458. },
  459. "inUndoRedo": {
  460. value: inUndoRedo
  461. }
  462. });
  463. };
  464. OSF.DDA.RichClientSettingsManager=(function OSF_DDA$RichClientSettingsManager() {
  465. return {
  466. read: function OSF_DDA_RichClientSettingsManager$Read(onCalling, onComplete) {
  467. var keys=[];
  468. var values=[];
  469. if (onCalling) {
  470. onCalling();
  471. }
  472. var initializationHelper=OSF._OfficeAppFactory.getInitializationHelper();
  473. var onReceivedContext=function onReceivedContext(appContext) {
  474. if (onComplete) {
  475. onComplete(OSF.DDA.ErrorCodeManager.errorCodes.ooeSuccess, appContext.get_settings());
  476. }
  477. };
  478. OSF._OfficeAppFactory.getWebkitAppContext(null, onReceivedContext);
  479. },
  480. write: function OSF_DDA_RichClientSettingsManager$Write(serializedSettings, overwriteIfStale, onCalling, onComplete) {
  481. var hostParams={};
  482. var keys=[];
  483. var values=[];
  484. for (var key in serializedSettings) {
  485. keys.push(key);
  486. values.push(serializedSettings[key]);
  487. }
  488. hostParams["keys"]=keys;
  489. hostParams["values"]=values;
  490. if (onCalling) {
  491. onCalling();
  492. }
  493. var onWriteCompleted=function onWriteCompleted(status) {
  494. if (onComplete) {
  495. onComplete(status[0], null);
  496. }
  497. };
  498. OSF.ScriptMessaging.GetScriptMessenger().invokeMethod(OSF.Webkit.MessageHandlerName, OSF.Webkit.MethodId.WriteSettings, hostParams, onWriteCompleted);
  499. }
  500. };
  501. })();
  502. OSF._OfficeAppFactory.getWebkitAppContext=function OSF__OfficeAppFactory$getWebkitAppContext(wnd, gotAppContext) {
  503. var getInvocationCallback=function OSF_InitializationHelper_getAppContextAsync$getInvocationCallbackWebApp(appContext) {
  504. var returnedContext;
  505. var appContextProperties=OSF.Webkit.AppContextProperties;
  506. var appType=appContext[appContextProperties.AppType];
  507. var appTypeSupported=false;
  508. for (var appEntry in OSF.AppName) {
  509. if (OSF.AppName[appEntry]==appType) {
  510. appTypeSupported=true;
  511. break;
  512. }
  513. }
  514. if (!appTypeSupported) {
  515. throw "Unsupported client type "+appType;
  516. }
  517. var hostSettings=appContext[appContextProperties.Settings];
  518. var serializedSettings={};
  519. var keys=hostSettings[0];
  520. var values=hostSettings[1];
  521. for (var index=0; index < keys.length; index++) {
  522. serializedSettings[keys[index]]=values[index];
  523. }
  524. var id=appContext[appContextProperties.SolutionReferenceId];
  525. var version=appContext[appContextProperties.MajorVersion];
  526. var clientMode=appContext[appContextProperties.AppCapabilities];
  527. var UILocale=appContext[appContextProperties.APPUILocale];
  528. var dataLocale=appContext[appContextProperties.AppDataLocale];
  529. var docUrl=appContext[appContextProperties.DocumentUrl];
  530. var reason=appContext[appContextProperties.ActivationMode];
  531. var osfControlType=appContext[appContextProperties.ControlIntegrationLevel];
  532. var eToken=appContext[appContextProperties.SolutionToken];
  533. eToken=eToken ? eToken.toString() : "";
  534. var correlationId=appContext[appContextProperties.CorrelationId];
  535. returnedContext=new OSF.OfficeAppContext(id, appType, version, UILocale, dataLocale, docUrl, clientMode, serializedSettings, reason, osfControlType, eToken, correlationId);
  536. if (OSF.AppTelemetry) {
  537. OSF.AppTelemetry.initialize(returnedContext);
  538. }
  539. gotAppContext(returnedContext);
  540. };
  541. OSF.ScriptMessaging.GetScriptMessenger().invokeMethod(OSF.Webkit.MessageHandlerName, OSF.Webkit.MethodId.GetContext, [], getInvocationCallback);
  542. }
  543. OSF.DDA.DispIdHost.getRichClientDelegateMethods=function (actionId) {
  544. var delegateMethods={};
  545. delegateMethods[OSF.DDA.DispIdHost.Delegates.ExecuteAsync]=OSF.DDA.SafeArray.Delegate.executeAsync;
  546. delegateMethods[OSF.DDA.DispIdHost.Delegates.RegisterEventAsync]=OSF.DDA.SafeArray.Delegate.registerEventAsync;
  547. delegateMethods[OSF.DDA.DispIdHost.Delegates.UnregisterEventAsync]=OSF.DDA.SafeArray.Delegate.unregisterEventAsync;
  548. function getSettingsExecuteMethod(hostDelegateMethod) {
  549. return function (args) {
  550. var status, response;
  551. var onComplete=function onComplete(status, response) {
  552. if (args.onReceiving) {
  553. args.onReceiving();
  554. }
  555. if (args.onComplete) {
  556. args.onComplete(status, response);
  557. }
  558. };
  559. try {
  560. hostDelegateMethod(args.hostCallArgs, args.onCalling, onComplete);
  561. } catch (ex) {
  562. status=OSF.DDA.ErrorCodeManager.errorCodes.ooeInternalError;
  563. response={ name: Strings.OfficeOM.L_InternalError, message: ex };
  564. onComplete(status, response);
  565. }
  566. };
  567. }
  568. function readSerializedSettings(hostCallArgs, onCalling, onReceiving) {
  569. return OSF.DDA.RichClientSettingsManager.read(onCalling, onReceiving);
  570. }
  571. function writeSerializedSettings(hostCallArgs, onCalling, onReceiving) {
  572. return OSF.DDA.RichClientSettingsManager.write(
  573. hostCallArgs[OSF.DDA.SettingsManager.SerializedSettings],
  574. hostCallArgs[Microsoft.Office.WebExtension.Parameters.OverwriteIfStale],
  575. onCalling,
  576. onReceiving
  577. );
  578. }
  579. switch (actionId) {
  580. case OSF.DDA.AsyncMethodNames.RefreshAsync.id:
  581. delegateMethods[OSF.DDA.DispIdHost.Delegates.ExecuteAsync]=getSettingsExecuteMethod(readSerializedSettings);
  582. break;
  583. case OSF.DDA.AsyncMethodNames.SaveAsync.id:
  584. delegateMethods[OSF.DDA.DispIdHost.Delegates.ExecuteAsync]=getSettingsExecuteMethod(writeSerializedSettings);
  585. break;
  586. default:
  587. break;
  588. }
  589. return delegateMethods;
  590. }
  591. OSF.OUtil.redefineList(Microsoft.Office.WebExtension.FileType, {
  592. Compressed: "compressed"
  593. });
  594. OSF.OUtil.redefineList(Microsoft.Office.WebExtension.CoercionType, {
  595. Text: "text"
  596. });
  597. OSF.OUtil.redefineList(Microsoft.Office.WebExtension.EventType, {
  598. DocumentSelectionChanged: "documentSelectionChanged"
  599. });
  600. OSF.OUtil.redefineList(Microsoft.Office.WebExtension.ValueFormat, {
  601. Unformatted: "unformatted"
  602. });
  603. OSF.OUtil.redefineList(Microsoft.Office.WebExtension.FilterType, {
  604. All: "all"
  605. });
  606. delete Microsoft.Office.WebExtension.BindingType;
  607. delete Microsoft.Office.WebExtension.select;
  608. OSF.OUtil.setNamespace("SafeArray", OSF.DDA);
  609. OSF.DDA.SafeArray.Response={
  610. Status: 0,
  611. Payload: 1
  612. };
  613. OSF.DDA.SafeArray.UniqueArguments={
  614. Offset: "offset",
  615. Run: "run",
  616. BindingSpecificData: "bindingSpecificData",
  617. MergedCellGuid: "{66e7831f-81b2-42e2-823c-89e872d541b3}"
  618. };
  619. OSF.OUtil.setNamespace("Delegate", OSF.DDA.SafeArray);
  620. OSF.DDA.SafeArray.Delegate.SpecialProcessor=function OSF_DDA_SafeArray_Delegate_SpecialProcessor() {
  621. function _2DVBArrayToJaggedArray(vbArr) {
  622. var ret;
  623. try {
  624. var rows=vbArr.ubound(1);
  625. var cols=vbArr.ubound(2);
  626. vbArr=vbArr.toArray();
  627. if (rows==1 && cols==1) {
  628. ret=[vbArr];
  629. } else {
  630. ret=[];
  631. for (var row=0; row < rows; row++) {
  632. var rowArr=[];
  633. for (var col=0; col < cols; col++) {
  634. var datum=vbArr[row * cols+col];
  635. if (datum !=OSF.DDA.SafeArray.UniqueArguments.MergedCellGuid) {
  636. rowArr.push(datum);
  637. }
  638. }
  639. if (rowArr.length > 0) {
  640. ret.push(rowArr);
  641. }
  642. }
  643. }
  644. } catch (ex) {
  645. }
  646. return ret;
  647. }
  648. var complexTypes=[
  649. OSF.DDA.PropertyDescriptors.FileProperties,
  650. OSF.DDA.PropertyDescriptors.FileSliceProperties,
  651. OSF.DDA.PropertyDescriptors.BindingProperties,
  652. OSF.DDA.SafeArray.UniqueArguments.BindingSpecificData,
  653. OSF.DDA.SafeArray.UniqueArguments.Offset,
  654. OSF.DDA.SafeArray.UniqueArguments.Run,
  655. OSF.DDA.PropertyDescriptors.Subset,
  656. OSF.DDA.PropertyDescriptors.DataPartProperties,
  657. OSF.DDA.PropertyDescriptors.DataNodeProperties,
  658. OSF.DDA.EventDescriptors.BindingSelectionChangedEvent,
  659. OSF.DDA.EventDescriptors.DataNodeInsertedEvent,
  660. OSF.DDA.EventDescriptors.DataNodeReplacedEvent,
  661. OSF.DDA.EventDescriptors.DataNodeDeletedEvent,
  662. OSF.DDA.DataNodeEventProperties.OldNode,
  663. OSF.DDA.DataNodeEventProperties.NewNode,
  664. OSF.DDA.DataNodeEventProperties.NextSiblingNode
  665. ];
  666. var dynamicTypes={};
  667. dynamicTypes[Microsoft.Office.WebExtension.Parameters.Data]=(function () {
  668. var tableRows=0;
  669. var tableHeaders=1;
  670. return {
  671. toHost: function OSF_DDA_SafeArray_Delegate_SpecialProcessor_Data$toHost(data) {
  672. if (typeof data !="string" && data[OSF.DDA.TableDataProperties.TableRows] !==undefined) {
  673. var tableData=[];
  674. tableData[tableRows]=data[OSF.DDA.TableDataProperties.TableRows];
  675. tableData[tableHeaders]=data[OSF.DDA.TableDataProperties.TableHeaders];
  676. data=tableData;
  677. }
  678. return data;
  679. },
  680. fromHost: function OSF_DDA_SafeArray_Delegate_SpecialProcessor_Data$fromHost(hostArgs) {
  681. var ret;
  682. if (hostArgs.toArray) {
  683. var dimensions=hostArgs.dimensions();
  684. if(dimensions===2) {
  685. ret=_2DVBArrayToJaggedArray(hostArgs);
  686. } else {
  687. var array=hostArgs.toArray();
  688. if(array.length===2 && ((array[0] !=null && array[0].toArray) || (array[1] !=null && array[1].toArray))) {
  689. ret={};
  690. ret[OSF.DDA.TableDataProperties.TableRows]=_2DVBArrayToJaggedArray(array[tableRows]);
  691. ret[OSF.DDA.TableDataProperties.TableHeaders]=_2DVBArrayToJaggedArray(array[tableHeaders]);
  692. } else {
  693. ret=array;
  694. }
  695. }
  696. } else {
  697. ret=hostArgs;
  698. }
  699. return ret;
  700. }
  701. }
  702. })();
  703. OSF.DDA.SafeArray.Delegate.SpecialProcessor.uber.constructor.call(this, complexTypes, dynamicTypes);
  704. this.pack=function OSF_DDA_SafeArray_Delegate_SpecialProcessor$pack(param, arg) {
  705. var value;
  706. if (this.isDynamicType(param)) {
  707. value=dynamicTypes[param].toHost(arg);
  708. } else {
  709. value=arg;
  710. }
  711. return value;
  712. };
  713. this.unpack=function OSF_DDA_SafeArray_Delegate_SpecialProcessor$unpack(param, arg) {
  714. var value;
  715. if (this.isComplexType(param) || OSF.DDA.ListType.isListType(param)) {
  716. try {
  717. value=arg.toArray();
  718. } catch (ex) {
  719. value=arg || {};
  720. }
  721. } else if (this.isDynamicType(param)) {
  722. value=dynamicTypes[param].fromHost(arg);
  723. } else {
  724. value=arg;
  725. }
  726. return value;
  727. };
  728. }
  729. OSF.OUtil.extend(OSF.DDA.SafeArray.Delegate.SpecialProcessor, OSF.DDA.SpecialProcessor);
  730. OSF.DDA.SafeArray.Delegate.ParameterMap=(function () {
  731. var parameterMap=new OSF.DDA.HostParameterMap(new OSF.DDA.SafeArray.Delegate.SpecialProcessor());
  732. var ns;
  733. var self=parameterMap.self;
  734. function createObject(properties) {
  735. var obj=null;
  736. if (properties) {
  737. obj={};
  738. var len=properties.length;
  739. for (var i=0; i < len; i++) {
  740. obj[properties[i].name]=properties[i].value;
  741. }
  742. }
  743. return obj;
  744. }
  745. function define(definition) {
  746. var args={};
  747. var toHost=createObject(definition.toHost);
  748. if (definition.invertible) {
  749. args.map=toHost;
  750. }
  751. else if (definition.canonical) {
  752. args.toHost=args.fromHost=toHost;
  753. }
  754. else {
  755. args.toHost=toHost;
  756. args.fromHost=createObject(definition.fromHost);
  757. }
  758. parameterMap.setMapping(definition.type, args);
  759. }
  760. ns=OSF.DDA.FileProperties;
  761. define({
  762. type: OSF.DDA.PropertyDescriptors.FileProperties,
  763. fromHost: [
  764. { name: ns.Handle, value: 0 },
  765. { name: ns.FileSize, value: 1 }
  766. ]
  767. });
  768. define({
  769. type: OSF.DDA.PropertyDescriptors.FileSliceProperties,
  770. fromHost: [
  771. { name: Microsoft.Office.WebExtension.Parameters.Data, value: 0 },
  772. { name: ns.SliceSize, value: 1}
  773. ]
  774. });
  775. ns=OSF.DDA.BindingProperties;
  776. define({
  777. type: OSF.DDA.PropertyDescriptors.BindingProperties,
  778. fromHost: [
  779. { name: ns.Id, value: 0 },
  780. { name: ns.Type, value: 1 },
  781. { name: OSF.DDA.SafeArray.UniqueArguments.BindingSpecificData, value: 2 }
  782. ]
  783. });
  784. define({
  785. type: OSF.DDA.SafeArray.UniqueArguments.BindingSpecificData,
  786. fromHost: [
  787. { name: ns.RowCount, value: 0 },
  788. { name: ns.ColumnCount, value: 1 },
  789. { name: ns.HasHeaders, value: 2 }
  790. ]
  791. });
  792. ns=OSF.DDA.SafeArray.UniqueArguments;
  793. define({
  794. type: OSF.DDA.PropertyDescriptors.Subset,
  795. toHost: [
  796. { name: ns.Offset, value: 0 },
  797. { name: ns.Run, value: 1 }
  798. ],
  799. canonical: true
  800. });
  801. ns=Microsoft.Office.WebExtension.Parameters;
  802. define({
  803. type: OSF.DDA.SafeArray.UniqueArguments.Offset,
  804. toHost: [
  805. { name: ns.StartRow, value: 0 },
  806. { name: ns.StartColumn, value: 1 }
  807. ],
  808. canonical: true
  809. });
  810. define({
  811. type: OSF.DDA.SafeArray.UniqueArguments.Run,
  812. toHost: [
  813. { name: ns.RowCount, value: 0 },
  814. { name: ns.ColumnCount, value: 1 }
  815. ],
  816. canonical: true
  817. });
  818. ns=OSF.DDA.DataPartProperties;
  819. define({
  820. type: OSF.DDA.PropertyDescriptors.DataPartProperties,
  821. fromHost: [
  822. { name: ns.Id, value: 0 },
  823. { name: ns.BuiltIn, value: 1 }
  824. ]
  825. });
  826. ns=OSF.DDA.DataNodeProperties;
  827. define({
  828. type: OSF.DDA.PropertyDescriptors.DataNodeProperties,
  829. fromHost: [
  830. { name: ns.Handle, value: 0 },
  831. { name: ns.BaseName, value: 1 },
  832. { name: ns.NamespaceUri, value: 2 },
  833. { name: ns.NodeType, value: 3 }
  834. ]
  835. });
  836. define({
  837. type: OSF.DDA.EventDescriptors.BindingSelectionChangedEvent,
  838. fromHost: [
  839. { name: OSF.DDA.PropertyDescriptors.BindingProperties, value: 0 },
  840. { name: OSF.DDA.PropertyDescriptors.Subset, value: 1 }
  841. ]
  842. });
  843. ns=OSF.DDA.DataNodeEventProperties;
  844. define({
  845. type: OSF.DDA.EventDescriptors.DataNodeInsertedEvent,
  846. fromHost: [
  847. { name: ns.InUndoRedo, value: 0 },
  848. { name: ns.NewNode, value: 1 }
  849. ]
  850. });
  851. define({
  852. type: OSF.DDA.EventDescriptors.DataNodeReplacedEvent,
  853. fromHost: [
  854. { name: ns.InUndoRedo, value: 0 },
  855. { name: ns.OldNode, value: 1 },
  856. { name: ns.NewNode, value: 2 }
  857. ]
  858. });
  859. define({
  860. type: OSF.DDA.EventDescriptors.DataNodeDeletedEvent,
  861. fromHost: [
  862. { name: ns.InUndoRedo, value: 0 },
  863. { name: ns.OldNode, value: 1 },
  864. { name: ns.NextSiblingNode, value: 2 }
  865. ]
  866. });
  867. define({
  868. type: ns.OldNode,
  869. fromHost: [
  870. { name: OSF.DDA.PropertyDescriptors.DataNodeProperties, value: self }
  871. ]
  872. });
  873. define({
  874. type: ns.NewNode,
  875. fromHost: [
  876. { name: OSF.DDA.PropertyDescriptors.DataNodeProperties, value: self }
  877. ]
  878. });
  879. define({
  880. type: ns.NextSiblingNode,
  881. fromHost: [
  882. { name: OSF.DDA.PropertyDescriptors.DataNodeProperties, value: self }
  883. ]
  884. });
  885. ns=Microsoft.Office.WebExtension.AsyncResultStatus;
  886. define({
  887. type: OSF.DDA.PropertyDescriptors.AsyncResultStatus,
  888. fromHost: [
  889. { name: ns.Succeeded, value: 0 },
  890. { name: ns.Failed, value: 1 }
  891. ]
  892. });
  893. ns=Microsoft.Office.WebExtension.CoercionType;
  894. define({
  895. type: Microsoft.Office.WebExtension.Parameters.CoercionType,
  896. toHost: [
  897. { name: ns.Text, value: 0 },
  898. { name: ns.Matrix, value: 1 },
  899. { name: ns.Table, value: 2 },
  900. { name: ns.Html, value: 3 },
  901. { name: ns.Ooxml, value: 4 }
  902. ]
  903. });
  904. ns=Microsoft.Office.WebExtension.FileType;
  905. if (ns) {
  906. define({
  907. type: Microsoft.Office.WebExtension.Parameters.FileType,
  908. toHost: [
  909. { name: ns.Text, value: 0 },
  910. { name: ns.Compressed, value: 5 }
  911. ]
  912. });
  913. }
  914. ns=Microsoft.Office.WebExtension.BindingType;
  915. if (ns) {
  916. define({
  917. type: Microsoft.Office.WebExtension.Parameters.BindingType,
  918. toHost: [
  919. { name: ns.Text, value: 0 },
  920. { name: ns.Matrix, value: 1 },
  921. { name: ns.Table, value: 2 }
  922. ],
  923. invertible: true
  924. });
  925. }
  926. ns=Microsoft.Office.WebExtension.ValueFormat;
  927. define({
  928. type: Microsoft.Office.WebExtension.Parameters.ValueFormat,
  929. toHost: [
  930. { name: ns.Unformatted, value: 0 },
  931. { name: ns.Formatted, value: 1 }
  932. ]
  933. });
  934. ns=Microsoft.Office.WebExtension.FilterType;
  935. define({
  936. type: Microsoft.Office.WebExtension.Parameters.FilterType,
  937. toHost: [
  938. { name: ns.All, value: 0 },
  939. { name: ns.OnlyVisible, value: 1 }
  940. ]
  941. });
  942. ns=Microsoft.Office.WebExtension.Parameters;
  943. var cns=OSF.DDA.MethodDispId;
  944. define({
  945. type: cns.dispidGetSelectedDataMethod,
  946. fromHost: [
  947. { name: ns.Data, value: self }
  948. ],
  949. toHost: [
  950. { name: ns.CoercionType, value: 0 },
  951. { name: ns.ValueFormat, value: 1 },
  952. { name: ns.FilterType, value: 2 }
  953. ]
  954. });
  955. define({
  956. type: cns.dispidSetSelectedDataMethod,
  957. toHost: [
  958. { name: ns.CoercionType, value: 0 },
  959. { name: ns.Data, value: 1 }
  960. ]
  961. });
  962. define({
  963. type: cns.dispidGetDocumentCopyMethod,
  964. toHost: [{ name: ns.FileType, value: 0}],
  965. fromHost: [
  966. { name: OSF.DDA.PropertyDescriptors.FileProperties, value: self }
  967. ]
  968. });
  969. define({
  970. type: cns.dispidGetDocumentCopyChunkMethod,
  971. toHost: [
  972. { name: OSF.DDA.FileProperties.Handle, value: 0 },
  973. { name: OSF.DDA.FileSliceOffset, value: 1 },
  974. { name: OSF.DDA.FileProperties.SliceSize, value: 2 }
  975. ],
  976. fromHost: [
  977. { name: OSF.DDA.PropertyDescriptors.FileSliceProperties, value: self }
  978. ]
  979. });
  980. define({
  981. type: cns.dispidReleaseDocumentCopyMethod,
  982. toHost: [{ name: OSF.DDA.FileProperties.Handle, value: 0}]
  983. });
  984. define({
  985. type: cns.dispidAddBindingFromSelectionMethod,
  986. fromHost: [
  987. { name: OSF.DDA.PropertyDescriptors.BindingProperties, value: self }
  988. ],
  989. toHost: [
  990. { name: ns.Id, value: 0 },
  991. { name: ns.BindingType, value: 1 }
  992. ]
  993. });
  994. define({
  995. type: cns.dispidAddBindingFromPromptMethod,
  996. fromHost: [
  997. { name: OSF.DDA.PropertyDescriptors.BindingProperties, value: self }
  998. ],
  999. toHost: [
  1000. { name: ns.Id, value: 0 },
  1001. { name: ns.BindingType, value: 1 },
  1002. { name: ns.PromptText, value: 2 }
  1003. ]
  1004. });
  1005. define({
  1006. type: cns.dispidAddBindingFromNamedItemMethod,
  1007. fromHost: [
  1008. { name: OSF.DDA.PropertyDescriptors.BindingProperties, value: self }
  1009. ],
  1010. toHost: [
  1011. { name: ns.ItemName, value: 0 },
  1012. { name: ns.Id, value: 1 },
  1013. { name: ns.BindingType, value: 2 },
  1014. { name: ns.FailOnCollision, value: 3 }
  1015. ]
  1016. });
  1017. define({
  1018. type: cns.dispidReleaseBindingMethod,
  1019. toHost: [
  1020. { name: ns.Id, value: 0 }
  1021. ]
  1022. });
  1023. define({
  1024. type: cns.dispidGetBindingMethod,
  1025. fromHost: [
  1026. { name: OSF.DDA.PropertyDescriptors.BindingProperties, value: self }
  1027. ],
  1028. toHost: [
  1029. { name: ns.Id, value: 0 }
  1030. ]
  1031. });
  1032. define({
  1033. type: cns.dispidGetAllBindingsMethod,
  1034. fromHost: [
  1035. { name: OSF.DDA.ListDescriptors.BindingList, value: self }
  1036. ]
  1037. });
  1038. define({
  1039. type: cns.dispidGetBindingDataMethod,
  1040. fromHost: [
  1041. { name: ns.Data, value: self }
  1042. ],
  1043. toHost: [
  1044. { name: ns.Id, value: 0 },
  1045. { name: ns.CoercionType, value: 1 },
  1046. { name: ns.ValueFormat, value: 2 },
  1047. { name: ns.FilterType, value: 3 },
  1048. { name: OSF.DDA.PropertyDescriptors.Subset, value: 4 }
  1049. ]
  1050. });
  1051. define({
  1052. type: cns.dispidSetBindingDataMethod,
  1053. toHost: [
  1054. { name: ns.Id, value: 0 },
  1055. { name: ns.CoercionType, value: 1 },
  1056. { name: ns.Data, value: 2 },
  1057. { name: OSF.DDA.SafeArray.UniqueArguments.Offset, value: 3 }
  1058. ]
  1059. });
  1060. define({
  1061. type: cns.dispidAddRowsMethod,
  1062. toHost: [
  1063. { name: ns.Id, value: 0 },
  1064. { name: ns.Data, value: 1 }
  1065. ]
  1066. });
  1067. define({
  1068. type: cns.dispidAddColumnsMethod,
  1069. toHost: [
  1070. { name: ns.Id, value: 0 },
  1071. { name: ns.Data, value: 1 }
  1072. ]
  1073. });
  1074. define({
  1075. type: cns.dispidClearAllRowsMethod,
  1076. toHost: [
  1077. { name: ns.Id, value: 0 }
  1078. ]
  1079. });
  1080. define({
  1081. type: cns.dispidLoadSettingsMethod,
  1082. fromHost: [
  1083. { name: OSF.DDA.SettingsManager.SerializedSettings, value: self }
  1084. ]
  1085. });
  1086. define({
  1087. type: cns.dispidSaveSettingsMethod,
  1088. toHost: [
  1089. { name: OSF.DDA.SettingsManager.SerializedSettings, value: OSF.DDA.SettingsManager.SerializedSettings },
  1090. { name: Microsoft.Office.WebExtension.Parameters.OverwriteIfStale, value: Microsoft.Office.WebExtension.Parameters.OverwriteIfStale }
  1091. ]
  1092. });
  1093. define({
  1094. type: cns.dispidAddDataPartMethod,
  1095. fromHost: [
  1096. { name: OSF.DDA.PropertyDescriptors.DataPartProperties, value: self }
  1097. ],
  1098. toHost: [
  1099. { name: ns.Xml, value: 0 }
  1100. ]
  1101. });
  1102. define({
  1103. type: cns.dispidGetDataPartByIdMethod,
  1104. fromHost: [
  1105. { name: OSF.DDA.PropertyDescriptors.DataPartProperties, value: self }
  1106. ],
  1107. toHost: [
  1108. { name: ns.Id, value: 0 }
  1109. ]
  1110. });
  1111. define({
  1112. type: cns.dispidGetDataPartsByNamespaceMethod,
  1113. fromHost: [
  1114. { name: OSF.DDA.ListDescriptors.DataPartList, value: self }
  1115. ],
  1116. toHost: [
  1117. { name: ns.Namespace, value: 0 }
  1118. ]
  1119. });
  1120. define({
  1121. type: cns.dispidGetDataPartXmlMethod,
  1122. fromHost: [
  1123. { name: ns.Data, value: self}
  1124. ],
  1125. toHost: [
  1126. { name: ns.Id, value: 0 }
  1127. ]
  1128. });
  1129. define({
  1130. type: cns.dispidGetDataPartNodesMethod,
  1131. fromHost: [
  1132. { name: OSF.DDA.ListDescriptors.DataNodeList, value: self }
  1133. ],
  1134. toHost: [
  1135. { name: ns.Id, value: 0 },
  1136. { name: ns.XPath, value: 1 }
  1137. ]
  1138. });
  1139. define({
  1140. type: cns.dispidDeleteDataPartMethod,
  1141. toHost: [
  1142. { name: ns.Id, value: 0 }
  1143. ]
  1144. });
  1145. define({
  1146. type: cns.dispidGetDataNodeValueMethod,
  1147. fromHost: [
  1148. { name: ns.Data, value: self}
  1149. ],
  1150. toHost: [
  1151. { name: OSF.DDA.DataNodeProperties.Handle, value: 0 }
  1152. ]
  1153. });
  1154. define({
  1155. type: cns.dispidGetDataNodeXmlMethod,
  1156. fromHost: [
  1157. { name: ns.Data, value: self}
  1158. ],
  1159. toHost: [
  1160. { name: OSF.DDA.DataNodeProperties.Handle, value: 0 }
  1161. ]
  1162. });
  1163. define({
  1164. type: cns.dispidGetDataNodesMethod,
  1165. fromHost: [
  1166. { name: OSF.DDA.ListDescriptors.DataNodeList, value: self }
  1167. ],
  1168. toHost: [
  1169. { name: OSF.DDA.DataNodeProperties.Handle, value: 0 },
  1170. { name: ns.XPath, value: 1 }
  1171. ]
  1172. });
  1173. define({
  1174. type: cns.dispidSetDataNodeValueMethod,
  1175. toHost: [
  1176. { name: OSF.DDA.DataNodeProperties.Handle, value: 0 },
  1177. { name: ns.Data, value: 1 }
  1178. ]
  1179. });
  1180. define({
  1181. type: cns.dispidSetDataNodeXmlMethod,
  1182. toHost: [
  1183. { name: OSF.DDA.DataNodeProperties.Handle, value: 0 },
  1184. { name: ns.Xml, value: 1 }
  1185. ]
  1186. });
  1187. define({
  1188. type: cns.dispidAddDataNamespaceMethod,
  1189. toHost: [
  1190. { name: OSF.DDA.DataPartProperties.Id, value: 0 },
  1191. { name: ns.Prefix, value: 1 },
  1192. { name: ns.Namespace, value: 2 }
  1193. ]
  1194. });
  1195. define({
  1196. type: cns.dispidGetDataUriByPrefixMethod,
  1197. fromHost: [
  1198. { name: ns.Data, value: self}
  1199. ],
  1200. toHost: [
  1201. { name: OSF.DDA.DataPartProperties.Id, value: 0 },
  1202. { name: ns.Prefix, value: 1 }
  1203. ]
  1204. });
  1205. define({
  1206. type: cns.dispidGetDataPrefixByUriMethod,
  1207. fromHost: [
  1208. { name: ns.Data, value: self}
  1209. ],
  1210. toHost: [
  1211. { name: OSF.DDA.DataPartProperties.Id, value: 0 },
  1212. { name: ns.Namespace, value: 1 }
  1213. ]
  1214. });
  1215. define({
  1216. type: cns.dispidGetSelectedTaskMethod,
  1217. fromHost: [
  1218. { name: ns.TaskId, value: self }
  1219. ]
  1220. });
  1221. define({
  1222. type: cns.dispidGetTaskMethod,
  1223. fromHost: [
  1224. { name: "taskName", value: 0 },
  1225. { name: "wssTaskId", value: 1 },
  1226. { name: "resourceNames", value: 2 }
  1227. ],
  1228. toHost: [
  1229. { name: ns.TaskId, value: 0 }
  1230. ]
  1231. });
  1232. define({
  1233. type: cns.dispidGetTaskFieldMethod,
  1234. fromHost: [
  1235. { name: ns.FieldValue, value: self }
  1236. ],
  1237. toHost: [
  1238. { name: ns.TaskId, value: 0 },
  1239. { name: ns.FieldId, value: 1 },
  1240. { name: ns.GetRawValue, value: 2 }
  1241. ]
  1242. });
  1243. define({
  1244. type: cns.dispidGetWSSUrlMethod,
  1245. fromHost: [
  1246. { name: ns.ServerUrl, value: 0 },
  1247. { name: ns.ListName, value: 1 }
  1248. ]
  1249. });
  1250. define({
  1251. type: cns.dispidGetSelectedResourceMethod,
  1252. fromHost: [
  1253. { name: ns.ResourceId, value: self }
  1254. ]
  1255. });
  1256. define({
  1257. type: cns.dispidGetResourceFieldMethod,
  1258. fromHost: [
  1259. { name: ns.FieldValue, value: self }
  1260. ],
  1261. toHost: [
  1262. { name: ns.ResourceId, value: 0 },
  1263. { name: ns.FieldId, value: 1 },
  1264. { name: ns.GetRawValue, value: 2 }
  1265. ]
  1266. });
  1267. define({
  1268. type: cns.dispidGetProjectFieldMethod,
  1269. fromHost: [
  1270. { name: ns.FieldValue, value: self }
  1271. ],
  1272. toHost: [
  1273. { name: ns.FieldId, value: 0 },
  1274. { name: ns.GetRawValue, value: 1 }
  1275. ]
  1276. });
  1277. define({
  1278. type: cns.dispidGetSelectedViewMethod,
  1279. fromHost: [
  1280. { name: ns.ViewType, value: 0 },
  1281. { name: ns.ViewName, value: 1 }
  1282. ]
  1283. });
  1284. cns=OSF.DDA.EventDispId
  1285. define({ type: cns.dispidDocumentSelectionChangedEvent });
  1286. define({
  1287. type: cns.dispidBindingSelectionChangedEvent,
  1288. fromHost: [
  1289. {name: OSF.DDA.EventDescriptors.BindingSelectionChangedEvent, value: self}
  1290. ]
  1291. });
  1292. define({
  1293. type: cns.dispidBindingDataChangedEvent,
  1294. fromHost: [{ name: OSF.DDA.PropertyDescriptors.BindingProperties, value: self}]
  1295. });
  1296. define({ type: cns.dispidSettingsChangedEvent });
  1297. define({
  1298. type: cns.dispidDataNodeAddedEvent,
  1299. fromHost: [{ name: OSF.DDA.EventDescriptors.DataNodeInsertedEvent, value: self}]
  1300. });
  1301. define({
  1302. type: cns.dispidDataNodeReplacedEvent,
  1303. fromHost: [{ name: OSF.DDA.EventDescriptors.DataNodeReplacedEvent, value: self}]
  1304. });
  1305. define({
  1306. type: cns.dispidDataNodeDeletedEvent,
  1307. fromHost: [{ name: OSF.DDA.EventDescriptors.DataNodeDeletedEvent, value: self}]
  1308. });
  1309. define({ type: cns.dispidTaskSelectionChangedEvent });
  1310. define({ type: cns.dispidResourceSelectionChangedEvent });
  1311. define({ type: cns.dispidViewSelectionChangedEvent });
  1312. return parameterMap;
  1313. })();
  1314. OSF.DDA.SafeArray.Delegate._onException=function OSF_DDA_SafeArray_Delegate$OnException(ex, args) {
  1315. var status;
  1316. var number=ex.number;
  1317. if (number) {
  1318. switch (number) {
  1319. case -2146828218:
  1320. status=OSF.DDA.ErrorCodeManager.errorCodes.ooeNoCapability;
  1321. break;
  1322. case -2146827850:
  1323. default:
  1324. status=OSF.DDA.ErrorCodeManager.errorCodes.ooeInternalError;
  1325. break;
  1326. }
  1327. }
  1328. if (args.onComplete) {
  1329. args.onComplete(status || OSF.DDA.ErrorCodeManager.errorCodes.ooeInternalError);
  1330. }
  1331. }
  1332. OSF.DDA.SafeArray.Delegate.executeAsync=function OSF_DDA_SafeArray_Delegate$ExecuteAsync(args) {
  1333. try {
  1334. if (args.onCalling) {
  1335. args.onCalling();
  1336. }
  1337. function toArray(args) {
  1338. var arrArgs=args;
  1339. if (OSF.OUtil.isArray(args)) {
  1340. var len=arrArgs.length;
  1341. for (var i=0; i < len; i++) {
  1342. arrArgs[i]=toArray(arrArgs[i]);
  1343. }
  1344. } else if (OSF.OUtil.isDate(args)) {
  1345. arrArgs=args.getVarDate();
  1346. } else if (typeof args==="object" && !OSF.OUtil.isArray(args)) {
  1347. arrArgs=[];
  1348. for (var index in args) {
  1349. if (!OSF.OUtil.isFunction(args[index])) {
  1350. arrArgs[index]=toArray(args[index]);
  1351. }
  1352. }
  1353. }
  1354. return arrArgs;
  1355. }
  1356. var startTime=(new Date()).getTime();
  1357. OSF.ClientHostController.execute(
  1358. args.dispId,
  1359. toArray(args.hostCallArgs),
  1360. function OSF_DDA_SafeArrayFacade$Execute_OnResponse(hostResponseArgs) {
  1361. if (args.onReceiving) {
  1362. args.onReceiving();
  1363. }
  1364. var result=hostResponseArgs.toArray();
  1365. var status=result[OSF.DDA.SafeArray.Response.Status];
  1366. if (args.onComplete) {
  1367. var payload;
  1368. if (status==OSF.DDA.ErrorCodeManager.errorCodes.ooeSuccess) {
  1369. if (result.length > 2) {
  1370. payload=[];
  1371. for (var i=1; i < result.length; i++)
  1372. payload[i - 1]=result[i];
  1373. }
  1374. else {
  1375. payload=result[OSF.DDA.SafeArray.Response.Payload];
  1376. }
  1377. }
  1378. else {
  1379. payload=result[OSF.DDA.SafeArray.Response.Payload];
  1380. }
  1381. args.onComplete(status, payload);
  1382. }
  1383. if (OSF.AppTelemetry) {
  1384. OSF.AppTelemetry.onMethodDone(args.dispId, args.hostCallArgs, Math.abs((new Date()).getTime() - startTime), status);
  1385. }
  1386. }
  1387. );
  1388. }
  1389. catch (ex) {
  1390. OSF.DDA.SafeArray.Delegate._onException(ex, args);
  1391. }
  1392. };
  1393. OSF.DDA.SafeArray.Delegate._getOnAfterRegisterEvent=function OSF_DDA_SafeArrayDelegate$GetOnAfterRegisterEvent(register, args) {
  1394. var startTime=(new Date()).getTime();
  1395. return function OSF_DDA_SafeArrayDelegate$OnAfterRegisterEvent(hostResponseArgs) {
  1396. if (args.onReceiving) {
  1397. args.onReceiving();
  1398. }
  1399. var status=hostResponseArgs.toArray ? hostResponseArgs.toArray()[OSF.DDA.SafeArray.Response.Status] : hostResponseArgs;
  1400. if (args.onComplete) {
  1401. args.onComplete(status)
  1402. }
  1403. if (OSF.AppTelemetry) {
  1404. OSF.AppTelemetry.onRegisterDone(register, args.dispId, Math.abs((new Date()).getTime() - startTime), status);
  1405. }
  1406. }
  1407. }
  1408. OSF.DDA.SafeArray.Delegate.registerEventAsync=function OSF_DDA_SafeArray_Delegate$RegisterEventAsync(args) {
  1409. if (args.onCalling) {
  1410. args.onCalling();
  1411. }
  1412. var callback=OSF.DDA.SafeArray.Delegate._getOnAfterRegisterEvent(true, args);
  1413. try {
  1414. OSF.ClientHostController.registerEvent(
  1415. args.dispId,
  1416. args.targetId,
  1417. function OSF_DDA_SafeArrayDelegate$RegisterEventAsync_OnEvent(eventDispId, payload) {
  1418. if (args.onEvent) {
  1419. args.onEvent(payload);
  1420. }
  1421. if (OSF.AppTelemetry) {
  1422. OSF.AppTelemetry.onEventDone(args.dispId);
  1423. }
  1424. },
  1425. callback
  1426. );
  1427. }
  1428. catch (ex) {
  1429. OSF.DDA.SafeArray.Delegate._onException(ex, args);
  1430. }
  1431. };
  1432. OSF.DDA.SafeArray.Delegate.unregisterEventAsync=function OSF_DDA_SafeArray_Delegate$UnregisterEventAsync(args) {
  1433. if (args.onCalling) {
  1434. args.onCalling();
  1435. }
  1436. var callback=OSF.DDA.SafeArray.Delegate._getOnAfterRegisterEvent(false, args);
  1437. try {
  1438. OSF.ClientHostController.unregisterEvent(
  1439. args.dispId,
  1440. args.targetId,
  1441. callback
  1442. );
  1443. }
  1444. catch (ex) {
  1445. OSF.DDA.SafeArray.Delegate._onException(ex, args);
  1446. }
  1447. };
  1448. OSF.DDA.PowerPointDocument=function OSF_DDA_PowerPointDocument(officeAppContext, settings) {
  1449. OSF.DDA.PowerPointDocument.uber.constructor.call(this, officeAppContext, settings);
  1450. OSF.DDA.DispIdHost.addAsyncMethods(this, [
  1451. OSF.DDA.AsyncMethodNames.GetSelectedDataAsync,
  1452. OSF.DDA.AsyncMethodNames.SetSelectedDataAsync,
  1453. OSF.DDA.AsyncMethodNames.GetDocumentCopyAsync
  1454. ]);
  1455. OSF.DDA.DispIdHost.addEventSupport(this, new OSF.EventDispatch([Microsoft.Office.WebExtension.EventType.DocumentSelectionChanged]));
  1456. OSF.OUtil.finalizeProperties(this);
  1457. };
  1458. OSF.OUtil.extend(OSF.DDA.PowerPointDocument, OSF.DDA.Document);