1449 lines
42 KiB
JavaScript
1449 lines
42 KiB
JavaScript
/* Excel iOS specific API library */
|
|
/* Version: 15.0.4420.1017 Build Time: 05/04/2015 */
|
|
/*
|
|
Copyright (c) Microsoft Corporation. All rights reserved.
|
|
*/
|
|
|
|
/*
|
|
Your use of this file is governed by the Microsoft Services Agreement http://go.microsoft.com/fwlink/?LinkId=266419.
|
|
*/
|
|
|
|
OSF.OUtil.augmentList(Microsoft.Office.WebExtension.FilterType, {
|
|
OnlyVisible: "onlyVisible"
|
|
});
|
|
var OSF=OSF || {};
|
|
var OSFWebkit;
|
|
(function (OSFWebkit) {
|
|
var WebkitSafeArray=(function () {
|
|
function WebkitSafeArray(data) {
|
|
this.data=data;
|
|
this.safeArrayFlag=this.isSafeArray(data);
|
|
}
|
|
WebkitSafeArray.prototype.dimensions=function () {
|
|
var dimensions=0;
|
|
if (this.safeArrayFlag) {
|
|
dimensions=this.data[0][0];
|
|
} else if (this.isArray()) {
|
|
dimensions=2;
|
|
}
|
|
return dimensions;
|
|
};
|
|
WebkitSafeArray.prototype.getItem=function () {
|
|
var array=[];
|
|
var element=null;
|
|
if (this.safeArrayFlag) {
|
|
array=this.toArray();
|
|
} else {
|
|
array=this.data;
|
|
}
|
|
element=array;
|
|
for (var i=0; i < arguments.length; i++) {
|
|
element=element[arguments[i]];
|
|
}
|
|
return element;
|
|
};
|
|
WebkitSafeArray.prototype.lbound=function (dimension) {
|
|
return 0;
|
|
};
|
|
WebkitSafeArray.prototype.ubound=function (dimension) {
|
|
var ubound=0;
|
|
if (this.safeArrayFlag) {
|
|
ubound=this.data[0][dimension];
|
|
} else if (this.isArray()) {
|
|
if (dimension==1) {
|
|
return this.data.length;
|
|
} else if (dimension==2) {
|
|
if (OSF.OUtil.isArray(this.data[0])) {
|
|
return this.data[0].length;
|
|
} else if (this.data[0] !=null) {
|
|
return 1;
|
|
}
|
|
}
|
|
}
|
|
return ubound;
|
|
};
|
|
WebkitSafeArray.prototype.toArray=function () {
|
|
if (this.isArray()==false) {
|
|
return this.data;
|
|
}
|
|
var arr=[];
|
|
var startingIndex=this.safeArrayFlag ? 1 : 0;
|
|
for (var i=startingIndex; i < this.data.length; i++) {
|
|
var element=this.data[i];
|
|
if (this.isSafeArray(element)) {
|
|
arr.push(new WebkitSafeArray(element));
|
|
} else {
|
|
arr.push(element);
|
|
}
|
|
}
|
|
return arr;
|
|
};
|
|
WebkitSafeArray.prototype.isArray=function () {
|
|
return OSF.OUtil.isArray(this.data);
|
|
};
|
|
WebkitSafeArray.prototype.isSafeArray=function (obj) {
|
|
var isSafeArray=false;
|
|
if (OSF.OUtil.isArray(obj) && OSF.OUtil.isArray(obj[0])) {
|
|
var bounds=obj[0];
|
|
var dimensions=bounds[0];
|
|
if (bounds.length !=dimensions+1) {
|
|
return false;
|
|
}
|
|
var expectedArraySize=1;
|
|
for (var i=1; i < bounds.length; i++) {
|
|
var dimension=bounds[i];
|
|
if (isFinite(dimension)==false) {
|
|
return false;
|
|
}
|
|
expectedArraySize=expectedArraySize * dimension;
|
|
}
|
|
expectedArraySize++;
|
|
isSafeArray=(expectedArraySize==obj.length);
|
|
}
|
|
return isSafeArray;
|
|
};
|
|
return WebkitSafeArray;
|
|
})();
|
|
OSFWebkit.WebkitSafeArray=WebkitSafeArray;
|
|
})(OSFWebkit || (OSFWebkit={}));
|
|
var OSFWebkit;
|
|
(function (OSFWebkit) {
|
|
(function (ScriptMessaging) {
|
|
var scriptMessenger=null;
|
|
function agaveHostCallback(callbackId, params) {
|
|
scriptMessenger.agaveHostCallback(callbackId, params);
|
|
}
|
|
ScriptMessaging.agaveHostCallback=agaveHostCallback;
|
|
function agaveHostEventCallback(callbackId, params) {
|
|
scriptMessenger.agaveHostEventCallback(callbackId, params);
|
|
}
|
|
ScriptMessaging.agaveHostEventCallback=agaveHostEventCallback;
|
|
function GetScriptMessenger() {
|
|
if (scriptMessenger==null) {
|
|
scriptMessenger=new WebkitScriptMessaging("OSF.ScriptMessaging.agaveHostCallback", "OSF.ScriptMessaging.agaveHostEventCallback");
|
|
}
|
|
return scriptMessenger;
|
|
}
|
|
ScriptMessaging.GetScriptMessenger=GetScriptMessenger;
|
|
var EventHandlerCallback=(function () {
|
|
function EventHandlerCallback(id, targetId, handler) {
|
|
this.id=id;
|
|
this.targetId=targetId;
|
|
this.handler=handler;
|
|
}
|
|
return EventHandlerCallback;
|
|
})();
|
|
var WebkitScriptMessaging=(function () {
|
|
function WebkitScriptMessaging(methodCallbackName, eventCallbackName) {
|
|
this.callingIndex=0;
|
|
this.callbackList={};
|
|
this.eventHandlerList={};
|
|
this.asyncMethodCallbackFunctionName=methodCallbackName;
|
|
this.eventCallbackFunctionName=eventCallbackName;
|
|
this.conversationId=WebkitScriptMessaging.getCurrentTimeMS().toString();
|
|
}
|
|
WebkitScriptMessaging.prototype.invokeMethod=function (handlerName, methodId, params, callback) {
|
|
var messagingArgs={};
|
|
this.postWebkitMessage(messagingArgs, handlerName, methodId, params, callback);
|
|
};
|
|
WebkitScriptMessaging.prototype.registerEvent=function (handlerName, methodId, dispId, targetId, handler, callback) {
|
|
var messagingArgs={
|
|
eventCallbackFunction: this.eventCallbackFunctionName
|
|
};
|
|
var hostArgs={
|
|
id: dispId,
|
|
targetId: targetId
|
|
};
|
|
var correlationId=this.postWebkitMessage(messagingArgs, handlerName, methodId, hostArgs, callback);
|
|
this.eventHandlerList[correlationId]=new EventHandlerCallback(dispId, targetId, handler);
|
|
};
|
|
WebkitScriptMessaging.prototype.unregisterEvent=function (handlerName, methodId, dispId, targetId, callback) {
|
|
var hostArgs={
|
|
id: dispId,
|
|
targetId: targetId
|
|
};
|
|
for (var key in this.eventHandlerList) {
|
|
if (this.eventHandlerList.hasOwnProperty(key)) {
|
|
var eventCallback=this.eventHandlerList[key];
|
|
if (eventCallback.id==dispId && eventCallback.targetId==targetId) {
|
|
delete this.eventHandlerList[key];
|
|
}
|
|
}
|
|
}
|
|
this.invokeMethod(handlerName, methodId, hostArgs, callback);
|
|
};
|
|
WebkitScriptMessaging.prototype.agaveHostCallback=function (callbackId, params) {
|
|
var callbackFunction=this.callbackList[callbackId];
|
|
if (callbackFunction) {
|
|
callbackFunction(params);
|
|
delete this.callbackList[callbackId];
|
|
}
|
|
};
|
|
WebkitScriptMessaging.prototype.agaveHostEventCallback=function (callbackId, params) {
|
|
var eventCallback=this.eventHandlerList[callbackId];
|
|
if (eventCallback) {
|
|
eventCallback.handler(params);
|
|
}
|
|
};
|
|
WebkitScriptMessaging.prototype.postWebkitMessage=function (messagingArgs, handlerName, methodId, params, callback) {
|
|
var correlationId=this.generateCorrelationId();
|
|
this.callbackList[correlationId]=callback;
|
|
messagingArgs.methodId=methodId;
|
|
messagingArgs.params=params;
|
|
messagingArgs.callbackId=correlationId;
|
|
messagingArgs.callbackFunction=this.asyncMethodCallbackFunctionName;
|
|
var invokePostMessage=function () {
|
|
window.webkit.messageHandlers[handlerName].postMessage(JSON.stringify(messagingArgs));
|
|
};
|
|
var currentTimestamp=WebkitScriptMessaging.getCurrentTimeMS();
|
|
if (this.lastMessageTimestamp==null || (currentTimestamp - this.lastMessageTimestamp >=WebkitScriptMessaging.MESSAGE_TIME_DELTA)) {
|
|
invokePostMessage();
|
|
this.lastMessageTimestamp=currentTimestamp;
|
|
} else {
|
|
this.lastMessageTimestamp+=WebkitScriptMessaging.MESSAGE_TIME_DELTA;
|
|
setTimeout(function () {
|
|
invokePostMessage();
|
|
}, this.lastMessageTimestamp - currentTimestamp);
|
|
}
|
|
return correlationId;
|
|
};
|
|
WebkitScriptMessaging.prototype.generateCorrelationId=function () {
|
|
++this.callingIndex;
|
|
return this.conversationId+this.callingIndex;
|
|
};
|
|
WebkitScriptMessaging.getCurrentTimeMS=function () {
|
|
return (new Date).getTime();
|
|
};
|
|
WebkitScriptMessaging.MESSAGE_TIME_DELTA=10;
|
|
return WebkitScriptMessaging;
|
|
})();
|
|
ScriptMessaging.WebkitScriptMessaging=WebkitScriptMessaging;
|
|
})(OSFWebkit.ScriptMessaging || (OSFWebkit.ScriptMessaging={}));
|
|
var ScriptMessaging=OSFWebkit.ScriptMessaging;
|
|
})(OSFWebkit || (OSFWebkit={}));
|
|
OSF.ScriptMessaging=OSFWebkit.ScriptMessaging;
|
|
var OSFWebkit;
|
|
(function (OSFWebkit) {
|
|
OSFWebkit.MessageHandlerName="Agave";
|
|
(function (AppContextProperties) {
|
|
AppContextProperties[AppContextProperties["Settings"]=0]="Settings";
|
|
AppContextProperties[AppContextProperties["SolutionReferenceId"]=1]="SolutionReferenceId";
|
|
AppContextProperties[AppContextProperties["AppType"]=2]="AppType";
|
|
AppContextProperties[AppContextProperties["MajorVersion"]=3]="MajorVersion";
|
|
AppContextProperties[AppContextProperties["MinorVersion"]=4]="MinorVersion";
|
|
AppContextProperties[AppContextProperties["RevisionVersion"]=5]="RevisionVersion";
|
|
AppContextProperties[AppContextProperties["APIVersionSequence"]=6]="APIVersionSequence";
|
|
AppContextProperties[AppContextProperties["AppCapabilities"]=7]="AppCapabilities";
|
|
AppContextProperties[AppContextProperties["APPUILocale"]=8]="APPUILocale";
|
|
AppContextProperties[AppContextProperties["AppDataLocale"]=9]="AppDataLocale";
|
|
AppContextProperties[AppContextProperties["BindingCount"]=10]="BindingCount";
|
|
AppContextProperties[AppContextProperties["DocumentUrl"]=11]="DocumentUrl";
|
|
AppContextProperties[AppContextProperties["ActivationMode"]=12]="ActivationMode";
|
|
AppContextProperties[AppContextProperties["ControlIntegrationLevel"]=13]="ControlIntegrationLevel";
|
|
AppContextProperties[AppContextProperties["SolutionToken"]=14]="SolutionToken";
|
|
AppContextProperties[AppContextProperties["APISetVersion"]=15]="APISetVersion";
|
|
AppContextProperties[AppContextProperties["CorrelationId"]=16]="CorrelationId";
|
|
AppContextProperties[AppContextProperties["InstanceId"]=17]="InstanceId";
|
|
})(OSFWebkit.AppContextProperties || (OSFWebkit.AppContextProperties={}));
|
|
var AppContextProperties=OSFWebkit.AppContextProperties;
|
|
(function (MethodId) {
|
|
MethodId[MethodId["Execute"]=1]="Execute";
|
|
MethodId[MethodId["RegisterEvent"]=2]="RegisterEvent";
|
|
MethodId[MethodId["UnregisterEvent"]=3]="UnregisterEvent";
|
|
MethodId[MethodId["WriteSettings"]=4]="WriteSettings";
|
|
MethodId[MethodId["GetContext"]=5]="GetContext";
|
|
})(OSFWebkit.MethodId || (OSFWebkit.MethodId={}));
|
|
var MethodId=OSFWebkit.MethodId;
|
|
var WebkitHostController=(function () {
|
|
function WebkitHostController(hostScriptProxy) {
|
|
this.hostScriptProxy=hostScriptProxy;
|
|
}
|
|
WebkitHostController.prototype.execute=function (id, params, callback) {
|
|
var args=params;
|
|
if (args==null) {
|
|
args=[];
|
|
}
|
|
var hostParams={
|
|
id: id,
|
|
apiArgs: args
|
|
};
|
|
var agaveResponseCallback=function (payload) {
|
|
var safeArraySource=payload;
|
|
if (OSF.OUtil.isArray(payload) && payload.length >=2) {
|
|
var hrStatus=payload[0];
|
|
safeArraySource=payload[1];
|
|
}
|
|
if (callback) {
|
|
callback(new OSFWebkit.WebkitSafeArray(safeArraySource));
|
|
}
|
|
};
|
|
this.hostScriptProxy.invokeMethod(OSF.Webkit.MessageHandlerName, OSF.Webkit.MethodId.Execute, hostParams, agaveResponseCallback);
|
|
};
|
|
WebkitHostController.prototype.registerEvent=function (id, targetId, handler, callback) {
|
|
var agaveEventHandlerCallback=function (payload) {
|
|
var safeArraySource=payload;
|
|
var eventId=0;
|
|
if (OSF.OUtil.isArray(payload) && payload.length >=2) {
|
|
safeArraySource=payload[0];
|
|
eventId=payload[1];
|
|
}
|
|
if (handler) {
|
|
handler(eventId, new OSFWebkit.WebkitSafeArray(safeArraySource));
|
|
}
|
|
};
|
|
var agaveResponseCallback=function (payload) {
|
|
if (callback) {
|
|
callback(new OSFWebkit.WebkitSafeArray(payload));
|
|
}
|
|
};
|
|
this.hostScriptProxy.registerEvent(OSF.Webkit.MessageHandlerName, OSF.Webkit.MethodId.RegisterEvent, id, targetId, agaveEventHandlerCallback, agaveResponseCallback);
|
|
};
|
|
WebkitHostController.prototype.unregisterEvent=function (id, targetId, callback) {
|
|
var agaveResponseCallback=function (response) {
|
|
callback(new OSFWebkit.WebkitSafeArray(response));
|
|
};
|
|
this.hostScriptProxy.unregisterEvent(OSF.Webkit.MessageHandlerName, OSF.Webkit.MethodId.UnregisterEvent, id, targetId, agaveResponseCallback);
|
|
};
|
|
return WebkitHostController;
|
|
})();
|
|
OSFWebkit.WebkitHostController=WebkitHostController;
|
|
})(OSFWebkit || (OSFWebkit={}));
|
|
OSF.Webkit=OSFWebkit;
|
|
OSF.ClientHostController=new OSFWebkit.WebkitHostController(OSF.ScriptMessaging.GetScriptMessenger());
|
|
OSF.ClientMode={
|
|
ReadWrite: 0,
|
|
ReadOnly: 1
|
|
}
|
|
OSF.DDA.RichInitializationReason={
|
|
1: Microsoft.Office.WebExtension.InitializationReason.Inserted,
|
|
2: Microsoft.Office.WebExtension.InitializationReason.DocumentOpened
|
|
};
|
|
Microsoft.Office.WebExtension.FileType={
|
|
Text: "text",
|
|
Compressed: "compressed"
|
|
};
|
|
OSF.DDA.File=function OSF_DDA_File(handle, fileSize, sliceSize) {
|
|
OSF.OUtil.defineEnumerableProperties(this, {
|
|
"size": {
|
|
value: fileSize
|
|
},
|
|
"sliceCount": {
|
|
value: Math.ceil(fileSize / sliceSize)
|
|
}
|
|
});
|
|
var privateState={};
|
|
privateState[OSF.DDA.FileProperties.Handle]=handle;
|
|
privateState[OSF.DDA.FileProperties.SliceSize]=sliceSize;
|
|
var am=OSF.DDA.AsyncMethodNames;
|
|
OSF.DDA.DispIdHost.addAsyncMethods(
|
|
this, [
|
|
am.GetDocumentCopyChunkAsync,
|
|
am.ReleaseDocumentCopyAsync
|
|
],
|
|
privateState
|
|
);
|
|
}
|
|
OSF.DDA.FileSliceOffset="fileSliceoffset";
|
|
OSF.DDA.CustomXmlParts=function OSF_DDA_CustomXmlParts() {
|
|
this._eventDispatches=[];
|
|
var am=OSF.DDA.AsyncMethodNames;
|
|
OSF.DDA.DispIdHost.addAsyncMethods(this, [
|
|
am.AddDataPartAsync,
|
|
am.GetDataPartByIdAsync,
|
|
am.GetDataPartsByNameSpaceAsync
|
|
]);
|
|
};
|
|
OSF.DDA.CustomXmlPart=function OSF_DDA_CustomXmlPart(customXmlParts, id, builtIn) {
|
|
OSF.OUtil.defineEnumerableProperties(this, {
|
|
"builtIn": {
|
|
value: builtIn
|
|
},
|
|
"id": {
|
|
value: id
|
|
},
|
|
"namespaceManager": {
|
|
value: new OSF.DDA.CustomXmlPrefixMappings(id)
|
|
}
|
|
});
|
|
var am=OSF.DDA.AsyncMethodNames;
|
|
OSF.DDA.DispIdHost.addAsyncMethods(this, [
|
|
am.DeleteDataPartAsync,
|
|
am.GetPartNodesAsync,
|
|
am.GetPartXmlAsync
|
|
]);
|
|
var customXmlPartEventDispatches=customXmlParts._eventDispatches;
|
|
var dispatch=customXmlPartEventDispatches[id];
|
|
if (!dispatch) {
|
|
var et=Microsoft.Office.WebExtension.EventType;
|
|
dispatch=new OSF.EventDispatch([
|
|
et.DataNodeDeleted,
|
|
et.DataNodeInserted,
|
|
et.DataNodeReplaced
|
|
]);
|
|
customXmlPartEventDispatches[id]=dispatch;
|
|
}
|
|
OSF.DDA.DispIdHost.addEventSupport(this, dispatch);
|
|
};
|
|
OSF.DDA.CustomXmlPrefixMappings=function OSF_DDA_CustomXmlPrefixMappings(partId) {
|
|
var am=OSF.DDA.AsyncMethodNames;
|
|
OSF.DDA.DispIdHost.addAsyncMethods(
|
|
this,
|
|
[
|
|
am.AddDataPartNamespaceAsync,
|
|
am.GetDataPartNamespaceAsync,
|
|
am.GetDataPartPrefixAsync
|
|
],
|
|
partId
|
|
);
|
|
};
|
|
OSF.DDA.CustomXmlNode=function OSF_DDA_CustomXmlNode(handle, nodeType, ns, baseName) {
|
|
OSF.OUtil.defineEnumerableProperties(this, {
|
|
"baseName": {
|
|
value: baseName
|
|
},
|
|
"namespaceUri": {
|
|
value: ns
|
|
},
|
|
"nodeType": {
|
|
value: nodeType
|
|
}
|
|
});
|
|
var am=OSF.DDA.AsyncMethodNames;
|
|
OSF.DDA.DispIdHost.addAsyncMethods(
|
|
this,
|
|
[
|
|
am.GetRelativeNodesAsync,
|
|
am.GetNodeValueAsync,
|
|
am.GetNodeXmlAsync,
|
|
am.SetNodeValueAsync,
|
|
am.SetNodeXmlAsync
|
|
],
|
|
handle
|
|
);
|
|
};
|
|
OSF.DDA.NodeInsertedEventArgs=function OSF_DDA_NodeInsertedEventArgs(newNode, inUndoRedo) {
|
|
OSF.OUtil.defineEnumerableProperties(this, {
|
|
"type": {
|
|
value: Microsoft.Office.WebExtension.EventType.DataNodeInserted
|
|
},
|
|
"newNode": {
|
|
value: newNode
|
|
},
|
|
"inUndoRedo": {
|
|
value: inUndoRedo
|
|
}
|
|
});
|
|
};
|
|
OSF.DDA.NodeReplacedEventArgs=function OSF_DDA_NodeReplacedEventArgs(oldNode, newNode, inUndoRedo) {
|
|
OSF.OUtil.defineEnumerableProperties(this, {
|
|
"type": {
|
|
value: Microsoft.Office.WebExtension.EventType.DataNodeReplaced
|
|
},
|
|
"oldNode": {
|
|
value: oldNode
|
|
},
|
|
"newNode": {
|
|
value: newNode
|
|
},
|
|
"inUndoRedo": {
|
|
value: inUndoRedo
|
|
}
|
|
});
|
|
};
|
|
OSF.DDA.NodeDeletedEventArgs=function OSF_DDA_NodeDeletedEventArgs(oldNode, oldNextSibling, inUndoRedo) {
|
|
OSF.OUtil.defineEnumerableProperties(this, {
|
|
"type": {
|
|
value: Microsoft.Office.WebExtension.EventType.DataNodeDeleted
|
|
},
|
|
"oldNode": {
|
|
value: oldNode
|
|
},
|
|
"oldNextSibling": {
|
|
value: oldNextSibling
|
|
},
|
|
"inUndoRedo": {
|
|
value: inUndoRedo
|
|
}
|
|
});
|
|
};
|
|
OSF.DDA.RichClientSettingsManager=(function OSF_DDA$RichClientSettingsManager() {
|
|
return {
|
|
read: function OSF_DDA_RichClientSettingsManager$Read(onCalling, onComplete) {
|
|
var keys=[];
|
|
var values=[];
|
|
if (onCalling) {
|
|
onCalling();
|
|
}
|
|
var initializationHelper=OSF._OfficeAppFactory.getInitializationHelper();
|
|
var onReceivedContext=function onReceivedContext(appContext) {
|
|
if (onComplete) {
|
|
onComplete(OSF.DDA.ErrorCodeManager.errorCodes.ooeSuccess, appContext.get_settings());
|
|
}
|
|
};
|
|
OSF._OfficeAppFactory.getWebkitAppContext(null, onReceivedContext);
|
|
},
|
|
write: function OSF_DDA_RichClientSettingsManager$Write(serializedSettings, overwriteIfStale, onCalling, onComplete) {
|
|
var hostParams={};
|
|
var keys=[];
|
|
var values=[];
|
|
for (var key in serializedSettings) {
|
|
keys.push(key);
|
|
values.push(serializedSettings[key]);
|
|
}
|
|
hostParams["keys"]=keys;
|
|
hostParams["values"]=values;
|
|
if (onCalling) {
|
|
onCalling();
|
|
}
|
|
var onWriteCompleted=function onWriteCompleted(status) {
|
|
if (onComplete) {
|
|
onComplete(status[0], null);
|
|
}
|
|
};
|
|
OSF.ScriptMessaging.GetScriptMessenger().invokeMethod(OSF.Webkit.MessageHandlerName, OSF.Webkit.MethodId.WriteSettings, hostParams, onWriteCompleted);
|
|
}
|
|
};
|
|
})();
|
|
OSF._OfficeAppFactory.getWebkitAppContext=function OSF__OfficeAppFactory$getWebkitAppContext(wnd, gotAppContext) {
|
|
var getInvocationCallback=function OSF_InitializationHelper_getAppContextAsync$getInvocationCallbackWebApp(appContext) {
|
|
var returnedContext;
|
|
var appContextProperties=OSF.Webkit.AppContextProperties;
|
|
var appType=appContext[appContextProperties.AppType];
|
|
var appTypeSupported=false;
|
|
for (var appEntry in OSF.AppName) {
|
|
if (OSF.AppName[appEntry]==appType) {
|
|
appTypeSupported=true;
|
|
break;
|
|
}
|
|
}
|
|
if (!appTypeSupported) {
|
|
throw "Unsupported client type "+appType;
|
|
}
|
|
var hostSettings=appContext[appContextProperties.Settings];
|
|
var serializedSettings={};
|
|
var keys=hostSettings[0];
|
|
var values=hostSettings[1];
|
|
for (var index=0; index < keys.length; index++) {
|
|
serializedSettings[keys[index]]=values[index];
|
|
}
|
|
var id=appContext[appContextProperties.SolutionReferenceId];
|
|
var version=appContext[appContextProperties.MajorVersion];
|
|
var clientMode=appContext[appContextProperties.AppCapabilities];
|
|
var UILocale=appContext[appContextProperties.APPUILocale];
|
|
var dataLocale=appContext[appContextProperties.AppDataLocale];
|
|
var docUrl=appContext[appContextProperties.DocumentUrl];
|
|
var reason=appContext[appContextProperties.ActivationMode];
|
|
var osfControlType=appContext[appContextProperties.ControlIntegrationLevel];
|
|
var eToken=appContext[appContextProperties.SolutionToken];
|
|
eToken=eToken ? eToken.toString() : "";
|
|
var correlationId=appContext[appContextProperties.CorrelationId];
|
|
returnedContext=new OSF.OfficeAppContext(id, appType, version, UILocale, dataLocale, docUrl, clientMode, serializedSettings, reason, osfControlType, eToken, correlationId);
|
|
if (OSF.AppTelemetry) {
|
|
OSF.AppTelemetry.initialize(returnedContext);
|
|
}
|
|
gotAppContext(returnedContext);
|
|
};
|
|
OSF.ScriptMessaging.GetScriptMessenger().invokeMethod(OSF.Webkit.MessageHandlerName, OSF.Webkit.MethodId.GetContext, [], getInvocationCallback);
|
|
}
|
|
OSF.DDA.DispIdHost.getRichClientDelegateMethods=function (actionId) {
|
|
var delegateMethods={};
|
|
delegateMethods[OSF.DDA.DispIdHost.Delegates.ExecuteAsync]=OSF.DDA.SafeArray.Delegate.executeAsync;
|
|
delegateMethods[OSF.DDA.DispIdHost.Delegates.RegisterEventAsync]=OSF.DDA.SafeArray.Delegate.registerEventAsync;
|
|
delegateMethods[OSF.DDA.DispIdHost.Delegates.UnregisterEventAsync]=OSF.DDA.SafeArray.Delegate.unregisterEventAsync;
|
|
function getSettingsExecuteMethod(hostDelegateMethod) {
|
|
return function (args) {
|
|
var status, response;
|
|
var onComplete=function onComplete(status, response) {
|
|
if (args.onReceiving) {
|
|
args.onReceiving();
|
|
}
|
|
if (args.onComplete) {
|
|
args.onComplete(status, response);
|
|
}
|
|
};
|
|
try {
|
|
hostDelegateMethod(args.hostCallArgs, args.onCalling, onComplete);
|
|
} catch (ex) {
|
|
status=OSF.DDA.ErrorCodeManager.errorCodes.ooeInternalError;
|
|
response={ name: Strings.OfficeOM.L_InternalError, message: ex };
|
|
onComplete(status, response);
|
|
}
|
|
};
|
|
}
|
|
function readSerializedSettings(hostCallArgs, onCalling, onReceiving) {
|
|
return OSF.DDA.RichClientSettingsManager.read(onCalling, onReceiving);
|
|
}
|
|
function writeSerializedSettings(hostCallArgs, onCalling, onReceiving) {
|
|
return OSF.DDA.RichClientSettingsManager.write(
|
|
hostCallArgs[OSF.DDA.SettingsManager.SerializedSettings],
|
|
hostCallArgs[Microsoft.Office.WebExtension.Parameters.OverwriteIfStale],
|
|
onCalling,
|
|
onReceiving
|
|
);
|
|
}
|
|
switch (actionId) {
|
|
case OSF.DDA.AsyncMethodNames.RefreshAsync.id:
|
|
delegateMethods[OSF.DDA.DispIdHost.Delegates.ExecuteAsync]=getSettingsExecuteMethod(readSerializedSettings);
|
|
break;
|
|
case OSF.DDA.AsyncMethodNames.SaveAsync.id:
|
|
delegateMethods[OSF.DDA.DispIdHost.Delegates.ExecuteAsync]=getSettingsExecuteMethod(writeSerializedSettings);
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
return delegateMethods;
|
|
}
|
|
OSF.OUtil.setNamespace("SafeArray", OSF.DDA);
|
|
OSF.DDA.SafeArray.Response={
|
|
Status: 0,
|
|
Payload: 1
|
|
};
|
|
OSF.DDA.SafeArray.UniqueArguments={
|
|
Offset: "offset",
|
|
Run: "run",
|
|
BindingSpecificData: "bindingSpecificData",
|
|
MergedCellGuid: "{66e7831f-81b2-42e2-823c-89e872d541b3}"
|
|
};
|
|
OSF.OUtil.setNamespace("Delegate", OSF.DDA.SafeArray);
|
|
OSF.DDA.SafeArray.Delegate.SpecialProcessor=function OSF_DDA_SafeArray_Delegate_SpecialProcessor() {
|
|
function _2DVBArrayToJaggedArray(vbArr) {
|
|
var ret;
|
|
try {
|
|
var rows=vbArr.ubound(1);
|
|
var cols=vbArr.ubound(2);
|
|
vbArr=vbArr.toArray();
|
|
if (rows==1 && cols==1) {
|
|
ret=[vbArr];
|
|
} else {
|
|
ret=[];
|
|
for (var row=0; row < rows; row++) {
|
|
var rowArr=[];
|
|
for (var col=0; col < cols; col++) {
|
|
var datum=vbArr[row * cols+col];
|
|
if (datum !=OSF.DDA.SafeArray.UniqueArguments.MergedCellGuid) {
|
|
rowArr.push(datum);
|
|
}
|
|
}
|
|
if (rowArr.length > 0) {
|
|
ret.push(rowArr);
|
|
}
|
|
}
|
|
}
|
|
} catch (ex) {
|
|
}
|
|
return ret;
|
|
}
|
|
var complexTypes=[
|
|
OSF.DDA.PropertyDescriptors.FileProperties,
|
|
OSF.DDA.PropertyDescriptors.FileSliceProperties,
|
|
OSF.DDA.PropertyDescriptors.BindingProperties,
|
|
OSF.DDA.SafeArray.UniqueArguments.BindingSpecificData,
|
|
OSF.DDA.SafeArray.UniqueArguments.Offset,
|
|
OSF.DDA.SafeArray.UniqueArguments.Run,
|
|
OSF.DDA.PropertyDescriptors.Subset,
|
|
OSF.DDA.PropertyDescriptors.DataPartProperties,
|
|
OSF.DDA.PropertyDescriptors.DataNodeProperties,
|
|
OSF.DDA.EventDescriptors.BindingSelectionChangedEvent,
|
|
OSF.DDA.EventDescriptors.DataNodeInsertedEvent,
|
|
OSF.DDA.EventDescriptors.DataNodeReplacedEvent,
|
|
OSF.DDA.EventDescriptors.DataNodeDeletedEvent,
|
|
OSF.DDA.DataNodeEventProperties.OldNode,
|
|
OSF.DDA.DataNodeEventProperties.NewNode,
|
|
OSF.DDA.DataNodeEventProperties.NextSiblingNode
|
|
];
|
|
var dynamicTypes={};
|
|
dynamicTypes[Microsoft.Office.WebExtension.Parameters.Data]=(function () {
|
|
var tableRows=0;
|
|
var tableHeaders=1;
|
|
return {
|
|
toHost: function OSF_DDA_SafeArray_Delegate_SpecialProcessor_Data$toHost(data) {
|
|
if (typeof data !="string" && data[OSF.DDA.TableDataProperties.TableRows] !==undefined) {
|
|
var tableData=[];
|
|
tableData[tableRows]=data[OSF.DDA.TableDataProperties.TableRows];
|
|
tableData[tableHeaders]=data[OSF.DDA.TableDataProperties.TableHeaders];
|
|
data=tableData;
|
|
}
|
|
return data;
|
|
},
|
|
fromHost: function OSF_DDA_SafeArray_Delegate_SpecialProcessor_Data$fromHost(hostArgs) {
|
|
var ret;
|
|
if (hostArgs.toArray) {
|
|
var dimensions=hostArgs.dimensions();
|
|
if(dimensions===2) {
|
|
ret=_2DVBArrayToJaggedArray(hostArgs);
|
|
} else {
|
|
var array=hostArgs.toArray();
|
|
if(array.length===2 && ((array[0] !=null && array[0].toArray) || (array[1] !=null && array[1].toArray))) {
|
|
ret={};
|
|
ret[OSF.DDA.TableDataProperties.TableRows]=_2DVBArrayToJaggedArray(array[tableRows]);
|
|
ret[OSF.DDA.TableDataProperties.TableHeaders]=_2DVBArrayToJaggedArray(array[tableHeaders]);
|
|
} else {
|
|
ret=array;
|
|
}
|
|
}
|
|
} else {
|
|
ret=hostArgs;
|
|
}
|
|
return ret;
|
|
}
|
|
}
|
|
})();
|
|
OSF.DDA.SafeArray.Delegate.SpecialProcessor.uber.constructor.call(this, complexTypes, dynamicTypes);
|
|
this.pack=function OSF_DDA_SafeArray_Delegate_SpecialProcessor$pack(param, arg) {
|
|
var value;
|
|
if (this.isDynamicType(param)) {
|
|
value=dynamicTypes[param].toHost(arg);
|
|
} else {
|
|
value=arg;
|
|
}
|
|
return value;
|
|
};
|
|
this.unpack=function OSF_DDA_SafeArray_Delegate_SpecialProcessor$unpack(param, arg) {
|
|
var value;
|
|
if (this.isComplexType(param) || OSF.DDA.ListType.isListType(param)) {
|
|
try {
|
|
value=arg.toArray();
|
|
} catch (ex) {
|
|
value=arg || {};
|
|
}
|
|
} else if (this.isDynamicType(param)) {
|
|
value=dynamicTypes[param].fromHost(arg);
|
|
} else {
|
|
value=arg;
|
|
}
|
|
return value;
|
|
};
|
|
}
|
|
OSF.OUtil.extend(OSF.DDA.SafeArray.Delegate.SpecialProcessor, OSF.DDA.SpecialProcessor);
|
|
OSF.DDA.SafeArray.Delegate.ParameterMap=(function () {
|
|
var parameterMap=new OSF.DDA.HostParameterMap(new OSF.DDA.SafeArray.Delegate.SpecialProcessor());
|
|
var ns;
|
|
var self=parameterMap.self;
|
|
function createObject(properties) {
|
|
var obj=null;
|
|
if (properties) {
|
|
obj={};
|
|
var len=properties.length;
|
|
for (var i=0; i < len; i++) {
|
|
obj[properties[i].name]=properties[i].value;
|
|
}
|
|
}
|
|
return obj;
|
|
}
|
|
function define(definition) {
|
|
var args={};
|
|
var toHost=createObject(definition.toHost);
|
|
if (definition.invertible) {
|
|
args.map=toHost;
|
|
}
|
|
else if (definition.canonical) {
|
|
args.toHost=args.fromHost=toHost;
|
|
}
|
|
else {
|
|
args.toHost=toHost;
|
|
args.fromHost=createObject(definition.fromHost);
|
|
}
|
|
parameterMap.setMapping(definition.type, args);
|
|
}
|
|
ns=OSF.DDA.FileProperties;
|
|
define({
|
|
type: OSF.DDA.PropertyDescriptors.FileProperties,
|
|
fromHost: [
|
|
{ name: ns.Handle, value: 0 },
|
|
{ name: ns.FileSize, value: 1 }
|
|
]
|
|
});
|
|
define({
|
|
type: OSF.DDA.PropertyDescriptors.FileSliceProperties,
|
|
fromHost: [
|
|
{ name: Microsoft.Office.WebExtension.Parameters.Data, value: 0 },
|
|
{ name: ns.SliceSize, value: 1}
|
|
]
|
|
});
|
|
ns=OSF.DDA.BindingProperties;
|
|
define({
|
|
type: OSF.DDA.PropertyDescriptors.BindingProperties,
|
|
fromHost: [
|
|
{ name: ns.Id, value: 0 },
|
|
{ name: ns.Type, value: 1 },
|
|
{ name: OSF.DDA.SafeArray.UniqueArguments.BindingSpecificData, value: 2 }
|
|
]
|
|
});
|
|
define({
|
|
type: OSF.DDA.SafeArray.UniqueArguments.BindingSpecificData,
|
|
fromHost: [
|
|
{ name: ns.RowCount, value: 0 },
|
|
{ name: ns.ColumnCount, value: 1 },
|
|
{ name: ns.HasHeaders, value: 2 }
|
|
]
|
|
});
|
|
ns=OSF.DDA.SafeArray.UniqueArguments;
|
|
define({
|
|
type: OSF.DDA.PropertyDescriptors.Subset,
|
|
toHost: [
|
|
{ name: ns.Offset, value: 0 },
|
|
{ name: ns.Run, value: 1 }
|
|
],
|
|
canonical: true
|
|
});
|
|
ns=Microsoft.Office.WebExtension.Parameters;
|
|
define({
|
|
type: OSF.DDA.SafeArray.UniqueArguments.Offset,
|
|
toHost: [
|
|
{ name: ns.StartRow, value: 0 },
|
|
{ name: ns.StartColumn, value: 1 }
|
|
],
|
|
canonical: true
|
|
});
|
|
define({
|
|
type: OSF.DDA.SafeArray.UniqueArguments.Run,
|
|
toHost: [
|
|
{ name: ns.RowCount, value: 0 },
|
|
{ name: ns.ColumnCount, value: 1 }
|
|
],
|
|
canonical: true
|
|
});
|
|
ns=OSF.DDA.DataPartProperties;
|
|
define({
|
|
type: OSF.DDA.PropertyDescriptors.DataPartProperties,
|
|
fromHost: [
|
|
{ name: ns.Id, value: 0 },
|
|
{ name: ns.BuiltIn, value: 1 }
|
|
]
|
|
});
|
|
ns=OSF.DDA.DataNodeProperties;
|
|
define({
|
|
type: OSF.DDA.PropertyDescriptors.DataNodeProperties,
|
|
fromHost: [
|
|
{ name: ns.Handle, value: 0 },
|
|
{ name: ns.BaseName, value: 1 },
|
|
{ name: ns.NamespaceUri, value: 2 },
|
|
{ name: ns.NodeType, value: 3 }
|
|
]
|
|
});
|
|
define({
|
|
type: OSF.DDA.EventDescriptors.BindingSelectionChangedEvent,
|
|
fromHost: [
|
|
{ name: OSF.DDA.PropertyDescriptors.BindingProperties, value: 0 },
|
|
{ name: OSF.DDA.PropertyDescriptors.Subset, value: 1 }
|
|
]
|
|
});
|
|
ns=OSF.DDA.DataNodeEventProperties;
|
|
define({
|
|
type: OSF.DDA.EventDescriptors.DataNodeInsertedEvent,
|
|
fromHost: [
|
|
{ name: ns.InUndoRedo, value: 0 },
|
|
{ name: ns.NewNode, value: 1 }
|
|
]
|
|
});
|
|
define({
|
|
type: OSF.DDA.EventDescriptors.DataNodeReplacedEvent,
|
|
fromHost: [
|
|
{ name: ns.InUndoRedo, value: 0 },
|
|
{ name: ns.OldNode, value: 1 },
|
|
{ name: ns.NewNode, value: 2 }
|
|
]
|
|
});
|
|
define({
|
|
type: OSF.DDA.EventDescriptors.DataNodeDeletedEvent,
|
|
fromHost: [
|
|
{ name: ns.InUndoRedo, value: 0 },
|
|
{ name: ns.OldNode, value: 1 },
|
|
{ name: ns.NextSiblingNode, value: 2 }
|
|
]
|
|
});
|
|
define({
|
|
type: ns.OldNode,
|
|
fromHost: [
|
|
{ name: OSF.DDA.PropertyDescriptors.DataNodeProperties, value: self }
|
|
]
|
|
});
|
|
define({
|
|
type: ns.NewNode,
|
|
fromHost: [
|
|
{ name: OSF.DDA.PropertyDescriptors.DataNodeProperties, value: self }
|
|
]
|
|
});
|
|
define({
|
|
type: ns.NextSiblingNode,
|
|
fromHost: [
|
|
{ name: OSF.DDA.PropertyDescriptors.DataNodeProperties, value: self }
|
|
]
|
|
});
|
|
ns=Microsoft.Office.WebExtension.AsyncResultStatus;
|
|
define({
|
|
type: OSF.DDA.PropertyDescriptors.AsyncResultStatus,
|
|
fromHost: [
|
|
{ name: ns.Succeeded, value: 0 },
|
|
{ name: ns.Failed, value: 1 }
|
|
]
|
|
});
|
|
ns=Microsoft.Office.WebExtension.CoercionType;
|
|
define({
|
|
type: Microsoft.Office.WebExtension.Parameters.CoercionType,
|
|
toHost: [
|
|
{ name: ns.Text, value: 0 },
|
|
{ name: ns.Matrix, value: 1 },
|
|
{ name: ns.Table, value: 2 },
|
|
{ name: ns.Html, value: 3 },
|
|
{ name: ns.Ooxml, value: 4 }
|
|
]
|
|
});
|
|
ns=Microsoft.Office.WebExtension.FileType;
|
|
if (ns) {
|
|
define({
|
|
type: Microsoft.Office.WebExtension.Parameters.FileType,
|
|
toHost: [
|
|
{ name: ns.Text, value: 0 },
|
|
{ name: ns.Compressed, value: 5 }
|
|
]
|
|
});
|
|
}
|
|
ns=Microsoft.Office.WebExtension.BindingType;
|
|
if (ns) {
|
|
define({
|
|
type: Microsoft.Office.WebExtension.Parameters.BindingType,
|
|
toHost: [
|
|
{ name: ns.Text, value: 0 },
|
|
{ name: ns.Matrix, value: 1 },
|
|
{ name: ns.Table, value: 2 }
|
|
],
|
|
invertible: true
|
|
});
|
|
}
|
|
ns=Microsoft.Office.WebExtension.ValueFormat;
|
|
define({
|
|
type: Microsoft.Office.WebExtension.Parameters.ValueFormat,
|
|
toHost: [
|
|
{ name: ns.Unformatted, value: 0 },
|
|
{ name: ns.Formatted, value: 1 }
|
|
]
|
|
});
|
|
ns=Microsoft.Office.WebExtension.FilterType;
|
|
define({
|
|
type: Microsoft.Office.WebExtension.Parameters.FilterType,
|
|
toHost: [
|
|
{ name: ns.All, value: 0 },
|
|
{ name: ns.OnlyVisible, value: 1 }
|
|
]
|
|
});
|
|
ns=Microsoft.Office.WebExtension.Parameters;
|
|
var cns=OSF.DDA.MethodDispId;
|
|
define({
|
|
type: cns.dispidGetSelectedDataMethod,
|
|
fromHost: [
|
|
{ name: ns.Data, value: self }
|
|
],
|
|
toHost: [
|
|
{ name: ns.CoercionType, value: 0 },
|
|
{ name: ns.ValueFormat, value: 1 },
|
|
{ name: ns.FilterType, value: 2 }
|
|
]
|
|
});
|
|
define({
|
|
type: cns.dispidSetSelectedDataMethod,
|
|
toHost: [
|
|
{ name: ns.CoercionType, value: 0 },
|
|
{ name: ns.Data, value: 1 }
|
|
]
|
|
});
|
|
define({
|
|
type: cns.dispidGetDocumentCopyMethod,
|
|
toHost: [{ name: ns.FileType, value: 0}],
|
|
fromHost: [
|
|
{ name: OSF.DDA.PropertyDescriptors.FileProperties, value: self }
|
|
]
|
|
});
|
|
define({
|
|
type: cns.dispidGetDocumentCopyChunkMethod,
|
|
toHost: [
|
|
{ name: OSF.DDA.FileProperties.Handle, value: 0 },
|
|
{ name: OSF.DDA.FileSliceOffset, value: 1 },
|
|
{ name: OSF.DDA.FileProperties.SliceSize, value: 2 }
|
|
],
|
|
fromHost: [
|
|
{ name: OSF.DDA.PropertyDescriptors.FileSliceProperties, value: self }
|
|
]
|
|
});
|
|
define({
|
|
type: cns.dispidReleaseDocumentCopyMethod,
|
|
toHost: [{ name: OSF.DDA.FileProperties.Handle, value: 0}]
|
|
});
|
|
define({
|
|
type: cns.dispidAddBindingFromSelectionMethod,
|
|
fromHost: [
|
|
{ name: OSF.DDA.PropertyDescriptors.BindingProperties, value: self }
|
|
],
|
|
toHost: [
|
|
{ name: ns.Id, value: 0 },
|
|
{ name: ns.BindingType, value: 1 }
|
|
]
|
|
});
|
|
define({
|
|
type: cns.dispidAddBindingFromPromptMethod,
|
|
fromHost: [
|
|
{ name: OSF.DDA.PropertyDescriptors.BindingProperties, value: self }
|
|
],
|
|
toHost: [
|
|
{ name: ns.Id, value: 0 },
|
|
{ name: ns.BindingType, value: 1 },
|
|
{ name: ns.PromptText, value: 2 }
|
|
]
|
|
});
|
|
define({
|
|
type: cns.dispidAddBindingFromNamedItemMethod,
|
|
fromHost: [
|
|
{ name: OSF.DDA.PropertyDescriptors.BindingProperties, value: self }
|
|
],
|
|
toHost: [
|
|
{ name: ns.ItemName, value: 0 },
|
|
{ name: ns.Id, value: 1 },
|
|
{ name: ns.BindingType, value: 2 },
|
|
{ name: ns.FailOnCollision, value: 3 }
|
|
]
|
|
});
|
|
define({
|
|
type: cns.dispidReleaseBindingMethod,
|
|
toHost: [
|
|
{ name: ns.Id, value: 0 }
|
|
]
|
|
});
|
|
define({
|
|
type: cns.dispidGetBindingMethod,
|
|
fromHost: [
|
|
{ name: OSF.DDA.PropertyDescriptors.BindingProperties, value: self }
|
|
],
|
|
toHost: [
|
|
{ name: ns.Id, value: 0 }
|
|
]
|
|
});
|
|
define({
|
|
type: cns.dispidGetAllBindingsMethod,
|
|
fromHost: [
|
|
{ name: OSF.DDA.ListDescriptors.BindingList, value: self }
|
|
]
|
|
});
|
|
define({
|
|
type: cns.dispidGetBindingDataMethod,
|
|
fromHost: [
|
|
{ name: ns.Data, value: self }
|
|
],
|
|
toHost: [
|
|
{ name: ns.Id, value: 0 },
|
|
{ name: ns.CoercionType, value: 1 },
|
|
{ name: ns.ValueFormat, value: 2 },
|
|
{ name: ns.FilterType, value: 3 },
|
|
{ name: OSF.DDA.PropertyDescriptors.Subset, value: 4 }
|
|
]
|
|
});
|
|
define({
|
|
type: cns.dispidSetBindingDataMethod,
|
|
toHost: [
|
|
{ name: ns.Id, value: 0 },
|
|
{ name: ns.CoercionType, value: 1 },
|
|
{ name: ns.Data, value: 2 },
|
|
{ name: OSF.DDA.SafeArray.UniqueArguments.Offset, value: 3 }
|
|
]
|
|
});
|
|
define({
|
|
type: cns.dispidAddRowsMethod,
|
|
toHost: [
|
|
{ name: ns.Id, value: 0 },
|
|
{ name: ns.Data, value: 1 }
|
|
]
|
|
});
|
|
define({
|
|
type: cns.dispidAddColumnsMethod,
|
|
toHost: [
|
|
{ name: ns.Id, value: 0 },
|
|
{ name: ns.Data, value: 1 }
|
|
]
|
|
});
|
|
define({
|
|
type: cns.dispidClearAllRowsMethod,
|
|
toHost: [
|
|
{ name: ns.Id, value: 0 }
|
|
]
|
|
});
|
|
define({
|
|
type: cns.dispidLoadSettingsMethod,
|
|
fromHost: [
|
|
{ name: OSF.DDA.SettingsManager.SerializedSettings, value: self }
|
|
]
|
|
});
|
|
define({
|
|
type: cns.dispidSaveSettingsMethod,
|
|
toHost: [
|
|
{ name: OSF.DDA.SettingsManager.SerializedSettings, value: OSF.DDA.SettingsManager.SerializedSettings },
|
|
{ name: Microsoft.Office.WebExtension.Parameters.OverwriteIfStale, value: Microsoft.Office.WebExtension.Parameters.OverwriteIfStale }
|
|
]
|
|
});
|
|
define({
|
|
type: cns.dispidAddDataPartMethod,
|
|
fromHost: [
|
|
{ name: OSF.DDA.PropertyDescriptors.DataPartProperties, value: self }
|
|
],
|
|
toHost: [
|
|
{ name: ns.Xml, value: 0 }
|
|
]
|
|
});
|
|
define({
|
|
type: cns.dispidGetDataPartByIdMethod,
|
|
fromHost: [
|
|
{ name: OSF.DDA.PropertyDescriptors.DataPartProperties, value: self }
|
|
],
|
|
toHost: [
|
|
{ name: ns.Id, value: 0 }
|
|
]
|
|
});
|
|
define({
|
|
type: cns.dispidGetDataPartsByNamespaceMethod,
|
|
fromHost: [
|
|
{ name: OSF.DDA.ListDescriptors.DataPartList, value: self }
|
|
],
|
|
toHost: [
|
|
{ name: ns.Namespace, value: 0 }
|
|
]
|
|
});
|
|
define({
|
|
type: cns.dispidGetDataPartXmlMethod,
|
|
fromHost: [
|
|
{ name: ns.Data, value: self}
|
|
],
|
|
toHost: [
|
|
{ name: ns.Id, value: 0 }
|
|
]
|
|
});
|
|
define({
|
|
type: cns.dispidGetDataPartNodesMethod,
|
|
fromHost: [
|
|
{ name: OSF.DDA.ListDescriptors.DataNodeList, value: self }
|
|
],
|
|
toHost: [
|
|
{ name: ns.Id, value: 0 },
|
|
{ name: ns.XPath, value: 1 }
|
|
]
|
|
});
|
|
define({
|
|
type: cns.dispidDeleteDataPartMethod,
|
|
toHost: [
|
|
{ name: ns.Id, value: 0 }
|
|
]
|
|
});
|
|
define({
|
|
type: cns.dispidGetDataNodeValueMethod,
|
|
fromHost: [
|
|
{ name: ns.Data, value: self}
|
|
],
|
|
toHost: [
|
|
{ name: OSF.DDA.DataNodeProperties.Handle, value: 0 }
|
|
]
|
|
});
|
|
define({
|
|
type: cns.dispidGetDataNodeXmlMethod,
|
|
fromHost: [
|
|
{ name: ns.Data, value: self}
|
|
],
|
|
toHost: [
|
|
{ name: OSF.DDA.DataNodeProperties.Handle, value: 0 }
|
|
]
|
|
});
|
|
define({
|
|
type: cns.dispidGetDataNodesMethod,
|
|
fromHost: [
|
|
{ name: OSF.DDA.ListDescriptors.DataNodeList, value: self }
|
|
],
|
|
toHost: [
|
|
{ name: OSF.DDA.DataNodeProperties.Handle, value: 0 },
|
|
{ name: ns.XPath, value: 1 }
|
|
]
|
|
});
|
|
define({
|
|
type: cns.dispidSetDataNodeValueMethod,
|
|
toHost: [
|
|
{ name: OSF.DDA.DataNodeProperties.Handle, value: 0 },
|
|
{ name: ns.Data, value: 1 }
|
|
]
|
|
});
|
|
define({
|
|
type: cns.dispidSetDataNodeXmlMethod,
|
|
toHost: [
|
|
{ name: OSF.DDA.DataNodeProperties.Handle, value: 0 },
|
|
{ name: ns.Xml, value: 1 }
|
|
]
|
|
});
|
|
define({
|
|
type: cns.dispidAddDataNamespaceMethod,
|
|
toHost: [
|
|
{ name: OSF.DDA.DataPartProperties.Id, value: 0 },
|
|
{ name: ns.Prefix, value: 1 },
|
|
{ name: ns.Namespace, value: 2 }
|
|
]
|
|
});
|
|
define({
|
|
type: cns.dispidGetDataUriByPrefixMethod,
|
|
fromHost: [
|
|
{ name: ns.Data, value: self}
|
|
],
|
|
toHost: [
|
|
{ name: OSF.DDA.DataPartProperties.Id, value: 0 },
|
|
{ name: ns.Prefix, value: 1 }
|
|
]
|
|
});
|
|
define({
|
|
type: cns.dispidGetDataPrefixByUriMethod,
|
|
fromHost: [
|
|
{ name: ns.Data, value: self}
|
|
],
|
|
toHost: [
|
|
{ name: OSF.DDA.DataPartProperties.Id, value: 0 },
|
|
{ name: ns.Namespace, value: 1 }
|
|
]
|
|
});
|
|
define({
|
|
type: cns.dispidGetSelectedTaskMethod,
|
|
fromHost: [
|
|
{ name: ns.TaskId, value: self }
|
|
]
|
|
});
|
|
define({
|
|
type: cns.dispidGetTaskMethod,
|
|
fromHost: [
|
|
{ name: "taskName", value: 0 },
|
|
{ name: "wssTaskId", value: 1 },
|
|
{ name: "resourceNames", value: 2 }
|
|
],
|
|
toHost: [
|
|
{ name: ns.TaskId, value: 0 }
|
|
]
|
|
});
|
|
define({
|
|
type: cns.dispidGetTaskFieldMethod,
|
|
fromHost: [
|
|
{ name: ns.FieldValue, value: self }
|
|
],
|
|
toHost: [
|
|
{ name: ns.TaskId, value: 0 },
|
|
{ name: ns.FieldId, value: 1 },
|
|
{ name: ns.GetRawValue, value: 2 }
|
|
]
|
|
});
|
|
define({
|
|
type: cns.dispidGetWSSUrlMethod,
|
|
fromHost: [
|
|
{ name: ns.ServerUrl, value: 0 },
|
|
{ name: ns.ListName, value: 1 }
|
|
]
|
|
});
|
|
define({
|
|
type: cns.dispidGetSelectedResourceMethod,
|
|
fromHost: [
|
|
{ name: ns.ResourceId, value: self }
|
|
]
|
|
});
|
|
define({
|
|
type: cns.dispidGetResourceFieldMethod,
|
|
fromHost: [
|
|
{ name: ns.FieldValue, value: self }
|
|
],
|
|
toHost: [
|
|
{ name: ns.ResourceId, value: 0 },
|
|
{ name: ns.FieldId, value: 1 },
|
|
{ name: ns.GetRawValue, value: 2 }
|
|
]
|
|
});
|
|
define({
|
|
type: cns.dispidGetProjectFieldMethod,
|
|
fromHost: [
|
|
{ name: ns.FieldValue, value: self }
|
|
],
|
|
toHost: [
|
|
{ name: ns.FieldId, value: 0 },
|
|
{ name: ns.GetRawValue, value: 1 }
|
|
]
|
|
});
|
|
define({
|
|
type: cns.dispidGetSelectedViewMethod,
|
|
fromHost: [
|
|
{ name: ns.ViewType, value: 0 },
|
|
{ name: ns.ViewName, value: 1 }
|
|
]
|
|
});
|
|
cns=OSF.DDA.EventDispId
|
|
define({ type: cns.dispidDocumentSelectionChangedEvent });
|
|
define({
|
|
type: cns.dispidBindingSelectionChangedEvent,
|
|
fromHost: [
|
|
{name: OSF.DDA.EventDescriptors.BindingSelectionChangedEvent, value: self}
|
|
]
|
|
});
|
|
define({
|
|
type: cns.dispidBindingDataChangedEvent,
|
|
fromHost: [{ name: OSF.DDA.PropertyDescriptors.BindingProperties, value: self}]
|
|
});
|
|
define({ type: cns.dispidSettingsChangedEvent });
|
|
define({
|
|
type: cns.dispidDataNodeAddedEvent,
|
|
fromHost: [{ name: OSF.DDA.EventDescriptors.DataNodeInsertedEvent, value: self}]
|
|
});
|
|
define({
|
|
type: cns.dispidDataNodeReplacedEvent,
|
|
fromHost: [{ name: OSF.DDA.EventDescriptors.DataNodeReplacedEvent, value: self}]
|
|
});
|
|
define({
|
|
type: cns.dispidDataNodeDeletedEvent,
|
|
fromHost: [{ name: OSF.DDA.EventDescriptors.DataNodeDeletedEvent, value: self}]
|
|
});
|
|
define({ type: cns.dispidTaskSelectionChangedEvent });
|
|
define({ type: cns.dispidResourceSelectionChangedEvent });
|
|
define({ type: cns.dispidViewSelectionChangedEvent });
|
|
return parameterMap;
|
|
})();
|
|
OSF.DDA.SafeArray.Delegate._onException=function OSF_DDA_SafeArray_Delegate$OnException(ex, args) {
|
|
var status;
|
|
var number=ex.number;
|
|
if (number) {
|
|
switch (number) {
|
|
case -2146828218:
|
|
status=OSF.DDA.ErrorCodeManager.errorCodes.ooeNoCapability;
|
|
break;
|
|
case -2146827850:
|
|
default:
|
|
status=OSF.DDA.ErrorCodeManager.errorCodes.ooeInternalError;
|
|
break;
|
|
}
|
|
}
|
|
if (args.onComplete) {
|
|
args.onComplete(status || OSF.DDA.ErrorCodeManager.errorCodes.ooeInternalError);
|
|
}
|
|
}
|
|
OSF.DDA.SafeArray.Delegate.executeAsync=function OSF_DDA_SafeArray_Delegate$ExecuteAsync(args) {
|
|
try {
|
|
if (args.onCalling) {
|
|
args.onCalling();
|
|
}
|
|
function toArray(args) {
|
|
var arrArgs=args;
|
|
if (OSF.OUtil.isArray(args)) {
|
|
var len=arrArgs.length;
|
|
for (var i=0; i < len; i++) {
|
|
arrArgs[i]=toArray(arrArgs[i]);
|
|
}
|
|
} else if (OSF.OUtil.isDate(args)) {
|
|
arrArgs=args.getVarDate();
|
|
} else if (typeof args==="object" && !OSF.OUtil.isArray(args)) {
|
|
arrArgs=[];
|
|
for (var index in args) {
|
|
if (!OSF.OUtil.isFunction(args[index])) {
|
|
arrArgs[index]=toArray(args[index]);
|
|
}
|
|
}
|
|
}
|
|
return arrArgs;
|
|
}
|
|
var startTime=(new Date()).getTime();
|
|
OSF.ClientHostController.execute(
|
|
args.dispId,
|
|
toArray(args.hostCallArgs),
|
|
function OSF_DDA_SafeArrayFacade$Execute_OnResponse(hostResponseArgs) {
|
|
if (args.onReceiving) {
|
|
args.onReceiving();
|
|
}
|
|
var result=hostResponseArgs.toArray();
|
|
var status=result[OSF.DDA.SafeArray.Response.Status];
|
|
if (args.onComplete) {
|
|
var payload;
|
|
if (status==OSF.DDA.ErrorCodeManager.errorCodes.ooeSuccess) {
|
|
if (result.length > 2) {
|
|
payload=[];
|
|
for (var i=1; i < result.length; i++)
|
|
payload[i - 1]=result[i];
|
|
}
|
|
else {
|
|
payload=result[OSF.DDA.SafeArray.Response.Payload];
|
|
}
|
|
}
|
|
else {
|
|
payload=result[OSF.DDA.SafeArray.Response.Payload];
|
|
}
|
|
args.onComplete(status, payload);
|
|
}
|
|
if (OSF.AppTelemetry) {
|
|
OSF.AppTelemetry.onMethodDone(args.dispId, args.hostCallArgs, Math.abs((new Date()).getTime() - startTime), status);
|
|
}
|
|
}
|
|
);
|
|
}
|
|
catch (ex) {
|
|
OSF.DDA.SafeArray.Delegate._onException(ex, args);
|
|
}
|
|
};
|
|
OSF.DDA.SafeArray.Delegate._getOnAfterRegisterEvent=function OSF_DDA_SafeArrayDelegate$GetOnAfterRegisterEvent(register, args) {
|
|
var startTime=(new Date()).getTime();
|
|
return function OSF_DDA_SafeArrayDelegate$OnAfterRegisterEvent(hostResponseArgs) {
|
|
if (args.onReceiving) {
|
|
args.onReceiving();
|
|
}
|
|
var status=hostResponseArgs.toArray ? hostResponseArgs.toArray()[OSF.DDA.SafeArray.Response.Status] : hostResponseArgs;
|
|
if (args.onComplete) {
|
|
args.onComplete(status)
|
|
}
|
|
if (OSF.AppTelemetry) {
|
|
OSF.AppTelemetry.onRegisterDone(register, args.dispId, Math.abs((new Date()).getTime() - startTime), status);
|
|
}
|
|
}
|
|
}
|
|
OSF.DDA.SafeArray.Delegate.registerEventAsync=function OSF_DDA_SafeArray_Delegate$RegisterEventAsync(args) {
|
|
if (args.onCalling) {
|
|
args.onCalling();
|
|
}
|
|
var callback=OSF.DDA.SafeArray.Delegate._getOnAfterRegisterEvent(true, args);
|
|
try {
|
|
OSF.ClientHostController.registerEvent(
|
|
args.dispId,
|
|
args.targetId,
|
|
function OSF_DDA_SafeArrayDelegate$RegisterEventAsync_OnEvent(eventDispId, payload) {
|
|
if (args.onEvent) {
|
|
args.onEvent(payload);
|
|
}
|
|
if (OSF.AppTelemetry) {
|
|
OSF.AppTelemetry.onEventDone(args.dispId);
|
|
}
|
|
},
|
|
callback
|
|
);
|
|
}
|
|
catch (ex) {
|
|
OSF.DDA.SafeArray.Delegate._onException(ex, args);
|
|
}
|
|
};
|
|
OSF.DDA.SafeArray.Delegate.unregisterEventAsync=function OSF_DDA_SafeArray_Delegate$UnregisterEventAsync(args) {
|
|
if (args.onCalling) {
|
|
args.onCalling();
|
|
}
|
|
var callback=OSF.DDA.SafeArray.Delegate._getOnAfterRegisterEvent(false, args);
|
|
try {
|
|
OSF.ClientHostController.unregisterEvent(
|
|
args.dispId,
|
|
args.targetId,
|
|
callback
|
|
);
|
|
}
|
|
catch (ex) {
|
|
OSF.DDA.SafeArray.Delegate._onException(ex, args);
|
|
}
|
|
};
|
|
delete Microsoft.Office.WebExtension.FileType;
|
|
OSF.DDA.ExcelDocument=function OSF_DDA_ExcelDocument(officeAppContext, settings) {
|
|
var bf=new OSF.DDA.BindingFacade(this);
|
|
OSF.DDA.DispIdHost.addAsyncMethods(bf, [OSF.DDA.AsyncMethodNames.AddFromPromptAsync]);
|
|
OSF.DDA.ExcelDocument.uber.constructor.call(this,
|
|
officeAppContext,
|
|
bf,
|
|
settings
|
|
);
|
|
OSF.OUtil.finalizeProperties(this);
|
|
};
|
|
OSF.OUtil.extend(OSF.DDA.ExcelDocument, OSF.DDA.JsomDocument);
|
|
|