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

excelwebapp-15.01.debug.js 15KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512
  1. /* Excel web application specific API library */
  2. /* Version: 15.0.4615.1000 */
  3. /*
  4. Copyright (c) Microsoft Corporation. All rights reserved.
  5. */
  6. /*
  7. Your use of this file is governed by the Microsoft Services Agreement http://go.microsoft.com/fwlink/?LinkId=266419.
  8. */
  9. OSF.OUtil.setNamespace("XLS", OSF.DDA);
  10. OSF.OUtil.augmentList(Microsoft.Office.WebExtension.FilterType, {
  11. OnlyVisible: "onlyVisible"
  12. });
  13. OSF.OUtil.augmentList(Microsoft.Office.WebExtension.EventType, {
  14. SettingsChanged: "settingsChanged"
  15. });
  16. OSF.DDA.XLS.UniqueArguments={
  17. Data: "Data",
  18. Properties : "Properties",
  19. BindingRequest: "DdaBindingsMethod",
  20. BindingResponse: "Bindings",
  21. SingleBindingResponse: "singleBindingResponse",
  22. GetData: "DdaGetBindingData",
  23. AddRowsColumns: "DdaAddRowsColumns",
  24. SetData: "DdaSetBindingData",
  25. SettingsRequest: "DdaSettingsMethod",
  26. BindingEventSource: "ddaBinding"
  27. };
  28. OSF.DDA.XLS.SettingsTranslator=(function () {
  29. var keyIndex=0;
  30. var valueIndex=1;
  31. return {
  32. read: function OSF_DDA_XLS_SettingsTranslator$read(payload) {
  33. var serializedSettings={};
  34. var settingsPayload=payload.Settings;
  35. for (var index in settingsPayload) {
  36. var setting=settingsPayload[index];
  37. serializedSettings[setting[keyIndex]]=setting[valueIndex];
  38. }
  39. return serializedSettings;
  40. },
  41. write: function OSF_DDA_XLS_SettingsTranslator$write(serializedSettings) {
  42. var settingsPayload=[];
  43. for (var key in serializedSettings) {
  44. var setting=[];
  45. setting[keyIndex]=key;
  46. setting[valueIndex]=serializedSettings[key];
  47. settingsPayload.push(setting);
  48. }
  49. return settingsPayload;
  50. }
  51. }
  52. })();
  53. OSF.OUtil.setNamespace("Delegate", OSF.DDA.XLS);
  54. OSF.DDA.DispIdHost.getXLSDelegateMethods=function OSF_DDA_DispIdHost_getXLSDelegateMethods() {
  55. var delegateMethods={};
  56. delegateMethods[OSF.DDA.DispIdHost.Delegates.ExecuteAsync]=OSF.DDA.XLS.Delegate.executeAsync;
  57. delegateMethods[OSF.DDA.DispIdHost.Delegates.RegisterEventAsync]=OSF.DDA.XLS.Delegate.registerEventAsync;
  58. delegateMethods[OSF.DDA.DispIdHost.Delegates.UnregisterEventAsync]=OSF.DDA.XLS.Delegate.unregisterEventAsync;
  59. return delegateMethods;
  60. };
  61. OSF.DDA.XLS.Delegate.SpecialProcessor=function OSF_DDA_XLS_Delegate_SpecialProcessor() {
  62. var complexTypes=[
  63. OSF.DDA.PropertyDescriptors.BindingProperties,
  64. OSF.DDA.XLS.UniqueArguments.SingleBindingResponse,
  65. OSF.DDA.XLS.UniqueArguments.BindingRequest,
  66. OSF.DDA.XLS.UniqueArguments.BindingResponse,
  67. OSF.DDA.XLS.UniqueArguments.GetData,
  68. OSF.DDA.XLS.UniqueArguments.AddRowsColumns,
  69. OSF.DDA.XLS.UniqueArguments.SetData,
  70. OSF.DDA.XLS.UniqueArguments.SettingsRequest,
  71. OSF.DDA.XLS.UniqueArguments.BindingEventSource,
  72. OSF.DDA.EventDescriptors.BindingSelectionChangedEvent
  73. ];
  74. var dynamicTypes={};
  75. dynamicTypes[Microsoft.Office.WebExtension.Parameters.Data]=(function () {
  76. var tableRows="Rows";
  77. var tableHeaders="Headers";
  78. return {
  79. toHost: function OSF_DDA_XLS_Delegate_SpecialProcessor_Data$toHost(data) {
  80. if (typeof data !="string" && data[OSF.DDA.TableDataProperties.TableRows] !==undefined) {
  81. var tableData={};
  82. tableData[tableRows]=data[OSF.DDA.TableDataProperties.TableRows];
  83. tableData[tableHeaders]=data[OSF.DDA.TableDataProperties.TableHeaders];
  84. data=tableData;
  85. }
  86. else if (OSF.DDA.DataCoercion.determineCoercionType(data)==Microsoft.Office.WebExtension.CoercionType.Text) {
  87. data=[[data]];
  88. }
  89. return data;
  90. },
  91. fromHost: function OSF_DDA_XLS_Delegate_SpecialProcessor_Data$fromHost(hostArgs) {
  92. var ret;
  93. if (hostArgs[tableRows] !=undefined) {
  94. ret={};
  95. ret[OSF.DDA.TableDataProperties.TableRows]=hostArgs[tableRows];
  96. ret[OSF.DDA.TableDataProperties.TableHeaders]=hostArgs[tableHeaders];
  97. }
  98. else {
  99. ret=hostArgs;
  100. }
  101. return ret;
  102. }
  103. }
  104. })();
  105. dynamicTypes[OSF.DDA.SettingsManager.SerializedSettings]={
  106. toHost: OSF.DDA.XLS.SettingsTranslator.write,
  107. fromHost: OSF.DDA.XLS.SettingsTranslator.read
  108. };
  109. OSF.DDA.XLS.Delegate.SpecialProcessor.uber.constructor.call(this, complexTypes, dynamicTypes);
  110. this.pack=function OSF_DDA_XLS_Delegate_SpecialProcessor$pack(param, arg) {
  111. var value;
  112. if (this.isDynamicType(param)) {
  113. value=dynamicTypes[param].toHost(arg);
  114. }
  115. else {
  116. value=arg;
  117. }
  118. return value;
  119. };
  120. this.unpack=function OSF_DDA_XLS_Delegate_SpecialProcessor$unpack(param, arg) {
  121. var value;
  122. if (this.isDynamicType(param)) {
  123. value=dynamicTypes[param].fromHost(arg);
  124. }
  125. else {
  126. value=arg;
  127. }
  128. return value;
  129. };
  130. };
  131. OSF.OUtil.extend(OSF.DDA.XLS.Delegate.SpecialProcessor, OSF.DDA.SpecialProcessor);
  132. OSF.DDA.XLS.Delegate.ParameterMap=(function () {
  133. var parameterMap=new OSF.DDA.HostParameterMap(new OSF.DDA.XLS.Delegate.SpecialProcessor());
  134. var ns;
  135. var self=parameterMap.self;
  136. function createObject(properties) {
  137. var obj=null;
  138. if (properties) {
  139. obj={};
  140. var len=properties.length;
  141. for (var i=0; i < len; i++) {
  142. obj[properties[i].name]=properties[i].value;
  143. }
  144. }
  145. return obj;
  146. }
  147. function define(definition) {
  148. var args={};
  149. var toHost=createObject(definition.toHost);
  150. if (definition.invertible) {
  151. args.map=toHost;
  152. }
  153. else if (definition.canonical) {
  154. args.toHost=args.fromHost=toHost;
  155. }
  156. else {
  157. args.toHost=toHost;
  158. args.fromHost=createObject(definition.fromHost);
  159. }
  160. parameterMap.setMapping(definition.type, args);
  161. }
  162. ns=Microsoft.Office.WebExtension.Parameters;
  163. define({
  164. type: OSF.DDA.XLS.UniqueArguments.BindingRequest,
  165. toHost: [
  166. { name: ns.ItemName, value: "ItemName" },
  167. { name: ns.Id, value: "BindingId" },
  168. { name: ns.BindingType, value: "BindingType" },
  169. { name: ns.PromptText, value: "PromptText" },
  170. { name: ns.FailOnCollision, value: "FailOnCollision" }
  171. ]
  172. });
  173. define({
  174. type: OSF.DDA.XLS.UniqueArguments.GetData,
  175. toHost: [
  176. { name: ns.Id, value: "BindingId" },
  177. { name: ns.CoercionType, value: "CoerceType" },
  178. { name: ns.ValueFormat, value: "ValueFormat" },
  179. { name: ns.FilterType, value: "FilterType" },
  180. { name: ns.StartRow, value: "StartRow" },
  181. { name: ns.StartColumn, value: "StartCol" },
  182. { name: ns.RowCount, value: "RowCount" },
  183. { name: ns.ColumnCount, value: "ColCount" }
  184. ]
  185. });
  186. define({
  187. type: OSF.DDA.XLS.UniqueArguments.SetData,
  188. toHost: [
  189. { name: ns.Id, value: "BindingId" },
  190. { name: ns.CoercionType, value: "CoerceType" },
  191. { name: ns.Data, value: OSF.DDA.XLS.UniqueArguments.Data },
  192. { name: ns.StartRow, value: "StartRow" },
  193. { name: ns.StartColumn, value: "StartCol" }
  194. ]
  195. });
  196. define({
  197. type: OSF.DDA.XLS.UniqueArguments.AddRowsColumns,
  198. toHost: [
  199. { name: ns.Id, value: "BindingId" },
  200. { name: ns.Data, value: OSF.DDA.XLS.UniqueArguments.Data }
  201. ]
  202. });
  203. define({
  204. type: OSF.DDA.XLS.UniqueArguments.SettingsRequest,
  205. toHost: [
  206. { name: ns.OverwriteIfStale, value: "OverwriteIfStale" },
  207. { name: OSF.DDA.SettingsManager.SerializedSettings, value: OSF.DDA.XLS.UniqueArguments.Properties }
  208. ],
  209. invertible: true
  210. });
  211. ns=Microsoft.Office.WebExtension.BindingType;
  212. define({
  213. type: Microsoft.Office.WebExtension.Parameters.BindingType,
  214. toHost: [
  215. { name: ns.Text, value: 2 },
  216. { name: ns.Matrix, value: 3 },
  217. { name: ns.Table, value: 1 }
  218. ],
  219. invertible: true
  220. });
  221. ns=OSF.DDA.BindingProperties;
  222. define({
  223. type: OSF.DDA.PropertyDescriptors.BindingProperties,
  224. fromHost: [
  225. { name: ns.Id, value: "Name" },
  226. { name: ns.Type, value: "BindingType" },
  227. { name: ns.RowCount, value: "RowCount" },
  228. { name: ns.ColumnCount, value: "ColCount" },
  229. { name: ns.HasHeaders, value: "HasHeaders" }
  230. ]
  231. });
  232. define({
  233. type: OSF.DDA.XLS.UniqueArguments.SingleBindingResponse,
  234. fromHost: [
  235. { name: OSF.DDA.PropertyDescriptors.BindingProperties, value: 0 }
  236. ]
  237. });
  238. define({
  239. type: OSF.DDA.PropertyDescriptors.Subset,
  240. fromHost: [
  241. { name: ns.StartRow, value: "StartRow" },
  242. { name: ns.StartColumn, value: "StartCol" },
  243. { name: ns.RowCount, value: "RowCount" },
  244. { name: ns.ColumnCount, value: "ColCount" }
  245. ]
  246. });
  247. ns=Microsoft.Office.WebExtension.AsyncResultStatus;
  248. define({
  249. type: OSF.DDA.PropertyDescriptors.AsyncResultStatus,
  250. fromHost: [
  251. { name: ns.Succeeded, value: 0 },
  252. { name: ns.Failed, value: 1 }
  253. ]
  254. });
  255. define({
  256. type: OSF.DDA.EventDescriptors.BindingSelectionChangedEvent,
  257. fromHost: [
  258. { name: OSF.DDA.PropertyDescriptors.BindingProperties, value: OSF.DDA.XLS.UniqueArguments.BindingEventSource },
  259. { name: OSF.DDA.PropertyDescriptors.Subset, value: OSF.DDA.PropertyDescriptors.Subset }
  260. ]
  261. });
  262. ns=OSF.DDA.XLS.UniqueArguments;
  263. var cns=OSF.DDA.MethodDispId;
  264. define({
  265. type: cns.dispidGetSelectedDataMethod,
  266. fromHost: [
  267. { name: Microsoft.Office.WebExtension.Parameters.Data, value: ns.Data }
  268. ],
  269. toHost: [
  270. { name: ns.GetData, value: self }
  271. ]
  272. });
  273. define({
  274. type: cns.dispidSetSelectedDataMethod,
  275. toHost: [
  276. { name: ns.SetData, value: self }
  277. ]
  278. });
  279. define({
  280. type: cns.dispidAddBindingFromSelectionMethod,
  281. fromHost: [
  282. { name: OSF.DDA.XLS.UniqueArguments.SingleBindingResponse, value: OSF.DDA.XLS.UniqueArguments.BindingResponse }
  283. ],
  284. toHost: [
  285. { name: ns.BindingRequest, value: self }
  286. ]
  287. });
  288. define({
  289. type: cns.dispidAddBindingFromPromptMethod,
  290. fromHost: [
  291. { name: OSF.DDA.XLS.UniqueArguments.SingleBindingResponse, value: OSF.DDA.XLS.UniqueArguments.BindingResponse }
  292. ],
  293. toHost: [
  294. { name: ns.BindingRequest, value: self }
  295. ]
  296. });
  297. define({
  298. type: cns.dispidAddBindingFromNamedItemMethod,
  299. fromHost: [
  300. { name: OSF.DDA.XLS.UniqueArguments.SingleBindingResponse, value: OSF.DDA.XLS.UniqueArguments.BindingResponse }
  301. ],
  302. toHost: [
  303. { name: ns.BindingRequest, value: self }
  304. ]
  305. });
  306. define({
  307. type: cns.dispidReleaseBindingMethod,
  308. toHost: [
  309. { name: ns.BindingRequest, value: self }
  310. ]
  311. });
  312. define({
  313. type: cns.dispidGetBindingMethod,
  314. fromHost: [
  315. { name: OSF.DDA.XLS.UniqueArguments.SingleBindingResponse, value: OSF.DDA.XLS.UniqueArguments.BindingResponse }
  316. ],
  317. toHost: [
  318. { name: ns.BindingRequest, value: self }
  319. ]
  320. });
  321. define({
  322. type: cns.dispidGetAllBindingsMethod,
  323. fromHost: [
  324. { name: OSF.DDA.ListDescriptors.BindingList, value: OSF.DDA.XLS.UniqueArguments.BindingResponse }
  325. ]
  326. });
  327. define({
  328. type: cns.dispidGetBindingDataMethod,
  329. fromHost: [
  330. { name: Microsoft.Office.WebExtension.Parameters.Data, value: ns.Data }
  331. ],
  332. toHost: [
  333. { name: ns.GetData, value: self }
  334. ]
  335. });
  336. define({
  337. type: cns.dispidSetBindingDataMethod,
  338. toHost: [
  339. { name: ns.SetData, value: self }
  340. ]
  341. });
  342. define({
  343. type: cns.dispidAddRowsMethod,
  344. toHost: [
  345. { name: ns.AddRowsColumns, value: self }
  346. ]
  347. });
  348. define({
  349. type: cns.dispidAddColumnsMethod,
  350. toHost: [
  351. { name: ns.AddRowsColumns, value: self }
  352. ]
  353. });
  354. define({
  355. type: cns.dispidClearAllRowsMethod,
  356. toHost: [
  357. { name: ns.BindingRequest, value: self }
  358. ]
  359. });
  360. define({
  361. type: cns.dispidLoadSettingsMethod,
  362. fromHost: [
  363. { name: OSF.DDA.SettingsManager.SerializedSettings, value: ns.Properties }
  364. ]
  365. });
  366. define({
  367. type: cns.dispidSaveSettingsMethod,
  368. toHost: [
  369. { name: ns.SettingsRequest, value: self }
  370. ]
  371. });
  372. cns=OSF.DDA.EventDispId
  373. define({ type: cns.dispidDocumentSelectionChangedEvent });
  374. define({
  375. type: cns.dispidBindingSelectionChangedEvent,
  376. fromHost: [
  377. { name: OSF.DDA.EventDescriptors.BindingSelectionChangedEvent, value: self }
  378. ]
  379. });
  380. define({
  381. type: cns.dispidBindingDataChangedEvent,
  382. fromHost: [
  383. { name: OSF.DDA.PropertyDescriptors.BindingProperties, value: ns.BindingEventSource }
  384. ]
  385. });
  386. define({ type: cns.dispidSettingsChangedEvent });
  387. return parameterMap;
  388. })();
  389. OSF.DDA.XLS.Delegate.version=1;
  390. OSF.DDA.XLS.Delegate.executeAsync=function OSF_DDA_XLS_Delegate$executeAsync(args) {
  391. if(!args.hostCallArgs) {
  392. args.hostCallArgs={};
  393. }
  394. args.hostCallArgs["DdaMethod"]={
  395. "ControlId": OSF._OfficeAppFactory.getId(),
  396. "Version": OSF.DDA.XLS.Delegate.version,
  397. "DispatchId": args.dispId
  398. };
  399. if(args.onCalling) {
  400. args.onCalling();
  401. }
  402. var startTime=(new Date()).getTime();
  403. OSF._OfficeAppFactory.getClientEndPoint().invoke(
  404. "executeMethod",
  405. function OSF_DDA_XLS_Delegate$OMFacade$OnResponse(xdmStatus, payload) {
  406. if(args.onReceiving) {
  407. args.onReceiving();
  408. }
  409. var error;
  410. if (xdmStatus==Microsoft.Office.Common.InvokeResultCode.noError) {
  411. OSF.DDA.XLS.Delegate.version=payload["Version"];
  412. error=payload["Error"];
  413. } else {
  414. switch (xdmStatus) {
  415. case Microsoft.Office.Common.InvokeResultCode.errorHandlingRequestAccessDenied:
  416. error=OSF.DDA.ErrorCodeManager.errorCodes.ooeNoCapability;
  417. break;
  418. default:
  419. error=OSF.DDA.ErrorCodeManager.errorCodes.ooeInternalError;
  420. break;
  421. }
  422. }
  423. if (args.onComplete) {
  424. args.onComplete(error, payload);
  425. }
  426. if (OSF.AppTelemetry) {
  427. OSF.AppTelemetry.onMethodDone(args.dispId, null, Math.abs((new Date()).getTime() - startTime), error);
  428. }
  429. },
  430. args.hostCallArgs
  431. );
  432. };
  433. OSF.DDA.XLS.Delegate._getOnAfterRegisterEvent=function OSF_DDA_XLS_Delegate$GetOnAfterRegisterEvent(register, args) {
  434. var startTime=(new Date()).getTime();
  435. return function OSF_DDA_XLS_Delegate$OnAfterRegisterEvent(xdmStatus, succeeded) {
  436. if (args.onReceiving) {
  437. args.onReceiving();
  438. }
  439. var status;
  440. if (xdmStatus !=Microsoft.Office.Common.InvokeResultCode.noError) {
  441. switch (xdmStatus) {
  442. case Microsoft.Office.Common.InvokeResultCode.errorHandlingRequestAccessDenied:
  443. status=OSF.DDA.ErrorCodeManager.errorCodes.ooeNoCapability;
  444. break;
  445. default:
  446. status=OSF.DDA.ErrorCodeManager.errorCodes.ooeInternalError;
  447. break;
  448. }
  449. } else {
  450. status=succeeded ? OSF.DDA.ErrorCodeManager.errorCodes.ooeSuccess : OSF.DDA.ErrorCodeManager.errorCodes.ooeInternalError;
  451. }
  452. if (args.onComplete) {
  453. args.onComplete(status);
  454. }
  455. if (OSF.AppTelemetry) {
  456. OSF.AppTelemetry.onRegisterDone(register, args.dispId, Math.abs((new Date()).getTime() - startTime), status);
  457. }
  458. }
  459. };
  460. OSF.DDA.XLS.Delegate.registerEventAsync=function OSF_DDA_XLS_Delegate$RegisterEventAsync(args) {
  461. if (args.onCalling) {
  462. args.onCalling();
  463. }
  464. OSF._OfficeAppFactory.getClientEndPoint().registerForEvent(
  465. OSF.DDA.getXdmEventName(args.targetId, args.eventType),
  466. function OSF_DDA_XLSOMFacade$OnEvent(payload) {
  467. if (args.onEvent) {
  468. args.onEvent(payload);
  469. }
  470. if (OSF.AppTelemetry) {
  471. OSF.AppTelemetry.onEventDone(args.dispId);
  472. }
  473. },
  474. OSF.DDA.XLS.Delegate._getOnAfterRegisterEvent(true, args),
  475. {
  476. "controlId": OSF._OfficeAppFactory.getId(),
  477. "eventDispId": args.dispId,
  478. "targetId": args.targetId
  479. }
  480. );
  481. };
  482. OSF.DDA.XLS.Delegate.unregisterEventAsync=function OSF_DDA_XLS_Delegate$UnregisterEventAsync(args) {
  483. if (args.onCalling) {
  484. args.onCalling();
  485. }
  486. OSF._OfficeAppFactory.getClientEndPoint().unregisterForEvent(
  487. OSF.DDA.getXdmEventName(args.targetId, args.eventType),
  488. OSF.DDA.XLS.Delegate._getOnAfterRegisterEvent(false, args),
  489. {
  490. "controlId": OSF._OfficeAppFactory.getId(),
  491. "eventDispId": args.dispId,
  492. "targetId": args.targetId
  493. }
  494. );
  495. };
  496. OSF.DDA.ExcelWebAppDocument=function Microsoft_Office_WebExtension_ExcelWebAppDocument(officeAppContext, settings) {
  497. var bf=new OSF.DDA.BindingFacade(this);
  498. OSF.DDA.DispIdHost.addAsyncMethods(bf, [OSF.DDA.AsyncMethodNames.AddFromPromptAsync]);
  499. OSF.DDA.ExcelWebAppDocument.uber.constructor.call(this,
  500. officeAppContext,
  501. bf,
  502. settings
  503. );
  504. if (this.mode==OSF.ClientMode.ReadOnly) {
  505. this.url=document.URL;
  506. }
  507. OSF.OUtil.finalizeProperties(this);
  508. };
  509. OSF.OUtil.extend(OSF.DDA.ExcelWebAppDocument, OSF.DDA.JsomDocument);