9706 lines
334 KiB
JavaScript
9706 lines
334 KiB
JavaScript
/* Outlook specific API library */
|
|
/* Version: 16.0.6807.1000 */
|
|
/*
|
|
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.
|
|
*/
|
|
|
|
var __extends=this && this.__extends || function(d, b)
|
|
{
|
|
for(var p in b)
|
|
if(b.hasOwnProperty(p))
|
|
d[p]=b[p];
|
|
function __()
|
|
{
|
|
this.constructor=d
|
|
}
|
|
d.prototype=b===null ? Object.create(b) : (__.prototype=b.prototype,new __)
|
|
};
|
|
var OfficeExt;
|
|
(function(OfficeExt)
|
|
{
|
|
var MicrosoftAjaxFactory=function()
|
|
{
|
|
function MicrosoftAjaxFactory(){}
|
|
MicrosoftAjaxFactory.prototype.isMsAjaxLoaded=function()
|
|
{
|
|
if(typeof Sys !=="undefined" && typeof Type !=="undefined" && Sys.StringBuilder && typeof Sys.StringBuilder==="function" && Type.registerNamespace && typeof Type.registerNamespace==="function" && Type.registerClass && typeof Type.registerClass==="function" && typeof Function._validateParams==="function")
|
|
return true;
|
|
else
|
|
return false
|
|
};
|
|
MicrosoftAjaxFactory.prototype.loadMsAjaxFull=function(callback)
|
|
{
|
|
var msAjaxCDNPath=(window.location.protocol.toLowerCase()==="https:" ? "https:" : "http:")+"//ajax.aspnetcdn.com/ajax/3.5/MicrosoftAjax.js";
|
|
OSF.OUtil.loadScript(msAjaxCDNPath,callback)
|
|
};
|
|
Object.defineProperty(MicrosoftAjaxFactory.prototype,"msAjaxError",{
|
|
get: function()
|
|
{
|
|
if(this._msAjaxError==null && this.isMsAjaxLoaded())
|
|
this._msAjaxError=Error;
|
|
return this._msAjaxError
|
|
},
|
|
set: function(errorClass)
|
|
{
|
|
this._msAjaxError=errorClass
|
|
},
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(MicrosoftAjaxFactory.prototype,"msAjaxSerializer",{
|
|
get: function()
|
|
{
|
|
if(this._msAjaxSerializer==null && this.isMsAjaxLoaded())
|
|
this._msAjaxSerializer=Sys.Serialization.JavaScriptSerializer;
|
|
return this._msAjaxSerializer
|
|
},
|
|
set: function(serializerClass)
|
|
{
|
|
this._msAjaxSerializer=serializerClass
|
|
},
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(MicrosoftAjaxFactory.prototype,"msAjaxString",{
|
|
get: function()
|
|
{
|
|
if(this._msAjaxString==null && this.isMsAjaxLoaded())
|
|
this._msAjaxSerializer=String;
|
|
return this._msAjaxString
|
|
},
|
|
set: function(stringClass)
|
|
{
|
|
this._msAjaxString=stringClass
|
|
},
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(MicrosoftAjaxFactory.prototype,"msAjaxDebug",{
|
|
get: function()
|
|
{
|
|
if(this._msAjaxDebug==null && this.isMsAjaxLoaded())
|
|
this._msAjaxDebug=Sys.Debug;
|
|
return this._msAjaxDebug
|
|
},
|
|
set: function(debugClass)
|
|
{
|
|
this._msAjaxDebug=debugClass
|
|
},
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
return MicrosoftAjaxFactory
|
|
}();
|
|
OfficeExt.MicrosoftAjaxFactory=MicrosoftAjaxFactory
|
|
})(OfficeExt || (OfficeExt={}));
|
|
var OsfMsAjaxFactory=new OfficeExt.MicrosoftAjaxFactory;
|
|
var OSF=OSF || {};
|
|
var OfficeExt;
|
|
(function(OfficeExt)
|
|
{
|
|
var SafeStorage=function()
|
|
{
|
|
function SafeStorage(_internalStorage)
|
|
{
|
|
this._internalStorage=_internalStorage
|
|
}
|
|
SafeStorage.prototype.getItem=function(key)
|
|
{
|
|
try
|
|
{
|
|
return this._internalStorage && this._internalStorage.getItem(key)
|
|
}
|
|
catch(e)
|
|
{
|
|
return null
|
|
}
|
|
};
|
|
SafeStorage.prototype.setItem=function(key, data)
|
|
{
|
|
try
|
|
{
|
|
this._internalStorage && this._internalStorage.setItem(key,data)
|
|
}
|
|
catch(e){}
|
|
};
|
|
SafeStorage.prototype.clear=function()
|
|
{
|
|
try
|
|
{
|
|
this._internalStorage && this._internalStorage.clear()
|
|
}
|
|
catch(e){}
|
|
};
|
|
SafeStorage.prototype.removeItem=function(key)
|
|
{
|
|
try
|
|
{
|
|
this._internalStorage && this._internalStorage.removeItem(key)
|
|
}
|
|
catch(e){}
|
|
};
|
|
SafeStorage.prototype.getKeysWithPrefix=function(keyPrefix)
|
|
{
|
|
var keyList=[];
|
|
try
|
|
{
|
|
var len=this._internalStorage && this._internalStorage.length || 0;
|
|
for(var i=0; i < len; i++)
|
|
{
|
|
var key=this._internalStorage.key(i);
|
|
if(key.indexOf(keyPrefix)===0)
|
|
keyList.push(key)
|
|
}
|
|
}
|
|
catch(e){}
|
|
return keyList
|
|
};
|
|
return SafeStorage
|
|
}();
|
|
OfficeExt.SafeStorage=SafeStorage
|
|
})(OfficeExt || (OfficeExt={}));
|
|
OSF.OUtil=function()
|
|
{
|
|
var _uniqueId=-1;
|
|
var _xdmInfoKey="&_xdm_Info=";
|
|
var _serializerVersionKey="&_serializer_version=";
|
|
var _xdmSessionKeyPrefix="_xdm_";
|
|
var _serializerVersionKeyPrefix="_serializer_version=";
|
|
var _fragmentSeparator="#";
|
|
var _loadedScripts={};
|
|
var _defaultScriptLoadingTimeout=3e4;
|
|
var _safeSessionStorage=null;
|
|
var _safeLocalStorage=null;
|
|
var _rndentropy=(new Date).getTime();
|
|
function _random()
|
|
{
|
|
var nextrand=2147483647 * Math.random();
|
|
nextrand ^=_rndentropy ^ (new Date).getMilliseconds() << Math.floor(Math.random() * (31 - 10));
|
|
return nextrand.toString(16)
|
|
}
|
|
function _getSessionStorage()
|
|
{
|
|
if(!_safeSessionStorage)
|
|
{
|
|
try
|
|
{
|
|
var sessionStorage=window.sessionStorage
|
|
}
|
|
catch(ex)
|
|
{
|
|
sessionStorage=null
|
|
}
|
|
_safeSessionStorage=new OfficeExt.SafeStorage(sessionStorage)
|
|
}
|
|
return _safeSessionStorage
|
|
}
|
|
return{
|
|
set_entropy: function OSF_OUtil$set_entropy(entropy)
|
|
{
|
|
if(typeof entropy=="string")
|
|
for(var i=0; i < entropy.length; i+=4)
|
|
{
|
|
var temp=0;
|
|
for(var j=0; j < 4 && i+j < entropy.length; j++)
|
|
temp=(temp << 8)+entropy.charCodeAt(i+j);
|
|
_rndentropy ^=temp
|
|
}
|
|
else if(typeof entropy=="number")
|
|
_rndentropy ^=entropy;
|
|
else
|
|
_rndentropy ^=2147483647 * Math.random();
|
|
_rndentropy &=2147483647
|
|
},
|
|
extend: function OSF_OUtil$extend(child, parent)
|
|
{
|
|
var F=function(){};
|
|
F.prototype=parent.prototype;
|
|
child.prototype=new F;
|
|
child.prototype.constructor=child;
|
|
child.uber=parent.prototype;
|
|
if(parent.prototype.constructor===Object.prototype.constructor)
|
|
parent.prototype.constructor=parent
|
|
},
|
|
setNamespace: function OSF_OUtil$setNamespace(name, parent)
|
|
{
|
|
if(parent && name && !parent[name])
|
|
parent[name]={}
|
|
},
|
|
unsetNamespace: function OSF_OUtil$unsetNamespace(name, parent)
|
|
{
|
|
if(parent && name && parent[name])
|
|
delete parent[name]
|
|
},
|
|
loadScript: function OSF_OUtil$loadScript(url, callback, timeoutInMs)
|
|
{
|
|
if(url && callback)
|
|
{
|
|
var doc=window.document;
|
|
var _loadedScriptEntry=_loadedScripts[url];
|
|
if(!_loadedScriptEntry)
|
|
{
|
|
var script=doc.createElement("script");
|
|
script.type="text/javascript";
|
|
_loadedScriptEntry={
|
|
loaded: false,
|
|
pendingCallbacks: [callback],
|
|
timer: null
|
|
};
|
|
_loadedScripts[url]=_loadedScriptEntry;
|
|
var onLoadCallback=function OSF_OUtil_loadScript$onLoadCallback()
|
|
{
|
|
if(_loadedScriptEntry.timer !=null)
|
|
{
|
|
clearTimeout(_loadedScriptEntry.timer);
|
|
delete _loadedScriptEntry.timer
|
|
}
|
|
_loadedScriptEntry.loaded=true;
|
|
var pendingCallbackCount=_loadedScriptEntry.pendingCallbacks.length;
|
|
for(var i=0; i < pendingCallbackCount; i++)
|
|
{
|
|
var currentCallback=_loadedScriptEntry.pendingCallbacks.shift();
|
|
currentCallback()
|
|
}
|
|
};
|
|
var onLoadError=function OSF_OUtil_loadScript$onLoadError()
|
|
{
|
|
delete _loadedScripts[url];
|
|
if(_loadedScriptEntry.timer !=null)
|
|
{
|
|
clearTimeout(_loadedScriptEntry.timer);
|
|
delete _loadedScriptEntry.timer
|
|
}
|
|
var pendingCallbackCount=_loadedScriptEntry.pendingCallbacks.length;
|
|
for(var i=0; i < pendingCallbackCount; i++)
|
|
{
|
|
var currentCallback=_loadedScriptEntry.pendingCallbacks.shift();
|
|
currentCallback()
|
|
}
|
|
};
|
|
if(script.readyState)
|
|
script.onreadystatechange=function()
|
|
{
|
|
if(script.readyState=="loaded" || script.readyState=="complete")
|
|
{
|
|
script.onreadystatechange=null;
|
|
onLoadCallback()
|
|
}
|
|
};
|
|
else
|
|
script.onload=onLoadCallback;
|
|
script.onerror=onLoadError;
|
|
timeoutInMs=timeoutInMs || _defaultScriptLoadingTimeout;
|
|
_loadedScriptEntry.timer=setTimeout(onLoadError,timeoutInMs);
|
|
script.src=url;
|
|
doc.getElementsByTagName("head")[0].appendChild(script)
|
|
}
|
|
else if(_loadedScriptEntry.loaded)
|
|
callback();
|
|
else
|
|
_loadedScriptEntry.pendingCallbacks.push(callback)
|
|
}
|
|
},
|
|
loadCSS: function OSF_OUtil$loadCSS(url)
|
|
{
|
|
if(url)
|
|
{
|
|
var doc=window.document;
|
|
var link=doc.createElement("link");
|
|
link.type="text/css";
|
|
link.rel="stylesheet";
|
|
link.href=url;
|
|
doc.getElementsByTagName("head")[0].appendChild(link)
|
|
}
|
|
},
|
|
parseEnum: function OSF_OUtil$parseEnum(str, enumObject)
|
|
{
|
|
var parsed=enumObject[str.trim()];
|
|
if(typeof parsed=="undefined")
|
|
{
|
|
OsfMsAjaxFactory.msAjaxDebug.trace("invalid enumeration string:"+str);
|
|
throw OsfMsAjaxFactory.msAjaxError.argument("str");
|
|
}
|
|
return parsed
|
|
},
|
|
delayExecutionAndCache: function OSF_OUtil$delayExecutionAndCache()
|
|
{
|
|
var obj={calc: arguments[0]};
|
|
return function()
|
|
{
|
|
if(obj.calc)
|
|
{
|
|
obj.val=obj.calc.apply(this,arguments);
|
|
delete obj.calc
|
|
}
|
|
return obj.val
|
|
}
|
|
},
|
|
getUniqueId: function OSF_OUtil$getUniqueId()
|
|
{
|
|
_uniqueId=_uniqueId+1;
|
|
return _uniqueId.toString()
|
|
},
|
|
formatString: function OSF_OUtil$formatString()
|
|
{
|
|
var args=arguments;
|
|
var source=args[0];
|
|
return source.replace(/{(\d+)}/gm,function(match, number)
|
|
{
|
|
var index=parseInt(number,10)+1;
|
|
return args[index]===undefined ? "{"+number+"}" : args[index]
|
|
})
|
|
},
|
|
generateConversationId: function OSF_OUtil$generateConversationId()
|
|
{
|
|
return[_random(),_random(),(new Date).getTime().toString()].join("_")
|
|
},
|
|
getFrameNameAndConversationId: function OSF_OUtil$getFrameNameAndConversationId(cacheKey, frame)
|
|
{
|
|
var frameName=_xdmSessionKeyPrefix+cacheKey+this.generateConversationId();
|
|
frame.setAttribute("name",frameName);
|
|
return this.generateConversationId()
|
|
},
|
|
addXdmInfoAsHash: function OSF_OUtil$addXdmInfoAsHash(url, xdmInfoValue)
|
|
{
|
|
return OSF.OUtil.addInfoAsHash(url,_xdmInfoKey,xdmInfoValue)
|
|
},
|
|
addSerializerVersionAsHash: function OSF_OUtil$addSerializerVersionAsHash(url, serializerVersion)
|
|
{
|
|
return OSF.OUtil.addInfoAsHash(url,_serializerVersionKey,serializerVersion)
|
|
},
|
|
addInfoAsHash: function OSF_OUtil$addInfoAsHash(url, keyName, infoValue)
|
|
{
|
|
url=url.trim() || "";
|
|
var urlParts=url.split(_fragmentSeparator);
|
|
var urlWithoutFragment=urlParts.shift();
|
|
var fragment=urlParts.join(_fragmentSeparator);
|
|
return[urlWithoutFragment,_fragmentSeparator,fragment,keyName,infoValue].join("")
|
|
},
|
|
parseXdmInfo: function OSF_OUtil$parseXdmInfo(skipSessionStorage)
|
|
{
|
|
return OSF.OUtil.parseXdmInfoWithGivenFragment(skipSessionStorage,window.location.hash)
|
|
},
|
|
parseXdmInfoWithGivenFragment: function OSF_OUtil$parseXdmInfoWithGivenFragment(skipSessionStorage, fragment)
|
|
{
|
|
return OSF.OUtil.parseInfoWithGivenFragment(_xdmInfoKey,_xdmSessionKeyPrefix,skipSessionStorage,fragment)
|
|
},
|
|
parseSerializerVersion: function OSF_OUtil$parseSerializerVersion(skipSessionStorage)
|
|
{
|
|
return OSF.OUtil.parseSerializerVersionWithGivenFragment(skipSessionStorage,window.location.hash)
|
|
},
|
|
parseSerializerVersionWithGivenFragment: function OSF_OUtil$parseSerializerVersionWithGivenFragment(skipSessionStorage, fragment)
|
|
{
|
|
return parseInt(OSF.OUtil.parseInfoWithGivenFragment(_serializerVersionKey,_serializerVersionKeyPrefix,skipSessionStorage,fragment))
|
|
},
|
|
parseInfoWithGivenFragment: function OSF_OUtil$parseInfoWithGivenFragment(infoKey, infoKeyPrefix, skipSessionStorage, fragment)
|
|
{
|
|
var fragmentParts=fragment.split(infoKey);
|
|
var xdmInfoValue=fragmentParts.length > 1 ? fragmentParts[fragmentParts.length - 1] : null;
|
|
var osfSessionStorage=_getSessionStorage();
|
|
if(!skipSessionStorage && osfSessionStorage)
|
|
{
|
|
var sessionKeyStart=window.name.indexOf(infoKeyPrefix);
|
|
if(sessionKeyStart > -1)
|
|
{
|
|
var sessionKeyEnd=window.name.indexOf(";",sessionKeyStart);
|
|
if(sessionKeyEnd==-1)
|
|
sessionKeyEnd=window.name.length;
|
|
var sessionKey=window.name.substring(sessionKeyStart,sessionKeyEnd);
|
|
if(xdmInfoValue)
|
|
osfSessionStorage.setItem(sessionKey,xdmInfoValue);
|
|
else
|
|
xdmInfoValue=osfSessionStorage.getItem(sessionKey)
|
|
}
|
|
}
|
|
return xdmInfoValue
|
|
},
|
|
getConversationId: function OSF_OUtil$getConversationId()
|
|
{
|
|
var searchString=window.location.search;
|
|
var conversationId=null;
|
|
if(searchString)
|
|
{
|
|
var index=searchString.indexOf("&");
|
|
conversationId=index > 0 ? searchString.substring(1,index) : searchString.substr(1);
|
|
if(conversationId && conversationId.charAt(conversationId.length - 1)==="=")
|
|
{
|
|
conversationId=conversationId.substring(0,conversationId.length - 1);
|
|
if(conversationId)
|
|
conversationId=decodeURIComponent(conversationId)
|
|
}
|
|
}
|
|
return conversationId
|
|
},
|
|
getInfoItems: function OSF_OUtil$getInfoItems(strInfo)
|
|
{
|
|
var items=strInfo.split("$");
|
|
if(typeof items[1]=="undefined")
|
|
items=strInfo.split("|");
|
|
return items
|
|
},
|
|
getConversationUrl: function OSF_OUtil$getConversationUrl()
|
|
{
|
|
var conversationUrl="";
|
|
var xdmInfoValue=OSF.OUtil.parseXdmInfo(true);
|
|
if(xdmInfoValue)
|
|
{
|
|
var items=OSF.OUtil.getInfoItems(xdmInfoValue);
|
|
if(items !=undefined && items.length >=3)
|
|
conversationUrl=items[2]
|
|
}
|
|
return conversationUrl
|
|
},
|
|
validateParamObject: function OSF_OUtil$validateParamObject(params, expectedProperties, callback)
|
|
{
|
|
var e=Function._validateParams(arguments,[{
|
|
name: "params",
|
|
type: Object,
|
|
mayBeNull: false
|
|
},{
|
|
name: "expectedProperties",
|
|
type: Object,
|
|
mayBeNull: false
|
|
},{
|
|
name: "callback",
|
|
type: Function,
|
|
mayBeNull: true
|
|
}]);
|
|
if(e)
|
|
throw e;
|
|
for(var p in expectedProperties)
|
|
{
|
|
e=Function._validateParameter(params[p],expectedProperties[p],p);
|
|
if(e)
|
|
throw e;
|
|
}
|
|
},
|
|
writeProfilerMark: function OSF_OUtil$writeProfilerMark(text)
|
|
{
|
|
if(window.msWriteProfilerMark)
|
|
{
|
|
window.msWriteProfilerMark(text);
|
|
OsfMsAjaxFactory.msAjaxDebug.trace(text)
|
|
}
|
|
},
|
|
outputDebug: function OSF_OUtil$outputDebug(text)
|
|
{
|
|
if(typeof Sys !=="undefined" && Sys && Sys.Debug)
|
|
OsfMsAjaxFactory.msAjaxDebug.trace(text)
|
|
},
|
|
defineNondefaultProperty: function OSF_OUtil$defineNondefaultProperty(obj, prop, descriptor, attributes)
|
|
{
|
|
descriptor=descriptor || {};
|
|
for(var nd in attributes)
|
|
{
|
|
var attribute=attributes[nd];
|
|
if(descriptor[attribute]==undefined)
|
|
descriptor[attribute]=true
|
|
}
|
|
Object.defineProperty(obj,prop,descriptor);
|
|
return obj
|
|
},
|
|
defineNondefaultProperties: function OSF_OUtil$defineNondefaultProperties(obj, descriptors, attributes)
|
|
{
|
|
descriptors=descriptors || {};
|
|
for(var prop in descriptors)
|
|
OSF.OUtil.defineNondefaultProperty(obj,prop,descriptors[prop],attributes);
|
|
return obj
|
|
},
|
|
defineEnumerableProperty: function OSF_OUtil$defineEnumerableProperty(obj, prop, descriptor)
|
|
{
|
|
return OSF.OUtil.defineNondefaultProperty(obj,prop,descriptor,["enumerable"])
|
|
},
|
|
defineEnumerableProperties: function OSF_OUtil$defineEnumerableProperties(obj, descriptors)
|
|
{
|
|
return OSF.OUtil.defineNondefaultProperties(obj,descriptors,["enumerable"])
|
|
},
|
|
defineMutableProperty: function OSF_OUtil$defineMutableProperty(obj, prop, descriptor)
|
|
{
|
|
return OSF.OUtil.defineNondefaultProperty(obj,prop,descriptor,["writable","enumerable","configurable"])
|
|
},
|
|
defineMutableProperties: function OSF_OUtil$defineMutableProperties(obj, descriptors)
|
|
{
|
|
return OSF.OUtil.defineNondefaultProperties(obj,descriptors,["writable","enumerable","configurable"])
|
|
},
|
|
finalizeProperties: function OSF_OUtil$finalizeProperties(obj, descriptor)
|
|
{
|
|
descriptor=descriptor || {};
|
|
var props=Object.getOwnPropertyNames(obj);
|
|
var propsLength=props.length;
|
|
for(var i=0; i < propsLength; i++)
|
|
{
|
|
var prop=props[i];
|
|
var desc=Object.getOwnPropertyDescriptor(obj,prop);
|
|
if(!desc.get && !desc.set)
|
|
desc.writable=descriptor.writable || false;
|
|
desc.configurable=descriptor.configurable || false;
|
|
desc.enumerable=descriptor.enumerable || true;
|
|
Object.defineProperty(obj,prop,desc)
|
|
}
|
|
return obj
|
|
},
|
|
mapList: function OSF_OUtil$MapList(list, mapFunction)
|
|
{
|
|
var ret=[];
|
|
if(list)
|
|
for(var item in list)
|
|
ret.push(mapFunction(list[item]));
|
|
return ret
|
|
},
|
|
listContainsKey: function OSF_OUtil$listContainsKey(list, key)
|
|
{
|
|
for(var item in list)
|
|
if(key==item)
|
|
return true;
|
|
return false
|
|
},
|
|
listContainsValue: function OSF_OUtil$listContainsElement(list, value)
|
|
{
|
|
for(var item in list)
|
|
if(value==list[item])
|
|
return true;
|
|
return false
|
|
},
|
|
augmentList: function OSF_OUtil$augmentList(list, addenda)
|
|
{
|
|
var add=list.push ? function(key, value)
|
|
{
|
|
list.push(value)
|
|
} : function(key, value)
|
|
{
|
|
list[key]=value
|
|
};
|
|
for(var key in addenda)
|
|
add(key,addenda[key])
|
|
},
|
|
redefineList: function OSF_Outil$redefineList(oldList, newList)
|
|
{
|
|
for(var key1 in oldList)
|
|
delete oldList[key1];
|
|
for(var key2 in newList)
|
|
oldList[key2]=newList[key2]
|
|
},
|
|
isArray: function OSF_OUtil$isArray(obj)
|
|
{
|
|
return Object.prototype.toString.apply(obj)==="[object Array]"
|
|
},
|
|
isFunction: function OSF_OUtil$isFunction(obj)
|
|
{
|
|
return Object.prototype.toString.apply(obj)==="[object Function]"
|
|
},
|
|
isDate: function OSF_OUtil$isDate(obj)
|
|
{
|
|
return Object.prototype.toString.apply(obj)==="[object Date]"
|
|
},
|
|
addEventListener: function OSF_OUtil$addEventListener(element, eventName, listener)
|
|
{
|
|
if(element.addEventListener)
|
|
element.addEventListener(eventName,listener,false);
|
|
else if(Sys.Browser.agent===Sys.Browser.InternetExplorer && element.attachEvent)
|
|
element.attachEvent("on"+eventName,listener);
|
|
else
|
|
element["on"+eventName]=listener
|
|
},
|
|
removeEventListener: function OSF_OUtil$removeEventListener(element, eventName, listener)
|
|
{
|
|
if(element.removeEventListener)
|
|
element.removeEventListener(eventName,listener,false);
|
|
else if(Sys.Browser.agent===Sys.Browser.InternetExplorer && element.detachEvent)
|
|
element.detachEvent("on"+eventName,listener);
|
|
else
|
|
element["on"+eventName]=null
|
|
},
|
|
getCookieValue: function OSF_OUtil$getCookieValue(cookieName)
|
|
{
|
|
var tmpCookieString=RegExp(cookieName+"[^;]+").exec(document.cookie);
|
|
return tmpCookieString.toString().replace(/^[^=]+./,"")
|
|
},
|
|
xhrGet: function OSF_OUtil$xhrGet(url, onSuccess, onError)
|
|
{
|
|
var xmlhttp;
|
|
try
|
|
{
|
|
xmlhttp=new XMLHttpRequest;
|
|
xmlhttp.onreadystatechange=function()
|
|
{
|
|
if(xmlhttp.readyState==4)
|
|
if(xmlhttp.status==200)
|
|
onSuccess(xmlhttp.responseText);
|
|
else
|
|
onError(xmlhttp.status)
|
|
};
|
|
xmlhttp.open("GET",url,true);
|
|
xmlhttp.send()
|
|
}
|
|
catch(ex)
|
|
{
|
|
onError(ex)
|
|
}
|
|
},
|
|
xhrGetFull: function OSF_OUtil$xhrGetFull(url, oneDriveFileName, onSuccess, onError)
|
|
{
|
|
var xmlhttp;
|
|
var requestedFileName=oneDriveFileName;
|
|
try
|
|
{
|
|
xmlhttp=new XMLHttpRequest;
|
|
xmlhttp.onreadystatechange=function()
|
|
{
|
|
if(xmlhttp.readyState==4)
|
|
if(xmlhttp.status==200)
|
|
onSuccess(xmlhttp,requestedFileName);
|
|
else
|
|
onError(xmlhttp.status)
|
|
};
|
|
xmlhttp.open("GET",url,true);
|
|
xmlhttp.send()
|
|
}
|
|
catch(ex)
|
|
{
|
|
onError(ex)
|
|
}
|
|
},
|
|
encodeBase64: function OSF_Outil$encodeBase64(input)
|
|
{
|
|
if(!input)
|
|
return input;
|
|
var codex="ABCDEFGHIJKLMNOP"+"QRSTUVWXYZabcdef"+"ghijklmnopqrstuv"+"wxyz0123456789+/=";
|
|
var output=[];
|
|
var temp=[];
|
|
var index=0;
|
|
var c1,
|
|
c2,
|
|
c3,
|
|
a,
|
|
b,
|
|
c;
|
|
var i;
|
|
var length=input.length;
|
|
do
|
|
{
|
|
c1=input.charCodeAt(index++);
|
|
c2=input.charCodeAt(index++);
|
|
c3=input.charCodeAt(index++);
|
|
i=0;
|
|
a=c1 & 255;
|
|
b=c1 >> 8;
|
|
c=c2 & 255;
|
|
temp[i++]=a >> 2;
|
|
temp[i++]=(a & 3) << 4 | b >> 4;
|
|
temp[i++]=(b & 15) << 2 | c >> 6;
|
|
temp[i++]=c & 63;
|
|
if(!isNaN(c2))
|
|
{
|
|
a=c2 >> 8;
|
|
b=c3 & 255;
|
|
c=c3 >> 8;
|
|
temp[i++]=a >> 2;
|
|
temp[i++]=(a & 3) << 4 | b >> 4;
|
|
temp[i++]=(b & 15) << 2 | c >> 6;
|
|
temp[i++]=c & 63
|
|
}
|
|
if(isNaN(c2))
|
|
temp[i - 1]=64;
|
|
else if(isNaN(c3))
|
|
{
|
|
temp[i - 2]=64;
|
|
temp[i - 1]=64
|
|
}
|
|
for(var t=0; t < i; t++)
|
|
output.push(codex.charAt(temp[t]))
|
|
} while(index < length);
|
|
return output.join("")
|
|
},
|
|
getSessionStorage: function OSF_Outil$getSessionStorage()
|
|
{
|
|
return _getSessionStorage()
|
|
},
|
|
getLocalStorage: function OSF_Outil$getLocalStorage()
|
|
{
|
|
if(!_safeLocalStorage)
|
|
{
|
|
try
|
|
{
|
|
var localStorage=window.localStorage
|
|
}
|
|
catch(ex)
|
|
{
|
|
localStorage=null
|
|
}
|
|
_safeLocalStorage=new OfficeExt.SafeStorage(localStorage)
|
|
}
|
|
return _safeLocalStorage
|
|
},
|
|
convertIntToCssHexColor: function OSF_Outil$convertIntToCssHexColor(val)
|
|
{
|
|
var hex="#"+(Number(val)+16777216).toString(16).slice(-6);
|
|
return hex
|
|
},
|
|
attachClickHandler: function OSF_Outil$attachClickHandler(element, handler)
|
|
{
|
|
element.onclick=function(e)
|
|
{
|
|
handler()
|
|
};
|
|
element.ontouchend=function(e)
|
|
{
|
|
handler();
|
|
e.preventDefault()
|
|
}
|
|
},
|
|
getQueryStringParamValue: function OSF_Outil$getQueryStringParamValue(queryString, paramName)
|
|
{
|
|
var e=Function._validateParams(arguments,[{
|
|
name: "queryString",
|
|
type: String,
|
|
mayBeNull: false
|
|
},{
|
|
name: "paramName",
|
|
type: String,
|
|
mayBeNull: false
|
|
}]);
|
|
if(e)
|
|
{
|
|
OsfMsAjaxFactory.msAjaxDebug.trace("OSF_Outil_getQueryStringParamValue: Parameters cannot be null.");
|
|
return""
|
|
}
|
|
var queryExp=new RegExp("[\\?&]"+paramName+"=([^&#]*)","i");
|
|
if(!queryExp.test(queryString))
|
|
{
|
|
OsfMsAjaxFactory.msAjaxDebug.trace("OSF_Outil_getQueryStringParamValue: The parameter is not found.");
|
|
return""
|
|
}
|
|
return queryExp.exec(queryString)[1]
|
|
},
|
|
isiOS: function OSF_Outil$isiOS()
|
|
{
|
|
return window.navigator.userAgent.match(/(iPad|iPhone|iPod)/g) ? true : false
|
|
},
|
|
shallowCopy: function OSF_Outil$shallowCopy(sourceObj)
|
|
{
|
|
var copyObj=sourceObj.constructor();
|
|
for(var property in sourceObj)
|
|
if(sourceObj.hasOwnProperty(property))
|
|
copyObj[property]=sourceObj[property];
|
|
return copyObj
|
|
},
|
|
serializeOMEXResponseErrorMessage: function OSF_Outil$serializeObjectToString(response)
|
|
{
|
|
if(typeof JSON !=="undefined")
|
|
try
|
|
{
|
|
return JSON.stringify(response)
|
|
}
|
|
catch(ex){}
|
|
return""
|
|
},
|
|
createObject: function OSF_Outil$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
|
|
}
|
|
}
|
|
}();
|
|
OSF.OUtil.Guid=function()
|
|
{
|
|
var hexCode=["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"];
|
|
return{generateNewGuid: function OSF_Outil_Guid$generateNewGuid()
|
|
{
|
|
var result="";
|
|
var tick=(new Date).getTime();
|
|
var index=0;
|
|
for(; index < 32 && tick > 0; index++)
|
|
{
|
|
if(index==8 || index==12 || index==16 || index==20)
|
|
result+="-";
|
|
result+=hexCode[tick % 16];
|
|
tick=Math.floor(tick / 16)
|
|
}
|
|
for(; index < 32; index++)
|
|
{
|
|
if(index==8 || index==12 || index==16 || index==20)
|
|
result+="-";
|
|
result+=hexCode[Math.floor(Math.random() * 16)]
|
|
}
|
|
return result
|
|
}}
|
|
}();
|
|
window.OSF=OSF;
|
|
OSF.OUtil.setNamespace("OSF",window);
|
|
OSF.AppName={
|
|
Unsupported: 0,
|
|
Excel: 1,
|
|
Word: 2,
|
|
PowerPoint: 4,
|
|
Outlook: 8,
|
|
ExcelWebApp: 16,
|
|
WordWebApp: 32,
|
|
OutlookWebApp: 64,
|
|
Project: 128,
|
|
AccessWebApp: 256,
|
|
PowerpointWebApp: 512,
|
|
ExcelIOS: 1024,
|
|
Sway: 2048,
|
|
WordIOS: 4096,
|
|
PowerPointIOS: 8192,
|
|
Access: 16384,
|
|
Lync: 32768,
|
|
OutlookIOS: 65536,
|
|
OneNoteWebApp: 131072
|
|
};
|
|
OSF.InternalPerfMarker={
|
|
DataCoercionBegin: "Agave.HostCall.CoerceDataStart",
|
|
DataCoercionEnd: "Agave.HostCall.CoerceDataEnd"
|
|
};
|
|
OSF.HostCallPerfMarker={
|
|
IssueCall: "Agave.HostCall.IssueCall",
|
|
ReceiveResponse: "Agave.HostCall.ReceiveResponse",
|
|
RuntimeExceptionRaised: "Agave.HostCall.RuntimeExecptionRaised"
|
|
};
|
|
OSF.AgaveHostAction={
|
|
Select: 0,
|
|
UnSelect: 1,
|
|
CancelDialog: 2,
|
|
InsertAgave: 3,
|
|
CtrlF6In: 4,
|
|
CtrlF6Exit: 5,
|
|
CtrlF6ExitShift: 6,
|
|
SelectWithError: 7,
|
|
NotifyHostError: 8,
|
|
RefreshAddinCommands: 9
|
|
};
|
|
OSF.SharedConstants={NotificationConversationIdSuffix: "_ntf"};
|
|
OSF.DialogMessageType={
|
|
DialogMessageReceived: 0,
|
|
DialogClosed: 1,
|
|
NavigationFailed: 2,
|
|
InvalidSchema: 3
|
|
};
|
|
OSF.OfficeAppContext=function OSF_OfficeAppContext(id, appName, appVersion, appUILocale, dataLocale, docUrl, clientMode, settings, reason, osfControlType, eToken, correlationId, appInstanceId, touchEnabled, commerceAllowed, appMinorVersion, requirementMatrix)
|
|
{
|
|
this._id=id;
|
|
this._appName=appName;
|
|
this._appVersion=appVersion;
|
|
this._appUILocale=appUILocale;
|
|
this._dataLocale=dataLocale;
|
|
this._docUrl=docUrl;
|
|
this._clientMode=clientMode;
|
|
this._settings=settings;
|
|
this._reason=reason;
|
|
this._osfControlType=osfControlType;
|
|
this._eToken=eToken;
|
|
this._correlationId=correlationId;
|
|
this._appInstanceId=appInstanceId;
|
|
this._touchEnabled=touchEnabled;
|
|
this._commerceAllowed=commerceAllowed;
|
|
this._appMinorVersion=appMinorVersion;
|
|
this._requirementMatrix=requirementMatrix;
|
|
this._isDialog=false;
|
|
this.get_id=function get_id()
|
|
{
|
|
return this._id
|
|
};
|
|
this.get_appName=function get_appName()
|
|
{
|
|
return this._appName
|
|
};
|
|
this.get_appVersion=function get_appVersion()
|
|
{
|
|
return this._appVersion
|
|
};
|
|
this.get_appUILocale=function get_appUILocale()
|
|
{
|
|
return this._appUILocale
|
|
};
|
|
this.get_dataLocale=function get_dataLocale()
|
|
{
|
|
return this._dataLocale
|
|
};
|
|
this.get_docUrl=function get_docUrl()
|
|
{
|
|
return this._docUrl
|
|
};
|
|
this.get_clientMode=function get_clientMode()
|
|
{
|
|
return this._clientMode
|
|
};
|
|
this.get_bindings=function get_bindings()
|
|
{
|
|
return this._bindings
|
|
};
|
|
this.get_settings=function get_settings()
|
|
{
|
|
return this._settings
|
|
};
|
|
this.get_reason=function get_reason()
|
|
{
|
|
return this._reason
|
|
};
|
|
this.get_osfControlType=function get_osfControlType()
|
|
{
|
|
return this._osfControlType
|
|
};
|
|
this.get_eToken=function get_eToken()
|
|
{
|
|
return this._eToken
|
|
};
|
|
this.get_correlationId=function get_correlationId()
|
|
{
|
|
return this._correlationId
|
|
};
|
|
this.get_appInstanceId=function get_appInstanceId()
|
|
{
|
|
return this._appInstanceId
|
|
};
|
|
this.get_touchEnabled=function get_touchEnabled()
|
|
{
|
|
return this._touchEnabled
|
|
};
|
|
this.get_commerceAllowed=function get_commerceAllowed()
|
|
{
|
|
return this._commerceAllowed
|
|
};
|
|
this.get_appMinorVersion=function get_appMinorVersion()
|
|
{
|
|
return this._appMinorVersion
|
|
};
|
|
this.get_requirementMatrix=function get_requirementMatrix()
|
|
{
|
|
return this._requirementMatrix
|
|
};
|
|
this.get_isDialog=function get_isDialog()
|
|
{
|
|
return this._isDialog
|
|
}
|
|
};
|
|
OSF.OsfControlType={
|
|
DocumentLevel: 0,
|
|
ContainerLevel: 1
|
|
};
|
|
OSF.ClientMode={
|
|
ReadOnly: 0,
|
|
ReadWrite: 1
|
|
};
|
|
OSF.OUtil.setNamespace("Microsoft",window);
|
|
OSF.OUtil.setNamespace("Office",Microsoft);
|
|
OSF.OUtil.setNamespace("Client",Microsoft.Office);
|
|
OSF.OUtil.setNamespace("WebExtension",Microsoft.Office);
|
|
Microsoft.Office.WebExtension.InitializationReason={
|
|
Inserted: "inserted",
|
|
DocumentOpened: "documentOpened"
|
|
};
|
|
Microsoft.Office.WebExtension.ValueFormat={
|
|
Unformatted: "unformatted",
|
|
Formatted: "formatted"
|
|
};
|
|
Microsoft.Office.WebExtension.FilterType={All: "all"};
|
|
Microsoft.Office.WebExtension.Parameters={
|
|
BindingType: "bindingType",
|
|
CoercionType: "coercionType",
|
|
ValueFormat: "valueFormat",
|
|
FilterType: "filterType",
|
|
Columns: "columns",
|
|
SampleData: "sampleData",
|
|
GoToType: "goToType",
|
|
SelectionMode: "selectionMode",
|
|
Id: "id",
|
|
PromptText: "promptText",
|
|
ItemName: "itemName",
|
|
FailOnCollision: "failOnCollision",
|
|
StartRow: "startRow",
|
|
StartColumn: "startColumn",
|
|
RowCount: "rowCount",
|
|
ColumnCount: "columnCount",
|
|
Callback: "callback",
|
|
AsyncContext: "asyncContext",
|
|
Data: "data",
|
|
Rows: "rows",
|
|
OverwriteIfStale: "overwriteIfStale",
|
|
FileType: "fileType",
|
|
EventType: "eventType",
|
|
Handler: "handler",
|
|
SliceSize: "sliceSize",
|
|
SliceIndex: "sliceIndex",
|
|
ActiveView: "activeView",
|
|
Status: "status",
|
|
Xml: "xml",
|
|
Namespace: "namespace",
|
|
Prefix: "prefix",
|
|
XPath: "xPath",
|
|
Text: "text",
|
|
ImageLeft: "imageLeft",
|
|
ImageTop: "imageTop",
|
|
ImageWidth: "imageWidth",
|
|
ImageHeight: "imageHeight",
|
|
TaskId: "taskId",
|
|
FieldId: "fieldId",
|
|
FieldValue: "fieldValue",
|
|
ServerUrl: "serverUrl",
|
|
ListName: "listName",
|
|
ResourceId: "resourceId",
|
|
ViewType: "viewType",
|
|
ViewName: "viewName",
|
|
GetRawValue: "getRawValue",
|
|
CellFormat: "cellFormat",
|
|
TableOptions: "tableOptions",
|
|
TaskIndex: "taskIndex",
|
|
ResourceIndex: "resourceIndex",
|
|
Url: "url",
|
|
MessageHandler: "messageHandler",
|
|
Width: "width",
|
|
Height: "height",
|
|
RequireHTTPs: "requireHTTPS",
|
|
MessageToParent: "messageToParent",
|
|
XFrameDenySafe: "xFrameDenySafe"
|
|
};
|
|
OSF.OUtil.setNamespace("DDA",OSF);
|
|
OSF.DDA.DocumentMode={
|
|
ReadOnly: 1,
|
|
ReadWrite: 0
|
|
};
|
|
OSF.DDA.PropertyDescriptors={AsyncResultStatus: "AsyncResultStatus"};
|
|
OSF.DDA.EventDescriptors={};
|
|
OSF.DDA.ListDescriptors={};
|
|
OSF.DDA.UI={};
|
|
OSF.DDA.getXdmEventName=function OSF_DDA$GetXdmEventName(bindingId, eventType)
|
|
{
|
|
if(eventType==Microsoft.Office.WebExtension.EventType.BindingSelectionChanged || eventType==Microsoft.Office.WebExtension.EventType.BindingDataChanged)
|
|
return bindingId+"_"+eventType;
|
|
else
|
|
return eventType
|
|
};
|
|
OSF.DDA.MethodDispId={
|
|
dispidMethodMin: 64,
|
|
dispidGetSelectedDataMethod: 64,
|
|
dispidSetSelectedDataMethod: 65,
|
|
dispidAddBindingFromSelectionMethod: 66,
|
|
dispidAddBindingFromPromptMethod: 67,
|
|
dispidGetBindingMethod: 68,
|
|
dispidReleaseBindingMethod: 69,
|
|
dispidGetBindingDataMethod: 70,
|
|
dispidSetBindingDataMethod: 71,
|
|
dispidAddRowsMethod: 72,
|
|
dispidClearAllRowsMethod: 73,
|
|
dispidGetAllBindingsMethod: 74,
|
|
dispidLoadSettingsMethod: 75,
|
|
dispidSaveSettingsMethod: 76,
|
|
dispidGetDocumentCopyMethod: 77,
|
|
dispidAddBindingFromNamedItemMethod: 78,
|
|
dispidAddColumnsMethod: 79,
|
|
dispidGetDocumentCopyChunkMethod: 80,
|
|
dispidReleaseDocumentCopyMethod: 81,
|
|
dispidNavigateToMethod: 82,
|
|
dispidGetActiveViewMethod: 83,
|
|
dispidGetDocumentThemeMethod: 84,
|
|
dispidGetOfficeThemeMethod: 85,
|
|
dispidGetFilePropertiesMethod: 86,
|
|
dispidClearFormatsMethod: 87,
|
|
dispidSetTableOptionsMethod: 88,
|
|
dispidSetFormatsMethod: 89,
|
|
dispidExecuteRichApiRequestMethod: 93,
|
|
dispidAppCommandInvocationCompletedMethod: 94,
|
|
dispidAddDataPartMethod: 128,
|
|
dispidGetDataPartByIdMethod: 129,
|
|
dispidGetDataPartsByNamespaceMethod: 130,
|
|
dispidGetDataPartXmlMethod: 131,
|
|
dispidGetDataPartNodesMethod: 132,
|
|
dispidDeleteDataPartMethod: 133,
|
|
dispidGetDataNodeValueMethod: 134,
|
|
dispidGetDataNodeXmlMethod: 135,
|
|
dispidGetDataNodesMethod: 136,
|
|
dispidSetDataNodeValueMethod: 137,
|
|
dispidSetDataNodeXmlMethod: 138,
|
|
dispidAddDataNamespaceMethod: 139,
|
|
dispidGetDataUriByPrefixMethod: 140,
|
|
dispidGetDataPrefixByUriMethod: 141,
|
|
dispidGetDataNodeTextMethod: 142,
|
|
dispidSetDataNodeTextMethod: 143,
|
|
dispidMethodMax: 143,
|
|
dispidGetSelectedTaskMethod: 110,
|
|
dispidGetSelectedResourceMethod: 111,
|
|
dispidGetTaskMethod: 112,
|
|
dispidGetResourceFieldMethod: 113,
|
|
dispidGetWSSUrlMethod: 114,
|
|
dispidGetTaskFieldMethod: 115,
|
|
dispidGetProjectFieldMethod: 116,
|
|
dispidGetSelectedViewMethod: 117,
|
|
dispidGetTaskByIndexMethod: 118,
|
|
dispidGetResourceByIndexMethod: 119,
|
|
dispidSetTaskFieldMethod: 120,
|
|
dispidSetResourceFieldMethod: 121,
|
|
dispidGetMaxTaskIndexMethod: 122,
|
|
dispidGetMaxResourceIndexMethod: 123,
|
|
dispidMessageParentMethod: 900
|
|
};
|
|
OSF.DDA.EventDispId={
|
|
dispidEventMin: 0,
|
|
dispidInitializeEvent: 0,
|
|
dispidSettingsChangedEvent: 1,
|
|
dispidDocumentSelectionChangedEvent: 2,
|
|
dispidBindingSelectionChangedEvent: 3,
|
|
dispidBindingDataChangedEvent: 4,
|
|
dispidDocumentOpenEvent: 5,
|
|
dispidDocumentCloseEvent: 6,
|
|
dispidActiveViewChangedEvent: 7,
|
|
dispidDocumentThemeChangedEvent: 8,
|
|
dispidOfficeThemeChangedEvent: 9,
|
|
dispidDialogMessageReceivedEvent: 10,
|
|
dispidActivationStatusChangedEvent: 32,
|
|
dispidAppCommandInvokedEvent: 39,
|
|
dispidTaskSelectionChangedEvent: 56,
|
|
dispidResourceSelectionChangedEvent: 57,
|
|
dispidViewSelectionChangedEvent: 58,
|
|
dispidDataNodeAddedEvent: 60,
|
|
dispidDataNodeReplacedEvent: 61,
|
|
dispidDataNodeDeletedEvent: 62,
|
|
dispidEventMax: 63
|
|
};
|
|
OSF.DDA.ErrorCodeManager=function()
|
|
{
|
|
var _errorMappings={};
|
|
return{
|
|
getErrorArgs: function OSF_DDA_ErrorCodeManager$getErrorArgs(errorCode)
|
|
{
|
|
var errorArgs=_errorMappings[errorCode];
|
|
if(!errorArgs)
|
|
errorArgs=_errorMappings[this.errorCodes.ooeInternalError];
|
|
if(!errorArgs.name)
|
|
errorArgs.name=_errorMappings[this.errorCodes.ooeInternalError].name;
|
|
if(!errorArgs.message)
|
|
errorArgs.message=_errorMappings[this.errorCodes.ooeInternalError].message;
|
|
return errorArgs
|
|
},
|
|
addErrorMessage: function OSF_DDA_ErrorCodeManager$addErrorMessage(errorCode, errorNameMessage)
|
|
{
|
|
_errorMappings[errorCode]=errorNameMessage
|
|
},
|
|
errorCodes: {
|
|
ooeSuccess: 0,
|
|
ooeChunkResult: 1,
|
|
ooeCoercionTypeNotSupported: 1e3,
|
|
ooeGetSelectionNotMatchDataType: 1001,
|
|
ooeCoercionTypeNotMatchBinding: 1002,
|
|
ooeInvalidGetRowColumnCounts: 1003,
|
|
ooeSelectionNotSupportCoercionType: 1004,
|
|
ooeInvalidGetStartRowColumn: 1005,
|
|
ooeNonUniformPartialGetNotSupported: 1006,
|
|
ooeGetDataIsTooLarge: 1008,
|
|
ooeFileTypeNotSupported: 1009,
|
|
ooeGetDataParametersConflict: 1010,
|
|
ooeInvalidGetColumns: 1011,
|
|
ooeInvalidGetRows: 1012,
|
|
ooeInvalidReadForBlankRow: 1013,
|
|
ooeUnsupportedDataObject: 2e3,
|
|
ooeCannotWriteToSelection: 2001,
|
|
ooeDataNotMatchSelection: 2002,
|
|
ooeOverwriteWorksheetData: 2003,
|
|
ooeDataNotMatchBindingSize: 2004,
|
|
ooeInvalidSetStartRowColumn: 2005,
|
|
ooeInvalidDataFormat: 2006,
|
|
ooeDataNotMatchCoercionType: 2007,
|
|
ooeDataNotMatchBindingType: 2008,
|
|
ooeSetDataIsTooLarge: 2009,
|
|
ooeNonUniformPartialSetNotSupported: 2010,
|
|
ooeInvalidSetColumns: 2011,
|
|
ooeInvalidSetRows: 2012,
|
|
ooeSetDataParametersConflict: 2013,
|
|
ooeCellDataAmountBeyondLimits: 2014,
|
|
ooeSelectionCannotBound: 3e3,
|
|
ooeBindingNotExist: 3002,
|
|
ooeBindingToMultipleSelection: 3003,
|
|
ooeInvalidSelectionForBindingType: 3004,
|
|
ooeOperationNotSupportedOnThisBindingType: 3005,
|
|
ooeNamedItemNotFound: 3006,
|
|
ooeMultipleNamedItemFound: 3007,
|
|
ooeInvalidNamedItemForBindingType: 3008,
|
|
ooeUnknownBindingType: 3009,
|
|
ooeOperationNotSupportedOnMatrixData: 3010,
|
|
ooeInvalidColumnsForBinding: 3011,
|
|
ooeSettingNameNotExist: 4e3,
|
|
ooeSettingsCannotSave: 4001,
|
|
ooeSettingsAreStale: 4002,
|
|
ooeOperationNotSupported: 5e3,
|
|
ooeInternalError: 5001,
|
|
ooeDocumentReadOnly: 5002,
|
|
ooeEventHandlerNotExist: 5003,
|
|
ooeInvalidApiCallInContext: 5004,
|
|
ooeShuttingDown: 5005,
|
|
ooeUnsupportedEnumeration: 5007,
|
|
ooeIndexOutOfRange: 5008,
|
|
ooeBrowserAPINotSupported: 5009,
|
|
ooeInvalidParam: 5010,
|
|
ooeRequestTimeout: 5011,
|
|
ooeTooManyIncompleteRequests: 5100,
|
|
ooeRequestTokenUnavailable: 5101,
|
|
ooeActivityLimitReached: 5102,
|
|
ooeCustomXmlNodeNotFound: 6e3,
|
|
ooeCustomXmlError: 6100,
|
|
ooeCustomXmlExceedQuota: 6101,
|
|
ooeCustomXmlOutOfDate: 6102,
|
|
ooeNoCapability: 7e3,
|
|
ooeCannotNavTo: 7001,
|
|
ooeSpecifiedIdNotExist: 7002,
|
|
ooeNavOutOfBound: 7004,
|
|
ooeElementMissing: 8e3,
|
|
ooeProtectedError: 8001,
|
|
ooeInvalidCellsValue: 8010,
|
|
ooeInvalidTableOptionValue: 8011,
|
|
ooeInvalidFormatValue: 8012,
|
|
ooeRowIndexOutOfRange: 8020,
|
|
ooeColIndexOutOfRange: 8021,
|
|
ooeFormatValueOutOfRange: 8022,
|
|
ooeCellFormatAmountBeyondLimits: 8023,
|
|
ooeMemoryFileLimit: 11e3,
|
|
ooeNetworkProblemRetrieveFile: 11001,
|
|
ooeInvalidSliceSize: 11002,
|
|
ooeInvalidCallback: 11101,
|
|
ooeInvalidWidth: 12e3,
|
|
ooeInvalidHeight: 12001,
|
|
ooeNavigationError: 12002,
|
|
ooeInvalidScheme: 12003,
|
|
ooeAppDomains: 12004,
|
|
ooeRequireHTTPS: 12005,
|
|
ooeWebDialogClosed: 12006,
|
|
ooeDialogAlreadyOpened: 12007
|
|
},
|
|
initializeErrorMessages: function OSF_DDA_ErrorCodeManager$initializeErrorMessages(stringNS)
|
|
{
|
|
_errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeCoercionTypeNotSupported]={
|
|
name: stringNS.L_InvalidCoercion,
|
|
message: stringNS.L_CoercionTypeNotSupported
|
|
};
|
|
_errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeGetSelectionNotMatchDataType]={
|
|
name: stringNS.L_DataReadError,
|
|
message: stringNS.L_GetSelectionNotSupported
|
|
};
|
|
_errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeCoercionTypeNotMatchBinding]={
|
|
name: stringNS.L_InvalidCoercion,
|
|
message: stringNS.L_CoercionTypeNotMatchBinding
|
|
};
|
|
_errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeInvalidGetRowColumnCounts]={
|
|
name: stringNS.L_DataReadError,
|
|
message: stringNS.L_InvalidGetRowColumnCounts
|
|
};
|
|
_errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeSelectionNotSupportCoercionType]={
|
|
name: stringNS.L_DataReadError,
|
|
message: stringNS.L_SelectionNotSupportCoercionType
|
|
};
|
|
_errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeInvalidGetStartRowColumn]={
|
|
name: stringNS.L_DataReadError,
|
|
message: stringNS.L_InvalidGetStartRowColumn
|
|
};
|
|
_errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeNonUniformPartialGetNotSupported]={
|
|
name: stringNS.L_DataReadError,
|
|
message: stringNS.L_NonUniformPartialGetNotSupported
|
|
};
|
|
_errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeGetDataIsTooLarge]={
|
|
name: stringNS.L_DataReadError,
|
|
message: stringNS.L_GetDataIsTooLarge
|
|
};
|
|
_errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeFileTypeNotSupported]={
|
|
name: stringNS.L_DataReadError,
|
|
message: stringNS.L_FileTypeNotSupported
|
|
};
|
|
_errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeGetDataParametersConflict]={
|
|
name: stringNS.L_DataReadError,
|
|
message: stringNS.L_GetDataParametersConflict
|
|
};
|
|
_errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeInvalidGetColumns]={
|
|
name: stringNS.L_DataReadError,
|
|
message: stringNS.L_InvalidGetColumns
|
|
};
|
|
_errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeInvalidGetRows]={
|
|
name: stringNS.L_DataReadError,
|
|
message: stringNS.L_InvalidGetRows
|
|
};
|
|
_errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeInvalidReadForBlankRow]={
|
|
name: stringNS.L_DataReadError,
|
|
message: stringNS.L_InvalidReadForBlankRow
|
|
};
|
|
_errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeUnsupportedDataObject]={
|
|
name: stringNS.L_DataWriteError,
|
|
message: stringNS.L_UnsupportedDataObject
|
|
};
|
|
_errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeCannotWriteToSelection]={
|
|
name: stringNS.L_DataWriteError,
|
|
message: stringNS.L_CannotWriteToSelection
|
|
};
|
|
_errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeDataNotMatchSelection]={
|
|
name: stringNS.L_DataWriteError,
|
|
message: stringNS.L_DataNotMatchSelection
|
|
};
|
|
_errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeOverwriteWorksheetData]={
|
|
name: stringNS.L_DataWriteError,
|
|
message: stringNS.L_OverwriteWorksheetData
|
|
};
|
|
_errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeDataNotMatchBindingSize]={
|
|
name: stringNS.L_DataWriteError,
|
|
message: stringNS.L_DataNotMatchBindingSize
|
|
};
|
|
_errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeInvalidSetStartRowColumn]={
|
|
name: stringNS.L_DataWriteError,
|
|
message: stringNS.L_InvalidSetStartRowColumn
|
|
};
|
|
_errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeInvalidDataFormat]={
|
|
name: stringNS.L_InvalidFormat,
|
|
message: stringNS.L_InvalidDataFormat
|
|
};
|
|
_errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeDataNotMatchCoercionType]={
|
|
name: stringNS.L_InvalidDataObject,
|
|
message: stringNS.L_DataNotMatchCoercionType
|
|
};
|
|
_errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeDataNotMatchBindingType]={
|
|
name: stringNS.L_InvalidDataObject,
|
|
message: stringNS.L_DataNotMatchBindingType
|
|
};
|
|
_errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeSetDataIsTooLarge]={
|
|
name: stringNS.L_DataWriteError,
|
|
message: stringNS.L_SetDataIsTooLarge
|
|
};
|
|
_errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeNonUniformPartialSetNotSupported]={
|
|
name: stringNS.L_DataWriteError,
|
|
message: stringNS.L_NonUniformPartialSetNotSupported
|
|
};
|
|
_errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeInvalidSetColumns]={
|
|
name: stringNS.L_DataWriteError,
|
|
message: stringNS.L_InvalidSetColumns
|
|
};
|
|
_errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeInvalidSetRows]={
|
|
name: stringNS.L_DataWriteError,
|
|
message: stringNS.L_InvalidSetRows
|
|
};
|
|
_errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeSetDataParametersConflict]={
|
|
name: stringNS.L_DataWriteError,
|
|
message: stringNS.L_SetDataParametersConflict
|
|
};
|
|
_errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeSelectionCannotBound]={
|
|
name: stringNS.L_BindingCreationError,
|
|
message: stringNS.L_SelectionCannotBound
|
|
};
|
|
_errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeBindingNotExist]={
|
|
name: stringNS.L_InvalidBindingError,
|
|
message: stringNS.L_BindingNotExist
|
|
};
|
|
_errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeBindingToMultipleSelection]={
|
|
name: stringNS.L_BindingCreationError,
|
|
message: stringNS.L_BindingToMultipleSelection
|
|
};
|
|
_errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeInvalidSelectionForBindingType]={
|
|
name: stringNS.L_BindingCreationError,
|
|
message: stringNS.L_InvalidSelectionForBindingType
|
|
};
|
|
_errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeOperationNotSupportedOnThisBindingType]={
|
|
name: stringNS.L_InvalidBindingOperation,
|
|
message: stringNS.L_OperationNotSupportedOnThisBindingType
|
|
};
|
|
_errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeNamedItemNotFound]={
|
|
name: stringNS.L_BindingCreationError,
|
|
message: stringNS.L_NamedItemNotFound
|
|
};
|
|
_errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeMultipleNamedItemFound]={
|
|
name: stringNS.L_BindingCreationError,
|
|
message: stringNS.L_MultipleNamedItemFound
|
|
};
|
|
_errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeInvalidNamedItemForBindingType]={
|
|
name: stringNS.L_BindingCreationError,
|
|
message: stringNS.L_InvalidNamedItemForBindingType
|
|
};
|
|
_errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeUnknownBindingType]={
|
|
name: stringNS.L_InvalidBinding,
|
|
message: stringNS.L_UnknownBindingType
|
|
};
|
|
_errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeOperationNotSupportedOnMatrixData]={
|
|
name: stringNS.L_InvalidBindingOperation,
|
|
message: stringNS.L_OperationNotSupportedOnMatrixData
|
|
};
|
|
_errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeInvalidColumnsForBinding]={
|
|
name: stringNS.L_InvalidBinding,
|
|
message: stringNS.L_InvalidColumnsForBinding
|
|
};
|
|
_errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeSettingNameNotExist]={
|
|
name: stringNS.L_ReadSettingsError,
|
|
message: stringNS.L_SettingNameNotExist
|
|
};
|
|
_errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeSettingsCannotSave]={
|
|
name: stringNS.L_SaveSettingsError,
|
|
message: stringNS.L_SettingsCannotSave
|
|
};
|
|
_errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeSettingsAreStale]={
|
|
name: stringNS.L_SettingsStaleError,
|
|
message: stringNS.L_SettingsAreStale
|
|
};
|
|
_errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeOperationNotSupported]={
|
|
name: stringNS.L_HostError,
|
|
message: stringNS.L_OperationNotSupported
|
|
};
|
|
_errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeInternalError]={
|
|
name: stringNS.L_InternalError,
|
|
message: stringNS.L_InternalErrorDescription
|
|
};
|
|
_errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeDocumentReadOnly]={
|
|
name: stringNS.L_PermissionDenied,
|
|
message: stringNS.L_DocumentReadOnly
|
|
};
|
|
_errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeEventHandlerNotExist]={
|
|
name: stringNS.L_EventRegistrationError,
|
|
message: stringNS.L_EventHandlerNotExist
|
|
};
|
|
_errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeInvalidApiCallInContext]={
|
|
name: stringNS.L_InvalidAPICall,
|
|
message: stringNS.L_InvalidApiCallInContext
|
|
};
|
|
_errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeShuttingDown]={
|
|
name: stringNS.L_ShuttingDown,
|
|
message: stringNS.L_ShuttingDown
|
|
};
|
|
_errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeUnsupportedEnumeration]={
|
|
name: stringNS.L_UnsupportedEnumeration,
|
|
message: stringNS.L_UnsupportedEnumerationMessage
|
|
};
|
|
_errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeIndexOutOfRange]={
|
|
name: stringNS.L_IndexOutOfRange,
|
|
message: stringNS.L_IndexOutOfRange
|
|
};
|
|
_errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeBrowserAPINotSupported]={
|
|
name: stringNS.L_APINotSupported,
|
|
message: stringNS.L_BrowserAPINotSupported
|
|
};
|
|
_errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeRequestTimeout]={
|
|
name: stringNS.L_APICallFailed,
|
|
message: stringNS.L_RequestTimeout
|
|
};
|
|
_errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeTooManyIncompleteRequests]={
|
|
name: stringNS.L_APICallFailed,
|
|
message: stringNS.L_TooManyIncompleteRequests
|
|
};
|
|
_errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeRequestTokenUnavailable]={
|
|
name: stringNS.L_APICallFailed,
|
|
message: stringNS.L_RequestTokenUnavailable
|
|
};
|
|
_errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeActivityLimitReached]={
|
|
name: stringNS.L_APICallFailed,
|
|
message: stringNS.L_ActivityLimitReached
|
|
};
|
|
_errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeCustomXmlNodeNotFound]={
|
|
name: stringNS.L_InvalidNode,
|
|
message: stringNS.L_CustomXmlNodeNotFound
|
|
};
|
|
_errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeCustomXmlError]={
|
|
name: stringNS.L_CustomXmlError,
|
|
message: stringNS.L_CustomXmlError
|
|
};
|
|
_errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeCustomXmlExceedQuota]={
|
|
name: stringNS.L_CustomXmlError,
|
|
message: stringNS.L_CustomXmlError
|
|
};
|
|
_errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeCustomXmlOutOfDate]={
|
|
name: stringNS.L_CustomXmlError,
|
|
message: stringNS.L_CustomXmlError
|
|
};
|
|
_errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeNoCapability]={
|
|
name: stringNS.L_PermissionDenied,
|
|
message: stringNS.L_NoCapability
|
|
};
|
|
_errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeCannotNavTo]={
|
|
name: stringNS.L_CannotNavigateTo,
|
|
message: stringNS.L_CannotNavigateTo
|
|
};
|
|
_errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeSpecifiedIdNotExist]={
|
|
name: stringNS.L_SpecifiedIdNotExist,
|
|
message: stringNS.L_SpecifiedIdNotExist
|
|
};
|
|
_errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeNavOutOfBound]={
|
|
name: stringNS.L_NavOutOfBound,
|
|
message: stringNS.L_NavOutOfBound
|
|
};
|
|
_errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeCellDataAmountBeyondLimits]={
|
|
name: stringNS.L_DataWriteReminder,
|
|
message: stringNS.L_CellDataAmountBeyondLimits
|
|
};
|
|
_errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeElementMissing]={
|
|
name: stringNS.L_MissingParameter,
|
|
message: stringNS.L_ElementMissing
|
|
};
|
|
_errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeProtectedError]={
|
|
name: stringNS.L_PermissionDenied,
|
|
message: stringNS.L_NoCapability
|
|
};
|
|
_errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeInvalidCellsValue]={
|
|
name: stringNS.L_InvalidValue,
|
|
message: stringNS.L_InvalidCellsValue
|
|
};
|
|
_errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeInvalidTableOptionValue]={
|
|
name: stringNS.L_InvalidValue,
|
|
message: stringNS.L_InvalidTableOptionValue
|
|
};
|
|
_errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeInvalidFormatValue]={
|
|
name: stringNS.L_InvalidValue,
|
|
message: stringNS.L_InvalidFormatValue
|
|
};
|
|
_errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeRowIndexOutOfRange]={
|
|
name: stringNS.L_OutOfRange,
|
|
message: stringNS.L_RowIndexOutOfRange
|
|
};
|
|
_errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeColIndexOutOfRange]={
|
|
name: stringNS.L_OutOfRange,
|
|
message: stringNS.L_ColIndexOutOfRange
|
|
};
|
|
_errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeFormatValueOutOfRange]={
|
|
name: stringNS.L_OutOfRange,
|
|
message: stringNS.L_FormatValueOutOfRange
|
|
};
|
|
_errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeCellFormatAmountBeyondLimits]={
|
|
name: stringNS.L_FormattingReminder,
|
|
message: stringNS.L_CellFormatAmountBeyondLimits
|
|
};
|
|
_errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeMemoryFileLimit]={
|
|
name: stringNS.L_MemoryLimit,
|
|
message: stringNS.L_CloseFileBeforeRetrieve
|
|
};
|
|
_errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeNetworkProblemRetrieveFile]={
|
|
name: stringNS.L_NetworkProblem,
|
|
message: stringNS.L_NetworkProblemRetrieveFile
|
|
};
|
|
_errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeInvalidSliceSize]={
|
|
name: stringNS.L_InvalidValue,
|
|
message: stringNS.L_SliceSizeNotSupported
|
|
};
|
|
_errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeDialogAlreadyOpened]={
|
|
name: stringNS.L_DisplayDialogError,
|
|
message: stringNS.L_DialogAlreadyOpened
|
|
};
|
|
_errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeInvalidWidth]={
|
|
name: stringNS.L_IndexOutOfRange,
|
|
message: stringNS.L_IndexOutOfRange
|
|
};
|
|
_errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeInvalidHeight]={
|
|
name: stringNS.L_IndexOutOfRange,
|
|
message: stringNS.L_IndexOutOfRange
|
|
};
|
|
_errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeNavigationError]={
|
|
name: stringNS.L_DisplayDialogError,
|
|
message: stringNS.L_NetworkProblem
|
|
};
|
|
_errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeInvalidScheme]={
|
|
name: stringNS.L_DialogNavigateError,
|
|
message: stringNS.L_DialogAddressNotTrusted
|
|
};
|
|
_errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeAppDomains]={
|
|
name: stringNS.L_DisplayDialogError,
|
|
message: stringNS.L_DialogAddressNotTrusted
|
|
};
|
|
_errorMappings[OSF.DDA.ErrorCodeManager.errorCodes.ooeRequireHTTPS]={
|
|
name: stringNS.L_DisplayDialogError,
|
|
message: stringNS.L_DialogAddressNotTrusted
|
|
}
|
|
}
|
|
}
|
|
}();
|
|
var OfficeExt;
|
|
(function(OfficeExt)
|
|
{
|
|
var Requirement;
|
|
(function(Requirement)
|
|
{
|
|
var RequirementMatrix=function()
|
|
{
|
|
function RequirementMatrix(_setMap)
|
|
{
|
|
this.isSetSupported=function _isSetSupported(name, minVersion)
|
|
{
|
|
if(name==undefined)
|
|
return false;
|
|
if(minVersion==undefined)
|
|
minVersion=0;
|
|
var setSupportArray=this._setMap;
|
|
var sets=setSupportArray._sets;
|
|
if(sets.hasOwnProperty(name.toLowerCase()))
|
|
{
|
|
var setMaxVersion=sets[name.toLowerCase()];
|
|
return setMaxVersion > 0 && setMaxVersion >=minVersion
|
|
}
|
|
else
|
|
return false
|
|
};
|
|
this._setMap=_setMap
|
|
}
|
|
return RequirementMatrix
|
|
}();
|
|
Requirement.RequirementMatrix=RequirementMatrix;
|
|
var DefaultSetRequirement=function()
|
|
{
|
|
function DefaultSetRequirement(setMap)
|
|
{
|
|
this._addSetMap=function DefaultSetRequirement_addSetMap(addedSet)
|
|
{
|
|
for(var name in addedSet)
|
|
this._sets[name]=addedSet[name]
|
|
};
|
|
this._sets=setMap
|
|
}
|
|
return DefaultSetRequirement
|
|
}();
|
|
Requirement.DefaultSetRequirement=DefaultSetRequirement;
|
|
var ExcelClientDefaultSetRequirement=function(_super)
|
|
{
|
|
__extends(ExcelClientDefaultSetRequirement,_super);
|
|
function ExcelClientDefaultSetRequirement()
|
|
{
|
|
_super.call(this,{
|
|
bindingevents: 1.1,
|
|
documentevents: 1.1,
|
|
excelapi: 1.1,
|
|
matrixbindings: 1.1,
|
|
matrixcoercion: 1.1,
|
|
selection: 1.1,
|
|
settings: 1.1,
|
|
tablebindings: 1.1,
|
|
tablecoercion: 1.1,
|
|
textbindings: 1.1,
|
|
textcoercion: 1.1
|
|
})
|
|
}
|
|
return ExcelClientDefaultSetRequirement
|
|
}(DefaultSetRequirement);
|
|
Requirement.ExcelClientDefaultSetRequirement=ExcelClientDefaultSetRequirement;
|
|
var ExcelClientV1DefaultSetRequirement=function(_super)
|
|
{
|
|
__extends(ExcelClientV1DefaultSetRequirement,_super);
|
|
function ExcelClientV1DefaultSetRequirement()
|
|
{
|
|
_super.call(this);
|
|
this._addSetMap({imagecoercion: 1.1})
|
|
}
|
|
return ExcelClientV1DefaultSetRequirement
|
|
}(ExcelClientDefaultSetRequirement);
|
|
Requirement.ExcelClientV1DefaultSetRequirement=ExcelClientV1DefaultSetRequirement;
|
|
var OutlookClientDefaultSetRequirement=function(_super)
|
|
{
|
|
__extends(OutlookClientDefaultSetRequirement,_super);
|
|
function OutlookClientDefaultSetRequirement()
|
|
{
|
|
_super.call(this,{mailbox: 1.3})
|
|
}
|
|
return OutlookClientDefaultSetRequirement
|
|
}(DefaultSetRequirement);
|
|
Requirement.OutlookClientDefaultSetRequirement=OutlookClientDefaultSetRequirement;
|
|
var WordClientDefaultSetRequirement=function(_super)
|
|
{
|
|
__extends(WordClientDefaultSetRequirement,_super);
|
|
function WordClientDefaultSetRequirement()
|
|
{
|
|
_super.call(this,{
|
|
bindingevents: 1.1,
|
|
compressedfile: 1.1,
|
|
customxmlparts: 1.1,
|
|
documentevents: 1.1,
|
|
file: 1.1,
|
|
htmlcoercion: 1.1,
|
|
matrixbindings: 1.1,
|
|
matrixcoercion: 1.1,
|
|
ooxmlcoercion: 1.1,
|
|
pdffile: 1.1,
|
|
selection: 1.1,
|
|
settings: 1.1,
|
|
tablebindings: 1.1,
|
|
tablecoercion: 1.1,
|
|
textbindings: 1.1,
|
|
textcoercion: 1.1,
|
|
textfile: 1.1,
|
|
wordapi: 1.1
|
|
})
|
|
}
|
|
return WordClientDefaultSetRequirement
|
|
}(DefaultSetRequirement);
|
|
Requirement.WordClientDefaultSetRequirement=WordClientDefaultSetRequirement;
|
|
var WordClientV1DefaultSetRequirement=function(_super)
|
|
{
|
|
__extends(WordClientV1DefaultSetRequirement,_super);
|
|
function WordClientV1DefaultSetRequirement()
|
|
{
|
|
_super.call(this);
|
|
this._addSetMap({
|
|
customxmlparts: 1.2,
|
|
wordapi: 1.2,
|
|
imagecoercion: 1.1
|
|
})
|
|
}
|
|
return WordClientV1DefaultSetRequirement
|
|
}(WordClientDefaultSetRequirement);
|
|
Requirement.WordClientV1DefaultSetRequirement=WordClientV1DefaultSetRequirement;
|
|
var PowerpointClientDefaultSetRequirement=function(_super)
|
|
{
|
|
__extends(PowerpointClientDefaultSetRequirement,_super);
|
|
function PowerpointClientDefaultSetRequirement()
|
|
{
|
|
_super.call(this,{
|
|
activeview: 1.1,
|
|
compressedfile: 1.1,
|
|
documentevents: 1.1,
|
|
file: 1.1,
|
|
pdffile: 1.1,
|
|
selection: 1.1,
|
|
settings: 1.1,
|
|
textcoercion: 1.1
|
|
})
|
|
}
|
|
return PowerpointClientDefaultSetRequirement
|
|
}(DefaultSetRequirement);
|
|
Requirement.PowerpointClientDefaultSetRequirement=PowerpointClientDefaultSetRequirement;
|
|
var PowerpointClientV1DefaultSetRequirement=function(_super)
|
|
{
|
|
__extends(PowerpointClientV1DefaultSetRequirement,_super);
|
|
function PowerpointClientV1DefaultSetRequirement()
|
|
{
|
|
_super.call(this);
|
|
this._addSetMap({imagecoercion: 1.1})
|
|
}
|
|
return PowerpointClientV1DefaultSetRequirement
|
|
}(PowerpointClientDefaultSetRequirement);
|
|
Requirement.PowerpointClientV1DefaultSetRequirement=PowerpointClientV1DefaultSetRequirement;
|
|
var ProjectClientDefaultSetRequirement=function(_super)
|
|
{
|
|
__extends(ProjectClientDefaultSetRequirement,_super);
|
|
function ProjectClientDefaultSetRequirement()
|
|
{
|
|
_super.call(this,{
|
|
selection: 1.1,
|
|
textcoercion: 1.1
|
|
})
|
|
}
|
|
return ProjectClientDefaultSetRequirement
|
|
}(DefaultSetRequirement);
|
|
Requirement.ProjectClientDefaultSetRequirement=ProjectClientDefaultSetRequirement;
|
|
var ExcelWebDefaultSetRequirement=function(_super)
|
|
{
|
|
__extends(ExcelWebDefaultSetRequirement,_super);
|
|
function ExcelWebDefaultSetRequirement()
|
|
{
|
|
_super.call(this,{
|
|
bindingevents: 1.1,
|
|
documentevents: 1.1,
|
|
matrixbindings: 1.1,
|
|
matrixcoercion: 1.1,
|
|
selection: 1.1,
|
|
settings: 1.1,
|
|
tablebindings: 1.1,
|
|
tablecoercion: 1.1,
|
|
textbindings: 1.1,
|
|
textcoercion: 1.1,
|
|
file: 1.1
|
|
})
|
|
}
|
|
return ExcelWebDefaultSetRequirement
|
|
}(DefaultSetRequirement);
|
|
Requirement.ExcelWebDefaultSetRequirement=ExcelWebDefaultSetRequirement;
|
|
var WordWebDefaultSetRequirement=function(_super)
|
|
{
|
|
__extends(WordWebDefaultSetRequirement,_super);
|
|
function WordWebDefaultSetRequirement()
|
|
{
|
|
_super.call(this,{
|
|
customxmlparts: 1.1,
|
|
documentevents: 1.1,
|
|
file: 1.1,
|
|
ooxmlcoercion: 1.1,
|
|
selection: 1.1,
|
|
settings: 1.1,
|
|
textcoercion: 1.1
|
|
})
|
|
}
|
|
return WordWebDefaultSetRequirement
|
|
}(DefaultSetRequirement);
|
|
Requirement.WordWebDefaultSetRequirement=WordWebDefaultSetRequirement;
|
|
var PowerpointWebDefaultSetRequirement=function(_super)
|
|
{
|
|
__extends(PowerpointWebDefaultSetRequirement,_super);
|
|
function PowerpointWebDefaultSetRequirement()
|
|
{
|
|
_super.call(this,{
|
|
activeview: 1.1,
|
|
settings: 1.1
|
|
})
|
|
}
|
|
return PowerpointWebDefaultSetRequirement
|
|
}(DefaultSetRequirement);
|
|
Requirement.PowerpointWebDefaultSetRequirement=PowerpointWebDefaultSetRequirement;
|
|
var OutlookWebDefaultSetRequirement=function(_super)
|
|
{
|
|
__extends(OutlookWebDefaultSetRequirement,_super);
|
|
function OutlookWebDefaultSetRequirement()
|
|
{
|
|
_super.call(this,{mailbox: 1.3})
|
|
}
|
|
return OutlookWebDefaultSetRequirement
|
|
}(DefaultSetRequirement);
|
|
Requirement.OutlookWebDefaultSetRequirement=OutlookWebDefaultSetRequirement;
|
|
var SwayWebDefaultSetRequirement=function(_super)
|
|
{
|
|
__extends(SwayWebDefaultSetRequirement,_super);
|
|
function SwayWebDefaultSetRequirement()
|
|
{
|
|
_super.call(this,{
|
|
activeview: 1.1,
|
|
documentevents: 1.1,
|
|
selection: 1.1,
|
|
settings: 1.1,
|
|
textcoercion: 1.1
|
|
})
|
|
}
|
|
return SwayWebDefaultSetRequirement
|
|
}(DefaultSetRequirement);
|
|
Requirement.SwayWebDefaultSetRequirement=SwayWebDefaultSetRequirement;
|
|
var AccessWebDefaultSetRequirement=function(_super)
|
|
{
|
|
__extends(AccessWebDefaultSetRequirement,_super);
|
|
function AccessWebDefaultSetRequirement()
|
|
{
|
|
_super.call(this,{
|
|
bindingevents: 1.1,
|
|
partialtablebindings: 1.1,
|
|
settings: 1.1,
|
|
tablebindings: 1.1,
|
|
tablecoercion: 1.1
|
|
})
|
|
}
|
|
return AccessWebDefaultSetRequirement
|
|
}(DefaultSetRequirement);
|
|
Requirement.AccessWebDefaultSetRequirement=AccessWebDefaultSetRequirement;
|
|
var ExcelIOSDefaultSetRequirement=function(_super)
|
|
{
|
|
__extends(ExcelIOSDefaultSetRequirement,_super);
|
|
function ExcelIOSDefaultSetRequirement()
|
|
{
|
|
_super.call(this,{
|
|
bindingevents: 1.1,
|
|
documentevents: 1.1,
|
|
matrixbindings: 1.1,
|
|
matrixcoercion: 1.1,
|
|
selection: 1.1,
|
|
settings: 1.1,
|
|
tablebindings: 1.1,
|
|
tablecoercion: 1.1,
|
|
textbindings: 1.1,
|
|
textcoercion: 1.1
|
|
})
|
|
}
|
|
return ExcelIOSDefaultSetRequirement
|
|
}(DefaultSetRequirement);
|
|
Requirement.ExcelIOSDefaultSetRequirement=ExcelIOSDefaultSetRequirement;
|
|
var WordIOSDefaultSetRequirement=function(_super)
|
|
{
|
|
__extends(WordIOSDefaultSetRequirement,_super);
|
|
function WordIOSDefaultSetRequirement()
|
|
{
|
|
_super.call(this,{
|
|
bindingevents: 1.1,
|
|
compressedfile: 1.1,
|
|
customxmlparts: 1.1,
|
|
documentevents: 1.1,
|
|
file: 1.1,
|
|
htmlcoercion: 1.1,
|
|
matrixbindings: 1.1,
|
|
matrixcoercion: 1.1,
|
|
ooxmlcoercion: 1.1,
|
|
pdffile: 1.1,
|
|
selection: 1.1,
|
|
settings: 1.1,
|
|
tablebindings: 1.1,
|
|
tablecoercion: 1.1,
|
|
textbindings: 1.1,
|
|
textcoercion: 1.1,
|
|
textfile: 1.1
|
|
})
|
|
}
|
|
return WordIOSDefaultSetRequirement
|
|
}(DefaultSetRequirement);
|
|
Requirement.WordIOSDefaultSetRequirement=WordIOSDefaultSetRequirement;
|
|
var WordIOSV1DefaultSetRequirement=function(_super)
|
|
{
|
|
__extends(WordIOSV1DefaultSetRequirement,_super);
|
|
function WordIOSV1DefaultSetRequirement()
|
|
{
|
|
_super.call(this);
|
|
this._addSetMap({
|
|
customxmlparts: 1.2,
|
|
wordapi: 1.2
|
|
})
|
|
}
|
|
return WordIOSV1DefaultSetRequirement
|
|
}(WordIOSDefaultSetRequirement);
|
|
Requirement.WordIOSV1DefaultSetRequirement=WordIOSV1DefaultSetRequirement;
|
|
var PowerpointIOSDefaultSetRequirement=function(_super)
|
|
{
|
|
__extends(PowerpointIOSDefaultSetRequirement,_super);
|
|
function PowerpointIOSDefaultSetRequirement()
|
|
{
|
|
_super.call(this,{
|
|
activeview: 1.1,
|
|
compressedfile: 1.1,
|
|
documentevents: 1.1,
|
|
file: 1.1,
|
|
pdffile: 1.1,
|
|
selection: 1.1,
|
|
settings: 1.1,
|
|
textcoercion: 1.1
|
|
})
|
|
}
|
|
return PowerpointIOSDefaultSetRequirement
|
|
}(DefaultSetRequirement);
|
|
Requirement.PowerpointIOSDefaultSetRequirement=PowerpointIOSDefaultSetRequirement;
|
|
var OutlookIOSDefaultSetRequirement=function(_super)
|
|
{
|
|
__extends(OutlookIOSDefaultSetRequirement,_super);
|
|
function OutlookIOSDefaultSetRequirement()
|
|
{
|
|
_super.call(this,{mailbox: 1.1})
|
|
}
|
|
return OutlookIOSDefaultSetRequirement
|
|
}(DefaultSetRequirement);
|
|
Requirement.OutlookIOSDefaultSetRequirement=OutlookIOSDefaultSetRequirement;
|
|
var RequirementsMatrixFactory=function()
|
|
{
|
|
function RequirementsMatrixFactory(){}
|
|
RequirementsMatrixFactory.initializeOsfDda=function()
|
|
{
|
|
OSF.OUtil.setNamespace("Requirement",OSF.DDA)
|
|
};
|
|
RequirementsMatrixFactory.getDefaultRequirementMatrix=function(appContext)
|
|
{
|
|
this.initializeDefaultSetMatrix();
|
|
var defaultRequirementMatrix=undefined;
|
|
var clientRequirement=appContext.get_requirementMatrix();
|
|
if(clientRequirement !=undefined && clientRequirement.length > 0 && typeof JSON !=="undefined")
|
|
{
|
|
var matrixItem=JSON.parse(appContext.get_requirementMatrix().toLowerCase());
|
|
defaultRequirementMatrix=new RequirementMatrix(new DefaultSetRequirement(matrixItem))
|
|
}
|
|
else
|
|
{
|
|
var appLocator=RequirementsMatrixFactory.getClientFullVersionString(appContext);
|
|
if(RequirementsMatrixFactory.DefaultSetArrayMatrix !=undefined && RequirementsMatrixFactory.DefaultSetArrayMatrix[appLocator] !=undefined)
|
|
defaultRequirementMatrix=new RequirementMatrix(RequirementsMatrixFactory.DefaultSetArrayMatrix[appLocator]);
|
|
else
|
|
defaultRequirementMatrix=new RequirementMatrix(new DefaultSetRequirement({}))
|
|
}
|
|
return defaultRequirementMatrix
|
|
};
|
|
RequirementsMatrixFactory.getClientFullVersionString=function(appContext)
|
|
{
|
|
var appMinorVersion=appContext.get_appMinorVersion();
|
|
var appMinorVersionString="";
|
|
var appFullVersion="";
|
|
var appName=appContext.get_appName();
|
|
var isIOSClient=appName==1024 || appName==4096 || appName==8192 || appName==65536;
|
|
if(isIOSClient && appContext.get_appVersion()==1)
|
|
if(appName==4096 && appMinorVersion >=15)
|
|
appFullVersion="16.00.01";
|
|
else
|
|
appFullVersion="16.00";
|
|
else if(appContext.get_appName()==64)
|
|
appFullVersion=appContext.get_appVersion();
|
|
else
|
|
{
|
|
if(appMinorVersion < 10)
|
|
appMinorVersionString="0"+appMinorVersion;
|
|
else
|
|
appMinorVersionString=""+appMinorVersion;
|
|
appFullVersion=appContext.get_appVersion()+"."+appMinorVersionString
|
|
}
|
|
return appContext.get_appName()+"-"+appFullVersion
|
|
};
|
|
RequirementsMatrixFactory.initializeDefaultSetMatrix=function()
|
|
{
|
|
RequirementsMatrixFactory.DefaultSetArrayMatrix[RequirementsMatrixFactory.Excel_RCLIENT_1600]=new ExcelClientDefaultSetRequirement;
|
|
RequirementsMatrixFactory.DefaultSetArrayMatrix[RequirementsMatrixFactory.Word_RCLIENT_1600]=new WordClientDefaultSetRequirement;
|
|
RequirementsMatrixFactory.DefaultSetArrayMatrix[RequirementsMatrixFactory.PowerPoint_RCLIENT_1600]=new PowerpointClientDefaultSetRequirement;
|
|
RequirementsMatrixFactory.DefaultSetArrayMatrix[RequirementsMatrixFactory.Excel_RCLIENT_1601]=new ExcelClientV1DefaultSetRequirement;
|
|
RequirementsMatrixFactory.DefaultSetArrayMatrix[RequirementsMatrixFactory.Word_RCLIENT_1601]=new WordClientV1DefaultSetRequirement;
|
|
RequirementsMatrixFactory.DefaultSetArrayMatrix[RequirementsMatrixFactory.PowerPoint_RCLIENT_1601]=new PowerpointClientV1DefaultSetRequirement;
|
|
RequirementsMatrixFactory.DefaultSetArrayMatrix[RequirementsMatrixFactory.Outlook_RCLIENT_1600]=new OutlookClientDefaultSetRequirement;
|
|
RequirementsMatrixFactory.DefaultSetArrayMatrix[RequirementsMatrixFactory.Excel_WAC_1600]=new ExcelWebDefaultSetRequirement;
|
|
RequirementsMatrixFactory.DefaultSetArrayMatrix[RequirementsMatrixFactory.Word_WAC_1600]=new WordWebDefaultSetRequirement;
|
|
RequirementsMatrixFactory.DefaultSetArrayMatrix[RequirementsMatrixFactory.Outlook_WAC_1600]=new OutlookWebDefaultSetRequirement;
|
|
RequirementsMatrixFactory.DefaultSetArrayMatrix[RequirementsMatrixFactory.Outlook_WAC_1601]=new OutlookWebDefaultSetRequirement;
|
|
RequirementsMatrixFactory.DefaultSetArrayMatrix[RequirementsMatrixFactory.Project_RCLIENT_1600]=new ProjectClientDefaultSetRequirement;
|
|
RequirementsMatrixFactory.DefaultSetArrayMatrix[RequirementsMatrixFactory.Access_WAC_1600]=new AccessWebDefaultSetRequirement;
|
|
RequirementsMatrixFactory.DefaultSetArrayMatrix[RequirementsMatrixFactory.PowerPoint_WAC_1600]=new PowerpointWebDefaultSetRequirement;
|
|
RequirementsMatrixFactory.DefaultSetArrayMatrix[RequirementsMatrixFactory.Excel_IOS_1600]=new ExcelIOSDefaultSetRequirement;
|
|
RequirementsMatrixFactory.DefaultSetArrayMatrix[RequirementsMatrixFactory.SWAY_WAC_1600]=new SwayWebDefaultSetRequirement;
|
|
RequirementsMatrixFactory.DefaultSetArrayMatrix[RequirementsMatrixFactory.Word_IOS_1600]=new WordIOSDefaultSetRequirement;
|
|
RequirementsMatrixFactory.DefaultSetArrayMatrix[RequirementsMatrixFactory.Word_IOS_16001]=new WordIOSV1DefaultSetRequirement;
|
|
RequirementsMatrixFactory.DefaultSetArrayMatrix[RequirementsMatrixFactory.PowerPoint_IOS_1600]=new PowerpointIOSDefaultSetRequirement;
|
|
RequirementsMatrixFactory.DefaultSetArrayMatrix[RequirementsMatrixFactory.Outlook_IOS_1600]=new OutlookIOSDefaultSetRequirement
|
|
};
|
|
RequirementsMatrixFactory.Excel_RCLIENT_1600="1-16.00";
|
|
RequirementsMatrixFactory.Excel_RCLIENT_1601="1-16.01";
|
|
RequirementsMatrixFactory.Word_RCLIENT_1600="2-16.00";
|
|
RequirementsMatrixFactory.Word_RCLIENT_1601="2-16.01";
|
|
RequirementsMatrixFactory.PowerPoint_RCLIENT_1600="4-16.00";
|
|
RequirementsMatrixFactory.PowerPoint_RCLIENT_1601="4-16.01";
|
|
RequirementsMatrixFactory.Outlook_RCLIENT_1600="8-16.00";
|
|
RequirementsMatrixFactory.Excel_WAC_1600="16-16.00";
|
|
RequirementsMatrixFactory.Word_WAC_1600="32-16.00";
|
|
RequirementsMatrixFactory.Outlook_WAC_1600="64-16.00";
|
|
RequirementsMatrixFactory.Outlook_WAC_1601="64-16.01";
|
|
RequirementsMatrixFactory.Project_RCLIENT_1600="128-16.00";
|
|
RequirementsMatrixFactory.Access_WAC_1600="256-16.00";
|
|
RequirementsMatrixFactory.PowerPoint_WAC_1600="512-16.00";
|
|
RequirementsMatrixFactory.Excel_IOS_1600="1024-16.00";
|
|
RequirementsMatrixFactory.SWAY_WAC_1600="2048-16.00";
|
|
RequirementsMatrixFactory.Word_IOS_1600="4096-16.00";
|
|
RequirementsMatrixFactory.Word_IOS_16001="4096-16.00.01";
|
|
RequirementsMatrixFactory.PowerPoint_IOS_1600="8192-16.00";
|
|
RequirementsMatrixFactory.Outlook_IOS_1600="65536-16.00";
|
|
RequirementsMatrixFactory.DefaultSetArrayMatrix={};
|
|
return RequirementsMatrixFactory
|
|
}();
|
|
Requirement.RequirementsMatrixFactory=RequirementsMatrixFactory
|
|
})(Requirement=OfficeExt.Requirement || (OfficeExt.Requirement={}))
|
|
})(OfficeExt || (OfficeExt={}));
|
|
OfficeExt.Requirement.RequirementsMatrixFactory.initializeOsfDda();
|
|
Microsoft.Office.WebExtension.ApplicationMode={
|
|
WebEditor: "webEditor",
|
|
WebViewer: "webViewer",
|
|
Client: "client"
|
|
};
|
|
Microsoft.Office.WebExtension.DocumentMode={
|
|
ReadOnly: "readOnly",
|
|
ReadWrite: "readWrite"
|
|
};
|
|
OSF.NamespaceManager=function OSF_NamespaceManager()
|
|
{
|
|
var _userOffice;
|
|
var _useShortcut=false;
|
|
return{
|
|
enableShortcut: function OSF_NamespaceManager$enableShortcut()
|
|
{
|
|
if(!_useShortcut)
|
|
{
|
|
if(window.Office)
|
|
_userOffice=window.Office;
|
|
else
|
|
OSF.OUtil.setNamespace("Office",window);
|
|
window.Office=Microsoft.Office.WebExtension;
|
|
_useShortcut=true
|
|
}
|
|
},
|
|
disableShortcut: function OSF_NamespaceManager$disableShortcut()
|
|
{
|
|
if(_useShortcut)
|
|
{
|
|
if(_userOffice)
|
|
window.Office=_userOffice;
|
|
else
|
|
OSF.OUtil.unsetNamespace("Office",window);
|
|
_useShortcut=false
|
|
}
|
|
}
|
|
}
|
|
}();
|
|
OSF.NamespaceManager.enableShortcut();
|
|
Microsoft.Office.WebExtension.useShortNamespace=function Microsoft_Office_WebExtension_useShortNamespace(useShortcut)
|
|
{
|
|
if(useShortcut)
|
|
OSF.NamespaceManager.enableShortcut();
|
|
else
|
|
OSF.NamespaceManager.disableShortcut()
|
|
};
|
|
Microsoft.Office.WebExtension.select=function Microsoft_Office_WebExtension_select(str, errorCallback)
|
|
{
|
|
var promise;
|
|
if(str && typeof str=="string")
|
|
{
|
|
var index=str.indexOf("#");
|
|
if(index !=-1)
|
|
{
|
|
var op=str.substring(0,index);
|
|
var target=str.substring(index+1);
|
|
switch(op)
|
|
{
|
|
case"binding":
|
|
case"bindings":
|
|
if(target)
|
|
promise=new OSF.DDA.BindingPromise(target);
|
|
break
|
|
}
|
|
}
|
|
}
|
|
if(!promise)
|
|
{
|
|
if(errorCallback)
|
|
{
|
|
var callbackType=typeof errorCallback;
|
|
if(callbackType=="function")
|
|
{
|
|
var callArgs={};
|
|
callArgs[Microsoft.Office.WebExtension.Parameters.Callback]=errorCallback;
|
|
OSF.DDA.issueAsyncResult(callArgs,OSF.DDA.ErrorCodeManager.errorCodes.ooeInvalidApiCallInContext,OSF.DDA.ErrorCodeManager.getErrorArgs(OSF.DDA.ErrorCodeManager.errorCodes.ooeInvalidApiCallInContext))
|
|
}
|
|
else
|
|
throw OSF.OUtil.formatString(Strings.OfficeOM.L_CallbackNotAFunction,callbackType);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
promise.onFail=errorCallback;
|
|
return promise
|
|
}
|
|
};
|
|
OSF.DDA.Context=function OSF_DDA_Context(officeAppContext, document, license, appOM, getOfficeTheme)
|
|
{
|
|
OSF.OUtil.defineEnumerableProperties(this,{
|
|
contentLanguage: {value: officeAppContext.get_dataLocale()},
|
|
displayLanguage: {value: officeAppContext.get_appUILocale()},
|
|
touchEnabled: {value: officeAppContext.get_touchEnabled()},
|
|
commerceAllowed: {value: officeAppContext.get_commerceAllowed()}
|
|
});
|
|
if(license)
|
|
OSF.OUtil.defineEnumerableProperty(this,"license",{value: license});
|
|
if(officeAppContext.ui)
|
|
OSF.OUtil.defineEnumerableProperty(this,"ui",{value: officeAppContext.ui});
|
|
if(!officeAppContext.get_isDialog())
|
|
{
|
|
if(document)
|
|
OSF.OUtil.defineEnumerableProperty(this,"document",{value: document});
|
|
if(appOM)
|
|
{
|
|
var displayName=appOM.displayName || "appOM";
|
|
delete appOM.displayName;
|
|
OSF.OUtil.defineEnumerableProperty(this,displayName,{value: appOM})
|
|
}
|
|
if(getOfficeTheme)
|
|
OSF.OUtil.defineEnumerableProperty(this,"officeTheme",{get: function()
|
|
{
|
|
return getOfficeTheme()
|
|
}});
|
|
var requirements=OfficeExt.Requirement.RequirementsMatrixFactory.getDefaultRequirementMatrix(officeAppContext);
|
|
OSF.OUtil.defineEnumerableProperty(this,"requirements",{value: requirements})
|
|
}
|
|
};
|
|
OSF.DDA.OutlookContext=function OSF_DDA_OutlookContext(appContext, settings, license, appOM, getOfficeTheme)
|
|
{
|
|
OSF.DDA.OutlookContext.uber.constructor.call(this,appContext,null,license,appOM,getOfficeTheme);
|
|
if(settings)
|
|
OSF.OUtil.defineEnumerableProperty(this,"roamingSettings",{value: settings})
|
|
};
|
|
OSF.OUtil.extend(OSF.DDA.OutlookContext,OSF.DDA.Context);
|
|
OSF.DDA.OutlookAppOm=function OSF_DDA_OutlookAppOm(appContext, window, appReady){};
|
|
OSF.DDA.Document=function OSF_DDA_Document(officeAppContext, settings)
|
|
{
|
|
var mode;
|
|
switch(officeAppContext.get_clientMode())
|
|
{
|
|
case OSF.ClientMode.ReadOnly:
|
|
mode=Microsoft.Office.WebExtension.DocumentMode.ReadOnly;
|
|
break;
|
|
case OSF.ClientMode.ReadWrite:
|
|
mode=Microsoft.Office.WebExtension.DocumentMode.ReadWrite;
|
|
break
|
|
}
|
|
if(settings)
|
|
OSF.OUtil.defineEnumerableProperty(this,"settings",{value: settings});
|
|
OSF.OUtil.defineMutableProperties(this,{
|
|
mode: {value: mode},
|
|
url: {value: officeAppContext.get_docUrl()}
|
|
})
|
|
};
|
|
OSF.DDA.JsomDocument=function OSF_DDA_JsomDocument(officeAppContext, bindingFacade, settings)
|
|
{
|
|
OSF.DDA.JsomDocument.uber.constructor.call(this,officeAppContext,settings);
|
|
if(bindingFacade)
|
|
OSF.OUtil.defineEnumerableProperty(this,"bindings",{get: function OSF_DDA_Document$GetBindings()
|
|
{
|
|
return bindingFacade
|
|
}});
|
|
var am=OSF.DDA.AsyncMethodNames;
|
|
OSF.DDA.DispIdHost.addAsyncMethods(this,[am.GetSelectedDataAsync,am.SetSelectedDataAsync]);
|
|
OSF.DDA.DispIdHost.addEventSupport(this,new OSF.EventDispatch([Microsoft.Office.WebExtension.EventType.DocumentSelectionChanged]))
|
|
};
|
|
OSF.OUtil.extend(OSF.DDA.JsomDocument,OSF.DDA.Document);
|
|
OSF.OUtil.defineEnumerableProperty(Microsoft.Office.WebExtension,"context",{get: function Microsoft_Office_WebExtension$GetContext()
|
|
{
|
|
var context;
|
|
if(OSF && OSF._OfficeAppFactory)
|
|
context=OSF._OfficeAppFactory.getContext();
|
|
return context
|
|
}});
|
|
OSF.DDA.License=function OSF_DDA_License(eToken)
|
|
{
|
|
OSF.OUtil.defineEnumerableProperty(this,"value",{value: eToken})
|
|
};
|
|
OSF.DDA.ApiMethodCall=function OSF_DDA_ApiMethodCall(requiredParameters, supportedOptions, privateStateCallbacks, checkCallArgs, displayName)
|
|
{
|
|
var requiredCount=requiredParameters.length;
|
|
var getInvalidParameterString=OSF.OUtil.delayExecutionAndCache(function()
|
|
{
|
|
return OSF.OUtil.formatString(Strings.OfficeOM.L_InvalidParameters,displayName)
|
|
});
|
|
this.verifyArguments=function OSF_DDA_ApiMethodCall$VerifyArguments(params, args)
|
|
{
|
|
for(var name in params)
|
|
{
|
|
var param=params[name];
|
|
var arg=args[name];
|
|
if(param["enum"])
|
|
switch(typeof arg)
|
|
{
|
|
case"string":
|
|
if(OSF.OUtil.listContainsValue(param["enum"],arg))
|
|
break;
|
|
case"undefined":
|
|
throw OSF.DDA.ErrorCodeManager.errorCodes.ooeUnsupportedEnumeration;
|
|
default:
|
|
throw getInvalidParameterString();
|
|
}
|
|
if(param["types"])
|
|
if(!OSF.OUtil.listContainsValue(param["types"],typeof arg))
|
|
throw getInvalidParameterString();
|
|
}
|
|
};
|
|
this.extractRequiredArguments=function OSF_DDA_ApiMethodCall$ExtractRequiredArguments(userArgs, caller, stateInfo)
|
|
{
|
|
if(userArgs.length < requiredCount)
|
|
throw OsfMsAjaxFactory.msAjaxError.parameterCount(Strings.OfficeOM.L_MissingRequiredArguments);
|
|
var requiredArgs=[];
|
|
var index;
|
|
for(index=0; index < requiredCount; index++)
|
|
requiredArgs.push(userArgs[index]);
|
|
this.verifyArguments(requiredParameters,requiredArgs);
|
|
var ret={};
|
|
for(index=0; index < requiredCount; index++)
|
|
{
|
|
var param=requiredParameters[index];
|
|
var arg=requiredArgs[index];
|
|
if(param.verify)
|
|
{
|
|
var isValid=param.verify(arg,caller,stateInfo);
|
|
if(!isValid)
|
|
throw getInvalidParameterString();
|
|
}
|
|
ret[param.name]=arg
|
|
}
|
|
return ret
|
|
},this.fillOptions=function OSF_DDA_ApiMethodCall$FillOptions(options, requiredArgs, caller, stateInfo)
|
|
{
|
|
options=options || {};
|
|
for(var optionName in supportedOptions)
|
|
if(!OSF.OUtil.listContainsKey(options,optionName))
|
|
{
|
|
var value=undefined;
|
|
var option=supportedOptions[optionName];
|
|
if(option.calculate && requiredArgs)
|
|
value=option.calculate(requiredArgs,caller,stateInfo);
|
|
if(!value && option.defaultValue !==undefined)
|
|
value=option.defaultValue;
|
|
options[optionName]=value
|
|
}
|
|
return options
|
|
};
|
|
this.constructCallArgs=function OSF_DAA_ApiMethodCall$ConstructCallArgs(required, options, caller, stateInfo)
|
|
{
|
|
var callArgs={};
|
|
for(var r in required)
|
|
callArgs[r]=required[r];
|
|
for(var o in options)
|
|
callArgs[o]=options[o];
|
|
for(var s in privateStateCallbacks)
|
|
callArgs[s]=privateStateCallbacks[s](caller,stateInfo);
|
|
if(checkCallArgs)
|
|
callArgs=checkCallArgs(callArgs,caller,stateInfo);
|
|
return callArgs
|
|
}
|
|
};
|
|
OSF.OUtil.setNamespace("AsyncResultEnum",OSF.DDA);
|
|
OSF.DDA.AsyncResultEnum.Properties={
|
|
Context: "Context",
|
|
Value: "Value",
|
|
Status: "Status",
|
|
Error: "Error"
|
|
};
|
|
Microsoft.Office.WebExtension.AsyncResultStatus={
|
|
Succeeded: "succeeded",
|
|
Failed: "failed"
|
|
};
|
|
OSF.DDA.AsyncResultEnum.ErrorCode={
|
|
Success: 0,
|
|
Failed: 1
|
|
};
|
|
OSF.DDA.AsyncResultEnum.ErrorProperties={
|
|
Name: "Name",
|
|
Message: "Message",
|
|
Code: "Code"
|
|
};
|
|
OSF.DDA.AsyncMethodNames={};
|
|
OSF.DDA.AsyncMethodNames.addNames=function(methodNames)
|
|
{
|
|
for(var entry in methodNames)
|
|
{
|
|
var am={};
|
|
OSF.OUtil.defineEnumerableProperties(am,{
|
|
id: {value: entry},
|
|
displayName: {value: methodNames[entry]}
|
|
});
|
|
OSF.DDA.AsyncMethodNames[entry]=am
|
|
}
|
|
};
|
|
OSF.DDA.AsyncMethodCall=function OSF_DDA_AsyncMethodCall(requiredParameters, supportedOptions, privateStateCallbacks, onSucceeded, onFailed, checkCallArgs, displayName)
|
|
{
|
|
var requiredCount=requiredParameters.length;
|
|
var apiMethods=new OSF.DDA.ApiMethodCall(requiredParameters,supportedOptions,privateStateCallbacks,checkCallArgs,displayName);
|
|
function OSF_DAA_AsyncMethodCall$ExtractOptions(userArgs, requiredArgs, caller, stateInfo)
|
|
{
|
|
if(userArgs.length > requiredCount+2)
|
|
throw OsfMsAjaxFactory.msAjaxError.parameterCount(Strings.OfficeOM.L_TooManyArguments);
|
|
var options,
|
|
parameterCallback;
|
|
for(var i=userArgs.length - 1; i >=requiredCount; i--)
|
|
{
|
|
var argument=userArgs[i];
|
|
switch(typeof argument)
|
|
{
|
|
case"object":
|
|
if(options)
|
|
throw OsfMsAjaxFactory.msAjaxError.parameterCount(Strings.OfficeOM.L_TooManyOptionalObjects);
|
|
else
|
|
options=argument;
|
|
break;
|
|
case"function":
|
|
if(parameterCallback)
|
|
throw OsfMsAjaxFactory.msAjaxError.parameterCount(Strings.OfficeOM.L_TooManyOptionalFunction);
|
|
else
|
|
parameterCallback=argument;
|
|
break;
|
|
default:
|
|
throw OsfMsAjaxFactory.msAjaxError.argument(Strings.OfficeOM.L_InValidOptionalArgument);
|
|
break
|
|
}
|
|
}
|
|
options=apiMethods.fillOptions(options,requiredArgs,caller,stateInfo);
|
|
if(parameterCallback)
|
|
if(options[Microsoft.Office.WebExtension.Parameters.Callback])
|
|
throw Strings.OfficeOM.L_RedundantCallbackSpecification;
|
|
else
|
|
options[Microsoft.Office.WebExtension.Parameters.Callback]=parameterCallback;
|
|
apiMethods.verifyArguments(supportedOptions,options);
|
|
return options
|
|
}
|
|
this.verifyAndExtractCall=function OSF_DAA_AsyncMethodCall$VerifyAndExtractCall(userArgs, caller, stateInfo)
|
|
{
|
|
var required=apiMethods.extractRequiredArguments(userArgs,caller,stateInfo);
|
|
var options=OSF_DAA_AsyncMethodCall$ExtractOptions(userArgs,required,caller,stateInfo);
|
|
var callArgs=apiMethods.constructCallArgs(required,options,caller,stateInfo);
|
|
return callArgs
|
|
};
|
|
this.processResponse=function OSF_DAA_AsyncMethodCall$ProcessResponse(status, response, caller, callArgs)
|
|
{
|
|
var payload;
|
|
if(status==OSF.DDA.ErrorCodeManager.errorCodes.ooeSuccess)
|
|
if(onSucceeded)
|
|
payload=onSucceeded(response,caller,callArgs);
|
|
else
|
|
payload=response;
|
|
else if(onFailed)
|
|
payload=onFailed(status,response);
|
|
else
|
|
payload=OSF.DDA.ErrorCodeManager.getErrorArgs(status);
|
|
return payload
|
|
};
|
|
this.getCallArgs=function(suppliedArgs)
|
|
{
|
|
var options,
|
|
parameterCallback;
|
|
for(var i=suppliedArgs.length - 1; i >=requiredCount; i--)
|
|
{
|
|
var argument=suppliedArgs[i];
|
|
switch(typeof argument)
|
|
{
|
|
case"object":
|
|
options=argument;
|
|
break;
|
|
case"function":
|
|
parameterCallback=argument;
|
|
break
|
|
}
|
|
}
|
|
options=options || {};
|
|
if(parameterCallback)
|
|
options[Microsoft.Office.WebExtension.Parameters.Callback]=parameterCallback;
|
|
return options
|
|
}
|
|
};
|
|
OSF.DDA.AsyncMethodCallFactory=function()
|
|
{
|
|
return{manufacture: function(params)
|
|
{
|
|
var supportedOptions=params.supportedOptions ? OSF.OUtil.createObject(params.supportedOptions) : [];
|
|
var privateStateCallbacks=params.privateStateCallbacks ? OSF.OUtil.createObject(params.privateStateCallbacks) : [];
|
|
return new OSF.DDA.AsyncMethodCall(params.requiredArguments || [],supportedOptions,privateStateCallbacks,params.onSucceeded,params.onFailed,params.checkCallArgs,params.method.displayName)
|
|
}}
|
|
}();
|
|
OSF.DDA.AsyncMethodCalls={};
|
|
OSF.DDA.AsyncMethodCalls.define=function(callDefinition)
|
|
{
|
|
OSF.DDA.AsyncMethodCalls[callDefinition.method.id]=OSF.DDA.AsyncMethodCallFactory.manufacture(callDefinition)
|
|
};
|
|
OSF.DDA.Error=function OSF_DDA_Error(name, message, code)
|
|
{
|
|
OSF.OUtil.defineEnumerableProperties(this,{
|
|
name: {value: name},
|
|
message: {value: message},
|
|
code: {value: code}
|
|
})
|
|
};
|
|
OSF.DDA.AsyncResult=function OSF_DDA_AsyncResult(initArgs, errorArgs)
|
|
{
|
|
OSF.OUtil.defineEnumerableProperties(this,{
|
|
value: {value: initArgs[OSF.DDA.AsyncResultEnum.Properties.Value]},
|
|
status: {value: errorArgs ? Microsoft.Office.WebExtension.AsyncResultStatus.Failed : Microsoft.Office.WebExtension.AsyncResultStatus.Succeeded}
|
|
});
|
|
if(initArgs[OSF.DDA.AsyncResultEnum.Properties.Context])
|
|
OSF.OUtil.defineEnumerableProperty(this,"asyncContext",{value: initArgs[OSF.DDA.AsyncResultEnum.Properties.Context]});
|
|
if(errorArgs)
|
|
OSF.OUtil.defineEnumerableProperty(this,"error",{value: new OSF.DDA.Error(errorArgs[OSF.DDA.AsyncResultEnum.ErrorProperties.Name],errorArgs[OSF.DDA.AsyncResultEnum.ErrorProperties.Message],errorArgs[OSF.DDA.AsyncResultEnum.ErrorProperties.Code])})
|
|
};
|
|
OSF.DDA.issueAsyncResult=function OSF_DDA$IssueAsyncResult(callArgs, status, payload)
|
|
{
|
|
var callback=callArgs[Microsoft.Office.WebExtension.Parameters.Callback];
|
|
if(callback)
|
|
{
|
|
var asyncInitArgs={};
|
|
asyncInitArgs[OSF.DDA.AsyncResultEnum.Properties.Context]=callArgs[Microsoft.Office.WebExtension.Parameters.AsyncContext];
|
|
var errorArgs;
|
|
if(status==OSF.DDA.ErrorCodeManager.errorCodes.ooeSuccess)
|
|
asyncInitArgs[OSF.DDA.AsyncResultEnum.Properties.Value]=payload;
|
|
else
|
|
{
|
|
errorArgs={};
|
|
payload=payload || OSF.DDA.ErrorCodeManager.getErrorArgs(OSF.DDA.ErrorCodeManager.errorCodes.ooeInternalError);
|
|
errorArgs[OSF.DDA.AsyncResultEnum.ErrorProperties.Code]=status || OSF.DDA.ErrorCodeManager.errorCodes.ooeInternalError;
|
|
errorArgs[OSF.DDA.AsyncResultEnum.ErrorProperties.Name]=payload.name || payload;
|
|
errorArgs[OSF.DDA.AsyncResultEnum.ErrorProperties.Message]=payload.message || payload
|
|
}
|
|
callback(new OSF.DDA.AsyncResult(asyncInitArgs,errorArgs))
|
|
}
|
|
};
|
|
OSF.DDA.SyncMethodNames={};
|
|
OSF.DDA.SyncMethodNames.addNames=function(methodNames)
|
|
{
|
|
for(var entry in methodNames)
|
|
{
|
|
var am={};
|
|
OSF.OUtil.defineEnumerableProperties(am,{
|
|
id: {value: entry},
|
|
displayName: {value: methodNames[entry]}
|
|
});
|
|
OSF.DDA.SyncMethodNames[entry]=am
|
|
}
|
|
};
|
|
OSF.DDA.SyncMethodCall=function OSF_DDA_SyncMethodCall(requiredParameters, supportedOptions, privateStateCallbacks, checkCallArgs, displayName)
|
|
{
|
|
var requiredCount=requiredParameters.length;
|
|
var apiMethods=new OSF.DDA.ApiMethodCall(requiredParameters,supportedOptions,privateStateCallbacks,checkCallArgs,displayName);
|
|
function OSF_DAA_SyncMethodCall$ExtractOptions(userArgs, requiredArgs, caller, stateInfo)
|
|
{
|
|
if(userArgs.length > requiredCount+1)
|
|
throw OsfMsAjaxFactory.msAjaxError.parameterCount(Strings.OfficeOM.L_TooManyArguments);
|
|
var options,
|
|
parameterCallback;
|
|
for(var i=userArgs.length - 1; i >=requiredCount; i--)
|
|
{
|
|
var argument=userArgs[i];
|
|
switch(typeof argument)
|
|
{
|
|
case"object":
|
|
if(options)
|
|
throw OsfMsAjaxFactory.msAjaxError.parameterCount(Strings.OfficeOM.L_TooManyOptionalObjects);
|
|
else
|
|
options=argument;
|
|
break;
|
|
default:
|
|
throw OsfMsAjaxFactory.msAjaxError.argument(Strings.OfficeOM.L_InValidOptionalArgument);
|
|
break
|
|
}
|
|
}
|
|
options=apiMethods.fillOptions(options,requiredArgs,caller,stateInfo);
|
|
apiMethods.verifyArguments(supportedOptions,options);
|
|
return options
|
|
}
|
|
this.verifyAndExtractCall=function OSF_DAA_AsyncMethodCall$VerifyAndExtractCall(userArgs, caller, stateInfo)
|
|
{
|
|
var required=apiMethods.extractRequiredArguments(userArgs,caller,stateInfo);
|
|
var options=OSF_DAA_SyncMethodCall$ExtractOptions(userArgs,required,caller,stateInfo);
|
|
var callArgs=apiMethods.constructCallArgs(required,options,caller,stateInfo);
|
|
return callArgs
|
|
}
|
|
};
|
|
OSF.DDA.SyncMethodCallFactory=function()
|
|
{
|
|
return{manufacture: function(params)
|
|
{
|
|
var supportedOptions=params.supportedOptions ? OSF.OUtil.createObject(params.supportedOptions) : [];
|
|
return new OSF.DDA.SyncMethodCall(params.requiredArguments || [],supportedOptions,params.privateStateCallbacks,params.checkCallArgs,params.method.displayName)
|
|
}}
|
|
}();
|
|
OSF.DDA.SyncMethodCalls={};
|
|
OSF.DDA.SyncMethodCalls.define=function(callDefinition)
|
|
{
|
|
OSF.DDA.SyncMethodCalls[callDefinition.method.id]=OSF.DDA.SyncMethodCallFactory.manufacture(callDefinition)
|
|
};
|
|
OSF.DDA.ListType=function()
|
|
{
|
|
var listTypes={};
|
|
return{
|
|
setListType: function OSF_DDA_ListType$AddListType(t, prop)
|
|
{
|
|
listTypes[t]=prop
|
|
},
|
|
isListType: function OSF_DDA_ListType$IsListType(t)
|
|
{
|
|
return OSF.OUtil.listContainsKey(listTypes,t)
|
|
},
|
|
getDescriptor: function OSF_DDA_ListType$getDescriptor(t)
|
|
{
|
|
return listTypes[t]
|
|
}
|
|
}
|
|
}();
|
|
OSF.DDA.HostParameterMap=function(specialProcessor, mappings)
|
|
{
|
|
var toHostMap="toHost";
|
|
var fromHostMap="fromHost";
|
|
var self="self";
|
|
var dynamicTypes={};
|
|
dynamicTypes[Microsoft.Office.WebExtension.Parameters.Data]={
|
|
toHost: function(data)
|
|
{
|
|
if(data !=null && data.rows !==undefined)
|
|
{
|
|
var tableData={};
|
|
tableData[OSF.DDA.TableDataProperties.TableRows]=data.rows;
|
|
tableData[OSF.DDA.TableDataProperties.TableHeaders]=data.headers;
|
|
data=tableData
|
|
}
|
|
return data
|
|
},
|
|
fromHost: function(args)
|
|
{
|
|
return args
|
|
}
|
|
};
|
|
dynamicTypes[Microsoft.Office.WebExtension.Parameters.SampleData]=dynamicTypes[Microsoft.Office.WebExtension.Parameters.Data];
|
|
function mapValues(preimageSet, mapping)
|
|
{
|
|
var ret=preimageSet ? {} : undefined;
|
|
for(var entry in preimageSet)
|
|
{
|
|
var preimage=preimageSet[entry];
|
|
var image;
|
|
if(OSF.DDA.ListType.isListType(entry))
|
|
{
|
|
image=[];
|
|
for(var subEntry in preimage)
|
|
image.push(mapValues(preimage[subEntry],mapping))
|
|
}
|
|
else if(OSF.OUtil.listContainsKey(dynamicTypes,entry))
|
|
image=dynamicTypes[entry][mapping](preimage);
|
|
else if(mapping==fromHostMap && specialProcessor.preserveNesting(entry))
|
|
image=mapValues(preimage,mapping);
|
|
else
|
|
{
|
|
var maps=mappings[entry];
|
|
if(maps)
|
|
{
|
|
var map=maps[mapping];
|
|
if(map)
|
|
{
|
|
image=map[preimage];
|
|
if(image===undefined)
|
|
image=preimage
|
|
}
|
|
}
|
|
else
|
|
image=preimage
|
|
}
|
|
ret[entry]=image
|
|
}
|
|
return ret
|
|
}
|
|
function generateArguments(imageSet, parameters)
|
|
{
|
|
var ret;
|
|
for(var param in parameters)
|
|
{
|
|
var arg;
|
|
if(specialProcessor.isComplexType(param))
|
|
arg=generateArguments(imageSet,mappings[param][toHostMap]);
|
|
else
|
|
arg=imageSet[param];
|
|
if(arg !=undefined)
|
|
{
|
|
if(!ret)
|
|
ret={};
|
|
var index=parameters[param];
|
|
if(index==self)
|
|
index=param;
|
|
ret[index]=specialProcessor.pack(param,arg)
|
|
}
|
|
}
|
|
return ret
|
|
}
|
|
function extractArguments(source, parameters, extracted)
|
|
{
|
|
if(!extracted)
|
|
extracted={};
|
|
for(var param in parameters)
|
|
{
|
|
var index=parameters[param];
|
|
var value;
|
|
if(index==self)
|
|
value=source;
|
|
else
|
|
value=source[index];
|
|
if(value===null || value===undefined)
|
|
extracted[param]=undefined;
|
|
else
|
|
{
|
|
value=specialProcessor.unpack(param,value);
|
|
var map;
|
|
if(specialProcessor.isComplexType(param))
|
|
{
|
|
map=mappings[param][fromHostMap];
|
|
if(specialProcessor.preserveNesting(param))
|
|
extracted[param]=extractArguments(value,map);
|
|
else
|
|
extractArguments(value,map,extracted)
|
|
}
|
|
else
|
|
{
|
|
if(OSF.DDA.ListType.isListType(param))
|
|
{
|
|
map={};
|
|
var entryDescriptor=OSF.DDA.ListType.getDescriptor(param);
|
|
map[entryDescriptor]=self;
|
|
for(var item in value)
|
|
value[item]=extractArguments(value[item],map)
|
|
}
|
|
extracted[param]=value
|
|
}
|
|
}
|
|
}
|
|
return extracted
|
|
}
|
|
function applyMap(mapName, preimage, mapping)
|
|
{
|
|
var parameters=mappings[mapName][mapping];
|
|
var image;
|
|
if(mapping=="toHost")
|
|
{
|
|
var imageSet=mapValues(preimage,mapping);
|
|
image=generateArguments(imageSet,parameters)
|
|
}
|
|
else if(mapping=="fromHost")
|
|
{
|
|
var argumentSet=extractArguments(preimage,parameters);
|
|
image=mapValues(argumentSet,mapping)
|
|
}
|
|
return image
|
|
}
|
|
if(!mappings)
|
|
mappings={};
|
|
this.addMapping=function(mapName, description)
|
|
{
|
|
var toHost,
|
|
fromHost;
|
|
if(description.map)
|
|
{
|
|
toHost=description.map;
|
|
fromHost={};
|
|
for(var preimage in toHost)
|
|
{
|
|
var image=toHost[preimage];
|
|
if(image==self)
|
|
image=preimage;
|
|
fromHost[image]=preimage
|
|
}
|
|
}
|
|
else
|
|
{
|
|
toHost=description.toHost;
|
|
fromHost=description.fromHost
|
|
}
|
|
var pair=mappings[mapName];
|
|
if(pair)
|
|
{
|
|
var currMap=pair[toHostMap];
|
|
for(var th in currMap)
|
|
toHost[th]=currMap[th];
|
|
currMap=pair[fromHostMap];
|
|
for(var fh in currMap)
|
|
fromHost[fh]=currMap[fh]
|
|
}
|
|
else
|
|
pair=mappings[mapName]={};
|
|
pair[toHostMap]=toHost;
|
|
pair[fromHostMap]=fromHost
|
|
};
|
|
this.toHost=function(mapName, preimage)
|
|
{
|
|
return applyMap(mapName,preimage,toHostMap)
|
|
};
|
|
this.fromHost=function(mapName, image)
|
|
{
|
|
return applyMap(mapName,image,fromHostMap)
|
|
};
|
|
this.self=self;
|
|
this.addComplexType=function(ct)
|
|
{
|
|
specialProcessor.addComplexType(ct)
|
|
};
|
|
this.getDynamicType=function(dt)
|
|
{
|
|
return specialProcessor.getDynamicType(dt)
|
|
};
|
|
this.setDynamicType=function(dt, handler)
|
|
{
|
|
specialProcessor.setDynamicType(dt,handler)
|
|
};
|
|
this.dynamicTypes=dynamicTypes;
|
|
this.doMapValues=function(preimageSet, mapping)
|
|
{
|
|
return mapValues(preimageSet,mapping)
|
|
}
|
|
};
|
|
OSF.DDA.SpecialProcessor=function(complexTypes, dynamicTypes)
|
|
{
|
|
this.addComplexType=function OSF_DDA_SpecialProcessor$addComplexType(ct)
|
|
{
|
|
complexTypes.push(ct)
|
|
};
|
|
this.getDynamicType=function OSF_DDA_SpecialProcessor$getDynamicType(dt)
|
|
{
|
|
return dynamicTypes[dt]
|
|
};
|
|
this.setDynamicType=function OSF_DDA_SpecialProcessor$setDynamicType(dt, handler)
|
|
{
|
|
dynamicTypes[dt]=handler
|
|
};
|
|
this.isComplexType=function OSF_DDA_SpecialProcessor$isComplexType(t)
|
|
{
|
|
return OSF.OUtil.listContainsValue(complexTypes,t)
|
|
};
|
|
this.isDynamicType=function OSF_DDA_SpecialProcessor$isDynamicType(p)
|
|
{
|
|
return OSF.OUtil.listContainsKey(dynamicTypes,p)
|
|
};
|
|
this.preserveNesting=function OSF_DDA_SpecialProcessor$preserveNesting(p)
|
|
{
|
|
var pn=[];
|
|
if(OSF.DDA.PropertyDescriptors)
|
|
pn.push(OSF.DDA.PropertyDescriptors.Subset);
|
|
if(OSF.DDA.DataNodeEventProperties)
|
|
pn=pn.concat([OSF.DDA.DataNodeEventProperties.OldNode,OSF.DDA.DataNodeEventProperties.NewNode,OSF.DDA.DataNodeEventProperties.NextSiblingNode]);
|
|
return OSF.OUtil.listContainsValue(pn,p)
|
|
};
|
|
this.pack=function OSF_DDA_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_SpecialProcessor$unpack(param, arg)
|
|
{
|
|
var value;
|
|
if(this.isDynamicType(param))
|
|
value=dynamicTypes[param].fromHost(arg);
|
|
else
|
|
value=arg;
|
|
return value
|
|
}
|
|
};
|
|
OSF.DDA.getDecoratedParameterMap=function(specialProcessor, initialDefs)
|
|
{
|
|
var parameterMap=new OSF.DDA.HostParameterMap(specialProcessor);
|
|
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
|
|
}
|
|
parameterMap.define=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.addMapping(definition.type,args);
|
|
if(definition.isComplexType)
|
|
parameterMap.addComplexType(definition.type)
|
|
};
|
|
for(var id in initialDefs)
|
|
parameterMap.define(initialDefs[id]);
|
|
return parameterMap
|
|
};
|
|
OSF.OUtil.setNamespace("DispIdHost",OSF.DDA);
|
|
OSF.DDA.DispIdHost.Methods={
|
|
InvokeMethod: "invokeMethod",
|
|
AddEventHandler: "addEventHandler",
|
|
RemoveEventHandler: "removeEventHandler",
|
|
OpenDialog: "openDialog",
|
|
CloseDialog: "closeDialog",
|
|
MessageParent: "messageParent"
|
|
};
|
|
OSF.DDA.DispIdHost.Delegates={
|
|
ExecuteAsync: "executeAsync",
|
|
RegisterEventAsync: "registerEventAsync",
|
|
UnregisterEventAsync: "unregisterEventAsync",
|
|
ParameterMap: "parameterMap",
|
|
MessageParent: "messageParent"
|
|
};
|
|
OSF.DDA.DispIdHost.Facade=function OSF_DDA_DispIdHost_Facade(getDelegateMethods, parameterMap)
|
|
{
|
|
var dispIdMap={};
|
|
var jsom=OSF.DDA.AsyncMethodNames;
|
|
var did=OSF.DDA.MethodDispId;
|
|
var methodMap={
|
|
GoToByIdAsync: did.dispidNavigateToMethod,
|
|
GetSelectedDataAsync: did.dispidGetSelectedDataMethod,
|
|
SetSelectedDataAsync: did.dispidSetSelectedDataMethod,
|
|
GetDocumentCopyChunkAsync: did.dispidGetDocumentCopyChunkMethod,
|
|
ReleaseDocumentCopyAsync: did.dispidReleaseDocumentCopyMethod,
|
|
GetDocumentCopyAsync: did.dispidGetDocumentCopyMethod,
|
|
AddFromSelectionAsync: did.dispidAddBindingFromSelectionMethod,
|
|
AddFromPromptAsync: did.dispidAddBindingFromPromptMethod,
|
|
AddFromNamedItemAsync: did.dispidAddBindingFromNamedItemMethod,
|
|
GetAllAsync: did.dispidGetAllBindingsMethod,
|
|
GetByIdAsync: did.dispidGetBindingMethod,
|
|
ReleaseByIdAsync: did.dispidReleaseBindingMethod,
|
|
GetDataAsync: did.dispidGetBindingDataMethod,
|
|
SetDataAsync: did.dispidSetBindingDataMethod,
|
|
AddRowsAsync: did.dispidAddRowsMethod,
|
|
AddColumnsAsync: did.dispidAddColumnsMethod,
|
|
DeleteAllDataValuesAsync: did.dispidClearAllRowsMethod,
|
|
RefreshAsync: did.dispidLoadSettingsMethod,
|
|
SaveAsync: did.dispidSaveSettingsMethod,
|
|
GetActiveViewAsync: did.dispidGetActiveViewMethod,
|
|
GetFilePropertiesAsync: did.dispidGetFilePropertiesMethod,
|
|
GetOfficeThemeAsync: did.dispidGetOfficeThemeMethod,
|
|
GetDocumentThemeAsync: did.dispidGetDocumentThemeMethod,
|
|
ClearFormatsAsync: did.dispidClearFormatsMethod,
|
|
SetTableOptionsAsync: did.dispidSetTableOptionsMethod,
|
|
SetFormatsAsync: did.dispidSetFormatsMethod,
|
|
ExecuteRichApiRequestAsync: did.dispidExecuteRichApiRequestMethod,
|
|
AppCommandInvocationCompletedAsync: did.dispidAppCommandInvocationCompletedMethod,
|
|
AddDataPartAsync: did.dispidAddDataPartMethod,
|
|
GetDataPartByIdAsync: did.dispidGetDataPartByIdMethod,
|
|
GetDataPartsByNameSpaceAsync: did.dispidGetDataPartsByNamespaceMethod,
|
|
GetPartXmlAsync: did.dispidGetDataPartXmlMethod,
|
|
GetPartNodesAsync: did.dispidGetDataPartNodesMethod,
|
|
DeleteDataPartAsync: did.dispidDeleteDataPartMethod,
|
|
GetNodeValueAsync: did.dispidGetDataNodeValueMethod,
|
|
GetNodeXmlAsync: did.dispidGetDataNodeXmlMethod,
|
|
GetRelativeNodesAsync: did.dispidGetDataNodesMethod,
|
|
SetNodeValueAsync: did.dispidSetDataNodeValueMethod,
|
|
SetNodeXmlAsync: did.dispidSetDataNodeXmlMethod,
|
|
AddDataPartNamespaceAsync: did.dispidAddDataNamespaceMethod,
|
|
GetDataPartNamespaceAsync: did.dispidGetDataUriByPrefixMethod,
|
|
GetDataPartPrefixAsync: did.dispidGetDataPrefixByUriMethod,
|
|
GetNodeTextAsync: did.dispidGetDataNodeTextMethod,
|
|
SetNodeTextAsync: did.dispidSetDataNodeTextMethod,
|
|
GetSelectedTask: did.dispidGetSelectedTaskMethod,
|
|
GetTask: did.dispidGetTaskMethod,
|
|
GetWSSUrl: did.dispidGetWSSUrlMethod,
|
|
GetTaskField: did.dispidGetTaskFieldMethod,
|
|
GetSelectedResource: did.dispidGetSelectedResourceMethod,
|
|
GetResourceField: did.dispidGetResourceFieldMethod,
|
|
GetProjectField: did.dispidGetProjectFieldMethod,
|
|
GetSelectedView: did.dispidGetSelectedViewMethod,
|
|
GetTaskByIndex: did.dispidGetTaskByIndexMethod,
|
|
GetResourceByIndex: did.dispidGetResourceByIndexMethod,
|
|
SetTaskField: did.dispidSetTaskFieldMethod,
|
|
SetResourceField: did.dispidSetResourceFieldMethod,
|
|
GetMaxTaskIndex: did.dispidGetMaxTaskIndexMethod,
|
|
GetMaxResourceIndex: did.dispidGetMaxResourceIndexMethod
|
|
};
|
|
for(var method in methodMap)
|
|
if(jsom[method])
|
|
dispIdMap[jsom[method].id]=methodMap[method];
|
|
jsom=OSF.DDA.SyncMethodNames;
|
|
did=OSF.DDA.MethodDispId;
|
|
var asyncMethodMap={MessageParent: did.dispidMessageParentMethod};
|
|
for(var method in asyncMethodMap)
|
|
if(jsom[method])
|
|
dispIdMap[jsom[method].id]=methodMap[method];
|
|
jsom=Microsoft.Office.WebExtension.EventType;
|
|
did=OSF.DDA.EventDispId;
|
|
var eventMap={
|
|
SettingsChanged: did.dispidSettingsChangedEvent,
|
|
DocumentSelectionChanged: did.dispidDocumentSelectionChangedEvent,
|
|
BindingSelectionChanged: did.dispidBindingSelectionChangedEvent,
|
|
BindingDataChanged: did.dispidBindingDataChangedEvent,
|
|
ActiveViewChanged: did.dispidActiveViewChangedEvent,
|
|
OfficeThemeChanged: did.dispidOfficeThemeChangedEvent,
|
|
DocumentThemeChanged: did.dispidDocumentThemeChangedEvent,
|
|
AppCommandInvoked: did.dispidAppCommandInvokedEvent,
|
|
DialogMessageReceived: did.dispidDialogMessageReceivedEvent,
|
|
TaskSelectionChanged: did.dispidTaskSelectionChangedEvent,
|
|
ResourceSelectionChanged: did.dispidResourceSelectionChangedEvent,
|
|
ViewSelectionChanged: did.dispidViewSelectionChangedEvent,
|
|
DataNodeInserted: did.dispidDataNodeAddedEvent,
|
|
DataNodeReplaced: did.dispidDataNodeReplacedEvent,
|
|
DataNodeDeleted: did.dispidDataNodeDeletedEvent
|
|
};
|
|
for(var event in eventMap)
|
|
if(jsom[event])
|
|
dispIdMap[jsom[event]]=eventMap[event];
|
|
function onException(ex, asyncMethodCall, suppliedArgs, callArgs)
|
|
{
|
|
if(typeof ex=="number")
|
|
{
|
|
if(!callArgs)
|
|
callArgs=asyncMethodCall.getCallArgs(suppliedArgs);
|
|
OSF.DDA.issueAsyncResult(callArgs,ex,OSF.DDA.ErrorCodeManager.getErrorArgs(ex))
|
|
}
|
|
else
|
|
throw ex;
|
|
}
|
|
this[OSF.DDA.DispIdHost.Methods.InvokeMethod]=function OSF_DDA_DispIdHost_Facade$InvokeMethod(method, suppliedArguments, caller, privateState)
|
|
{
|
|
var callArgs;
|
|
try
|
|
{
|
|
var methodName=method.id;
|
|
var asyncMethodCall=OSF.DDA.AsyncMethodCalls[methodName];
|
|
callArgs=asyncMethodCall.verifyAndExtractCall(suppliedArguments,caller,privateState);
|
|
var dispId=dispIdMap[methodName];
|
|
var delegate=getDelegateMethods(methodName);
|
|
var hostCallArgs;
|
|
if(parameterMap.toHost)
|
|
hostCallArgs=parameterMap.toHost(dispId,callArgs);
|
|
else
|
|
hostCallArgs=callArgs;
|
|
delegate[OSF.DDA.DispIdHost.Delegates.ExecuteAsync]({
|
|
dispId: dispId,
|
|
hostCallArgs: hostCallArgs,
|
|
onCalling: function OSF_DDA_DispIdFacade$Execute_onCalling()
|
|
{
|
|
OSF.OUtil.writeProfilerMark(OSF.HostCallPerfMarker.IssueCall)
|
|
},
|
|
onReceiving: function OSF_DDA_DispIdFacade$Execute_onReceiving()
|
|
{
|
|
OSF.OUtil.writeProfilerMark(OSF.HostCallPerfMarker.ReceiveResponse)
|
|
},
|
|
onComplete: function(status, hostResponseArgs)
|
|
{
|
|
var responseArgs;
|
|
if(status==OSF.DDA.ErrorCodeManager.errorCodes.ooeSuccess)
|
|
if(parameterMap.fromHost)
|
|
responseArgs=parameterMap.fromHost(dispId,hostResponseArgs);
|
|
else
|
|
responseArgs=hostResponseArgs;
|
|
else
|
|
responseArgs=hostResponseArgs;
|
|
var payload=asyncMethodCall.processResponse(status,responseArgs,caller,callArgs);
|
|
OSF.DDA.issueAsyncResult(callArgs,status,payload)
|
|
}
|
|
})
|
|
}
|
|
catch(ex)
|
|
{
|
|
onException(ex,asyncMethodCall,suppliedArguments,callArgs)
|
|
}
|
|
};
|
|
this[OSF.DDA.DispIdHost.Methods.AddEventHandler]=function OSF_DDA_DispIdHost_Facade$AddEventHandler(suppliedArguments, eventDispatch, caller)
|
|
{
|
|
var callArgs;
|
|
var eventType,
|
|
handler;
|
|
function onEnsureRegistration(status)
|
|
{
|
|
if(status==OSF.DDA.ErrorCodeManager.errorCodes.ooeSuccess)
|
|
{
|
|
var added=eventDispatch.addEventHandler(eventType,handler);
|
|
if(!added)
|
|
status=OSF.DDA.ErrorCodeManager.errorCodes.ooeEventHandlerAdditionFailed
|
|
}
|
|
var error;
|
|
if(status !=OSF.DDA.ErrorCodeManager.errorCodes.ooeSuccess)
|
|
error=OSF.DDA.ErrorCodeManager.getErrorArgs(status);
|
|
OSF.DDA.issueAsyncResult(callArgs,status,error)
|
|
}
|
|
try
|
|
{
|
|
var asyncMethodCall=OSF.DDA.AsyncMethodCalls[OSF.DDA.AsyncMethodNames.AddHandlerAsync.id];
|
|
callArgs=asyncMethodCall.verifyAndExtractCall(suppliedArguments,caller,eventDispatch);
|
|
eventType=callArgs[Microsoft.Office.WebExtension.Parameters.EventType];
|
|
handler=callArgs[Microsoft.Office.WebExtension.Parameters.Handler];
|
|
if(eventDispatch.getEventHandlerCount(eventType)==0)
|
|
{
|
|
var dispId=dispIdMap[eventType];
|
|
var invoker=getDelegateMethods(eventType)[OSF.DDA.DispIdHost.Delegates.RegisterEventAsync];
|
|
invoker({
|
|
eventType: eventType,
|
|
dispId: dispId,
|
|
targetId: caller.id || "",
|
|
onCalling: function OSF_DDA_DispIdFacade$Execute_onCalling()
|
|
{
|
|
OSF.OUtil.writeProfilerMark(OSF.HostCallPerfMarker.IssueCall)
|
|
},
|
|
onReceiving: function OSF_DDA_DispIdFacade$Execute_onReceiving()
|
|
{
|
|
OSF.OUtil.writeProfilerMark(OSF.HostCallPerfMarker.ReceiveResponse)
|
|
},
|
|
onComplete: onEnsureRegistration,
|
|
onEvent: function handleEvent(hostArgs)
|
|
{
|
|
var args=parameterMap.fromHost(dispId,hostArgs);
|
|
eventDispatch.fireEvent(OSF.DDA.OMFactory.manufactureEventArgs(eventType,caller,args))
|
|
}
|
|
})
|
|
}
|
|
else
|
|
onEnsureRegistration(OSF.DDA.ErrorCodeManager.errorCodes.ooeSuccess)
|
|
}
|
|
catch(ex)
|
|
{
|
|
onException(ex,asyncMethodCall,suppliedArguments,callArgs)
|
|
}
|
|
};
|
|
this[OSF.DDA.DispIdHost.Methods.RemoveEventHandler]=function OSF_DDA_DispIdHost_Facade$RemoveEventHandler(suppliedArguments, eventDispatch, caller)
|
|
{
|
|
var callArgs;
|
|
var eventType,
|
|
handler;
|
|
function onEnsureRegistration(status)
|
|
{
|
|
var error;
|
|
if(status !=OSF.DDA.ErrorCodeManager.errorCodes.ooeSuccess)
|
|
error=OSF.DDA.ErrorCodeManager.getErrorArgs(status);
|
|
OSF.DDA.issueAsyncResult(callArgs,status,error)
|
|
}
|
|
try
|
|
{
|
|
var asyncMethodCall=OSF.DDA.AsyncMethodCalls[OSF.DDA.AsyncMethodNames.RemoveHandlerAsync.id];
|
|
callArgs=asyncMethodCall.verifyAndExtractCall(suppliedArguments,caller,eventDispatch);
|
|
eventType=callArgs[Microsoft.Office.WebExtension.Parameters.EventType];
|
|
handler=callArgs[Microsoft.Office.WebExtension.Parameters.Handler];
|
|
var status,
|
|
removeSuccess;
|
|
if(handler===null)
|
|
{
|
|
removeSuccess=eventDispatch.clearEventHandlers(eventType);
|
|
status=OSF.DDA.ErrorCodeManager.errorCodes.ooeSuccess
|
|
}
|
|
else
|
|
{
|
|
removeSuccess=eventDispatch.removeEventHandler(eventType,handler);
|
|
status=removeSuccess ? OSF.DDA.ErrorCodeManager.errorCodes.ooeSuccess : OSF.DDA.ErrorCodeManager.errorCodes.ooeEventHandlerNotExist
|
|
}
|
|
if(removeSuccess && eventDispatch.getEventHandlerCount(eventType)==0)
|
|
{
|
|
var dispId=dispIdMap[eventType];
|
|
var invoker=getDelegateMethods(eventType)[OSF.DDA.DispIdHost.Delegates.UnregisterEventAsync];
|
|
invoker({
|
|
eventType: eventType,
|
|
dispId: dispId,
|
|
targetId: caller.id || "",
|
|
onCalling: function OSF_DDA_DispIdFacade$Execute_onCalling()
|
|
{
|
|
OSF.OUtil.writeProfilerMark(OSF.HostCallPerfMarker.IssueCall)
|
|
},
|
|
onReceiving: function OSF_DDA_DispIdFacade$Execute_onReceiving()
|
|
{
|
|
OSF.OUtil.writeProfilerMark(OSF.HostCallPerfMarker.ReceiveResponse)
|
|
},
|
|
onComplete: onEnsureRegistration
|
|
})
|
|
}
|
|
else
|
|
onEnsureRegistration(status)
|
|
}
|
|
catch(ex)
|
|
{
|
|
onException(ex,asyncMethodCall,suppliedArguments,callArgs)
|
|
}
|
|
};
|
|
this[OSF.DDA.DispIdHost.Methods.OpenDialog]=function OSF_DDA_DispIdHost_Facade$OpenDialog(suppliedArguments, eventDispatch, caller)
|
|
{
|
|
var callArgs;
|
|
var dialogMessageEvent,
|
|
dialogOtherEvent;
|
|
var targetId;
|
|
function onEnsureRegistration(status)
|
|
{
|
|
var payload;
|
|
if(status !=OSF.DDA.ErrorCodeManager.errorCodes.ooeSuccess)
|
|
payload=OSF.DDA.ErrorCodeManager.getErrorArgs(status);
|
|
else
|
|
{
|
|
var onSucceedArgs={};
|
|
onSucceedArgs[Microsoft.Office.WebExtension.Parameters.Id]=targetId;
|
|
onSucceedArgs[Microsoft.Office.WebExtension.Parameters.Data]=eventDispatch;
|
|
var payload=asyncMethodCall.processResponse(status,onSucceedArgs,caller,callArgs)
|
|
}
|
|
OSF.DDA.issueAsyncResult(callArgs,status,payload)
|
|
}
|
|
try
|
|
{
|
|
dialogMessageEvent=Microsoft.Office.WebExtension.EventType.DialogMessageReceived;
|
|
dialogOtherEvent=Microsoft.Office.WebExtension.EventType.DialogEventReceived;
|
|
if(dialogMessageEvent==undefined || dialogOtherEvent==undefined)
|
|
onEnsureRegistration(OSF.DDA.ErrorCodeManager.ooeOperationNotSupported);
|
|
if(OSF.DDA.AsyncMethodNames.DisplayDialogAsync==null)
|
|
{
|
|
onEnsureRegistration(OSF.DDA.ErrorCodeManager.errorCodes.ooeInternalError);
|
|
return
|
|
}
|
|
var asyncMethodCall=OSF.DDA.AsyncMethodCalls[OSF.DDA.AsyncMethodNames.DisplayDialogAsync.id];
|
|
callArgs=asyncMethodCall.verifyAndExtractCall(suppliedArguments,caller,eventDispatch);
|
|
eventDispatch.clearEventHandlers(dialogMessageEvent);
|
|
eventDispatch.clearEventHandlers(dialogOtherEvent);
|
|
var dispId=dispIdMap[dialogMessageEvent];
|
|
var invoker=getDelegateMethods(dialogMessageEvent)[OSF.DDA.DispIdHost.Delegates.RegisterEventAsync];
|
|
targetId=JSON.stringify(callArgs);
|
|
invoker({
|
|
eventType: dialogMessageEvent,
|
|
dispId: dispId,
|
|
targetId: targetId,
|
|
onCalling: function OSF_DDA_DispIdFacade$Execute_onCalling()
|
|
{
|
|
OSF.OUtil.writeProfilerMark(OSF.HostCallPerfMarker.IssueCall)
|
|
},
|
|
onReceiving: function OSF_DDA_DispIdFacade$Execute_onReceiving()
|
|
{
|
|
OSF.OUtil.writeProfilerMark(OSF.HostCallPerfMarker.ReceiveResponse)
|
|
},
|
|
onComplete: onEnsureRegistration,
|
|
onEvent: function handleEvent(hostArgs)
|
|
{
|
|
var args=parameterMap.fromHost(dispId,hostArgs);
|
|
var event=OSF.DDA.OMFactory.manufactureEventArgs(dialogMessageEvent,caller,args);
|
|
if(event.type==dialogOtherEvent)
|
|
{
|
|
var payload=OSF.DDA.ErrorCodeManager.getErrorArgs(event.error);
|
|
var errorArgs={};
|
|
errorArgs[OSF.DDA.AsyncResultEnum.ErrorProperties.Code]=status || OSF.DDA.ErrorCodeManager.errorCodes.ooeInternalError;
|
|
errorArgs[OSF.DDA.AsyncResultEnum.ErrorProperties.Name]=payload.name || payload;
|
|
errorArgs[OSF.DDA.AsyncResultEnum.ErrorProperties.Message]=payload.message || payload;
|
|
event.error=new OSF.DDA.Error(errorArgs[OSF.DDA.AsyncResultEnum.ErrorProperties.Name],errorArgs[OSF.DDA.AsyncResultEnum.ErrorProperties.Message],errorArgs[OSF.DDA.AsyncResultEnum.ErrorProperties.Code])
|
|
}
|
|
eventDispatch.fireOrQueueEvent(event);
|
|
if(args[OSF.DDA.PropertyDescriptors.MessageType]==OSF.DialogMessageType.DialogClosed)
|
|
{
|
|
eventDispatch.clearEventHandlers(dialogMessageEvent);
|
|
eventDispatch.clearEventHandlers(dialogOtherEvent)
|
|
}
|
|
}
|
|
})
|
|
}
|
|
catch(ex)
|
|
{
|
|
onException(ex,asyncMethodCall,suppliedArguments,callArgs)
|
|
}
|
|
};
|
|
this[OSF.DDA.DispIdHost.Methods.CloseDialog]=function OSF_DDA_DispIdHost_Facade$CloseDialog(suppliedArguments, targetId, eventDispatch, caller)
|
|
{
|
|
var callArgs;
|
|
var dialogMessageEvent,
|
|
dialogOtherEvent;
|
|
var closeStatus=OSF.DDA.ErrorCodeManager.errorCodes.ooeSuccess;
|
|
function closeCallback(status)
|
|
{
|
|
closeStatus=status
|
|
}
|
|
try
|
|
{
|
|
var asyncMethodCall=OSF.DDA.AsyncMethodCalls[OSF.DDA.AsyncMethodNames.CloseAsync.id];
|
|
callArgs=asyncMethodCall.verifyAndExtractCall(suppliedArguments,caller,eventDispatch);
|
|
dialogMessageEvent=Microsoft.Office.WebExtension.EventType.DialogMessageReceived;
|
|
dialogOtherEvent=Microsoft.Office.WebExtension.EventType.DialogEventReceived;
|
|
eventDispatch.clearEventHandlers(dialogMessageEvent);
|
|
eventDispatch.clearEventHandlers(dialogOtherEvent);
|
|
var dispId=dispIdMap[dialogMessageEvent];
|
|
var invoker=getDelegateMethods(dialogMessageEvent)[OSF.DDA.DispIdHost.Delegates.UnregisterEventAsync];
|
|
invoker({
|
|
eventType: dialogMessageEvent,
|
|
dispId: dispId,
|
|
targetId: targetId,
|
|
onCalling: function OSF_DDA_DispIdFacade$Execute_onCalling()
|
|
{
|
|
OSF.OUtil.writeProfilerMark(OSF.HostCallPerfMarker.IssueCall)
|
|
},
|
|
onReceiving: function OSF_DDA_DispIdFacade$Execute_onReceiving()
|
|
{
|
|
OSF.OUtil.writeProfilerMark(OSF.HostCallPerfMarker.ReceiveResponse)
|
|
},
|
|
onComplete: closeCallback
|
|
})
|
|
}
|
|
catch(ex)
|
|
{
|
|
onException(ex,asyncMethodCall,suppliedArguments,callArgs)
|
|
}
|
|
if(closeStatus !=OSF.DDA.ErrorCodeManager.errorCodes.ooeSuccess)
|
|
throw OSF.OUtil.formatString(Strings.OfficeOM.L_FunctionCallFailed,OSF.DDA.AsyncMethodNames.CloseAsync.displayName,closeStatus);
|
|
};
|
|
this[OSF.DDA.DispIdHost.Methods.MessageParent]=function OSF_DDA_DispIdHost_Facade$MessageParent(suppliedArguments, caller)
|
|
{
|
|
var stateInfo={};
|
|
var syncMethodCall=OSF.DDA.SyncMethodCalls[OSF.DDA.SyncMethodNames.MessageParent.id];
|
|
var callArgs=syncMethodCall.verifyAndExtractCall(suppliedArguments,caller,stateInfo);
|
|
var delegate=getDelegateMethods(OSF.DDA.SyncMethodNames.MessageParent.id);
|
|
var invoker=delegate[OSF.DDA.DispIdHost.Delegates.MessageParent];
|
|
var dispId=dispIdMap[syncMethodCall];
|
|
return invoker({
|
|
dispId: dispId,
|
|
hostCallArgs: callArgs[Microsoft.Office.WebExtension.Parameters.MessageToParent],
|
|
onCalling: function OSF_DDA_DispIdFacade$Execute_onCalling()
|
|
{
|
|
OSF.OUtil.writeProfilerMark(OSF.HostCallPerfMarker.IssueCall)
|
|
},
|
|
onReceiving: function OSF_DDA_DispIdFacade$Execute_onReceiving()
|
|
{
|
|
OSF.OUtil.writeProfilerMark(OSF.HostCallPerfMarker.ReceiveResponse)
|
|
}
|
|
})
|
|
}
|
|
};
|
|
OSF.DDA.DispIdHost.addAsyncMethods=function OSF_DDA_DispIdHost$AddAsyncMethods(target, asyncMethodNames, privateState)
|
|
{
|
|
for(var entry in asyncMethodNames)
|
|
{
|
|
var method=asyncMethodNames[entry];
|
|
var name=method.displayName;
|
|
if(!target[name])
|
|
OSF.OUtil.defineEnumerableProperty(target,name,{value: function(asyncMethod)
|
|
{
|
|
return function()
|
|
{
|
|
var invokeMethod=OSF._OfficeAppFactory.getHostFacade()[OSF.DDA.DispIdHost.Methods.InvokeMethod];
|
|
invokeMethod(asyncMethod,arguments,target,privateState)
|
|
}
|
|
}(method)})
|
|
}
|
|
};
|
|
OSF.DDA.DispIdHost.addEventSupport=function OSF_DDA_DispIdHost$AddEventSupport(target, eventDispatch)
|
|
{
|
|
var add=OSF.DDA.AsyncMethodNames.AddHandlerAsync.displayName;
|
|
var remove=OSF.DDA.AsyncMethodNames.RemoveHandlerAsync.displayName;
|
|
if(!target[add])
|
|
OSF.OUtil.defineEnumerableProperty(target,add,{value: function()
|
|
{
|
|
var addEventHandler=OSF._OfficeAppFactory.getHostFacade()[OSF.DDA.DispIdHost.Methods.AddEventHandler];
|
|
addEventHandler(arguments,eventDispatch,target)
|
|
}});
|
|
if(!target[remove])
|
|
OSF.OUtil.defineEnumerableProperty(target,remove,{value: function()
|
|
{
|
|
var removeEventHandler=OSF._OfficeAppFactory.getHostFacade()[OSF.DDA.DispIdHost.Methods.RemoveEventHandler];
|
|
removeEventHandler(arguments,eventDispatch,target)
|
|
}})
|
|
};
|
|
if(!OsfMsAjaxFactory.isMsAjaxLoaded())
|
|
if(!(OSF._OfficeAppFactory && OSF._OfficeAppFactory && OSF._OfficeAppFactory.getLoadScriptHelper && OSF._OfficeAppFactory.getLoadScriptHelper().isScriptLoading(OSF.ConstantNames.MicrosoftAjaxId)))
|
|
{
|
|
var msAjaxCDNPath=(window.location.protocol.toLowerCase()==="https:" ? "https:" : "http:")+"//ajax.aspnetcdn.com/ajax/3.5/MicrosoftAjax.js";
|
|
OsfMsAjaxFactory.loadMsAjaxFull(function OSF$loadMSAjaxCallback()
|
|
{
|
|
if(!OsfMsAjaxFactory.isMsAjaxLoaded())
|
|
throw"Not able to load MicrosoftAjax.js.";
|
|
})
|
|
}
|
|
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._onException=function OSF_DDA_SafeArray_Delegate$OnException(ex, args)
|
|
{
|
|
var status;
|
|
var statusNumber=ex.number;
|
|
if(statusNumber)
|
|
switch(statusNumber)
|
|
{
|
|
case-2146828218:
|
|
status=OSF.DDA.ErrorCodeManager.errorCodes.ooeNoCapability;
|
|
break;
|
|
case-2147467259:
|
|
status=OSF.DDA.ErrorCodeManager.errorCodes.ooeDialogAlreadyOpened;
|
|
break;
|
|
case-2146828283:
|
|
status=OSF.DDA.ErrorCodeManager.errorCodes.ooeInvalidParam;
|
|
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._onExceptionSyncMethod=function OSF_DDA_SafeArray_Delegate$OnExceptionSyncMethod(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
|
|
}
|
|
return status || OSF.DDA.ErrorCodeManager.errorCodes.ooeInternalError
|
|
};
|
|
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=[];
|
|
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.unpack=function OSF_DDA_SafeArray_Delegate_SpecialProcessor$unpack(param, arg)
|
|
{
|
|
var value;
|
|
if(this.isComplexType(param) || OSF.DDA.ListType.isListType(param))
|
|
{
|
|
var toArraySupported=(arg || typeof arg==="unknown") && arg.toArray;
|
|
value=toArraySupported ? arg.toArray() : 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=OSF.DDA.getDecoratedParameterMap(new OSF.DDA.SafeArray.Delegate.SpecialProcessor,[{
|
|
type: Microsoft.Office.WebExtension.Parameters.ValueFormat,
|
|
toHost: [{
|
|
name: Microsoft.Office.WebExtension.ValueFormat.Unformatted,
|
|
value: 0
|
|
},{
|
|
name: Microsoft.Office.WebExtension.ValueFormat.Formatted,
|
|
value: 1
|
|
}]
|
|
},{
|
|
type: Microsoft.Office.WebExtension.Parameters.FilterType,
|
|
toHost: [{
|
|
name: Microsoft.Office.WebExtension.FilterType.All,
|
|
value: 0
|
|
}]
|
|
}]);
|
|
OSF.DDA.SafeArray.Delegate.ParameterMap.define({
|
|
type: OSF.DDA.PropertyDescriptors.AsyncResultStatus,
|
|
fromHost: [{
|
|
name: Microsoft.Office.WebExtension.AsyncResultStatus.Succeeded,
|
|
value: 0
|
|
},{
|
|
name: Microsoft.Office.WebExtension.AsyncResultStatus.Failed,
|
|
value: 1
|
|
}]
|
|
});
|
|
OSF.DDA.SafeArray.Delegate.executeAsync=function OSF_DDA_SafeArray_Delegate$ExecuteAsync(args)
|
|
{
|
|
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
|
|
}
|
|
function fromSafeArray(value)
|
|
{
|
|
var ret=value;
|
|
if(value !=null && value.toArray)
|
|
{
|
|
var arrayResult=value.toArray();
|
|
ret=new Array(arrayResult.length);
|
|
for(var i=0; i < arrayResult.length; i++)
|
|
ret[i]=fromSafeArray(arrayResult[i])
|
|
}
|
|
return ret
|
|
}
|
|
try
|
|
{
|
|
if(args.onCalling)
|
|
args.onCalling();
|
|
var startTime=(new Date).getTime();
|
|
OSF.ClientHostController.execute(args.dispId,toArray(args.hostCallArgs),function OSF_DDA_SafeArrayFacade$Execute_OnResponse(hostResponseArgs)
|
|
{
|
|
var result=hostResponseArgs.toArray();
|
|
var status=result[OSF.DDA.SafeArray.Response.Status];
|
|
if(status==OSF.DDA.ErrorCodeManager.errorCodes.ooeChunkResult)
|
|
{
|
|
var payload=result[OSF.DDA.SafeArray.Response.Payload];
|
|
payload=fromSafeArray(payload);
|
|
if(payload !=null)
|
|
{
|
|
if(!args._chunkResultData)
|
|
args._chunkResultData=new Array;
|
|
args._chunkResultData[payload[0]]=payload[1]
|
|
}
|
|
return false
|
|
}
|
|
if(args.onReceiving)
|
|
args.onReceiving();
|
|
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];
|
|
if(args._chunkResultData)
|
|
{
|
|
payload=fromSafeArray(payload);
|
|
if(payload !=null)
|
|
{
|
|
var expectedChunkCount=payload[payload.length - 1];
|
|
if(args._chunkResultData.length==expectedChunkCount)
|
|
payload[payload.length - 1]=args._chunkResultData;
|
|
else
|
|
status=OSF.DDA.ErrorCodeManager.errorCodes.ooeInternalError
|
|
}
|
|
}
|
|
}
|
|
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);
|
|
return true
|
|
})
|
|
}
|
|
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)
|
|
}
|
|
};
|
|
OSF.ClientMode={
|
|
ReadWrite: 0,
|
|
ReadOnly: 1
|
|
};
|
|
OSF.DDA.RichInitializationReason={
|
|
1: Microsoft.Office.WebExtension.InitializationReason.Inserted,
|
|
2: Microsoft.Office.WebExtension.InitializationReason.DocumentOpened
|
|
};
|
|
OSF.InitializationHelper=function OSF_InitializationHelper(hostInfo, webAppState, context, settings, hostFacade)
|
|
{
|
|
this._hostInfo=hostInfo;
|
|
this._webAppState=webAppState;
|
|
this._context=context;
|
|
this._settings=settings;
|
|
this._hostFacade=hostFacade;
|
|
this._initializeSettings=this.initializeSettings
|
|
};
|
|
OSF.InitializationHelper.prototype.deserializeSettings=function OSF_InitializationHelper$deserializeSettings(serializedSettings, refreshSupported)
|
|
{
|
|
var settings;
|
|
var osfSessionStorage=OSF.OUtil.getSessionStorage();
|
|
if(osfSessionStorage)
|
|
{
|
|
var storageSettings=osfSessionStorage.getItem(OSF._OfficeAppFactory.getCachedSessionSettingsKey());
|
|
if(storageSettings)
|
|
serializedSettings=typeof JSON !=="undefined" ? JSON.parse(storageSettings) : OsfMsAjaxFactory.msAjaxSerializer.deserialize(storageSettings,true);
|
|
else
|
|
{
|
|
storageSettings=typeof JSON !=="undefined" ? JSON.stringify(serializedSettings) : OsfMsAjaxFactory.msAjaxSerializer.serialize(serializedSettings);
|
|
osfSessionStorage.setItem(OSF._OfficeAppFactory.getCachedSessionSettingsKey(),storageSettings)
|
|
}
|
|
}
|
|
var deserializedSettings=OSF.DDA.SettingsManager.deserializeSettings(serializedSettings);
|
|
if(refreshSupported)
|
|
settings=new OSF.DDA.RefreshableSettings(deserializedSettings);
|
|
else
|
|
settings=new OSF.DDA.Settings(deserializedSettings);
|
|
return settings
|
|
};
|
|
OSF.InitializationHelper.prototype.setAgaveHostCommunication=function OSF_InitializationHelper$setAgaveHostCommunication(){};
|
|
OSF.InitializationHelper.prototype.prepareRightBeforeWebExtensionInitialize=function OSF_InitializationHelper$prepareRightBeforeWebExtensionInitialize(appContext)
|
|
{
|
|
this.prepareApiSurface(appContext);
|
|
Microsoft.Office.WebExtension.initialize(this.getInitializationReason(appContext))
|
|
};
|
|
OSF.InitializationHelper.prototype.prepareApiSurface=function OSF_InitializationHelper$prepareApiSurfaceAndInitialize(appContext)
|
|
{
|
|
var license=new OSF.DDA.License(appContext.get_eToken());
|
|
var getOfficeThemeHandler=OSF.DDA.OfficeTheme && OSF.DDA.OfficeTheme.getOfficeTheme ? OSF.DDA.OfficeTheme.getOfficeTheme : null;
|
|
if(appContext.get_isDialog())
|
|
{
|
|
if(OSF.DDA.UI.ChildUI)
|
|
appContext.ui=new OSF.DDA.UI.ChildUI
|
|
}
|
|
else if(OSF.DDA.UI.ParentUI)
|
|
appContext.ui=new OSF.DDA.UI.ParentUI;
|
|
OSF._OfficeAppFactory.setContext(new OSF.DDA.Context(appContext,appContext.doc,license,null,getOfficeThemeHandler));
|
|
var getDelegateMethods,
|
|
parameterMap;
|
|
getDelegateMethods=OSF.DDA.DispIdHost.getClientDelegateMethods;
|
|
parameterMap=OSF.DDA.SafeArray.Delegate.ParameterMap;
|
|
OSF._OfficeAppFactory.setHostFacade(new OSF.DDA.DispIdHost.Facade(getDelegateMethods,parameterMap))
|
|
};
|
|
OSF.InitializationHelper.prototype.getInitializationReason=function(appContext)
|
|
{
|
|
return OSF.DDA.RichInitializationReason[appContext.get_reason()]
|
|
};
|
|
OSF.DDA.DispIdHost.getClientDelegateMethods=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;
|
|
delegateMethods[OSF.DDA.DispIdHost.Delegates.MessageParent]=OSF.DDA.SafeArray.Delegate.messageParent;
|
|
if(OSF.DDA.AsyncMethodNames.RefreshAsync && actionId==OSF.DDA.AsyncMethodNames.RefreshAsync.id)
|
|
{
|
|
var readSerializedSettings=function(hostCallArgs, onCalling, onReceiving)
|
|
{
|
|
return OSF.DDA.ClientSettingsManager.read(onCalling,onReceiving)
|
|
};
|
|
delegateMethods[OSF.DDA.DispIdHost.Delegates.ExecuteAsync]=OSF.DDA.ClientSettingsManager.getSettingsExecuteMethod(readSerializedSettings)
|
|
}
|
|
if(OSF.DDA.AsyncMethodNames.SaveAsync && actionId==OSF.DDA.AsyncMethodNames.SaveAsync.id)
|
|
{
|
|
var writeSerializedSettings=function(hostCallArgs, onCalling, onReceiving)
|
|
{
|
|
return OSF.DDA.ClientSettingsManager.write(hostCallArgs[OSF.DDA.SettingsManager.SerializedSettings],hostCallArgs[Microsoft.Office.WebExtension.Parameters.OverwriteIfStale],onCalling,onReceiving)
|
|
};
|
|
delegateMethods[OSF.DDA.DispIdHost.Delegates.ExecuteAsync]=OSF.DDA.ClientSettingsManager.getSettingsExecuteMethod(writeSerializedSettings)
|
|
}
|
|
return delegateMethods
|
|
};
|
|
var OSFRichclient;
|
|
(function(OSFRichclient)
|
|
{
|
|
var RichClientHostController=function()
|
|
{
|
|
function RichClientHostController(){}
|
|
RichClientHostController.prototype.execute=function(id, params, callback)
|
|
{
|
|
window.external.Execute(id,params,callback)
|
|
};
|
|
RichClientHostController.prototype.registerEvent=function(id, targetId, handler, callback)
|
|
{
|
|
window.external.RegisterEvent(id,targetId,handler,callback)
|
|
};
|
|
RichClientHostController.prototype.unregisterEvent=function(id, targetId, callback)
|
|
{
|
|
window.external.UnregisterEvent(id,targetId,callback)
|
|
};
|
|
RichClientHostController.prototype.messageParent=function(message)
|
|
{
|
|
window.external.MessageParent(message)
|
|
};
|
|
return RichClientHostController
|
|
}();
|
|
OSFRichclient.RichClientHostController=RichClientHostController
|
|
})(OSFRichclient || (OSFRichclient={}));
|
|
OSF.ClientHostController=new OSFRichclient.RichClientHostController;
|
|
var OfficeExt;
|
|
(function(OfficeExt)
|
|
{
|
|
var OfficeTheme;
|
|
(function(OfficeTheme)
|
|
{
|
|
var OfficeThemeManager=function()
|
|
{
|
|
function OfficeThemeManager()
|
|
{
|
|
this._osfOfficeTheme=null;
|
|
this._osfOfficeThemeTimeStamp=null
|
|
}
|
|
OfficeThemeManager.prototype.getOfficeTheme=function()
|
|
{
|
|
if(OSF.DDA._OsfControlContext)
|
|
{
|
|
if(this._osfOfficeTheme && this._osfOfficeThemeTimeStamp && (new Date).getTime() - this._osfOfficeThemeTimeStamp < OfficeThemeManager._osfOfficeThemeCacheValidPeriod)
|
|
{
|
|
if(OSF.AppTelemetry)
|
|
OSF.AppTelemetry.onPropertyDone("GetOfficeThemeInfo",0)
|
|
}
|
|
else
|
|
{
|
|
var startTime=(new Date).getTime();
|
|
var osfOfficeTheme=OSF.DDA._OsfControlContext.GetOfficeThemeInfo();
|
|
var endTime=(new Date).getTime();
|
|
if(OSF.AppTelemetry)
|
|
OSF.AppTelemetry.onPropertyDone("GetOfficeThemeInfo",Math.abs(endTime - startTime));
|
|
this._osfOfficeTheme=JSON.parse(osfOfficeTheme);
|
|
for(var color in this._osfOfficeTheme)
|
|
this._osfOfficeTheme[color]=OSF.OUtil.convertIntToCssHexColor(this._osfOfficeTheme[color]);
|
|
this._osfOfficeThemeTimeStamp=endTime
|
|
}
|
|
return this._osfOfficeTheme
|
|
}
|
|
};
|
|
OfficeThemeManager.instance=function()
|
|
{
|
|
if(OfficeThemeManager._instance==null)
|
|
OfficeThemeManager._instance=new OfficeThemeManager;
|
|
return OfficeThemeManager._instance
|
|
};
|
|
OfficeThemeManager._osfOfficeThemeCacheValidPeriod=5e3;
|
|
OfficeThemeManager._instance=null;
|
|
return OfficeThemeManager
|
|
}();
|
|
OfficeTheme.OfficeThemeManager=OfficeThemeManager;
|
|
OSF.OUtil.setNamespace("OfficeTheme",OSF.DDA);
|
|
OSF.DDA.OfficeTheme.getOfficeTheme=OfficeExt.OfficeTheme.OfficeThemeManager.instance().getOfficeTheme
|
|
})(OfficeTheme=OfficeExt.OfficeTheme || (OfficeExt.OfficeTheme={}))
|
|
})(OfficeExt || (OfficeExt={}));
|
|
OSF.DDA.ClientSettingsManager={
|
|
getSettingsExecuteMethod: function OSF_DDA_ClientSettingsManager$getSettingsExecuteMethod(hostDelegateMethod)
|
|
{
|
|
return function(args)
|
|
{
|
|
var status,
|
|
response;
|
|
try
|
|
{
|
|
response=hostDelegateMethod(args.hostCallArgs,args.onCalling,args.onReceiving);
|
|
status=OSF.DDA.ErrorCodeManager.errorCodes.ooeSuccess
|
|
}
|
|
catch(ex)
|
|
{
|
|
status=OSF.DDA.ErrorCodeManager.errorCodes.ooeInternalError;
|
|
response={
|
|
name: Strings.OfficeOM.L_InternalError,
|
|
message: ex
|
|
}
|
|
}
|
|
if(args.onComplete)
|
|
args.onComplete(status,response)
|
|
}
|
|
},
|
|
read: function OSF_DDA_ClientSettingsManager$read(onCalling, onReceiving)
|
|
{
|
|
var keys=[];
|
|
var values=[];
|
|
if(onCalling)
|
|
onCalling();
|
|
OSF.DDA._OsfControlContext.GetSettings().Read(keys,values);
|
|
if(onReceiving)
|
|
onReceiving();
|
|
var serializedSettings={};
|
|
for(var index=0; index < keys.length; index++)
|
|
serializedSettings[keys[index]]=values[index];
|
|
return serializedSettings
|
|
},
|
|
write: function OSF_DDA_ClientSettingsManager$write(serializedSettings, overwriteIfStale, onCalling, onReceiving)
|
|
{
|
|
var keys=[];
|
|
var values=[];
|
|
for(var key in serializedSettings)
|
|
{
|
|
keys.push(key);
|
|
values.push(serializedSettings[key])
|
|
}
|
|
if(onCalling)
|
|
onCalling();
|
|
OSF.DDA._OsfControlContext.GetSettings().Write(keys,values);
|
|
if(onReceiving)
|
|
onReceiving()
|
|
}
|
|
};
|
|
OSF.InitializationHelper.prototype.initializeSettings=function OSF_InitializationHelper$initializeSettings(refreshSupported)
|
|
{
|
|
var serializedSettings=OSF.DDA.ClientSettingsManager.read();
|
|
var settings=this.deserializeSettings(serializedSettings,refreshSupported);
|
|
return settings
|
|
};
|
|
OSF.InitializationHelper.prototype.getAppContext=function OSF_InitializationHelper$getAppContext(wnd, gotAppContext)
|
|
{
|
|
var returnedContext;
|
|
var context=OSF.DDA._OsfControlContext=window.external.GetContext();
|
|
var appType=context.GetAppType();
|
|
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 id=context.GetSolutionRef();
|
|
var version=context.GetAppVersionMajor();
|
|
var minorVersion=context.GetAppVersionMinor();
|
|
var UILocale=context.GetAppUILocale();
|
|
var dataLocale=context.GetAppDataLocale();
|
|
var docUrl=context.GetDocUrl();
|
|
var clientMode=context.GetAppCapabilities();
|
|
var reason=context.GetActivationMode();
|
|
var osfControlType=context.GetControlIntegrationLevel();
|
|
var settings=[];
|
|
var eToken;
|
|
try
|
|
{
|
|
eToken=context.GetSolutionToken()
|
|
}
|
|
catch(ex){}
|
|
var correlationId;
|
|
if(typeof context.GetCorrelationId !=="undefined")
|
|
correlationId=context.GetCorrelationId();
|
|
var appInstanceId;
|
|
if(typeof context.GetInstanceId !=="undefined")
|
|
appInstanceId=context.GetInstanceId();
|
|
var touchEnabled;
|
|
if(typeof context.GetTouchEnabled !=="undefined")
|
|
touchEnabled=context.GetTouchEnabled();
|
|
var commerceAllowed;
|
|
if(typeof context.GetCommerceAllowed !=="undefined")
|
|
commerceAllowed=context.GetCommerceAllowed();
|
|
var requirementMatrix;
|
|
if(typeof context.GetSupportedMatrix !=="undefined")
|
|
requirementMatrix=context.GetSupportedMatrix();
|
|
eToken=eToken ? eToken.toString() : "";
|
|
returnedContext=new OSF.OfficeAppContext(id,appType,version,UILocale,dataLocale,docUrl,clientMode,settings,reason,osfControlType,eToken,correlationId,appInstanceId,touchEnabled,commerceAllowed,minorVersion,requirementMatrix);
|
|
if(OSF.AppTelemetry)
|
|
OSF.AppTelemetry.initialize(returnedContext);
|
|
gotAppContext(returnedContext)
|
|
};
|
|
(function()
|
|
{
|
|
var checkScriptOverride=function OSF$checkScriptOverride()
|
|
{
|
|
var postScriptOverrideCheckAction=function OSF$postScriptOverrideCheckAction(customizedScriptPath)
|
|
{
|
|
if(customizedScriptPath)
|
|
OSF.OUtil.loadScript(customizedScriptPath,function()
|
|
{
|
|
OsfMsAjaxFactory.msAjaxDebug.trace("loaded customized script:"+customizedScriptPath)
|
|
})
|
|
};
|
|
var conversationID,
|
|
webAppUrl,
|
|
items;
|
|
var clientEndPoint=null;
|
|
var xdmInfoValue=OSF.OUtil.parseXdmInfo();
|
|
if(xdmInfoValue)
|
|
{
|
|
items=OSF.OUtil.getInfoItems(xdmInfoValue);
|
|
if(items && items.length >=3)
|
|
{
|
|
conversationID=items[0];
|
|
webAppUrl=items[2];
|
|
clientEndPoint=Microsoft.Office.Common.XdmCommunicationManager.connect(conversationID,window.parent,webAppUrl)
|
|
}
|
|
}
|
|
var customizedScriptPath=null;
|
|
if(!clientEndPoint)
|
|
{
|
|
try
|
|
{
|
|
if(typeof window.external.getCustomizedScriptPath !=="undefined")
|
|
customizedScriptPath=window.external.getCustomizedScriptPath()
|
|
}
|
|
catch(ex)
|
|
{
|
|
OsfMsAjaxFactory.msAjaxDebug.trace("no script override through window.external.")
|
|
}
|
|
postScriptOverrideCheckAction(customizedScriptPath)
|
|
}
|
|
else
|
|
try
|
|
{
|
|
clientEndPoint.invoke("getCustomizedScriptPathAsync",function OSF$getCustomizedScriptPathAsyncCallback(errorCode, scriptPath)
|
|
{
|
|
postScriptOverrideCheckAction(errorCode===0 ? scriptPath : null)
|
|
},{__timeout__: 1e3})
|
|
}
|
|
catch(ex)
|
|
{
|
|
OsfMsAjaxFactory.msAjaxDebug.trace("no script override through cross frame communication.")
|
|
}
|
|
};
|
|
if(OSF._OfficeAppFactory.getLoadScriptHelper)
|
|
OSF._OfficeAppFactory.getLoadScriptHelper().waitForScripts([OSF.ConstantNames.MicrosoftAjaxId],checkScriptOverride)
|
|
})();
|
|
Microsoft.Office.WebExtension.EventType={};
|
|
OSF.EventDispatch=function OSF_EventDispatch(eventTypes)
|
|
{
|
|
this._eventHandlers={};
|
|
this._queuedEventsArgs={};
|
|
for(var entry in eventTypes)
|
|
{
|
|
var eventType=eventTypes[entry];
|
|
this._eventHandlers[eventType]=[];
|
|
this._queuedEventsArgs[eventType]=[]
|
|
}
|
|
};
|
|
OSF.EventDispatch.prototype={
|
|
getSupportedEvents: function OSF_EventDispatch$getSupportedEvents()
|
|
{
|
|
var events=[];
|
|
for(var eventName in this._eventHandlers)
|
|
events.push(eventName);
|
|
return events
|
|
},
|
|
supportsEvent: function OSF_EventDispatch$supportsEvent(event)
|
|
{
|
|
var isSupported=false;
|
|
for(var eventName in this._eventHandlers)
|
|
if(event==eventName)
|
|
{
|
|
isSupported=true;
|
|
break
|
|
}
|
|
return isSupported
|
|
},
|
|
hasEventHandler: function OSF_EventDispatch$hasEventHandler(eventType, handler)
|
|
{
|
|
var handlers=this._eventHandlers[eventType];
|
|
if(handlers && handlers.length > 0)
|
|
for(var h in handlers)
|
|
if(handlers[h]===handler)
|
|
return true;
|
|
return false
|
|
},
|
|
addEventHandler: function OSF_EventDispatch$addEventHandler(eventType, handler)
|
|
{
|
|
if(typeof handler !="function")
|
|
return false;
|
|
var handlers=this._eventHandlers[eventType];
|
|
if(handlers && !this.hasEventHandler(eventType,handler))
|
|
{
|
|
handlers.push(handler);
|
|
return true
|
|
}
|
|
else
|
|
return false
|
|
},
|
|
addEventHandlerAndFireQueuedEvent: function OSF_EventDispatch$addEventHandlerAndFireQueuedEvent(eventType, handler)
|
|
{
|
|
var handlers=this._eventHandlers[eventType];
|
|
var isFirstHandler=handlers.length==0;
|
|
var succeed=this.addEventHandler(eventType,handler);
|
|
if(isFirstHandler && succeed)
|
|
this.fireQueuedEvent(eventType);
|
|
return succeed
|
|
},
|
|
removeEventHandler: function OSF_EventDispatch$removeEventHandler(eventType, handler)
|
|
{
|
|
var handlers=this._eventHandlers[eventType];
|
|
if(handlers && handlers.length > 0)
|
|
for(var index=0; index < handlers.length; index++)
|
|
if(handlers[index]===handler)
|
|
{
|
|
handlers.splice(index,1);
|
|
return true
|
|
}
|
|
return false
|
|
},
|
|
clearEventHandlers: function OSF_EventDispatch$clearEventHandlers(eventType)
|
|
{
|
|
if(typeof this._eventHandlers[eventType] !="undefined" && this._eventHandlers[eventType].length > 0)
|
|
{
|
|
this._eventHandlers[eventType]=[];
|
|
return true
|
|
}
|
|
return false
|
|
},
|
|
getEventHandlerCount: function OSF_EventDispatch$getEventHandlerCount(eventType)
|
|
{
|
|
return this._eventHandlers[eventType] !=undefined ? this._eventHandlers[eventType].length : -1
|
|
},
|
|
fireEvent: function OSF_EventDispatch$fireEvent(eventArgs)
|
|
{
|
|
if(eventArgs.type==undefined)
|
|
return false;
|
|
var eventType=eventArgs.type;
|
|
if(eventType && this._eventHandlers[eventType])
|
|
{
|
|
var eventHandlers=this._eventHandlers[eventType];
|
|
for(var handler in eventHandlers)
|
|
eventHandlers[handler](eventArgs);
|
|
return true
|
|
}
|
|
else
|
|
return false
|
|
},
|
|
fireOrQueueEvent: function OSF_EventDispatch$fireOrQueueEvent(eventArgs)
|
|
{
|
|
var eventType=eventArgs.type;
|
|
if(eventType && this._eventHandlers[eventType])
|
|
{
|
|
var eventHandlers=this._eventHandlers[eventType];
|
|
var queuedEvents=this._queuedEventsArgs[eventType];
|
|
if(eventHandlers.length==0)
|
|
queuedEvents.push(eventArgs);
|
|
else
|
|
this.fireEvent(eventArgs);
|
|
return true
|
|
}
|
|
else
|
|
return false
|
|
},
|
|
fireQueuedEvent: function OSF_EventDispatch$queueEvent(eventType)
|
|
{
|
|
if(eventType && this._eventHandlers[eventType])
|
|
{
|
|
var eventHandlers=this._eventHandlers[eventType];
|
|
var queuedEvents=this._queuedEventsArgs[eventType];
|
|
if(eventHandlers.length > 0)
|
|
{
|
|
var eventHandler=eventHandlers[0];
|
|
while(queuedEvents.length > 0)
|
|
{
|
|
var eventArgs=queuedEvents.shift();
|
|
eventHandler(eventArgs)
|
|
}
|
|
return true
|
|
}
|
|
}
|
|
return false
|
|
}
|
|
};
|
|
OSF.DDA.OMFactory=OSF.DDA.OMFactory || {};
|
|
OSF.DDA.OMFactory.manufactureEventArgs=function OSF_DDA_OMFactory$manufactureEventArgs(eventType, target, eventProperties)
|
|
{
|
|
var args;
|
|
switch(eventType)
|
|
{
|
|
case Microsoft.Office.WebExtension.EventType.DocumentSelectionChanged:
|
|
args=new OSF.DDA.DocumentSelectionChangedEventArgs(target);
|
|
break;
|
|
case Microsoft.Office.WebExtension.EventType.BindingSelectionChanged:
|
|
args=new OSF.DDA.BindingSelectionChangedEventArgs(this.manufactureBinding(eventProperties,target.document),eventProperties[OSF.DDA.PropertyDescriptors.Subset]);
|
|
break;
|
|
case Microsoft.Office.WebExtension.EventType.BindingDataChanged:
|
|
args=new OSF.DDA.BindingDataChangedEventArgs(this.manufactureBinding(eventProperties,target.document));
|
|
break;
|
|
case Microsoft.Office.WebExtension.EventType.SettingsChanged:
|
|
args=new OSF.DDA.SettingsChangedEventArgs(target);
|
|
break;
|
|
case Microsoft.Office.WebExtension.EventType.ActiveViewChanged:
|
|
args=new OSF.DDA.ActiveViewChangedEventArgs(eventProperties);
|
|
break;
|
|
case Microsoft.Office.WebExtension.EventType.OfficeThemeChanged:
|
|
args=new OSF.DDA.Theming.OfficeThemeChangedEventArgs(eventProperties);
|
|
break;
|
|
case Microsoft.Office.WebExtension.EventType.DocumentThemeChanged:
|
|
args=new OSF.DDA.Theming.DocumentThemeChangedEventArgs(eventProperties);
|
|
break;
|
|
case Microsoft.Office.WebExtension.EventType.AppCommandInvoked:
|
|
args=OSF.DDA.AppCommand.AppCommandInvokedEventArgs.create(eventProperties);
|
|
break;
|
|
case Microsoft.Office.WebExtension.EventType.DataNodeInserted:
|
|
args=new OSF.DDA.NodeInsertedEventArgs(this.manufactureDataNode(eventProperties[OSF.DDA.DataNodeEventProperties.NewNode]),eventProperties[OSF.DDA.DataNodeEventProperties.InUndoRedo]);
|
|
break;
|
|
case Microsoft.Office.WebExtension.EventType.DataNodeReplaced:
|
|
args=new OSF.DDA.NodeReplacedEventArgs(this.manufactureDataNode(eventProperties[OSF.DDA.DataNodeEventProperties.OldNode]),this.manufactureDataNode(eventProperties[OSF.DDA.DataNodeEventProperties.NewNode]),eventProperties[OSF.DDA.DataNodeEventProperties.InUndoRedo]);
|
|
break;
|
|
case Microsoft.Office.WebExtension.EventType.DataNodeDeleted:
|
|
args=new OSF.DDA.NodeDeletedEventArgs(this.manufactureDataNode(eventProperties[OSF.DDA.DataNodeEventProperties.OldNode]),this.manufactureDataNode(eventProperties[OSF.DDA.DataNodeEventProperties.NextSiblingNode]),eventProperties[OSF.DDA.DataNodeEventProperties.InUndoRedo]);
|
|
break;
|
|
case Microsoft.Office.WebExtension.EventType.TaskSelectionChanged:
|
|
args=new OSF.DDA.TaskSelectionChangedEventArgs(target);
|
|
break;
|
|
case Microsoft.Office.WebExtension.EventType.ResourceSelectionChanged:
|
|
args=new OSF.DDA.ResourceSelectionChangedEventArgs(target);
|
|
break;
|
|
case Microsoft.Office.WebExtension.EventType.ViewSelectionChanged:
|
|
args=new OSF.DDA.ViewSelectionChangedEventArgs(target);
|
|
break;
|
|
case Microsoft.Office.WebExtension.EventType.DialogMessageReceived:
|
|
args=new OSF.DDA.DialogEventArgs(eventProperties);
|
|
break;
|
|
default:
|
|
throw OsfMsAjaxFactory.msAjaxError.argument(Microsoft.Office.WebExtension.Parameters.EventType,OSF.OUtil.formatString(Strings.OfficeOM.L_NotSupportedEventType,eventType));
|
|
}
|
|
return args
|
|
};
|
|
OSF.DDA.AsyncMethodNames.addNames({
|
|
AddHandlerAsync: "addHandlerAsync",
|
|
RemoveHandlerAsync: "removeHandlerAsync"
|
|
});
|
|
OSF.DDA.AsyncMethodCalls.define({
|
|
method: OSF.DDA.AsyncMethodNames.AddHandlerAsync,
|
|
requiredArguments: [{
|
|
name: Microsoft.Office.WebExtension.Parameters.EventType,
|
|
"enum": Microsoft.Office.WebExtension.EventType,
|
|
verify: function(eventType, caller, eventDispatch)
|
|
{
|
|
return eventDispatch.supportsEvent(eventType)
|
|
}
|
|
},{
|
|
name: Microsoft.Office.WebExtension.Parameters.Handler,
|
|
types: ["function"]
|
|
}],
|
|
supportedOptions: [],
|
|
privateStateCallbacks: []
|
|
});
|
|
OSF.DDA.AsyncMethodCalls.define({
|
|
method: OSF.DDA.AsyncMethodNames.RemoveHandlerAsync,
|
|
requiredArguments: [{
|
|
name: Microsoft.Office.WebExtension.Parameters.EventType,
|
|
"enum": Microsoft.Office.WebExtension.EventType,
|
|
verify: function(eventType, caller, eventDispatch)
|
|
{
|
|
return eventDispatch.supportsEvent(eventType)
|
|
}
|
|
}],
|
|
supportedOptions: [{
|
|
name: Microsoft.Office.WebExtension.Parameters.Handler,
|
|
value: {
|
|
types: ["function","object"],
|
|
defaultValue: null
|
|
}
|
|
}],
|
|
privateStateCallbacks: []
|
|
});
|
|
OSF.DDA.SafeArray.Delegate.ParameterMap.define({type: OSF.DDA.EventDispId.dispidDialogMessageReceivedEvent});
|
|
OSF.OUtil.augmentList(OSF.DDA.EventDescriptors,{DialogMessageReceivedEvent: "DialogMessageReceivedEvent"});
|
|
OSF.OUtil.augmentList(Microsoft.Office.WebExtension.EventType,{
|
|
DialogMessageReceived: "dialogMessageReceived",
|
|
DialogEventReceived: "dialogEventReceived"
|
|
});
|
|
OSF.OUtil.augmentList(OSF.DDA.PropertyDescriptors,{
|
|
MessageType: "messageType",
|
|
MessageContent: "messageContent"
|
|
});
|
|
OSF.DDA.DialogEventType={};
|
|
OSF.OUtil.augmentList(OSF.DDA.DialogEventType,{
|
|
DialogClosed: "dialogClosed",
|
|
NavigationFailed: "naviationFailed"
|
|
});
|
|
OSF.DDA.AsyncMethodNames.addNames({
|
|
DisplayDialogAsync: "displayDialogAsync",
|
|
CloseAsync: "close"
|
|
});
|
|
OSF.DDA.SyncMethodNames.addNames({
|
|
MessageParent: "messageParent",
|
|
AddMessageHandler: "addEventHandler"
|
|
});
|
|
OSF.DDA.UI.ParentUI=function OSF_DDA_ParentUI()
|
|
{
|
|
var eventDispatch=new OSF.EventDispatch([Microsoft.Office.WebExtension.EventType.DialogMessageReceived,Microsoft.Office.WebExtension.EventType.DialogEventReceived]);
|
|
var openDialogName=OSF.DDA.AsyncMethodNames.DisplayDialogAsync.displayName;
|
|
var target=this;
|
|
if(!target[openDialogName])
|
|
OSF.OUtil.defineEnumerableProperty(target,openDialogName,{value: function()
|
|
{
|
|
var openDialog=OSF._OfficeAppFactory.getHostFacade()[OSF.DDA.DispIdHost.Methods.OpenDialog];
|
|
openDialog(arguments,eventDispatch,target)
|
|
}});
|
|
OSF.OUtil.finalizeProperties(this)
|
|
};
|
|
OSF.DDA.UI.ChildUI=function OSF_DDA_ChildUI()
|
|
{
|
|
var messageParentName=OSF.DDA.SyncMethodNames.MessageParent.displayName;
|
|
var target=this;
|
|
if(!target[messageParentName])
|
|
OSF.OUtil.defineEnumerableProperty(target,messageParentName,{value: function()
|
|
{
|
|
var messageParent=OSF._OfficeAppFactory.getHostFacade()[OSF.DDA.DispIdHost.Methods.MessageParent];
|
|
return messageParent(arguments,target)
|
|
}});
|
|
OSF.OUtil.finalizeProperties(this)
|
|
};
|
|
OSF.DialogHandler=function OSF_DialogHandler(){};
|
|
OSF.DDA.DialogEventArgs=function OSF_DDA_DialogEventArgs(message)
|
|
{
|
|
if(message[OSF.DDA.PropertyDescriptors.MessageType]==OSF.DialogMessageType.DialogMessageReceived)
|
|
OSF.OUtil.defineEnumerableProperties(this,{
|
|
type: {value: Microsoft.Office.WebExtension.EventType.DialogMessageReceived},
|
|
message: {value: message[OSF.DDA.PropertyDescriptors.MessageContent]}
|
|
});
|
|
else
|
|
OSF.OUtil.defineEnumerableProperties(this,{
|
|
type: {value: Microsoft.Office.WebExtension.EventType.DialogEventReceived},
|
|
error: {value: message[OSF.DDA.PropertyDescriptors.MessageType]}
|
|
})
|
|
};
|
|
OSF.DDA.AsyncMethodCalls.define({
|
|
method: OSF.DDA.AsyncMethodNames.DisplayDialogAsync,
|
|
requiredArguments: [{
|
|
name: Microsoft.Office.WebExtension.Parameters.Url,
|
|
types: ["string"]
|
|
}],
|
|
supportedOptions: [{
|
|
name: Microsoft.Office.WebExtension.Parameters.Width,
|
|
value: {
|
|
types: ["number"],
|
|
defaultValue: 99
|
|
}
|
|
},{
|
|
name: Microsoft.Office.WebExtension.Parameters.Height,
|
|
value: {
|
|
types: ["number"],
|
|
defaultValue: 99
|
|
}
|
|
},{
|
|
name: Microsoft.Office.WebExtension.Parameters.RequireHTTPs,
|
|
value: {
|
|
types: ["boolean"],
|
|
defaultValue: true
|
|
}
|
|
},{
|
|
name: Microsoft.Office.WebExtension.Parameters.XFrameDenySafe,
|
|
value: {
|
|
types: ["boolean"],
|
|
defaultValue: true
|
|
}
|
|
}],
|
|
privateStateCallbacks: [],
|
|
onSucceeded: function(args, caller, callArgs)
|
|
{
|
|
var targetId=args[Microsoft.Office.WebExtension.Parameters.Id];
|
|
var eventDispatch=args[Microsoft.Office.WebExtension.Parameters.Data];
|
|
var dialog=new OSF.DialogHandler;
|
|
var closeDialog=OSF.DDA.AsyncMethodNames.CloseAsync.displayName;
|
|
OSF.OUtil.defineEnumerableProperty(dialog,closeDialog,{value: function()
|
|
{
|
|
var closeDialogfunction=OSF._OfficeAppFactory.getHostFacade()[OSF.DDA.DispIdHost.Methods.CloseDialog];
|
|
closeDialogfunction(arguments,targetId,eventDispatch,dialog)
|
|
}});
|
|
var addHandler=OSF.DDA.SyncMethodNames.AddMessageHandler.displayName;
|
|
OSF.OUtil.defineEnumerableProperty(dialog,addHandler,{value: function()
|
|
{
|
|
var syncMethodCall=OSF.DDA.SyncMethodCalls[OSF.DDA.SyncMethodNames.AddMessageHandler.id];
|
|
var callArgs=syncMethodCall.verifyAndExtractCall(arguments,dialog,eventDispatch);
|
|
var eventType=callArgs[Microsoft.Office.WebExtension.Parameters.EventType];
|
|
var handler=callArgs[Microsoft.Office.WebExtension.Parameters.Handler];
|
|
return eventDispatch.addEventHandlerAndFireQueuedEvent(eventType,handler)
|
|
}});
|
|
return dialog
|
|
},
|
|
checkCallArgs: function(callArgs, caller, stateInfo)
|
|
{
|
|
if(callArgs[Microsoft.Office.WebExtension.Parameters.Width] <=0)
|
|
callArgs[Microsoft.Office.WebExtension.Parameters.Width]=1;
|
|
if(callArgs[Microsoft.Office.WebExtension.Parameters.Width] > 100)
|
|
callArgs[Microsoft.Office.WebExtension.Parameters.Width]=99;
|
|
if(callArgs[Microsoft.Office.WebExtension.Parameters.Height] <=0)
|
|
callArgs[Microsoft.Office.WebExtension.Parameters.Height]=1;
|
|
if(callArgs[Microsoft.Office.WebExtension.Parameters.Height] > 100)
|
|
callArgs[Microsoft.Office.WebExtension.Parameters.Height]=99;
|
|
return callArgs
|
|
}
|
|
});
|
|
OSF.DDA.AsyncMethodCalls.define({
|
|
method: OSF.DDA.AsyncMethodNames.CloseAsync,
|
|
requiredArguments: [],
|
|
supportedOptions: [],
|
|
privateStateCallbacks: []
|
|
});
|
|
OSF.DDA.SyncMethodCalls.define({
|
|
method: OSF.DDA.SyncMethodNames.MessageParent,
|
|
requiredArguments: [{
|
|
name: Microsoft.Office.WebExtension.Parameters.MessageToParent,
|
|
types: ["string","number","boolean"]
|
|
}],
|
|
supportedOptions: []
|
|
});
|
|
OSF.DDA.SyncMethodCalls.define({
|
|
method: OSF.DDA.SyncMethodNames.AddMessageHandler,
|
|
requiredArguments: [{
|
|
name: Microsoft.Office.WebExtension.Parameters.EventType,
|
|
"enum": Microsoft.Office.WebExtension.EventType,
|
|
verify: function(eventType, caller, eventDispatch)
|
|
{
|
|
return eventDispatch.supportsEvent(eventType)
|
|
}
|
|
},{
|
|
name: Microsoft.Office.WebExtension.Parameters.Handler,
|
|
types: ["function"]
|
|
}],
|
|
supportedOptions: []
|
|
});
|
|
OSF.DDA.SafeArray.Delegate.messageParent=function OSF_DDA_SafeArray_Delegate$MessageParent(args)
|
|
{
|
|
try
|
|
{
|
|
if(args.onCalling)
|
|
args.onCalling();
|
|
var startTime=(new Date).getTime();
|
|
var result=OSF.ClientHostController.messageParent(args.hostCallArgs);
|
|
if(args.onReceiving)
|
|
args.onReceiving();
|
|
if(OSF.AppTelemetry)
|
|
OSF.AppTelemetry.onMethodDone(args.dispId,args.hostCallArgs,Math.abs((new Date).getTime() - startTime),result);
|
|
return result
|
|
}
|
|
catch(ex)
|
|
{
|
|
return OSF.DDA.SafeArray.Delegate._onExceptionSyncMethod(ex)
|
|
}
|
|
};
|
|
OSF.DDA.SafeArray.Delegate.ParameterMap.define({
|
|
type: OSF.DDA.EventDispId.dispidDialogMessageReceivedEvent,
|
|
fromHost: [{
|
|
name: OSF.DDA.EventDescriptors.DialogMessageReceivedEvent,
|
|
value: OSF.DDA.SafeArray.Delegate.ParameterMap.self
|
|
}],
|
|
isComplexType: true
|
|
});
|
|
OSF.DDA.SafeArray.Delegate.ParameterMap.define({
|
|
type: OSF.DDA.EventDescriptors.DialogMessageReceivedEvent,
|
|
fromHost: [{
|
|
name: OSF.DDA.PropertyDescriptors.MessageType,
|
|
value: 0
|
|
},{
|
|
name: OSF.DDA.PropertyDescriptors.MessageContent,
|
|
value: 1
|
|
}],
|
|
isComplexType: true
|
|
});
|
|
var OSFLog;
|
|
(function(OSFLog)
|
|
{
|
|
var BaseUsageData=function()
|
|
{
|
|
function BaseUsageData(table)
|
|
{
|
|
this._table=table;
|
|
this._fields={}
|
|
}
|
|
Object.defineProperty(BaseUsageData.prototype,"Fields",{
|
|
get: function()
|
|
{
|
|
return this._fields
|
|
},
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(BaseUsageData.prototype,"Table",{
|
|
get: function()
|
|
{
|
|
return this._table
|
|
},
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
BaseUsageData.prototype.SerializeFields=function(){};
|
|
BaseUsageData.prototype.SetSerializedField=function(key, value)
|
|
{
|
|
if(typeof value !=="undefined" && value !==null)
|
|
this._serializedFields[key]=value.toString()
|
|
};
|
|
BaseUsageData.prototype.SerializeRow=function()
|
|
{
|
|
this._serializedFields={};
|
|
this.SetSerializedField("Table",this._table);
|
|
this.SerializeFields();
|
|
return JSON.stringify(this._serializedFields)
|
|
};
|
|
return BaseUsageData
|
|
}();
|
|
OSFLog.BaseUsageData=BaseUsageData;
|
|
var AppActivatedUsageData=function(_super)
|
|
{
|
|
__extends(AppActivatedUsageData,_super);
|
|
function AppActivatedUsageData()
|
|
{
|
|
_super.call(this,"AppActivated")
|
|
}
|
|
Object.defineProperty(AppActivatedUsageData.prototype,"CorrelationId",{
|
|
get: function()
|
|
{
|
|
return this.Fields["CorrelationId"]
|
|
},
|
|
set: function(value)
|
|
{
|
|
this.Fields["CorrelationId"]=value
|
|
},
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(AppActivatedUsageData.prototype,"SessionId",{
|
|
get: function()
|
|
{
|
|
return this.Fields["SessionId"]
|
|
},
|
|
set: function(value)
|
|
{
|
|
this.Fields["SessionId"]=value
|
|
},
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(AppActivatedUsageData.prototype,"AppId",{
|
|
get: function()
|
|
{
|
|
return this.Fields["AppId"]
|
|
},
|
|
set: function(value)
|
|
{
|
|
this.Fields["AppId"]=value
|
|
},
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(AppActivatedUsageData.prototype,"AppInstanceId",{
|
|
get: function()
|
|
{
|
|
return this.Fields["AppInstanceId"]
|
|
},
|
|
set: function(value)
|
|
{
|
|
this.Fields["AppInstanceId"]=value
|
|
},
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(AppActivatedUsageData.prototype,"AppURL",{
|
|
get: function()
|
|
{
|
|
return this.Fields["AppURL"]
|
|
},
|
|
set: function(value)
|
|
{
|
|
this.Fields["AppURL"]=value
|
|
},
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(AppActivatedUsageData.prototype,"AssetId",{
|
|
get: function()
|
|
{
|
|
return this.Fields["AssetId"]
|
|
},
|
|
set: function(value)
|
|
{
|
|
this.Fields["AssetId"]=value
|
|
},
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(AppActivatedUsageData.prototype,"Browser",{
|
|
get: function()
|
|
{
|
|
return this.Fields["Browser"]
|
|
},
|
|
set: function(value)
|
|
{
|
|
this.Fields["Browser"]=value
|
|
},
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(AppActivatedUsageData.prototype,"UserId",{
|
|
get: function()
|
|
{
|
|
return this.Fields["UserId"]
|
|
},
|
|
set: function(value)
|
|
{
|
|
this.Fields["UserId"]=value
|
|
},
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(AppActivatedUsageData.prototype,"Host",{
|
|
get: function()
|
|
{
|
|
return this.Fields["Host"]
|
|
},
|
|
set: function(value)
|
|
{
|
|
this.Fields["Host"]=value
|
|
},
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(AppActivatedUsageData.prototype,"HostVersion",{
|
|
get: function()
|
|
{
|
|
return this.Fields["HostVersion"]
|
|
},
|
|
set: function(value)
|
|
{
|
|
this.Fields["HostVersion"]=value
|
|
},
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(AppActivatedUsageData.prototype,"ClientId",{
|
|
get: function()
|
|
{
|
|
return this.Fields["ClientId"]
|
|
},
|
|
set: function(value)
|
|
{
|
|
this.Fields["ClientId"]=value
|
|
},
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(AppActivatedUsageData.prototype,"AppSizeWidth",{
|
|
get: function()
|
|
{
|
|
return this.Fields["AppSizeWidth"]
|
|
},
|
|
set: function(value)
|
|
{
|
|
this.Fields["AppSizeWidth"]=value
|
|
},
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(AppActivatedUsageData.prototype,"AppSizeHeight",{
|
|
get: function()
|
|
{
|
|
return this.Fields["AppSizeHeight"]
|
|
},
|
|
set: function(value)
|
|
{
|
|
this.Fields["AppSizeHeight"]=value
|
|
},
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
AppActivatedUsageData.prototype.SerializeFields=function()
|
|
{
|
|
this.SetSerializedField("CorrelationId",this.CorrelationId);
|
|
this.SetSerializedField("SessionId",this.SessionId);
|
|
this.SetSerializedField("AppId",this.AppId);
|
|
this.SetSerializedField("AppInstanceId",this.AppInstanceId);
|
|
this.SetSerializedField("AppURL",this.AppURL);
|
|
this.SetSerializedField("AssetId",this.AssetId);
|
|
this.SetSerializedField("Browser",this.Browser);
|
|
this.SetSerializedField("UserId",this.UserId);
|
|
this.SetSerializedField("Host",this.Host);
|
|
this.SetSerializedField("HostVersion",this.HostVersion);
|
|
this.SetSerializedField("ClientId",this.ClientId);
|
|
this.SetSerializedField("AppSizeWidth",this.AppSizeWidth);
|
|
this.SetSerializedField("AppSizeHeight",this.AppSizeHeight)
|
|
};
|
|
return AppActivatedUsageData
|
|
}(BaseUsageData);
|
|
OSFLog.AppActivatedUsageData=AppActivatedUsageData;
|
|
var ScriptLoadUsageData=function(_super)
|
|
{
|
|
__extends(ScriptLoadUsageData,_super);
|
|
function ScriptLoadUsageData()
|
|
{
|
|
_super.call(this,"ScriptLoad")
|
|
}
|
|
Object.defineProperty(ScriptLoadUsageData.prototype,"CorrelationId",{
|
|
get: function()
|
|
{
|
|
return this.Fields["CorrelationId"]
|
|
},
|
|
set: function(value)
|
|
{
|
|
this.Fields["CorrelationId"]=value
|
|
},
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(ScriptLoadUsageData.prototype,"SessionId",{
|
|
get: function()
|
|
{
|
|
return this.Fields["SessionId"]
|
|
},
|
|
set: function(value)
|
|
{
|
|
this.Fields["SessionId"]=value
|
|
},
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(ScriptLoadUsageData.prototype,"ScriptId",{
|
|
get: function()
|
|
{
|
|
return this.Fields["ScriptId"]
|
|
},
|
|
set: function(value)
|
|
{
|
|
this.Fields["ScriptId"]=value
|
|
},
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(ScriptLoadUsageData.prototype,"StartTime",{
|
|
get: function()
|
|
{
|
|
return this.Fields["StartTime"]
|
|
},
|
|
set: function(value)
|
|
{
|
|
this.Fields["StartTime"]=value
|
|
},
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(ScriptLoadUsageData.prototype,"ResponseTime",{
|
|
get: function()
|
|
{
|
|
return this.Fields["ResponseTime"]
|
|
},
|
|
set: function(value)
|
|
{
|
|
this.Fields["ResponseTime"]=value
|
|
},
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
ScriptLoadUsageData.prototype.SerializeFields=function()
|
|
{
|
|
this.SetSerializedField("CorrelationId",this.CorrelationId);
|
|
this.SetSerializedField("SessionId",this.SessionId);
|
|
this.SetSerializedField("ScriptId",this.ScriptId);
|
|
this.SetSerializedField("StartTime",this.StartTime);
|
|
this.SetSerializedField("ResponseTime",this.ResponseTime)
|
|
};
|
|
return ScriptLoadUsageData
|
|
}(BaseUsageData);
|
|
OSFLog.ScriptLoadUsageData=ScriptLoadUsageData;
|
|
var AppClosedUsageData=function(_super)
|
|
{
|
|
__extends(AppClosedUsageData,_super);
|
|
function AppClosedUsageData()
|
|
{
|
|
_super.call(this,"AppClosed")
|
|
}
|
|
Object.defineProperty(AppClosedUsageData.prototype,"CorrelationId",{
|
|
get: function()
|
|
{
|
|
return this.Fields["CorrelationId"]
|
|
},
|
|
set: function(value)
|
|
{
|
|
this.Fields["CorrelationId"]=value
|
|
},
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(AppClosedUsageData.prototype,"SessionId",{
|
|
get: function()
|
|
{
|
|
return this.Fields["SessionId"]
|
|
},
|
|
set: function(value)
|
|
{
|
|
this.Fields["SessionId"]=value
|
|
},
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(AppClosedUsageData.prototype,"FocusTime",{
|
|
get: function()
|
|
{
|
|
return this.Fields["FocusTime"]
|
|
},
|
|
set: function(value)
|
|
{
|
|
this.Fields["FocusTime"]=value
|
|
},
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(AppClosedUsageData.prototype,"AppSizeFinalWidth",{
|
|
get: function()
|
|
{
|
|
return this.Fields["AppSizeFinalWidth"]
|
|
},
|
|
set: function(value)
|
|
{
|
|
this.Fields["AppSizeFinalWidth"]=value
|
|
},
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(AppClosedUsageData.prototype,"AppSizeFinalHeight",{
|
|
get: function()
|
|
{
|
|
return this.Fields["AppSizeFinalHeight"]
|
|
},
|
|
set: function(value)
|
|
{
|
|
this.Fields["AppSizeFinalHeight"]=value
|
|
},
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(AppClosedUsageData.prototype,"OpenTime",{
|
|
get: function()
|
|
{
|
|
return this.Fields["OpenTime"]
|
|
},
|
|
set: function(value)
|
|
{
|
|
this.Fields["OpenTime"]=value
|
|
},
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(AppClosedUsageData.prototype,"CloseMethod",{
|
|
get: function()
|
|
{
|
|
return this.Fields["CloseMethod"]
|
|
},
|
|
set: function(value)
|
|
{
|
|
this.Fields["CloseMethod"]=value
|
|
},
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
AppClosedUsageData.prototype.SerializeFields=function()
|
|
{
|
|
this.SetSerializedField("CorrelationId",this.CorrelationId);
|
|
this.SetSerializedField("SessionId",this.SessionId);
|
|
this.SetSerializedField("FocusTime",this.FocusTime);
|
|
this.SetSerializedField("AppSizeFinalWidth",this.AppSizeFinalWidth);
|
|
this.SetSerializedField("AppSizeFinalHeight",this.AppSizeFinalHeight);
|
|
this.SetSerializedField("OpenTime",this.OpenTime);
|
|
this.SetSerializedField("CloseMethod",this.CloseMethod)
|
|
};
|
|
return AppClosedUsageData
|
|
}(BaseUsageData);
|
|
OSFLog.AppClosedUsageData=AppClosedUsageData;
|
|
var APIUsageUsageData=function(_super)
|
|
{
|
|
__extends(APIUsageUsageData,_super);
|
|
function APIUsageUsageData()
|
|
{
|
|
_super.call(this,"APIUsage")
|
|
}
|
|
Object.defineProperty(APIUsageUsageData.prototype,"CorrelationId",{
|
|
get: function()
|
|
{
|
|
return this.Fields["CorrelationId"]
|
|
},
|
|
set: function(value)
|
|
{
|
|
this.Fields["CorrelationId"]=value
|
|
},
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(APIUsageUsageData.prototype,"SessionId",{
|
|
get: function()
|
|
{
|
|
return this.Fields["SessionId"]
|
|
},
|
|
set: function(value)
|
|
{
|
|
this.Fields["SessionId"]=value
|
|
},
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(APIUsageUsageData.prototype,"APIType",{
|
|
get: function()
|
|
{
|
|
return this.Fields["APIType"]
|
|
},
|
|
set: function(value)
|
|
{
|
|
this.Fields["APIType"]=value
|
|
},
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(APIUsageUsageData.prototype,"APIID",{
|
|
get: function()
|
|
{
|
|
return this.Fields["APIID"]
|
|
},
|
|
set: function(value)
|
|
{
|
|
this.Fields["APIID"]=value
|
|
},
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(APIUsageUsageData.prototype,"Parameters",{
|
|
get: function()
|
|
{
|
|
return this.Fields["Parameters"]
|
|
},
|
|
set: function(value)
|
|
{
|
|
this.Fields["Parameters"]=value
|
|
},
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(APIUsageUsageData.prototype,"ResponseTime",{
|
|
get: function()
|
|
{
|
|
return this.Fields["ResponseTime"]
|
|
},
|
|
set: function(value)
|
|
{
|
|
this.Fields["ResponseTime"]=value
|
|
},
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(APIUsageUsageData.prototype,"ErrorType",{
|
|
get: function()
|
|
{
|
|
return this.Fields["ErrorType"]
|
|
},
|
|
set: function(value)
|
|
{
|
|
this.Fields["ErrorType"]=value
|
|
},
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
APIUsageUsageData.prototype.SerializeFields=function()
|
|
{
|
|
this.SetSerializedField("CorrelationId",this.CorrelationId);
|
|
this.SetSerializedField("SessionId",this.SessionId);
|
|
this.SetSerializedField("APIType",this.APIType);
|
|
this.SetSerializedField("APIID",this.APIID);
|
|
this.SetSerializedField("Parameters",this.Parameters);
|
|
this.SetSerializedField("ResponseTime",this.ResponseTime);
|
|
this.SetSerializedField("ErrorType",this.ErrorType)
|
|
};
|
|
return APIUsageUsageData
|
|
}(BaseUsageData);
|
|
OSFLog.APIUsageUsageData=APIUsageUsageData;
|
|
var AppInitializationUsageData=function(_super)
|
|
{
|
|
__extends(AppInitializationUsageData,_super);
|
|
function AppInitializationUsageData()
|
|
{
|
|
_super.call(this,"AppInitialization")
|
|
}
|
|
Object.defineProperty(AppInitializationUsageData.prototype,"CorrelationId",{
|
|
get: function()
|
|
{
|
|
return this.Fields["CorrelationId"]
|
|
},
|
|
set: function(value)
|
|
{
|
|
this.Fields["CorrelationId"]=value
|
|
},
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(AppInitializationUsageData.prototype,"SessionId",{
|
|
get: function()
|
|
{
|
|
return this.Fields["SessionId"]
|
|
},
|
|
set: function(value)
|
|
{
|
|
this.Fields["SessionId"]=value
|
|
},
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(AppInitializationUsageData.prototype,"SuccessCode",{
|
|
get: function()
|
|
{
|
|
return this.Fields["SuccessCode"]
|
|
},
|
|
set: function(value)
|
|
{
|
|
this.Fields["SuccessCode"]=value
|
|
},
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(AppInitializationUsageData.prototype,"Message",{
|
|
get: function()
|
|
{
|
|
return this.Fields["Message"]
|
|
},
|
|
set: function(value)
|
|
{
|
|
this.Fields["Message"]=value
|
|
},
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
AppInitializationUsageData.prototype.SerializeFields=function()
|
|
{
|
|
this.SetSerializedField("CorrelationId",this.CorrelationId);
|
|
this.SetSerializedField("SessionId",this.SessionId);
|
|
this.SetSerializedField("SuccessCode",this.SuccessCode);
|
|
this.SetSerializedField("Message",this.Message)
|
|
};
|
|
return AppInitializationUsageData
|
|
}(BaseUsageData);
|
|
OSFLog.AppInitializationUsageData=AppInitializationUsageData
|
|
})(OSFLog || (OSFLog={}));
|
|
var Logger;
|
|
(function(Logger)
|
|
{
|
|
"use strict";
|
|
(function(TraceLevel)
|
|
{
|
|
TraceLevel[TraceLevel["info"]=0]="info";
|
|
TraceLevel[TraceLevel["warning"]=1]="warning";
|
|
TraceLevel[TraceLevel["error"]=2]="error"
|
|
})(Logger.TraceLevel || (Logger.TraceLevel={}));
|
|
var TraceLevel=Logger.TraceLevel;
|
|
(function(SendFlag)
|
|
{
|
|
SendFlag[SendFlag["none"]=0]="none";
|
|
SendFlag[SendFlag["flush"]=1]="flush"
|
|
})(Logger.SendFlag || (Logger.SendFlag={}));
|
|
var SendFlag=Logger.SendFlag;
|
|
function allowUploadingData()
|
|
{
|
|
if(OSF.Logger && OSF.Logger.ulsEndpoint)
|
|
OSF.Logger.ulsEndpoint.loadProxyFrame()
|
|
}
|
|
Logger.allowUploadingData=allowUploadingData;
|
|
function sendLog(traceLevel, message, flag)
|
|
{
|
|
if(OSF.Logger && OSF.Logger.ulsEndpoint)
|
|
{
|
|
var jsonObj={
|
|
traceLevel: traceLevel,
|
|
message: message,
|
|
flag: flag,
|
|
internalLog: true
|
|
};
|
|
var logs=JSON.stringify(jsonObj);
|
|
OSF.Logger.ulsEndpoint.writeLog(logs)
|
|
}
|
|
}
|
|
Logger.sendLog=sendLog;
|
|
function creatULSEndpoint()
|
|
{
|
|
try
|
|
{
|
|
return new ULSEndpointProxy
|
|
}
|
|
catch(e)
|
|
{
|
|
return null
|
|
}
|
|
}
|
|
var ULSEndpointProxy=function()
|
|
{
|
|
function ULSEndpointProxy()
|
|
{
|
|
var _this=this;
|
|
this.proxyFrame=null;
|
|
this.telemetryEndPoint="https://telemetryservice.firstpartyapps.oaspapps.com/telemetryservice/telemetryproxy.html";
|
|
this.buffer=[];
|
|
this.proxyFrameReady=false;
|
|
OSF.OUtil.addEventListener(window,"message",function(e)
|
|
{
|
|
return _this.tellProxyFrameReady(e)
|
|
});
|
|
setTimeout(function()
|
|
{
|
|
_this.loadProxyFrame()
|
|
},3e3)
|
|
}
|
|
ULSEndpointProxy.prototype.writeLog=function(log)
|
|
{
|
|
if(this.proxyFrameReady===true)
|
|
this.proxyFrame.contentWindow.postMessage(log,"*");
|
|
else if(this.buffer.length < 128)
|
|
this.buffer.push(log)
|
|
};
|
|
ULSEndpointProxy.prototype.loadProxyFrame=function()
|
|
{
|
|
if(this.proxyFrame==null)
|
|
{
|
|
this.proxyFrame=document.createElement("iframe");
|
|
this.proxyFrame.setAttribute("style","display:none");
|
|
this.proxyFrame.setAttribute("src",this.telemetryEndPoint);
|
|
document.head.appendChild(this.proxyFrame)
|
|
}
|
|
};
|
|
ULSEndpointProxy.prototype.tellProxyFrameReady=function(e)
|
|
{
|
|
var _this=this;
|
|
if(e.data==="ProxyFrameReadyToLog")
|
|
{
|
|
this.proxyFrameReady=true;
|
|
for(var i=0; i < this.buffer.length; i++)
|
|
this.writeLog(this.buffer[i]);
|
|
this.buffer.length=0;
|
|
OSF.OUtil.removeEventListener(window,"message",function(e)
|
|
{
|
|
return _this.tellProxyFrameReady(e)
|
|
})
|
|
}
|
|
else if(e.data==="ProxyFrameReadyToInit")
|
|
{
|
|
var initJson={
|
|
appName: "Office APPs",
|
|
sessionId: OSF.OUtil.Guid.generateNewGuid()
|
|
};
|
|
var initStr=JSON.stringify(initJson);
|
|
this.proxyFrame.contentWindow.postMessage(initStr,"*")
|
|
}
|
|
};
|
|
return ULSEndpointProxy
|
|
}();
|
|
if(!OSF.Logger)
|
|
OSF.Logger=Logger;
|
|
Logger.ulsEndpoint=creatULSEndpoint()
|
|
})(Logger || (Logger={}));
|
|
var OSFAppTelemetry;
|
|
(function(OSFAppTelemetry)
|
|
{
|
|
"use strict";
|
|
var appInfo;
|
|
var sessionId=OSF.OUtil.Guid.generateNewGuid();
|
|
var osfControlAppCorrelationId="";
|
|
var AppInfo=function()
|
|
{
|
|
function AppInfo(){}
|
|
return AppInfo
|
|
}();
|
|
var Event=function()
|
|
{
|
|
function Event(name, handler)
|
|
{
|
|
this.name=name;
|
|
this.handler=handler
|
|
}
|
|
return Event
|
|
}();
|
|
var AppStorage=function()
|
|
{
|
|
function AppStorage()
|
|
{
|
|
this.clientIDKey="Office API client";
|
|
this.logIdSetKey="Office App Log Id Set"
|
|
}
|
|
AppStorage.prototype.getClientId=function()
|
|
{
|
|
var clientId=this.getValue(this.clientIDKey);
|
|
if(!clientId || clientId.length <=0 || clientId.length > 40)
|
|
{
|
|
clientId=OSF.OUtil.Guid.generateNewGuid();
|
|
this.setValue(this.clientIDKey,clientId)
|
|
}
|
|
return clientId
|
|
};
|
|
AppStorage.prototype.saveLog=function(logId, log)
|
|
{
|
|
var logIdSet=this.getValue(this.logIdSetKey);
|
|
logIdSet=(logIdSet && logIdSet.length > 0 ? logIdSet+";" : "")+logId;
|
|
this.setValue(this.logIdSetKey,logIdSet);
|
|
this.setValue(logId,log)
|
|
};
|
|
AppStorage.prototype.enumerateLog=function(callback, clean)
|
|
{
|
|
var logIdSet=this.getValue(this.logIdSetKey);
|
|
if(logIdSet)
|
|
{
|
|
var ids=logIdSet.split(";");
|
|
for(var id in ids)
|
|
{
|
|
var logId=ids[id];
|
|
var log=this.getValue(logId);
|
|
if(log)
|
|
{
|
|
if(callback)
|
|
callback(logId,log);
|
|
if(clean)
|
|
this.remove(logId)
|
|
}
|
|
}
|
|
if(clean)
|
|
this.remove(this.logIdSetKey)
|
|
}
|
|
};
|
|
AppStorage.prototype.getValue=function(key)
|
|
{
|
|
var osfLocalStorage=OSF.OUtil.getLocalStorage();
|
|
var value="";
|
|
if(osfLocalStorage)
|
|
value=osfLocalStorage.getItem(key);
|
|
return value
|
|
};
|
|
AppStorage.prototype.setValue=function(key, value)
|
|
{
|
|
var osfLocalStorage=OSF.OUtil.getLocalStorage();
|
|
if(osfLocalStorage)
|
|
osfLocalStorage.setItem(key,value)
|
|
};
|
|
AppStorage.prototype.remove=function(key)
|
|
{
|
|
var osfLocalStorage=OSF.OUtil.getLocalStorage();
|
|
if(osfLocalStorage)
|
|
try
|
|
{
|
|
osfLocalStorage.removeItem(key)
|
|
}
|
|
catch(ex){}
|
|
};
|
|
return AppStorage
|
|
}();
|
|
var AppLogger=function()
|
|
{
|
|
function AppLogger(){}
|
|
AppLogger.prototype.LogData=function(data)
|
|
{
|
|
if(!OSF.Logger)
|
|
return;
|
|
OSF.Logger.sendLog(OSF.Logger.TraceLevel.info,data.SerializeRow(),OSF.Logger.SendFlag.none)
|
|
};
|
|
AppLogger.prototype.LogRawData=function(log)
|
|
{
|
|
if(!OSF.Logger)
|
|
return;
|
|
OSF.Logger.sendLog(OSF.Logger.TraceLevel.info,log,OSF.Logger.SendFlag.none)
|
|
};
|
|
return AppLogger
|
|
}();
|
|
function initialize(context)
|
|
{
|
|
if(!OSF.Logger)
|
|
return;
|
|
if(appInfo)
|
|
return;
|
|
appInfo=new AppInfo;
|
|
appInfo.hostVersion=context.get_appVersion();
|
|
appInfo.appId=context.get_id();
|
|
appInfo.host=context.get_appName();
|
|
appInfo.browser=window.navigator.userAgent;
|
|
appInfo.correlationId=context.get_correlationId();
|
|
appInfo.clientId=(new AppStorage).getClientId();
|
|
appInfo.appInstanceId=context.get_appInstanceId();
|
|
if(appInfo.appInstanceId)
|
|
appInfo.appInstanceId=appInfo.appInstanceId.replace(/[{}]/g,"").toLowerCase();
|
|
var index=location.href.indexOf("?");
|
|
appInfo.appURL=index==-1 ? location.href : location.href.substring(0,index);
|
|
(function getUserIdAndAssetIdFromToken(token, appInfo)
|
|
{
|
|
var xmlContent;
|
|
var parser;
|
|
var xmlDoc;
|
|
appInfo.assetId="";
|
|
appInfo.userId="";
|
|
try
|
|
{
|
|
xmlContent=decodeURIComponent(token);
|
|
parser=new DOMParser;
|
|
xmlDoc=parser.parseFromString(xmlContent,"text/xml");
|
|
appInfo.userId=xmlDoc.getElementsByTagName("t")[0].attributes.getNamedItem("cid").nodeValue;
|
|
appInfo.assetId=xmlDoc.getElementsByTagName("t")[0].attributes.getNamedItem("aid").nodeValue
|
|
}
|
|
catch(e){}
|
|
finally
|
|
{
|
|
xmlContent=null;
|
|
xmlDoc=null;
|
|
parser=null
|
|
}
|
|
})(context.get_eToken(),appInfo);
|
|
(function handleLifecycle()
|
|
{
|
|
var startTime=new Date;
|
|
var lastFocus=null;
|
|
var focusTime=0;
|
|
var finished=false;
|
|
var adjustFocusTime=function()
|
|
{
|
|
if(document.hasFocus())
|
|
{
|
|
if(lastFocus==null)
|
|
lastFocus=new Date
|
|
}
|
|
else if(lastFocus)
|
|
{
|
|
focusTime+=Math.abs((new Date).getTime() - lastFocus.getTime());
|
|
lastFocus=null
|
|
}
|
|
};
|
|
var eventList=[];
|
|
eventList.push(new Event("focus",adjustFocusTime));
|
|
eventList.push(new Event("blur",adjustFocusTime));
|
|
eventList.push(new Event("focusout",adjustFocusTime));
|
|
eventList.push(new Event("focusin",adjustFocusTime));
|
|
var exitFunction=function()
|
|
{
|
|
for(var i=0; i < eventList.length; i++)
|
|
OSF.OUtil.removeEventListener(window,eventList[i].name,eventList[i].handler);
|
|
eventList.length=0;
|
|
if(!finished)
|
|
{
|
|
if(document.hasFocus() && lastFocus)
|
|
{
|
|
focusTime+=Math.abs((new Date).getTime() - lastFocus.getTime());
|
|
lastFocus=null
|
|
}
|
|
OSFAppTelemetry.onAppClosed(Math.abs((new Date).getTime() - startTime.getTime()),focusTime);
|
|
finished=true
|
|
}
|
|
};
|
|
eventList.push(new Event("beforeunload",exitFunction));
|
|
eventList.push(new Event("unload",exitFunction));
|
|
for(var i=0; i < eventList.length; i++)
|
|
OSF.OUtil.addEventListener(window,eventList[i].name,eventList[i].handler);
|
|
adjustFocusTime()
|
|
})();
|
|
OSFAppTelemetry.onAppActivated()
|
|
}
|
|
OSFAppTelemetry.initialize=initialize;
|
|
function onAppActivated()
|
|
{
|
|
if(!appInfo)
|
|
return;
|
|
(new AppStorage).enumerateLog(function(id, log)
|
|
{
|
|
return(new AppLogger).LogRawData(log)
|
|
},true);
|
|
var data=new OSFLog.AppActivatedUsageData;
|
|
data.SessionId=sessionId;
|
|
data.AppId=appInfo.appId;
|
|
data.AssetId=appInfo.assetId;
|
|
data.AppURL=appInfo.appURL;
|
|
data.UserId=appInfo.userId;
|
|
data.ClientId=appInfo.clientId;
|
|
data.Browser=appInfo.browser;
|
|
data.Host=appInfo.host;
|
|
data.HostVersion=appInfo.hostVersion;
|
|
data.CorrelationId=appInfo.correlationId;
|
|
data.AppSizeWidth=window.innerWidth;
|
|
data.AppSizeHeight=window.innerHeight;
|
|
data.AppInstanceId=appInfo.appInstanceId;
|
|
(new AppLogger).LogData(data);
|
|
setTimeout(function()
|
|
{
|
|
if(!OSF.Logger)
|
|
return;
|
|
OSF.Logger.allowUploadingData()
|
|
},100)
|
|
}
|
|
OSFAppTelemetry.onAppActivated=onAppActivated;
|
|
function onScriptDone(scriptId, msStartTime, msResponseTime, appCorrelationId)
|
|
{
|
|
var data=new OSFLog.ScriptLoadUsageData;
|
|
data.CorrelationId=appCorrelationId;
|
|
data.SessionId=sessionId;
|
|
data.ScriptId=scriptId;
|
|
data.StartTime=msStartTime;
|
|
data.ResponseTime=msResponseTime;
|
|
(new AppLogger).LogData(data)
|
|
}
|
|
OSFAppTelemetry.onScriptDone=onScriptDone;
|
|
function onCallDone(apiType, id, parameters, msResponseTime, errorType)
|
|
{
|
|
if(!appInfo)
|
|
return;
|
|
var data=new OSFLog.APIUsageUsageData;
|
|
data.CorrelationId=osfControlAppCorrelationId;
|
|
data.SessionId=sessionId;
|
|
data.APIType=apiType;
|
|
data.APIID=id;
|
|
data.Parameters=parameters;
|
|
data.ResponseTime=msResponseTime;
|
|
data.ErrorType=errorType;
|
|
(new AppLogger).LogData(data)
|
|
}
|
|
OSFAppTelemetry.onCallDone=onCallDone;
|
|
function onMethodDone(id, args, msResponseTime, errorType)
|
|
{
|
|
var parameters=null;
|
|
if(args)
|
|
if(typeof args=="number")
|
|
parameters=String(args);
|
|
else if(typeof args==="object")
|
|
for(var index in args)
|
|
{
|
|
if(parameters !==null)
|
|
parameters+=",";
|
|
else
|
|
parameters="";
|
|
if(typeof args[index]=="number")
|
|
parameters+=String(args[index])
|
|
}
|
|
else
|
|
parameters="";
|
|
OSF.AppTelemetry.onCallDone("method",id,parameters,msResponseTime,errorType)
|
|
}
|
|
OSFAppTelemetry.onMethodDone=onMethodDone;
|
|
function onPropertyDone(propertyName, msResponseTime)
|
|
{
|
|
OSF.AppTelemetry.onCallDone("property",-1,propertyName,msResponseTime)
|
|
}
|
|
OSFAppTelemetry.onPropertyDone=onPropertyDone;
|
|
function onEventDone(id, errorType)
|
|
{
|
|
OSF.AppTelemetry.onCallDone("event",id,null,0,errorType)
|
|
}
|
|
OSFAppTelemetry.onEventDone=onEventDone;
|
|
function onRegisterDone(register, id, msResponseTime, errorType)
|
|
{
|
|
OSF.AppTelemetry.onCallDone(register ? "registerevent" : "unregisterevent",id,null,msResponseTime,errorType)
|
|
}
|
|
OSFAppTelemetry.onRegisterDone=onRegisterDone;
|
|
function onAppClosed(openTime, focusTime)
|
|
{
|
|
if(!appInfo)
|
|
return;
|
|
var data=new OSFLog.AppClosedUsageData;
|
|
data.CorrelationId=osfControlAppCorrelationId;
|
|
data.SessionId=sessionId;
|
|
data.FocusTime=focusTime;
|
|
data.OpenTime=openTime;
|
|
data.AppSizeFinalWidth=window.innerWidth;
|
|
data.AppSizeFinalHeight=window.innerHeight;
|
|
(new AppStorage).saveLog(sessionId,data.SerializeRow())
|
|
}
|
|
OSFAppTelemetry.onAppClosed=onAppClosed;
|
|
function setOsfControlAppCorrelationId(correlationId)
|
|
{
|
|
osfControlAppCorrelationId=correlationId
|
|
}
|
|
OSFAppTelemetry.setOsfControlAppCorrelationId=setOsfControlAppCorrelationId;
|
|
function doAppInitializationLogging(isException, message)
|
|
{
|
|
var data=new OSFLog.AppInitializationUsageData;
|
|
data.CorrelationId=osfControlAppCorrelationId;
|
|
data.SessionId=sessionId;
|
|
data.SuccessCode=isException ? 1 : 0;
|
|
data.Message=message;
|
|
(new AppLogger).LogData(data)
|
|
}
|
|
OSFAppTelemetry.doAppInitializationLogging=doAppInitializationLogging;
|
|
function logAppCommonMessage(message)
|
|
{
|
|
doAppInitializationLogging(false,message)
|
|
}
|
|
OSFAppTelemetry.logAppCommonMessage=logAppCommonMessage;
|
|
function logAppException(errorMessage)
|
|
{
|
|
doAppInitializationLogging(true,errorMessage)
|
|
}
|
|
OSFAppTelemetry.logAppException=logAppException;
|
|
OSF.AppTelemetry=OSFAppTelemetry
|
|
})(OSFAppTelemetry || (OSFAppTelemetry={}));
|
|
var OfficeExt;
|
|
(function(OfficeExt)
|
|
{
|
|
var AppCommand;
|
|
(function(AppCommand)
|
|
{
|
|
var AppCommandManager=function()
|
|
{
|
|
function AppCommandManager()
|
|
{
|
|
var _this=this;
|
|
this._pseudoDocument=null;
|
|
this._eventDispatch=null;
|
|
this._processAppCommandInvocation=function(args)
|
|
{
|
|
var verifyResult=_this._verifyManifestCallback(args.callbackName);
|
|
if(verifyResult.errorCode !=OSF.DDA.ErrorCodeManager.errorCodes.ooeSuccess)
|
|
{
|
|
_this._invokeAppCommandCompletedMethod(args.appCommandId,verifyResult.errorCode,"");
|
|
return
|
|
}
|
|
var eventObj=_this._constructEventObjectForCallback(args);
|
|
if(eventObj)
|
|
window.setTimeout(function()
|
|
{
|
|
verifyResult.callback(eventObj)
|
|
},0);
|
|
else
|
|
_this._invokeAppCommandCompletedMethod(args.appCommandId,OSF.DDA.ErrorCodeManager.errorCodes.ooeInternalError,"")
|
|
}
|
|
}
|
|
AppCommandManager.initializeOsfDda=function()
|
|
{
|
|
OSF.DDA.AsyncMethodNames.addNames({AppCommandInvocationCompletedAsync: "appCommandInvocationCompletedAsync"});
|
|
OSF.DDA.AsyncMethodCalls.define({
|
|
method: OSF.DDA.AsyncMethodNames.AppCommandInvocationCompletedAsync,
|
|
requiredArguments: [{
|
|
name: Microsoft.Office.WebExtension.Parameters.Id,
|
|
types: ["string"]
|
|
},{
|
|
name: Microsoft.Office.WebExtension.Parameters.Status,
|
|
types: ["number"]
|
|
},{
|
|
name: Microsoft.Office.WebExtension.Parameters.Data,
|
|
types: ["string"]
|
|
}]
|
|
});
|
|
OSF.OUtil.augmentList(OSF.DDA.EventDescriptors,{AppCommandInvokedEvent: "AppCommandInvokedEvent"});
|
|
OSF.OUtil.augmentList(Microsoft.Office.WebExtension.EventType,{AppCommandInvoked: "appCommandInvoked"});
|
|
OSF.OUtil.setNamespace("AppCommand",OSF.DDA);
|
|
OSF.DDA.AppCommand.AppCommandInvokedEventArgs=OfficeExt.AppCommand.AppCommandInvokedEventArgs
|
|
};
|
|
AppCommandManager.prototype.initializeAndChangeOnce=function(callback)
|
|
{
|
|
AppCommand.registerDdaFacade();
|
|
this._pseudoDocument={};
|
|
OSF.DDA.DispIdHost.addAsyncMethods(this._pseudoDocument,[OSF.DDA.AsyncMethodNames.AppCommandInvocationCompletedAsync,]);
|
|
this._eventDispatch=new OSF.EventDispatch([Microsoft.Office.WebExtension.EventType.AppCommandInvoked,]);
|
|
var onRegisterCompleted=function(result)
|
|
{
|
|
if(callback)
|
|
if(result.status=="succeeded")
|
|
callback(OSF.DDA.ErrorCodeManager.errorCodes.ooeSuccess);
|
|
else
|
|
callback(OSF.DDA.ErrorCodeManager.errorCodes.ooeInternalError)
|
|
};
|
|
OSF.DDA.DispIdHost.addEventSupport(this._pseudoDocument,this._eventDispatch);
|
|
this._pseudoDocument.addHandlerAsync(Microsoft.Office.WebExtension.EventType.AppCommandInvoked,this._processAppCommandInvocation,onRegisterCompleted)
|
|
};
|
|
AppCommandManager.prototype._verifyManifestCallback=function(callbackName)
|
|
{
|
|
var defaultResult={
|
|
callback: null,
|
|
errorCode: OSF.DDA.ErrorCodeManager.errorCodes.ooeInvalidCallback
|
|
};
|
|
callbackName=callbackName.trim();
|
|
try
|
|
{
|
|
var callList=callbackName.split(".");
|
|
var parentObject=window;
|
|
for(var i=0; i < callList.length - 1; i++)
|
|
if(parentObject[callList[i]] && typeof parentObject[callList[i]]=="object")
|
|
parentObject=parentObject[callList[i]];
|
|
else
|
|
return defaultResult;
|
|
var callbackFunc=parentObject[callList[callList.length - 1]];
|
|
if(typeof callbackFunc !="function")
|
|
return defaultResult
|
|
}
|
|
catch(e)
|
|
{
|
|
return defaultResult
|
|
}
|
|
return{
|
|
callback: callbackFunc,
|
|
errorCode: OSF.DDA.ErrorCodeManager.errorCodes.ooeSuccess
|
|
}
|
|
};
|
|
AppCommandManager.prototype._invokeAppCommandCompletedMethod=function(appCommandId, resultCode, data)
|
|
{
|
|
this._pseudoDocument.appCommandInvocationCompletedAsync(appCommandId,resultCode,data)
|
|
};
|
|
AppCommandManager.prototype._constructEventObjectForCallback=function(args)
|
|
{
|
|
var _this=this;
|
|
var eventObj=new AppCommandCallbackEventArgs;
|
|
try
|
|
{
|
|
var jsonData=JSON.parse(args.eventObjStr);
|
|
this._translateEventObjectInternal(jsonData,eventObj);
|
|
Object.defineProperty(eventObj,"completed",{
|
|
value: function()
|
|
{
|
|
var jsonString=JSON.stringify(eventObj);
|
|
_this._invokeAppCommandCompletedMethod(args.appCommandId,OSF.DDA.ErrorCodeManager.errorCodes.ooeSuccess,jsonString)
|
|
},
|
|
enumerable: true
|
|
})
|
|
}
|
|
catch(e)
|
|
{
|
|
eventObj=null
|
|
}
|
|
return eventObj
|
|
};
|
|
AppCommandManager.prototype._translateEventObjectInternal=function(input, output)
|
|
{
|
|
for(var key in input)
|
|
{
|
|
if(!input.hasOwnProperty(key))
|
|
continue;
|
|
var inputChild=input[key];
|
|
if(typeof inputChild=="object" && inputChild !=null)
|
|
{
|
|
OSF.OUtil.defineEnumerableProperty(output,key,{value: {}});
|
|
this._translateEventObjectInternal(inputChild,output[key])
|
|
}
|
|
else
|
|
Object.defineProperty(output,key,{
|
|
value: inputChild,
|
|
enumerable: true,
|
|
writable: true
|
|
})
|
|
}
|
|
};
|
|
AppCommandManager.prototype._constructObjectByTemplate=function(template, input)
|
|
{
|
|
var output={};
|
|
if(!template || !input)
|
|
return output;
|
|
for(var key in template)
|
|
if(template.hasOwnProperty(key))
|
|
{
|
|
output[key]=null;
|
|
if(input[key] !=null)
|
|
{
|
|
var templateChild=template[key];
|
|
var inputChild=input[key];
|
|
var inputChildType=typeof inputChild;
|
|
if(typeof templateChild=="object" && templateChild !=null)
|
|
output[key]=this._constructObjectByTemplate(templateChild,inputChild);
|
|
else if(inputChildType=="number" || inputChildType=="string" || inputChildType=="boolean")
|
|
output[key]=inputChild
|
|
}
|
|
}
|
|
return output
|
|
};
|
|
AppCommandManager.instance=function()
|
|
{
|
|
if(AppCommandManager._instance==null)
|
|
AppCommandManager._instance=new AppCommandManager;
|
|
return AppCommandManager._instance
|
|
};
|
|
AppCommandManager._instance=null;
|
|
return AppCommandManager
|
|
}();
|
|
AppCommand.AppCommandManager=AppCommandManager;
|
|
var AppCommandInvokedEventArgs=function()
|
|
{
|
|
function AppCommandInvokedEventArgs(appCommandId, callbackName, eventObjStr)
|
|
{
|
|
this.type=Microsoft.Office.WebExtension.EventType.AppCommandInvoked;
|
|
this.appCommandId=appCommandId;
|
|
this.callbackName=callbackName;
|
|
this.eventObjStr=eventObjStr
|
|
}
|
|
AppCommandInvokedEventArgs.create=function(eventProperties)
|
|
{
|
|
return new AppCommandInvokedEventArgs(eventProperties[AppCommand.AppCommandInvokedEventEnums.AppCommandId],eventProperties[AppCommand.AppCommandInvokedEventEnums.CallbackName],eventProperties[AppCommand.AppCommandInvokedEventEnums.EventObjStr])
|
|
};
|
|
return AppCommandInvokedEventArgs
|
|
}();
|
|
AppCommand.AppCommandInvokedEventArgs=AppCommandInvokedEventArgs;
|
|
var AppCommandCallbackEventArgs=function()
|
|
{
|
|
function AppCommandCallbackEventArgs(){}
|
|
return AppCommandCallbackEventArgs
|
|
}();
|
|
AppCommand.AppCommandCallbackEventArgs=AppCommandCallbackEventArgs;
|
|
AppCommand.AppCommandInvokedEventEnums={
|
|
AppCommandId: "appCommandId",
|
|
CallbackName: "callbackName",
|
|
EventObjStr: "eventObjStr"
|
|
}
|
|
})(AppCommand=OfficeExt.AppCommand || (OfficeExt.AppCommand={}))
|
|
})(OfficeExt || (OfficeExt={}));
|
|
OfficeExt.AppCommand.AppCommandManager.initializeOsfDda();
|
|
var OfficeExt;
|
|
(function(OfficeExt)
|
|
{
|
|
var AppCommand;
|
|
(function(AppCommand)
|
|
{
|
|
function registerDdaFacade()
|
|
{
|
|
if(OSF.DDA.SafeArray)
|
|
{
|
|
var parameterMap=OSF.DDA.SafeArray.Delegate.ParameterMap;
|
|
parameterMap.define({
|
|
type: OSF.DDA.MethodDispId.dispidAppCommandInvocationCompletedMethod,
|
|
toHost: [{
|
|
name: Microsoft.Office.WebExtension.Parameters.Id,
|
|
value: 0
|
|
},{
|
|
name: Microsoft.Office.WebExtension.Parameters.Status,
|
|
value: 1
|
|
},{
|
|
name: Microsoft.Office.WebExtension.Parameters.Data,
|
|
value: 2
|
|
}]
|
|
});
|
|
parameterMap.define({
|
|
type: OSF.DDA.EventDispId.dispidAppCommandInvokedEvent,
|
|
fromHost: [{
|
|
name: OSF.DDA.EventDescriptors.AppCommandInvokedEvent,
|
|
value: parameterMap.self
|
|
}],
|
|
isComplexType: true
|
|
});
|
|
parameterMap.define({
|
|
type: OSF.DDA.EventDescriptors.AppCommandInvokedEvent,
|
|
fromHost: [{
|
|
name: OfficeExt.AppCommand.AppCommandInvokedEventEnums.AppCommandId,
|
|
value: 0
|
|
},{
|
|
name: OfficeExt.AppCommand.AppCommandInvokedEventEnums.CallbackName,
|
|
value: 1
|
|
},{
|
|
name: OfficeExt.AppCommand.AppCommandInvokedEventEnums.EventObjStr,
|
|
value: 2
|
|
},],
|
|
isComplexType: true
|
|
})
|
|
}
|
|
}
|
|
AppCommand.registerDdaFacade=registerDdaFacade
|
|
})(AppCommand=OfficeExt.AppCommand || (OfficeExt.AppCommand={}))
|
|
})(OfficeExt || (OfficeExt={}));
|
|
var OfficeJsClient_OutlookWin32;
|
|
(function(OfficeJsClient_OutlookWin32)
|
|
{
|
|
function prepareApiSurface(appContext)
|
|
{
|
|
if(appContext.get_isDialog())
|
|
appContext.ui=new OSF.DDA.UI.ChildUI;
|
|
else
|
|
appContext.ui=new OSF.DDA.UI.ParentUI
|
|
}
|
|
OfficeJsClient_OutlookWin32.prepareApiSurface=prepareApiSurface;
|
|
function prepareRightAfterWebExtensionInitialize()
|
|
{
|
|
var appCommandHandler=OfficeExt.AppCommand.AppCommandManager.instance();
|
|
appCommandHandler.initializeAndChangeOnce()
|
|
}
|
|
OfficeJsClient_OutlookWin32.prepareRightAfterWebExtensionInitialize=prepareRightAfterWebExtensionInitialize
|
|
})(OfficeJsClient_OutlookWin32 || (OfficeJsClient_OutlookWin32={}));
|
|
OSF.InitializationHelper.prototype.prepareRightAfterWebExtensionInitialize=function OSF_InitializationHelper$prepareRightAfterWebExtensionInitialize()
|
|
{
|
|
OfficeJsClient_OutlookWin32.prepareRightAfterWebExtensionInitialize()
|
|
};
|
|
OSF.InitializationHelper.prototype.prepareApiSurface=function OSF_InitializationHelper$prepareApiSurface(appContext)
|
|
{
|
|
var license=new OSF.DDA.License(appContext.get_eToken());
|
|
if(appContext.get_appName()==OSF.AppName.OutlookWebApp)
|
|
{
|
|
OSF.WebApp._UpdateLinksForHostAndXdmInfo();
|
|
OSF._OfficeAppFactory.setContext(new OSF.DDA.OutlookContext(appContext,this._settings,license,appContext.appOM))
|
|
}
|
|
else
|
|
{
|
|
OfficeJsClient_OutlookWin32.prepareApiSurface(appContext);
|
|
OSF._OfficeAppFactory.setContext(new OSF.DDA.OutlookContext(appContext,this._settings,license,appContext.appOM,OSF.DDA.Theming ? OSF.DDA.Theming.getOfficeTheme : null,appContext.ui));
|
|
OSF._OfficeAppFactory.setHostFacade(new OSF.DDA.DispIdHost.Facade(OSF.DDA.DispIdHost.getClientDelegateMethods,OSF.DDA.SafeArray.Delegate.ParameterMap))
|
|
}
|
|
};
|
|
OSF.DDA.SettingsManager={
|
|
SerializedSettings: "serializedSettings",
|
|
DateJSONPrefix: "Date(",
|
|
DataJSONSuffix: ")",
|
|
serializeSettings: function OSF_DDA_SettingsManager$serializeSettings(settingsCollection)
|
|
{
|
|
var ret={};
|
|
for(var key in settingsCollection)
|
|
{
|
|
var value=settingsCollection[key];
|
|
try
|
|
{
|
|
if(JSON)
|
|
value=JSON.stringify(value,function dateReplacer(k, v)
|
|
{
|
|
return OSF.OUtil.isDate(this[k]) ? OSF.DDA.SettingsManager.DateJSONPrefix+this[k].getTime()+OSF.DDA.SettingsManager.DataJSONSuffix : v
|
|
});
|
|
else
|
|
value=Sys.Serialization.JavaScriptSerializer.serialize(value);
|
|
ret[key]=value
|
|
}
|
|
catch(ex){}
|
|
}
|
|
return ret
|
|
},
|
|
deserializeSettings: function OSF_DDA_SettingsManager$deserializeSettings(serializedSettings)
|
|
{
|
|
var ret={};
|
|
serializedSettings=serializedSettings || {};
|
|
for(var key in serializedSettings)
|
|
{
|
|
var value=serializedSettings[key];
|
|
try
|
|
{
|
|
if(JSON)
|
|
value=JSON.parse(value,function dateReviver(k, v)
|
|
{
|
|
var d;
|
|
if(typeof v==="string" && v && v.length > 6 && v.slice(0,5)===OSF.DDA.SettingsManager.DateJSONPrefix && v.slice(-1)===OSF.DDA.SettingsManager.DataJSONSuffix)
|
|
{
|
|
d=new Date(parseInt(v.slice(5,-1)));
|
|
if(d)
|
|
return d
|
|
}
|
|
return v
|
|
});
|
|
else
|
|
value=Sys.Serialization.JavaScriptSerializer.deserialize(value,true);
|
|
ret[key]=value
|
|
}
|
|
catch(ex){}
|
|
}
|
|
return ret
|
|
}
|
|
};
|
|
OSF.InitializationHelper.prototype.loadAppSpecificScriptAndCreateOM=function OSF_InitializationHelper$loadAppSpecificScriptAndCreateOM(appContext, appReady, basePath)
|
|
{
|
|
Type.registerNamespace("Microsoft.Office.WebExtension.MailboxEnums");
|
|
Microsoft.Office.WebExtension.MailboxEnums.EntityType={
|
|
MeetingSuggestion: "meetingSuggestion",
|
|
TaskSuggestion: "taskSuggestion",
|
|
Address: "address",
|
|
EmailAddress: "emailAddress",
|
|
Url: "url",
|
|
PhoneNumber: "phoneNumber",
|
|
Contact: "contact",
|
|
FlightReservations: "flightReservations",
|
|
ParcelDeliveries: "parcelDeliveries"
|
|
};
|
|
Microsoft.Office.WebExtension.MailboxEnums.ItemType={
|
|
Message: "message",
|
|
Appointment: "appointment"
|
|
};
|
|
Microsoft.Office.WebExtension.MailboxEnums.ResponseType={
|
|
None: "none",
|
|
Organizer: "organizer",
|
|
Tentative: "tentative",
|
|
Accepted: "accepted",
|
|
Declined: "declined"
|
|
};
|
|
Microsoft.Office.WebExtension.MailboxEnums.RecipientType={
|
|
Other: "other",
|
|
DistributionList: "distributionList",
|
|
User: "user",
|
|
ExternalUser: "externalUser"
|
|
};
|
|
Microsoft.Office.WebExtension.MailboxEnums.AttachmentType={
|
|
File: "file",
|
|
Item: "item",
|
|
Cloud: "cloud"
|
|
};
|
|
Microsoft.Office.WebExtension.MailboxEnums.BodyType={
|
|
Text: "text",
|
|
Html: "html"
|
|
};
|
|
Microsoft.Office.WebExtension.MailboxEnums.ItemNotificationMessageType={
|
|
ProgressIndicator: "progressIndicator",
|
|
InformationalMessage: "informationalMessage",
|
|
ErrorMessage: "errorMessage"
|
|
};
|
|
Microsoft.Office.WebExtension.CoercionType={
|
|
Text: "text",
|
|
Html: "html"
|
|
};
|
|
Microsoft.Office.WebExtension.MailboxEnums.UserProfileType={
|
|
Office365: "office365",
|
|
OutlookCom: "outlookCom",
|
|
Enterprise: "enterprise"
|
|
};
|
|
Microsoft.Office.WebExtension.MailboxEnums.RestVersion={
|
|
v1_0: "v1.0",
|
|
v2_0: "v2.0",
|
|
Beta: "beta"
|
|
};
|
|
Type.registerNamespace("OSF.DDA");
|
|
var OSF=window.OSF || {};
|
|
OSF.DDA=OSF.DDA || {};
|
|
window["OSF"]["DDA"]["OutlookAppOm"]=OSF.DDA.OutlookAppOm=function(officeAppContext, targetWindow, appReadyCallback)
|
|
{
|
|
this.$$d_displayContactCardAsync=Function.createDelegate(this,this.displayContactCardAsync);
|
|
this.$$d_displayNewMessageFormApi=Function.createDelegate(this,this.displayNewMessageFormApi);
|
|
this.$$d__displayNewAppointmentFormApi$p$0=Function.createDelegate(this,this._displayNewAppointmentFormApi$p$0);
|
|
this.$$d_windowOpenOverrideHandler=Function.createDelegate(this,this.windowOpenOverrideHandler);
|
|
this.$$d__getEwsUrl$p$0=Function.createDelegate(this,this._getEwsUrl$p$0);
|
|
this.$$d__getDiagnostics$p$0=Function.createDelegate(this,this._getDiagnostics$p$0);
|
|
this.$$d__getUserProfile$p$0=Function.createDelegate(this,this._getUserProfile$p$0);
|
|
this.$$d__getItem$p$0=Function.createDelegate(this,this._getItem$p$0);
|
|
this.$$d__callAppReadyCallback$p$0=Function.createDelegate(this,this._callAppReadyCallback$p$0);
|
|
this.$$d__getInitialDataResponseHandler$p$0=Function.createDelegate(this,this._getInitialDataResponseHandler$p$0);
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._instance$p=this;
|
|
this._officeAppContext$p$0=officeAppContext;
|
|
this._appReadyCallback$p$0=appReadyCallback;
|
|
var $$t_4=this;
|
|
var stringLoadedCallback=function()
|
|
{
|
|
if(appReadyCallback)
|
|
if(!officeAppContext["get_isDialog"]())
|
|
$$t_4.invokeHostMethod(1,null,$$t_4.$$d__getInitialDataResponseHandler$p$0);
|
|
else
|
|
window.setTimeout($$t_4.$$d__callAppReadyCallback$p$0,0)
|
|
};
|
|
if(this._areStringsLoaded$p$0())
|
|
stringLoadedCallback();
|
|
else
|
|
this._loadLocalizedScript$p$0(stringLoadedCallback)
|
|
};
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._throwOnPropertyAccessForRestrictedPermission$i=function(currentPermissionLevel)
|
|
{
|
|
if(!currentPermissionLevel)
|
|
throw Error.create(window["_u"]["ExtensibilityStrings"]["l_ElevatedPermissionNeeded_Text"]);
|
|
};
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._throwOnOutOfRange$i=function(value, minValue, maxValue, argumentName)
|
|
{
|
|
if(value < minValue || value > maxValue)
|
|
throw Error.argumentOutOfRange(argumentName);
|
|
};
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._getHtmlBody$p=function(data)
|
|
{
|
|
var htmlBody="";
|
|
if("htmlBody" in data)
|
|
{
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._throwOnInvalidHtmlBody$p(data["htmlBody"]);
|
|
htmlBody=data["htmlBody"]
|
|
}
|
|
return htmlBody
|
|
};
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._getAttachments$p=function(data)
|
|
{
|
|
var attachments=[];
|
|
if("attachments" in data)
|
|
{
|
|
attachments=data["attachments"];
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._throwOnInvalidAttachmentsArray$p(attachments)
|
|
}
|
|
return attachments
|
|
};
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._getOptionsAndCallback$p=function(data)
|
|
{
|
|
var args=[];
|
|
if("options" in data)
|
|
args[0]=data["options"];
|
|
if("callback" in data)
|
|
args[args["length"]]=data["callback"];
|
|
return args
|
|
};
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._createAttachmentsDataForHost$p=function(attachments)
|
|
{
|
|
var attachmentsData=new Array(0);
|
|
if(Array.isInstanceOfType(attachments))
|
|
for(var i=0; i < attachments["length"]; i++)
|
|
if(Object.isInstanceOfType(attachments[i]))
|
|
{
|
|
var attachment=attachments[i];
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._throwOnInvalidAttachment$p(attachment);
|
|
attachmentsData[i]=window["OSF"]["DDA"]["OutlookAppOm"]._createAttachmentData$p(attachment)
|
|
}
|
|
else
|
|
throw Error.argument("attachments");
|
|
return attachmentsData
|
|
};
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._throwOnInvalidHtmlBody$p=function(htmlBody)
|
|
{
|
|
if(!String.isInstanceOfType(htmlBody))
|
|
throw Error.argument("htmlBody");
|
|
if($h.ScriptHelpers.isNullOrUndefined(htmlBody))
|
|
throw Error.argument("htmlBody");
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._throwOnOutOfRange$i(htmlBody["length"],0,window["OSF"]["DDA"]["OutlookAppOm"].maxBodyLength,"htmlBody")
|
|
};
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._throwOnInvalidAttachmentsArray$p=function(attachments)
|
|
{
|
|
if(!Array.isInstanceOfType(attachments))
|
|
throw Error.argument("attachments");
|
|
};
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._throwOnInvalidAttachment$p=function(attachment)
|
|
{
|
|
if(!Object.isInstanceOfType(attachment))
|
|
throw Error.argument("attachments");
|
|
if(!("type" in attachment) || !("name" in attachment))
|
|
throw Error.argument("attachments");
|
|
if(!("url" in attachment || "itemId" in attachment))
|
|
throw Error.argument("attachments");
|
|
};
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._createAttachmentData$p=function(attachment)
|
|
{
|
|
var attachmentData=null;
|
|
if(attachment["type"]==="file")
|
|
{
|
|
var url=attachment["url"];
|
|
var name=attachment["name"];
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._throwOnInvalidAttachmentUrlOrName$p(url,name);
|
|
attachmentData=window["OSF"]["DDA"]["OutlookAppOm"]._createFileAttachmentData$p(url,name)
|
|
}
|
|
else if(attachment["type"]==="item")
|
|
{
|
|
var itemId=window["OSF"]["DDA"]["OutlookAppOm"].getItemIdBasedOnHost(attachment["itemId"]);
|
|
var name=attachment["name"];
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._throwOnInvalidAttachmentItemIdOrName$p(itemId,name);
|
|
attachmentData=window["OSF"]["DDA"]["OutlookAppOm"]._createItemAttachmentData$p(itemId,name)
|
|
}
|
|
else
|
|
throw Error.argument("attachments");
|
|
return attachmentData
|
|
};
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._createFileAttachmentData$p=function(url, name)
|
|
{
|
|
return["file",name,url]
|
|
};
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._createItemAttachmentData$p=function(itemId, name)
|
|
{
|
|
return["item",name,itemId]
|
|
};
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._throwOnInvalidAttachmentUrlOrName$p=function(url, name)
|
|
{
|
|
if(!String.isInstanceOfType(url) || !String.isInstanceOfType(name))
|
|
throw Error.argument("attachments");
|
|
if(url["length"] > 2048)
|
|
throw Error.argumentOutOfRange("attachments",url["length"],window["_u"]["ExtensibilityStrings"]["l_AttachmentUrlTooLong_Text"]);
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._throwOnInvalidAttachmentName$p(name)
|
|
};
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._throwOnInvalidAttachmentItemIdOrName$p=function(itemId, name)
|
|
{
|
|
if(!String.isInstanceOfType(itemId) || !String.isInstanceOfType(name))
|
|
throw Error.argument("attachments");
|
|
if(itemId["length"] > 200)
|
|
throw Error.argumentOutOfRange("attachments",itemId["length"],window["_u"]["ExtensibilityStrings"]["l_AttachmentItemIdTooLong_Text"]);
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._throwOnInvalidAttachmentName$p(name)
|
|
};
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._throwOnInvalidAttachmentName$p=function(name)
|
|
{
|
|
if(name["length"] > 255)
|
|
throw Error.argumentOutOfRange("attachments",name["length"],window["_u"]["ExtensibilityStrings"]["l_AttachmentNameTooLong_Text"]);
|
|
};
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._throwOnInvalidRestVersion$p=function(restVersion)
|
|
{
|
|
if(!restVersion)
|
|
throw Error.argumentNull("restVersion");
|
|
if(restVersion !==window["Microsoft"]["Office"]["WebExtension"]["MailboxEnums"]["RestVersion"]["v1_0"] && restVersion !==window["Microsoft"]["Office"]["WebExtension"]["MailboxEnums"]["RestVersion"]["v2_0"] && restVersion !==window["Microsoft"]["Office"]["WebExtension"]["MailboxEnums"]["RestVersion"]["Beta"])
|
|
throw Error.argument("restVersion");
|
|
};
|
|
window["OSF"]["DDA"]["OutlookAppOm"].getItemIdBasedOnHost=function(itemId)
|
|
{
|
|
if(window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._initialData$p$0 && window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._initialData$p$0.get__isRestIdSupported$i$0())
|
|
return window["OSF"]["DDA"]["OutlookAppOm"]._instance$p["convertToRestId"](itemId,window["Microsoft"]["Office"]["WebExtension"]["MailboxEnums"]["RestVersion"]["v1_0"]);
|
|
return window["OSF"]["DDA"]["OutlookAppOm"]._instance$p["convertToEwsId"](itemId,window["Microsoft"]["Office"]["WebExtension"]["MailboxEnums"]["RestVersion"]["v1_0"])
|
|
};
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._throwOnArgumentType$p=function(value, expectedType, argumentName)
|
|
{
|
|
if(Object["getType"](value) !==expectedType)
|
|
throw Error.argumentType(argumentName);
|
|
};
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._validateOptionalStringParameter$p=function(value, minLength, maxLength, name)
|
|
{
|
|
if($h.ScriptHelpers.isNullOrUndefined(value))
|
|
return;
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._throwOnArgumentType$p(value,String,name);
|
|
var stringValue=value;
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._throwOnOutOfRange$i(stringValue["length"],minLength,maxLength,name)
|
|
};
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._convertToOutlookParameters$p=function(dispid, data)
|
|
{
|
|
var executeParameters=null;
|
|
switch(dispid)
|
|
{
|
|
case 1:
|
|
case 2:
|
|
case 12:
|
|
case 3:
|
|
case 14:
|
|
case 18:
|
|
case 26:
|
|
case 32:
|
|
case 41:
|
|
case 34:
|
|
break;
|
|
case 4:
|
|
var jsonProperty=window["JSON"]["stringify"](data["customProperties"]);
|
|
executeParameters=[jsonProperty];
|
|
break;
|
|
case 5:
|
|
executeParameters=[data["body"]];
|
|
break;
|
|
case 8:
|
|
case 9:
|
|
executeParameters=[data["itemId"]];
|
|
break;
|
|
case 7:
|
|
executeParameters=[window["OSF"]["DDA"]["OutlookAppOm"]._convertRecipientArrayParameterForOutlookForDisplayApi$p(data["requiredAttendees"]),window["OSF"]["DDA"]["OutlookAppOm"]._convertRecipientArrayParameterForOutlookForDisplayApi$p(data["optionalAttendees"]),data["start"],data["end"],data["location"],window["OSF"]["DDA"]["OutlookAppOm"]._convertRecipientArrayParameterForOutlookForDisplayApi$p(data["resources"]),data["subject"],data["body"]];
|
|
break;
|
|
case 44:
|
|
executeParameters=[window["OSF"]["DDA"]["OutlookAppOm"]._convertRecipientArrayParameterForOutlookForDisplayApi$p(data["toRecipients"]),window["OSF"]["DDA"]["OutlookAppOm"]._convertRecipientArrayParameterForOutlookForDisplayApi$p(data["ccRecipients"]),window["OSF"]["DDA"]["OutlookAppOm"]._convertRecipientArrayParameterForOutlookForDisplayApi$p(data["bccRecipients"]),data["subject"],data["htmlBody"],data["attachments"]];
|
|
break;
|
|
case 43:
|
|
executeParameters=[data["ewsIdOrEmail"]];
|
|
break;
|
|
case 40:
|
|
executeParameters=[data["extensionId"],data["consentState"]];
|
|
break;
|
|
case 11:
|
|
case 10:
|
|
executeParameters=[data["htmlBody"]];
|
|
break;
|
|
case 31:
|
|
case 30:
|
|
executeParameters=[data["htmlBody"],data["attachments"]];
|
|
break;
|
|
case 23:
|
|
case 13:
|
|
case 38:
|
|
case 29:
|
|
executeParameters=[data["data"],data["coercionType"]];
|
|
break;
|
|
case 37:
|
|
case 28:
|
|
executeParameters=[data["coercionType"]];
|
|
break;
|
|
case 17:
|
|
executeParameters=[data["subject"]];
|
|
break;
|
|
case 15:
|
|
executeParameters=[data["recipientField"]];
|
|
break;
|
|
case 22:
|
|
case 21:
|
|
executeParameters=[data["recipientField"],window["OSF"]["DDA"]["OutlookAppOm"]._convertComposeEmailDictionaryParameterForSetApi$p(data["recipientArray"])];
|
|
break;
|
|
case 19:
|
|
executeParameters=[data["itemId"],data["name"]];
|
|
break;
|
|
case 16:
|
|
executeParameters=[data["uri"],data["name"]];
|
|
break;
|
|
case 20:
|
|
executeParameters=[data["attachmentIndex"]];
|
|
break;
|
|
case 25:
|
|
executeParameters=[data["TimeProperty"],data["time"]];
|
|
break;
|
|
case 24:
|
|
executeParameters=[data["TimeProperty"]];
|
|
break;
|
|
case 27:
|
|
executeParameters=[data["location"]];
|
|
break;
|
|
case 33:
|
|
case 35:
|
|
executeParameters=[data["key"],data["type"],data["persistent"],data["message"],data["icon"]];
|
|
break;
|
|
case 36:
|
|
executeParameters=[data["key"]];
|
|
break;
|
|
default:
|
|
Sys.Debug.fail("Unexpected method dispid");
|
|
break
|
|
}
|
|
return executeParameters
|
|
};
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._convertRecipientArrayParameterForOutlookForDisplayApi$p=function(array)
|
|
{
|
|
return array ? array["join"](";") : null
|
|
};
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._convertComposeEmailDictionaryParameterForSetApi$p=function(recipients)
|
|
{
|
|
if(!recipients)
|
|
return null;
|
|
var results=new Array(recipients["length"]);
|
|
for(var i=0; i < recipients["length"]; i++)
|
|
results[i]=[recipients[i]["address"],recipients[i]["name"]];
|
|
return results
|
|
};
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._validateAndNormalizeRecipientEmails$p=function(emailset, name)
|
|
{
|
|
if($h.ScriptHelpers.isNullOrUndefined(emailset))
|
|
return null;
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._throwOnArgumentType$p(emailset,Array,name);
|
|
var originalAttendees=emailset;
|
|
var updatedAttendees=null;
|
|
var normalizationNeeded=false;
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._throwOnOutOfRange$i(originalAttendees["length"],0,window["OSF"]["DDA"]["OutlookAppOm"]._maxRecipients$p,String.format("{0}.length",name));
|
|
for(var i=0; i < originalAttendees["length"]; i++)
|
|
if($h.EmailAddressDetails.isInstanceOfType(originalAttendees[i]))
|
|
{
|
|
normalizationNeeded=true;
|
|
break
|
|
}
|
|
if(normalizationNeeded)
|
|
updatedAttendees=[];
|
|
for(var i=0; i < originalAttendees["length"]; i++)
|
|
if(normalizationNeeded)
|
|
{
|
|
updatedAttendees[i]=$h.EmailAddressDetails.isInstanceOfType(originalAttendees[i]) ? originalAttendees[i]["emailAddress"] : originalAttendees[i];
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._throwOnArgumentType$p(updatedAttendees[i],String,String.format("{0}[{1}]",name,i))
|
|
}
|
|
else
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._throwOnArgumentType$p(originalAttendees[i],String,String.format("{0}[{1}]",name,i));
|
|
return updatedAttendees
|
|
};
|
|
OSF.DDA.OutlookAppOm.prototype={
|
|
_initialData$p$0: null,
|
|
_item$p$0: null,
|
|
_userProfile$p$0: null,
|
|
_diagnostics$p$0: null,
|
|
_officeAppContext$p$0: null,
|
|
_appReadyCallback$p$0: null,
|
|
_clientEndPoint$p$0: null,
|
|
_hostItemType$p$0: 0,
|
|
get_clientEndPoint: function()
|
|
{
|
|
if(!this._clientEndPoint$p$0)
|
|
this._clientEndPoint$p$0=OSF._OfficeAppFactory["getClientEndPoint"]();
|
|
return this._clientEndPoint$p$0
|
|
},
|
|
set_clientEndPoint: function(value)
|
|
{
|
|
this._clientEndPoint$p$0=value;
|
|
return value
|
|
},
|
|
get_initialData: function()
|
|
{
|
|
return this._initialData$p$0
|
|
},
|
|
get__appName$i$0: function()
|
|
{
|
|
return this._officeAppContext$p$0["get_appName"]()
|
|
},
|
|
initialize: function(initialData)
|
|
{
|
|
var ItemTypeKey="itemType";
|
|
this._initialData$p$0=new $h.InitialData(initialData);
|
|
this._hostItemType$p$0=initialData[ItemTypeKey];
|
|
if(1===initialData[ItemTypeKey])
|
|
this._item$p$0=new $h.Message(this._initialData$p$0);
|
|
else if(3===initialData[ItemTypeKey])
|
|
this._item$p$0=new $h.MeetingRequest(this._initialData$p$0);
|
|
else if(2===initialData[ItemTypeKey])
|
|
this._item$p$0=new $h.Appointment(this._initialData$p$0);
|
|
else if(4===initialData[ItemTypeKey])
|
|
this._item$p$0=new $h.MessageCompose(this._initialData$p$0);
|
|
else if(5===initialData[ItemTypeKey])
|
|
this._item$p$0=new $h.AppointmentCompose(this._initialData$p$0);
|
|
else if(6===initialData[ItemTypeKey]);
|
|
else
|
|
Sys.Debug.trace("Unexpected item type was received from the host.");
|
|
this._userProfile$p$0=new $h.UserProfile(this._initialData$p$0);
|
|
this._diagnostics$p$0=new $h.Diagnostics(this._initialData$p$0,this._officeAppContext$p$0["get_appName"]());
|
|
this._initializeMethods$p$0();
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"item",this.$$d__getItem$p$0);
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"userProfile",this.$$d__getUserProfile$p$0);
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"diagnostics",this.$$d__getDiagnostics$p$0);
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"ewsUrl",this.$$d__getEwsUrl$p$0);
|
|
if(window["OSF"]["DDA"]["OutlookAppOm"]._instance$p.get__appName$i$0()===64)
|
|
if(this._initialData$p$0.get__overrideWindowOpen$i$0())
|
|
window.open=this.$$d_windowOpenOverrideHandler
|
|
},
|
|
windowOpenOverrideHandler: function(url, targetName, features, replace)
|
|
{
|
|
this.invokeHostMethod(403,{launchUrl: url},null)
|
|
},
|
|
createAsyncResult: function(value, errorCode, detailedErrorCode, userContext, errorMessage)
|
|
{
|
|
var initArgs={};
|
|
var errorArgs=null;
|
|
initArgs[OSF.DDA.AsyncResultEnum.Properties["Value"]]=value;
|
|
initArgs[OSF.DDA.AsyncResultEnum.Properties["Context"]]=userContext;
|
|
if(0 !==errorCode)
|
|
{
|
|
errorArgs={};
|
|
var errorProperties=$h.OutlookErrorManager.getErrorArgs(detailedErrorCode);
|
|
errorArgs[OSF.DDA.AsyncResultEnum.ErrorProperties["Name"]]=errorProperties["name"];
|
|
errorArgs[OSF.DDA.AsyncResultEnum.ErrorProperties["Message"]]=!errorMessage ? errorProperties["message"] : errorMessage;
|
|
errorArgs[OSF.DDA.AsyncResultEnum.ErrorProperties["Code"]]=detailedErrorCode
|
|
}
|
|
return new OSF.DDA.AsyncResult(initArgs,errorArgs)
|
|
},
|
|
_throwOnMethodCallForInsufficientPermission$i$0: function(requiredPermissionLevel, methodName)
|
|
{
|
|
if(this._initialData$p$0._permissionLevel$p$0 < requiredPermissionLevel)
|
|
throw Error.create(String.format(window["_u"]["ExtensibilityStrings"]["l_ElevatedPermissionNeededForMethod_Text"],methodName));
|
|
},
|
|
_displayReplyForm$i$0: function(obj)
|
|
{
|
|
this._displayReplyFormHelper$p$0(obj,false)
|
|
},
|
|
_displayReplyAllForm$i$0: function(obj)
|
|
{
|
|
this._displayReplyFormHelper$p$0(obj,true)
|
|
},
|
|
_displayReplyFormHelper$p$0: function(obj, isReplyAll)
|
|
{
|
|
if(String.isInstanceOfType(obj))
|
|
this._doDisplayReplyForm$p$0(obj,isReplyAll);
|
|
else if(Object.isInstanceOfType(obj) && Object.getTypeName(obj)==="Object")
|
|
this._doDisplayReplyFormWithAttachments$p$0(obj,isReplyAll);
|
|
else
|
|
throw Error.argumentType();
|
|
},
|
|
_doDisplayReplyForm$p$0: function(htmlBody, isReplyAll)
|
|
{
|
|
if(!$h.ScriptHelpers.isNullOrUndefined(htmlBody))
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._throwOnOutOfRange$i(htmlBody["length"],0,window["OSF"]["DDA"]["OutlookAppOm"].maxBodyLength,"htmlBody");
|
|
this.invokeHostMethod(isReplyAll ? 11 : 10,{htmlBody: htmlBody},null)
|
|
},
|
|
_doDisplayReplyFormWithAttachments$p$0: function(data, isReplyAll)
|
|
{
|
|
var htmlBody=window["OSF"]["DDA"]["OutlookAppOm"]._getHtmlBody$p(data);
|
|
var attachments=window["OSF"]["DDA"]["OutlookAppOm"]._getAttachments$p(data);
|
|
var parameters=$h.CommonParameters.parse(window["OSF"]["DDA"]["OutlookAppOm"]._getOptionsAndCallback$p(data),false);
|
|
var $$t_6=this;
|
|
this._standardInvokeHostMethod$i$0(isReplyAll ? 31 : 30,{
|
|
htmlBody: htmlBody,
|
|
attachments: window["OSF"]["DDA"]["OutlookAppOm"]._createAttachmentsDataForHost$p(attachments)
|
|
},function(rawInput)
|
|
{
|
|
return rawInput
|
|
},parameters._asyncContext$p$0,parameters._callback$p$0)
|
|
},
|
|
_standardInvokeHostMethod$i$0: function(dispid, data, format, userContext, callback)
|
|
{
|
|
var $$t_B=this;
|
|
this.invokeHostMethod(dispid,data,function(resultCode, response)
|
|
{
|
|
if(callback)
|
|
{
|
|
var asyncResult=null;
|
|
if(Object.isInstanceOfType(response))
|
|
{
|
|
var responseDictionary=response;
|
|
if("error" in responseDictionary || "data" in responseDictionary || "errorCode" in responseDictionary)
|
|
if(!responseDictionary["error"])
|
|
{
|
|
var formattedData=format ? format(responseDictionary["data"]) : responseDictionary["data"];
|
|
asyncResult=$$t_B.createAsyncResult(formattedData,0,0,userContext,null)
|
|
}
|
|
else
|
|
{
|
|
var errorCode=responseDictionary["errorCode"];
|
|
asyncResult=$$t_B.createAsyncResult(null,1,errorCode,userContext,null)
|
|
}
|
|
}
|
|
if(!asyncResult && resultCode)
|
|
asyncResult=$$t_B.createAsyncResult(null,1,9002,userContext,null);
|
|
callback(asyncResult)
|
|
}
|
|
})
|
|
},
|
|
invokeHostMethod: function(dispid, data, responseCallback)
|
|
{
|
|
if(64===this._officeAppContext$p$0["get_appName"]())
|
|
{
|
|
var args={ApiParams: data};
|
|
args["MethodData"]={
|
|
ControlId: OSF._OfficeAppFactory["getId"](),
|
|
DispatchId: dispid
|
|
};
|
|
if(dispid===1)
|
|
this.get_clientEndPoint()["invoke"]("GetInitialData",responseCallback,args);
|
|
else
|
|
this.get_clientEndPoint()["invoke"]("ExecuteMethod",responseCallback,args)
|
|
}
|
|
else if(!this._isOwaOnlyMethod$p$0(dispid))
|
|
{
|
|
var executeParameters=window["OSF"]["DDA"]["OutlookAppOm"]._convertToOutlookParameters$p(dispid,data);
|
|
var $$t_B=this;
|
|
OSF.ClientHostController["execute"](dispid,executeParameters,function(nativeData, resultCode)
|
|
{
|
|
if(responseCallback)
|
|
{
|
|
var responseData=nativeData.toArray();
|
|
var rawData=window["JSON"]["parse"](responseData[0]);
|
|
if(Object.isInstanceOfType(rawData))
|
|
{
|
|
var deserializedData=rawData;
|
|
if(responseData["length"] > 1 && responseData[1])
|
|
{
|
|
deserializedData["error"]=true;
|
|
deserializedData["errorCode"]=responseData[1]
|
|
}
|
|
else
|
|
deserializedData["error"]=false;
|
|
responseCallback(resultCode,deserializedData)
|
|
}
|
|
else if(Number.isInstanceOfType(rawData))
|
|
{
|
|
var returnDict={};
|
|
returnDict["error"]=true;
|
|
returnDict["errorCode"]=rawData;
|
|
responseCallback(resultCode,returnDict)
|
|
}
|
|
else
|
|
throw Error.notImplemented("Return data type from host must be Dictionary or int");
|
|
}
|
|
})
|
|
}
|
|
else if(responseCallback)
|
|
responseCallback(-2,null)
|
|
},
|
|
_dictionaryToDate$i$0: function(input)
|
|
{
|
|
var retValue=new Date(input["year"],input["month"],input["date"],input["hours"],input["minutes"],input["seconds"],!input["milliseconds"] ? 0 : input["milliseconds"]);
|
|
if(window["isNaN"](retValue["getTime"]()))
|
|
throw Error.format(window["_u"]["ExtensibilityStrings"]["l_InvalidDate_Text"]);
|
|
return retValue
|
|
},
|
|
_dateToDictionary$i$0: function(input)
|
|
{
|
|
var retValue={};
|
|
retValue["month"]=input["getMonth"]();
|
|
retValue["date"]=input["getDate"]();
|
|
retValue["year"]=input["getFullYear"]();
|
|
retValue["hours"]=input["getHours"]();
|
|
retValue["minutes"]=input["getMinutes"]();
|
|
retValue["seconds"]=input["getSeconds"]();
|
|
retValue["milliseconds"]=input["getMilliseconds"]();
|
|
return retValue
|
|
},
|
|
_isOwaOnlyMethod$p$0: function(dispId)
|
|
{
|
|
switch(dispId)
|
|
{
|
|
case 402:
|
|
case 401:
|
|
case 400:
|
|
case 403:
|
|
return true;
|
|
default:
|
|
return false
|
|
}
|
|
},
|
|
_displayNewAppointmentFormApi$p$0: function(parameters)
|
|
{
|
|
var normalizedRequiredAttendees=window["OSF"]["DDA"]["OutlookAppOm"]._validateAndNormalizeRecipientEmails$p(parameters["requiredAttendees"],"requiredAttendees");
|
|
var normalizedOptionalAttendees=window["OSF"]["DDA"]["OutlookAppOm"]._validateAndNormalizeRecipientEmails$p(parameters["optionalAttendees"],"optionalAttendees");
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._validateOptionalStringParameter$p(parameters["location"],0,window["OSF"]["DDA"]["OutlookAppOm"]._maxLocationLength$p,"location");
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._validateOptionalStringParameter$p(parameters["body"],0,window["OSF"]["DDA"]["OutlookAppOm"].maxBodyLength,"body");
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._validateOptionalStringParameter$p(parameters["subject"],0,window["OSF"]["DDA"]["OutlookAppOm"]._maxSubjectLength$p,"subject");
|
|
if(!$h.ScriptHelpers.isNullOrUndefined(parameters["start"]))
|
|
{
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._throwOnArgumentType$p(parameters["start"],Date,"start");
|
|
var startDateTime=parameters["start"];
|
|
parameters["start"]=startDateTime["getTime"]();
|
|
if(!$h.ScriptHelpers.isNullOrUndefined(parameters["end"]))
|
|
{
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._throwOnArgumentType$p(parameters["end"],Date,"end");
|
|
var endDateTime=parameters["end"];
|
|
if(endDateTime < startDateTime)
|
|
throw Error.argumentOutOfRange("end",endDateTime,window["_u"]["ExtensibilityStrings"]["l_InvalidEventDates_Text"]);
|
|
parameters["end"]=endDateTime["getTime"]()
|
|
}
|
|
}
|
|
var updatedParameters=null;
|
|
if(normalizedRequiredAttendees || normalizedOptionalAttendees)
|
|
{
|
|
updatedParameters={};
|
|
var $$dict_7=parameters;
|
|
for(var $$key_8 in $$dict_7)
|
|
{
|
|
var entry={
|
|
key: $$key_8,
|
|
value: $$dict_7[$$key_8]
|
|
};
|
|
updatedParameters[entry["key"]]=entry["value"]
|
|
}
|
|
if(normalizedRequiredAttendees)
|
|
updatedParameters["requiredAttendees"]=normalizedRequiredAttendees;
|
|
if(normalizedOptionalAttendees)
|
|
updatedParameters["optionalAttendees"]=normalizedOptionalAttendees
|
|
}
|
|
this.invokeHostMethod(7,updatedParameters || parameters,null)
|
|
},
|
|
displayNewMessageFormApi: function(parameters)
|
|
{
|
|
var updatedParameters={};
|
|
if(parameters)
|
|
{
|
|
var normalizedToRecipients=window["OSF"]["DDA"]["OutlookAppOm"]._validateAndNormalizeRecipientEmails$p(parameters["toRecipients"],"toRecipients");
|
|
var normalizedCcRecipients=window["OSF"]["DDA"]["OutlookAppOm"]._validateAndNormalizeRecipientEmails$p(parameters["ccRecipients"],"ccRecipients");
|
|
var normalizedBccRecipients=window["OSF"]["DDA"]["OutlookAppOm"]._validateAndNormalizeRecipientEmails$p(parameters["bccRecipients"],"bccRecipients");
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._validateOptionalStringParameter$p(parameters["htmlBody"],0,window["OSF"]["DDA"]["OutlookAppOm"].maxBodyLength,"htmlBody");
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._validateOptionalStringParameter$p(parameters["subject"],0,window["OSF"]["DDA"]["OutlookAppOm"]._maxSubjectLength$p,"subject");
|
|
var attachments=window["OSF"]["DDA"]["OutlookAppOm"]._getAttachments$p(parameters);
|
|
var $$dict_7=parameters;
|
|
for(var $$key_8 in $$dict_7)
|
|
{
|
|
var entry={
|
|
key: $$key_8,
|
|
value: $$dict_7[$$key_8]
|
|
};
|
|
updatedParameters[entry["key"]]=entry["value"]
|
|
}
|
|
if(normalizedToRecipients)
|
|
updatedParameters["toRecipients"]=normalizedToRecipients;
|
|
if(normalizedCcRecipients)
|
|
updatedParameters["ccRecipients"]=normalizedCcRecipients;
|
|
if(normalizedBccRecipients)
|
|
updatedParameters["bccRecipients"]=normalizedBccRecipients;
|
|
if(attachments)
|
|
updatedParameters["attachments"]=window["OSF"]["DDA"]["OutlookAppOm"]._createAttachmentsDataForHost$p(attachments)
|
|
}
|
|
this.invokeHostMethod(44,updatedParameters || parameters,null)
|
|
},
|
|
displayContactCardAsync: function(ewsIdOrEmail, callback)
|
|
{
|
|
if($h.ScriptHelpers.isNullOrUndefined(ewsIdOrEmail))
|
|
throw Error.argumentNull("ewsIdOrEmail");
|
|
var asyncContext=null;
|
|
var asyncFunctionCallback=null;
|
|
if(callback)
|
|
{
|
|
var commonParameters=$h.CommonParameters.parse([callback],false);
|
|
asyncContext=commonParameters._asyncContext$p$0;
|
|
asyncFunctionCallback=commonParameters._callback$p$0
|
|
}
|
|
this._standardInvokeHostMethod$i$0(43,{ewsIdOrEmail: ewsIdOrEmail.trim()},null,asyncContext,asyncFunctionCallback)
|
|
},
|
|
_initializeMethods$p$0: function()
|
|
{
|
|
var currentInstance=this;
|
|
if($h.Item.isInstanceOfType(this._item$p$0) || this._hostItemType$p$0===6)
|
|
{
|
|
currentInstance["displayNewAppointmentForm"]=this.$$d__displayNewAppointmentFormApi$p$0;
|
|
currentInstance["displayNewMessageForm"]=this.$$d_displayNewMessageFormApi;
|
|
currentInstance["displayContactCardAsync"]=this.$$d_displayContactCardAsync
|
|
}
|
|
},
|
|
_getInitialDataResponseHandler$p$0: function(resultCode, data)
|
|
{
|
|
if(resultCode)
|
|
return;
|
|
this.initialize(data);
|
|
this["displayName"]="mailbox";
|
|
window.setTimeout(this.$$d__callAppReadyCallback$p$0,0)
|
|
},
|
|
_callAppReadyCallback$p$0: function()
|
|
{
|
|
this._appReadyCallback$p$0()
|
|
},
|
|
_invokeGetTokenMethodAsync$p$0: function(outlookDispid, methodName, callback, userContext)
|
|
{
|
|
if($h.ScriptHelpers.isNullOrUndefined(callback))
|
|
throw Error.argumentNull("callback");
|
|
var $$t_8=this;
|
|
this.invokeHostMethod(outlookDispid,null,function(resultCode, response)
|
|
{
|
|
var asyncResult;
|
|
if(resultCode)
|
|
asyncResult=$$t_8.createAsyncResult(null,1,9017,userContext,String.format(window["_u"]["ExtensibilityStrings"]["l_InternalProtocolError_Text"],resultCode));
|
|
else
|
|
{
|
|
var responseDictionary=response;
|
|
if(responseDictionary["wasSuccessful"])
|
|
asyncResult=$$t_8.createAsyncResult(responseDictionary["token"],0,0,userContext,null);
|
|
else
|
|
asyncResult=$$t_8.createAsyncResult(null,1,responseDictionary["errorCode"],userContext,responseDictionary["errorMessage"])
|
|
}
|
|
callback(asyncResult)
|
|
})
|
|
},
|
|
_getItem$p$0: function()
|
|
{
|
|
return this._item$p$0
|
|
},
|
|
_getUserProfile$p$0: function()
|
|
{
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._throwOnPropertyAccessForRestrictedPermission$i(this._initialData$p$0._permissionLevel$p$0);
|
|
return this._userProfile$p$0
|
|
},
|
|
_getDiagnostics$p$0: function()
|
|
{
|
|
return this._diagnostics$p$0
|
|
},
|
|
_getEwsUrl$p$0: function()
|
|
{
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._throwOnPropertyAccessForRestrictedPermission$i(this._initialData$p$0._permissionLevel$p$0);
|
|
return this._initialData$p$0.get__ewsUrl$i$0()
|
|
},
|
|
_findOffset$p$0: function(value)
|
|
{
|
|
var ranges=this._initialData$p$0.get__timeZoneOffsets$i$0();
|
|
for(var r=0; r < ranges["length"]; r++)
|
|
{
|
|
var range=ranges[r];
|
|
var start=window["parseInt"](range["start"]);
|
|
var end=window["parseInt"](range["end"]);
|
|
if(value["getTime"]() - start >=0 && value["getTime"]() - end < 0)
|
|
return window["parseInt"](range["offset"])
|
|
}
|
|
throw Error.format(window["_u"]["ExtensibilityStrings"]["l_InvalidDate_Text"]);
|
|
},
|
|
_areStringsLoaded$p$0: function()
|
|
{
|
|
var stringsLoaded=false;
|
|
try
|
|
{
|
|
stringsLoaded=!$h.ScriptHelpers.isNullOrUndefined(window["_u"]["ExtensibilityStrings"]["l_EwsRequestOversized_Text"])
|
|
}
|
|
catch($$e_1){}
|
|
return stringsLoaded
|
|
},
|
|
_loadLocalizedScript$p$0: function(stringLoadedCallback)
|
|
{
|
|
var url=null;
|
|
var baseUrl="";
|
|
var scripts=document.getElementsByTagName("script");
|
|
for(var i=scripts.length - 1; i >=0; i--)
|
|
{
|
|
var filename=null;
|
|
var attributes=scripts[i].attributes;
|
|
if(attributes)
|
|
{
|
|
var attribute=attributes.getNamedItem("src");
|
|
if(attribute)
|
|
filename=attribute.value;
|
|
if(filename)
|
|
{
|
|
var debug=false;
|
|
filename=filename["toLowerCase"]();
|
|
var officeIndex=filename["indexOf"]("office_strings.js");
|
|
if(officeIndex < 0)
|
|
{
|
|
officeIndex=filename["indexOf"]("office_strings.debug.js");
|
|
debug=true
|
|
}
|
|
if(officeIndex > 0 && officeIndex < filename["length"])
|
|
{
|
|
url=filename["replace"](debug ? "office_strings.debug.js" : "office_strings.js","outlook_strings.js");
|
|
var languageUrl=filename["substring"](0,officeIndex);
|
|
var lastIndexOfSlash=languageUrl["lastIndexOf"]("/",languageUrl["length"] - 2);
|
|
if(lastIndexOfSlash===-1)
|
|
lastIndexOfSlash=languageUrl["lastIndexOf"]("\\",languageUrl["length"] - 2);
|
|
if(lastIndexOfSlash !==-1 && languageUrl["length"] > lastIndexOfSlash+1)
|
|
baseUrl=languageUrl["substring"](0,lastIndexOfSlash+1);
|
|
break
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if(url)
|
|
{
|
|
var head=document.getElementsByTagName("head")[0];
|
|
var scriptElement=null;
|
|
var $$t_H=this;
|
|
var scriptElementCallback=function()
|
|
{
|
|
if(stringLoadedCallback && (!scriptElement.readyState || scriptElement.readyState && (scriptElement.readyState==="loaded" || scriptElement.readyState==="complete")))
|
|
{
|
|
scriptElement.onload=null;
|
|
scriptElement.onreadystatechange=null;
|
|
stringLoadedCallback()
|
|
}
|
|
};
|
|
var $$t_I=this;
|
|
var failureCallback=function()
|
|
{
|
|
if(!$$t_I._areStringsLoaded$p$0())
|
|
{
|
|
var fallbackUrl=baseUrl+"en-us/"+"outlook_strings.js";
|
|
scriptElement.onload=null;
|
|
scriptElement.onreadystatechange=null;
|
|
scriptElement=$$t_I._createScriptElement$p$0(fallbackUrl);
|
|
scriptElement.onload=scriptElementCallback;
|
|
scriptElement.onreadystatechange=scriptElementCallback;
|
|
head.appendChild(scriptElement)
|
|
}
|
|
};
|
|
scriptElement=this._createScriptElement$p$0(url);
|
|
scriptElement.onload=scriptElementCallback;
|
|
scriptElement.onreadystatechange=scriptElementCallback;
|
|
window.setTimeout(failureCallback,2e3);
|
|
head.appendChild(scriptElement)
|
|
}
|
|
},
|
|
_createScriptElement$p$0: function(url)
|
|
{
|
|
var scriptElement=document.createElement("script");
|
|
scriptElement.type="text/javascript";
|
|
scriptElement.src=url;
|
|
return scriptElement
|
|
}
|
|
};
|
|
OSF.DDA.OutlookAppOm.prototype.makeEwsRequestAsync=function(data)
|
|
{
|
|
var args=[];
|
|
for(var $$pai_5=1; $$pai_5 < arguments["length"];++$$pai_5)
|
|
args[$$pai_5 - 1]=arguments[$$pai_5];
|
|
if($h.ScriptHelpers.isNullOrUndefined(data))
|
|
throw Error.argumentNull("data");
|
|
if(data["length"] > window["OSF"]["DDA"]["OutlookAppOm"]._maxEwsRequestSize$p)
|
|
throw Error.argument("data",window["_u"]["ExtensibilityStrings"]["l_EwsRequestOversized_Text"]);
|
|
this._throwOnMethodCallForInsufficientPermission$i$0(3,"makeEwsRequestAsync");
|
|
var parameters=$h.CommonParameters.parse(args,true,true);
|
|
var ewsRequest=new $h.EwsRequest(parameters._asyncContext$p$0);
|
|
var $$t_4=this;
|
|
ewsRequest.onreadystatechange=function()
|
|
{
|
|
if(4===ewsRequest.get__requestState$i$1())
|
|
parameters._callback$p$0(ewsRequest._asyncResult$p$0)
|
|
};
|
|
ewsRequest.send(data)
|
|
};
|
|
OSF.DDA.OutlookAppOm.prototype.recordDataPoint=function(data)
|
|
{
|
|
if($h.ScriptHelpers.isNullOrUndefined(data))
|
|
throw Error.argumentNull("data");
|
|
this.invokeHostMethod(402,data,null)
|
|
};
|
|
OSF.DDA.OutlookAppOm.prototype.recordTrace=function(data)
|
|
{
|
|
if($h.ScriptHelpers.isNullOrUndefined(data))
|
|
throw Error.argumentNull("data");
|
|
this.invokeHostMethod(401,data,null)
|
|
};
|
|
OSF.DDA.OutlookAppOm.prototype.trackCtq=function(data)
|
|
{
|
|
if($h.ScriptHelpers.isNullOrUndefined(data))
|
|
throw Error.argumentNull("data");
|
|
this.invokeHostMethod(400,data,null)
|
|
};
|
|
OSF.DDA.OutlookAppOm.prototype.convertToLocalClientTime=function(timeValue)
|
|
{
|
|
var date=new Date(timeValue["getTime"]());
|
|
var offset=date["getTimezoneOffset"]() * -1;
|
|
if(this._initialData$p$0 && this._initialData$p$0.get__timeZoneOffsets$i$0())
|
|
{
|
|
date["setUTCMinutes"](date["getUTCMinutes"]() - offset);
|
|
offset=this._findOffset$p$0(date);
|
|
date["setUTCMinutes"](date["getUTCMinutes"]()+offset)
|
|
}
|
|
var retValue=this._dateToDictionary$i$0(date);
|
|
retValue["timezoneOffset"]=offset;
|
|
return retValue
|
|
};
|
|
OSF.DDA.OutlookAppOm.prototype.convertToUtcClientTime=function(input)
|
|
{
|
|
var retValue=this._dictionaryToDate$i$0(input);
|
|
if(this._initialData$p$0 && this._initialData$p$0.get__timeZoneOffsets$i$0())
|
|
{
|
|
var offset=this._findOffset$p$0(retValue);
|
|
retValue["setUTCMinutes"](retValue["getUTCMinutes"]() - offset);
|
|
offset=!input["timezoneOffset"] ? retValue["getTimezoneOffset"]() * -1 : input["timezoneOffset"];
|
|
retValue["setUTCMinutes"](retValue["getUTCMinutes"]()+offset)
|
|
}
|
|
return retValue
|
|
};
|
|
OSF.DDA.OutlookAppOm.prototype.convertToRestId=function(itemId, restVersion)
|
|
{
|
|
if(!itemId)
|
|
throw Error.argumentNull("itemId");
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._throwOnInvalidRestVersion$p(restVersion);
|
|
return itemId["replace"](new RegExp("[/]","g"),"-")["replace"](new RegExp("[+]","g"),"_")
|
|
};
|
|
OSF.DDA.OutlookAppOm.prototype.convertToEwsId=function(itemId, restVersion)
|
|
{
|
|
if(!itemId)
|
|
throw Error.argumentNull("itemId");
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._throwOnInvalidRestVersion$p(restVersion);
|
|
return itemId["replace"](new RegExp("[-]","g"),"/")["replace"](new RegExp("[_]","g"),"+")
|
|
};
|
|
OSF.DDA.OutlookAppOm.prototype.getUserIdentityTokenAsync=function()
|
|
{
|
|
var args=[];
|
|
for(var $$pai_2=0; $$pai_2 < arguments["length"];++$$pai_2)
|
|
args[$$pai_2]=arguments[$$pai_2];
|
|
this._throwOnMethodCallForInsufficientPermission$i$0(1,"getUserIdentityTokenAsync");
|
|
var parameters=$h.CommonParameters.parse(args,true,true);
|
|
this._invokeGetTokenMethodAsync$p$0(2,"GetUserIdentityToken",parameters._callback$p$0,parameters._asyncContext$p$0)
|
|
};
|
|
OSF.DDA.OutlookAppOm.prototype.getCallbackTokenAsync=function()
|
|
{
|
|
var args=[];
|
|
for(var $$pai_2=0; $$pai_2 < arguments["length"];++$$pai_2)
|
|
args[$$pai_2]=arguments[$$pai_2];
|
|
this._throwOnMethodCallForInsufficientPermission$i$0(1,"getCallbackTokenAsync");
|
|
var parameters=$h.CommonParameters.parse(args,true,true);
|
|
this._invokeGetTokenMethodAsync$p$0(12,"GetCallbackToken",parameters._callback$p$0,parameters._asyncContext$p$0)
|
|
};
|
|
OSF.DDA.OutlookAppOm.prototype.displayMessageForm=function(itemId)
|
|
{
|
|
if($h.ScriptHelpers.isNullOrUndefined(itemId))
|
|
throw Error.argumentNull("itemId");
|
|
this.invokeHostMethod(8,{itemId: window["OSF"]["DDA"]["OutlookAppOm"].getItemIdBasedOnHost(itemId)},null)
|
|
};
|
|
OSF.DDA.OutlookAppOm.prototype.displayAppointmentForm=function(itemId)
|
|
{
|
|
if($h.ScriptHelpers.isNullOrUndefined(itemId))
|
|
throw Error.argumentNull("itemId");
|
|
this.invokeHostMethod(9,{itemId: window["OSF"]["DDA"]["OutlookAppOm"].getItemIdBasedOnHost(itemId)},null)
|
|
};
|
|
OSF.DDA.OutlookAppOm.prototype.RegisterConsentAsync=function(consentState)
|
|
{
|
|
if(consentState !==2 && consentState !==1 && consentState)
|
|
throw Error.argumentOutOfRange("consentState");
|
|
var parameters={};
|
|
parameters["consentState"]=consentState["toString"]();
|
|
parameters["extensionId"]=this["GetExtensionId"]();
|
|
this.invokeHostMethod(40,parameters,null)
|
|
};
|
|
OSF.DDA.OutlookAppOm.prototype.CloseApp=function()
|
|
{
|
|
this.invokeHostMethod(42,null,null)
|
|
};
|
|
OSF.DDA.OutlookAppOm.prototype.GetIsRead=function()
|
|
{
|
|
return this._initialData$p$0.get__isRead$i$0()
|
|
};
|
|
OSF.DDA.OutlookAppOm.prototype.GetEndNodeUrl=function()
|
|
{
|
|
return this._initialData$p$0.get__endNodeUrl$i$0()
|
|
};
|
|
OSF.DDA.OutlookAppOm.prototype.GetConsentMetadata=function()
|
|
{
|
|
return this._initialData$p$0.get__consentMetadata$i$0()
|
|
};
|
|
OSF.DDA.OutlookAppOm.prototype.GetEntryPointUrl=function()
|
|
{
|
|
return this._initialData$p$0.get__entryPointUrl$i$0()
|
|
};
|
|
OSF.DDA.OutlookAppOm.prototype.GetMarketplaceContentMarket=function()
|
|
{
|
|
return this._initialData$p$0.get__marketplaceContentMarket$i$0()
|
|
};
|
|
OSF.DDA.OutlookAppOm.prototype.GetMarketplaceAssetId=function()
|
|
{
|
|
return this._initialData$p$0.get__marketplaceAssetId$i$0()
|
|
};
|
|
OSF.DDA.OutlookAppOm.prototype.GetExtensionId=function()
|
|
{
|
|
return this._initialData$p$0.get__extensionId$i$0()
|
|
};
|
|
window["OSF"]["DDA"]["Settings"]=OSF.DDA.Settings=function(data)
|
|
{
|
|
this._rawData$p$0=data
|
|
};
|
|
window["OSF"]["DDA"]["Settings"]._convertFromRawSettings$p=function(rawSettings)
|
|
{
|
|
if(!rawSettings)
|
|
return{};
|
|
if(window["OSF"]["DDA"]["OutlookAppOm"]._instance$p.get__appName$i$0()===8)
|
|
{
|
|
var outlookSettings=rawSettings["SettingsKey"];
|
|
if(outlookSettings)
|
|
return OSF.DDA.SettingsManager["deserializeSettings"](outlookSettings)
|
|
}
|
|
return rawSettings
|
|
};
|
|
OSF.DDA.Settings.prototype={
|
|
_rawData$p$0: null,
|
|
_settingsData$p$0: null,
|
|
get__data$p$0: function()
|
|
{
|
|
if(!this._settingsData$p$0)
|
|
{
|
|
this._settingsData$p$0=window["OSF"]["DDA"]["Settings"]._convertFromRawSettings$p(this._rawData$p$0);
|
|
this._rawData$p$0=null
|
|
}
|
|
return this._settingsData$p$0
|
|
},
|
|
_saveSettingsForOutlook$p$0: function(callback, userContext)
|
|
{
|
|
var storedException=null;
|
|
try
|
|
{
|
|
var serializedSettings=OSF.DDA.SettingsManager["serializeSettings"](this.get__data$p$0());
|
|
var jsonSettings=window["JSON"]["stringify"](serializedSettings);
|
|
var settingsObjectToSave={SettingsKey: jsonSettings};
|
|
OSF.DDA.ClientSettingsManager["write"](settingsObjectToSave)
|
|
}
|
|
catch(ex)
|
|
{
|
|
storedException=ex
|
|
}
|
|
if(callback)
|
|
{
|
|
var asyncResult;
|
|
if(storedException)
|
|
asyncResult=window["OSF"]["DDA"]["OutlookAppOm"]._instance$p.createAsyncResult(null,1,9019,userContext,storedException["message"]);
|
|
else
|
|
asyncResult=window["OSF"]["DDA"]["OutlookAppOm"]._instance$p.createAsyncResult(null,0,0,userContext,null);
|
|
callback(asyncResult)
|
|
}
|
|
},
|
|
_saveSettingsForOwa$p$0: function(callback, userContext)
|
|
{
|
|
var serializedSettings=OSF.DDA.SettingsManager["serializeSettings"](this.get__data$p$0());
|
|
var $$t_7=this;
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._instance$p.invokeHostMethod(404,[serializedSettings],function(resultCode, response)
|
|
{
|
|
if(callback)
|
|
{
|
|
var asyncResult;
|
|
if(resultCode)
|
|
asyncResult=window["OSF"]["DDA"]["OutlookAppOm"]._instance$p.createAsyncResult(null,1,9017,userContext,String.format(window["_u"]["ExtensibilityStrings"]["l_InternalProtocolError_Text"],resultCode));
|
|
else
|
|
{
|
|
var responseDictionary=response;
|
|
if(!responseDictionary["error"])
|
|
asyncResult=window["OSF"]["DDA"]["OutlookAppOm"]._instance$p.createAsyncResult(null,0,0,userContext,null);
|
|
else
|
|
asyncResult=window["OSF"]["DDA"]["OutlookAppOm"]._instance$p.createAsyncResult(null,1,9019,userContext,responseDictionary["errorMessage"])
|
|
}
|
|
callback(asyncResult)
|
|
}
|
|
})
|
|
}
|
|
};
|
|
OSF.DDA.Settings.prototype.get=function(name)
|
|
{
|
|
return this.get__data$p$0()[name]
|
|
};
|
|
OSF.DDA.Settings.prototype.set=function(name, value)
|
|
{
|
|
this.get__data$p$0()[name]=value
|
|
};
|
|
OSF.DDA.Settings.prototype.remove=function(name)
|
|
{
|
|
delete this.get__data$p$0()[name]
|
|
};
|
|
OSF.DDA.Settings.prototype.saveAsync=function()
|
|
{
|
|
var args=[];
|
|
for(var $$pai_4=0; $$pai_4 < arguments["length"];++$$pai_4)
|
|
args[$$pai_4]=arguments[$$pai_4];
|
|
var commonParameters=$h.CommonParameters.parse(args,false);
|
|
if(window["JSON"]["stringify"](OSF.DDA.SettingsManager["serializeSettings"](this.get__data$p$0()))["length"] > 32768)
|
|
{
|
|
var asyncResult=window["OSF"]["DDA"]["OutlookAppOm"]._instance$p.createAsyncResult(null,1,9019,commonParameters._asyncContext$p$0,"");
|
|
var $$t_3=this;
|
|
window.setTimeout(function()
|
|
{
|
|
commonParameters._callback$p$0(asyncResult)
|
|
},0);
|
|
return
|
|
}
|
|
if(window["OSF"]["DDA"]["OutlookAppOm"]._instance$p.get__appName$i$0()===64)
|
|
this._saveSettingsForOwa$p$0(commonParameters._callback$p$0,commonParameters._asyncContext$p$0);
|
|
else
|
|
this._saveSettingsForOutlook$p$0(commonParameters._callback$p$0,commonParameters._asyncContext$p$0)
|
|
};
|
|
Type.registerNamespace("$h");
|
|
var $h=window.$h || {};
|
|
Type.registerNamespace("Office.cast");
|
|
var Office=window.Office || {};
|
|
Office.cast=Office.cast || {};
|
|
$h.Appointment=function(dataDictionary)
|
|
{
|
|
this.$$d__getOrganizer$p$2=Function.createDelegate(this,this._getOrganizer$p$2);
|
|
this.$$d__getNormalizedSubject$p$2=Function.createDelegate(this,this._getNormalizedSubject$p$2);
|
|
this.$$d__getSubject$p$2=Function.createDelegate(this,this._getSubject$p$2);
|
|
this.$$d__getResources$p$2=Function.createDelegate(this,this._getResources$p$2);
|
|
this.$$d__getRequiredAttendees$p$2=Function.createDelegate(this,this._getRequiredAttendees$p$2);
|
|
this.$$d__getOptionalAttendees$p$2=Function.createDelegate(this,this._getOptionalAttendees$p$2);
|
|
this.$$d__getLocation$p$2=Function.createDelegate(this,this._getLocation$p$2);
|
|
this.$$d__getEnd$p$2=Function.createDelegate(this,this._getEnd$p$2);
|
|
this.$$d__getStart$p$2=Function.createDelegate(this,this._getStart$p$2);
|
|
$h.Appointment.initializeBase(this,[dataDictionary]);
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"start",this.$$d__getStart$p$2);
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"end",this.$$d__getEnd$p$2);
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"location",this.$$d__getLocation$p$2);
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"optionalAttendees",this.$$d__getOptionalAttendees$p$2);
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"requiredAttendees",this.$$d__getRequiredAttendees$p$2);
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"resources",this.$$d__getResources$p$2);
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"subject",this.$$d__getSubject$p$2);
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"normalizedSubject",this.$$d__getNormalizedSubject$p$2);
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"organizer",this.$$d__getOrganizer$p$2)
|
|
};
|
|
$h.Appointment.prototype={
|
|
getItemType: function()
|
|
{
|
|
return window["Microsoft"]["Office"]["WebExtension"]["MailboxEnums"]["ItemType"]["Appointment"]
|
|
},
|
|
_getStart$p$2: function()
|
|
{
|
|
return this._data$p$0.get__start$i$0()
|
|
},
|
|
_getEnd$p$2: function()
|
|
{
|
|
return this._data$p$0.get__end$i$0()
|
|
},
|
|
_getLocation$p$2: function()
|
|
{
|
|
return this._data$p$0.get__location$i$0()
|
|
},
|
|
_getOptionalAttendees$p$2: function()
|
|
{
|
|
return this._data$p$0.get__cc$i$0()
|
|
},
|
|
_getRequiredAttendees$p$2: function()
|
|
{
|
|
return this._data$p$0.get__to$i$0()
|
|
},
|
|
_getResources$p$2: function()
|
|
{
|
|
return this._data$p$0.get__resources$i$0()
|
|
},
|
|
_getSubject$p$2: function()
|
|
{
|
|
return this._data$p$0.get__subject$i$0()
|
|
},
|
|
_getNormalizedSubject$p$2: function()
|
|
{
|
|
return this._data$p$0.get__normalizedSubject$i$0()
|
|
},
|
|
_getOrganizer$p$2: function()
|
|
{
|
|
return this._data$p$0.get__organizer$i$0()
|
|
}
|
|
};
|
|
$h.Appointment.prototype.getEntities=function()
|
|
{
|
|
return this._data$p$0._getEntities$i$0()
|
|
};
|
|
$h.Appointment.prototype.getEntitiesByType=function(entityType)
|
|
{
|
|
return this._data$p$0._getEntitiesByType$i$0(entityType)
|
|
};
|
|
$h.Appointment.prototype.getRegExMatches=function()
|
|
{
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._throwOnMethodCallForInsufficientPermission$i$0(1,"getRegExMatches");
|
|
return this._data$p$0._getRegExMatches$i$0()
|
|
};
|
|
$h.Appointment.prototype.getFilteredEntitiesByName=function(name)
|
|
{
|
|
return this._data$p$0._getFilteredEntitiesByName$i$0(name)
|
|
};
|
|
$h.Appointment.prototype.getRegExMatchesByName=function(name)
|
|
{
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._throwOnMethodCallForInsufficientPermission$i$0(1,"getRegExMatchesByName");
|
|
return this._data$p$0._getRegExMatchesByName$i$0(name)
|
|
};
|
|
$h.Appointment.prototype.displayReplyForm=function(obj)
|
|
{
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._displayReplyForm$i$0(obj)
|
|
};
|
|
$h.Appointment.prototype.displayReplyAllForm=function(obj)
|
|
{
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._displayReplyAllForm$i$0(obj)
|
|
};
|
|
$h.AppointmentCompose=function(data)
|
|
{
|
|
this.$$d__getLocation$p$2=Function.createDelegate(this,this._getLocation$p$2);
|
|
this.$$d__getEnd$p$2=Function.createDelegate(this,this._getEnd$p$2);
|
|
this.$$d__getStart$p$2=Function.createDelegate(this,this._getStart$p$2);
|
|
this.$$d__getOptionalAttendees$p$2=Function.createDelegate(this,this._getOptionalAttendees$p$2);
|
|
this.$$d__getRequiredAttendees$p$2=Function.createDelegate(this,this._getRequiredAttendees$p$2);
|
|
$h.AppointmentCompose.initializeBase(this,[data]);
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"requiredAttendees",this.$$d__getRequiredAttendees$p$2);
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"optionalAttendees",this.$$d__getOptionalAttendees$p$2);
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"start",this.$$d__getStart$p$2);
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"end",this.$$d__getEnd$p$2);
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"location",this.$$d__getLocation$p$2)
|
|
};
|
|
$h.AppointmentCompose.prototype={
|
|
_requiredAttendees$p$2: null,
|
|
_optionalAttendees$p$2: null,
|
|
_start$p$2: null,
|
|
_end$p$2: null,
|
|
_location$p$2: null,
|
|
getItemType: function()
|
|
{
|
|
return window["Microsoft"]["Office"]["WebExtension"]["MailboxEnums"]["ItemType"]["Appointment"]
|
|
},
|
|
_getRequiredAttendees$p$2: function()
|
|
{
|
|
this._data$p$0._throwOnRestrictedPermissionLevel$i$0();
|
|
if(!this._requiredAttendees$p$2)
|
|
this._requiredAttendees$p$2=new $h.ComposeRecipient(0,"requiredAttendees");
|
|
return this._requiredAttendees$p$2
|
|
},
|
|
_getOptionalAttendees$p$2: function()
|
|
{
|
|
this._data$p$0._throwOnRestrictedPermissionLevel$i$0();
|
|
if(!this._optionalAttendees$p$2)
|
|
this._optionalAttendees$p$2=new $h.ComposeRecipient(1,"optionalAttendees");
|
|
return this._optionalAttendees$p$2
|
|
},
|
|
_getStart$p$2: function()
|
|
{
|
|
this._data$p$0._throwOnRestrictedPermissionLevel$i$0();
|
|
if(!this._start$p$2)
|
|
this._start$p$2=new $h.ComposeTime(1);
|
|
return this._start$p$2
|
|
},
|
|
_getEnd$p$2: function()
|
|
{
|
|
this._data$p$0._throwOnRestrictedPermissionLevel$i$0();
|
|
if(!this._end$p$2)
|
|
this._end$p$2=new $h.ComposeTime(2);
|
|
return this._end$p$2
|
|
},
|
|
_getLocation$p$2: function()
|
|
{
|
|
this._data$p$0._throwOnRestrictedPermissionLevel$i$0();
|
|
if(!this._location$p$2)
|
|
this._location$p$2=new $h.ComposeLocation;
|
|
return this._location$p$2
|
|
}
|
|
};
|
|
$h.AttachmentConstants=function(){};
|
|
$h.AttachmentDetails=function(data)
|
|
{
|
|
this.$$d__getIsInline$p$0=Function.createDelegate(this,this._getIsInline$p$0);
|
|
this.$$d__getAttachmentType$p$0=Function.createDelegate(this,this._getAttachmentType$p$0);
|
|
this.$$d__getSize$p$0=Function.createDelegate(this,this._getSize$p$0);
|
|
this.$$d__getContentType$p$0=Function.createDelegate(this,this._getContentType$p$0);
|
|
this.$$d__getName$p$0=Function.createDelegate(this,this._getName$p$0);
|
|
this.$$d__getId$p$0=Function.createDelegate(this,this._getId$p$0);
|
|
this._data$p$0=data;
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"id",this.$$d__getId$p$0);
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"name",this.$$d__getName$p$0);
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"contentType",this.$$d__getContentType$p$0);
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"size",this.$$d__getSize$p$0);
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"attachmentType",this.$$d__getAttachmentType$p$0);
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"isInline",this.$$d__getIsInline$p$0)
|
|
};
|
|
$h.AttachmentDetails.prototype={
|
|
_data$p$0: null,
|
|
_getId$p$0: function()
|
|
{
|
|
return this._data$p$0["id"]
|
|
},
|
|
_getName$p$0: function()
|
|
{
|
|
return this._data$p$0["name"]
|
|
},
|
|
_getContentType$p$0: function()
|
|
{
|
|
return this._data$p$0["contentType"]
|
|
},
|
|
_getSize$p$0: function()
|
|
{
|
|
return this._data$p$0["size"]
|
|
},
|
|
_getAttachmentType$p$0: function()
|
|
{
|
|
var response=this._data$p$0["attachmentType"];
|
|
return response < $h.AttachmentDetails._attachmentTypeMap$p["length"] ? $h.AttachmentDetails._attachmentTypeMap$p[response] : window["Microsoft"]["Office"]["WebExtension"]["MailboxEnums"]["AttachmentType"]["File"]
|
|
},
|
|
_getIsInline$p$0: function()
|
|
{
|
|
return this._data$p$0["isInline"]
|
|
}
|
|
};
|
|
$h.Body=function(){};
|
|
$h.Body._tryMapToHostCoercionType$i=function(coercionType, hostCoercionType)
|
|
{
|
|
hostCoercionType.val=undefined;
|
|
if(coercionType===window["Microsoft"]["Office"]["WebExtension"]["CoercionType"]["Html"])
|
|
hostCoercionType.val=3;
|
|
else if(coercionType===window["Microsoft"]["Office"]["WebExtension"]["CoercionType"]["Text"])
|
|
hostCoercionType.val=0;
|
|
else
|
|
return false;
|
|
return true
|
|
};
|
|
$h.Body.prototype.getAsync=function(coercionType)
|
|
{
|
|
var args=[];
|
|
for(var $$pai_7=1; $$pai_7 < arguments["length"];++$$pai_7)
|
|
args[$$pai_7 - 1]=arguments[$$pai_7];
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._throwOnMethodCallForInsufficientPermission$i$0(1,"body.getAsync");
|
|
var commonParameters=$h.CommonParameters.parse(args,true);
|
|
var hostCoercionType;
|
|
var $$t_5,
|
|
$$t_6;
|
|
if(!($$t_6=$h.Body._tryMapToHostCoercionType$i(coercionType,$$t_5={val: hostCoercionType}),hostCoercionType=$$t_5["val"],$$t_6))
|
|
throw Error.argument("coercionType");
|
|
var dataToHost={coercionType: hostCoercionType};
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._standardInvokeHostMethod$i$0(37,dataToHost,null,commonParameters._asyncContext$p$0,commonParameters._callback$p$0)
|
|
};
|
|
$h.ComposeBody=function()
|
|
{
|
|
$h.ComposeBody.initializeBase(this)
|
|
};
|
|
$h.ComposeBody._createParameterDictionaryToHost$i=function(data, parameters)
|
|
{
|
|
var dataToHost={data: data};
|
|
if(parameters._options$p$0 && !$h.ScriptHelpers.isNull(parameters._options$p$0["coercionType"]))
|
|
{
|
|
var hostCoercionType;
|
|
var $$t_4,
|
|
$$t_5;
|
|
if(!($$t_5=$h.Body._tryMapToHostCoercionType$i(parameters._options$p$0["coercionType"],$$t_4={val: hostCoercionType}),hostCoercionType=$$t_4["val"],$$t_5))
|
|
{
|
|
if(parameters._callback$p$0)
|
|
parameters._callback$p$0(window["OSF"]["DDA"]["OutlookAppOm"]._instance$p.createAsyncResult(null,1,1e3,parameters._asyncContext$p$0,null));
|
|
return null
|
|
}
|
|
dataToHost["coercionType"]=hostCoercionType
|
|
}
|
|
else
|
|
dataToHost["coercionType"]=0;
|
|
return dataToHost
|
|
};
|
|
$h.ComposeBody.prototype.getTypeAsync=function()
|
|
{
|
|
var args=[];
|
|
for(var $$pai_2=0; $$pai_2 < arguments["length"];++$$pai_2)
|
|
args[$$pai_2]=arguments[$$pai_2];
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._throwOnMethodCallForInsufficientPermission$i$0(1,"body.getTypeAsync");
|
|
var parameters=$h.CommonParameters.parse(args,true);
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._standardInvokeHostMethod$i$0(14,null,null,parameters._asyncContext$p$0,parameters._callback$p$0)
|
|
};
|
|
$h.ComposeBody.prototype.setSelectedDataAsync=function(data)
|
|
{
|
|
var args=[];
|
|
for(var $$pai_4=1; $$pai_4 < arguments["length"];++$$pai_4)
|
|
args[$$pai_4 - 1]=arguments[$$pai_4];
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._throwOnMethodCallForInsufficientPermission$i$0(2,"body.setSelectedDataAsync");
|
|
var parameters=$h.CommonParameters.parse(args,false);
|
|
if(!String.isInstanceOfType(data))
|
|
throw Error.argumentType("data",Object["getType"](data),String);
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._throwOnOutOfRange$i(data["length"],0,1e6,"data");
|
|
var dataToHost=$h.ComposeBody._createParameterDictionaryToHost$i(data,parameters);
|
|
if(!dataToHost)
|
|
return;
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._standardInvokeHostMethod$i$0(13,dataToHost,null,parameters._asyncContext$p$0,parameters._callback$p$0)
|
|
};
|
|
$h.ComposeBody.prototype.prependAsync=function(data)
|
|
{
|
|
var args=[];
|
|
for(var $$pai_4=1; $$pai_4 < arguments["length"];++$$pai_4)
|
|
args[$$pai_4 - 1]=arguments[$$pai_4];
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._throwOnMethodCallForInsufficientPermission$i$0(2,"body.prependAsync");
|
|
var parameters=$h.CommonParameters.parse(args,false);
|
|
if(!String.isInstanceOfType(data))
|
|
throw Error.argumentType("data",Object["getType"](data),String);
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._throwOnOutOfRange$i(data["length"],0,1e6,"data");
|
|
var dataToHost=$h.ComposeBody._createParameterDictionaryToHost$i(data,parameters);
|
|
if(!dataToHost)
|
|
return;
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._standardInvokeHostMethod$i$0(23,dataToHost,null,parameters._asyncContext$p$0,parameters._callback$p$0)
|
|
};
|
|
$h.ComposeBody.prototype.setAsync=function(data)
|
|
{
|
|
var args=[];
|
|
for(var $$pai_4=1; $$pai_4 < arguments["length"];++$$pai_4)
|
|
args[$$pai_4 - 1]=arguments[$$pai_4];
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._throwOnMethodCallForInsufficientPermission$i$0(2,"body.setAsync");
|
|
var parameters=$h.CommonParameters.parse(args,false);
|
|
if(!String.isInstanceOfType(data))
|
|
throw Error.argumentType("data",Object["getType"](data),String);
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._throwOnOutOfRange$i(data["length"],0,1e6,"data");
|
|
var dataToHost=$h.ComposeBody._createParameterDictionaryToHost$i(data,parameters);
|
|
if(!dataToHost)
|
|
return;
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._standardInvokeHostMethod$i$0(38,dataToHost,null,parameters._asyncContext$p$0,parameters._callback$p$0)
|
|
};
|
|
$h.ComposeItem=function(data)
|
|
{
|
|
this.$$d__getBody$p$1=Function.createDelegate(this,this._getBody$p$1);
|
|
this.$$d__getSubject$p$1=Function.createDelegate(this,this._getSubject$p$1);
|
|
$h.ComposeItem.initializeBase(this,[data]);
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"subject",this.$$d__getSubject$p$1);
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"body",this.$$d__getBody$p$1)
|
|
};
|
|
$h.ComposeItem.prototype={
|
|
_subject$p$1: null,
|
|
_body$p$1: null,
|
|
_getBody$p$1: function()
|
|
{
|
|
this._data$p$0._throwOnRestrictedPermissionLevel$i$0();
|
|
if(!this._body$p$1)
|
|
this._body$p$1=new $h.ComposeBody;
|
|
return this._body$p$1
|
|
},
|
|
_getSubject$p$1: function()
|
|
{
|
|
this._data$p$0._throwOnRestrictedPermissionLevel$i$0();
|
|
if(!this._subject$p$1)
|
|
this._subject$p$1=new $h.ComposeSubject;
|
|
return this._subject$p$1
|
|
}
|
|
};
|
|
$h.ComposeItem.prototype.addFileAttachmentAsync=function(uri, attachmentName)
|
|
{
|
|
var args=[];
|
|
for(var $$pai_5=2; $$pai_5 < arguments["length"];++$$pai_5)
|
|
args[$$pai_5 - 2]=arguments[$$pai_5];
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._throwOnMethodCallForInsufficientPermission$i$0(2,"addFileAttachmentAsync");
|
|
if(!$h.ScriptHelpers.isNonEmptyString(uri))
|
|
throw Error.argument("uri");
|
|
if(!$h.ScriptHelpers.isNonEmptyString(attachmentName))
|
|
throw Error.argument("attachmentName");
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._throwOnOutOfRange$i(uri["length"],0,2048,"uri");
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._throwOnOutOfRange$i(attachmentName["length"],0,255,"attachmentName");
|
|
var commonParameters=$h.CommonParameters.parse(args,false);
|
|
var parameters={
|
|
uri: uri,
|
|
name: attachmentName,
|
|
__timeout__: 6e5
|
|
};
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._standardInvokeHostMethod$i$0(16,parameters,null,commonParameters._asyncContext$p$0,commonParameters._callback$p$0)
|
|
};
|
|
$h.ComposeItem.prototype.addItemAttachmentAsync=function(itemId, attachmentName)
|
|
{
|
|
var args=[];
|
|
for(var $$pai_5=2; $$pai_5 < arguments["length"];++$$pai_5)
|
|
args[$$pai_5 - 2]=arguments[$$pai_5];
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._throwOnMethodCallForInsufficientPermission$i$0(2,"addItemAttachmentAsync");
|
|
if(!$h.ScriptHelpers.isNonEmptyString(itemId))
|
|
throw Error.argument("itemId");
|
|
if(!$h.ScriptHelpers.isNonEmptyString(attachmentName))
|
|
throw Error.argument("attachmentName");
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._throwOnOutOfRange$i(itemId["length"],0,200,"itemId");
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._throwOnOutOfRange$i(attachmentName["length"],0,255,"attachmentName");
|
|
var commonParameters=$h.CommonParameters.parse(args,false);
|
|
var parameters={
|
|
itemId: window["OSF"]["DDA"]["OutlookAppOm"].getItemIdBasedOnHost(itemId),
|
|
name: attachmentName,
|
|
__timeout__: 6e5
|
|
};
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._standardInvokeHostMethod$i$0(19,parameters,null,commonParameters._asyncContext$p$0,commonParameters._callback$p$0)
|
|
};
|
|
$h.ComposeItem.prototype.removeAttachmentAsync=function(attachmentId)
|
|
{
|
|
var args=[];
|
|
for(var $$pai_3=1; $$pai_3 < arguments["length"];++$$pai_3)
|
|
args[$$pai_3 - 1]=arguments[$$pai_3];
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._throwOnMethodCallForInsufficientPermission$i$0(2,"removeAttachmentAsync");
|
|
if(!$h.ScriptHelpers.isNonEmptyString(attachmentId))
|
|
throw Error.argument("attachmentId");
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._throwOnOutOfRange$i(attachmentId["length"],0,200,"attachmentId");
|
|
var commonParameters=$h.CommonParameters.parse(args,false);
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._standardInvokeHostMethod$i$0(20,{attachmentIndex: attachmentId},null,commonParameters._asyncContext$p$0,commonParameters._callback$p$0)
|
|
};
|
|
$h.ComposeItem.prototype.getSelectedDataAsync=function(coercionType)
|
|
{
|
|
var args=[];
|
|
for(var $$pai_7=1; $$pai_7 < arguments["length"];++$$pai_7)
|
|
args[$$pai_7 - 1]=arguments[$$pai_7];
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._throwOnMethodCallForInsufficientPermission$i$0(1,"getSelectedDataAsync");
|
|
var commonParameters=$h.CommonParameters.parse(args,true);
|
|
var hostCoercionType;
|
|
var $$t_5,
|
|
$$t_6;
|
|
if(coercionType !==window["Microsoft"]["Office"]["WebExtension"]["CoercionType"]["Html"] && coercionType !==window["Microsoft"]["Office"]["WebExtension"]["CoercionType"]["Text"] || !($$t_6=$h.Body._tryMapToHostCoercionType$i(coercionType,$$t_5={val: hostCoercionType}),hostCoercionType=$$t_5["val"],$$t_6))
|
|
throw Error.argument("coercionType");
|
|
var dataToHost={coercionType: hostCoercionType};
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._standardInvokeHostMethod$i$0(28,dataToHost,null,commonParameters._asyncContext$p$0,commonParameters._callback$p$0)
|
|
};
|
|
$h.ComposeItem.prototype.setSelectedDataAsync=function(data)
|
|
{
|
|
var args=[];
|
|
for(var $$pai_4=1; $$pai_4 < arguments["length"];++$$pai_4)
|
|
args[$$pai_4 - 1]=arguments[$$pai_4];
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._throwOnMethodCallForInsufficientPermission$i$0(2,"setSelectedDataAsync");
|
|
var parameters=$h.CommonParameters.parse(args,false);
|
|
if(!String.isInstanceOfType(data))
|
|
throw Error.argumentType("data",Object["getType"](data),String);
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._throwOnOutOfRange$i(data["length"],0,1e6,"data");
|
|
var dataToHost=$h.ComposeBody._createParameterDictionaryToHost$i(data,parameters);
|
|
if(!dataToHost)
|
|
return;
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._standardInvokeHostMethod$i$0(29,dataToHost,null,parameters._asyncContext$p$0,parameters._callback$p$0)
|
|
};
|
|
$h.ComposeItem.prototype.close=function()
|
|
{
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._standardInvokeHostMethod$i$0(41,null,null,null,null)
|
|
};
|
|
$h.ComposeItem.prototype.saveAsync=function()
|
|
{
|
|
var args=[];
|
|
for(var $$pai_2=0; $$pai_2 < arguments["length"];++$$pai_2)
|
|
args[$$pai_2]=arguments[$$pai_2];
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._throwOnMethodCallForInsufficientPermission$i$0(2,"saveAsync");
|
|
var parameters=$h.CommonParameters.parse(args,false);
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._standardInvokeHostMethod$i$0(32,null,null,parameters._asyncContext$p$0,parameters._callback$p$0)
|
|
};
|
|
$h.ComposeRecipient=function(type, propertyName)
|
|
{
|
|
this._type$p$0=type;
|
|
this._propertyName$p$0=propertyName
|
|
};
|
|
$h.ComposeRecipient._throwOnInvalidDisplayNameOrEmail$p=function(displayName, emailAddress)
|
|
{
|
|
if(!displayName && !emailAddress)
|
|
throw Error.argument("recipients");
|
|
if(displayName && displayName["length"] > 255)
|
|
throw Error.argumentOutOfRange("recipients",displayName["length"],window["_u"]["ExtensibilityStrings"]["l_DisplayNameTooLong_Text"]);
|
|
if(emailAddress && emailAddress["length"] > 571)
|
|
throw Error.argumentOutOfRange("recipients",emailAddress["length"],window["_u"]["ExtensibilityStrings"]["l_EmailAddressTooLong_Text"]);
|
|
};
|
|
$h.ComposeRecipient._getAsyncFormatter$p=function(rawInput)
|
|
{
|
|
var input=rawInput;
|
|
var output=[];
|
|
for(var i=0; i < input["length"]; i++)
|
|
{
|
|
var email=new $h.EmailAddressDetails(input[i]);
|
|
output[i]=email
|
|
}
|
|
return output
|
|
};
|
|
$h.ComposeRecipient._createEmailDictionaryForHost$p=function(address, name)
|
|
{
|
|
return{
|
|
address: address,
|
|
name: name
|
|
}
|
|
};
|
|
$h.ComposeRecipient.prototype={
|
|
_propertyName$p$0: null,
|
|
_type$p$0: 0,
|
|
setAddHelper: function(recipients, args, isSet)
|
|
{
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._throwOnOutOfRange$i(recipients["length"],0,100,"recipients");
|
|
var parameters=$h.CommonParameters.parse(args,false);
|
|
var recipientData=[];
|
|
if(Array.isInstanceOfType(recipients))
|
|
for(var i=0; i < recipients["length"]; i++)
|
|
if(String.isInstanceOfType(recipients[i]))
|
|
{
|
|
$h.ComposeRecipient._throwOnInvalidDisplayNameOrEmail$p(recipients[i],recipients[i]);
|
|
recipientData[i]=$h.ComposeRecipient._createEmailDictionaryForHost$p(recipients[i],recipients[i])
|
|
}
|
|
else if($h.EmailAddressDetails.isInstanceOfType(recipients[i]))
|
|
{
|
|
var address=recipients[i];
|
|
$h.ComposeRecipient._throwOnInvalidDisplayNameOrEmail$p(address["displayName"],address["emailAddress"]);
|
|
recipientData[i]=$h.ComposeRecipient._createEmailDictionaryForHost$p(address["emailAddress"],address["displayName"])
|
|
}
|
|
else if(Object.isInstanceOfType(recipients[i]))
|
|
{
|
|
var input=recipients[i];
|
|
var emailAddress=input["emailAddress"];
|
|
var displayName=input["displayName"];
|
|
$h.ComposeRecipient._throwOnInvalidDisplayNameOrEmail$p(displayName,emailAddress);
|
|
recipientData[i]=$h.ComposeRecipient._createEmailDictionaryForHost$p(emailAddress,displayName)
|
|
}
|
|
else
|
|
throw Error.argument("recipients");
|
|
else
|
|
throw Error.argument("recipients");
|
|
var $$t_B=this;
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._standardInvokeHostMethod$i$0(isSet ? 21 : 22,{
|
|
recipientField: this._type$p$0,
|
|
recipientArray: recipientData
|
|
},function(rawInput)
|
|
{
|
|
return rawInput
|
|
},parameters._asyncContext$p$0,parameters._callback$p$0)
|
|
}
|
|
};
|
|
$h.ComposeRecipient.prototype.getAsync=function()
|
|
{
|
|
var args=[];
|
|
for(var $$pai_2=0; $$pai_2 < arguments["length"];++$$pai_2)
|
|
args[$$pai_2]=arguments[$$pai_2];
|
|
var parameters=$h.CommonParameters.parse(args,true);
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._throwOnMethodCallForInsufficientPermission$i$0(1,this._propertyName$p$0+".getAsync");
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._standardInvokeHostMethod$i$0(15,{recipientField: this._type$p$0},$h.ComposeRecipient._getAsyncFormatter$p,parameters._asyncContext$p$0,parameters._callback$p$0)
|
|
};
|
|
$h.ComposeRecipient.prototype.setAsync=function(recipients)
|
|
{
|
|
var args=[];
|
|
for(var $$pai_2=1; $$pai_2 < arguments["length"];++$$pai_2)
|
|
args[$$pai_2 - 1]=arguments[$$pai_2];
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._throwOnMethodCallForInsufficientPermission$i$0(2,this._propertyName$p$0+".setAsync");
|
|
this.setAddHelper(recipients,args,true)
|
|
};
|
|
$h.ComposeRecipient.prototype.addAsync=function(recipients)
|
|
{
|
|
var args=[];
|
|
for(var $$pai_2=1; $$pai_2 < arguments["length"];++$$pai_2)
|
|
args[$$pai_2 - 1]=arguments[$$pai_2];
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._throwOnMethodCallForInsufficientPermission$i$0(2,this._propertyName$p$0+".addAsync");
|
|
this.setAddHelper(recipients,args,false)
|
|
};
|
|
$h.ComposeRecipient.RecipientField=function(){};
|
|
$h.ComposeRecipient.RecipientField.prototype={
|
|
to: 0,
|
|
cc: 1,
|
|
bcc: 2,
|
|
requiredAttendees: 0,
|
|
optionalAttendees: 1
|
|
};
|
|
$h.ComposeRecipient.RecipientField.registerEnum("$h.ComposeRecipient.RecipientField",false);
|
|
$h.ComposeLocation=function(){};
|
|
$h.ComposeLocation.prototype.getAsync=function()
|
|
{
|
|
var args=[];
|
|
for(var $$pai_2=0; $$pai_2 < arguments["length"];++$$pai_2)
|
|
args[$$pai_2]=arguments[$$pai_2];
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._throwOnMethodCallForInsufficientPermission$i$0(1,"location.getAsync");
|
|
var parameters=$h.CommonParameters.parse(args,true);
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._standardInvokeHostMethod$i$0(26,null,null,parameters._asyncContext$p$0,parameters._callback$p$0)
|
|
};
|
|
$h.ComposeLocation.prototype.setAsync=function(location)
|
|
{
|
|
var args=[];
|
|
for(var $$pai_3=1; $$pai_3 < arguments["length"];++$$pai_3)
|
|
args[$$pai_3 - 1]=arguments[$$pai_3];
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._throwOnMethodCallForInsufficientPermission$i$0(2,"location.setAsync");
|
|
var parameters=$h.CommonParameters.parse(args,false);
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._throwOnOutOfRange$i(location["length"],0,255,"location");
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._standardInvokeHostMethod$i$0(27,{location: location},null,parameters._asyncContext$p$0,parameters._callback$p$0)
|
|
};
|
|
$h.ComposeSubject=function(){};
|
|
$h.ComposeSubject.prototype.getAsync=function()
|
|
{
|
|
var args=[];
|
|
for(var $$pai_2=0; $$pai_2 < arguments["length"];++$$pai_2)
|
|
args[$$pai_2]=arguments[$$pai_2];
|
|
var parameters=$h.CommonParameters.parse(args,true);
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._throwOnMethodCallForInsufficientPermission$i$0(1,"subject.getAsync");
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._standardInvokeHostMethod$i$0(18,null,null,parameters._asyncContext$p$0,parameters._callback$p$0)
|
|
};
|
|
$h.ComposeSubject.prototype.setAsync=function(data)
|
|
{
|
|
var args=[];
|
|
for(var $$pai_3=1; $$pai_3 < arguments["length"];++$$pai_3)
|
|
args[$$pai_3 - 1]=arguments[$$pai_3];
|
|
var parameters=$h.CommonParameters.parse(args,false);
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._throwOnMethodCallForInsufficientPermission$i$0(2,"subject.setAsync");
|
|
if(!String.isInstanceOfType(data))
|
|
throw Error.argument("data");
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._throwOnOutOfRange$i(data["length"],0,255,"data");
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._standardInvokeHostMethod$i$0(17,{subject: data},null,parameters._asyncContext$p$0,parameters._callback$p$0)
|
|
};
|
|
$h.ComposeTime=function(type)
|
|
{
|
|
this.$$d__ticksToDateFormatter$p$0=Function.createDelegate(this,this._ticksToDateFormatter$p$0);
|
|
this._timeType$p$0=type
|
|
};
|
|
$h.ComposeTime.prototype={
|
|
_timeType$p$0: 0,
|
|
_ticksToDateFormatter$p$0: function(rawInput)
|
|
{
|
|
var ticks=rawInput;
|
|
return new Date(ticks)
|
|
},
|
|
_getPropertyName$p$0: function()
|
|
{
|
|
return this._timeType$p$0===1 ? "start" : "end"
|
|
}
|
|
};
|
|
$h.ComposeTime.prototype.getAsync=function()
|
|
{
|
|
var args=[];
|
|
for(var $$pai_2=0; $$pai_2 < arguments["length"];++$$pai_2)
|
|
args[$$pai_2]=arguments[$$pai_2];
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._throwOnMethodCallForInsufficientPermission$i$0(1,this._getPropertyName$p$0()+".getAsync");
|
|
var parameters=$h.CommonParameters.parse(args,true);
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._standardInvokeHostMethod$i$0(24,{TimeProperty: this._timeType$p$0},this.$$d__ticksToDateFormatter$p$0,parameters._asyncContext$p$0,parameters._callback$p$0)
|
|
};
|
|
$h.ComposeTime.prototype.setAsync=function(dateTime)
|
|
{
|
|
var args=[];
|
|
for(var $$pai_3=1; $$pai_3 < arguments["length"];++$$pai_3)
|
|
args[$$pai_3 - 1]=arguments[$$pai_3];
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._throwOnMethodCallForInsufficientPermission$i$0(2,this._getPropertyName$p$0()+".setAsync");
|
|
if(!Date.isInstanceOfType(dateTime))
|
|
throw Error.argumentType("dateTime",Object["getType"](dateTime),Date);
|
|
if(window["isNaN"](dateTime["getTime"]()))
|
|
throw Error.argument("dateTime");
|
|
if(dateTime["getTime"]() < -864e13 || dateTime["getTime"]() > 864e13)
|
|
throw Error.argumentOutOfRange("dateTime");
|
|
var parameters=$h.CommonParameters.parse(args,false);
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._standardInvokeHostMethod$i$0(25,{
|
|
TimeProperty: this._timeType$p$0,
|
|
time: dateTime["getTime"]()
|
|
},null,parameters._asyncContext$p$0,parameters._callback$p$0)
|
|
};
|
|
$h.ComposeTime.TimeType=function(){};
|
|
$h.ComposeTime.TimeType.prototype={
|
|
start: 1,
|
|
end: 2
|
|
};
|
|
$h.ComposeTime.TimeType.registerEnum("$h.ComposeTime.TimeType",false);
|
|
$h.Contact=function(data)
|
|
{
|
|
this.$$d__getContactString$p$0=Function.createDelegate(this,this._getContactString$p$0);
|
|
this.$$d__getAddresses$p$0=Function.createDelegate(this,this._getAddresses$p$0);
|
|
this.$$d__getUrls$p$0=Function.createDelegate(this,this._getUrls$p$0);
|
|
this.$$d__getEmailAddresses$p$0=Function.createDelegate(this,this._getEmailAddresses$p$0);
|
|
this.$$d__getPhoneNumbers$p$0=Function.createDelegate(this,this._getPhoneNumbers$p$0);
|
|
this.$$d__getBusinessName$p$0=Function.createDelegate(this,this._getBusinessName$p$0);
|
|
this.$$d__getPersonName$p$0=Function.createDelegate(this,this._getPersonName$p$0);
|
|
this._data$p$0=data;
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"personName",this.$$d__getPersonName$p$0);
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"businessName",this.$$d__getBusinessName$p$0);
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"phoneNumbers",this.$$d__getPhoneNumbers$p$0);
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"emailAddresses",this.$$d__getEmailAddresses$p$0);
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"urls",this.$$d__getUrls$p$0);
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"addresses",this.$$d__getAddresses$p$0);
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"contactString",this.$$d__getContactString$p$0)
|
|
};
|
|
$h.Contact.prototype={
|
|
_data$p$0: null,
|
|
_phoneNumbers$p$0: null,
|
|
_getPersonName$p$0: function()
|
|
{
|
|
return this._data$p$0["PersonName"]
|
|
},
|
|
_getBusinessName$p$0: function()
|
|
{
|
|
return this._data$p$0["BusinessName"]
|
|
},
|
|
_getAddresses$p$0: function()
|
|
{
|
|
return $h.Entities._getExtractedStringProperty$i(this._data$p$0,"Addresses")
|
|
},
|
|
_getEmailAddresses$p$0: function()
|
|
{
|
|
return $h.Entities._getExtractedStringProperty$i(this._data$p$0,"EmailAddresses")
|
|
},
|
|
_getUrls$p$0: function()
|
|
{
|
|
return $h.Entities._getExtractedStringProperty$i(this._data$p$0,"Urls")
|
|
},
|
|
_getPhoneNumbers$p$0: function()
|
|
{
|
|
if(!this._phoneNumbers$p$0)
|
|
{
|
|
var $$t_1=this;
|
|
this._phoneNumbers$p$0=$h.Entities._getExtractedObjects$i($h.PhoneNumber,this._data$p$0,"PhoneNumbers",function(data)
|
|
{
|
|
return new $h.PhoneNumber(data)
|
|
})
|
|
}
|
|
return this._phoneNumbers$p$0
|
|
},
|
|
_getContactString$p$0: function()
|
|
{
|
|
return this._data$p$0["ContactString"]
|
|
}
|
|
};
|
|
$h.CustomProperties=function(data)
|
|
{
|
|
if($h.ScriptHelpers.isNullOrUndefined(data))
|
|
throw Error.argumentNull("data");
|
|
if(Array.isInstanceOfType(data))
|
|
{
|
|
var customPropertiesArray=data;
|
|
if(customPropertiesArray["length"] > 0)
|
|
this._data$p$0=customPropertiesArray[0];
|
|
else
|
|
throw Error.argument("data");
|
|
}
|
|
else
|
|
this._data$p$0=data
|
|
};
|
|
$h.CustomProperties.prototype={_data$p$0: null};
|
|
$h.CustomProperties.prototype.get=function(name)
|
|
{
|
|
var value=this._data$p$0[name];
|
|
if(typeof value==="string")
|
|
{
|
|
var valueString=value;
|
|
if(valueString["length"] > 6 && valueString.startsWith("Date(") && valueString.endsWith(")"))
|
|
{
|
|
var ticksString=valueString["substring"](5,valueString["length"] - 1);
|
|
var ticks=window["parseInt"](ticksString);
|
|
if(!window["isNaN"](ticks))
|
|
{
|
|
var dateTimeValue=new Date(ticks);
|
|
if(dateTimeValue)
|
|
value=dateTimeValue
|
|
}
|
|
}
|
|
}
|
|
return value
|
|
};
|
|
$h.CustomProperties.prototype.set=function(name, value)
|
|
{
|
|
if(window["OSF"]["OUtil"]["isDate"](value))
|
|
value="Date("+value["getTime"]()+")";
|
|
this._data$p$0[name]=value
|
|
};
|
|
$h.CustomProperties.prototype.remove=function(name)
|
|
{
|
|
delete this._data$p$0[name]
|
|
};
|
|
$h.CustomProperties.prototype.saveAsync=function()
|
|
{
|
|
var args=[];
|
|
for(var $$pai_4=0; $$pai_4 < arguments["length"];++$$pai_4)
|
|
args[$$pai_4]=arguments[$$pai_4];
|
|
var MaxCustomPropertiesLength=2500;
|
|
if(window["JSON"]["stringify"](this._data$p$0)["length"] > MaxCustomPropertiesLength)
|
|
throw Error.argument();
|
|
var parameters=$h.CommonParameters.parse(args,false,true);
|
|
var saveCustomProperties=new $h.SaveDictionaryRequest(parameters._callback$p$0,parameters._asyncContext$p$0);
|
|
saveCustomProperties._sendRequest$i$0(4,"SaveCustomProperties",{customProperties: this._data$p$0})
|
|
};
|
|
$h.Diagnostics=function(data, appName)
|
|
{
|
|
this.$$d__getOwaView$p$0=Function.createDelegate(this,this._getOwaView$p$0);
|
|
this.$$d__getHostVersion$p$0=Function.createDelegate(this,this._getHostVersion$p$0);
|
|
this.$$d__getHostName$p$0=Function.createDelegate(this,this._getHostName$p$0);
|
|
this._data$p$0=data;
|
|
this._appName$p$0=appName;
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"hostName",this.$$d__getHostName$p$0);
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"hostVersion",this.$$d__getHostVersion$p$0);
|
|
if(64===this._appName$p$0)
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"OWAView",this.$$d__getOwaView$p$0)
|
|
};
|
|
$h.Diagnostics.prototype={
|
|
_data$p$0: null,
|
|
_appName$p$0: 0,
|
|
_getHostName$p$0: function()
|
|
{
|
|
if(8===this._appName$p$0)
|
|
return"Outlook";
|
|
else if(64===this._appName$p$0)
|
|
return"OutlookWebApp";
|
|
return null
|
|
},
|
|
_getHostVersion$p$0: function()
|
|
{
|
|
return this._data$p$0.get__hostVersion$i$0()
|
|
},
|
|
_getOwaView$p$0: function()
|
|
{
|
|
return this._data$p$0.get__owaView$i$0()
|
|
}
|
|
};
|
|
$h.EmailAddressDetails=function(data)
|
|
{
|
|
this.$$d__getRecipientType$p$0=Function.createDelegate(this,this._getRecipientType$p$0);
|
|
this.$$d__getAppointmentResponse$p$0=Function.createDelegate(this,this._getAppointmentResponse$p$0);
|
|
this.$$d__getDisplayName$p$0=Function.createDelegate(this,this._getDisplayName$p$0);
|
|
this.$$d__getEmailAddress$p$0=Function.createDelegate(this,this._getEmailAddress$p$0);
|
|
this._data$p$0=data;
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"emailAddress",this.$$d__getEmailAddress$p$0);
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"displayName",this.$$d__getDisplayName$p$0);
|
|
if($h.ScriptHelpers.dictionaryContainsKey(data,"appointmentResponse"))
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"appointmentResponse",this.$$d__getAppointmentResponse$p$0);
|
|
if($h.ScriptHelpers.dictionaryContainsKey(data,"recipientType"))
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"recipientType",this.$$d__getRecipientType$p$0)
|
|
};
|
|
$h.EmailAddressDetails._createFromEmailUserDictionary$i=function(data)
|
|
{
|
|
var emailAddressDetailsDictionary={};
|
|
var displayName=data["Name"];
|
|
var emailAddress=data["UserId"];
|
|
emailAddressDetailsDictionary["name"]=displayName || $h.EmailAddressDetails._emptyString$p;
|
|
emailAddressDetailsDictionary["address"]=emailAddress || $h.EmailAddressDetails._emptyString$p;
|
|
return new $h.EmailAddressDetails(emailAddressDetailsDictionary)
|
|
};
|
|
$h.EmailAddressDetails.prototype={
|
|
_data$p$0: null,
|
|
_getEmailAddress$p$0: function()
|
|
{
|
|
return this._data$p$0["address"]
|
|
},
|
|
_getDisplayName$p$0: function()
|
|
{
|
|
return this._data$p$0["name"]
|
|
},
|
|
_getAppointmentResponse$p$0: function()
|
|
{
|
|
var response=this._data$p$0["appointmentResponse"];
|
|
return response < $h.EmailAddressDetails._responseTypeMap$p["length"] ? $h.EmailAddressDetails._responseTypeMap$p[response] : window["Microsoft"]["Office"]["WebExtension"]["MailboxEnums"]["ResponseType"]["None"]
|
|
},
|
|
_getRecipientType$p$0: function()
|
|
{
|
|
var response=this._data$p$0["recipientType"];
|
|
return response < $h.EmailAddressDetails._recipientTypeMap$p["length"] ? $h.EmailAddressDetails._recipientTypeMap$p[response] : window["Microsoft"]["Office"]["WebExtension"]["MailboxEnums"]["RecipientType"]["Other"]
|
|
}
|
|
};
|
|
$h.EmailAddressDetails.prototype.toJSON=function()
|
|
{
|
|
var result={};
|
|
result["emailAddress"]=this._getEmailAddress$p$0();
|
|
result["displayName"]=this._getDisplayName$p$0();
|
|
if($h.ScriptHelpers.dictionaryContainsKey(this._data$p$0,"appointmentResponse"))
|
|
result["appointmentResponse"]=this._getAppointmentResponse$p$0();
|
|
if($h.ScriptHelpers.dictionaryContainsKey(this._data$p$0,"recipientType"))
|
|
result["recipientType"]=this._getRecipientType$p$0();
|
|
return result
|
|
};
|
|
$h.Entities=function(data, filteredEntitiesData, timeSent, permissionLevel)
|
|
{
|
|
this.$$d__createMeetingSuggestion$p$0=Function.createDelegate(this,this._createMeetingSuggestion$p$0);
|
|
this.$$d__getParcelDeliveries$p$0=Function.createDelegate(this,this._getParcelDeliveries$p$0);
|
|
this.$$d__getFlightReservations$p$0=Function.createDelegate(this,this._getFlightReservations$p$0);
|
|
this.$$d__getContacts$p$0=Function.createDelegate(this,this._getContacts$p$0);
|
|
this.$$d__getPhoneNumbers$p$0=Function.createDelegate(this,this._getPhoneNumbers$p$0);
|
|
this.$$d__getUrls$p$0=Function.createDelegate(this,this._getUrls$p$0);
|
|
this.$$d__getEmailAddresses$p$0=Function.createDelegate(this,this._getEmailAddresses$p$0);
|
|
this.$$d__getMeetingSuggestions$p$0=Function.createDelegate(this,this._getMeetingSuggestions$p$0);
|
|
this.$$d__getTaskSuggestions$p$0=Function.createDelegate(this,this._getTaskSuggestions$p$0);
|
|
this.$$d__getAddresses$p$0=Function.createDelegate(this,this._getAddresses$p$0);
|
|
this._data$p$0=data || {};
|
|
this._filteredData$p$0=filteredEntitiesData || {};
|
|
this._dateTimeSent$p$0=timeSent;
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"addresses",this.$$d__getAddresses$p$0);
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"taskSuggestions",this.$$d__getTaskSuggestions$p$0);
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"meetingSuggestions",this.$$d__getMeetingSuggestions$p$0);
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"emailAddresses",this.$$d__getEmailAddresses$p$0);
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"urls",this.$$d__getUrls$p$0);
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"phoneNumbers",this.$$d__getPhoneNumbers$p$0);
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"contacts",this.$$d__getContacts$p$0);
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"flightReservations",this.$$d__getFlightReservations$p$0);
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"parcelDeliveries",this.$$d__getParcelDeliveries$p$0);
|
|
this._permissionLevel$p$0=permissionLevel
|
|
};
|
|
$h.Entities._getExtractedObjects$i=function(T, data, name, creator, removeDuplicates, stringPropertyName)
|
|
{
|
|
var results=null;
|
|
var extractedObjects=data[name];
|
|
if(!extractedObjects)
|
|
return new Array(0);
|
|
if(removeDuplicates)
|
|
extractedObjects=$h.Entities._removeDuplicate$p(Object,extractedObjects,$h.Entities._entityDictionaryEquals$p,stringPropertyName);
|
|
results=new Array(extractedObjects["length"]);
|
|
var count=0;
|
|
for(var $$arr_9=extractedObjects, $$len_A=$$arr_9["length"], $$idx_B=0; $$idx_B < $$len_A;++$$idx_B)
|
|
{
|
|
var extractedObject=$$arr_9[$$idx_B];
|
|
if(creator)
|
|
results[count++]=creator(extractedObject);
|
|
else
|
|
results[count++]=extractedObject
|
|
}
|
|
return results
|
|
};
|
|
$h.Entities._getExtractedStringProperty$i=function(data, name, removeDuplicate)
|
|
{
|
|
var extractedProperties=data[name];
|
|
if(!extractedProperties)
|
|
return new Array(0);
|
|
if(removeDuplicate)
|
|
extractedProperties=$h.Entities._removeDuplicate$p(String,extractedProperties,$h.Entities._stringEquals$p,null);
|
|
return extractedProperties
|
|
};
|
|
$h.Entities._createContact$p=function(data)
|
|
{
|
|
return new $h.Contact(data)
|
|
};
|
|
$h.Entities._createTaskSuggestion$p=function(data)
|
|
{
|
|
return new $h.TaskSuggestion(data)
|
|
};
|
|
$h.Entities._createPhoneNumber$p=function(data)
|
|
{
|
|
return new $h.PhoneNumber(data)
|
|
};
|
|
$h.Entities._entityDictionaryEquals$p=function(dictionary1, dictionary2, entityPropertyIdentifier)
|
|
{
|
|
if(dictionary1===dictionary2)
|
|
return true;
|
|
if(!dictionary1 || !dictionary2)
|
|
return false;
|
|
if(dictionary1[entityPropertyIdentifier]===dictionary2[entityPropertyIdentifier])
|
|
return true;
|
|
return false
|
|
};
|
|
$h.Entities._stringEquals$p=function(string1, string2, entityProperty)
|
|
{
|
|
return string1===string2
|
|
};
|
|
$h.Entities._removeDuplicate$p=function(T, array, entityEquals, entityPropertyIdentifier)
|
|
{
|
|
for(var matchIndex1=array["length"] - 1; matchIndex1 >=0; matchIndex1--)
|
|
{
|
|
var removeMatch=false;
|
|
for(var matchIndex2=matchIndex1 - 1; matchIndex2 >=0; matchIndex2--)
|
|
if(entityEquals(array[matchIndex1],array[matchIndex2],entityPropertyIdentifier))
|
|
{
|
|
removeMatch=true;
|
|
break
|
|
}
|
|
if(removeMatch)
|
|
Array.removeAt(array,matchIndex1)
|
|
}
|
|
return array
|
|
};
|
|
$h.Entities.prototype={
|
|
_dateTimeSent$p$0: null,
|
|
_data$p$0: null,
|
|
_filteredData$p$0: null,
|
|
_filteredEntitiesCache$p$0: null,
|
|
_permissionLevel$p$0: 0,
|
|
_taskSuggestions$p$0: null,
|
|
_meetingSuggestions$p$0: null,
|
|
_phoneNumbers$p$0: null,
|
|
_contacts$p$0: null,
|
|
_addresses$p$0: null,
|
|
_emailAddresses$p$0: null,
|
|
_urls$p$0: null,
|
|
_flightReservations$p$0: null,
|
|
_parcelDeliveries$p$0: null,
|
|
_getByType$i$0: function(entityType)
|
|
{
|
|
if(entityType===window["Microsoft"]["Office"]["WebExtension"]["MailboxEnums"]["EntityType"]["MeetingSuggestion"])
|
|
return this._getMeetingSuggestions$p$0();
|
|
else if(entityType===window["Microsoft"]["Office"]["WebExtension"]["MailboxEnums"]["EntityType"]["TaskSuggestion"])
|
|
return this._getTaskSuggestions$p$0();
|
|
else if(entityType===window["Microsoft"]["Office"]["WebExtension"]["MailboxEnums"]["EntityType"]["Address"])
|
|
return this._getAddresses$p$0();
|
|
else if(entityType===window["Microsoft"]["Office"]["WebExtension"]["MailboxEnums"]["EntityType"]["PhoneNumber"])
|
|
return this._getPhoneNumbers$p$0();
|
|
else if(entityType===window["Microsoft"]["Office"]["WebExtension"]["MailboxEnums"]["EntityType"]["EmailAddress"])
|
|
return this._getEmailAddresses$p$0();
|
|
else if(entityType===window["Microsoft"]["Office"]["WebExtension"]["MailboxEnums"]["EntityType"]["Url"])
|
|
return this._getUrls$p$0();
|
|
else if(entityType===window["Microsoft"]["Office"]["WebExtension"]["MailboxEnums"]["EntityType"]["Contact"])
|
|
return this._getContacts$p$0();
|
|
else if(entityType===window["Microsoft"]["Office"]["WebExtension"]["MailboxEnums"]["EntityType"]["FlightReservations"])
|
|
return this._getFlightReservations$p$0();
|
|
else if(entityType===window["Microsoft"]["Office"]["WebExtension"]["MailboxEnums"]["EntityType"]["ParcelDeliveries"])
|
|
return this._getParcelDeliveries$p$0();
|
|
return null
|
|
},
|
|
_getFilteredEntitiesByName$i$0: function(name)
|
|
{
|
|
if(!this._filteredEntitiesCache$p$0)
|
|
this._filteredEntitiesCache$p$0={};
|
|
if(!$h.ScriptHelpers.dictionaryContainsKey(this._filteredEntitiesCache$p$0,name))
|
|
{
|
|
var found=false;
|
|
for(var i=0; i < $h.Entities._allEntityKeys$p["length"]; i++)
|
|
{
|
|
var entityTypeKey=$h.Entities._allEntityKeys$p[i];
|
|
var perEntityTypeDictionary=this._filteredData$p$0[entityTypeKey];
|
|
if(!perEntityTypeDictionary)
|
|
continue;
|
|
if($h.ScriptHelpers.dictionaryContainsKey(perEntityTypeDictionary,name))
|
|
{
|
|
switch(entityTypeKey)
|
|
{
|
|
case"EmailAddresses":
|
|
case"Urls":
|
|
this._filteredEntitiesCache$p$0[name]=$h.Entities._getExtractedStringProperty$i(perEntityTypeDictionary,name);
|
|
break;
|
|
case"Addresses":
|
|
this._filteredEntitiesCache$p$0[name]=$h.Entities._getExtractedStringProperty$i(perEntityTypeDictionary,name,true);
|
|
break;
|
|
case"PhoneNumbers":
|
|
this._filteredEntitiesCache$p$0[name]=$h.Entities._getExtractedObjects$i($h.PhoneNumber,perEntityTypeDictionary,name,$h.Entities._createPhoneNumber$p,false,null);
|
|
break;
|
|
case"TaskSuggestions":
|
|
this._filteredEntitiesCache$p$0[name]=$h.Entities._getExtractedObjects$i($h.TaskSuggestion,perEntityTypeDictionary,name,$h.Entities._createTaskSuggestion$p,true,"TaskString");
|
|
break;
|
|
case"MeetingSuggestions":
|
|
this._filteredEntitiesCache$p$0[name]=$h.Entities._getExtractedObjects$i($h.MeetingSuggestion,perEntityTypeDictionary,name,this.$$d__createMeetingSuggestion$p$0,true,"MeetingString");
|
|
break;
|
|
case"Contacts":
|
|
this._filteredEntitiesCache$p$0[name]=$h.Entities._getExtractedObjects$i($h.Contact,perEntityTypeDictionary,name,$h.Entities._createContact$p,true,"ContactString");
|
|
break
|
|
}
|
|
found=true;
|
|
break
|
|
}
|
|
}
|
|
if(!found)
|
|
this._filteredEntitiesCache$p$0[name]=null
|
|
}
|
|
return this._filteredEntitiesCache$p$0[name]
|
|
},
|
|
_createMeetingSuggestion$p$0: function(data)
|
|
{
|
|
return new $h.MeetingSuggestion(data,this._dateTimeSent$p$0)
|
|
},
|
|
_getAddresses$p$0: function()
|
|
{
|
|
if(!this._addresses$p$0)
|
|
this._addresses$p$0=$h.Entities._getExtractedStringProperty$i(this._data$p$0,"Addresses",true);
|
|
return this._addresses$p$0
|
|
},
|
|
_getEmailAddresses$p$0: function()
|
|
{
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._throwOnPropertyAccessForRestrictedPermission$i(this._permissionLevel$p$0);
|
|
if(!this._emailAddresses$p$0)
|
|
this._emailAddresses$p$0=$h.Entities._getExtractedStringProperty$i(this._data$p$0,"EmailAddresses",false);
|
|
return this._emailAddresses$p$0
|
|
},
|
|
_getUrls$p$0: function()
|
|
{
|
|
if(!this._urls$p$0)
|
|
this._urls$p$0=$h.Entities._getExtractedStringProperty$i(this._data$p$0,"Urls",false);
|
|
return this._urls$p$0
|
|
},
|
|
_getPhoneNumbers$p$0: function()
|
|
{
|
|
if(!this._phoneNumbers$p$0)
|
|
this._phoneNumbers$p$0=$h.Entities._getExtractedObjects$i($h.PhoneNumber,this._data$p$0,"PhoneNumbers",$h.Entities._createPhoneNumber$p);
|
|
return this._phoneNumbers$p$0
|
|
},
|
|
_getTaskSuggestions$p$0: function()
|
|
{
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._throwOnPropertyAccessForRestrictedPermission$i(this._permissionLevel$p$0);
|
|
if(!this._taskSuggestions$p$0)
|
|
this._taskSuggestions$p$0=$h.Entities._getExtractedObjects$i($h.TaskSuggestion,this._data$p$0,"TaskSuggestions",$h.Entities._createTaskSuggestion$p,true,"TaskString");
|
|
return this._taskSuggestions$p$0
|
|
},
|
|
_getMeetingSuggestions$p$0: function()
|
|
{
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._throwOnPropertyAccessForRestrictedPermission$i(this._permissionLevel$p$0);
|
|
if(!this._meetingSuggestions$p$0)
|
|
this._meetingSuggestions$p$0=$h.Entities._getExtractedObjects$i($h.MeetingSuggestion,this._data$p$0,"MeetingSuggestions",this.$$d__createMeetingSuggestion$p$0,true,"MeetingString");
|
|
return this._meetingSuggestions$p$0
|
|
},
|
|
_getContacts$p$0: function()
|
|
{
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._throwOnPropertyAccessForRestrictedPermission$i(this._permissionLevel$p$0);
|
|
if(!this._contacts$p$0)
|
|
this._contacts$p$0=$h.Entities._getExtractedObjects$i($h.Contact,this._data$p$0,"Contacts",$h.Entities._createContact$p,true,"ContactString");
|
|
return this._contacts$p$0
|
|
},
|
|
_getParcelDeliveries$p$0: function()
|
|
{
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._throwOnPropertyAccessForRestrictedPermission$i(this._permissionLevel$p$0);
|
|
if(!this._parcelDeliveries$p$0)
|
|
this._parcelDeliveries$p$0=$h.Entities._getExtractedObjects$i(Object,this._data$p$0,"ParcelDeliveries",null);
|
|
return this._parcelDeliveries$p$0
|
|
},
|
|
_getFlightReservations$p$0: function()
|
|
{
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._throwOnPropertyAccessForRestrictedPermission$i(this._permissionLevel$p$0);
|
|
if(!this._flightReservations$p$0)
|
|
this._flightReservations$p$0=$h.Entities._getExtractedObjects$i(Object,this._data$p$0,"FlightReservations",null);
|
|
return this._flightReservations$p$0
|
|
}
|
|
};
|
|
$h.ReplyConstants=function(){};
|
|
$h.AsyncConstants=function(){};
|
|
window["Office"]["cast"]["item"]=Office.cast.item=function(){};
|
|
window["Office"]["cast"]["item"]["toItemRead"]=function(item)
|
|
{
|
|
if($h.Item.isInstanceOfType(item))
|
|
return item;
|
|
throw Error.argumentType();
|
|
};
|
|
window["Office"]["cast"]["item"]["toItemCompose"]=function(item)
|
|
{
|
|
if($h.ComposeItem.isInstanceOfType(item))
|
|
return item;
|
|
throw Error.argumentType();
|
|
};
|
|
window["Office"]["cast"]["item"]["toMessage"]=function(item)
|
|
{
|
|
return window["Office"]["cast"]["item"]["toMessageRead"](item)
|
|
};
|
|
window["Office"]["cast"]["item"]["toMessageRead"]=function(item)
|
|
{
|
|
if($h.Message.isInstanceOfType(item))
|
|
return item;
|
|
throw Error.argumentType();
|
|
};
|
|
window["Office"]["cast"]["item"]["toMessageCompose"]=function(item)
|
|
{
|
|
if($h.MessageCompose.isInstanceOfType(item))
|
|
return item;
|
|
throw Error.argumentType();
|
|
};
|
|
window["Office"]["cast"]["item"]["toMeetingRequest"]=function(item)
|
|
{
|
|
if($h.MeetingRequest.isInstanceOfType(item))
|
|
return item;
|
|
throw Error.argumentType();
|
|
};
|
|
window["Office"]["cast"]["item"]["toAppointment"]=function(item)
|
|
{
|
|
return window["Office"]["cast"]["item"]["toAppointmentRead"](item)
|
|
};
|
|
window["Office"]["cast"]["item"]["toAppointmentRead"]=function(item)
|
|
{
|
|
if($h.Appointment.isInstanceOfType(item))
|
|
return item;
|
|
throw Error.argumentType();
|
|
};
|
|
window["Office"]["cast"]["item"]["toAppointmentCompose"]=function(item)
|
|
{
|
|
if($h.AppointmentCompose.isInstanceOfType(item))
|
|
return item;
|
|
throw Error.argumentType();
|
|
};
|
|
$h.Item=function(data)
|
|
{
|
|
this.$$d__getBody$p$1=Function.createDelegate(this,this._getBody$p$1);
|
|
this.$$d__getAttachments$p$1=Function.createDelegate(this,this._getAttachments$p$1);
|
|
this.$$d__getItemClass$p$1=Function.createDelegate(this,this._getItemClass$p$1);
|
|
this.$$d__getItemId$p$1=Function.createDelegate(this,this._getItemId$p$1);
|
|
this.$$d__getDateTimeModified$p$1=Function.createDelegate(this,this._getDateTimeModified$p$1);
|
|
this.$$d__getDateTimeCreated$p$1=Function.createDelegate(this,this._getDateTimeCreated$p$1);
|
|
$h.Item.initializeBase(this,[data]);
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"dateTimeCreated",this.$$d__getDateTimeCreated$p$1);
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"dateTimeModified",this.$$d__getDateTimeModified$p$1);
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"itemId",this.$$d__getItemId$p$1);
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"itemClass",this.$$d__getItemClass$p$1);
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"attachments",this.$$d__getAttachments$p$1);
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"body",this.$$d__getBody$p$1)
|
|
};
|
|
$h.Item.prototype={
|
|
_body$p$1: null,
|
|
_getItemId$p$1: function()
|
|
{
|
|
return this._data$p$0.get__itemId$i$0()
|
|
},
|
|
_getItemClass$p$1: function()
|
|
{
|
|
return this._data$p$0.get__itemClass$i$0()
|
|
},
|
|
_getDateTimeCreated$p$1: function()
|
|
{
|
|
return this._data$p$0.get__dateTimeCreated$i$0()
|
|
},
|
|
_getDateTimeModified$p$1: function()
|
|
{
|
|
return this._data$p$0.get__dateTimeModified$i$0()
|
|
},
|
|
_getAttachments$p$1: function()
|
|
{
|
|
return this._data$p$0.get__attachments$i$0()
|
|
},
|
|
_getBody$p$1: function()
|
|
{
|
|
if(!this._body$p$1)
|
|
this._body$p$1=new $h.Body;
|
|
return this._body$p$1
|
|
}
|
|
};
|
|
$h.ItemBase=function(data)
|
|
{
|
|
this.$$d__createCustomProperties$i$0=Function.createDelegate(this,this._createCustomProperties$i$0);
|
|
this.$$d__getNotificationMessages$p$0=Function.createDelegate(this,this._getNotificationMessages$p$0);
|
|
this.$$d_getItemType=Function.createDelegate(this,this.getItemType);
|
|
this._data$p$0=data;
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"itemType",this.$$d_getItemType);
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"notificationMessages",this.$$d__getNotificationMessages$p$0)
|
|
};
|
|
$h.ItemBase.prototype={
|
|
_data$p$0: null,
|
|
_notificationMessages$p$0: null,
|
|
get_data: function()
|
|
{
|
|
return this._data$p$0
|
|
},
|
|
_createCustomProperties$i$0: function(data)
|
|
{
|
|
return new $h.CustomProperties(data)
|
|
},
|
|
_getNotificationMessages$p$0: function()
|
|
{
|
|
if(!this._notificationMessages$p$0)
|
|
this._notificationMessages$p$0=new $h.NotificationMessages;
|
|
return this._notificationMessages$p$0
|
|
}
|
|
};
|
|
$h.ItemBase.prototype.loadCustomPropertiesAsync=function()
|
|
{
|
|
var args=[];
|
|
for(var $$pai_3=0; $$pai_3 < arguments["length"];++$$pai_3)
|
|
args[$$pai_3]=arguments[$$pai_3];
|
|
var parameters=$h.CommonParameters.parse(args,true,true);
|
|
var loadCustomProperties=new $h._loadDictionaryRequest(this.$$d__createCustomProperties$i$0,"customProperties",parameters._callback$p$0,parameters._asyncContext$p$0);
|
|
loadCustomProperties._sendRequest$i$0(3,"LoadCustomProperties",{})
|
|
};
|
|
$h.MeetingRequest=function(data)
|
|
{
|
|
this.$$d__getRequiredAttendees$p$3=Function.createDelegate(this,this._getRequiredAttendees$p$3);
|
|
this.$$d__getOptionalAttendees$p$3=Function.createDelegate(this,this._getOptionalAttendees$p$3);
|
|
this.$$d__getLocation$p$3=Function.createDelegate(this,this._getLocation$p$3);
|
|
this.$$d__getEnd$p$3=Function.createDelegate(this,this._getEnd$p$3);
|
|
this.$$d__getStart$p$3=Function.createDelegate(this,this._getStart$p$3);
|
|
$h.MeetingRequest.initializeBase(this,[data]);
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"start",this.$$d__getStart$p$3);
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"end",this.$$d__getEnd$p$3);
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"location",this.$$d__getLocation$p$3);
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"optionalAttendees",this.$$d__getOptionalAttendees$p$3);
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"requiredAttendees",this.$$d__getRequiredAttendees$p$3)
|
|
};
|
|
$h.MeetingRequest.prototype={
|
|
_getStart$p$3: function()
|
|
{
|
|
return this._data$p$0.get__start$i$0()
|
|
},
|
|
_getEnd$p$3: function()
|
|
{
|
|
return this._data$p$0.get__end$i$0()
|
|
},
|
|
_getLocation$p$3: function()
|
|
{
|
|
return this._data$p$0.get__location$i$0()
|
|
},
|
|
_getOptionalAttendees$p$3: function()
|
|
{
|
|
return this._data$p$0.get__cc$i$0()
|
|
},
|
|
_getRequiredAttendees$p$3: function()
|
|
{
|
|
return this._data$p$0.get__to$i$0()
|
|
}
|
|
};
|
|
$h.MeetingSuggestion=function(data, dateTimeSent)
|
|
{
|
|
this.$$d__getEndTime$p$0=Function.createDelegate(this,this._getEndTime$p$0);
|
|
this.$$d__getStartTime$p$0=Function.createDelegate(this,this._getStartTime$p$0);
|
|
this.$$d__getSubject$p$0=Function.createDelegate(this,this._getSubject$p$0);
|
|
this.$$d__getLocation$p$0=Function.createDelegate(this,this._getLocation$p$0);
|
|
this.$$d__getAttendees$p$0=Function.createDelegate(this,this._getAttendees$p$0);
|
|
this.$$d__getMeetingString$p$0=Function.createDelegate(this,this._getMeetingString$p$0);
|
|
this._data$p$0=data;
|
|
this._dateTimeSent$p$0=dateTimeSent;
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"meetingString",this.$$d__getMeetingString$p$0);
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"attendees",this.$$d__getAttendees$p$0);
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"location",this.$$d__getLocation$p$0);
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"subject",this.$$d__getSubject$p$0);
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"start",this.$$d__getStartTime$p$0);
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"end",this.$$d__getEndTime$p$0)
|
|
};
|
|
$h.MeetingSuggestion.prototype={
|
|
_dateTimeSent$p$0: null,
|
|
_data$p$0: null,
|
|
_attendees$p$0: null,
|
|
_getMeetingString$p$0: function()
|
|
{
|
|
return this._data$p$0["MeetingString"]
|
|
},
|
|
_getLocation$p$0: function()
|
|
{
|
|
return this._data$p$0["Location"]
|
|
},
|
|
_getSubject$p$0: function()
|
|
{
|
|
return this._data$p$0["Subject"]
|
|
},
|
|
_getStartTime$p$0: function()
|
|
{
|
|
var time=this._createDateTimeFromParameter$p$0("StartTime");
|
|
var resolvedTime=$h.MeetingSuggestionTimeDecoder.resolve(time,this._dateTimeSent$p$0);
|
|
if(resolvedTime["getTime"]() !==time["getTime"]())
|
|
return window["OSF"]["DDA"]["OutlookAppOm"]._instance$p["convertToUtcClientTime"](window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._dateToDictionary$i$0(resolvedTime));
|
|
return time
|
|
},
|
|
_getEndTime$p$0: function()
|
|
{
|
|
var time=this._createDateTimeFromParameter$p$0("EndTime");
|
|
var resolvedTime=$h.MeetingSuggestionTimeDecoder.resolve(time,this._dateTimeSent$p$0);
|
|
if(resolvedTime["getTime"]() !==time["getTime"]())
|
|
return window["OSF"]["DDA"]["OutlookAppOm"]._instance$p["convertToUtcClientTime"](window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._dateToDictionary$i$0(resolvedTime));
|
|
return time
|
|
},
|
|
_createDateTimeFromParameter$p$0: function(keyName)
|
|
{
|
|
var dateTimeString=this._data$p$0[keyName];
|
|
if(!dateTimeString)
|
|
return null;
|
|
return new Date(dateTimeString)
|
|
},
|
|
_getAttendees$p$0: function()
|
|
{
|
|
if(!this._attendees$p$0)
|
|
{
|
|
var $$t_1=this;
|
|
this._attendees$p$0=$h.Entities._getExtractedObjects$i($h.EmailAddressDetails,this._data$p$0,"Attendees",function(data)
|
|
{
|
|
return $h.EmailAddressDetails._createFromEmailUserDictionary$i(data)
|
|
})
|
|
}
|
|
return this._attendees$p$0
|
|
}
|
|
};
|
|
$h.MeetingSuggestionTimeDecoder=function(){};
|
|
$h.MeetingSuggestionTimeDecoder.resolve=function(inTime, sentTime)
|
|
{
|
|
if(!sentTime)
|
|
return inTime;
|
|
try
|
|
{
|
|
var tod;
|
|
var outDate;
|
|
var extractedDate;
|
|
var sentDate=new Date(sentTime["getFullYear"](),sentTime["getMonth"](),sentTime["getDate"](),0,0,0,0);
|
|
var $$t_7,
|
|
$$t_8,
|
|
$$t_9;
|
|
if(!($$t_9=$h.MeetingSuggestionTimeDecoder._decode$p(inTime,$$t_7={val: extractedDate},$$t_8={val: tod}),extractedDate=$$t_7["val"],tod=$$t_8["val"],$$t_9))
|
|
return inTime;
|
|
else
|
|
{
|
|
if($h._preciseDate.isInstanceOfType(extractedDate))
|
|
outDate=$h.MeetingSuggestionTimeDecoder._resolvePreciseDate$p(sentDate,extractedDate);
|
|
else if($h._relativeDate.isInstanceOfType(extractedDate))
|
|
outDate=$h.MeetingSuggestionTimeDecoder._resolveRelativeDate$p(sentDate,extractedDate);
|
|
else
|
|
outDate=sentDate;
|
|
if(window["isNaN"](outDate["getTime"]()))
|
|
return sentTime;
|
|
outDate["setMilliseconds"](outDate["getMilliseconds"]()+tod);
|
|
return outDate
|
|
}
|
|
}
|
|
catch($$e_6)
|
|
{
|
|
return sentTime
|
|
}
|
|
};
|
|
$h.MeetingSuggestionTimeDecoder._isNullOrUndefined$i=function(value)
|
|
{
|
|
return null===value || value===undefined
|
|
};
|
|
$h.MeetingSuggestionTimeDecoder._resolvePreciseDate$p=function(sentDate, precise)
|
|
{
|
|
var year=precise._year$i$1;
|
|
var month=!precise._month$i$1 ? sentDate["getMonth"]() : precise._month$i$1 - 1;
|
|
var day=precise._day$i$1;
|
|
if(!day)
|
|
return sentDate;
|
|
var candidate;
|
|
if($h.MeetingSuggestionTimeDecoder._isNullOrUndefined$i(year))
|
|
{
|
|
candidate=new Date(sentDate["getFullYear"](),month,day);
|
|
if(candidate["getTime"]() < sentDate["getTime"]())
|
|
candidate=new Date(sentDate["getFullYear"]()+1,month,day)
|
|
}
|
|
else
|
|
candidate=new Date(year < 50 ? 2e3+year : 1900+year,month,day);
|
|
if(candidate["getMonth"]() !==month)
|
|
return sentDate;
|
|
return candidate
|
|
};
|
|
$h.MeetingSuggestionTimeDecoder._resolveRelativeDate$p=function(sentDate, relative)
|
|
{
|
|
var date;
|
|
switch(relative._unit$i$1)
|
|
{
|
|
case 0:
|
|
date=new Date(sentDate["getFullYear"](),sentDate["getMonth"](),sentDate["getDate"]());
|
|
date["setDate"](date["getDate"]()+relative._offset$i$1);
|
|
return date;
|
|
case 5:
|
|
return $h.MeetingSuggestionTimeDecoder._findBestDateForWeekDate$p(sentDate,relative._offset$i$1,relative._tag$i$1);
|
|
case 2:
|
|
var days=1;
|
|
switch(relative._modifier$i$1)
|
|
{
|
|
case 1:
|
|
break;
|
|
case 2:
|
|
days=16;
|
|
break;
|
|
default:
|
|
if(!relative._offset$i$1)
|
|
days=sentDate["getDate"]();
|
|
break
|
|
}
|
|
date=new Date(sentDate["getFullYear"](),sentDate["getMonth"](),days);
|
|
date["setMonth"](date["getMonth"]()+relative._offset$i$1);
|
|
if(date["getTime"]() < sentDate["getTime"]())
|
|
date["setDate"](date["getDate"]()+sentDate["getDate"]() - 1);
|
|
return date;
|
|
case 1:
|
|
date=new Date(sentDate["getFullYear"](),sentDate["getMonth"](),sentDate["getDate"]());
|
|
date["setDate"](sentDate["getDate"]()+7 * relative._offset$i$1);
|
|
if(relative._modifier$i$1===1 || !relative._modifier$i$1)
|
|
{
|
|
date["setDate"](date["getDate"]()+1 - date["getDay"]());
|
|
if(date["getTime"]() < sentDate["getTime"]())
|
|
return sentDate;
|
|
return date
|
|
}
|
|
else if(relative._modifier$i$1===2)
|
|
{
|
|
date["setDate"](date["getDate"]()+5 - date["getDay"]());
|
|
return date
|
|
}
|
|
break;
|
|
case 4:
|
|
return $h.MeetingSuggestionTimeDecoder._findBestDateForWeekOfMonthDate$p(sentDate,relative);
|
|
case 3:
|
|
if(relative._offset$i$1 > 0)
|
|
return new Date(sentDate["getFullYear"]()+relative._offset$i$1,0,1);
|
|
break;
|
|
default:
|
|
break
|
|
}
|
|
return sentDate
|
|
};
|
|
$h.MeetingSuggestionTimeDecoder._findBestDateForWeekDate$p=function(sentDate, offset, tag)
|
|
{
|
|
if(offset > -5 && offset < 5)
|
|
{
|
|
var dayOfWeek;
|
|
var days;
|
|
dayOfWeek=(tag+6) % 7+1;
|
|
days=7 * offset+(dayOfWeek - sentDate["getDay"]());
|
|
sentDate["setDate"](sentDate["getDate"]()+days);
|
|
return sentDate
|
|
}
|
|
else
|
|
{
|
|
var days=(tag - sentDate["getDay"]()) % 7;
|
|
if(days < 0)
|
|
days+=7;
|
|
sentDate["setDate"](sentDate["getDate"]()+days);
|
|
return sentDate
|
|
}
|
|
};
|
|
$h.MeetingSuggestionTimeDecoder._findBestDateForWeekOfMonthDate$p=function(sentDate, relative)
|
|
{
|
|
var date;
|
|
var firstDay;
|
|
var newDate;
|
|
date=sentDate;
|
|
if(relative._tag$i$1 <=0 || relative._tag$i$1 > 12 || relative._offset$i$1 <=0 || relative._offset$i$1 > 5)
|
|
return sentDate;
|
|
var monthOffset=(12+relative._tag$i$1 - date["getMonth"]() - 1) % 12;
|
|
firstDay=new Date(date["getFullYear"](),date["getMonth"]()+monthOffset,1);
|
|
if(relative._modifier$i$1===1)
|
|
if(relative._offset$i$1===1 && firstDay["getDay"]() !==6 && firstDay["getDay"]())
|
|
return firstDay;
|
|
else
|
|
{
|
|
newDate=new Date(firstDay["getFullYear"](),firstDay["getMonth"](),firstDay["getDate"]());
|
|
newDate["setDate"](newDate["getDate"]()+(7+(1 - firstDay["getDay"]())) % 7);
|
|
if(firstDay["getDay"]() !==6 && firstDay["getDay"]() && firstDay["getDay"]() !==1)
|
|
newDate["setDate"](newDate["getDate"]() - 7);
|
|
newDate["setDate"](newDate["getDate"]()+7 * (relative._offset$i$1 - 1));
|
|
if(newDate["getMonth"]()+1 !==relative._tag$i$1)
|
|
return sentDate;
|
|
return newDate
|
|
}
|
|
else
|
|
{
|
|
newDate=new Date(firstDay["getFullYear"](),firstDay["getMonth"](),$h.MeetingSuggestionTimeDecoder._daysInMonth$p(firstDay["getMonth"](),firstDay["getFullYear"]()));
|
|
var offset=1 - newDate["getDay"]();
|
|
if(offset > 0)
|
|
offset=offset - 7;
|
|
newDate["setDate"](newDate["getDate"]()+offset);
|
|
newDate["setDate"](newDate["getDate"]()+7 * (1 - relative._offset$i$1));
|
|
if(newDate["getMonth"]()+1 !==relative._tag$i$1)
|
|
if(firstDay["getDay"]() !==6 && firstDay["getDay"]())
|
|
return firstDay;
|
|
else
|
|
return sentDate;
|
|
else
|
|
return newDate
|
|
}
|
|
};
|
|
$h.MeetingSuggestionTimeDecoder._decode$p=function(inDate, date, time)
|
|
{
|
|
var DateValueMask=32767;
|
|
date.val=null;
|
|
time.val=0;
|
|
if(!inDate)
|
|
return false;
|
|
time.val=$h.MeetingSuggestionTimeDecoder._getTimeOfDayInMillisecondsUTC$p(inDate);
|
|
var inDateAtMidnight=inDate["getTime"]() - time.val;
|
|
var value=(inDateAtMidnight - $h.MeetingSuggestionTimeDecoder._baseDate$p["getTime"]()) / 864e5;
|
|
if(value < 0)
|
|
return false;
|
|
else if(value >=262144)
|
|
return false;
|
|
else
|
|
{
|
|
var type=value >> 15;
|
|
value=value & DateValueMask;
|
|
switch(type)
|
|
{
|
|
case 0:
|
|
return $h.MeetingSuggestionTimeDecoder._decodePreciseDate$p(value,date);
|
|
case 1:
|
|
return $h.MeetingSuggestionTimeDecoder._decodeRelativeDate$p(value,date);
|
|
default:
|
|
return false
|
|
}
|
|
}
|
|
};
|
|
$h.MeetingSuggestionTimeDecoder._decodePreciseDate$p=function(value, date)
|
|
{
|
|
var c_SubTypeMask=7;
|
|
var c_MonthMask=15;
|
|
var c_DayMask=31;
|
|
var c_YearMask=127;
|
|
var year=null;
|
|
var month=0;
|
|
var day=0;
|
|
date.val=null;
|
|
var subType=value >> 12 & c_SubTypeMask;
|
|
if((subType & 4)===4)
|
|
{
|
|
year=value >> 5 & c_YearMask;
|
|
if((subType & 2)===2)
|
|
{
|
|
if((subType & 1)===1)
|
|
return false;
|
|
month=value >> 1 & c_MonthMask
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if((subType & 2)===2)
|
|
month=value >> 8 & c_MonthMask;
|
|
if((subType & 1)===1)
|
|
day=value >> 3 & c_DayMask
|
|
}
|
|
date.val=new $h._preciseDate(day,month,year);
|
|
return true
|
|
};
|
|
$h.MeetingSuggestionTimeDecoder._decodeRelativeDate$p=function(value, date)
|
|
{
|
|
var TagMask=15;
|
|
var OffsetMask=63;
|
|
var UnitMask=7;
|
|
var ModifierMask=3;
|
|
var tag=value & TagMask;
|
|
value >>=4;
|
|
var offset=$h.MeetingSuggestionTimeDecoder._fromComplement$p(value & OffsetMask,6);
|
|
value >>=6;
|
|
var unit=value & UnitMask;
|
|
value >>=3;
|
|
var modifier=value & ModifierMask;
|
|
try
|
|
{
|
|
date.val=new $h._relativeDate(modifier,offset,unit,tag);
|
|
return true
|
|
}
|
|
catch($$e_A)
|
|
{
|
|
date.val=null;
|
|
return false
|
|
}
|
|
};
|
|
$h.MeetingSuggestionTimeDecoder._fromComplement$p=function(value, n)
|
|
{
|
|
var signed=1 << n - 1;
|
|
var mask=(1 << n) - 1;
|
|
if((value & signed)===signed)
|
|
return-((value ^ mask)+1);
|
|
else
|
|
return value
|
|
};
|
|
$h.MeetingSuggestionTimeDecoder._daysInMonth$p=function(month, year)
|
|
{
|
|
return 32 - new Date(year,month,32)["getDate"]()
|
|
};
|
|
$h.MeetingSuggestionTimeDecoder._getTimeOfDayInMillisecondsUTC$p=function(inputTime)
|
|
{
|
|
var timeOfDay=0;
|
|
timeOfDay+=inputTime["getUTCHours"]() * 3600;
|
|
timeOfDay+=inputTime["getUTCMinutes"]() * 60;
|
|
timeOfDay+=inputTime["getUTCSeconds"]();
|
|
timeOfDay *=1e3;
|
|
timeOfDay+=inputTime["getUTCMilliseconds"]();
|
|
return timeOfDay
|
|
};
|
|
$h._extractedDate=function(){};
|
|
$h._preciseDate=function(day, month, year)
|
|
{
|
|
$h._preciseDate.initializeBase(this);
|
|
if(day < 0 || day > 31)
|
|
throw Error.argumentOutOfRange("day");
|
|
if(month < 0 || month > 12)
|
|
throw Error.argumentOutOfRange("month");
|
|
this._day$i$1=day;
|
|
this._month$i$1=month;
|
|
if(!$h.MeetingSuggestionTimeDecoder._isNullOrUndefined$i(year))
|
|
{
|
|
if(!month && day)
|
|
throw Error.argument("Invalid arguments");
|
|
if(year < 0 || year > 2099)
|
|
throw Error.argumentOutOfRange("year");
|
|
this._year$i$1=year % 100
|
|
}
|
|
else if(!this._month$i$1 && !this._day$i$1)
|
|
throw Error.argument("Invalid datetime");
|
|
};
|
|
$h._preciseDate.prototype={
|
|
_day$i$1: 0,
|
|
_month$i$1: 0,
|
|
_year$i$1: null
|
|
};
|
|
$h._relativeDate=function(modifier, offset, unit, tag)
|
|
{
|
|
$h._relativeDate.initializeBase(this);
|
|
if(offset < -32 || offset > 31)
|
|
throw Error.argumentOutOfRange("offset");
|
|
if(tag < 0 || tag > 15)
|
|
throw Error.argumentOutOfRange("tag");
|
|
if(!unit && offset < 0)
|
|
throw Error.argument("unit & offset do not form a valid date");
|
|
this._modifier$i$1=modifier;
|
|
this._offset$i$1=offset;
|
|
this._unit$i$1=unit;
|
|
this._tag$i$1=tag
|
|
};
|
|
$h._relativeDate.prototype={
|
|
_modifier$i$1: 0,
|
|
_offset$i$1: 0,
|
|
_unit$i$1: 0,
|
|
_tag$i$1: 0
|
|
};
|
|
$h.Message=function(dataDictionary)
|
|
{
|
|
this.$$d__getConversationId$p$2=Function.createDelegate(this,this._getConversationId$p$2);
|
|
this.$$d__getInternetMessageId$p$2=Function.createDelegate(this,this._getInternetMessageId$p$2);
|
|
this.$$d__getCc$p$2=Function.createDelegate(this,this._getCc$p$2);
|
|
this.$$d__getTo$p$2=Function.createDelegate(this,this._getTo$p$2);
|
|
this.$$d__getFrom$p$2=Function.createDelegate(this,this._getFrom$p$2);
|
|
this.$$d__getSender$p$2=Function.createDelegate(this,this._getSender$p$2);
|
|
this.$$d__getNormalizedSubject$p$2=Function.createDelegate(this,this._getNormalizedSubject$p$2);
|
|
this.$$d__getSubject$p$2=Function.createDelegate(this,this._getSubject$p$2);
|
|
$h.Message.initializeBase(this,[dataDictionary]);
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"subject",this.$$d__getSubject$p$2);
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"normalizedSubject",this.$$d__getNormalizedSubject$p$2);
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"sender",this.$$d__getSender$p$2);
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"from",this.$$d__getFrom$p$2);
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"to",this.$$d__getTo$p$2);
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"cc",this.$$d__getCc$p$2);
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"internetMessageId",this.$$d__getInternetMessageId$p$2);
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"conversationId",this.$$d__getConversationId$p$2)
|
|
};
|
|
$h.Message.prototype={
|
|
getItemType: function()
|
|
{
|
|
return window["Microsoft"]["Office"]["WebExtension"]["MailboxEnums"]["ItemType"]["Message"]
|
|
},
|
|
_getSubject$p$2: function()
|
|
{
|
|
return this._data$p$0.get__subject$i$0()
|
|
},
|
|
_getNormalizedSubject$p$2: function()
|
|
{
|
|
return this._data$p$0.get__normalizedSubject$i$0()
|
|
},
|
|
_getSender$p$2: function()
|
|
{
|
|
return this._data$p$0.get__sender$i$0()
|
|
},
|
|
_getFrom$p$2: function()
|
|
{
|
|
return this._data$p$0.get__from$i$0()
|
|
},
|
|
_getTo$p$2: function()
|
|
{
|
|
return this._data$p$0.get__to$i$0()
|
|
},
|
|
_getCc$p$2: function()
|
|
{
|
|
return this._data$p$0.get__cc$i$0()
|
|
},
|
|
_getInternetMessageId$p$2: function()
|
|
{
|
|
return this._data$p$0.get__internetMessageId$i$0()
|
|
},
|
|
_getConversationId$p$2: function()
|
|
{
|
|
return this._data$p$0.get__conversationId$i$0()
|
|
}
|
|
};
|
|
$h.Message.prototype.getEntities=function()
|
|
{
|
|
return this._data$p$0._getEntities$i$0()
|
|
};
|
|
$h.Message.prototype.getEntitiesByType=function(entityType)
|
|
{
|
|
return this._data$p$0._getEntitiesByType$i$0(entityType)
|
|
};
|
|
$h.Message.prototype.getFilteredEntitiesByName=function(name)
|
|
{
|
|
return this._data$p$0._getFilteredEntitiesByName$i$0(name)
|
|
};
|
|
$h.Message.prototype.getRegExMatches=function()
|
|
{
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._throwOnMethodCallForInsufficientPermission$i$0(1,"getRegExMatches");
|
|
return this._data$p$0._getRegExMatches$i$0()
|
|
};
|
|
$h.Message.prototype.getRegExMatchesByName=function(name)
|
|
{
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._throwOnMethodCallForInsufficientPermission$i$0(1,"getRegExMatchesByName");
|
|
return this._data$p$0._getRegExMatchesByName$i$0(name)
|
|
};
|
|
$h.Message.prototype.displayReplyForm=function(obj)
|
|
{
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._displayReplyForm$i$0(obj)
|
|
};
|
|
$h.Message.prototype.displayReplyAllForm=function(obj)
|
|
{
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._displayReplyAllForm$i$0(obj)
|
|
};
|
|
$h.MessageCompose=function(data)
|
|
{
|
|
this.$$d__getConversationId$p$2=Function.createDelegate(this,this._getConversationId$p$2);
|
|
this.$$d__getBcc$p$2=Function.createDelegate(this,this._getBcc$p$2);
|
|
this.$$d__getCc$p$2=Function.createDelegate(this,this._getCc$p$2);
|
|
this.$$d__getTo$p$2=Function.createDelegate(this,this._getTo$p$2);
|
|
$h.MessageCompose.initializeBase(this,[data]);
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"to",this.$$d__getTo$p$2);
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"cc",this.$$d__getCc$p$2);
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"bcc",this.$$d__getBcc$p$2);
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"conversationId",this.$$d__getConversationId$p$2)
|
|
};
|
|
$h.MessageCompose.prototype={
|
|
_to$p$2: null,
|
|
_cc$p$2: null,
|
|
_bcc$p$2: null,
|
|
getItemType: function()
|
|
{
|
|
return window["Microsoft"]["Office"]["WebExtension"]["MailboxEnums"]["ItemType"]["Message"]
|
|
},
|
|
_getTo$p$2: function()
|
|
{
|
|
this._data$p$0._throwOnRestrictedPermissionLevel$i$0();
|
|
if(!this._to$p$2)
|
|
this._to$p$2=new $h.ComposeRecipient(0,"to");
|
|
return this._to$p$2
|
|
},
|
|
_getCc$p$2: function()
|
|
{
|
|
this._data$p$0._throwOnRestrictedPermissionLevel$i$0();
|
|
if(!this._cc$p$2)
|
|
this._cc$p$2=new $h.ComposeRecipient(1,"cc");
|
|
return this._cc$p$2
|
|
},
|
|
_getBcc$p$2: function()
|
|
{
|
|
this._data$p$0._throwOnRestrictedPermissionLevel$i$0();
|
|
if(!this._bcc$p$2)
|
|
this._bcc$p$2=new $h.ComposeRecipient(2,"bcc");
|
|
return this._bcc$p$2
|
|
},
|
|
_getConversationId$p$2: function()
|
|
{
|
|
return this._data$p$0.get__conversationId$i$0()
|
|
}
|
|
};
|
|
$h.NotificationMessages=function(){};
|
|
$h.NotificationMessages._mapToHostItemNotificationMessageType$p=function(dataToHost)
|
|
{
|
|
var notificationType;
|
|
var hostItemNotificationMessageType;
|
|
notificationType=dataToHost["type"];
|
|
if(notificationType===window["Microsoft"]["Office"]["WebExtension"]["MailboxEnums"]["ItemNotificationMessageType"]["ProgressIndicator"])
|
|
hostItemNotificationMessageType=1;
|
|
else if(notificationType===window["Microsoft"]["Office"]["WebExtension"]["MailboxEnums"]["ItemNotificationMessageType"]["InformationalMessage"])
|
|
hostItemNotificationMessageType=0;
|
|
else if(notificationType===window["Microsoft"]["Office"]["WebExtension"]["MailboxEnums"]["ItemNotificationMessageType"]["ErrorMessage"])
|
|
hostItemNotificationMessageType=2;
|
|
else
|
|
throw Error.argument("type");
|
|
dataToHost["type"]=hostItemNotificationMessageType
|
|
};
|
|
$h.NotificationMessages._validateKey$p=function(key)
|
|
{
|
|
if(!$h.ScriptHelpers.isNonEmptyString(key))
|
|
throw Error.argument("key");
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._throwOnOutOfRange$i(key["length"],0,32,"key")
|
|
};
|
|
$h.NotificationMessages._validateDictionary$p=function(dictionary)
|
|
{
|
|
if(!$h.ScriptHelpers.isNonEmptyString(dictionary["type"]))
|
|
throw Error.argument("type");
|
|
if(dictionary["type"]===window["Microsoft"]["Office"]["WebExtension"]["MailboxEnums"]["ItemNotificationMessageType"]["InformationalMessage"])
|
|
{
|
|
if(!$h.ScriptHelpers.isNonEmptyString(dictionary["icon"]))
|
|
throw Error.argument("icon");
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._throwOnOutOfRange$i(dictionary["icon"]["length"],0,32,"icon");
|
|
if($h.ScriptHelpers.isUndefined(dictionary["persistent"]))
|
|
throw Error.argument("persistent");
|
|
if(!Boolean.isInstanceOfType(dictionary["persistent"]))
|
|
throw Error.argumentType("persistent",Object["getType"](dictionary["persistent"]),Boolean);
|
|
}
|
|
else
|
|
{
|
|
if(!$h.ScriptHelpers.isUndefined(dictionary["icon"]))
|
|
throw Error.argument("icon");
|
|
if(!$h.ScriptHelpers.isUndefined(dictionary["persistent"]))
|
|
throw Error.argument("persistent");
|
|
}
|
|
if(!$h.ScriptHelpers.isNonEmptyString(dictionary["message"]))
|
|
throw Error.argument("message");
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._throwOnOutOfRange$i(dictionary["message"]["length"],0,150,"message")
|
|
};
|
|
$h.NotificationMessages.prototype.addAsync=function(key, dictionary)
|
|
{
|
|
var args=[];
|
|
for(var $$pai_5=2; $$pai_5 < arguments["length"];++$$pai_5)
|
|
args[$$pai_5 - 2]=arguments[$$pai_5];
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._throwOnMethodCallForInsufficientPermission$i$0(0,"NotificationMessages.addAsync");
|
|
var commonParameters=$h.CommonParameters.parse(args,false);
|
|
$h.NotificationMessages._validateKey$p(key);
|
|
$h.NotificationMessages._validateDictionary$p(dictionary);
|
|
var dataToHost={};
|
|
dataToHost=$h.ScriptHelpers.deepClone(dictionary);
|
|
dataToHost["key"]=key;
|
|
$h.NotificationMessages._mapToHostItemNotificationMessageType$p(dataToHost);
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._standardInvokeHostMethod$i$0(33,dataToHost,null,commonParameters._asyncContext$p$0,commonParameters._callback$p$0)
|
|
};
|
|
$h.NotificationMessages.prototype.getAllAsync=function()
|
|
{
|
|
var args=[];
|
|
for(var $$pai_2=0; $$pai_2 < arguments["length"];++$$pai_2)
|
|
args[$$pai_2]=arguments[$$pai_2];
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._throwOnMethodCallForInsufficientPermission$i$0(0,"NotificationMessages.getAllAsync");
|
|
var commonParameters=$h.CommonParameters.parse(args,true);
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._standardInvokeHostMethod$i$0(34,null,null,commonParameters._asyncContext$p$0,commonParameters._callback$p$0)
|
|
};
|
|
$h.NotificationMessages.prototype.replaceAsync=function(key, dictionary)
|
|
{
|
|
var args=[];
|
|
for(var $$pai_5=2; $$pai_5 < arguments["length"];++$$pai_5)
|
|
args[$$pai_5 - 2]=arguments[$$pai_5];
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._throwOnMethodCallForInsufficientPermission$i$0(0,"NotificationMessages.replaceAsync");
|
|
var commonParameters=$h.CommonParameters.parse(args,false);
|
|
$h.NotificationMessages._validateKey$p(key);
|
|
$h.NotificationMessages._validateDictionary$p(dictionary);
|
|
var dataToHost={};
|
|
dataToHost=$h.ScriptHelpers.deepClone(dictionary);
|
|
dataToHost["key"]=key;
|
|
$h.NotificationMessages._mapToHostItemNotificationMessageType$p(dataToHost);
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._standardInvokeHostMethod$i$0(35,dataToHost,null,commonParameters._asyncContext$p$0,commonParameters._callback$p$0)
|
|
};
|
|
$h.NotificationMessages.prototype.removeAsync=function(key)
|
|
{
|
|
var args=[];
|
|
for(var $$pai_4=1; $$pai_4 < arguments["length"];++$$pai_4)
|
|
args[$$pai_4 - 1]=arguments[$$pai_4];
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._throwOnMethodCallForInsufficientPermission$i$0(0,"NotificationMessages.removeAsync");
|
|
var commonParameters=$h.CommonParameters.parse(args,false);
|
|
$h.NotificationMessages._validateKey$p(key);
|
|
var dataToHost={key: key};
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._instance$p._standardInvokeHostMethod$i$0(36,dataToHost,null,commonParameters._asyncContext$p$0,commonParameters._callback$p$0)
|
|
};
|
|
$h.OutlookErrorManager=function(){};
|
|
$h.OutlookErrorManager.getErrorArgs=function(errorCode)
|
|
{
|
|
if(!$h.OutlookErrorManager._isInitialized$p)
|
|
$h.OutlookErrorManager._initialize$p();
|
|
return OSF.DDA.ErrorCodeManager["getErrorArgs"](errorCode)
|
|
};
|
|
$h.OutlookErrorManager._initialize$p=function()
|
|
{
|
|
$h.OutlookErrorManager._addErrorMessage$p(9e3,"AttachmentSizeExceeded",window["_u"]["ExtensibilityStrings"]["l_AttachmentExceededSize_Text"]);
|
|
$h.OutlookErrorManager._addErrorMessage$p(9001,"NumberOfAttachmentsExceeded",window["_u"]["ExtensibilityStrings"]["l_ExceededMaxNumberOfAttachments_Text"]);
|
|
$h.OutlookErrorManager._addErrorMessage$p(9002,"InternalFormatError",window["_u"]["ExtensibilityStrings"]["l_InternalFormatError_Text"]);
|
|
$h.OutlookErrorManager._addErrorMessage$p(9003,"InvalidAttachmentId",window["_u"]["ExtensibilityStrings"]["l_InvalidAttachmentId_Text"]);
|
|
$h.OutlookErrorManager._addErrorMessage$p(9004,"InvalidAttachmentPath",window["_u"]["ExtensibilityStrings"]["l_InvalidAttachmentPath_Text"]);
|
|
$h.OutlookErrorManager._addErrorMessage$p(9005,"CannotAddAttachmentBeforeUpgrade",window["_u"]["ExtensibilityStrings"]["l_CannotAddAttachmentBeforeUpgrade_Text"]);
|
|
$h.OutlookErrorManager._addErrorMessage$p(9006,"AttachmentDeletedBeforeUploadCompletes",window["_u"]["ExtensibilityStrings"]["l_AttachmentDeletedBeforeUploadCompletes_Text"]);
|
|
$h.OutlookErrorManager._addErrorMessage$p(9007,"AttachmentUploadGeneralFailure",window["_u"]["ExtensibilityStrings"]["l_AttachmentUploadGeneralFailure_Text"]);
|
|
$h.OutlookErrorManager._addErrorMessage$p(9008,"AttachmentToDeleteDoesNotExist",window["_u"]["ExtensibilityStrings"]["l_DeleteAttachmentDoesNotExist_Text"]);
|
|
$h.OutlookErrorManager._addErrorMessage$p(9009,"AttachmentDeleteGeneralFailure",window["_u"]["ExtensibilityStrings"]["l_AttachmentDeleteGeneralFailure_Text"]);
|
|
$h.OutlookErrorManager._addErrorMessage$p(9010,"InvalidEndTime",window["_u"]["ExtensibilityStrings"]["l_InvalidEndTime_Text"]);
|
|
$h.OutlookErrorManager._addErrorMessage$p(9011,"HtmlSanitizationFailure",window["_u"]["ExtensibilityStrings"]["l_HtmlSanitizationFailure_Text"]);
|
|
$h.OutlookErrorManager._addErrorMessage$p(9012,"NumberOfRecipientsExceeded",String.format(window["_u"]["ExtensibilityStrings"]["l_NumberOfRecipientsExceeded_Text"],500));
|
|
$h.OutlookErrorManager._addErrorMessage$p(9013,"NoValidRecipientsProvided",window["_u"]["ExtensibilityStrings"]["l_NoValidRecipientsProvided_Text"]);
|
|
$h.OutlookErrorManager._addErrorMessage$p(9014,"CursorPositionChanged",window["_u"]["ExtensibilityStrings"]["l_CursorPositionChanged_Text"]);
|
|
$h.OutlookErrorManager._addErrorMessage$p(9016,"InvalidSelection",window["_u"]["ExtensibilityStrings"]["l_InvalidSelection_Text"]);
|
|
$h.OutlookErrorManager._addErrorMessage$p(9017,"AccessRestricted","");
|
|
$h.OutlookErrorManager._addErrorMessage$p(9018,"GenericTokenError","");
|
|
$h.OutlookErrorManager._addErrorMessage$p(9019,"GenericSettingsError","");
|
|
$h.OutlookErrorManager._addErrorMessage$p(9020,"GenericResponseError","");
|
|
$h.OutlookErrorManager._addErrorMessage$p(9021,"SaveError",window["_u"]["ExtensibilityStrings"]["l_SaveError_Text"]);
|
|
$h.OutlookErrorManager._addErrorMessage$p(9022,"MessageInDifferentStoreError",window["_u"]["ExtensibilityStrings"]["l_MessageInDifferentStoreError_Text"]);
|
|
$h.OutlookErrorManager._addErrorMessage$p(9023,"DuplicateNotificationKey",window["_u"]["ExtensibilityStrings"]["l_DuplicateNotificationKey_Text"]);
|
|
$h.OutlookErrorManager._addErrorMessage$p(9024,"NotificationKeyNotFound",window["_u"]["ExtensibilityStrings"]["l_NotificationKeyNotFound_Text"]);
|
|
$h.OutlookErrorManager._addErrorMessage$p(9025,"NumberOfNotificationsExceeded",window["_u"]["ExtensibilityStrings"]["l_NumberOfNotificationsExceeded_Text"]);
|
|
$h.OutlookErrorManager._addErrorMessage$p(9026,"PersistedNotificationArrayReadError",window["_u"]["ExtensibilityStrings"]["l_PersistedNotificationArrayReadError_Text"]);
|
|
$h.OutlookErrorManager._addErrorMessage$p(9027,"PersistedNotificationArraySaveError",window["_u"]["ExtensibilityStrings"]["l_PersistedNotificationArraySaveError_Text"]);
|
|
$h.OutlookErrorManager._addErrorMessage$p(9028,"CannotPersistPropertyInUnsavedDraftError",window["_u"]["ExtensibilityStrings"]["l_CannotPersistPropertyInUnsavedDraftError_Text"]);
|
|
$h.OutlookErrorManager._isInitialized$p=true
|
|
};
|
|
$h.OutlookErrorManager._addErrorMessage$p=function(errorCode, errorName, errorMessage)
|
|
{
|
|
OSF.DDA.ErrorCodeManager["addErrorMessage"](errorCode,{
|
|
name: errorName,
|
|
message: errorMessage
|
|
})
|
|
};
|
|
$h.OutlookErrorManager.OutlookErrorCodes=function(){};
|
|
$h.OutlookErrorManager.OsfDdaErrorCodes=function(){};
|
|
$h.PhoneNumber=function(data)
|
|
{
|
|
this.$$d__getPhoneType$p$0=Function.createDelegate(this,this._getPhoneType$p$0);
|
|
this.$$d__getOriginalPhoneString$p$0=Function.createDelegate(this,this._getOriginalPhoneString$p$0);
|
|
this.$$d__getPhoneString$p$0=Function.createDelegate(this,this._getPhoneString$p$0);
|
|
this._data$p$0=data;
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"phoneString",this.$$d__getPhoneString$p$0);
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"originalPhoneString",this.$$d__getOriginalPhoneString$p$0);
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"type",this.$$d__getPhoneType$p$0)
|
|
};
|
|
$h.PhoneNumber.prototype={
|
|
_data$p$0: null,
|
|
_getPhoneString$p$0: function()
|
|
{
|
|
return this._data$p$0["PhoneString"]
|
|
},
|
|
_getOriginalPhoneString$p$0: function()
|
|
{
|
|
return this._data$p$0["OriginalPhoneString"]
|
|
},
|
|
_getPhoneType$p$0: function()
|
|
{
|
|
return this._data$p$0["Type"]
|
|
}
|
|
};
|
|
$h.TaskSuggestion=function(data)
|
|
{
|
|
this.$$d__getAssignees$p$0=Function.createDelegate(this,this._getAssignees$p$0);
|
|
this.$$d__getTaskString$p$0=Function.createDelegate(this,this._getTaskString$p$0);
|
|
this._data$p$0=data;
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"taskString",this.$$d__getTaskString$p$0);
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"assignees",this.$$d__getAssignees$p$0)
|
|
};
|
|
$h.TaskSuggestion.prototype={
|
|
_data$p$0: null,
|
|
_assignees$p$0: null,
|
|
_getTaskString$p$0: function()
|
|
{
|
|
return this._data$p$0["TaskString"]
|
|
},
|
|
_getAssignees$p$0: function()
|
|
{
|
|
if(!this._assignees$p$0)
|
|
{
|
|
var $$t_1=this;
|
|
this._assignees$p$0=$h.Entities._getExtractedObjects$i($h.EmailAddressDetails,this._data$p$0,"Assignees",function(data)
|
|
{
|
|
return $h.EmailAddressDetails._createFromEmailUserDictionary$i(data)
|
|
})
|
|
}
|
|
return this._assignees$p$0
|
|
}
|
|
};
|
|
$h.UserProfile=function(data)
|
|
{
|
|
this.$$d__getUserProfileType$p$0=Function.createDelegate(this,this._getUserProfileType$p$0);
|
|
this.$$d__getTimeZone$p$0=Function.createDelegate(this,this._getTimeZone$p$0);
|
|
this.$$d__getEmailAddress$p$0=Function.createDelegate(this,this._getEmailAddress$p$0);
|
|
this.$$d__getDisplayName$p$0=Function.createDelegate(this,this._getDisplayName$p$0);
|
|
this._data$p$0=data;
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"displayName",this.$$d__getDisplayName$p$0);
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"emailAddress",this.$$d__getEmailAddress$p$0);
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"timeZone",this.$$d__getTimeZone$p$0);
|
|
$h.InitialData._defineReadOnlyProperty$i(this,"type",this.$$d__getUserProfileType$p$0)
|
|
};
|
|
$h.UserProfile.prototype={
|
|
_data$p$0: null,
|
|
_getUserProfileType$p$0: function()
|
|
{
|
|
return this._data$p$0.get__userProfileType$i$0()
|
|
},
|
|
_getDisplayName$p$0: function()
|
|
{
|
|
return this._data$p$0.get__userDisplayName$i$0()
|
|
},
|
|
_getEmailAddress$p$0: function()
|
|
{
|
|
return this._data$p$0.get__userEmailAddress$i$0()
|
|
},
|
|
_getTimeZone$p$0: function()
|
|
{
|
|
return this._data$p$0.get__userTimeZone$i$0()
|
|
}
|
|
};
|
|
$h.OutlookDispid=function(){};
|
|
$h.OutlookDispid.prototype={
|
|
owaOnlyMethod: 0,
|
|
getInitialData: 1,
|
|
getUserIdentityToken: 2,
|
|
loadCustomProperties: 3,
|
|
saveCustomProperties: 4,
|
|
ewsRequest: 5,
|
|
displayNewAppointmentForm: 7,
|
|
displayMessageForm: 8,
|
|
displayAppointmentForm: 9,
|
|
displayReplyForm: 10,
|
|
displayReplyAllForm: 11,
|
|
getCallbackToken: 12,
|
|
bodySetSelectedDataAsync: 13,
|
|
getBodyTypeAsync: 14,
|
|
getRecipientsAsync: 15,
|
|
addFileAttachmentAsync: 16,
|
|
setSubjectAsync: 17,
|
|
getSubjectAsync: 18,
|
|
addItemAttachmentAsync: 19,
|
|
removeAttachmentAsync: 20,
|
|
setRecipientsAsync: 21,
|
|
addRecipientsAsync: 22,
|
|
bodyPrependAsync: 23,
|
|
getTimeAsync: 24,
|
|
setTimeAsync: 25,
|
|
getLocationAsync: 26,
|
|
setLocationAsync: 27,
|
|
getSelectedDataAsync: 28,
|
|
setSelectedDataAsync: 29,
|
|
displayReplyFormWithAttachments: 30,
|
|
displayReplyAllFormWithAttachments: 31,
|
|
saveAsync: 32,
|
|
addNotficationMessageAsync: 33,
|
|
getAllNotficationMessagesAsync: 34,
|
|
replaceNotficationMessageAsync: 35,
|
|
removeNotficationMessageAsync: 36,
|
|
getBodyAsync: 37,
|
|
setBodyAsync: 38,
|
|
appCommands1: 39,
|
|
registerConsentAsync: 40,
|
|
close: 41,
|
|
closeApp: 42,
|
|
displayContactCardAsync: 43,
|
|
displayNewMessageForm: 44,
|
|
appCommands2: 94,
|
|
trackCtq: 400,
|
|
recordTrace: 401,
|
|
recordDataPoint: 402,
|
|
windowOpenOverrideHandler: 403,
|
|
saveSettingsRequest: 404
|
|
};
|
|
$h.OutlookDispid.registerEnum("$h.OutlookDispid",false);
|
|
$h.RequestState=function(){};
|
|
$h.RequestState.prototype={
|
|
unsent: 0,
|
|
opened: 1,
|
|
headersReceived: 2,
|
|
loading: 3,
|
|
done: 4
|
|
};
|
|
$h.RequestState.registerEnum("$h.RequestState",false);
|
|
$h.CommonParameters=function(options, callback, asyncContext)
|
|
{
|
|
this._options$p$0=options;
|
|
this._callback$p$0=callback;
|
|
this._asyncContext$p$0=asyncContext
|
|
};
|
|
$h.CommonParameters.parse=function(args, isCallbackRequired, tryLegacy)
|
|
{
|
|
var legacyParameters;
|
|
var $$t_8,
|
|
$$t_9;
|
|
if(tryLegacy && ($$t_9=$h.CommonParameters._tryParseLegacy$p(args,$$t_8={val: legacyParameters}),legacyParameters=$$t_8["val"],$$t_9))
|
|
return legacyParameters;
|
|
var argsLength=args["length"];
|
|
var options=null;
|
|
var callback=null;
|
|
var asyncContext=null;
|
|
if(argsLength===1)
|
|
if(Function.isInstanceOfType(args[0]))
|
|
callback=args[0];
|
|
else if(Object.isInstanceOfType(args[0]))
|
|
options=args[0];
|
|
else
|
|
throw Error.argumentType();
|
|
else if(argsLength===2)
|
|
{
|
|
if(!Object.isInstanceOfType(args[0]))
|
|
throw Error.argument("options");
|
|
if(!Function.isInstanceOfType(args[1]))
|
|
throw Error.argument("callback");
|
|
options=args[0];
|
|
callback=args[1]
|
|
}
|
|
else if(argsLength)
|
|
throw Error.parameterCount(window["_u"]["ExtensibilityStrings"]["l_ParametersNotAsExpected_Text"]);
|
|
if(isCallbackRequired && !callback)
|
|
throw Error.argumentNull("callback");
|
|
if(options && !$h.ScriptHelpers.isNullOrUndefined(options["asyncContext"]))
|
|
asyncContext=options["asyncContext"];
|
|
return new $h.CommonParameters(options,callback,asyncContext)
|
|
};
|
|
$h.CommonParameters._tryParseLegacy$p=function(args, commonParameters)
|
|
{
|
|
commonParameters.val=null;
|
|
var argsLength=args["length"];
|
|
var callback=null;
|
|
var userContext=null;
|
|
if(!argsLength || argsLength > 2)
|
|
return false;
|
|
if(!Function.isInstanceOfType(args[0]))
|
|
return false;
|
|
callback=args[0];
|
|
if(argsLength > 1)
|
|
userContext=args[1];
|
|
commonParameters.val=new $h.CommonParameters(null,callback,userContext);
|
|
return true
|
|
};
|
|
$h.CommonParameters.prototype={
|
|
_options$p$0: null,
|
|
_callback$p$0: null,
|
|
_asyncContext$p$0: null,
|
|
get_options: function()
|
|
{
|
|
return this._options$p$0
|
|
},
|
|
get_callback: function()
|
|
{
|
|
return this._callback$p$0
|
|
},
|
|
get_asyncContext: function()
|
|
{
|
|
return this._asyncContext$p$0
|
|
}
|
|
};
|
|
$h.EwsRequest=function(userContext)
|
|
{
|
|
$h.EwsRequest.initializeBase(this,[userContext])
|
|
};
|
|
$h.EwsRequest.prototype={
|
|
readyState: 1,
|
|
status: 0,
|
|
statusText: null,
|
|
onreadystatechange: null,
|
|
responseText: null,
|
|
get__statusCode$i$1: function()
|
|
{
|
|
return this.status
|
|
},
|
|
set__statusCode$i$1: function(value)
|
|
{
|
|
this.status=value;
|
|
return value
|
|
},
|
|
get__statusDescription$i$1: function()
|
|
{
|
|
return this.statusText
|
|
},
|
|
set__statusDescription$i$1: function(value)
|
|
{
|
|
this.statusText=value;
|
|
return value
|
|
},
|
|
get__requestState$i$1: function()
|
|
{
|
|
return this.readyState
|
|
},
|
|
set__requestState$i$1: function(value)
|
|
{
|
|
this.readyState=value;
|
|
return value
|
|
},
|
|
get_hasOnReadyStateChangeCallback: function()
|
|
{
|
|
return!$h.ScriptHelpers.isNullOrUndefined(this.onreadystatechange)
|
|
},
|
|
get__response$i$1: function()
|
|
{
|
|
return this.responseText
|
|
},
|
|
set__response$i$1: function(value)
|
|
{
|
|
this.responseText=value;
|
|
return value
|
|
},
|
|
send: function(data)
|
|
{
|
|
this._checkSendConditions$i$1();
|
|
if($h.ScriptHelpers.isNullOrUndefined(data))
|
|
this._throwInvalidStateException$i$1();
|
|
this._sendRequest$i$0(5,"EwsRequest",{body: data})
|
|
},
|
|
_callOnReadyStateChangeCallback$i$1: function()
|
|
{
|
|
if(!$h.ScriptHelpers.isNullOrUndefined(this.onreadystatechange))
|
|
this.onreadystatechange()
|
|
},
|
|
_parseExtraResponseData$i$1: function(response){},
|
|
executeExtraFailedResponseSteps: function(){}
|
|
};
|
|
$h.InitialData=function(data)
|
|
{
|
|
this._data$p$0=data;
|
|
this._permissionLevel$p$0=this._calculatePermissionLevel$p$0()
|
|
};
|
|
$h.InitialData._defineReadOnlyProperty$i=function(o, methodName, getter)
|
|
{
|
|
var propertyDescriptor={
|
|
get: getter,
|
|
configurable: false
|
|
};
|
|
Object.defineProperty(o,methodName,propertyDescriptor)
|
|
};
|
|
$h.InitialData.prototype={
|
|
_toRecipients$p$0: null,
|
|
_ccRecipients$p$0: null,
|
|
_attachments$p$0: null,
|
|
_resources$p$0: null,
|
|
_entities$p$0: null,
|
|
_data$p$0: null,
|
|
_permissionLevel$p$0: 0,
|
|
get__isRestIdSupported$i$0: function()
|
|
{
|
|
return this._data$p$0["isRestIdSupported"]
|
|
},
|
|
get__itemId$i$0: function()
|
|
{
|
|
return this._data$p$0["id"]
|
|
},
|
|
get__itemClass$i$0: function()
|
|
{
|
|
return this._data$p$0["itemClass"]
|
|
},
|
|
get__dateTimeCreated$i$0: function()
|
|
{
|
|
return new Date(this._data$p$0["dateTimeCreated"])
|
|
},
|
|
get__dateTimeModified$i$0: function()
|
|
{
|
|
return new Date(this._data$p$0["dateTimeModified"])
|
|
},
|
|
get__dateTimeSent$i$0: function()
|
|
{
|
|
return new Date(this._data$p$0["dateTimeSent"])
|
|
},
|
|
get__subject$i$0: function()
|
|
{
|
|
this._throwOnRestrictedPermissionLevel$i$0();
|
|
return this._data$p$0["subject"]
|
|
},
|
|
get__normalizedSubject$i$0: function()
|
|
{
|
|
this._throwOnRestrictedPermissionLevel$i$0();
|
|
return this._data$p$0["normalizedSubject"]
|
|
},
|
|
get__internetMessageId$i$0: function()
|
|
{
|
|
return this._data$p$0["internetMessageId"]
|
|
},
|
|
get__conversationId$i$0: function()
|
|
{
|
|
return this._data$p$0["conversationId"]
|
|
},
|
|
get__sender$i$0: function()
|
|
{
|
|
this._throwOnRestrictedPermissionLevel$i$0();
|
|
var sender=this._data$p$0["sender"];
|
|
return $h.ScriptHelpers.isNullOrUndefined(sender) ? null : new $h.EmailAddressDetails(sender)
|
|
},
|
|
get__from$i$0: function()
|
|
{
|
|
this._throwOnRestrictedPermissionLevel$i$0();
|
|
var from=this._data$p$0["from"];
|
|
return $h.ScriptHelpers.isNullOrUndefined(from) ? null : new $h.EmailAddressDetails(from)
|
|
},
|
|
get__to$i$0: function()
|
|
{
|
|
this._throwOnRestrictedPermissionLevel$i$0();
|
|
if(null===this._toRecipients$p$0)
|
|
this._toRecipients$p$0=this._createEmailAddressDetails$p$0("to");
|
|
return this._toRecipients$p$0
|
|
},
|
|
get__cc$i$0: function()
|
|
{
|
|
this._throwOnRestrictedPermissionLevel$i$0();
|
|
if(null===this._ccRecipients$p$0)
|
|
this._ccRecipients$p$0=this._createEmailAddressDetails$p$0("cc");
|
|
return this._ccRecipients$p$0
|
|
},
|
|
get__attachments$i$0: function()
|
|
{
|
|
this._throwOnRestrictedPermissionLevel$i$0();
|
|
if(null===this._attachments$p$0)
|
|
this._attachments$p$0=this._createAttachmentDetails$p$0();
|
|
return this._attachments$p$0
|
|
},
|
|
get__ewsUrl$i$0: function()
|
|
{
|
|
return this._data$p$0["ewsUrl"]
|
|
},
|
|
get__marketplaceAssetId$i$0: function()
|
|
{
|
|
return this._data$p$0["marketplaceAssetId"]
|
|
},
|
|
get__extensionId$i$0: function()
|
|
{
|
|
return this._data$p$0["extensionId"]
|
|
},
|
|
get__marketplaceContentMarket$i$0: function()
|
|
{
|
|
return this._data$p$0["marketplaceContentMarket"]
|
|
},
|
|
get__consentMetadata$i$0: function()
|
|
{
|
|
return this._data$p$0["consentMetadata"]
|
|
},
|
|
get__isRead$i$0: function()
|
|
{
|
|
return this._data$p$0["isRead"]
|
|
},
|
|
get__endNodeUrl$i$0: function()
|
|
{
|
|
return this._data$p$0["endNodeUrl"]
|
|
},
|
|
get__entryPointUrl$i$0: function()
|
|
{
|
|
return this._data$p$0["entryPointUrl"]
|
|
},
|
|
get__start$i$0: function()
|
|
{
|
|
return new Date(this._data$p$0["start"])
|
|
},
|
|
get__end$i$0: function()
|
|
{
|
|
return new Date(this._data$p$0["end"])
|
|
},
|
|
get__location$i$0: function()
|
|
{
|
|
return this._data$p$0["location"]
|
|
},
|
|
get__userProfileType$i$0: function()
|
|
{
|
|
return this._data$p$0["userProfileType"]
|
|
},
|
|
get__resources$i$0: function()
|
|
{
|
|
this._throwOnRestrictedPermissionLevel$i$0();
|
|
if(null===this._resources$p$0)
|
|
this._resources$p$0=this._createEmailAddressDetails$p$0("resources");
|
|
return this._resources$p$0
|
|
},
|
|
get__organizer$i$0: function()
|
|
{
|
|
this._throwOnRestrictedPermissionLevel$i$0();
|
|
var organizer=this._data$p$0["organizer"];
|
|
return $h.ScriptHelpers.isNullOrUndefined(organizer) ? null : new $h.EmailAddressDetails(organizer)
|
|
},
|
|
get__userDisplayName$i$0: function()
|
|
{
|
|
return this._data$p$0["userDisplayName"]
|
|
},
|
|
get__userEmailAddress$i$0: function()
|
|
{
|
|
return this._data$p$0["userEmailAddress"]
|
|
},
|
|
get__userTimeZone$i$0: function()
|
|
{
|
|
return this._data$p$0["userTimeZone"]
|
|
},
|
|
get__timeZoneOffsets$i$0: function()
|
|
{
|
|
return this._data$p$0["timeZoneOffsets"]
|
|
},
|
|
get__hostVersion$i$0: function()
|
|
{
|
|
return this._data$p$0["hostVersion"]
|
|
},
|
|
get__owaView$i$0: function()
|
|
{
|
|
return this._data$p$0["owaView"]
|
|
},
|
|
get__overrideWindowOpen$i$0: function()
|
|
{
|
|
return this._data$p$0["overrideWindowOpen"]
|
|
},
|
|
_getEntities$i$0: function()
|
|
{
|
|
if(!this._entities$p$0)
|
|
this._entities$p$0=new $h.Entities(this._data$p$0["entities"],this._data$p$0["filteredEntities"],this.get__dateTimeSent$i$0(),this._permissionLevel$p$0);
|
|
return this._entities$p$0
|
|
},
|
|
_getEntitiesByType$i$0: function(entityType)
|
|
{
|
|
var entites=this._getEntities$i$0();
|
|
return entites._getByType$i$0(entityType)
|
|
},
|
|
_getFilteredEntitiesByName$i$0: function(name)
|
|
{
|
|
var entities=this._getEntities$i$0();
|
|
return entities._getFilteredEntitiesByName$i$0(name)
|
|
},
|
|
_getRegExMatches$i$0: function()
|
|
{
|
|
if(!this._data$p$0["regExMatches"])
|
|
return null;
|
|
return this._data$p$0["regExMatches"]
|
|
},
|
|
_getRegExMatchesByName$i$0: function(regexName)
|
|
{
|
|
var regexMatches=this._getRegExMatches$i$0();
|
|
if(!regexMatches || !regexMatches[regexName])
|
|
return null;
|
|
return regexMatches[regexName]
|
|
},
|
|
_throwOnRestrictedPermissionLevel$i$0: function()
|
|
{
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._throwOnPropertyAccessForRestrictedPermission$i(this._permissionLevel$p$0)
|
|
},
|
|
_createEmailAddressDetails$p$0: function(key)
|
|
{
|
|
var to=this._data$p$0[key];
|
|
if($h.ScriptHelpers.isNullOrUndefined(to))
|
|
return[];
|
|
var recipients=[];
|
|
for(var i=0; i < to["length"]; i++)
|
|
if(!$h.ScriptHelpers.isNullOrUndefined(to[i]))
|
|
recipients[i]=new $h.EmailAddressDetails(to[i]);
|
|
return recipients
|
|
},
|
|
_createAttachmentDetails$p$0: function()
|
|
{
|
|
var attachments=this._data$p$0["attachments"];
|
|
if($h.ScriptHelpers.isNullOrUndefined(attachments))
|
|
return[];
|
|
var attachmentDetails=[];
|
|
for(var i=0; i < attachments["length"]; i++)
|
|
if(!$h.ScriptHelpers.isNullOrUndefined(attachments[i]))
|
|
attachmentDetails[i]=new $h.AttachmentDetails(attachments[i]);
|
|
return attachmentDetails
|
|
},
|
|
_calculatePermissionLevel$p$0: function()
|
|
{
|
|
var HostReadItem=1;
|
|
var HostReadWriteMailbox=2;
|
|
var HostReadWriteItem=3;
|
|
var permissionLevelFromHost=this._data$p$0["permissionLevel"];
|
|
if($h.ScriptHelpers.isUndefined(this._permissionLevel$p$0))
|
|
return 0;
|
|
switch(permissionLevelFromHost)
|
|
{
|
|
case HostReadItem:
|
|
return 1;
|
|
case HostReadWriteItem:
|
|
return 2;
|
|
case HostReadWriteMailbox:
|
|
return 3;
|
|
default:
|
|
return 0
|
|
}
|
|
}
|
|
};
|
|
$h._loadDictionaryRequest=function(createResultObject, dictionaryName, callback, userContext)
|
|
{
|
|
$h._loadDictionaryRequest.initializeBase(this,[userContext]);
|
|
this._createResultObject$p$1=createResultObject;
|
|
this._dictionaryName$p$1=dictionaryName;
|
|
this._callback$p$1=callback
|
|
};
|
|
$h._loadDictionaryRequest.prototype={
|
|
_dictionaryName$p$1: null,
|
|
_createResultObject$p$1: null,
|
|
_callback$p$1: null,
|
|
handleResponse: function(response)
|
|
{
|
|
if(response["wasSuccessful"])
|
|
{
|
|
var value=response[this._dictionaryName$p$1];
|
|
var responseData=window["JSON"]["parse"](value);
|
|
this.createAsyncResult(this._createResultObject$p$1(responseData),0,0,null)
|
|
}
|
|
else
|
|
this.createAsyncResult(null,1,9020,response["errorMessage"]);
|
|
this._callback$p$1(this._asyncResult$p$0)
|
|
}
|
|
};
|
|
$h.ProxyRequestBase=function(userContext)
|
|
{
|
|
$h.ProxyRequestBase.initializeBase(this,[userContext])
|
|
};
|
|
$h.ProxyRequestBase.prototype={
|
|
handleResponse: function(response)
|
|
{
|
|
if(!response["wasProxySuccessful"])
|
|
{
|
|
this.set__statusCode$i$1(500);
|
|
this.set__statusDescription$i$1("Error");
|
|
var errorMessage=response["errorMessage"];
|
|
this.set__response$i$1(errorMessage);
|
|
this.createAsyncResult(null,1,9020,errorMessage)
|
|
}
|
|
else
|
|
{
|
|
this.set__statusCode$i$1(response["statusCode"]);
|
|
this.set__statusDescription$i$1(response["statusDescription"]);
|
|
this.set__response$i$1(response["body"]);
|
|
this.createAsyncResult(this.get__response$i$1(),0,0,null)
|
|
}
|
|
this._parseExtraResponseData$i$1(response);
|
|
this._cycleReadyStateFromHeadersReceivedToLoadingToDone$i$1()
|
|
},
|
|
_throwInvalidStateException$i$1: function()
|
|
{
|
|
throw Error.create("DOMException",{
|
|
code: 11,
|
|
message: "INVALID_STATE_ERR"
|
|
});
|
|
},
|
|
_cycleReadyStateFromHeadersReceivedToLoadingToDone$i$1: function()
|
|
{
|
|
var $$t_0=this;
|
|
this._changeReadyState$i$1(2,function()
|
|
{
|
|
$$t_0._changeReadyState$i$1(3,function()
|
|
{
|
|
$$t_0._changeReadyState$i$1(4,null)
|
|
})
|
|
})
|
|
},
|
|
_changeReadyState$i$1: function(state, nextStep)
|
|
{
|
|
this.set__requestState$i$1(state);
|
|
var $$t_2=this;
|
|
window.setTimeout(function()
|
|
{
|
|
try
|
|
{
|
|
$$t_2._callOnReadyStateChangeCallback$i$1()
|
|
}
|
|
finally
|
|
{
|
|
if(!$h.ScriptHelpers.isNullOrUndefined(nextStep))
|
|
nextStep()
|
|
}
|
|
},0)
|
|
},
|
|
_checkSendConditions$i$1: function()
|
|
{
|
|
if(this.get__requestState$i$1() !==1)
|
|
this._throwInvalidStateException$i$1();
|
|
if(this._isSent$p$0)
|
|
this._throwInvalidStateException$i$1()
|
|
}
|
|
};
|
|
$h.RequestBase=function(userContext)
|
|
{
|
|
this._userContext$p$0=userContext
|
|
};
|
|
$h.RequestBase.prototype={
|
|
_isSent$p$0: false,
|
|
_asyncResult$p$0: null,
|
|
_userContext$p$0: null,
|
|
get_asyncResult: function()
|
|
{
|
|
return this._asyncResult$p$0
|
|
},
|
|
_sendRequest$i$0: function(dispid, methodName, dataToSend)
|
|
{
|
|
this._isSent$p$0=true;
|
|
var $$t_5=this;
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._instance$p.invokeHostMethod(dispid,dataToSend,function(resultCode, response)
|
|
{
|
|
if(resultCode)
|
|
$$t_5.createAsyncResult(null,1,9017,String.format(window["_u"]["ExtensibilityStrings"]["l_InternalProtocolError_Text"],resultCode));
|
|
else
|
|
$$t_5.handleResponse(response)
|
|
})
|
|
},
|
|
createAsyncResult: function(value, errorCode, detailedErrorCode, errorDescription)
|
|
{
|
|
this._asyncResult$p$0=window["OSF"]["DDA"]["OutlookAppOm"]._instance$p.createAsyncResult(value,errorCode,detailedErrorCode,this._userContext$p$0,errorDescription)
|
|
}
|
|
};
|
|
$h.SaveDictionaryRequest=function(callback, userContext)
|
|
{
|
|
$h.SaveDictionaryRequest.initializeBase(this,[userContext]);
|
|
if(!$h.ScriptHelpers.isNullOrUndefined(callback))
|
|
this._callback$p$1=callback
|
|
};
|
|
$h.SaveDictionaryRequest.prototype={
|
|
_callback$p$1: null,
|
|
handleResponse: function(response)
|
|
{
|
|
if(response["wasSuccessful"])
|
|
this.createAsyncResult(null,0,0,null);
|
|
else
|
|
this.createAsyncResult(null,1,9020,response["errorMessage"]);
|
|
if(!$h.ScriptHelpers.isNullOrUndefined(this._callback$p$1))
|
|
this._callback$p$1(this._asyncResult$p$0)
|
|
}
|
|
};
|
|
$h.ScriptHelpers=function(){};
|
|
$h.ScriptHelpers.isNull=function(value)
|
|
{
|
|
return null===value
|
|
};
|
|
$h.ScriptHelpers.isNullOrUndefined=function(value)
|
|
{
|
|
return $h.ScriptHelpers.isNull(value) || $h.ScriptHelpers.isUndefined(value)
|
|
};
|
|
$h.ScriptHelpers.isUndefined=function(value)
|
|
{
|
|
return value===undefined
|
|
};
|
|
$h.ScriptHelpers.dictionaryContainsKey=function(obj, keyName)
|
|
{
|
|
return Object.isInstanceOfType(obj) ? keyName in obj : false
|
|
};
|
|
$h.ScriptHelpers.isNonEmptyString=function(value)
|
|
{
|
|
if(!value)
|
|
return false;
|
|
return String.isInstanceOfType(value)
|
|
};
|
|
$h.ScriptHelpers.deepClone=function(obj)
|
|
{
|
|
return window["JSON"]["parse"](window["JSON"]["stringify"](obj))
|
|
};
|
|
window["OSF"]["DDA"]["OutlookAppOm"].registerClass("OSF.DDA.OutlookAppOm");
|
|
window["OSF"]["DDA"]["Settings"].registerClass("OSF.DDA.Settings");
|
|
$h.ItemBase.registerClass("$h.ItemBase");
|
|
$h.Item.registerClass("$h.Item",$h.ItemBase);
|
|
$h.Appointment.registerClass("$h.Appointment",$h.Item);
|
|
$h.ComposeItem.registerClass("$h.ComposeItem",$h.ItemBase);
|
|
$h.AppointmentCompose.registerClass("$h.AppointmentCompose",$h.ComposeItem);
|
|
$h.AttachmentConstants.registerClass("$h.AttachmentConstants");
|
|
$h.AttachmentDetails.registerClass("$h.AttachmentDetails");
|
|
$h.Body.registerClass("$h.Body");
|
|
$h.ComposeBody.registerClass("$h.ComposeBody",$h.Body);
|
|
$h.ComposeRecipient.registerClass("$h.ComposeRecipient");
|
|
$h.ComposeLocation.registerClass("$h.ComposeLocation");
|
|
$h.ComposeSubject.registerClass("$h.ComposeSubject");
|
|
$h.ComposeTime.registerClass("$h.ComposeTime");
|
|
$h.Contact.registerClass("$h.Contact");
|
|
$h.CustomProperties.registerClass("$h.CustomProperties");
|
|
$h.Diagnostics.registerClass("$h.Diagnostics");
|
|
$h.EmailAddressDetails.registerClass("$h.EmailAddressDetails");
|
|
$h.Entities.registerClass("$h.Entities");
|
|
$h.ReplyConstants.registerClass("$h.ReplyConstants");
|
|
$h.AsyncConstants.registerClass("$h.AsyncConstants");
|
|
window["Office"]["cast"]["item"].registerClass("Office.cast.item");
|
|
$h.Message.registerClass("$h.Message",$h.Item);
|
|
$h.MeetingRequest.registerClass("$h.MeetingRequest",$h.Message);
|
|
$h.MeetingSuggestion.registerClass("$h.MeetingSuggestion");
|
|
$h.MeetingSuggestionTimeDecoder.registerClass("$h.MeetingSuggestionTimeDecoder");
|
|
$h._extractedDate.registerClass("$h._extractedDate");
|
|
$h._preciseDate.registerClass("$h._preciseDate",$h._extractedDate);
|
|
$h._relativeDate.registerClass("$h._relativeDate",$h._extractedDate);
|
|
$h.MessageCompose.registerClass("$h.MessageCompose",$h.ComposeItem);
|
|
$h.NotificationMessages.registerClass("$h.NotificationMessages");
|
|
$h.OutlookErrorManager.registerClass("$h.OutlookErrorManager");
|
|
$h.OutlookErrorManager.OutlookErrorCodes.registerClass("$h.OutlookErrorManager.OutlookErrorCodes");
|
|
$h.OutlookErrorManager.OsfDdaErrorCodes.registerClass("$h.OutlookErrorManager.OsfDdaErrorCodes");
|
|
$h.PhoneNumber.registerClass("$h.PhoneNumber");
|
|
$h.TaskSuggestion.registerClass("$h.TaskSuggestion");
|
|
$h.UserProfile.registerClass("$h.UserProfile");
|
|
$h.CommonParameters.registerClass("$h.CommonParameters");
|
|
$h.RequestBase.registerClass("$h.RequestBase");
|
|
$h.ProxyRequestBase.registerClass("$h.ProxyRequestBase",$h.RequestBase);
|
|
$h.EwsRequest.registerClass("$h.EwsRequest",$h.ProxyRequestBase);
|
|
$h.InitialData.registerClass("$h.InitialData");
|
|
$h._loadDictionaryRequest.registerClass("$h._loadDictionaryRequest",$h.RequestBase);
|
|
$h.SaveDictionaryRequest.registerClass("$h.SaveDictionaryRequest",$h.RequestBase);
|
|
$h.ScriptHelpers.registerClass("$h.ScriptHelpers");
|
|
window["OSF"]["DDA"]["OutlookAppOm"].asyncMethodTimeoutKeyName="__timeout__";
|
|
window["OSF"]["DDA"]["OutlookAppOm"].ewsIdOrEmailParamName="ewsIdOrEmail";
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._maxRecipients$p=100;
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._maxSubjectLength$p=255;
|
|
window["OSF"]["DDA"]["OutlookAppOm"].maxBodyLength=32768;
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._maxLocationLength$p=255;
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._maxEwsRequestSize$p=1e6;
|
|
window["OSF"]["DDA"]["OutlookAppOm"].executeMethodName="ExecuteMethod";
|
|
window["OSF"]["DDA"]["OutlookAppOm"].getInitialDataMethodName="GetInitialData";
|
|
window["OSF"]["DDA"]["OutlookAppOm"].itemIdParameterName="itemId";
|
|
window["OSF"]["DDA"]["OutlookAppOm"].restVersionParameterName="restVersion";
|
|
window["OSF"]["DDA"]["OutlookAppOm"]._instance$p=null;
|
|
$h.AttachmentConstants.maxAttachmentNameLength=255;
|
|
$h.AttachmentConstants.maxUrlLength=2048;
|
|
$h.AttachmentConstants.maxItemIdLength=200;
|
|
$h.AttachmentConstants.maxRemoveIdLength=200;
|
|
$h.AttachmentConstants.attachmentParameterName="attachments";
|
|
$h.AttachmentConstants.attachmentTypeParameterName="type";
|
|
$h.AttachmentConstants.attachmentUrlParameterName="url";
|
|
$h.AttachmentConstants.attachmentItemIdParameterName="itemId";
|
|
$h.AttachmentConstants.attachmentNameParameterName="name";
|
|
$h.AttachmentConstants.attachmentTypeFileName="file";
|
|
$h.AttachmentConstants.attachmentTypeItemName="item";
|
|
$h.AttachmentDetails._attachmentTypeMap$p=[window["Microsoft"]["Office"]["WebExtension"]["MailboxEnums"]["AttachmentType"]["File"],window["Microsoft"]["Office"]["WebExtension"]["MailboxEnums"]["AttachmentType"]["Item"],window["Microsoft"]["Office"]["WebExtension"]["MailboxEnums"]["AttachmentType"]["Cloud"]];
|
|
$h.Body.coercionTypeParameterName="coercionType";
|
|
$h.ComposeRecipient.displayNameLengthLimit=255;
|
|
$h.ComposeRecipient.maxSmtpLength=571;
|
|
$h.ComposeRecipient.recipientsLimit=100;
|
|
$h.ComposeRecipient.totalRecipientsLimit=500;
|
|
$h.ComposeRecipient.addressParameterName="address";
|
|
$h.ComposeRecipient.nameParameterName="name";
|
|
$h.ComposeLocation.locationKey="location";
|
|
$h.ComposeLocation.maximumLocationLength=255;
|
|
$h.ComposeSubject.maximumSubjectLength=255;
|
|
$h.ComposeTime.timeTypeName="TimeProperty";
|
|
$h.ComposeTime.timeDataName="time";
|
|
$h.Diagnostics.outlookAppName="Outlook";
|
|
$h.Diagnostics.outlookWebAppName="OutlookWebApp";
|
|
$h.EmailAddressDetails._emptyString$p="";
|
|
$h.EmailAddressDetails._responseTypeMap$p=[window["Microsoft"]["Office"]["WebExtension"]["MailboxEnums"]["ResponseType"]["None"],window["Microsoft"]["Office"]["WebExtension"]["MailboxEnums"]["ResponseType"]["Organizer"],window["Microsoft"]["Office"]["WebExtension"]["MailboxEnums"]["ResponseType"]["Tentative"],window["Microsoft"]["Office"]["WebExtension"]["MailboxEnums"]["ResponseType"]["Accepted"],window["Microsoft"]["Office"]["WebExtension"]["MailboxEnums"]["ResponseType"]["Declined"]];
|
|
$h.EmailAddressDetails._recipientTypeMap$p=[window["Microsoft"]["Office"]["WebExtension"]["MailboxEnums"]["RecipientType"]["Other"],window["Microsoft"]["Office"]["WebExtension"]["MailboxEnums"]["RecipientType"]["DistributionList"],window["Microsoft"]["Office"]["WebExtension"]["MailboxEnums"]["RecipientType"]["User"],window["Microsoft"]["Office"]["WebExtension"]["MailboxEnums"]["RecipientType"]["ExternalUser"]];
|
|
$h.Entities._allEntityKeys$p=["Addresses","EmailAddresses","Urls","PhoneNumbers","TaskSuggestions","MeetingSuggestions","Contacts","FlightReservations","ParcelDeliveries"];
|
|
$h.ReplyConstants.htmlBodyKeyName="htmlBody";
|
|
$h.AsyncConstants.optionsKeyName="options";
|
|
$h.AsyncConstants.callbackKeyName="callback";
|
|
$h.AsyncConstants.asyncResultKeyName="asyncResult";
|
|
$h.MeetingSuggestionTimeDecoder._baseDate$p=new Date("0001-01-01T00:00:00Z");
|
|
$h.NotificationMessages.maximumKeyLength=32;
|
|
$h.NotificationMessages.maximumIconLength=32;
|
|
$h.NotificationMessages.maximumMessageLength=150;
|
|
$h.NotificationMessages.notificationsKeyParameterName="key";
|
|
$h.NotificationMessages.notificationsTypeParameterName="type";
|
|
$h.NotificationMessages.notificationsIconParameterName="icon";
|
|
$h.NotificationMessages.notificationsMessageParameterName="message";
|
|
$h.NotificationMessages.notificationsPersistentParameterName="persistent";
|
|
$h.OutlookErrorManager.errorNameKey="name";
|
|
$h.OutlookErrorManager.errorMessageKey="message";
|
|
$h.OutlookErrorManager._isInitialized$p=false;
|
|
$h.OutlookErrorManager.OutlookErrorCodes.attachmentSizeExceeded=9e3;
|
|
$h.OutlookErrorManager.OutlookErrorCodes.numberOfAttachmentsExceeded=9001;
|
|
$h.OutlookErrorManager.OutlookErrorCodes.internalFormatError=9002;
|
|
$h.OutlookErrorManager.OutlookErrorCodes.invalidAttachmentId=9003;
|
|
$h.OutlookErrorManager.OutlookErrorCodes.invalidAttachmentPath=9004;
|
|
$h.OutlookErrorManager.OutlookErrorCodes.cannotAddAttachmentBeforeUpgrade=9005;
|
|
$h.OutlookErrorManager.OutlookErrorCodes.attachmentDeletedBeforeUploadCompletes=9006;
|
|
$h.OutlookErrorManager.OutlookErrorCodes.attachmentUploadGeneralFailure=9007;
|
|
$h.OutlookErrorManager.OutlookErrorCodes.attachmentToDeleteDoesNotExist=9008;
|
|
$h.OutlookErrorManager.OutlookErrorCodes.attachmentDeleteGeneralFailure=9009;
|
|
$h.OutlookErrorManager.OutlookErrorCodes.invalidEndTime=9010;
|
|
$h.OutlookErrorManager.OutlookErrorCodes.htmlSanitizationFailure=9011;
|
|
$h.OutlookErrorManager.OutlookErrorCodes.numberOfRecipientsExceeded=9012;
|
|
$h.OutlookErrorManager.OutlookErrorCodes.noValidRecipientsProvided=9013;
|
|
$h.OutlookErrorManager.OutlookErrorCodes.cursorPositionChanged=9014;
|
|
$h.OutlookErrorManager.OutlookErrorCodes.invalidSelection=9016;
|
|
$h.OutlookErrorManager.OutlookErrorCodes.accessRestricted=9017;
|
|
$h.OutlookErrorManager.OutlookErrorCodes.genericTokenError=9018;
|
|
$h.OutlookErrorManager.OutlookErrorCodes.genericSettingsError=9019;
|
|
$h.OutlookErrorManager.OutlookErrorCodes.genericResponseError=9020;
|
|
$h.OutlookErrorManager.OutlookErrorCodes.saveError=9021;
|
|
$h.OutlookErrorManager.OutlookErrorCodes.messageInDifferentStoreError=9022;
|
|
$h.OutlookErrorManager.OutlookErrorCodes.duplicateNotificationKey=9023;
|
|
$h.OutlookErrorManager.OutlookErrorCodes.notificationKeyNotFound=9024;
|
|
$h.OutlookErrorManager.OutlookErrorCodes.numberOfNotificationsExceeded=9025;
|
|
$h.OutlookErrorManager.OutlookErrorCodes.persistedNotificationArrayReadError=9026;
|
|
$h.OutlookErrorManager.OutlookErrorCodes.persistedNotificationArraySaveError=9027;
|
|
$h.OutlookErrorManager.OutlookErrorCodes.cannotPersistPropertyInUnsavedDraftError=9028;
|
|
$h.OutlookErrorManager.OutlookErrorCodes.ooeInvalidDataFormat=2006;
|
|
$h.OutlookErrorManager.OsfDdaErrorCodes.ooeCoercionTypeNotSupported=1e3;
|
|
$h.CommonParameters.asyncContextKeyName="asyncContext";
|
|
$h.InitialData.userProfileTypeKey="userProfileType";
|
|
$h.ScriptHelpers.emptyString="";
|
|
OSF.DDA.ErrorCodeManager.initializeErrorMessages(Strings.OfficeOM);
|
|
if(appContext.get_appName()==OSF.AppName.OutlookWebApp || appContext.get_appName()==OSF.AppName.OutlookIOS)
|
|
this._settings=this._initializeSettings(appContext,false);
|
|
else
|
|
this._settings=this._initializeSettings(false);
|
|
appContext.appOM=new OSF.DDA.OutlookAppOm(appContext,this._webAppState.wnd,appReady)
|
|
}
|
|
|