UNPKG

16 kBJavaScriptView Raw
1/* Project specific JavaScript API library */
2/* Version: 15.0.4615.1000 */
3/*
4 Copyright (c) Microsoft Corporation. All rights reserved.
5*/
6
7/*
8 Your use of this file is governed by the Microsoft Services Agreement http://go.microsoft.com/fwlink/?LinkId=266419.
9*/
10
11Microsoft.Office.WebExtension.ProjectViewTypes={
12 Gantt : 1,
13 NetworkDiagram : 2,
14 TaskDiagram : 3,
15 TaskForm : 4,
16 TaskSheet : 5,
17 ResourceForm : 6,
18 ResourceSheet : 7,
19 ResourceGraph : 8,
20 TeamPlanner : 9,
21 TaskDetails : 10,
22 TaskNameForm : 11,
23 ResourceNames : 12,
24 Calendar : 13,
25 TaskUsage : 14,
26 ResourceUsage : 15,
27 Timeline : 16
28}
29OSF.OUtil.redefineList(Microsoft.Office.WebExtension.CoercionType, {
30 Text: "text"
31});
32OSF.OUtil.redefineList(Microsoft.Office.WebExtension.ValueFormat, {
33 Unformatted: "unformatted"
34});
35OSF.OUtil.redefineList(Microsoft.Office.WebExtension.FilterType, {
36 All: "all"
37});
38OSF.OUtil.redefineList(Microsoft.Office.WebExtension.EventType, {
39 DocumentSelectionChanged: "documentSelectionChanged",
40 TaskSelectionChanged: "taskSelectionChanged",
41 ResourceSelectionChanged: "resourceSelectionChanged",
42 ViewSelectionChanged: "viewSelectionChanged"
43});
44delete Microsoft.Office.WebExtension.BindingType;
45delete Microsoft.Office.WebExtension.FileType;
46delete Microsoft.Office.WebExtension.select;
47OSF.ClientMode={
48 ReadWrite: 0,
49 ReadOnly: 1
50}
51OSF.DDA.RichInitializationReason={
52 1: Microsoft.Office.WebExtension.InitializationReason.Inserted,
53 2: Microsoft.Office.WebExtension.InitializationReason.DocumentOpened
54};
55Microsoft.Office.WebExtension.FileType={
56 Text: "text",
57 Compressed: "compressed"
58};
59OSF.DDA.RichClientSettingsManager={
60 read: function OSF_DDA_RichClientSettingsManager$Read(onCalling, onReceiving) {
61 var keys=[];
62 var values=[];
63 if (onCalling) {
64 onCalling();
65 }
66 window.external.GetContext().GetSettings().Read(keys, values);
67 if (onReceiving) {
68 onReceiving();
69 }
70 var serializedSettings={};
71 for (var index=0; index < keys.length; index++) {
72 serializedSettings[keys[index]]=values[index];
73 }
74 return serializedSettings;
75 },
76 write: function OSF_DDA_RichClientSettingsManager$Write(serializedSettings, overwriteIfStale, onCalling, onReceiving) {
77 var keys=[];
78 var values=[];
79 for (var key in serializedSettings) {
80 keys.push(key);
81 values.push(serializedSettings[key]);
82 }
83 if (onCalling) {
84 onCalling();
85 }
86 window.external.GetContext().GetSettings().Write(keys, values);
87 if (onReceiving) {
88 onReceiving();
89 }
90 }
91};
92OSF.DDA.DispIdHost.getRichClientDelegateMethods=function (actionId) {
93 var delegateMethods={};
94 delegateMethods[OSF.DDA.DispIdHost.Delegates.ExecuteAsync]=OSF.DDA.SafeArray.Delegate.executeAsync;
95 delegateMethods[OSF.DDA.DispIdHost.Delegates.RegisterEventAsync]=OSF.DDA.SafeArray.Delegate.registerEventAsync;
96 delegateMethods[OSF.DDA.DispIdHost.Delegates.UnregisterEventAsync]=OSF.DDA.SafeArray.Delegate.unregisterEventAsync;
97 function getSettingsExecuteMethod(hostDelegateMethod) {
98 return function (args) {
99 var status, response;
100 try {
101 response=hostDelegateMethod(args.hostCallArgs, args.onCalling, args.onReceiving);
102 status=OSF.DDA.ErrorCodeManager.errorCodes.ooeSuccess;
103 } catch (ex) {
104 status=OSF.DDA.ErrorCodeManager.errorCodes.ooeInternalError;
105 response={ name : Strings.OfficeOM.L_InternalError, message : ex };
106 }
107 if (args.onComplete) {
108 args.onComplete(status, response);
109 }
110 };
111 }
112 function readSerializedSettings(hostCallArgs, onCalling, onReceiving) {
113 return OSF.DDA.RichClientSettingsManager.read(onCalling, onReceiving);
114 }
115 function writeSerializedSettings(hostCallArgs, onCalling, onReceiving) {
116 return OSF.DDA.RichClientSettingsManager.write(
117 hostCallArgs[OSF.DDA.SettingsManager.SerializedSettings],
118 hostCallArgs[Microsoft.Office.WebExtension.Parameters.OverwriteIfStale],
119 onCalling,
120 onReceiving
121 );
122 }
123 switch (actionId) {
124 case OSF.DDA.AsyncMethodNames.RefreshAsync.id:
125 delegateMethods[OSF.DDA.DispIdHost.Delegates.ExecuteAsync]=getSettingsExecuteMethod(readSerializedSettings);
126 break;
127 case OSF.DDA.AsyncMethodNames.SaveAsync.id:
128 delegateMethods[OSF.DDA.DispIdHost.Delegates.ExecuteAsync]=getSettingsExecuteMethod(writeSerializedSettings);
129 break;
130 default:
131 break;
132 }
133 return delegateMethods;
134}
135OSF.DDA.File=function OSF_DDA_File(handle, fileSize, sliceSize) {
136 OSF.OUtil.defineEnumerableProperties(this, {
137 "size": {
138 value: fileSize
139 },
140 "sliceCount": {
141 value: Math.ceil(fileSize / sliceSize)
142 }
143 });
144 var privateState={};
145 privateState[OSF.DDA.FileProperties.Handle]=handle;
146 privateState[OSF.DDA.FileProperties.SliceSize]=sliceSize;
147 var am=OSF.DDA.AsyncMethodNames;
148 OSF.DDA.DispIdHost.addAsyncMethods(
149 this, [
150 am.GetDocumentCopyChunkAsync,
151 am.ReleaseDocumentCopyAsync
152 ],
153 privateState
154 );
155}
156OSF.DDA.FileSliceOffset="fileSliceoffset";
157OSF.DDA.CustomXmlParts=function OSF_DDA_CustomXmlParts() {
158 this._eventDispatches=[];
159 var am=OSF.DDA.AsyncMethodNames;
160 OSF.DDA.DispIdHost.addAsyncMethods(this, [
161 am.AddDataPartAsync,
162 am.GetDataPartByIdAsync,
163 am.GetDataPartsByNameSpaceAsync
164 ]);
165};
166OSF.DDA.CustomXmlPart=function OSF_DDA_CustomXmlPart(customXmlParts, id, builtIn) {
167 OSF.OUtil.defineEnumerableProperties(this, {
168 "builtIn": {
169 value: builtIn
170 },
171 "id": {
172 value: id
173 },
174 "namespaceManager": {
175 value: new OSF.DDA.CustomXmlPrefixMappings(id)
176 }
177 });
178 var am=OSF.DDA.AsyncMethodNames;
179 OSF.DDA.DispIdHost.addAsyncMethods(this, [
180 am.DeleteDataPartAsync,
181 am.GetPartNodesAsync,
182 am.GetPartXmlAsync
183 ]);
184 var customXmlPartEventDispatches=customXmlParts._eventDispatches;
185 var dispatch=customXmlPartEventDispatches[id];
186 if (!dispatch) {
187 var et=Microsoft.Office.WebExtension.EventType;
188 dispatch=new OSF.EventDispatch([
189 et.DataNodeDeleted,
190 et.DataNodeInserted,
191 et.DataNodeReplaced
192 ]);
193 customXmlPartEventDispatches[id]=dispatch;
194 }
195 OSF.DDA.DispIdHost.addEventSupport(this, dispatch);
196};
197OSF.DDA.CustomXmlPrefixMappings=function OSF_DDA_CustomXmlPrefixMappings(partId) {
198 var am=OSF.DDA.AsyncMethodNames;
199 OSF.DDA.DispIdHost.addAsyncMethods(
200 this,
201 [
202 am.AddDataPartNamespaceAsync,
203 am.GetDataPartNamespaceAsync,
204 am.GetDataPartPrefixAsync
205 ],
206 partId
207 );
208};
209OSF.DDA.CustomXmlNode=function OSF_DDA_CustomXmlNode(handle, nodeType, ns, baseName) {
210 OSF.OUtil.defineEnumerableProperties(this, {
211 "baseName": {
212 value: baseName
213 },
214 "namespaceUri": {
215 value: ns
216 },
217 "nodeType": {
218 value: nodeType
219 }
220 });
221 var am=OSF.DDA.AsyncMethodNames;
222 OSF.DDA.DispIdHost.addAsyncMethods(
223 this,
224 [
225 am.GetRelativeNodesAsync,
226 am.GetNodeValueAsync,
227 am.GetNodeXmlAsync,
228 am.SetNodeValueAsync,
229 am.SetNodeXmlAsync
230 ],
231 handle
232 );
233};
234OSF.DDA.NodeInsertedEventArgs=function OSF_DDA_NodeInsertedEventArgs(newNode, inUndoRedo) {
235 OSF.OUtil.defineEnumerableProperties(this, {
236 "type": {
237 value: Microsoft.Office.WebExtension.EventType.DataNodeInserted
238 },
239 "newNode": {
240 value: newNode
241 },
242 "inUndoRedo": {
243 value: inUndoRedo
244 }
245 });
246};
247OSF.DDA.NodeReplacedEventArgs=function OSF_DDA_NodeReplacedEventArgs(oldNode, newNode, inUndoRedo) {
248 OSF.OUtil.defineEnumerableProperties(this, {
249 "type": {
250 value: Microsoft.Office.WebExtension.EventType.DataNodeReplaced
251 },
252 "oldNode": {
253 value: oldNode
254 },
255 "newNode": {
256 value: newNode
257 },
258 "inUndoRedo": {
259 value: inUndoRedo
260 }
261 });
262};
263OSF.DDA.NodeDeletedEventArgs=function OSF_DDA_NodeDeletedEventArgs(oldNode, oldNextSibling, inUndoRedo) {
264 OSF.OUtil.defineEnumerableProperties(this, {
265 "type": {
266 value: Microsoft.Office.WebExtension.EventType.DataNodeDeleted
267 },
268 "oldNode": {
269 value: oldNode
270 },
271 "oldNextSibling": {
272 value: oldNextSibling
273 },
274 "inUndoRedo": {
275 value: inUndoRedo
276 }
277 });
278};
279OSF.OUtil.setNamespace("SafeArray", OSF.DDA);
280OSF.DDA.SafeArray.Response={
281 Status: 0,
282 Payload: 1
283};
284OSF.DDA.SafeArray.UniqueArguments={
285 Offset: "offset",
286 Run: "run",
287 BindingSpecificData: "bindingSpecificData",
288 MergedCellGuid: "{66e7831f-81b2-42e2-823c-89e872d541b3}"
289};
290OSF.OUtil.setNamespace("Delegate", OSF.DDA.SafeArray);
291OSF.DDA.SafeArray.Delegate.SpecialProcessor=function OSF_DDA_SafeArray_Delegate_SpecialProcessor() {
292 function _2DVBArrayToJaggedArray(vbArr) {
293 var ret;
294 try {
295 var rows=vbArr.ubound(1);
296 var cols=vbArr.ubound(2);
297 vbArr=vbArr.toArray();
298 if (rows==1 && cols==1) {
299 ret=[vbArr];
300 } else {
301 ret=[];
302 for (var row=0; row < rows; row++) {
303 var rowArr=[];
304 for (var col=0; col < cols; col++) {
305 var datum=vbArr[row * cols+col];
306 if (datum !=OSF.DDA.SafeArray.UniqueArguments.MergedCellGuid) {
307 rowArr.push(datum);
308 }
309 }
310 if (rowArr.length > 0) {
311 ret.push(rowArr);
312 }
313 }
314 }
315 } catch (ex) {
316 }
317 return ret;
318 }
319 var complexTypes=[
320 OSF.DDA.PropertyDescriptors.FileProperties,
321 OSF.DDA.PropertyDescriptors.FileSliceProperties,
322 OSF.DDA.PropertyDescriptors.FilePropertiesDescriptor,
323 OSF.DDA.PropertyDescriptors.BindingProperties,
324 OSF.DDA.SafeArray.UniqueArguments.BindingSpecificData,
325 OSF.DDA.SafeArray.UniqueArguments.Offset,
326 OSF.DDA.SafeArray.UniqueArguments.Run,
327 OSF.DDA.PropertyDescriptors.Subset,
328 OSF.DDA.PropertyDescriptors.DataPartProperties,
329 OSF.DDA.PropertyDescriptors.DataNodeProperties,
330 OSF.DDA.EventDescriptors.BindingSelectionChangedEvent,
331 OSF.DDA.EventDescriptors.DataNodeInsertedEvent,
332 OSF.DDA.EventDescriptors.DataNodeReplacedEvent,
333 OSF.DDA.EventDescriptors.DataNodeDeletedEvent,
334 OSF.DDA.EventDescriptors.DocumentThemeChangedEvent,
335 OSF.DDA.EventDescriptors.OfficeThemeChangedEvent,
336 OSF.DDA.EventDescriptors.ActiveViewChangedEvent,
337 OSF.DDA.DataNodeEventProperties.OldNode,
338 OSF.DDA.DataNodeEventProperties.NewNode,
339 OSF.DDA.DataNodeEventProperties.NextSiblingNode,
340 Microsoft.Office.Internal.Parameters.OfficeTheme,
341 Microsoft.Office.Internal.Parameters.DocumentTheme
342 ];
343 var dynamicTypes={};
344 dynamicTypes[Microsoft.Office.WebExtension.Parameters.Data]=(function () {
345 var tableRows=0;
346 var tableHeaders=1;
347 return {
348 toHost: function OSF_DDA_SafeArray_Delegate_SpecialProcessor_Data$toHost(data) {
349 if (typeof data !="string" && data[OSF.DDA.TableDataProperties.TableRows] !==undefined) {
350 var tableData=[];
351 tableData[tableRows]=data[OSF.DDA.TableDataProperties.TableRows];
352 tableData[tableHeaders]=data[OSF.DDA.TableDataProperties.TableHeaders];
353 data=tableData;
354 }
355 return data;
356 },
357 fromHost: function OSF_DDA_SafeArray_Delegate_SpecialProcessor_Data$fromHost(hostArgs) {
358 var ret;
359 if (hostArgs.toArray) {
360 var dimensions=hostArgs.dimensions();
361 if(dimensions===2) {
362 ret=_2DVBArrayToJaggedArray(hostArgs);
363 } else {
364 var array=hostArgs.toArray();
365 if(array.length===2 && ((array[0] !=null && array[0].toArray) || (array[1] !=null && array[1].toArray))) {
366 ret={};
367 ret[OSF.DDA.TableDataProperties.TableRows]=_2DVBArrayToJaggedArray(array[tableRows]);
368 ret[OSF.DDA.TableDataProperties.TableHeaders]=_2DVBArrayToJaggedArray(array[tableHeaders]);
369 } else {
370 ret=array;
371 }
372 }
373 } else {
374 ret=hostArgs;
375 }
376 return ret;
377 }
378 }
379 })();
380 OSF.DDA.SafeArray.Delegate.SpecialProcessor.uber.constructor.call(this, complexTypes, dynamicTypes);
381 this.pack=function OSF_DDA_SafeArray_Delegate_SpecialProcessor$pack(param, arg) {
382 var value;
383 if (this.isDynamicType(param)) {
384 value=dynamicTypes[param].toHost(arg);
385 } else {
386 value=arg;
387 }
388 return value;
389 };
390 this.unpack=function OSF_DDA_SafeArray_Delegate_SpecialProcessor$unpack(param, arg) {
391 var value;
392 if (this.isComplexType(param) || OSF.DDA.ListType.isListType(param)) {
393 try {
394 value=arg.toArray();
395 } catch (ex) {
396 value=arg || {};
397 }
398 } else if (this.isDynamicType(param)) {
399 value=dynamicTypes[param].fromHost(arg);
400 } else {
401 value=arg;
402 }
403 return value;
404 };
405 this.dynamicTypes=dynamicTypes;
406}
407OSF.OUtil.extend(OSF.DDA.SafeArray.Delegate.SpecialProcessor, OSF.DDA.SpecialProcessor);
408OSF.DDA.SafeArray.Delegate.ParameterMap=(function () {
409 var parameterMap=new OSF.DDA.HostParameterMap(new OSF.DDA.SafeArray.Delegate.SpecialProcessor());
410 var ns;
411 var self=parameterMap.self;
412 function createObject(properties) {
413 var obj=null;
414 if (properties) {
415 obj={};
416 var len=properties.length;
417 for (var i=0; i < len; i++) {
418 obj[properties[i].name]=properties[i].value;
419 }
420 }
421 return obj;
422 }
423 function define(definition) {
424 var args={};
425 var toHost=createObject(definition.toHost);
426 if (definition.invertible) {
427 args.map=toHost;
428 }
429 else if (definition.canonical) {
430 args.toHost=args.fromHost=toHost;
431 }
432 else {
433 args.toHost=toHost;
434 args.fromHost=createObject(definition.fromHost);
435 }
436 parameterMap.setMapping(definition.type, args);
437 }
438 ns=OSF.DDA.FileProperties;
439 define({
440 type: OSF.DDA.PropertyDescriptors.FileProperties,
441 fromHost: [
442 { name: ns.Handle, value: 0 },
443 { name: ns.FileSize, value: 1 }
444 ]
445 });
446 define({
447 type: OSF.DDA.PropertyDescriptors.FileSliceProperties,
448 fromHost: [
449 { name: Microsoft.Office.WebExtension.Parameters.Data, value: 0 },
450 { name: ns.SliceSize, value: 1}
451 ]
452 });
453 ns=OSF.DDA.FilePropertiesDescriptor;
454 define({
455 type: OSF.DDA.PropertyDescriptors.FilePropertiesDescriptor,
456 fromHost: [
457 { name: ns.Url, value: 0 }
458 ]
459 });
460 ns=OSF.DDA.BindingProperties;
461 define({
462 type: OSF.DDA.PropertyDescriptors.BindingProperties,
463 fromHost: [
464 { name: ns.Id, value: 0 },
465 { name: ns.Type, value: 1 },
466 { name: OSF.DDA.SafeArray.UniqueArguments.BindingSpecificData, value: 2 }
467 ]
468 });
469 define({
470 type: OSF.DDA.SafeArray.UniqueArguments.BindingSpecificData,
471 fromHost: [
472 { name: ns.RowCount, value: 0 },
473 { name: ns.ColumnCount, value: 1 },
474 { name: ns.HasHeaders, value: 2 }
475 ]
476 });
477 ns=OSF.DDA.SafeArray.UniqueArguments;
478 define({
479 type: OSF.DDA.PropertyDescriptors.Subset,
480 toHost: [
481 { name: ns.Offset, value: 0 },
482 { name: ns.Run, value: 1 }
483 ],
484 canonical: true
485 });
486 ns=Microsoft.Office.WebExtension.Parameters;
487 define({
488 type: OSF.DDA.SafeArray.UniqueArguments.Offset,
489 toHost: [
490 { name: ns.StartRow, value: 0 },
491 { name: ns.StartColumn, value: 1 }
492 ],
493 canonical: true
494 });
495 define({
496 type: OSF.DDA.SafeArray.UniqueArguments.Run,
497 toHost: [
498 { name: ns.RowCount, value: 0 },
499 { name: ns.ColumnCount, value: 1 }
500 ],
501 canonical: true
502 });
503 ns=OSF.DDA.DataPartProperties;
504 define({
505 type: OSF.DDA.PropertyDescriptors.DataPartProperties,
506 fromHost: [
507 { name: ns.Id, value: 0 },
508 { name: ns.BuiltIn, value: 1 }
509 ]
510 });
511 ns=OSF.DDA.DataNodeProperties;
512 define({
513 type: OSF.DDA.PropertyDescriptors.DataNodeProperties,
514 fromHost: [
515 { name: ns.Handle, value: 0 },
516 { name: ns.BaseName, value: 1 },
517 { name: ns.NamespaceUri, value: 2 },
518 { name: ns.NodeType, value: 3 }
519 ]
520 });
521 define({
522 type: OSF.DDA.EventDescriptors.BindingSelectionChangedEvent,
523 fromHost: [
524 { name: OSF.DDA.PropertyDescriptors.BindingProperties, value: 0 },
525 { name: OSF.DDA.PropertyDescriptors.Subset, value: 1 }
526 ]
527 });
528 define({
529 type: OSF.DDA.EventDescriptors.DocumentThemeChangedEvent,
530 fromHost: [
531 { name: Microsoft.Office.Internal.Parameters.DocumentTheme, value: self}
532 ]
533 })
534 define({
535 type: OSF.DDA.EventDescriptors.OfficeThemeChangedEvent,
536 fromHost: [
537 { name: Microsoft.Office.Internal.Parameters.OfficeTheme, value: self}
538 ]
539 })
540 define({
541 type: OSF.DDA.EventDescriptors.ActiveViewChangedEvent,
542 fromHost: [