Нема описа
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.

excel-15.debug.js 28KB

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