UNPKG

@microsoft/office-js

Version:
1,372 lines (1,370 loc) • 128 kB
/* Outlook specific API library */ /* Version: 15.0.4726.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. */ 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" }; 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" }; Microsoft.Office.WebExtension.MailboxEnums.BodyType={ Text: "text", Html: "html" }; Microsoft.Office.WebExtension.CoercionType={ Text: "text", Html: "html" }; Type.registerNamespace("OSF.DDA"); OSF.DDA.OutlookAppOm=function(officeAppContext, targetWindow, appReadyCallback) { this.$$d__callAppReadyCallback$p$0=Function.createDelegate(this,this._callAppReadyCallback$p$0); 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__getInitialDataResponseHandler$p$0=Function.createDelegate(this,this._getInitialDataResponseHandler$p$0); 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) $$t_4._invokeHostMethod$i$0(1,"GetInitialData",null,$$t_4.$$d__getInitialDataResponseHandler$p$0) }; if(this._areStringsLoaded$p$0()) stringLoadedCallback(); else this._loadLocalizedScript$p$0(stringLoadedCallback) }; OSF.DDA.OutlookAppOm._throwOnPropertyAccessForRestrictedPermission$i=function(currentPermissionLevel) { if(!currentPermissionLevel) throw Error.create(_u.ExtensibilityStrings.l_ElevatedPermissionNeeded_Text); }; OSF.DDA.OutlookAppOm._throwOnOutOfRange$i=function(value, minValue, maxValue, argumentName) { if(value < minValue || value > maxValue) throw Error.argumentOutOfRange(argumentName); }; OSF.DDA.OutlookAppOm._getHtmlBody$p=function(data) { var htmlBody=""; if("htmlBody" in data) { OSF.DDA.OutlookAppOm._throwOnInvalidHtmlBody$p(data["htmlBody"]); htmlBody=data["htmlBody"] } return htmlBody }; OSF.DDA.OutlookAppOm._getAttachments$p=function(data) { var attachments=[]; if("attachments" in data) { attachments=data["attachments"]; OSF.DDA.OutlookAppOm._throwOnInvalidAttachmentsArray$p(attachments) } return attachments }; 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 }; 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]; OSF.DDA.OutlookAppOm._throwOnInvalidAttachment$p(attachment); attachmentsData[i]=OSF.DDA.OutlookAppOm._createAttachmentData$p(attachment) } else throw Error.argument("attachments"); return attachmentsData }; OSF.DDA.OutlookAppOm._throwOnInvalidHtmlBody$p=function(htmlBody) { if(!String.isInstanceOfType(htmlBody)) throw Error.argument("htmlBody"); if($h.ScriptHelpers.isNullOrUndefined(htmlBody)) throw Error.argument("htmlBody"); OSF.DDA.OutlookAppOm._throwOnOutOfRange$i(htmlBody.length,0,OSF.DDA.OutlookAppOm.maxBodyLength,"htmlBody") }; OSF.DDA.OutlookAppOm._throwOnInvalidAttachmentsArray$p=function(attachments) { if(!Array.isInstanceOfType(attachments)) throw Error.argument("attachments"); }; 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"); }; OSF.DDA.OutlookAppOm._createAttachmentData$p=function(attachment) { var attachmentData=null; if(attachment["type"]==="file") { var url=attachment["url"]; var name=attachment["name"]; OSF.DDA.OutlookAppOm._throwOnInvalidAttachmentUrlOrName$p(url,name); attachmentData=OSF.DDA.OutlookAppOm._createFileAttachmentData$p(url,name) } else if(attachment["type"]==="item") { var itemId=attachment["itemId"]; var name=attachment["name"]; OSF.DDA.OutlookAppOm._throwOnInvalidAttachmentItemIdOrName$p(itemId,name); attachmentData=OSF.DDA.OutlookAppOm._createItemAttachmentData$p(itemId,name) } else throw Error.argument("attachments"); return attachmentData }; OSF.DDA.OutlookAppOm._createFileAttachmentData$p=function(url, name) { return["file",name,url] }; OSF.DDA.OutlookAppOm._createItemAttachmentData$p=function(itemId, name) { return["item",name,itemId] }; 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,_u.ExtensibilityStrings.l_AttachmentUrlTooLong_Text); OSF.DDA.OutlookAppOm._throwOnInvalidAttachmentName$p(name) }; 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,_u.ExtensibilityStrings.l_AttachmentItemIdTooLong_Text); OSF.DDA.OutlookAppOm._throwOnInvalidAttachmentName$p(name) }; OSF.DDA.OutlookAppOm._throwOnInvalidAttachmentName$p=function(name) { if(name.length > 255) throw Error.argumentOutOfRange("attachments",name.length,_u.ExtensibilityStrings.l_AttachmentNameTooLong_Text); }; OSF.DDA.OutlookAppOm._throwOnArgumentType$p=function(value, expectedType, argumentName) { if(Object.getType(value) !==expectedType) throw Error.argumentType(argumentName); }; OSF.DDA.OutlookAppOm._validateOptionalStringParameter$p=function(value, minLength, maxLength, name) { if($h.ScriptHelpers.isNullOrUndefined(value)) return; OSF.DDA.OutlookAppOm._throwOnArgumentType$p(value,String,name); var stringValue=value; OSF.DDA.OutlookAppOm._throwOnOutOfRange$i(stringValue.length,minLength,maxLength,name) }; 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: break; case 4: var jsonProperty=JSON.stringify(data["customProperties"]); executeParameters=[jsonProperty]; break; case 5: executeParameters=[data["body"]]; break; case 8: case 9: executeParameters=[data["itemId"]]; break; case 7: executeParameters=[OSF.DDA.OutlookAppOm._convertRecipientArrayParameterForOutlookForDisplayApi$p(data["requiredAttendees"]),OSF.DDA.OutlookAppOm._convertRecipientArrayParameterForOutlookForDisplayApi$p(data["optionalAttendees"]),data["start"],data["end"],data["location"],OSF.DDA.OutlookAppOm._convertRecipientArrayParameterForOutlookForDisplayApi$p(data["resources"]),data["subject"],data["body"]]; break; case 11: case 10: executeParameters=[data["htmlBody"]]; break; case 31: case 30: executeParameters=[data["htmlBody"],data["attachments"]]; break; case 23: case 13: case 29: executeParameters=[data["data"],data["coercionType"]]; break; 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"],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; default: Sys.Debug.fail("Unexpected method dispid"); break } return executeParameters }; OSF.DDA.OutlookAppOm._convertRecipientArrayParameterForOutlookForDisplayApi$p=function(array) { return array ? array.join(";") : null }; 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 }; OSF.DDA.OutlookAppOm._validateAndNormalizeRecipientEmails$p=function(emailset, name) { if($h.ScriptHelpers.isNullOrUndefined(emailset)) return null; OSF.DDA.OutlookAppOm._throwOnArgumentType$p(emailset,Array,name); var originalAttendees=emailset; var updatedAttendees=null; var normalizationNeeded=false; OSF.DDA.OutlookAppOm._throwOnOutOfRange$i(originalAttendees.length,0,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]; OSF.DDA.OutlookAppOm._throwOnArgumentType$p(updatedAttendees[i],String,String.format("{0}[{1}]",name,i)) } else 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, 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); 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 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(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$i$0(0,"LaunchPalUrl",{launchUrl: url},null) }, 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 > OSF.DDA.OutlookAppOm._maxEwsRequestSize$p) throw Error.argument("data",_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) }, recordDataPoint: function(data) { if($h.ScriptHelpers.isNullOrUndefined(data)) throw Error.argumentNull("data"); this._invokeHostMethod$i$0(0,"RecordDataPoint",data,null) }, recordTrace: function(data) { if($h.ScriptHelpers.isNullOrUndefined(data)) throw Error.argumentNull("data"); this._invokeHostMethod$i$0(0,"RecordTrace",data,null) }, trackCtq: function(data) { if($h.ScriptHelpers.isNullOrUndefined(data)) throw Error.argumentNull("data"); this._invokeHostMethod$i$0(0,"TrackCtq",data,null) }, 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 }, 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 }, 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) }, 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) }, displayMessageForm: function(itemId) { if($h.ScriptHelpers.isNullOrUndefined(itemId)) throw Error.argumentNull("itemId"); this._invokeHostMethod$i$0(8,"DisplayExistingMessageForm",{itemId: itemId},null) }, displayAppointmentForm: function(itemId) { if($h.ScriptHelpers.isNullOrUndefined(itemId)) throw Error.argumentNull("itemId"); this._invokeHostMethod$i$0(9,"DisplayExistingAppointmentForm",{itemId: itemId},null) }, createAsyncResult: function(value, errorCode, errorDescription, userContext) { var initArgs={}; var errorArgs=null; initArgs[OSF.DDA.AsyncResultEnum.Properties.Value]=value; initArgs[OSF.DDA.AsyncResultEnum.Properties.Context]=userContext; if(0 !==errorCode) { errorArgs={}; errorArgs[OSF.DDA.AsyncResultEnum.ErrorProperties.Name]=errorCode; errorArgs[OSF.DDA.AsyncResultEnum.ErrorProperties.Message]=errorDescription } return new OSF.DDA.AsyncResult(initArgs,errorArgs) }, standardCreateAsyncResult: function(value, errorCode, detailedErrorCode, userContext) { 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]=errorProperties["message"]; 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(_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") { var data={}; data=$.extend(true,data,obj); this._doDisplayReplyFormWithAttachments$p$0(data,isReplyAll) } else throw Error.argumentType(); }, _doDisplayReplyForm$p$0: function(htmlBody, isReplyAll) { if(!$h.ScriptHelpers.isNullOrUndefined(htmlBody)) OSF.DDA.OutlookAppOm._throwOnOutOfRange$i(htmlBody.length,0,OSF.DDA.OutlookAppOm.maxBodyLength,"htmlBody"); this._invokeHostMethod$i$0(isReplyAll ? 11 : 10,isReplyAll ? "DisplayReplyAllForm" : "DisplayReplyForm",{htmlBody: htmlBody},null) }, _doDisplayReplyFormWithAttachments$p$0: function(data, isReplyAll) { var htmlBody=OSF.DDA.OutlookAppOm._getHtmlBody$p(data); var attachments=OSF.DDA.OutlookAppOm._getAttachments$p(data); var parameters=$h.CommonParameters.parse(OSF.DDA.OutlookAppOm._getOptionsAndCallback$p(data),false); var $$t_6=this; this._standardInvokeHostMethod$i$0(isReplyAll ? 31 : 30,isReplyAll ? "DisplayReplyAllForm" : "DisplayReplyForm",{ htmlBody: htmlBody, attachments: OSF.DDA.OutlookAppOm._createAttachmentsDataForHost$p(attachments) },function(rawInput) { return rawInput },parameters._asyncContext$p$0,parameters._callback$p$0) }, _standardInvokeHostMethod$i$0: function(dispid, name, data, format, userContext, callback) { var $$t_C=this; this._invokeHostMethod$i$0(dispid,name,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_C.standardCreateAsyncResult(formattedData,0,0,userContext) } else { var errorCode=responseDictionary["errorCode"]; asyncResult=$$t_C.standardCreateAsyncResult(null,1,errorCode,userContext) } } if(!asyncResult && resultCode) asyncResult=$$t_C.standardCreateAsyncResult(null,1,9002,userContext); callback(asyncResult) } }) }, _invokeHostMethod$i$0: function(dispid, name, data, responseCallback) { if(64===this._officeAppContext$p$0.get_appName()) this.get_clientEndPoint().invoke(name,responseCallback,data); else if(dispid) { var executeParameters=OSF.DDA.OutlookAppOm._convertToOutlookParameters$p(dispid,data); var $$t_B=this; window.external.execute(dispid,executeParameters,function(nativeData, resultCode) { if(responseCallback) { var responseData=nativeData.toArray(); var rawData=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(isNaN(retValue.getTime())) throw Error.format(_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 }, _displayNewAppointmentFormApi$p$0: function(parameters) { var normalizedRequiredAttendees=OSF.DDA.OutlookAppOm._validateAndNormalizeRecipientEmails$p(parameters["requiredAttendees"],"requiredAttendees"); var normalizedOptionalAttendees=OSF.DDA.OutlookAppOm._validateAndNormalizeRecipientEmails$p(parameters["optionalAttendees"],"optionalAttendees"); OSF.DDA.OutlookAppOm._validateOptionalStringParameter$p(parameters["location"],0,OSF.DDA.OutlookAppOm._maxLocationLength$p,"location"); OSF.DDA.OutlookAppOm._validateOptionalStringParameter$p(parameters["body"],0,OSF.DDA.OutlookAppOm.maxBodyLength,"body"); OSF.DDA.OutlookAppOm._validateOptionalStringParameter$p(parameters["subject"],0,OSF.DDA.OutlookAppOm._maxSubjectLength$p,"subject"); if(!$h.ScriptHelpers.isNullOrUndefined(parameters["start"])) { OSF.DDA.OutlookAppOm._throwOnArgumentType$p(parameters["start"],Date,"start"); var startDateTime=parameters["start"]; parameters["start"]=startDateTime.getTime(); if(!$h.ScriptHelpers.isNullOrUndefined(parameters["end"])) { OSF.DDA.OutlookAppOm._throwOnArgumentType$p(parameters["end"],Date,"end"); var endDateTime=parameters["end"]; if(endDateTime < startDateTime) throw Error.argumentOutOfRange("end",endDateTime,_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$i$0(7,"DisplayNewAppointmentForm",updatedParameters || parameters,null) }, _initializeMethods$p$0: function() { var currentInstance=this; if($h.Item.isInstanceOfType(this._item$p$0)) currentInstance.displayNewAppointmentForm=this.$$d__displayNewAppointmentFormApi$p$0 }, _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$i$0(outlookDispid,methodName,null,function(resultCode, response) { var asyncResult; if(resultCode) asyncResult=$$t_8.createAsyncResult(null,1,String.format(_u.ExtensibilityStrings.l_InternalProtocolError_Text,resultCode),userContext); else { var responseDictionary=response; if(responseDictionary["wasSuccessful"]) asyncResult=$$t_8.createAsyncResult(responseDictionary["token"],0,null,userContext); else asyncResult=$$t_8.createAsyncResult(null,1,responseDictionary["errorMessage"],userContext) } callback(asyncResult) }) }, _getItem$p$0: function() { return this._item$p$0 }, _getUserProfile$p$0: function() { 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() { 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=parseInt(range["start"]); var end=parseInt(range["end"]); if(value.getTime() - start >=0 && value.getTime() - end < 0) return parseInt(range["offset"]) } throw Error.format(_u.ExtensibilityStrings.l_InvalidDate_Text); }, _areStringsLoaded$p$0: function() { var stringsLoaded=false; try { stringsLoaded=!$h.ScriptHelpers.isNullOrUndefined(_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.Settings=function(data) { this._rawData$p$0=data }; OSF.DDA.Settings._convertFromRawSettings$p=function(rawSettings) { if(!rawSettings) return{}; if(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=OSF.DDA.Settings._convertFromRawSettings$p(this._rawData$p$0); this._rawData$p$0=null } return this._settingsData$p$0 }, get: function(name) { return this.get__data$p$0()[name] }, set: function(name, value) { this.get__data$p$0()[name]=value }, remove: function(name) { delete this.get__data$p$0()[name] }, saveAsync: function() { var args=[]; for(var $$pai_2=0; $$pai_2 < arguments.length;++$$pai_2) args[$$pai_2]=arguments[$$pai_2]; var commonParameters=$h.CommonParameters.parse(args,false); if(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) }, _saveSettingsForOutlook$p$0: function(callback, userContext) { var storedException=null; try { var serializedSettings=OSF.DDA.SettingsManager.serializeSettings(this.get__data$p$0()); var jsonSettings=JSON.stringify(serializedSettings); var settingsObjectToSave={SettingsKey: jsonSettings}; OSF.DDA.RichClientSettingsManager.write(settingsObjectToSave) } catch(ex) { storedException=ex } if(callback) { var asyncResult; if(storedException) asyncResult=OSF.DDA.OutlookAppOm._instance$p.createAsyncResult(null,1,storedException.message,userContext); else asyncResult=OSF.DDA.OutlookAppOm._instance$p.createAsyncResult(null,0,null,userContext); callback(asyncResult) } }, _saveSettingsForOwa$p$0: function(callback, userContext) { var serializedSettings=OSF.DDA.SettingsManager.serializeSettings(this.get__data$p$0()); var $$t_7=this; OSF._OfficeAppFactory.getClientEndPoint().invoke("saveSettingsAsync",function(resultCode, response) { if(callback) { var asyncResult; if(resultCode) asyncResult=OSF.DDA.OutlookAppOm._instance$p.createAsyncResult(null,1,String.format(_u.ExtensibilityStrings.l_InternalProtocolError_Text,resultCode),userContext); else { var responseDictionary=response; if(!responseDictionary["error"]) asyncResult=OSF.DDA.OutlookAppOm._instance$p.createAsyncResult(null,0,null,userContext); else asyncResult=OSF.DDA.OutlookAppOm._instance$p.createAsyncResult(null,1,responseDictionary["errorMessage"],userContext) } callback(asyncResult) } },[serializedSettings]) } }; Type.registerNamespace("$h"); Type.registerNamespace("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={ getEntities: function() { return this._data$p$0._getEntities$i$0() }, getEntitiesByType: function(entityType) { return this._data$p$0._getEntitiesByType$i$0(entityType) }, getRegExMatches: function() { OSF.DDA.OutlookAppOm._instance$p._throwOnMethodCallForInsufficientPermission$i$0(1,"getRegExMatches"); return this._data$p$0._getRegExMatches$i$0() }, getFilteredEntitiesByName: function(name) { return this._data$p$0._getFilteredEntitiesByName$i$0(name) }, getRegExMatchesByName: function(name) { OSF.DDA.OutlookAppOm._instance$p._throwOnMethodCallForInsufficientPermission$i$0(1,"getRegExMatchesByName"); return this._data$p$0._getRegExMatchesByName$i$0(name) }, displayReplyForm: function(obj) { OSF.DDA.OutlookAppOm._instance$p._displayReplyForm$i$0(obj) }, displayReplyAllForm: function(obj) { OSF.DDA.OutlookAppOm._instance$p._displayReplyAllForm$i$0(obj) }, getItemType: function() { return 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.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 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] : Microsoft.Office.WebExtension.MailboxEnums.AttachmentType.File }, _getIsInline$p$0: function() { return this._data$p$0["isInline"] } }; $h.ComposeBody=function(){}; $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.ComposeBody._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(OSF.DDA.OutlookAppOm._instance$p.standardCreateAsyncResult(null,1,1e3,parameters._asyncContext$p$0)); return null } dataToHost["coercionType"]=hostCoercionType } else dataToHost["coercionType"]=0; return dataToHost }; $h.ComposeBody._tryMapToHostCoercionType$i=function(coercionType, hostCoercionType) { hostCoercionType.val=undefined; if(coercionType===Microsoft.Office.WebExtension.CoercionType.Html) hostCoercionType.val=3; else if(coercionType===Microsoft.Office.WebExtension.CoercionType.Text) hostCoercionType.val=0; else return false; return true }; $h.ComposeBody.prototype={ getTypeAsync: function() { var args=[]; for(var $$pai_2=0; $$pai_2 < arguments.length;++$$pai_2) args[$$pai_2]=arguments[$$pai_2]; OSF.DDA.OutlookAppOm._instance$p._throwOnMethodCallForInsufficientPermission$i$0(1,"body.getTypeAsync"); var parameters=$h.CommonParameters.parse(args,true); OSF.DDA.OutlookAppOm._instance$p._standardInvokeHostMethod$i$0(14,"GetBodyTypeAsync",null,null,parameters._asyncContext$p$0,parameters._callback$p$0) }, setSelectedDataAsync: function(data) { var args=[]; for(var $$pai_4=1; $$pai_4 < arguments.length;++$$pai_4) args[$$pai_4 - 1]=arguments[$$pai_4]; 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); OSF.DDA.OutlookAppOm._throwOnOutOfRange$i(data.length,0,1e6,"data"); var dataToHost=$h.ComposeBody._createParameterDictionaryToHost$i(data,parameters); if(!dataToHost) return; OSF.DDA.OutlookAppOm._instance$p._standardInvokeHostMethod$i$0(13,"BodySetSelectedDataAsync",dataToHost,null,parameters._asyncContext$p$0,parameters._callback$p$0) }, prependAsync: function(data) { var args=[]; for(var $$pai_4=1; $$pai_4 < arguments.length;++$$pai_4) args[$$pai_4 - 1]=arguments[$$pai_4]; 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); OSF.DDA.OutlookAppOm._throwOnOutOfRange$i(data.length,0,1e6,"data"); var dataToHost=$h.ComposeBody._createParameterDictionaryToHost$i(data,parameters); if(!dataToHost) return; OSF.DDA.OutlookAppOm._instance$p._standardInvokeHostMethod$i$0(23,"BodyPrependAsync",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, addFileAttachmentAsync: function(uri, attachmentName) { var args=[]; for(var $$pai_5=2; $$pai_5 < arguments.length;++$$pai_5) args[$$pai_5 - 2]=arguments[$$pai_5]; 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"); OSF.DDA.OutlookAppOm._throwOnOutOfRange$i(uri.length,0,2048,"uri"); 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 }; OSF.DDA.OutlookAppOm._instance$p._standardInvokeHostMethod$i$0(16,"AddFileAttachmentAsync",parameters,null,commonParameters._asyncContext$p$0,commonParameters._callback$p$0) }, addItemAttachmentAsync: function(itemId, attachmentName) { var args=[]; for(var $$pai_5=2; $$pai_5 < arguments.length;++$$pai_5) args[$$pai_5 - 2]=arguments[$$pai_5]; 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"); OSF.DDA.OutlookAppOm._throwOnOutOfRange$i(itemId.length,0,200,"itemId"); OSF.DDA.OutlookAppOm._throwOnOutOfRange$i(attachmentName.length,0,255,"attachmentName"); var commonParameters=$h.CommonParameters.parse(args,false); var parameters={ itemId: itemId, name: attachmentName, __timeout__: 6e5 }; OSF.DDA.OutlookAppOm._instance$p._standardInvokeHostMethod$i$0(19,"AddItemAttachmentAsync",parameters,null,commonParameters._asyncContext$p$0,commonParameters._callback$p$0) }, removeAttachmentAsync: function(attachmentId) { var args=[]; for(var $$pai_3=1; $$pai_3 < arguments.length;++$$pai_3) args[$$pai_3 - 1]=arguments[$$pai_3]; OSF.DDA.OutlookAppOm._instance$p._throwOnMethodCallForInsufficientPermission$i$0(2,"removeAttachmentAsync"); if(!$h.ScriptHelpers.isNonEmptyString(attachmentId)) throw Error.argument("attachmentId"); OSF.DDA.OutlookAppOm._throwOnOutOfRange$i(attachmentId.length,0,200,"attachmentId"); var commonParameters=$h.CommonParameters.parse(args,false); OSF.DDA.OutlookAppOm._instance$p._standardInvokeHostMethod$i$0(20,"RemoveAttachmentAsync",{attachmentIndex: attachmentId},null,commonParameters._asyncContext$p$0,commonParameters._callback$p$0) }, getSelectedDataAsync: function(coercionType) { var args=[]; for(var $$pai_7=1; $$pai_7 < arguments.length;++$$pai_7) args[$$pai_7 - 1]=arguments[$$pai_7]; 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 !==Microsoft.Office.WebExtension.CoercionType.Html && coercionType !==Microsoft.Office.WebExtension.CoercionType.Text || !($$t_6=$h.ComposeBody._tryMapToHostCoercionType$i(coercionType,$$t_5={val: hostCoercionType}),hostCoercionType=$$t_5.val,$$t_6)) throw Error.argument("coercionType"); var dataToHost={coercionType: hostCoercionType}; OSF.DDA.OutlookAppOm._instance$p._standardInvokeHostMethod$i$0(28,"GetSelectedDataAsync",dataToHost,null,commonParameters._asyncContext$p$0,commonParameters._callback$p$0) }, setSelectedDataAsync: function(data) { var args=[]; for(var $$pai_4=1; $$pai_4 < arguments.length;++$$pai_4) args[$$pai_4 - 1]=arguments[$$pai_4]; 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); OSF.DDA.OutlookAppOm._throwOnOutOfRange$i(data.length,0,1e6,"data"); var dataToHost=$h.ComposeBody._createParameterDictionaryToHost$i(data,parameters); if(!dataToHost) return; OSF.DDA.OutlookAppOm._instance$p._standardInvokeHostMethod$i$0(29,"SetSelectedDataAsync",dataToHost,null,parameters._asyncContext$p$0,parameters._callback$p$0) }, _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.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,_u.ExtensibilityStrings.l_DisplayNameTooLong_Text); if(emailAddress && emailAddress.length > 571) throw Error.argumentOutOfRange("recipients",emailAddress.length,_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, 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); OSF.DDA.OutlookAppOm._instance$p._throwOnMethodCallForInsufficientPermissi