Files
outlook_pal_tools/outllook_pal_toolsWeb/Scripts/Office/1/outlookwebapp-15.debug.js
T
2024-06-24 11:10:18 +02:00

2134 lines
88 KiB
JavaScript

/* Outlook web application specific API library */
/* Version: 15.0.4420.1017 Build Time: 03/31/2014 */
/*
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"
};
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__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._createAsyncResult$i=function OSF_DDA_OutlookAppOm$_createAsyncResult$i(value, errorCode, errorDescription, userContext) {
var initArgs={};
initArgs[OSF.DDA.AsyncResultEnum.Properties.Value]=value;
initArgs[OSF.DDA.AsyncResultEnum.Properties.Context]=userContext;
var errorArgs=null;
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);
}
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._throwOnMethodCallForInsufficientPermission$i=function OSF_DDA_OutlookAppOm$_throwOnMethodCallForInsufficientPermission$i(currentPermissionLevel, requiredPermissionLevel, methodName) {
if (currentPermissionLevel < requiredPermissionLevel) {
throw Error.create(String.format(_u.ExtensibilityStrings.l_ElevatedPermissionNeededForMethod_Text, methodName));
}
}
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._throwOnOutOfRange$p=function OSF_DDA_OutlookAppOm$_throwOnOutOfRange$p(value, minValue, maxValue, argumentName) {
if (value < minValue || value > maxValue) {
throw Error.argumentOutOfRange(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$p(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:
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._convertRecipientArrayParameterForOutlook$p(data['requiredAttendees']), OSF.DDA.OutlookAppOm._convertRecipientArrayParameterForOutlook$p(data['optionalAttendees']), data['start'], data['end'], data['location'], OSF.DDA.OutlookAppOm._convertRecipientArrayParameterForOutlook$p(data['resources']), data['subject'], data['body'] ];
break;
case 11:
case 10:
executeParameters=[ data['htmlBody'] ];
break;
default:
Sys.Debug.fail('Unexpected method dispid');
break;
}
return executeParameters;
}
OSF.DDA.OutlookAppOm._convertRecipientArrayParameterForOutlook$p=function OSF_DDA_OutlookAppOm$_convertRecipientArrayParameterForOutlook$p(array) {
return (array) ? array.join(';') : null;
}
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$p(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,
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 {
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());
$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);
if (OSF.DDA.OutlookAppOm._instance$p.get__appName$i$0()===64) {
$h.InitialData._defineReadOnlyProperty$i(this, 'ewsUrl', this.$$d__getEwsUrl$p$0);
}
},
makeEwsRequestAsync: function OSF_DDA_OutlookAppOm$makeEwsRequestAsync(data, callback, userContext) {
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);
}
OSF.DDA.OutlookAppOm._throwOnMethodCallForInsufficientPermission$i(this._initialData$p$0.get__permissionLevel$i$0(), 2, 'makeEwsRequestAsync');
var ewsRequest=new $h.EwsRequest(userContext);
var $$t_4=this;
ewsRequest.onreadystatechange=function() {
if (4===ewsRequest.get__requestState$i$1()) {
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(callback, userContext) {
OSF.DDA.OutlookAppOm._throwOnMethodCallForInsufficientPermission$i(this._initialData$p$0.get__permissionLevel$i$0(), 1, 'getUserIdentityTokenAsync');
this._invokeGetTokenMethodAsync$p$0(2, 'GetUserIdentityToken', callback, userContext);
},
getCallbackTokenAsync: function OSF_DDA_OutlookAppOm$getCallbackTokenAsync(callback, userContext) {
OSF.DDA.OutlookAppOm._throwOnMethodCallForInsufficientPermission$i(this._initialData$p$0.get__permissionLevel$i$0(), 1, 'getCallbackTokenAsync');
if (64 !==this._officeAppContext$p$0.get_appName()) {
throw Error.notImplemented('The getCallbackTokenAsync is not supported by outlook for now.');
}
this._invokeGetTokenMethodAsync$p$0(12, 'GetCallbackToken', callback, userContext);
},
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);
},
displayNewAppointmentForm: function OSF_DDA_OutlookAppOm$displayNewAppointmentForm(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);
},
_displayReplyForm$i$0: function OSF_DDA_OutlookAppOm$_displayReplyForm$i$0(htmlBody) {
if (!$h.ScriptHelpers.isNullOrUndefined(htmlBody)) {
OSF.DDA.OutlookAppOm._throwOnOutOfRange$p(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$p(htmlBody.length, 0, OSF.DDA.OutlookAppOm._maxBodyLength$p, 'htmlBody');
}
this._invokeHostMethod$i$0(11, 'DisplayReplyAllForm', { htmlBody: htmlBody }, null);
},
_invokeHostMethod$i$0: function OSF_DDA_OutlookAppOm$_invokeHostMethod$i$0(dispid, name, data, responseCallback) {
if (64===this._officeAppContext$p$0.get_appName()) {
OSF._OfficeAppFactory.getClientEndPoint().invoke(name, responseCallback, data);
}
else if (dispid) {
var executeParameters=OSF.DDA.OutlookAppOm._convertToOutlookParameters$p(dispid, data);
var $$t_9=this;
window.external.Execute(dispid, executeParameters, function(nativeData, resultCode) {
if (responseCallback) {
var serializedData=nativeData.getItem(0);
var deserializedData=JSON.parse(serializedData);
responseCallback(resultCode, deserializedData);
}
});
}
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;
},
_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=OSF.DDA.OutlookAppOm._createAsyncResult$i(null, 1, String.format(_u.ExtensibilityStrings.l_InternalProtocolError_Text, resultCode), userContext);
}
else {
var responseDictionary=response;
if (responseDictionary['wasSuccessful']) {
asyncResult=OSF.DDA.OutlookAppOm._createAsyncResult$i(responseDictionary['token'], 0, null, userContext);
}
else {
asyncResult=OSF.DDA.OutlookAppOm._createAsyncResult$i(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.get__permissionLevel$i$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.get__permissionLevel$i$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_4=0; $$pai_4 < arguments.length;++$$pai_4) {
args[$$pai_4]=arguments[$$pai_4];
}
var callback=null;
var userContext=null;
if (args && args.length > 0) {
var currentArgument=args.length - 1;
if (Function.isInstanceOfType(args[currentArgument])) {
callback=args[currentArgument];
currentArgument--;
if (currentArgument >=0) {
userContext=(args[currentArgument])['asyncContext'];
}
}
}
if (OSF.DDA.OutlookAppOm._instance$p.get__appName$i$0()===64) {
this._saveSettingsForOwa$p$0(callback, userContext);
}
else {
this._saveSettingsForOutlook$p$0(callback, userContext);
}
},
_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._createAsyncResult$i(null, 1, storedException.message, userContext);
}
else {
asyncResult=OSF.DDA.OutlookAppOm._createAsyncResult$i(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._createAsyncResult$i(null, 1, String.format(_u.ExtensibilityStrings.l_InternalProtocolError_Text, resultCode), userContext);
}
else {
var responseDictionary=response;
if (!(responseDictionary['error'])) {
asyncResult=OSF.DDA.OutlookAppOm._createAsyncResult$i(null, 0, null, userContext);
}
else {
asyncResult=OSF.DDA.OutlookAppOm._createAsyncResult$i(null, 1, responseDictionary['errorMessage'], userContext);
}
}
callback(asyncResult);
}
}, [ serializedSettings ]);
}
}
Type.registerNamespace('$h');
$h.Appointment=function $h_Appointment(dataDictionary) {
this.$$d__getOrganizer$p$1=Function.createDelegate(this, this._getOrganizer$p$1);
this.$$d__getNormalizedSubject$p$1=Function.createDelegate(this, this._getNormalizedSubject$p$1);
this.$$d__getSubject$p$1=Function.createDelegate(this, this._getSubject$p$1);
this.$$d__getResources$p$1=Function.createDelegate(this, this._getResources$p$1);
this.$$d__getRequiredAttendees$p$1=Function.createDelegate(this, this._getRequiredAttendees$p$1);
this.$$d__getOptionalAttendees$p$1=Function.createDelegate(this, this._getOptionalAttendees$p$1);
this.$$d__getLocation$p$1=Function.createDelegate(this, this._getLocation$p$1);
this.$$d__getEnd$p$1=Function.createDelegate(this, this._getEnd$p$1);
this.$$d__getStart$p$1=Function.createDelegate(this, this._getStart$p$1);
$h.Appointment.initializeBase(this, [ dataDictionary ]);
$h.InitialData._defineReadOnlyProperty$i(this, 'start', this.$$d__getStart$p$1);
$h.InitialData._defineReadOnlyProperty$i(this, 'end', this.$$d__getEnd$p$1);
$h.InitialData._defineReadOnlyProperty$i(this, 'location', this.$$d__getLocation$p$1);
$h.InitialData._defineReadOnlyProperty$i(this, 'optionalAttendees', this.$$d__getOptionalAttendees$p$1);
$h.InitialData._defineReadOnlyProperty$i(this, 'requiredAttendees', this.$$d__getRequiredAttendees$p$1);
$h.InitialData._defineReadOnlyProperty$i(this, 'resources', this.$$d__getResources$p$1);
$h.InitialData._defineReadOnlyProperty$i(this, 'subject', this.$$d__getSubject$p$1);
$h.InitialData._defineReadOnlyProperty$i(this, 'normalizedSubject', this.$$d__getNormalizedSubject$p$1);
$h.InitialData._defineReadOnlyProperty$i(this, 'organizer', this.$$d__getOrganizer$p$1);
}
$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._throwOnMethodCallForInsufficientPermission$i(this._data$p$0.get__permissionLevel$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._throwOnMethodCallForInsufficientPermission$i(this._data$p$0.get__permissionLevel$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$1: function $h_Appointment$_getStart$p$1() {
return this._data$p$0.get__start$i$0();
},
_getEnd$p$1: function $h_Appointment$_getEnd$p$1() {
return this._data$p$0.get__end$i$0();
},
_getLocation$p$1: function $h_Appointment$_getLocation$p$1() {
return this._data$p$0.get__location$i$0();
},
_getOptionalAttendees$p$1: function $h_Appointment$_getOptionalAttendees$p$1() {
return this._data$p$0.get__cc$i$0();
},
_getRequiredAttendees$p$1: function $h_Appointment$_getRequiredAttendees$p$1() {
return this._data$p$0.get__to$i$0();
},
_getResources$p$1: function $h_Appointment$_getResources$p$1() {
return this._data$p$0.get__resources$i$0();
},
_getSubject$p$1: function $h_Appointment$_getSubject$p$1() {
return this._data$p$0.get__subject$i$0();
},
_getNormalizedSubject$p$1: function $h_Appointment$_getNormalizedSubject$p$1() {
return this._data$p$0.get__normalizedSubject$i$0();
},
_getOrganizer$p$1: function $h_Appointment$_getOrganizer$p$1() {
return this._data$p$0.get__organizer$i$0();
}
}
$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.Contact=function $h_Contact(data) {
this.$$d__getContactString$p$0=Function.createDelegate(this, this._getContactString$p$0);
this.$$d__getAddresses$p$0=Function.createDelegate(this, this._getAddresses$p$0);
this.$$d__getUrls$p$0=Function.createDelegate(this, this._getUrls$p$0);
this.$$d__getEmailAddresses$p$0=Function.createDelegate(this, this._getEmailAddresses$p$0);
this.$$d__getPhoneNumbers$p$0=Function.createDelegate(this, this._getPhoneNumbers$p$0);
this.$$d__getBusinessName$p$0=Function.createDelegate(this, this._getBusinessName$p$0);
this.$$d__getPersonName$p$0=Function.createDelegate(this, this._getPersonName$p$0);
this._data$p$0=data;
$h.InitialData._defineReadOnlyProperty$i(this, 'personName', this.$$d__getPersonName$p$0);
$h.InitialData._defineReadOnlyProperty$i(this, 'businessName', this.$$d__getBusinessName$p$0);
$h.InitialData._defineReadOnlyProperty$i(this, 'phoneNumbers', this.$$d__getPhoneNumbers$p$0);
$h.InitialData._defineReadOnlyProperty$i(this, 'emailAddresses', this.$$d__getEmailAddresses$p$0);
$h.InitialData._defineReadOnlyProperty$i(this, 'urls', this.$$d__getUrls$p$0);
$h.InitialData._defineReadOnlyProperty$i(this, 'addresses', this.$$d__getAddresses$p$0);
$h.InitialData._defineReadOnlyProperty$i(this, 'contactString', this.$$d__getContactString$p$0);
}
$h.Contact.prototype={
_data$p$0: null,
_phoneNumbers$p$0: null,
_getPersonName$p$0: function $h_Contact$_getPersonName$p$0() {
return this._data$p$0['PersonName'];
},
_getBusinessName$p$0: function $h_Contact$_getBusinessName$p$0() {
return this._data$p$0['BusinessName'];
},
_getAddresses$p$0: function $h_Contact$_getAddresses$p$0() {
return $h.Entities._getExtractedStringProperty$i(this._data$p$0, 'Addresses');
},
_getEmailAddresses$p$0: function $h_Contact$_getEmailAddresses$p$0() {
return $h.Entities._getExtractedStringProperty$i(this._data$p$0, 'EmailAddresses');
},
_getUrls$p$0: function $h_Contact$_getUrls$p$0() {
return $h.Entities._getExtractedStringProperty$i(this._data$p$0, 'Urls');
},
_getPhoneNumbers$p$0: function $h_Contact$_getPhoneNumbers$p$0() {
if (!this._phoneNumbers$p$0) {
var $$t_1=this;
this._phoneNumbers$p$0=$h.Entities._getExtractedObjects$i($h.PhoneNumber, this._data$p$0, 'PhoneNumbers', function(data) {
return new $h.PhoneNumber(data);
});
}
return this._phoneNumbers$p$0;
},
_getContactString$p$0: function $h_Contact$_getContactString$p$0() {
return this._data$p$0['ContactString'];
}
}
$h.CustomProperties=function $h_CustomProperties(data) {
if ($h.ScriptHelpers.isNullOrUndefined(data)) {
throw Error.argumentNull('data');
}
this._data$p$0=data;
}
$h.CustomProperties.prototype={
_data$p$0: null,
get: function $h_CustomProperties$get(name) {
var value=this._data$p$0[name];
if (typeof(value)==='string') {
var valueString=value;
if (valueString.length > 6 && valueString.startsWith('Date(') && valueString.endsWith(')')) {
var ticksString=valueString.substring(5, valueString.length - 1);
var ticks=parseInt(ticksString);
if (!isNaN(ticks)) {
var dateTimeValue=new Date(ticks);
if (dateTimeValue) {
value=dateTimeValue;
}
}
}
}
return value;
},
set: function $h_CustomProperties$set(name, value) {
if (OSF.OUtil.isDate(value)) {
value='Date('+(value).getTime()+')';
}
this._data$p$0[name]=value;
},
remove: function $h_CustomProperties$remove(name) {
delete this._data$p$0[name];
},
saveAsync: function $h_CustomProperties$saveAsync(callback, userContext) {
var MaxCustomPropertiesLength=2500;
if (JSON.stringify(this._data$p$0).length > MaxCustomPropertiesLength) {
throw Error.argument();
}
var saveCustomProperties=new $h._saveDictionaryRequest(callback, userContext);
saveCustomProperties._sendRequest$i$0(4, 'SaveCustomProperties', { customProperties: this._data$p$0 });
}
}
$h.Diagnostics=function $h_Diagnostics(data, appName) {
this.$$d__getOwaView$p$0=Function.createDelegate(this, this._getOwaView$p$0);
this.$$d__getHostVersion$p$0=Function.createDelegate(this, this._getHostVersion$p$0);
this.$$d__getHostName$p$0=Function.createDelegate(this, this._getHostName$p$0);
this._data$p$0=data;
this._appName$p$0=appName;
$h.InitialData._defineReadOnlyProperty$i(this, 'hostName', this.$$d__getHostName$p$0);
$h.InitialData._defineReadOnlyProperty$i(this, 'hostVersion', this.$$d__getHostVersion$p$0);
if (64===this._appName$p$0) {
$h.InitialData._defineReadOnlyProperty$i(this, 'OWAView', this.$$d__getOwaView$p$0);
}
}
$h.Diagnostics.prototype={
_data$p$0: null,
_appName$p$0: 0,
_getHostName$p$0: function $h_Diagnostics$_getHostName$p$0() {
if (8===this._appName$p$0) {
return 'Outlook';
}
else if (64===this._appName$p$0) {
return 'OutlookWebApp';
}
return null;
},
_getHostVersion$p$0: function $h_Diagnostics$_getHostVersion$p$0() {
return this._data$p$0.get__hostVersion$i$0();
},
_getOwaView$p$0: function $h_Diagnostics$_getOwaView$p$0() {
return this._data$p$0.get__owaView$i$0();
}
}
$h.EmailAddressDetails=function $h_EmailAddressDetails(data) {
this.$$d__getRecipientType$p$0=Function.createDelegate(this, this._getRecipientType$p$0);
this.$$d__getAppointmentResponse$p$0=Function.createDelegate(this, this._getAppointmentResponse$p$0);
this.$$d__getDisplayName$p$0=Function.createDelegate(this, this._getDisplayName$p$0);
this.$$d__getEmailAddress$p$0=Function.createDelegate(this, this._getEmailAddress$p$0);
this._data$p$0=data;
$h.InitialData._defineReadOnlyProperty$i(this, 'emailAddress', this.$$d__getEmailAddress$p$0);
$h.InitialData._defineReadOnlyProperty$i(this, 'displayName', this.$$d__getDisplayName$p$0);
if ($h.ScriptHelpers.dictionaryContainsKey(data, 'appointmentResponse')) {
$h.InitialData._defineReadOnlyProperty$i(this, 'appointmentResponse', this.$$d__getAppointmentResponse$p$0);
}
if ($h.ScriptHelpers.dictionaryContainsKey(data, 'recipientType')) {
$h.InitialData._defineReadOnlyProperty$i(this, 'recipientType', this.$$d__getRecipientType$p$0);
}
}
$h.EmailAddressDetails._createFromEmailUserDictionary$i=function $h_EmailAddressDetails$_createFromEmailUserDictionary$i(data) {
var emailAddressDetailsDictionary={};
var displayName=data['Name'];
var emailAddress=data['UserId'];
emailAddressDetailsDictionary['name']=displayName || $h.EmailAddressDetails._emptyString$p;
emailAddressDetailsDictionary['address']=emailAddress || $h.EmailAddressDetails._emptyString$p;
return new $h.EmailAddressDetails(emailAddressDetailsDictionary);
}
$h.EmailAddressDetails.prototype={
_data$p$0: null,
_getEmailAddress$p$0: function $h_EmailAddressDetails$_getEmailAddress$p$0() {
return this._data$p$0['address'];
},
_getDisplayName$p$0: function $h_EmailAddressDetails$_getDisplayName$p$0() {
return this._data$p$0['name'];
},
_getAppointmentResponse$p$0: function $h_EmailAddressDetails$_getAppointmentResponse$p$0() {
var response=this._data$p$0['appointmentResponse'];
return (response < $h.EmailAddressDetails._responseTypeMap$p.length) ? $h.EmailAddressDetails._responseTypeMap$p[response] : Microsoft.Office.WebExtension.MailboxEnums.ResponseType.None;
},
_getRecipientType$p$0: function $h_EmailAddressDetails$_getRecipientType$p$0() {
var response=this._data$p$0['recipientType'];
return (response < $h.EmailAddressDetails._recipientTypeMap$p.length) ? $h.EmailAddressDetails._recipientTypeMap$p[response] : Microsoft.Office.WebExtension.MailboxEnums.RecipientType.Other;
}
}
$h.Entities=function $h_Entities(data, filteredEntitiesData, timeSent, permissionLevel) {
this.$$d__createMeetingSuggestion$p$0=Function.createDelegate(this, this._createMeetingSuggestion$p$0);
this.$$d__getContacts$p$0=Function.createDelegate(this, this._getContacts$p$0);
this.$$d__getPhoneNumbers$p$0=Function.createDelegate(this, this._getPhoneNumbers$p$0);
this.$$d__getUrls$p$0=Function.createDelegate(this, this._getUrls$p$0);
this.$$d__getEmailAddresses$p$0=Function.createDelegate(this, this._getEmailAddresses$p$0);
this.$$d__getMeetingSuggestions$p$0=Function.createDelegate(this, this._getMeetingSuggestions$p$0);
this.$$d__getTaskSuggestions$p$0=Function.createDelegate(this, this._getTaskSuggestions$p$0);
this.$$d__getAddresses$p$0=Function.createDelegate(this, this._getAddresses$p$0);
this._data$p$0=data || {};
this._filteredData$p$0=filteredEntitiesData || {};
this._dateTimeSent$p$0=timeSent;
$h.InitialData._defineReadOnlyProperty$i(this, 'addresses', this.$$d__getAddresses$p$0);
$h.InitialData._defineReadOnlyProperty$i(this, 'taskSuggestions', this.$$d__getTaskSuggestions$p$0);
$h.InitialData._defineReadOnlyProperty$i(this, 'meetingSuggestions', this.$$d__getMeetingSuggestions$p$0);
$h.InitialData._defineReadOnlyProperty$i(this, 'emailAddresses', this.$$d__getEmailAddresses$p$0);
$h.InitialData._defineReadOnlyProperty$i(this, 'urls', this.$$d__getUrls$p$0);
$h.InitialData._defineReadOnlyProperty$i(this, 'phoneNumbers', this.$$d__getPhoneNumbers$p$0);
$h.InitialData._defineReadOnlyProperty$i(this, 'contacts', this.$$d__getContacts$p$0);
this._permissionLevel$p$0=permissionLevel;
}
$h.Entities._getExtractedObjects$i=function $h_Entities$_getExtractedObjects$i(T, data, name, creator, removeDuplicates, stringPropertyName) {
var results=null;
var extractedObjects=data[name];
if (!extractedObjects) {
return new Array(0);
}
if (removeDuplicates) {
extractedObjects=$h.Entities._removeDuplicate$p(Object, extractedObjects, $h.Entities._entityDictionaryEquals$p, stringPropertyName);
}
results=new Array(extractedObjects.length);
var count=0;
for (var $$arr_9=extractedObjects, $$len_A=$$arr_9.length, $$idx_B=0; $$idx_B < $$len_A;++$$idx_B) {
var extractedObject=$$arr_9[$$idx_B];
results[count++]=creator(extractedObject);
}
return results;
}
$h.Entities._getExtractedStringProperty$i=function $h_Entities$_getExtractedStringProperty$i(data, name, removeDuplicate) {
var extractedProperties=data[name];
if (!extractedProperties) {
return new Array(0);
}
if (removeDuplicate) {
extractedProperties=$h.Entities._removeDuplicate$p(String, extractedProperties, $h.Entities._stringEquals$p, null);
}
return extractedProperties;
}
$h.Entities._createContact$p=function $h_Entities$_createContact$p(data) {
return new $h.Contact(data);
}
$h.Entities._createTaskSuggestion$p=function $h_Entities$_createTaskSuggestion$p(data) {
return new $h.TaskSuggestion(data);
}
$h.Entities._createPhoneNumber$p=function $h_Entities$_createPhoneNumber$p(data) {
return new $h.PhoneNumber(data);
}
$h.Entities._entityDictionaryEquals$p=function $h_Entities$_entityDictionaryEquals$p(dictionary1, dictionary2, entityPropertyIdentifier) {
if (dictionary1===dictionary2) {
return true;
}
if (!dictionary1 || !dictionary2) {
return false;
}
if (dictionary1[entityPropertyIdentifier]===dictionary2[entityPropertyIdentifier]) {
return true;
}
return false;
}
$h.Entities._stringEquals$p=function $h_Entities$_stringEquals$p(string1, string2, entityProperty) {
return string1===string2;
}
$h.Entities._removeDuplicate$p=function $h_Entities$_removeDuplicate$p(T, array, entityEquals, entityPropertyIdentifier) {
for (var matchIndex1=array.length - 1; matchIndex1 >=0; matchIndex1--) {
var removeMatch=false;
for (var matchIndex2=matchIndex1 - 1; matchIndex2 >=0; matchIndex2--) {
if (entityEquals(array[matchIndex1], array[matchIndex2], entityPropertyIdentifier)) {
removeMatch=true;
break;
}
}
if (removeMatch) {
Array.removeAt(array, matchIndex1);
}
}
return array;
}
$h.Entities.prototype={
_dateTimeSent$p$0: null,
_data$p$0: null,
_filteredData$p$0: null,
_filteredEntitiesCache$p$0: null,
_permissionLevel$p$0: 0,
_taskSuggestions$p$0: null,
_meetingSuggestions$p$0: null,
_phoneNumbers$p$0: null,
_contacts$p$0: null,
_addresses$p$0: null,
_emailAddresses$p$0: null,
_urls$p$0: null,
_getByType$i$0: function $h_Entities$_getByType$i$0(entityType) {
if (entityType===Microsoft.Office.WebExtension.MailboxEnums.EntityType.MeetingSuggestion) {
return this._getMeetingSuggestions$p$0();
}
else if (entityType===Microsoft.Office.WebExtension.MailboxEnums.EntityType.TaskSuggestion) {
return this._getTaskSuggestions$p$0();
}
else if (entityType===Microsoft.Office.WebExtension.MailboxEnums.EntityType.Address) {
return this._getAddresses$p$0();
}
else if (entityType===Microsoft.Office.WebExtension.MailboxEnums.EntityType.PhoneNumber) {
return this._getPhoneNumbers$p$0();
}
else if (entityType===Microsoft.Office.WebExtension.MailboxEnums.EntityType.EmailAddress) {
return this._getEmailAddresses$p$0();
}
else if (entityType===Microsoft.Office.WebExtension.MailboxEnums.EntityType.Url) {
return this._getUrls$p$0();
}
else if (entityType===Microsoft.Office.WebExtension.MailboxEnums.EntityType.Contact) {
return this._getContacts$p$0();
}
return null;
},
_getFilteredEntitiesByName$i$0: function $h_Entities$_getFilteredEntitiesByName$i$0(name) {
if (!this._filteredEntitiesCache$p$0) {
this._filteredEntitiesCache$p$0={};
}
if (!$h.ScriptHelpers.dictionaryContainsKey(this._filteredEntitiesCache$p$0, name)) {
var found=false;
for (var i=0; i < $h.Entities._allEntityKeys$p.length; i++) {
var entityTypeKey=$h.Entities._allEntityKeys$p[i];
var perEntityTypeDictionary=this._filteredData$p$0[entityTypeKey];
if (!perEntityTypeDictionary) {
continue;
}
if ($h.ScriptHelpers.dictionaryContainsKey(perEntityTypeDictionary, name)) {
switch (entityTypeKey) {
case 'EmailAddresses':
case 'Urls':
this._filteredEntitiesCache$p$0[name]=$h.Entities._getExtractedStringProperty$i(perEntityTypeDictionary, name);
break;
case 'Addresses':
this._filteredEntitiesCache$p$0[name]=$h.Entities._getExtractedStringProperty$i(perEntityTypeDictionary, name, true);
break;
case 'PhoneNumbers':
this._filteredEntitiesCache$p$0[name]=$h.Entities._getExtractedObjects$i($h.PhoneNumber, perEntityTypeDictionary, name, $h.Entities._createPhoneNumber$p, false, null);
break;
case 'TaskSuggestions':
this._filteredEntitiesCache$p$0[name]=$h.Entities._getExtractedObjects$i($h.TaskSuggestion, perEntityTypeDictionary, name, $h.Entities._createTaskSuggestion$p, true, 'TaskString');
break;
case 'MeetingSuggestions':
this._filteredEntitiesCache$p$0[name]=$h.Entities._getExtractedObjects$i($h.MeetingSuggestion, perEntityTypeDictionary, name, this.$$d__createMeetingSuggestion$p$0, true, 'MeetingString');
break;
case 'Contacts':
this._filteredEntitiesCache$p$0[name]=$h.Entities._getExtractedObjects$i($h.Contact, perEntityTypeDictionary, name, $h.Entities._createContact$p, true, 'ContactString');
break;
}
found=true;
break;
}
}
if (!found) {
this._filteredEntitiesCache$p$0[name]=null;
}
}
return this._filteredEntitiesCache$p$0[name];
},
_createMeetingSuggestion$p$0: function $h_Entities$_createMeetingSuggestion$p$0(data) {
return new $h.MeetingSuggestion(data, this._dateTimeSent$p$0);
},
_getAddresses$p$0: function $h_Entities$_getAddresses$p$0() {
if (!this._addresses$p$0) {
this._addresses$p$0=$h.Entities._getExtractedStringProperty$i(this._data$p$0, 'Addresses', true);
}
return this._addresses$p$0;
},
_getEmailAddresses$p$0: function $h_Entities$_getEmailAddresses$p$0() {
OSF.DDA.OutlookAppOm._throwOnPropertyAccessForRestrictedPermission$i(this._permissionLevel$p$0);
if (!this._emailAddresses$p$0) {
this._emailAddresses$p$0=$h.Entities._getExtractedStringProperty$i(this._data$p$0, 'EmailAddresses', false);
}
return this._emailAddresses$p$0;
},
_getUrls$p$0: function $h_Entities$_getUrls$p$0() {
if (!this._urls$p$0) {
this._urls$p$0=$h.Entities._getExtractedStringProperty$i(this._data$p$0, 'Urls', false);
}
return this._urls$p$0;
},
_getPhoneNumbers$p$0: function $h_Entities$_getPhoneNumbers$p$0() {
if (!this._phoneNumbers$p$0) {
this._phoneNumbers$p$0=$h.Entities._getExtractedObjects$i($h.PhoneNumber, this._data$p$0, 'PhoneNumbers', $h.Entities._createPhoneNumber$p);
}
return this._phoneNumbers$p$0;
},
_getTaskSuggestions$p$0: function $h_Entities$_getTaskSuggestions$p$0() {
OSF.DDA.OutlookAppOm._throwOnPropertyAccessForRestrictedPermission$i(this._permissionLevel$p$0);
if (!this._taskSuggestions$p$0) {
this._taskSuggestions$p$0=$h.Entities._getExtractedObjects$i($h.TaskSuggestion, this._data$p$0, 'TaskSuggestions', $h.Entities._createTaskSuggestion$p, true, 'TaskString');
}
return this._taskSuggestions$p$0;
},
_getMeetingSuggestions$p$0: function $h_Entities$_getMeetingSuggestions$p$0() {
OSF.DDA.OutlookAppOm._throwOnPropertyAccessForRestrictedPermission$i(this._permissionLevel$p$0);
if (!this._meetingSuggestions$p$0) {
this._meetingSuggestions$p$0=$h.Entities._getExtractedObjects$i($h.MeetingSuggestion, this._data$p$0, 'MeetingSuggestions', this.$$d__createMeetingSuggestion$p$0, true, 'MeetingString');
}
return this._meetingSuggestions$p$0;
},
_getContacts$p$0: function $h_Entities$_getContacts$p$0() {
OSF.DDA.OutlookAppOm._throwOnPropertyAccessForRestrictedPermission$i(this._permissionLevel$p$0);
if (!this._contacts$p$0) {
this._contacts$p$0=$h.Entities._getExtractedObjects$i($h.Contact, this._data$p$0, 'Contacts', $h.Entities._createContact$p, true, 'ContactString');
}
return this._contacts$p$0;
}
}
$h.Item=function $h_Item(data) {
this.$$d__createCustomProperties$i$0=Function.createDelegate(this, this._createCustomProperties$i$0);
this.$$d__getAttachments$p$0=Function.createDelegate(this, this._getAttachments$p$0);
this.$$d__getItemClass$p$0=Function.createDelegate(this, this._getItemClass$p$0);
this.$$d__getItemId$p$0=Function.createDelegate(this, this._getItemId$p$0);
this.$$d__getDateTimeModified$p$0=Function.createDelegate(this, this._getDateTimeModified$p$0);
this.$$d__getDateTimeCreated$p$0=Function.createDelegate(this, this._getDateTimeCreated$p$0);
this._data$p$0=data;
$h.InitialData._defineReadOnlyProperty$i(this, 'dateTimeCreated', this.$$d__getDateTimeCreated$p$0);
$h.InitialData._defineReadOnlyProperty$i(this, 'dateTimeModified', this.$$d__getDateTimeModified$p$0);
$h.InitialData._defineReadOnlyProperty$i(this, 'itemId', this.$$d__getItemId$p$0);
var $$t_1=this;
$h.InitialData._defineReadOnlyProperty$i(this, 'itemType', function() {
return $$t_1.getItemType();
});
$h.InitialData._defineReadOnlyProperty$i(this, 'itemClass', this.$$d__getItemClass$p$0);
if (OSF.DDA.OutlookAppOm._instance$p.get__appName$i$0()===64) {
$h.InitialData._defineReadOnlyProperty$i(this, 'attachments', this.$$d__getAttachments$p$0);
}
}
$h.Item.prototype={
_data$p$0: null,
loadCustomPropertiesAsync: function $h_Item$loadCustomPropertiesAsync(callback, userContext) {
if ($h.ScriptHelpers.isNullOrUndefined(callback)) {
throw Error.argumentNull('callback');
}
var loadCustomProperties=new $h._loadDictionaryRequest(this.$$d__createCustomProperties$i$0, 'customProperties', callback, userContext);
loadCustomProperties._sendRequest$i$0(3, 'LoadCustomProperties', {});
},
_createCustomProperties$i$0: function $h_Item$_createCustomProperties$i$0(data) {
return new $h.CustomProperties(data);
},
_getItemId$p$0: function $h_Item$_getItemId$p$0() {
return this._data$p$0.get__itemId$i$0();
},
_getItemClass$p$0: function $h_Item$_getItemClass$p$0() {
return this._data$p$0.get__itemClass$i$0();
},
_getDateTimeCreated$p$0: function $h_Item$_getDateTimeCreated$p$0() {
return this._data$p$0.get__dateTimeCreated$i$0();
},
_getDateTimeModified$p$0: function $h_Item$_getDateTimeModified$p$0() {
return this._data$p$0.get__dateTimeModified$i$0();
},
_getAttachments$p$0: function $h_Item$_getAttachments$p$0() {
return this._data$p$0.get__attachments$i$0();
}
}
$h.MeetingRequest=function $h_MeetingRequest(data) {
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.MeetingRequest.initializeBase(this, [ data ]);
$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.MeetingRequest.prototype={
_getStart$p$2: function $h_MeetingRequest$_getStart$p$2() {
return this._data$p$0.get__start$i$0();
},
_getEnd$p$2: function $h_MeetingRequest$_getEnd$p$2() {
return this._data$p$0.get__end$i$0();
},
_getLocation$p$2: function $h_MeetingRequest$_getLocation$p$2() {
return this._data$p$0.get__location$i$0();
},
_getOptionalAttendees$p$2: function $h_MeetingRequest$_getOptionalAttendees$p$2() {
return this._data$p$0.get__cc$i$0();
},
_getRequiredAttendees$p$2: function $h_MeetingRequest$_getRequiredAttendees$p$2() {
return this._data$p$0.get__to$i$0();
}
}
$h.MeetingSuggestion=function $h_MeetingSuggestion(data, dateTimeSent) {
this.$$d__getEndTime$p$0=Function.createDelegate(this, this._getEndTime$p$0);
this.$$d__getStartTime$p$0=Function.createDelegate(this, this._getStartTime$p$0);
this.$$d__getSubject$p$0=Function.createDelegate(this, this._getSubject$p$0);
this.$$d__getLocation$p$0=Function.createDelegate(this, this._getLocation$p$0);
this.$$d__getAttendees$p$0=Function.createDelegate(this, this._getAttendees$p$0);
this.$$d__getMeetingString$p$0=Function.createDelegate(this, this._getMeetingString$p$0);
this._data$p$0=data;
this._dateTimeSent$p$0=dateTimeSent;
$h.InitialData._defineReadOnlyProperty$i(this, 'meetingString', this.$$d__getMeetingString$p$0);
$h.InitialData._defineReadOnlyProperty$i(this, 'attendees', this.$$d__getAttendees$p$0);
$h.InitialData._defineReadOnlyProperty$i(this, 'location', this.$$d__getLocation$p$0);
$h.InitialData._defineReadOnlyProperty$i(this, 'subject', this.$$d__getSubject$p$0);
$h.InitialData._defineReadOnlyProperty$i(this, 'start', this.$$d__getStartTime$p$0);
$h.InitialData._defineReadOnlyProperty$i(this, 'end', this.$$d__getEndTime$p$0);
}
$h.MeetingSuggestion.prototype={
_dateTimeSent$p$0: null,
_data$p$0: null,
_attendees$p$0: null,
_getMeetingString$p$0: function $h_MeetingSuggestion$_getMeetingString$p$0() {
return this._data$p$0['MeetingString'];
},
_getLocation$p$0: function $h_MeetingSuggestion$_getLocation$p$0() {
return this._data$p$0['Location'];
},
_getSubject$p$0: function $h_MeetingSuggestion$_getSubject$p$0() {
return this._data$p$0['Subject'];
},
_getStartTime$p$0: function $h_MeetingSuggestion$_getStartTime$p$0() {
var time=this._createDateTimeFromParameter$p$0('StartTime');
var resolvedTime=$h.MeetingSuggestionTimeDecoder.resolve(time, this._dateTimeSent$p$0);
if (resolvedTime.getTime() !==time.getTime()) {
return OSF.DDA.OutlookAppOm._instance$p.convertToUtcClientTime(OSF.DDA.OutlookAppOm._instance$p._dateToDictionary$i$0(resolvedTime));
}
return time;
},
_getEndTime$p$0: function $h_MeetingSuggestion$_getEndTime$p$0() {
var time=this._createDateTimeFromParameter$p$0('EndTime');
var resolvedTime=$h.MeetingSuggestionTimeDecoder.resolve(time, this._dateTimeSent$p$0);
if (resolvedTime.getTime() !==time.getTime()) {
return OSF.DDA.OutlookAppOm._instance$p.convertToUtcClientTime(OSF.DDA.OutlookAppOm._instance$p._dateToDictionary$i$0(resolvedTime));
}
return time;
},
_createDateTimeFromParameter$p$0: function $h_MeetingSuggestion$_createDateTimeFromParameter$p$0(keyName) {
var dateTimeString=this._data$p$0[keyName];
if (!dateTimeString) {
return null;
}
return new Date(dateTimeString);
},
_getAttendees$p$0: function $h_MeetingSuggestion$_getAttendees$p$0() {
if (!this._attendees$p$0) {
var $$t_1=this;
this._attendees$p$0=$h.Entities._getExtractedObjects$i($h.EmailAddressDetails, this._data$p$0, 'Attendees', function(data) {
return $h.EmailAddressDetails._createFromEmailUserDictionary$i(data);
});
}
return this._attendees$p$0;
}
}
$h.MeetingSuggestionTimeDecoder=function $h_MeetingSuggestionTimeDecoder() {
}
$h.MeetingSuggestionTimeDecoder.resolve=function $h_MeetingSuggestionTimeDecoder$resolve(inTime, sentTime) {
if (!sentTime) {
return inTime;
}
try {
var tod;
var outDate;
var extractedDate;
var sentDate=new Date(sentTime.getFullYear(), sentTime.getMonth(), sentTime.getDate(), 0, 0, 0, 0);
var $$t_7, $$t_8, $$t_9;
if (!(($$t_9=$h.MeetingSuggestionTimeDecoder._decode$p(inTime, ($$t_7={'val': extractedDate}), ($$t_8={'val': tod}))), extractedDate=$$t_7.val, tod=$$t_8.val, $$t_9)) {
return inTime;
}
else {
if ($h._preciseDate.isInstanceOfType(extractedDate)) {
outDate=$h.MeetingSuggestionTimeDecoder._resolvePreciseDate$p(sentDate, extractedDate);
}
else {
if ($h._relativeDate.isInstanceOfType(extractedDate)) {
outDate=$h.MeetingSuggestionTimeDecoder._resolveRelativeDate$p(sentDate, extractedDate);
}
else {
outDate=sentDate;
}
}
if (isNaN(outDate.getTime())) {
return sentTime;
}
outDate.setMilliseconds(outDate.getMilliseconds()+tod);
return outDate;
}
}
catch ($$e_6) {
return sentTime;
}
}
$h.MeetingSuggestionTimeDecoder._isNullOrUndefined$i=function $h_MeetingSuggestionTimeDecoder$_isNullOrUndefined$i(value) {
return null===value || value===undefined;
}
$h.MeetingSuggestionTimeDecoder._resolvePreciseDate$p=function $h_MeetingSuggestionTimeDecoder$_resolvePreciseDate$p(sentDate, precise) {
var year=precise._year$i$1;
var month=(!precise._month$i$1) ? sentDate.getMonth() : precise._month$i$1 - 1;
var day=precise._day$i$1;
if (!day) {
return sentDate;
}
var candidate;
if ($h.MeetingSuggestionTimeDecoder._isNullOrUndefined$i(year)) {
candidate=new Date(sentDate.getFullYear(), month, day);
if (candidate.getTime() < sentDate.getTime()) {
candidate=new Date(sentDate.getFullYear()+1, month, day);
}
}
else {
candidate=new Date((year < 50) ? 2000+year : 1900+year, month, day);
}
if (candidate.getMonth() !==month) {
return sentDate;
}
return candidate;
}
$h.MeetingSuggestionTimeDecoder._resolveRelativeDate$p=function $h_MeetingSuggestionTimeDecoder$_resolveRelativeDate$p(sentDate, relative) {
var date;
switch (relative._unit$i$1) {
case 0:
date=new Date(sentDate.getFullYear(), sentDate.getMonth(), sentDate.getDate());
date.setDate(date.getDate()+relative._offset$i$1);
return date;
case 5:
return $h.MeetingSuggestionTimeDecoder._findBestDateForWeekDate$p(sentDate, relative._offset$i$1, relative._tag$i$1);
case 2:
var days=1;
switch (relative._modifier$i$1) {
case 1:
break;
case 2:
days=16;
break;
default:
if (!relative._offset$i$1) {
days=sentDate.getDate();
}
break;
}
date=new Date(sentDate.getFullYear(), sentDate.getMonth(), days);
date.setMonth(date.getMonth()+relative._offset$i$1);
if (date.getTime() < sentDate.getTime()) {
date.setDate(date.getDate()+sentDate.getDate() - 1);
}
return date;
case 1:
date=new Date(sentDate.getFullYear(), sentDate.getMonth(), sentDate.getDate());
date.setDate(sentDate.getDate()+(7 * relative._offset$i$1));
if (relative._modifier$i$1===1 || !relative._modifier$i$1) {
date.setDate(date.getDate()+1 - date.getDay());
if (date.getTime() < sentDate.getTime()) {
return sentDate;
}
return date;
}
else if (relative._modifier$i$1===2) {
date.setDate(date.getDate()+5 - date.getDay());
return date;
}
break;
case 4:
return $h.MeetingSuggestionTimeDecoder._findBestDateForWeekOfMonthDate$p(sentDate, relative);
case 3:
if (relative._offset$i$1 > 0) {
return new Date(sentDate.getFullYear()+relative._offset$i$1, 0, 1);
}
break;
default:
break;
}
return sentDate;
}
$h.MeetingSuggestionTimeDecoder._findBestDateForWeekDate$p=function $h_MeetingSuggestionTimeDecoder$_findBestDateForWeekDate$p(sentDate, offset, tag) {
if (offset > -5 && offset < 5) {
var dayOfWeek;
var days;
dayOfWeek=((tag+6) % 7)+1;
days=(7 * offset)+(dayOfWeek - sentDate.getDay());
sentDate.setDate(sentDate.getDate()+days);
return sentDate;
}
else {
var days=(tag - sentDate.getDay()) % 7;
if (days < 0) {
days+=7;
}
sentDate.setDate(sentDate.getDate()+days);
return sentDate;
}
}
$h.MeetingSuggestionTimeDecoder._findBestDateForWeekOfMonthDate$p=function $h_MeetingSuggestionTimeDecoder$_findBestDateForWeekOfMonthDate$p(sentDate, relative) {
var date;
var firstDay;
var newDate;
date=sentDate;
if (relative._tag$i$1 <=0 || relative._tag$i$1 > 12 || relative._offset$i$1 <=0 || relative._offset$i$1 > 5) {
return sentDate;
}
var monthOffset=(12+relative._tag$i$1 - date.getMonth() - 1) % 12;
firstDay=new Date(date.getFullYear(), date.getMonth()+monthOffset, 1);
if (relative._modifier$i$1===1) {
if (relative._offset$i$1===1 && firstDay.getDay() !==6 && firstDay.getDay() !==0) {
return firstDay;
}
else {
newDate=new Date(firstDay.getFullYear(), firstDay.getMonth(), firstDay.getDate());
newDate.setDate(newDate.getDate()+((7+(1 - firstDay.getDay())) % 7));
if (firstDay.getDay() !==6 && firstDay.getDay() !==0 && firstDay.getDay() !==1) {
newDate.setDate(newDate.getDate() - 7);
}
newDate.setDate(newDate.getDate()+(7 * (relative._offset$i$1 - 1)));
if (newDate.getMonth()+1 !==relative._tag$i$1) {
return sentDate;
}
return newDate;
}
}
else {
newDate=new Date(firstDay.getFullYear(), firstDay.getMonth(), $h.MeetingSuggestionTimeDecoder._daysInMonth$p(firstDay.getMonth(), firstDay.getFullYear()));
var offset=1 - newDate.getDay();
if (offset > 0) {
offset=offset - 7;
}
newDate.setDate(newDate.getDate()+offset);
newDate.setDate(newDate.getDate()+(7 * (1 - relative._offset$i$1)));
if (newDate.getMonth()+1 !==relative._tag$i$1) {
if (firstDay.getDay() !==6 && firstDay.getDay() !==0) {
return firstDay;
}
else {
return sentDate;
}
}
else {
return newDate;
}
}
}
$h.MeetingSuggestionTimeDecoder._decode$p=function $h_MeetingSuggestionTimeDecoder$_decode$p(inDate, date, time) {
var DateValueMask=32767;
date.val=null;
time.val=0;
if (!inDate) {
return false;
}
time.val=$h.MeetingSuggestionTimeDecoder._getTimeOfDayInMillisecondsUTC$p(inDate);
var inDateAtMidnight=inDate.getTime() - time.val;
var value=(inDateAtMidnight - $h.MeetingSuggestionTimeDecoder._baseDate$p.getTime()) / 86400000;
if (value < 0) {
return false;
}
else if (value >=262144) {
return false;
}
else {
var type=value >> 15;
value=value & DateValueMask;
switch (type) {
case 0:
return $h.MeetingSuggestionTimeDecoder._decodePreciseDate$p(value, date);
case 1:
return $h.MeetingSuggestionTimeDecoder._decodeRelativeDate$p(value, date);
default:
return false;
}
}
}
$h.MeetingSuggestionTimeDecoder._decodePreciseDate$p=function $h_MeetingSuggestionTimeDecoder$_decodePreciseDate$p(value, date) {
var c_SubTypeMask=7;
var c_MonthMask=15;
var c_DayMask=31;
var c_YearMask=127;
var year=null;
var month=0;
var day=0;
date.val=null;
var subType=(value >> 12) & c_SubTypeMask;
if ((subType & 4)===4) {
year=(value >> 5) & c_YearMask;
if ((subType & 2)===2) {
if ((subType & 1)===1) {
return false;
}
month=(value >> 1) & c_MonthMask;
}
}
else {
if ((subType & 2)===2) {
month=(value >> 8) & c_MonthMask;
}
if ((subType & 1)===1) {
day=(value >> 3) & c_DayMask;
}
}
date.val=new $h._preciseDate(day, month, year);
return true;
}
$h.MeetingSuggestionTimeDecoder._decodeRelativeDate$p=function $h_MeetingSuggestionTimeDecoder$_decodeRelativeDate$p(value, date) {
var TagMask=15;
var OffsetMask=63;
var UnitMask=7;
var ModifierMask=3;
var tag=value & TagMask;
value >>=4;
var offset=$h.MeetingSuggestionTimeDecoder._fromComplement$p(value & OffsetMask, 6);
value >>=6;
var unit=value & UnitMask;
value >>=3;
var modifier=value & ModifierMask;
try {
date.val=new $h._relativeDate(modifier, offset, unit, tag);
return true;
}
catch ($$e_A) {
date.val=null;
return false;
}
}
$h.MeetingSuggestionTimeDecoder._fromComplement$p=function $h_MeetingSuggestionTimeDecoder$_fromComplement$p(value, n) {
var signed=1 << (n - 1);
var mask=(1 << n) - 1;
if ((value & signed)===signed) {
return -((value ^ mask)+1);
}
else {
return value;
}
}
$h.MeetingSuggestionTimeDecoder._daysInMonth$p=function $h_MeetingSuggestionTimeDecoder$_daysInMonth$p(month, year) {
return 32 - new Date(year, month, 32).getDate();
}
$h.MeetingSuggestionTimeDecoder._getTimeOfDayInMillisecondsUTC$p=function $h_MeetingSuggestionTimeDecoder$_getTimeOfDayInMillisecondsUTC$p(inputTime) {
var timeOfDay=0;
timeOfDay+=inputTime.getUTCHours() * 3600;
timeOfDay+=inputTime.getUTCMinutes() * 60;
timeOfDay+=inputTime.getUTCSeconds();
timeOfDay *=1000;
timeOfDay+=inputTime.getUTCMilliseconds();
return timeOfDay;
}
$h._extractedDate=function $h__extractedDate() {
}
$h._preciseDate=function $h__preciseDate(day, month, year) {
$h._preciseDate.initializeBase(this);
if (day < 0 || day > 31) {
throw Error.argumentOutOfRange('day');
}
if (month < 0 || month > 12) {
throw Error.argumentOutOfRange('month');
}
this._day$i$1=day;
this._month$i$1=month;
if (!$h.MeetingSuggestionTimeDecoder._isNullOrUndefined$i(year)) {
if (!month && day) {
throw Error.argument('Invalid arguments');
}
if (year < 0 || year > 2099) {
throw Error.argumentOutOfRange('year');
}
this._year$i$1=year % 100;
}
else if (!this._month$i$1 && !this._day$i$1) {
throw Error.argument('Invalid datetime');
}
}
$h._preciseDate.prototype={
_day$i$1: 0,
_month$i$1: 0,
_year$i$1: null
}
$h._relativeDate=function $h__relativeDate(modifier, offset, unit, tag) {
$h._relativeDate.initializeBase(this);
if (offset < -32 || offset > 31) {
throw Error.argumentOutOfRange('offset');
}
if (tag < 0 || tag > 15) {
throw Error.argumentOutOfRange('tag');
}
if (!unit && offset < 0) {
throw Error.argument('unit & offset do not form a valid date');
}
this._modifier$i$1=modifier;
this._offset$i$1=offset;
this._unit$i$1=unit;
this._tag$i$1=tag;
}
$h._relativeDate.prototype={
_modifier$i$1: 0,
_offset$i$1: 0,
_unit$i$1: 0,
_tag$i$1: 0
}
$h.Message=function $h_Message(dataDictionary) {
this.$$d__getConversationId$p$1=Function.createDelegate(this, this._getConversationId$p$1);
this.$$d__getInternetMessageId$p$1=Function.createDelegate(this, this._getInternetMessageId$p$1);
this.$$d__getCc$p$1=Function.createDelegate(this, this._getCc$p$1);
this.$$d__getTo$p$1=Function.createDelegate(this, this._getTo$p$1);
this.$$d__getFrom$p$1=Function.createDelegate(this, this._getFrom$p$1);
this.$$d__getSender$p$1=Function.createDelegate(this, this._getSender$p$1);
this.$$d__getNormalizedSubject$p$1=Function.createDelegate(this, this._getNormalizedSubject$p$1);
this.$$d__getSubject$p$1=Function.createDelegate(this, this._getSubject$p$1);
$h.Message.initializeBase(this, [ dataDictionary ]);
$h.InitialData._defineReadOnlyProperty$i(this, 'subject', this.$$d__getSubject$p$1);
$h.InitialData._defineReadOnlyProperty$i(this, 'normalizedSubject', this.$$d__getNormalizedSubject$p$1);
$h.InitialData._defineReadOnlyProperty$i(this, 'sender', this.$$d__getSender$p$1);
$h.InitialData._defineReadOnlyProperty$i(this, 'from', this.$$d__getFrom$p$1);
$h.InitialData._defineReadOnlyProperty$i(this, 'to', this.$$d__getTo$p$1);
$h.InitialData._defineReadOnlyProperty$i(this, 'cc', this.$$d__getCc$p$1);
$h.InitialData._defineReadOnlyProperty$i(this, 'internetMessageId', this.$$d__getInternetMessageId$p$1);
$h.InitialData._defineReadOnlyProperty$i(this, 'conversationId', this.$$d__getConversationId$p$1);
}
$h.Message.prototype={
getEntities: function $h_Message$getEntities() {
return this._data$p$0._getEntities$i$0();
},
getEntitiesByType: function $h_Message$getEntitiesByType(entityType) {
return this._data$p$0._getEntitiesByType$i$0(entityType);
},
getFilteredEntitiesByName: function $h_Message$getFilteredEntitiesByName(name) {
return this._data$p$0._getFilteredEntitiesByName$i$0(name);
},
getRegExMatches: function $h_Message$getRegExMatches() {
OSF.DDA.OutlookAppOm._throwOnMethodCallForInsufficientPermission$i(this._data$p$0.get__permissionLevel$i$0(), 1, 'getRegExMatches');
return this._data$p$0._getRegExMatches$i$0();
},
getRegExMatchesByName: function $h_Message$getRegExMatchesByName(name) {
OSF.DDA.OutlookAppOm._throwOnMethodCallForInsufficientPermission$i(this._data$p$0.get__permissionLevel$i$0(), 1, 'getRegExMatchesByName');
return this._data$p$0._getRegExMatchesByName$i$0(name);
},
displayReplyForm: function $h_Message$displayReplyForm(htmlBody) {
OSF.DDA.OutlookAppOm._instance$p._displayReplyForm$i$0(htmlBody);
},
displayReplyAllForm: function $h_Message$displayReplyAllForm(htmlBody) {
OSF.DDA.OutlookAppOm._instance$p._displayReplyAllForm$i$0(htmlBody);
},
getItemType: function $h_Message$getItemType() {
return Microsoft.Office.WebExtension.MailboxEnums.ItemType.Message;
},
_getSubject$p$1: function $h_Message$_getSubject$p$1() {
return this._data$p$0.get__subject$i$0();
},
_getNormalizedSubject$p$1: function $h_Message$_getNormalizedSubject$p$1() {
return this._data$p$0.get__normalizedSubject$i$0();
},
_getSender$p$1: function $h_Message$_getSender$p$1() {
return this._data$p$0.get__sender$i$0();
},
_getFrom$p$1: function $h_Message$_getFrom$p$1() {
return this._data$p$0.get__from$i$0();
},
_getTo$p$1: function $h_Message$_getTo$p$1() {
return this._data$p$0.get__to$i$0();
},
_getCc$p$1: function $h_Message$_getCc$p$1() {
return this._data$p$0.get__cc$i$0();
},
_getInternetMessageId$p$1: function $h_Message$_getInternetMessageId$p$1() {
return this._data$p$0.get__internetMessageId$i$0();
},
_getConversationId$p$1: function $h_Message$_getConversationId$p$1() {
return this._data$p$0.get__conversationId$i$0();
}
}
$h.PhoneNumber=function $h_PhoneNumber(data) {
this.$$d__getPhoneType$p$0=Function.createDelegate(this, this._getPhoneType$p$0);
this.$$d__getOriginalPhoneString$p$0=Function.createDelegate(this, this._getOriginalPhoneString$p$0);
this.$$d__getPhoneString$p$0=Function.createDelegate(this, this._getPhoneString$p$0);
this._data$p$0=data;
$h.InitialData._defineReadOnlyProperty$i(this, 'phoneString', this.$$d__getPhoneString$p$0);
$h.InitialData._defineReadOnlyProperty$i(this, 'originalPhoneString', this.$$d__getOriginalPhoneString$p$0);
$h.InitialData._defineReadOnlyProperty$i(this, 'type', this.$$d__getPhoneType$p$0);
}
$h.PhoneNumber.prototype={
_data$p$0: null,
_getPhoneString$p$0: function $h_PhoneNumber$_getPhoneString$p$0() {
return this._data$p$0['PhoneString'];
},
_getOriginalPhoneString$p$0: function $h_PhoneNumber$_getOriginalPhoneString$p$0() {
return this._data$p$0['OriginalPhoneString'];
},
_getPhoneType$p$0: function $h_PhoneNumber$_getPhoneType$p$0() {
return this._data$p$0['Type'];
}
}
$h.TaskSuggestion=function $h_TaskSuggestion(data) {
this.$$d__getAssignees$p$0=Function.createDelegate(this, this._getAssignees$p$0);
this.$$d__getTaskString$p$0=Function.createDelegate(this, this._getTaskString$p$0);
this._data$p$0=data;
$h.InitialData._defineReadOnlyProperty$i(this, 'taskString', this.$$d__getTaskString$p$0);
$h.InitialData._defineReadOnlyProperty$i(this, 'assignees', this.$$d__getAssignees$p$0);
}
$h.TaskSuggestion.prototype={
_data$p$0: null,
_assignees$p$0: null,
_getTaskString$p$0: function $h_TaskSuggestion$_getTaskString$p$0() {
return this._data$p$0['TaskString'];
},
_getAssignees$p$0: function $h_TaskSuggestion$_getAssignees$p$0() {
if (!this._assignees$p$0) {
var $$t_1=this;
this._assignees$p$0=$h.Entities._getExtractedObjects$i($h.EmailAddressDetails, this._data$p$0, 'Assignees', function(data) {
return $h.EmailAddressDetails._createFromEmailUserDictionary$i(data);
});
}
return this._assignees$p$0;
}
}
$h.UserProfile=function $h_UserProfile(data) {
this.$$d__getTimeZone$p$0=Function.createDelegate(this, this._getTimeZone$p$0);
this.$$d__getEmailAddress$p$0=Function.createDelegate(this, this._getEmailAddress$p$0);
this.$$d__getDisplayName$p$0=Function.createDelegate(this, this._getDisplayName$p$0);
this._data$p$0=data;
$h.InitialData._defineReadOnlyProperty$i(this, 'displayName', this.$$d__getDisplayName$p$0);
$h.InitialData._defineReadOnlyProperty$i(this, 'emailAddress', this.$$d__getEmailAddress$p$0);
$h.InitialData._defineReadOnlyProperty$i(this, 'timeZone', this.$$d__getTimeZone$p$0);
}
$h.UserProfile.prototype={
_data$p$0: null,
_getDisplayName$p$0: function $h_UserProfile$_getDisplayName$p$0() {
return this._data$p$0.get__userDisplayName$i$0();
},
_getEmailAddress$p$0: function $h_UserProfile$_getEmailAddress$p$0() {
return this._data$p$0.get__userEmailAddress$i$0();
},
_getTimeZone$p$0: function $h_UserProfile$_getTimeZone$p$0() {
return this._data$p$0.get__userTimeZone$i$0();
}
}
$h.RequestState=function() {}
$h.RequestState.prototype={
unsent: 0,
opened: 1,
headersReceived: 2,
loading: 3,
done: 4
}
$h.RequestState.registerEnum('$h.RequestState', false);
$h.EwsRequest=function $h_EwsRequest(userContext) {
this.readyState=1;
$h.EwsRequest.initializeBase(this, [ userContext ]);
}
$h.EwsRequest.prototype={
status: 0,
statusText: null,
onreadystatechange: null,
responseText: null,
get__statusCode$i$1: function $h_EwsRequest$get__statusCode$i$1() {
return this.status;
},
set__statusCode$i$1: function $h_EwsRequest$set__statusCode$i$1(value) {
this.status=value;
return value;
},
get__statusDescription$i$1: function $h_EwsRequest$get__statusDescription$i$1() {
return this.statusText;
},
set__statusDescription$i$1: function $h_EwsRequest$set__statusDescription$i$1(value) {
this.statusText=value;
return value;
},
get__requestState$i$1: function $h_EwsRequest$get__requestState$i$1() {
return this.readyState;
},
set__requestState$i$1: function $h_EwsRequest$set__requestState$i$1(value) {
this.readyState=value;
return value;
},
get__response$i$1: function $h_EwsRequest$get__response$i$1() {
return this.responseText;
},
set__response$i$1: function $h_EwsRequest$set__response$i$1(value) {
this.responseText=value;
return value;
},
send: function $h_EwsRequest$send(data) {
this._checkSendConditions$i$1();
if ($h.ScriptHelpers.isNullOrUndefined(data)) {
this._throwInvalidStateException$i$1();
}
this._sendRequest$i$0(5, 'EwsRequest', { body: data });
},
_callOnReadyStateChangeCallback$i$1: function $h_EwsRequest$_callOnReadyStateChangeCallback$i$1() {
if (!$h.ScriptHelpers.isNullOrUndefined(this.onreadystatechange)) {
this.onreadystatechange();
}
},
_parseExtraResponseData$i$1: function $h_EwsRequest$_parseExtraResponseData$i$1(response) {
}
}
$h.InitialData=function $h_InitialData(data) {
this._data$p$0=data;
}
$h.InitialData._defineReadOnlyProperty$i=function $h_InitialData$_defineReadOnlyProperty$i(o, methodName, getter) {
var propertyDescriptor={ get: getter, configurable: false };
Object.defineProperty(o, methodName, propertyDescriptor);
}
$h.InitialData.prototype={
_toRecipients$p$0: null,
_ccRecipients$p$0: null,
_attachments$p$0: null,
_resources$p$0: null,
_entities$p$0: null,
_data$p$0: null,
get__permissionLevel$i$0: function $h_InitialData$get__permissionLevel$i$0() {
var permissionLevel=this._data$p$0['permissionLevel'];
return (!$h.ScriptHelpers.isUndefined(permissionLevel)) ? permissionLevel : 0;
},
get__itemId$i$0: function $h_InitialData$get__itemId$i$0() {
return this._data$p$0['id'];
},
get__itemClass$i$0: function $h_InitialData$get__itemClass$i$0() {
return this._data$p$0['itemClass'];
},
get__dateTimeCreated$i$0: function $h_InitialData$get__dateTimeCreated$i$0() {
return new Date(this._data$p$0['dateTimeCreated']);
},
get__dateTimeModified$i$0: function $h_InitialData$get__dateTimeModified$i$0() {
return new Date(this._data$p$0['dateTimeModified']);
},
get__dateTimeSent$i$0: function $h_InitialData$get__dateTimeSent$i$0() {
return new Date(this._data$p$0['dateTimeSent']);
},
get__subject$i$0: function $h_InitialData$get__subject$i$0() {
return this._data$p$0['subject'];
},
get__normalizedSubject$i$0: function $h_InitialData$get__normalizedSubject$i$0() {
return this._data$p$0['normalizedSubject'];
},
get__internetMessageId$i$0: function $h_InitialData$get__internetMessageId$i$0() {
return this._data$p$0['internetMessageId'];
},
get__conversationId$i$0: function $h_InitialData$get__conversationId$i$0() {
return this._data$p$0['conversationId'];
},
get__sender$i$0: function $h_InitialData$get__sender$i$0() {
this._throwOnRestrictedPermissionLevel$p$0();
var sender=this._data$p$0['sender'];
return ($h.ScriptHelpers.isNullOrUndefined(sender)) ? null : new $h.EmailAddressDetails(sender);
},
get__from$i$0: function $h_InitialData$get__from$i$0() {
this._throwOnRestrictedPermissionLevel$p$0();
var from=this._data$p$0['from'];
return ($h.ScriptHelpers.isNullOrUndefined(from)) ? null : new $h.EmailAddressDetails(from);
},
get__to$i$0: function $h_InitialData$get__to$i$0() {
this._throwOnRestrictedPermissionLevel$p$0();
if (null===this._toRecipients$p$0) {
this._toRecipients$p$0=this._createEmailAddressDetails$p$0('to');
}
return this._toRecipients$p$0;
},
get__cc$i$0: function $h_InitialData$get__cc$i$0() {
this._throwOnRestrictedPermissionLevel$p$0();
if (null===this._ccRecipients$p$0) {
this._ccRecipients$p$0=this._createEmailAddressDetails$p$0('cc');
}
return this._ccRecipients$p$0;
},
get__attachments$i$0: function $h_InitialData$get__attachments$i$0() {
this._throwOnRestrictedPermissionLevel$p$0();
if (null===this._attachments$p$0) {
this._attachments$p$0=this._createAttachmentDetails$p$0();
}
return this._attachments$p$0;
},
get__ewsUrl$i$0: function $h_InitialData$get__ewsUrl$i$0() {
return this._data$p$0['ewsUrl'];
},
get__start$i$0: function $h_InitialData$get__start$i$0() {
return new Date(this._data$p$0['start']);
},
get__end$i$0: function $h_InitialData$get__end$i$0() {
return new Date(this._data$p$0['end']);
},
get__location$i$0: function $h_InitialData$get__location$i$0() {
return this._data$p$0['location'];
},
get__resources$i$0: function $h_InitialData$get__resources$i$0() {
this._throwOnRestrictedPermissionLevel$p$0();
if (null===this._resources$p$0) {
this._resources$p$0=this._createEmailAddressDetails$p$0('resources');
}
return this._resources$p$0;
},
get__organizer$i$0: function $h_InitialData$get__organizer$i$0() {
this._throwOnRestrictedPermissionLevel$p$0();
var organizer=this._data$p$0['organizer'];
return ($h.ScriptHelpers.isNullOrUndefined(organizer)) ? null : new $h.EmailAddressDetails(organizer);
},
get__userDisplayName$i$0: function $h_InitialData$get__userDisplayName$i$0() {
return this._data$p$0['userDisplayName'];
},
get__userEmailAddress$i$0: function $h_InitialData$get__userEmailAddress$i$0() {
return this._data$p$0['userEmailAddress'];
},
get__userTimeZone$i$0: function $h_InitialData$get__userTimeZone$i$0() {
return this._data$p$0['userTimeZone'];
},
get__timeZoneOffsets$i$0: function $h_InitialData$get__timeZoneOffsets$i$0() {
return this._data$p$0['timeZoneOffsets'];
},
get__hostVersion$i$0: function $h_InitialData$get__hostVersion$i$0() {
return this._data$p$0['hostVersion'];
},
get__owaView$i$0: function $h_InitialData$get__owaView$i$0() {
return this._data$p$0['owaView'];
},
_getEntities$i$0: function $h_InitialData$_getEntities$i$0() {
if (!this._entities$p$0) {
this._entities$p$0=new $h.Entities(this._data$p$0['entities'], this._data$p$0['filteredEntities'], this.get__dateTimeSent$i$0(), this.get__permissionLevel$i$0());
}
return this._entities$p$0;
},
_getEntitiesByType$i$0: function $h_InitialData$_getEntitiesByType$i$0(entityType) {
var entites=this._getEntities$i$0();
return entites._getByType$i$0(entityType);
},
_getFilteredEntitiesByName$i$0: function $h_InitialData$_getFilteredEntitiesByName$i$0(name) {
var entities=this._getEntities$i$0();
return entities._getFilteredEntitiesByName$i$0(name);
},
_getRegExMatches$i$0: function $h_InitialData$_getRegExMatches$i$0() {
if (!this._data$p$0['regExMatches']) {
return null;
}
return this._data$p$0['regExMatches'];
},
_getRegExMatchesByName$i$0: function $h_InitialData$_getRegExMatchesByName$i$0(regexName) {
var regexMatches=this._getRegExMatches$i$0();
if (!regexMatches || !regexMatches[regexName]) {
return null;
}
return regexMatches[regexName];
},
_createEmailAddressDetails$p$0: function $h_InitialData$_createEmailAddressDetails$p$0(key) {
var to=this._data$p$0[key];
if ($h.ScriptHelpers.isNullOrUndefined(to)) {
return [];
}
var recipients=[];
for (var i=0; i < to.length; i++) {
if (!$h.ScriptHelpers.isNullOrUndefined(to[i])) {
recipients[i]=new $h.EmailAddressDetails(to[i]);
}
}
return recipients;
},
_createAttachmentDetails$p$0: function $h_InitialData$_createAttachmentDetails$p$0() {
var attachments=this._data$p$0['attachments'];
if ($h.ScriptHelpers.isNullOrUndefined(attachments)) {
return [];
}
var attachmentDetails=[];
for (var i=0; i < attachments.length; i++) {
if (!$h.ScriptHelpers.isNullOrUndefined(attachments[i])) {
attachmentDetails[i]=new $h.AttachmentDetails(attachments[i]);
}
}
return attachmentDetails;
},
_throwOnRestrictedPermissionLevel$p$0: function $h_InitialData$_throwOnRestrictedPermissionLevel$p$0() {
OSF.DDA.OutlookAppOm._throwOnPropertyAccessForRestrictedPermission$i(this.get__permissionLevel$i$0());
}
}
$h._loadDictionaryRequest=function $h__loadDictionaryRequest(createResultObject, dictionaryName, callback, userContext) {
$h._loadDictionaryRequest.initializeBase(this, [ userContext ]);
this._createResultObject$p$1=createResultObject;
this._dictionaryName$p$1=dictionaryName;
this._callback$p$1=callback;
}
$h._loadDictionaryRequest.prototype={
_dictionaryName$p$1: null,
_createResultObject$p$1: null,
_callback$p$1: null,
handleResponse: function $h__loadDictionaryRequest$handleResponse(response) {
if (response['wasSuccessful']) {
var value=response[this._dictionaryName$p$1];
var responseData=JSON.parse(value);
this.createAsyncResult(this._createResultObject$p$1(responseData), 0, null);
}
else {
this.createAsyncResult(null, 1, response['errorMessage']);
}
this._callback$p$1(this._asyncResult$p$0);
}
}
$h.ProxyRequestBase=function $h_ProxyRequestBase(userContext) {
$h.ProxyRequestBase.initializeBase(this, [ userContext ]);
}
$h.ProxyRequestBase.prototype={
handleResponse: function $h_ProxyRequestBase$handleResponse(response) {
if (!(response['wasProxySuccessful'])) {
this.set__statusCode$i$1(500);
this.set__statusDescription$i$1('Error');
var errorMessage=response['errorMessage'];
this.set__response$i$1(errorMessage);
this.createAsyncResult(null, 1, errorMessage);
}
else {
this.set__statusCode$i$1(response['statusCode']);
this.set__statusDescription$i$1(response['statusDescription']);
this.set__response$i$1(response['body']);
this.createAsyncResult(this.get__response$i$1(), 0, null);
}
this._parseExtraResponseData$i$1(response);
this._cycleReadyStateFromHeadersReceivedToLoadingToDone$i$1();
},
_throwInvalidStateException$i$1: function $h_ProxyRequestBase$_throwInvalidStateException$i$1() {
throw Error.create('DOMException', { code: 11, message: 'INVALID_STATE_ERR' });
},
_cycleReadyStateFromHeadersReceivedToLoadingToDone$i$1: function $h_ProxyRequestBase$_cycleReadyStateFromHeadersReceivedToLoadingToDone$i$1() {
var $$t_0=this;
this._changeReadyState$i$1(2, function() {
$$t_0._changeReadyState$i$1(3, function() {
$$t_0._changeReadyState$i$1(4, null);
});
});
},
_changeReadyState$i$1: function $h_ProxyRequestBase$_changeReadyState$i$1(state, nextStep) {
this.set__requestState$i$1(state);
var $$t_2=this;
window.setTimeout(function() {
try {
$$t_2._callOnReadyStateChangeCallback$i$1();
}
finally {
if (!$h.ScriptHelpers.isNullOrUndefined(nextStep)) {
nextStep();
}
}
}, 0);
},
_checkSendConditions$i$1: function $h_ProxyRequestBase$_checkSendConditions$i$1() {
if (this.get__requestState$i$1() !==1) {
this._throwInvalidStateException$i$1();
}
if (this._isSent$p$0) {
this._throwInvalidStateException$i$1();
}
}
}
$h.RequestBase=function $h_RequestBase(userContext) {
this._userContext$p$0=userContext;
}
$h.RequestBase.prototype={
_isSent$p$0: false,
_asyncResult$p$0: null,
_userContext$p$0: null,
_sendRequest$i$0: function $h_RequestBase$_sendRequest$i$0(dispid, methodName, dataToSend) {
this._isSent$p$0=true;
var $$t_5=this;
OSF.DDA.OutlookAppOm._instance$p._invokeHostMethod$i$0(dispid, methodName, dataToSend, function(resultCode, response) {
if (resultCode) {
$$t_5.createAsyncResult(null, 1, String.format(_u.ExtensibilityStrings.l_InternalProtocolError_Text, resultCode));
}
else {
$$t_5.handleResponse(response);
}
});
},
createAsyncResult: function $h_RequestBase$createAsyncResult(value, errorCode, errorDescription) {
this._asyncResult$p$0=OSF.DDA.OutlookAppOm._createAsyncResult$i(value, errorCode, errorDescription, this._userContext$p$0);
}
}
$h._saveDictionaryRequest=function $h__saveDictionaryRequest(callback, userContext) {
$h._saveDictionaryRequest.initializeBase(this, [ userContext ]);
if (!$h.ScriptHelpers.isNullOrUndefined(callback)) {
this._callback$p$1=callback;
}
}
$h._saveDictionaryRequest.prototype={
_callback$p$1: null,
handleResponse: function $h__saveDictionaryRequest$handleResponse(response) {
if (response['wasSuccessful']) {
this.createAsyncResult(null, 0, null);
}
else {
this.createAsyncResult(null, 1, response['errorMessage']);
}
if (!$h.ScriptHelpers.isNullOrUndefined(this._callback$p$1)) {
this._callback$p$1(this._asyncResult$p$0);
}
}
}
$h.ScriptHelpers=function $h_ScriptHelpers() {
}
$h.ScriptHelpers.isNull=function $h_ScriptHelpers$isNull(value) {
return null===value;
}
$h.ScriptHelpers.isNullOrUndefined=function $h_ScriptHelpers$isNullOrUndefined(value) {
return $h.ScriptHelpers.isNull(value) || $h.ScriptHelpers.isUndefined(value);
}
$h.ScriptHelpers.isUndefined=function $h_ScriptHelpers$isUndefined(value) {
return value===undefined;
}
$h.ScriptHelpers.dictionaryContainsKey=function $h_ScriptHelpers$dictionaryContainsKey(obj, keyName) {
return (Object.isInstanceOfType(obj)) ? keyName in obj : false;
}
OSF.DDA.OutlookAppOm.registerClass('OSF.DDA.OutlookAppOm');
OSF.DDA.Settings.registerClass('OSF.DDA.Settings');
$h.Item.registerClass('$h.Item');
$h.Appointment.registerClass('$h.Appointment', $h.Item);
$h.AttachmentDetails.registerClass('$h.AttachmentDetails');
$h.Contact.registerClass('$h.Contact');
$h.CustomProperties.registerClass('$h.CustomProperties');
$h.Diagnostics.registerClass('$h.Diagnostics');
$h.EmailAddressDetails.registerClass('$h.EmailAddressDetails');
$h.Entities.registerClass('$h.Entities');
$h.Message.registerClass('$h.Message', $h.Item);
$h.MeetingRequest.registerClass('$h.MeetingRequest', $h.Message);
$h.MeetingSuggestion.registerClass('$h.MeetingSuggestion');
$h.MeetingSuggestionTimeDecoder.registerClass('$h.MeetingSuggestionTimeDecoder');
$h._extractedDate.registerClass('$h._extractedDate');
$h._preciseDate.registerClass('$h._preciseDate', $h._extractedDate);
$h._relativeDate.registerClass('$h._relativeDate', $h._extractedDate);
$h.PhoneNumber.registerClass('$h.PhoneNumber');
$h.TaskSuggestion.registerClass('$h.TaskSuggestion');
$h.UserProfile.registerClass('$h.UserProfile');
$h.RequestBase.registerClass('$h.RequestBase');
$h.ProxyRequestBase.registerClass('$h.ProxyRequestBase', $h.RequestBase);
$h.EwsRequest.registerClass('$h.EwsRequest', $h.ProxyRequestBase);
$h.InitialData.registerClass('$h.InitialData');
$h._loadDictionaryRequest.registerClass('$h._loadDictionaryRequest', $h.RequestBase);
$h._saveDictionaryRequest.registerClass('$h._saveDictionaryRequest', $h.RequestBase);
$h.ScriptHelpers.registerClass('$h.ScriptHelpers');
OSF.DDA.OutlookAppOm._maxRecipients$p=100;
OSF.DDA.OutlookAppOm._maxSubjectLength$p=255;
OSF.DDA.OutlookAppOm._maxBodyLength$p=32768;
OSF.DDA.OutlookAppOm._maxLocationLength$p=255;
OSF.DDA.OutlookAppOm._maxEwsRequestSize$p=1000000;
OSF.DDA.OutlookAppOm._instance$p=null;
$h.AttachmentDetails._attachmentTypeMap$p=[ Microsoft.Office.WebExtension.MailboxEnums.AttachmentType.File, Microsoft.Office.WebExtension.MailboxEnums.AttachmentType.Item ];
$h.Diagnostics.outlookAppName='Outlook';
$h.Diagnostics.outlookWebAppName='OutlookWebApp';
$h.EmailAddressDetails._emptyString$p='';
$h.EmailAddressDetails._responseTypeMap$p=[ Microsoft.Office.WebExtension.MailboxEnums.ResponseType.None, Microsoft.Office.WebExtension.MailboxEnums.ResponseType.Organizer, Microsoft.Office.WebExtension.MailboxEnums.ResponseType.Tentative, Microsoft.Office.WebExtension.MailboxEnums.ResponseType.Accepted, Microsoft.Office.WebExtension.MailboxEnums.ResponseType.Declined ];
$h.EmailAddressDetails._recipientTypeMap$p=[ Microsoft.Office.WebExtension.MailboxEnums.RecipientType.Other, Microsoft.Office.WebExtension.MailboxEnums.RecipientType.DistributionList, Microsoft.Office.WebExtension.MailboxEnums.RecipientType.User, Microsoft.Office.WebExtension.MailboxEnums.RecipientType.ExternalUser ];
$h.Entities._allEntityKeys$p=[ 'Addresses', 'EmailAddresses', 'Urls', 'PhoneNumbers', 'TaskSuggestions', 'MeetingSuggestions', 'Contacts' ];
$h.MeetingSuggestionTimeDecoder._baseDate$p=new Date('0001-01-01T00:00:00Z');
$h.ScriptHelpers.emptyString='';