@microsoft/office-js
Version:
Office JavaScript APIs
1,280 lines (1,278 loc) • 129 kB
JavaScript
/* Outlook web application specific API library */
/* Version: 15.0.4615.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 OSF_DDA_OutlookAppOm(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 OSF_DDA_OutlookAppOm$_throwOnPropertyAccessForRestrictedPermission$i(currentPermissionLevel)
{
if (!currentPermissionLevel)
{
throw Error.create(_u.ExtensibilityStrings.l_ElevatedPermissionNeeded_Text);
}
};
OSF.DDA.OutlookAppOm._throwOnOutOfRange$i=function OSF_DDA_OutlookAppOm$_throwOnOutOfRange$i(value, minValue, maxValue, argumentName)
{
if (value < minValue || value > maxValue)
{
throw Error.argumentOutOfRange(argumentName);
}
};
OSF.DDA.OutlookAppOm._throwOnArgumentType$p=function OSF_DDA_OutlookAppOm$_throwOnArgumentType$p(value, expectedType, argumentName)
{
if (Object.getType(value) !==expectedType)
{
throw Error.argumentType(argumentName);
}
};
OSF.DDA.OutlookAppOm._validateOptionalStringParameter$p=function OSF_DDA_OutlookAppOm$_validateOptionalStringParameter$p(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 OSF_DDA_OutlookAppOm$_convertToOutlookParameters$p(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 23:
case 13:
executeParameters=[data['data'], data['coercionType'] || null];
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 OSF_DDA_OutlookAppOm$_convertRecipientArrayParameterForOutlookForDisplayApi$p(array)
{
return (array) ? array.join(';') : null
};
OSF.DDA.OutlookAppOm._convertComposeEmailDictionaryParameterForSetApi$p=function OSF_DDA_OutlookAppOm$_convertComposeEmailDictionaryParameterForSetApi$p(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 OSF_DDA_OutlookAppOm$_validateAndNormalizeRecipientEmails$p(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 OSF_DDA_OutlookAppOm$get_clientEndPoint()
{
if (!this._clientEndPoint$p$0)
{
this._clientEndPoint$p$0=OSF._OfficeAppFactory.getClientEndPoint()
}
return this._clientEndPoint$p$0
}, set_clientEndPoint: function OSF_DDA_OutlookAppOm$set_clientEndPoint(value)
{
this._clientEndPoint$p$0=value;
return value
}, get_initialData: function OSF_DDA_OutlookAppOm$get_initialData()
{
return this._initialData$p$0
}, get__appName$i$0: function OSF_DDA_OutlookAppOm$get__appName$i$0()
{
return this._officeAppContext$p$0.get_appName()
}, initialize: function OSF_DDA_OutlookAppOm$initialize(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 OSF_DDA_OutlookAppOm$windowOpenOverrideHandler(url, targetName, features, replace)
{
this._invokeHostMethod$i$0(0, 'LaunchPalUrl', {launchUrl: url}, null)
}, makeEwsRequestAsync: function OSF_DDA_OutlookAppOm$makeEwsRequestAsync(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.get_callback()(ewsRequest._asyncResult$p$0)
}
};
ewsRequest.send(data)
}, recordDataPoint: function OSF_DDA_OutlookAppOm$recordDataPoint(data)
{
if ($h.ScriptHelpers.isNullOrUndefined(data))
{
throw Error.argumentNull('data');
}
this._invokeHostMethod$i$0(0, 'RecordDataPoint', data, null)
}, recordTrace: function OSF_DDA_OutlookAppOm$recordTrace(data)
{
if ($h.ScriptHelpers.isNullOrUndefined(data))
{
throw Error.argumentNull('data');
}
this._invokeHostMethod$i$0(0, 'RecordTrace', data, null)
}, trackCtq: function OSF_DDA_OutlookAppOm$trackCtq(data)
{
if ($h.ScriptHelpers.isNullOrUndefined(data))
{
throw Error.argumentNull('data');
}
this._invokeHostMethod$i$0(0, 'TrackCtq', data, null)
}, convertToLocalClientTime: function OSF_DDA_OutlookAppOm$convertToLocalClientTime(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 OSF_DDA_OutlookAppOm$convertToUtcClientTime(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 OSF_DDA_OutlookAppOm$getUserIdentityTokenAsync()
{
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.get_callback(), parameters._asyncContext$p$0)
}, getCallbackTokenAsync: function OSF_DDA_OutlookAppOm$getCallbackTokenAsync()
{
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.get_callback(), parameters._asyncContext$p$0)
}, displayMessageForm: function OSF_DDA_OutlookAppOm$displayMessageForm(itemId)
{
if ($h.ScriptHelpers.isNullOrUndefined(itemId))
{
throw Error.argumentNull('itemId');
}
this._invokeHostMethod$i$0(8, 'DisplayExistingMessageForm', {itemId: itemId}, null)
}, displayAppointmentForm: function OSF_DDA_OutlookAppOm$displayAppointmentForm(itemId)
{
if ($h.ScriptHelpers.isNullOrUndefined(itemId))
{
throw Error.argumentNull('itemId');
}
this._invokeHostMethod$i$0(9, 'DisplayExistingAppointmentForm', {itemId: itemId}, null)
}, createAsyncResult: function OSF_DDA_OutlookAppOm$createAsyncResult(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 OSF_DDA_OutlookAppOm$standardCreateAsyncResult(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 OSF_DDA_OutlookAppOm$_throwOnMethodCallForInsufficientPermission$i$0(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 OSF_DDA_OutlookAppOm$_displayReplyForm$i$0(htmlBody)
{
if (!$h.ScriptHelpers.isNullOrUndefined(htmlBody))
{
OSF.DDA.OutlookAppOm._throwOnOutOfRange$i(htmlBody.length, 0, OSF.DDA.OutlookAppOm._maxBodyLength$p, 'htmlBody')
}
this._invokeHostMethod$i$0(10, 'DisplayReplyForm', {htmlBody: htmlBody}, null)
}, _displayReplyAllForm$i$0: function OSF_DDA_OutlookAppOm$_displayReplyAllForm$i$0(htmlBody)
{
if (!$h.ScriptHelpers.isNullOrUndefined(htmlBody))
{
OSF.DDA.OutlookAppOm._throwOnOutOfRange$i(htmlBody.length, 0, OSF.DDA.OutlookAppOm._maxBodyLength$p, 'htmlBody')
}
this._invokeHostMethod$i$0(11, 'DisplayReplyAllForm', {htmlBody: htmlBody}, null)
}, _standardInvokeHostMethod$i$0: function OSF_DDA_OutlookAppOm$_standardInvokeHostMethod$i$0(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 OSF_DDA_OutlookAppOm$_invokeHostMethod$i$0(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 OSF_DDA_OutlookAppOm$_dictionaryToDate$i$0(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 OSF_DDA_OutlookAppOm$_dateToDictionary$i$0(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 OSF_DDA_OutlookAppOm$_displayNewAppointmentFormApi$p$0(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$p, '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_6=parameters;
for (var $$key_7 in $$dict_6)
{
var entry={
key: $$key_7, value: $$dict_6[$$key_7]
};
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 OSF_DDA_OutlookAppOm$_initializeMethods$p$0()
{
var currentInstance=this;
if ($h.Item.isInstanceOfType(this._item$p$0))
{
currentInstance.displayNewAppointmentForm=this.$$d__displayNewAppointmentFormApi$p$0
}
}, _getInitialDataResponseHandler$p$0: function OSF_DDA_OutlookAppOm$_getInitialDataResponseHandler$p$0(resultCode, data)
{
if (resultCode)
{
return
}
this.initialize(data);
(this).displayName='mailbox';
window.setTimeout(this.$$d__callAppReadyCallback$p$0, 0)
}, _callAppReadyCallback$p$0: function OSF_DDA_OutlookAppOm$_callAppReadyCallback$p$0()
{
this._appReadyCallback$p$0()
}, _invokeGetTokenMethodAsync$p$0: function OSF_DDA_OutlookAppOm$_invokeGetTokenMethodAsync$p$0(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 OSF_DDA_OutlookAppOm$_getItem$p$0()
{
return this._item$p$0
}, _getUserProfile$p$0: function OSF_DDA_OutlookAppOm$_getUserProfile$p$0()
{
OSF.DDA.OutlookAppOm._throwOnPropertyAccessForRestrictedPermission$i(this._initialData$p$0._permissionLevel$p$0);
return this._userProfile$p$0
}, _getDiagnostics$p$0: function OSF_DDA_OutlookAppOm$_getDiagnostics$p$0()
{
return this._diagnostics$p$0
}, _getEwsUrl$p$0: function OSF_DDA_OutlookAppOm$_getEwsUrl$p$0()
{
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 OSF_DDA_OutlookAppOm$_findOffset$p$0(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 OSF_DDA_OutlookAppOm$_areStringsLoaded$p$0()
{
var stringsLoaded=false;
try
{
stringsLoaded=!$h.ScriptHelpers.isNullOrUndefined(_u.ExtensibilityStrings.l_EwsRequestOversized_Text)
}
catch($$e_1) {}
return stringsLoaded
}, _loadLocalizedScript$p$0: function OSF_DDA_OutlookAppOm$_loadLocalizedScript$p$0(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, 2000);
head.appendChild(scriptElement)
}
}, _createScriptElement$p$0: function OSF_DDA_OutlookAppOm$_createScriptElement$p$0(url)
{
var scriptElement=document.createElement('script');
scriptElement.type='text/javascript';
scriptElement.src=url;
return scriptElement
}
};
OSF.DDA.Settings=function OSF_DDA_Settings(data)
{
this._rawData$p$0=data
};
OSF.DDA.Settings._convertFromRawSettings$p=function OSF_DDA_Settings$_convertFromRawSettings$p(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 OSF_DDA_Settings$get__data$p$0()
{
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 OSF_DDA_Settings$get(name)
{
return this.get__data$p$0()[name]
}, set: function OSF_DDA_Settings$set(name, value)
{
this.get__data$p$0()[name]=value
}, remove: function OSF_DDA_Settings$remove(name)
{
delete this.get__data$p$0()[name]
}, saveAsync: function OSF_DDA_Settings$saveAsync()
{
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.get_callback(), commonParameters._asyncContext$p$0)
}
else
{
this._saveSettingsForOutlook$p$0(commonParameters.get_callback(), commonParameters._asyncContext$p$0)
}
}, _saveSettingsForOutlook$p$0: function OSF_DDA_Settings$_saveSettingsForOutlook$p$0(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 OSF_DDA_Settings$_saveSettingsForOwa$p$0(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 $h_Appointment(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 $h_Appointment$getEntities()
{
return this._data$p$0._getEntities$i$0()
}, getEntitiesByType: function $h_Appointment$getEntitiesByType(entityType)
{
return this._data$p$0._getEntitiesByType$i$0(entityType)
}, getRegExMatches: function $h_Appointment$getRegExMatches()
{
OSF.DDA.OutlookAppOm._instance$p._throwOnMethodCallForInsufficientPermission$i$0(1, 'getRegExMatches');
return this._data$p$0._getRegExMatches$i$0()
}, getFilteredEntitiesByName: function $h_Appointment$getFilteredEntitiesByName(name)
{
return this._data$p$0._getFilteredEntitiesByName$i$0(name)
}, getRegExMatchesByName: function $h_Appointment$getRegExMatchesByName(name)
{
OSF.DDA.OutlookAppOm._instance$p._throwOnMethodCallForInsufficientPermission$i$0(1, 'getRegExMatchesByName');
return this._data$p$0._getRegExMatchesByName$i$0(name)
}, displayReplyForm: function $h_Appointment$displayReplyForm(htmlBody)
{
OSF.DDA.OutlookAppOm._instance$p._displayReplyForm$i$0(htmlBody)
}, displayReplyAllForm: function $h_Appointment$displayReplyAllForm(htmlBody)
{
OSF.DDA.OutlookAppOm._instance$p._displayReplyAllForm$i$0(htmlBody)
}, getItemType: function $h_Appointment$getItemType()
{
return Microsoft.Office.WebExtension.MailboxEnums.ItemType.Appointment
}, _getStart$p$2: function $h_Appointment$_getStart$p$2()
{
return this._data$p$0.get__start$i$0()
}, _getEnd$p$2: function $h_Appointment$_getEnd$p$2()
{
return this._data$p$0.get__end$i$0()
}, _getLocation$p$2: function $h_Appointment$_getLocation$p$2()
{
return this._data$p$0.get__location$i$0()
}, _getOptionalAttendees$p$2: function $h_Appointment$_getOptionalAttendees$p$2()
{
return this._data$p$0.get__cc$i$0()
}, _getRequiredAttendees$p$2: function $h_Appointment$_getRequiredAttendees$p$2()
{
return this._data$p$0.get__to$i$0()
}, _getResources$p$2: function $h_Appointment$_getResources$p$2()
{
return this._data$p$0.get__resources$i$0()
}, _getSubject$p$2: function $h_Appointment$_getSubject$p$2()
{
return this._data$p$0.get__subject$i$0()
}, _getNormalizedSubject$p$2: function $h_Appointment$_getNormalizedSubject$p$2()
{
return this._data$p$0.get__normalizedSubject$i$0()
}, _getOrganizer$p$2: function $h_Appointment$_getOrganizer$p$2()
{
return this._data$p$0.get__organizer$i$0()
}
};
$h.AppointmentCompose=function $h_AppointmentCompose(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 $h_AppointmentCompose$getItemType()
{
return Microsoft.Office.WebExtension.MailboxEnums.ItemType.Appointment
}, _getRequiredAttendees$p$2: function $h_AppointmentCompose$_getRequiredAttendees$p$2()
{
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 $h_AppointmentCompose$_getOptionalAttendees$p$2()
{
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 $h_AppointmentCompose$_getStart$p$2()
{
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 $h_AppointmentCompose$_getEnd$p$2()
{
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 $h_AppointmentCompose$_getLocation$p$2()
{
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.AttachmentDetails=function $h_AttachmentDetails(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 $h_AttachmentDetails$_getId$p$0()
{
return this._data$p$0['id']
}, _getName$p$0: function $h_AttachmentDetails$_getName$p$0()
{
return this._data$p$0['name']
}, _getContentType$p$0: function $h_AttachmentDetails$_getContentType$p$0()
{
return this._data$p$0['contentType']
}, _getSize$p$0: function $h_AttachmentDetails$_getSize$p$0()
{
return this._data$p$0['size']
}, _getAttachmentType$p$0: function $h_AttachmentDetails$_getAttachmentType$p$0()
{
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 $h_AttachmentDetails$_getIsInline$p$0()
{
return this._data$p$0['isInline']
}
};
$h.ComposeBody=function $h_ComposeBody(){};
$h.ComposeBody._createParameterDictionaryToHost$p=function $h_ComposeBody$_createParameterDictionaryToHost$p(data, parameters)
{
var dataToHost={data: data};
if (parameters._options$p$0 && parameters._options$p$0['coercionType'])
{
var hostCoercionType;
var $$t_4,
$$t_5;
if (!(($$t_5=$h.ComposeBody._tryMapToHostCoercionType$p(parameters._options$p$0['coercionType'], ($$t_4={val: hostCoercionType}))), hostCoercionType=$$t_4.val, $$t_5))
{
if (parameters.get_callback())
{
parameters.get_callback()(OSF.DDA.OutlookAppOm._instance$p.standardCreateAsyncResult(null, 1, 1000, parameters._asyncContext$p$0))
}
return null
}
dataToHost['coercionType']=hostCoercionType
}
else
{
dataToHost['coercionType']=0
}
return dataToHost
};
$h.ComposeBody._tryMapToHostCoercionType$p=function $h_ComposeBody$_tryMapToHostCoercionType$p(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 $h_ComposeBody$getTypeAsync()
{
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.get_callback())
}, setSelectedDataAsync: function $h_ComposeBody$setSelectedDataAsync(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, 1000000, 'data');
var dataToHost=$h.ComposeBody._createParameterDictionaryToHost$p(data, parameters);
if (!dataToHost)
{
return
}
OSF.DDA.OutlookAppOm._instance$p._standardInvokeHostMethod$i$0(13, 'BodySetSelectedDataAsync', dataToHost, null, parameters._asyncContext$p$0, parameters.get_callback())
}, prependAsync: function $h_ComposeBody$prependAsync(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, 1000000, 'data');
var dataToHost=$h.ComposeBody._createParameterDictionaryToHost$p(data, parameters);
if (!dataToHost)
{
return
}
OSF.DDA.OutlookAppOm._instance$p._standardInvokeHostMethod$i$0(23, 'BodyPrependAsync', dataToHost, null, parameters._asyncContext$p$0, parameters.get_callback())
}
};
$h.ComposeItem=function $h_ComposeItem(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 $h_ComposeItem$addFileAttachmentAsync(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__: 600000
};
OSF.DDA.OutlookAppOm._instance$p._standardInvokeHostMethod$i$0(16, 'AddFileAttachmentAsync', parameters, null, commonParameters._asyncContext$p$0, commonParameters.get_callback())
}, addItemAttachmentAsync: function $h_ComposeItem$addItemAttachmentAsync(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__: 600000
};
OSF.DDA.OutlookAppOm._instance$p._standardInvokeHostMethod$i$0(19, 'AddItemAttachmentAsync', parameters, null, commonParameters._asyncContext$p$0, commonParameters.get_callback())
}, removeAttachmentAsync: function $h_ComposeItem$removeAttachmentAsync(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.get_callback())
}, _getBody$p$1: function $h_ComposeItem$_getBody$p$1()
{
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 $h_ComposeItem$_getSubject$p$1()
{
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 $h_ComposeRecipient(type, propertyName)
{
this._type$p$0=type;
this._propertyName$p$0=propertyName
};
$h.ComposeRecipient._throwOnInvalidDisplayNameOrEmail$p=function $h_ComposeRecipient$_throwOnInvalidDisplayNameOrEmail$p(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 $h_ComposeRecipient$_getAsyncFormatter$p(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 $h_ComposeRecipient$_createEmailDictionaryForHost$p(address, name)
{
return {
address: address, name: name
}
};
$h.ComposeRecipient.prototype={
_propertyName$p$0: null, _type$p$0: 0, getAsync: function $h_ComposeRecipient$getAsync()
{
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._throwOnMethodCallForInsufficientPermission$i$0(1, this._propertyName$p$0+'.getAsync');
OSF.DDA.OutlookAppOm._instance$p._standardInvokeHostMethod$i$0(15, 'GetRecipientsAsync', {recipientField: this._type$p$0}, $h.ComposeRecipient._getAsyncFormatter$p, parameters._asyncContext$p$0, parameters.get_callback())
}, setAsync: function $h_ComposeRecipient$setAsync(recipients)
{
var args=[];
for (var $$pai_2=1; $$pai_2 < arguments.length;++$$pai_2)
{
args[$$pai_2 - 1]=arguments[$$pai_2]
}
OSF.DDA.OutlookAppOm._instance$p._throwOnMethodCallForInsufficientPermission$i$0(2, this._propertyName$p$0+'.setAsync');
this.setAddHelper(recipients, args, true)
}, a