No Description
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.

word-15.debug.js 29KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107
  1. /* Word specific JavaScript API library */
  2. /* Version: 15.0.4420.1017 Build Time: 03/31/2014 */
  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.OUtil.augmentList(Microsoft.Office.WebExtension.CoercionType, {
  10. Html: "html",
  11. Ooxml: "ooxml"
  12. });
  13. OSF.OUtil.augmentList(Microsoft.Office.WebExtension.EventType, {
  14. DataNodeDeleted: "nodeDeleted",
  15. DataNodeInserted: "nodeInserted",
  16. DataNodeReplaced: "nodeReplaced"
  17. });
  18. OSF.ClientMode={
  19. ReadWrite: 0,
  20. ReadOnly: 1
  21. }
  22. OSF.DDA.RichInitializationReason={
  23. 1: Microsoft.Office.WebExtension.InitializationReason.Inserted,
  24. 2: Microsoft.Office.WebExtension.InitializationReason.DocumentOpened
  25. };
  26. Microsoft.Office.WebExtension.FileType={
  27. Text: "text",
  28. Compressed: "compressed"
  29. };
  30. OSF.DDA.RichClientSettingsManager={
  31. read: function OSF_DDA_RichClientSettingsManager$Read(onCalling, onReceiving) {
  32. var keys=[];
  33. var values=[];
  34. if (onCalling) {
  35. onCalling();
  36. }
  37. window.external.GetContext().GetSettings().Read(keys, values);
  38. if (onReceiving) {
  39. onReceiving();
  40. }
  41. var serializedSettings={};
  42. for (var index=0; index < keys.length; index++) {
  43. serializedSettings[keys[index]]=values[index];
  44. }
  45. return serializedSettings;
  46. },
  47. write: function OSF_DDA_RichClientSettingsManager$Write(serializedSettings, overwriteIfStale, onCalling, onReceiving) {
  48. var keys=[];
  49. var values=[];
  50. for (var key in serializedSettings) {
  51. keys.push(key);
  52. values.push(serializedSettings[key]);
  53. }
  54. if (onCalling) {
  55. onCalling();
  56. }
  57. window.external.GetContext().GetSettings().Write(keys, values);
  58. if (onReceiving) {
  59. onReceiving();
  60. }
  61. }
  62. };
  63. OSF.DDA.DispIdHost.getRichClientDelegateMethods=function (actionId) {
  64. var delegateMethods={};
  65. delegateMethods[OSF.DDA.DispIdHost.Delegates.ExecuteAsync]=OSF.DDA.SafeArray.Delegate.executeAsync;
  66. delegateMethods[OSF.DDA.DispIdHost.Delegates.RegisterEventAsync]=OSF.DDA.SafeArray.Delegate.registerEventAsync;
  67. delegateMethods[OSF.DDA.DispIdHost.Delegates.UnregisterEventAsync]=OSF.DDA.SafeArray.Delegate.unregisterEventAsync;
  68. function getSettingsExecuteMethod(hostDelegateMethod) {
  69. return function (args) {
  70. var status, response;
  71. try {
  72. response=hostDelegateMethod(args.hostCallArgs, args.onCalling, args.onReceiving);
  73. status=OSF.DDA.ErrorCodeManager.errorCodes.ooeSuccess;
  74. } catch (ex) {
  75. status=OSF.DDA.ErrorCodeManager.errorCodes.ooeInternalError;
  76. response={ name : Strings.OfficeOM.L_InternalError, message : ex };
  77. }
  78. if (args.onComplete) {
  79. args.onComplete(status, response);
  80. }
  81. };
  82. }
  83. function readSerializedSettings(hostCallArgs, onCalling, onReceiving) {
  84. return OSF.DDA.RichClientSettingsManager.read(onCalling, onReceiving);
  85. }
  86. function writeSerializedSettings(hostCallArgs, onCalling, onReceiving) {
  87. return OSF.DDA.RichClientSettingsManager.write(
  88. hostCallArgs[OSF.DDA.SettingsManager.SerializedSettings],
  89. hostCallArgs[Microsoft.Office.WebExtension.Parameters.OverwriteIfStale],
  90. onCalling,
  91. onReceiving
  92. );
  93. }
  94. switch (actionId) {
  95. case OSF.DDA.AsyncMethodNames.RefreshAsync.id:
  96. delegateMethods[OSF.DDA.DispIdHost.Delegates.ExecuteAsync]=getSettingsExecuteMethod(readSerializedSettings);
  97. break;
  98. case OSF.DDA.AsyncMethodNames.SaveAsync.id:
  99. delegateMethods[OSF.DDA.DispIdHost.Delegates.ExecuteAsync]=getSettingsExecuteMethod(writeSerializedSettings);
  100. break;
  101. default:
  102. break;
  103. }
  104. return delegateMethods;
  105. }
  106. OSF.DDA.File=function OSF_DDA_File(handle, fileSize, sliceSize) {
  107. OSF.OUtil.defineEnumerableProperties(this, {
  108. "size": {
  109. value: fileSize
  110. },
  111. "sliceCount": {
  112. value: Math.ceil(fileSize / sliceSize)
  113. }
  114. });
  115. var privateState={};
  116. privateState[OSF.DDA.FileProperties.Handle]=handle;
  117. privateState[OSF.DDA.FileProperties.SliceSize]=sliceSize;
  118. var am=OSF.DDA.AsyncMethodNames;
  119. OSF.DDA.DispIdHost.addAsyncMethods(
  120. this, [
  121. am.GetDocumentCopyChunkAsync,
  122. am.ReleaseDocumentCopyAsync
  123. ],
  124. privateState
  125. );
  126. }
  127. OSF.DDA.FileSliceOffset="fileSliceoffset";
  128. OSF.DDA.CustomXmlParts=function OSF_DDA_CustomXmlParts() {
  129. this._eventDispatches=[];
  130. var am=OSF.DDA.AsyncMethodNames;
  131. OSF.DDA.DispIdHost.addAsyncMethods(this, [
  132. am.AddDataPartAsync,
  133. am.GetDataPartByIdAsync,
  134. am.GetDataPartsByNameSpaceAsync
  135. ]);
  136. };
  137. OSF.DDA.CustomXmlPart=function OSF_DDA_CustomXmlPart(customXmlParts, id, builtIn) {
  138. OSF.OUtil.defineEnumerableProperties(this, {
  139. "builtIn": {
  140. value: builtIn
  141. },
  142. "id": {
  143. value: id
  144. },
  145. "namespaceManager": {
  146. value: new OSF.DDA.CustomXmlPrefixMappings(id)
  147. }
  148. });
  149. var am=OSF.DDA.AsyncMethodNames;
  150. OSF.DDA.DispIdHost.addAsyncMethods(this, [
  151. am.DeleteDataPartAsync,
  152. am.GetPartNodesAsync,
  153. am.GetPartXmlAsync
  154. ]);
  155. var customXmlPartEventDispatches=customXmlParts._eventDispatches;
  156. var dispatch=customXmlPartEventDispatches[id];
  157. if (!dispatch) {
  158. var et=Microsoft.Office.WebExtension.EventType;
  159. dispatch=new OSF.EventDispatch([
  160. et.DataNodeDeleted,
  161. et.DataNodeInserted,
  162. et.DataNodeReplaced
  163. ]);
  164. customXmlPartEventDispatches[id]=dispatch;
  165. }
  166. OSF.DDA.DispIdHost.addEventSupport(this, dispatch);
  167. };
  168. OSF.DDA.CustomXmlPrefixMappings=function OSF_DDA_CustomXmlPrefixMappings(partId) {
  169. var am=OSF.DDA.AsyncMethodNames;
  170. OSF.DDA.DispIdHost.addAsyncMethods(
  171. this,
  172. [
  173. am.AddDataPartNamespaceAsync,
  174. am.GetDataPartNamespaceAsync,
  175. am.GetDataPartPrefixAsync
  176. ],
  177. partId
  178. );
  179. };
  180. OSF.DDA.CustomXmlNode=function OSF_DDA_CustomXmlNode(handle, nodeType, ns, baseName) {
  181. OSF.OUtil.defineEnumerableProperties(this, {
  182. "baseName": {
  183. value: baseName
  184. },
  185. "namespaceUri": {
  186. value: ns
  187. },
  188. "nodeType": {
  189. value: nodeType
  190. }
  191. });
  192. var am=OSF.DDA.AsyncMethodNames;
  193. OSF.DDA.DispIdHost.addAsyncMethods(
  194. this,
  195. [
  196. am.GetRelativeNodesAsync,
  197. am.GetNodeValueAsync,
  198. am.GetNodeXmlAsync,
  199. am.SetNodeValueAsync,
  200. am.SetNodeXmlAsync
  201. ],
  202. handle
  203. );
  204. };
  205. OSF.DDA.NodeInsertedEventArgs=function OSF_DDA_NodeInsertedEventArgs(newNode, inUndoRedo) {
  206. OSF.OUtil.defineEnumerableProperties(this, {
  207. "type": {
  208. value: Microsoft.Office.WebExtension.EventType.DataNodeInserted
  209. },
  210. "newNode": {
  211. value: newNode
  212. },
  213. "inUndoRedo": {
  214. value: inUndoRedo
  215. }
  216. });
  217. };
  218. OSF.DDA.NodeReplacedEventArgs=function OSF_DDA_NodeReplacedEventArgs(oldNode, newNode, inUndoRedo) {
  219. OSF.OUtil.defineEnumerableProperties(this, {
  220. "type": {
  221. value: Microsoft.Office.WebExtension.EventType.DataNodeReplaced
  222. },
  223. "oldNode": {
  224. value: oldNode
  225. },
  226. "newNode": {
  227. value: newNode
  228. },
  229. "inUndoRedo": {
  230. value: inUndoRedo
  231. }
  232. });
  233. };
  234. OSF.DDA.NodeDeletedEventArgs=function OSF_DDA_NodeDeletedEventArgs(oldNode, oldNextSibling, inUndoRedo) {
  235. OSF.OUtil.defineEnumerableProperties(this, {
  236. "type": {
  237. value: Microsoft.Office.WebExtension.EventType.DataNodeDeleted
  238. },
  239. "oldNode": {
  240. value: oldNode
  241. },
  242. "oldNextSibling": {
  243. value: oldNextSibling
  244. },
  245. "inUndoRedo": {
  246. value: inUndoRedo
  247. }
  248. });
  249. };
  250. OSF.OUtil.setNamespace("SafeArray", OSF.DDA);
  251. OSF.DDA.SafeArray.Response={
  252. Status: 0,
  253. Payload: 1
  254. };
  255. OSF.DDA.SafeArray.UniqueArguments={
  256. Offset: "offset",
  257. Run: "run",
  258. BindingSpecificData: "bindingSpecificData",
  259. MergedCellGuid: "{66e7831f-81b2-42e2-823c-89e872d541b3}"
  260. };
  261. OSF.OUtil.setNamespace("Delegate", OSF.DDA.SafeArray);
  262. OSF.DDA.SafeArray.Delegate.SpecialProcessor=function OSF_DDA_SafeArray_Delegate_SpecialProcessor() {
  263. function _2DVBArrayToJaggedArray(vbArr) {
  264. var ret;
  265. try {
  266. var rows=vbArr.ubound(1);
  267. var cols=vbArr.ubound(2);
  268. vbArr=vbArr.toArray();
  269. if (rows==1 && cols==1) {
  270. ret=[vbArr];
  271. } else {
  272. ret=[];
  273. for (var row=0; row < rows; row++) {
  274. var rowArr=[];
  275. for (var col=0; col < cols; col++) {
  276. var datum=vbArr[row * cols+col];
  277. if (datum !=OSF.DDA.SafeArray.UniqueArguments.MergedCellGuid) {
  278. rowArr.push(datum);
  279. }
  280. }
  281. if (rowArr.length > 0) {
  282. ret.push(rowArr);
  283. }
  284. }
  285. }
  286. } catch (ex) {
  287. }
  288. return ret;
  289. }
  290. var complexTypes=[
  291. OSF.DDA.PropertyDescriptors.FileProperties,
  292. OSF.DDA.PropertyDescriptors.FileSliceProperties,
  293. OSF.DDA.PropertyDescriptors.BindingProperties,
  294. OSF.DDA.SafeArray.UniqueArguments.BindingSpecificData,
  295. OSF.DDA.SafeArray.UniqueArguments.Offset,
  296. OSF.DDA.SafeArray.UniqueArguments.Run,
  297. OSF.DDA.PropertyDescriptors.Subset,
  298. OSF.DDA.PropertyDescriptors.DataPartProperties,
  299. OSF.DDA.PropertyDescriptors.DataNodeProperties,
  300. OSF.DDA.EventDescriptors.BindingSelectionChangedEvent,
  301. OSF.DDA.EventDescriptors.DataNodeInsertedEvent,
  302. OSF.DDA.EventDescriptors.DataNodeReplacedEvent,
  303. OSF.DDA.EventDescriptors.DataNodeDeletedEvent,
  304. OSF.DDA.DataNodeEventProperties.OldNode,
  305. OSF.DDA.DataNodeEventProperties.NewNode,
  306. OSF.DDA.DataNodeEventProperties.NextSiblingNode
  307. ];
  308. var dynamicTypes={};
  309. dynamicTypes[Microsoft.Office.WebExtension.Parameters.Data]=(function () {
  310. var tableRows=0;
  311. var tableHeaders=1;
  312. return {
  313. toHost: function OSF_DDA_SafeArray_Delegate_SpecialProcessor_Data$toHost(data) {
  314. if (typeof data !="string" && data[OSF.DDA.TableDataProperties.TableRows] !==undefined) {
  315. var tableData=[];
  316. tableData[tableRows]=data[OSF.DDA.TableDataProperties.TableRows];
  317. tableData[tableHeaders]=data[OSF.DDA.TableDataProperties.TableHeaders];
  318. data=tableData;
  319. }
  320. return data;
  321. },
  322. fromHost: function OSF_DDA_SafeArray_Delegate_SpecialProcessor_Data$fromHost(hostArgs) {
  323. var ret;
  324. if (hostArgs.toArray) {
  325. var dimensions=hostArgs.dimensions();
  326. if(dimensions===2) {
  327. ret=_2DVBArrayToJaggedArray(hostArgs);
  328. } else {
  329. var array=hostArgs.toArray();
  330. if(array.length===2 && ((array[0] !=null && array[0].toArray) || (array[1] !=null && array[1].toArray))) {
  331. ret={};
  332. ret[OSF.DDA.TableDataProperties.TableRows]=_2DVBArrayToJaggedArray(array[tableRows]);
  333. ret[OSF.DDA.TableDataProperties.TableHeaders]=_2DVBArrayToJaggedArray(array[tableHeaders]);
  334. } else {
  335. ret=array;
  336. }
  337. }
  338. } else {
  339. ret=hostArgs;
  340. }
  341. return ret;
  342. }
  343. }
  344. })();
  345. OSF.DDA.SafeArray.Delegate.SpecialProcessor.uber.constructor.call(this, complexTypes, dynamicTypes);
  346. this.pack=function OSF_DDA_SafeArray_Delegate_SpecialProcessor$pack(param, arg) {
  347. var value;
  348. if (this.isDynamicType(param)) {
  349. value=dynamicTypes[param].toHost(arg);
  350. } else {
  351. value=arg;
  352. }
  353. return value;
  354. };
  355. this.unpack=function OSF_DDA_SafeArray_Delegate_SpecialProcessor$unpack(param, arg) {
  356. var value;
  357. if (this.isComplexType(param) || OSF.DDA.ListType.isListType(param)) {
  358. try {
  359. value=arg.toArray();
  360. } catch (ex) {
  361. value=arg || {};
  362. }
  363. } else if (this.isDynamicType(param)) {
  364. value=dynamicTypes[param].fromHost(arg);
  365. } else {
  366. value=arg;
  367. }
  368. return value;
  369. };
  370. }
  371. OSF.OUtil.extend(OSF.DDA.SafeArray.Delegate.SpecialProcessor, OSF.DDA.SpecialProcessor);
  372. OSF.DDA.SafeArray.Delegate.ParameterMap=(function () {
  373. var parameterMap=new OSF.DDA.HostParameterMap(new OSF.DDA.SafeArray.Delegate.SpecialProcessor());
  374. var ns;
  375. var self=parameterMap.self;
  376. function createObject(properties) {
  377. var obj=null;
  378. if (properties) {
  379. obj={};
  380. var len=properties.length;
  381. for (var i=0; i < len; i++) {
  382. obj[properties[i].name]=properties[i].value;
  383. }
  384. }
  385. return obj;
  386. }
  387. function define(definition) {
  388. var args={};
  389. var toHost=createObject(definition.toHost);
  390. if (definition.invertible) {
  391. args.map=toHost;
  392. }
  393. else if (definition.canonical) {
  394. args.toHost=args.fromHost=toHost;
  395. }
  396. else {
  397. args.toHost=toHost;
  398. args.fromHost=createObject(definition.fromHost);
  399. }
  400. parameterMap.setMapping(definition.type, args);
  401. }
  402. ns=OSF.DDA.FileProperties;
  403. define({
  404. type: OSF.DDA.PropertyDescriptors.FileProperties,
  405. fromHost: [
  406. { name: ns.Handle, value: 0 },
  407. { name: ns.FileSize, value: 1 }
  408. ]
  409. });
  410. define({
  411. type: OSF.DDA.PropertyDescriptors.FileSliceProperties,
  412. fromHost: [
  413. { name: Microsoft.Office.WebExtension.Parameters.Data, value: 0 },
  414. { name: ns.SliceSize, value: 1}
  415. ]
  416. });
  417. ns=OSF.DDA.BindingProperties;
  418. define({
  419. type: OSF.DDA.PropertyDescriptors.BindingProperties,
  420. fromHost: [
  421. { name: ns.Id, value: 0 },
  422. { name: ns.Type, value: 1 },
  423. { name: OSF.DDA.SafeArray.UniqueArguments.BindingSpecificData, value: 2 }
  424. ]
  425. });
  426. define({
  427. type: OSF.DDA.SafeArray.UniqueArguments.BindingSpecificData,
  428. fromHost: [
  429. { name: ns.RowCount, value: 0 },
  430. { name: ns.ColumnCount, value: 1 },
  431. { name: ns.HasHeaders, value: 2 }
  432. ]
  433. });
  434. ns=OSF.DDA.SafeArray.UniqueArguments;
  435. define({
  436. type: OSF.DDA.PropertyDescriptors.Subset,
  437. toHost: [
  438. { name: ns.Offset, value: 0 },
  439. { name: ns.Run, value: 1 }
  440. ],
  441. canonical: true
  442. });
  443. ns=Microsoft.Office.WebExtension.Parameters;
  444. define({
  445. type: OSF.DDA.SafeArray.UniqueArguments.Offset,
  446. toHost: [
  447. { name: ns.StartRow, value: 0 },
  448. { name: ns.StartColumn, value: 1 }
  449. ],
  450. canonical: true
  451. });
  452. define({
  453. type: OSF.DDA.SafeArray.UniqueArguments.Run,
  454. toHost: [
  455. { name: ns.RowCount, value: 0 },
  456. { name: ns.ColumnCount, value: 1 }
  457. ],
  458. canonical: true
  459. });
  460. ns=OSF.DDA.DataPartProperties;
  461. define({
  462. type: OSF.DDA.PropertyDescriptors.DataPartProperties,
  463. fromHost: [
  464. { name: ns.Id, value: 0 },
  465. { name: ns.BuiltIn, value: 1 }
  466. ]
  467. });
  468. ns=OSF.DDA.DataNodeProperties;
  469. define({
  470. type: OSF.DDA.PropertyDescriptors.DataNodeProperties,
  471. fromHost: [
  472. { name: ns.Handle, value: 0 },
  473. { name: ns.BaseName, value: 1 },
  474. { name: ns.NamespaceUri, value: 2 },
  475. { name: ns.NodeType, value: 3 }
  476. ]
  477. });
  478. define({
  479. type: OSF.DDA.EventDescriptors.BindingSelectionChangedEvent,
  480. fromHost: [
  481. { name: OSF.DDA.PropertyDescriptors.BindingProperties, value: 0 },
  482. { name: OSF.DDA.PropertyDescriptors.Subset, value: 1 }
  483. ]
  484. });
  485. ns=OSF.DDA.DataNodeEventProperties;
  486. define({
  487. type: OSF.DDA.EventDescriptors.DataNodeInsertedEvent,
  488. fromHost: [
  489. { name: ns.InUndoRedo, value: 0 },
  490. { name: ns.NewNode, value: 1 }
  491. ]
  492. });
  493. define({
  494. type: OSF.DDA.EventDescriptors.DataNodeReplacedEvent,
  495. fromHost: [
  496. { name: ns.InUndoRedo, value: 0 },
  497. { name: ns.OldNode, value: 1 },
  498. { name: ns.NewNode, value: 2 }
  499. ]
  500. });
  501. define({
  502. type: OSF.DDA.EventDescriptors.DataNodeDeletedEvent,
  503. fromHost: [
  504. { name: ns.InUndoRedo, value: 0 },
  505. { name: ns.OldNode, value: 1 },
  506. { name: ns.NextSiblingNode, value: 2 }
  507. ]
  508. });
  509. define({
  510. type: ns.OldNode,
  511. fromHost: [
  512. { name: OSF.DDA.PropertyDescriptors.DataNodeProperties, value: self }
  513. ]
  514. });
  515. define({
  516. type: ns.NewNode,
  517. fromHost: [
  518. { name: OSF.DDA.PropertyDescriptors.DataNodeProperties, value: self }
  519. ]
  520. });
  521. define({
  522. type: ns.NextSiblingNode,
  523. fromHost: [
  524. { name: OSF.DDA.PropertyDescriptors.DataNodeProperties, value: self }
  525. ]
  526. });
  527. ns=Microsoft.Office.WebExtension.AsyncResultStatus;
  528. define({
  529. type: OSF.DDA.PropertyDescriptors.AsyncResultStatus,
  530. fromHost: [
  531. { name: ns.Succeeded, value: 0 },
  532. { name: ns.Failed, value: 1 }
  533. ]
  534. });
  535. ns=Microsoft.Office.WebExtension.CoercionType;
  536. define({
  537. type: Microsoft.Office.WebExtension.Parameters.CoercionType,
  538. toHost: [
  539. { name: ns.Text, value: 0 },
  540. { name: ns.Matrix, value: 1 },
  541. { name: ns.Table, value: 2 },
  542. { name: ns.Html, value: 3 },
  543. { name: ns.Ooxml, value: 4 }
  544. ]
  545. });
  546. ns=Microsoft.Office.WebExtension.FileType;
  547. if (ns) {
  548. define({
  549. type: Microsoft.Office.WebExtension.Parameters.FileType,
  550. toHost: [
  551. { name: ns.Text, value: 0 },
  552. { name: ns.Compressed, value: 5 }
  553. ]
  554. });
  555. }
  556. ns=Microsoft.Office.WebExtension.BindingType;
  557. if (ns) {
  558. define({
  559. type: Microsoft.Office.WebExtension.Parameters.BindingType,
  560. toHost: [
  561. { name: ns.Text, value: 0 },
  562. { name: ns.Matrix, value: 1 },
  563. { name: ns.Table, value: 2 }
  564. ],
  565. invertible: true
  566. });
  567. }
  568. ns=Microsoft.Office.WebExtension.ValueFormat;
  569. define({
  570. type: Microsoft.Office.WebExtension.Parameters.ValueFormat,
  571. toHost: [
  572. { name: ns.Unformatted, value: 0 },
  573. { name: ns.Formatted, value: 1 }
  574. ]
  575. });
  576. ns=Microsoft.Office.WebExtension.FilterType;
  577. define({
  578. type: Microsoft.Office.WebExtension.Parameters.FilterType,
  579. toHost: [
  580. { name: ns.All, value: 0 },
  581. { name: ns.OnlyVisible, value: 1 }
  582. ]
  583. });
  584. ns=Microsoft.Office.WebExtension.Parameters;
  585. var cns=OSF.DDA.MethodDispId;
  586. define({
  587. type: cns.dispidGetSelectedDataMethod,
  588. fromHost: [
  589. { name: ns.Data, value: self }
  590. ],
  591. toHost: [
  592. { name: ns.CoercionType, value: 0 },
  593. { name: ns.ValueFormat, value: 1 },
  594. { name: ns.FilterType, value: 2 }
  595. ]
  596. });
  597. define({
  598. type: cns.dispidSetSelectedDataMethod,
  599. toHost: [
  600. { name: ns.CoercionType, value: 0 },
  601. { name: ns.Data, value: 1 }
  602. ]
  603. });
  604. define({
  605. type: cns.dispidGetDocumentCopyMethod,
  606. toHost: [{ name: ns.FileType, value: 0}],
  607. fromHost: [
  608. { name: OSF.DDA.PropertyDescriptors.FileProperties, value: self }
  609. ]
  610. });
  611. define({
  612. type: cns.dispidGetDocumentCopyChunkMethod,
  613. toHost: [
  614. { name: OSF.DDA.FileProperties.Handle, value: 0 },
  615. { name: OSF.DDA.FileSliceOffset, value: 1 },
  616. { name: OSF.DDA.FileProperties.SliceSize, value: 2 }
  617. ],
  618. fromHost: [
  619. { name: OSF.DDA.PropertyDescriptors.FileSliceProperties, value: self }
  620. ]
  621. });
  622. define({
  623. type: cns.dispidReleaseDocumentCopyMethod,
  624. toHost: [{ name: OSF.DDA.FileProperties.Handle, value: 0}]
  625. });
  626. define({
  627. type: cns.dispidAddBindingFromSelectionMethod,
  628. fromHost: [
  629. { name: OSF.DDA.PropertyDescriptors.BindingProperties, value: self }
  630. ],
  631. toHost: [
  632. { name: ns.Id, value: 0 },
  633. { name: ns.BindingType, value: 1 }
  634. ]
  635. });
  636. define({
  637. type: cns.dispidAddBindingFromPromptMethod,
  638. fromHost: [
  639. { name: OSF.DDA.PropertyDescriptors.BindingProperties, value: self }
  640. ],
  641. toHost: [
  642. { name: ns.Id, value: 0 },
  643. { name: ns.BindingType, value: 1 },
  644. { name: ns.PromptText, value: 2 }
  645. ]
  646. });
  647. define({
  648. type: cns.dispidAddBindingFromNamedItemMethod,
  649. fromHost: [
  650. { name: OSF.DDA.PropertyDescriptors.BindingProperties, value: self }
  651. ],
  652. toHost: [
  653. { name: ns.ItemName, value: 0 },
  654. { name: ns.Id, value: 1 },
  655. { name: ns.BindingType, value: 2 },
  656. { name: ns.FailOnCollision, value: 3 }
  657. ]
  658. });
  659. define({
  660. type: cns.dispidReleaseBindingMethod,
  661. toHost: [
  662. { name: ns.Id, value: 0 }
  663. ]
  664. });
  665. define({
  666. type: cns.dispidGetBindingMethod,
  667. fromHost: [
  668. { name: OSF.DDA.PropertyDescriptors.BindingProperties, value: self }
  669. ],
  670. toHost: [
  671. { name: ns.Id, value: 0 }
  672. ]
  673. });
  674. define({
  675. type: cns.dispidGetAllBindingsMethod,
  676. fromHost: [
  677. { name: OSF.DDA.ListDescriptors.BindingList, value: self }
  678. ]
  679. });
  680. define({
  681. type: cns.dispidGetBindingDataMethod,
  682. fromHost: [
  683. { name: ns.Data, value: self }
  684. ],
  685. toHost: [
  686. { name: ns.Id, value: 0 },
  687. { name: ns.CoercionType, value: 1 },
  688. { name: ns.ValueFormat, value: 2 },
  689. { name: ns.FilterType, value: 3 },
  690. { name: OSF.DDA.PropertyDescriptors.Subset, value: 4 }
  691. ]
  692. });
  693. define({
  694. type: cns.dispidSetBindingDataMethod,
  695. toHost: [
  696. { name: ns.Id, value: 0 },
  697. { name: ns.CoercionType, value: 1 },
  698. { name: ns.Data, value: 2 },
  699. { name: OSF.DDA.SafeArray.UniqueArguments.Offset, value: 3 }
  700. ]
  701. });
  702. define({
  703. type: cns.dispidAddRowsMethod,
  704. toHost: [
  705. { name: ns.Id, value: 0 },
  706. { name: ns.Data, value: 1 }
  707. ]
  708. });
  709. define({
  710. type: cns.dispidAddColumnsMethod,
  711. toHost: [
  712. { name: ns.Id, value: 0 },
  713. { name: ns.Data, value: 1 }
  714. ]
  715. });
  716. define({
  717. type: cns.dispidClearAllRowsMethod,
  718. toHost: [
  719. { name: ns.Id, value: 0 }
  720. ]
  721. });
  722. define({
  723. type: cns.dispidLoadSettingsMethod,
  724. fromHost: [
  725. { name: OSF.DDA.SettingsManager.SerializedSettings, value: self }
  726. ]
  727. });
  728. define({
  729. type: cns.dispidSaveSettingsMethod,
  730. toHost: [
  731. { name: OSF.DDA.SettingsManager.SerializedSettings, value: OSF.DDA.SettingsManager.SerializedSettings },
  732. { name: Microsoft.Office.WebExtension.Parameters.OverwriteIfStale, value: Microsoft.Office.WebExtension.Parameters.OverwriteIfStale }
  733. ]
  734. });
  735. define({
  736. type: cns.dispidAddDataPartMethod,
  737. fromHost: [
  738. { name: OSF.DDA.PropertyDescriptors.DataPartProperties, value: self }
  739. ],
  740. toHost: [
  741. { name: ns.Xml, value: 0 }
  742. ]
  743. });
  744. define({
  745. type: cns.dispidGetDataPartByIdMethod,
  746. fromHost: [
  747. { name: OSF.DDA.PropertyDescriptors.DataPartProperties, value: self }
  748. ],
  749. toHost: [
  750. { name: ns.Id, value: 0 }
  751. ]
  752. });
  753. define({
  754. type: cns.dispidGetDataPartsByNamespaceMethod,
  755. fromHost: [
  756. { name: OSF.DDA.ListDescriptors.DataPartList, value: self }
  757. ],
  758. toHost: [
  759. { name: ns.Namespace, value: 0 }
  760. ]
  761. });
  762. define({
  763. type: cns.dispidGetDataPartXmlMethod,
  764. fromHost: [
  765. { name: ns.Data, value: self}
  766. ],
  767. toHost: [
  768. { name: ns.Id, value: 0 }
  769. ]
  770. });
  771. define({
  772. type: cns.dispidGetDataPartNodesMethod,
  773. fromHost: [
  774. { name: OSF.DDA.ListDescriptors.DataNodeList, value: self }
  775. ],
  776. toHost: [
  777. { name: ns.Id, value: 0 },
  778. { name: ns.XPath, value: 1 }
  779. ]
  780. });
  781. define({
  782. type: cns.dispidDeleteDataPartMethod,
  783. toHost: [
  784. { name: ns.Id, value: 0 }
  785. ]
  786. });
  787. define({
  788. type: cns.dispidGetDataNodeValueMethod,
  789. fromHost: [
  790. { name: ns.Data, value: self}
  791. ],
  792. toHost: [
  793. { name: OSF.DDA.DataNodeProperties.Handle, value: 0 }
  794. ]
  795. });
  796. define({
  797. type: cns.dispidGetDataNodeXmlMethod,
  798. fromHost: [
  799. { name: ns.Data, value: self}
  800. ],
  801. toHost: [
  802. { name: OSF.DDA.DataNodeProperties.Handle, value: 0 }
  803. ]
  804. });
  805. define({
  806. type: cns.dispidGetDataNodesMethod,
  807. fromHost: [
  808. { name: OSF.DDA.ListDescriptors.DataNodeList, value: self }
  809. ],
  810. toHost: [
  811. { name: OSF.DDA.DataNodeProperties.Handle, value: 0 },
  812. { name: ns.XPath, value: 1 }
  813. ]
  814. });
  815. define({
  816. type: cns.dispidSetDataNodeValueMethod,
  817. toHost: [
  818. { name: OSF.DDA.DataNodeProperties.Handle, value: 0 },
  819. { name: ns.Data, value: 1 }
  820. ]
  821. });
  822. define({
  823. type: cns.dispidSetDataNodeXmlMethod,
  824. toHost: [
  825. { name: OSF.DDA.DataNodeProperties.Handle, value: 0 },
  826. { name: ns.Xml, value: 1 }
  827. ]
  828. });
  829. define({
  830. type: cns.dispidAddDataNamespaceMethod,
  831. toHost: [
  832. { name: OSF.DDA.DataPartProperties.Id, value: 0 },
  833. { name: ns.Prefix, value: 1 },
  834. { name: ns.Namespace, value: 2 }
  835. ]
  836. });
  837. define({
  838. type: cns.dispidGetDataUriByPrefixMethod,
  839. fromHost: [
  840. { name: ns.Data, value: self}
  841. ],
  842. toHost: [
  843. { name: OSF.DDA.DataPartProperties.Id, value: 0 },
  844. { name: ns.Prefix, value: 1 }
  845. ]
  846. });
  847. define({
  848. type: cns.dispidGetDataPrefixByUriMethod,
  849. fromHost: [
  850. { name: ns.Data, value: self}
  851. ],
  852. toHost: [
  853. { name: OSF.DDA.DataPartProperties.Id, value: 0 },
  854. { name: ns.Namespace, value: 1 }
  855. ]
  856. });
  857. define({
  858. type: cns.dispidGetSelectedTaskMethod,
  859. fromHost: [
  860. { name: ns.TaskId, value: self }
  861. ]
  862. });
  863. define({
  864. type: cns.dispidGetTaskMethod,
  865. fromHost: [
  866. { name: "taskName", value: 0 },
  867. { name: "wssTaskId", value: 1 },
  868. { name: "resourceNames", value: 2 }
  869. ],
  870. toHost: [
  871. { name: ns.TaskId, value: 0 }
  872. ]
  873. });
  874. define({
  875. type: cns.dispidGetTaskFieldMethod,
  876. fromHost: [
  877. { name: ns.FieldValue, value: self }
  878. ],
  879. toHost: [
  880. { name: ns.TaskId, value: 0 },
  881. { name: ns.FieldId, value: 1 },
  882. { name: ns.GetRawValue, value: 2 }
  883. ]
  884. });
  885. define({
  886. type: cns.dispidGetWSSUrlMethod,
  887. fromHost: [
  888. { name: ns.ServerUrl, value: 0 },
  889. { name: ns.ListName, value: 1 }
  890. ]
  891. });
  892. define({
  893. type: cns.dispidGetSelectedResourceMethod,
  894. fromHost: [
  895. { name: ns.ResourceId, value: self }
  896. ]
  897. });
  898. define({
  899. type: cns.dispidGetResourceFieldMethod,
  900. fromHost: [
  901. { name: ns.FieldValue, value: self }
  902. ],
  903. toHost: [
  904. { name: ns.ResourceId, value: 0 },
  905. { name: ns.FieldId, value: 1 },
  906. { name: ns.GetRawValue, value: 2 }
  907. ]
  908. });
  909. define({
  910. type: cns.dispidGetProjectFieldMethod,
  911. fromHost: [
  912. { name: ns.FieldValue, value: self }
  913. ],
  914. toHost: [
  915. { name: ns.FieldId, value: 0 },
  916. { name: ns.GetRawValue, value: 1 }
  917. ]
  918. });
  919. define({
  920. type: cns.dispidGetSelectedViewMethod,
  921. fromHost: [
  922. { name: ns.ViewType, value: 0 },
  923. { name: ns.ViewName, value: 1 }
  924. ]
  925. });
  926. cns=OSF.DDA.EventDispId
  927. define({ type: cns.dispidDocumentSelectionChangedEvent });
  928. define({
  929. type: cns.dispidBindingSelectionChangedEvent,
  930. fromHost: [
  931. {name: OSF.DDA.EventDescriptors.BindingSelectionChangedEvent, value: self}
  932. ]
  933. });
  934. define({
  935. type: cns.dispidBindingDataChangedEvent,
  936. fromHost: [{ name: OSF.DDA.PropertyDescriptors.BindingProperties, value: self}]
  937. });
  938. define({ type: cns.dispidSettingsChangedEvent });
  939. define({
  940. type: cns.dispidDataNodeAddedEvent,
  941. fromHost: [{ name: OSF.DDA.EventDescriptors.DataNodeInsertedEvent, value: self}]
  942. });
  943. define({
  944. type: cns.dispidDataNodeReplacedEvent,
  945. fromHost: [{ name: OSF.DDA.EventDescriptors.DataNodeReplacedEvent, value: self}]
  946. });
  947. define({
  948. type: cns.dispidDataNodeDeletedEvent,
  949. fromHost: [{ name: OSF.DDA.EventDescriptors.DataNodeDeletedEvent, value: self}]
  950. });
  951. define({ type: cns.dispidTaskSelectionChangedEvent });
  952. define({ type: cns.dispidResourceSelectionChangedEvent });
  953. define({ type: cns.dispidViewSelectionChangedEvent });
  954. return parameterMap;
  955. })();
  956. OSF.DDA.SafeArray.Delegate._onException=function OSF_DDA_SafeArray_Delegate$OnException(ex, args) {
  957. var status;
  958. var number=ex.number;
  959. if (number) {
  960. switch (number) {
  961. case -2146828218:
  962. status=OSF.DDA.ErrorCodeManager.errorCodes.ooeNoCapability;
  963. break;
  964. case -2146827850:
  965. default:
  966. status=OSF.DDA.ErrorCodeManager.errorCodes.ooeInternalError;
  967. break;
  968. }
  969. }
  970. if (args.onComplete) {
  971. args.onComplete(status || OSF.DDA.ErrorCodeManager.errorCodes.ooeInternalError);
  972. }
  973. }
  974. OSF.DDA.SafeArray.Delegate.executeAsync=function OSF_DDA_SafeArray_Delegate$ExecuteAsync(args) {
  975. try {
  976. if (args.onCalling) {
  977. args.onCalling();
  978. }
  979. function toArray(args) {
  980. var arrArgs=args;
  981. if (OSF.OUtil.isArray(args)) {
  982. var len=arrArgs.length;
  983. for (var i=0; i < len; i++) {
  984. arrArgs[i]=toArray(arrArgs[i]);
  985. }
  986. } else if (OSF.OUtil.isDate(args)) {
  987. arrArgs=args.getVarDate();
  988. } else if (typeof args==="object" && !OSF.OUtil.isArray(args)) {
  989. arrArgs=[];
  990. for (var index in args) {
  991. if (!OSF.OUtil.isFunction(args[index])) {
  992. arrArgs[index]=toArray(args[index]);
  993. }
  994. }
  995. }
  996. return arrArgs;
  997. }
  998. var startTime=(new Date()).getTime();
  999. window.external.Execute(
  1000. args.dispId,
  1001. toArray(args.hostCallArgs),
  1002. function OSF_DDA_SafeArrayFacade$Execute_OnResponse(hostResponseArgs) {
  1003. if (args.onReceiving) {
  1004. args.onReceiving();
  1005. }
  1006. var result=hostResponseArgs.toArray();
  1007. var status=result[OSF.DDA.SafeArray.Response.Status];
  1008. if (args.onComplete) {
  1009. var payload;
  1010. if (status==OSF.DDA.ErrorCodeManager.errorCodes.ooeSuccess) {
  1011. if (result.length > 2) {
  1012. payload=[];
  1013. for (var i=1; i < result.length; i++)
  1014. payload[i - 1]=result[i];
  1015. }
  1016. else {
  1017. payload=result[OSF.DDA.SafeArray.Response.Payload];
  1018. }
  1019. }
  1020. else {
  1021. payload=result[OSF.DDA.SafeArray.Response.Payload];
  1022. }
  1023. args.onComplete(status, payload);
  1024. }
  1025. if (OSF.AppTelemetry) {
  1026. OSF.AppTelemetry.onMethodDone(args.dispId, args.hostCallArgs, Math.abs((new Date()).getTime() - startTime), status);
  1027. }
  1028. }
  1029. );
  1030. }
  1031. catch (ex) {
  1032. OSF.DDA.SafeArray.Delegate._onException(ex, args);
  1033. }
  1034. };
  1035. OSF.DDA.SafeArray.Delegate._getOnAfterRegisterEvent=function OSF_DDA_SafeArrayDelegate$GetOnAfterRegisterEvent(register, args) {
  1036. var startTime=(new Date()).getTime();
  1037. return function OSF_DDA_SafeArrayDelegate$OnAfterRegisterEvent(hostResponseArgs) {
  1038. if (args.onReceiving) {
  1039. args.onReceiving();
  1040. }
  1041. var status=hostResponseArgs.toArray ? hostResponseArgs.toArray()[OSF.DDA.SafeArray.Response.Status] : hostResponseArgs;
  1042. if (args.onComplete) {
  1043. args.onComplete(status)
  1044. }
  1045. if (OSF.AppTelemetry) {
  1046. OSF.AppTelemetry.onRegisterDone(register, args.dispId, Math.abs((new Date()).getTime() - startTime), status);
  1047. }
  1048. }
  1049. }
  1050. OSF.DDA.SafeArray.Delegate.registerEventAsync=function OSF_DDA_SafeArray_Delegate$RegisterEventAsync(args) {
  1051. if (args.onCalling) {
  1052. args.onCalling();
  1053. }
  1054. var callback=OSF.DDA.SafeArray.Delegate._getOnAfterRegisterEvent(true, args);
  1055. try {
  1056. window.external.RegisterEvent(
  1057. args.dispId,
  1058. args.targetId,
  1059. function OSF_DDA_SafeArrayDelegate$RegisterEventAsync_OnEvent(eventDispId, payload) {
  1060. if (args.onEvent) {
  1061. args.onEvent(payload);
  1062. }
  1063. if (OSF.AppTelemetry) {
  1064. OSF.AppTelemetry.onEventDone(args.dispId);
  1065. }
  1066. },
  1067. callback
  1068. );
  1069. }
  1070. catch (ex) {
  1071. OSF.DDA.SafeArray.Delegate._onException(ex, args);
  1072. }
  1073. };
  1074. OSF.DDA.SafeArray.Delegate.unregisterEventAsync=function OSF_DDA_SafeArray_Delegate$UnregisterEventAsync(args) {
  1075. if (args.onCalling) {
  1076. args.onCalling();
  1077. }
  1078. var callback=OSF.DDA.SafeArray.Delegate._getOnAfterRegisterEvent(false, args);
  1079. try {
  1080. window.external.UnregisterEvent(
  1081. args.dispId,
  1082. args.targetId,
  1083. callback
  1084. );
  1085. }
  1086. catch (ex) {
  1087. OSF.DDA.SafeArray.Delegate._onException(ex, args);
  1088. }
  1089. };
  1090. OSF.DDA.WordDocument=function OSF_DDA_WordDocument(officeAppContext, settings) {
  1091. OSF.DDA.WordDocument.uber.constructor.call(this,
  1092. officeAppContext,
  1093. new OSF.DDA.BindingFacade(this),
  1094. settings
  1095. );
  1096. OSF.DDA.DispIdHost.addAsyncMethods(this, [
  1097. OSF.DDA.AsyncMethodNames.GetDocumentCopyAsync
  1098. ]);
  1099. OSF.OUtil.defineEnumerableProperty(this, "customXmlParts", {
  1100. value: new OSF.DDA.CustomXmlParts()
  1101. });
  1102. OSF.OUtil.finalizeProperties(this);
  1103. };
  1104. OSF.OUtil.extend(OSF.DDA.WordDocument, OSF.DDA.JsomDocument);