UNPKG

@microsoft/office-js

Version:
1,117 lines (1,115 loc) • 96.4 kB
/* Outlook 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