{"version":3,"file":"MeControlCallout.Main.min.js","mappings":"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","sources":["/./Common/StorageHelpers.ts","/./MeControlCallout/MeControlCallout.ts","/./MeControlCallout/MeControlCallout.Main.ts"],"sourcesContent":["// Copyright (C) Microsoft Corporation. All rights reserved.\r\n\r\nexport const getSessionStorage = (key: string): string | null => {\r\n\ttry {\r\n\t\treturn sessionStorage.getItem(key);\r\n\t} catch (_) { }\r\n\r\n\treturn null;\r\n};\r\n\r\nexport const trySetSessionStorage = (key: string, value: string, overwrite: boolean = false): boolean => {\r\n\tif (!overwrite && getSessionStorage(key) !== null) {\r\n\t\treturn false;\r\n\t}\r\n\r\n\ttry {\r\n\t\tsessionStorage.setItem(key, value);\r\n\t} catch (_) {\r\n\t\treturn false;\r\n\t}\r\n\r\n\treturn true;\r\n};\r\n","// Copyright (C) Microsoft Corporation. All rights reserved.\r\n\r\nimport type { ApplicationInsights, Behavior, IContentUpdateOverrideValues } from \"@microsoft/1ds-analytics-web-js\";\r\nimport type { MeControlNamespace, IOnBeforeSwitchToEvent, AccountType } from \"@mecontrol/public-api\";\r\nimport { getSessionStorage, trySetSessionStorage } from '../Common/StorageHelpers';\r\n\r\ndeclare global {\r\n\tinterface Window {\r\n\t\tanalytics?: ApplicationInsights;\r\n\t\toneDS: {\r\n\t\t\tBehavior: typeof Behavior;\r\n\t\t};\r\n\t\tMeControl: MeControlNamespace;\r\n\t\tMeControlAccountType: typeof AccountType;\r\n\t}\r\n}\r\n\r\nenum MeControlAccountSelector {\r\n\tEXPANDED = 'meControlAccountSelectorExpanded',\r\n\tCOLLAPSED = 'meControlAccountSelectorCollapsed',\r\n\tSWITCHTYPE = 'meControlSwitchAccountType',\r\n\tSWITCHMSA = 'meControlSwitchMSAAccount',\r\n\tSWITCHAAD = 'meControlSwitchAADAccount',\r\n}\r\n\r\nenum TeachingCalloutLogId {\r\n\tREMOVE = 'teachingCalloutRemove',\r\n\tSHOWN = 'teachingCalloutShown',\r\n\tTIMEOUT = 'teachingCalloutTimeout'\r\n}\r\n\r\nlet meControl: JQuery = $('#meControl');\r\nlet teachingCallout: JQuery = $('#smcTeachingCalloutPopover');\r\nlet teachingCalloutDismiss: JQuery = $('#teachingCalloutDismiss');\r\n\r\nlet flagTeachingCalloutShown = 'teachingCalloutShown';\r\n\r\n// Object to hold handler set on timeout\r\nlet setTimeoutHandler: number;\r\nlet positionCalculatorHandler: number;\r\n\r\nexport function HandleTeachingCallout() {\r\n\tif (teachingCallout && teachingCallout.length > 0) {\r\n\r\n\t\tSetTeachingCalloutOffsetPosition(teachingCallout, meControl);\r\n\r\n\t\twindow.document.addEventListener('displayTeachingCallout', function (event: CustomEvent) {\r\n\t\t\t// Popup is to be shown only once during the entire session.\r\n\t\t\ttry {\r\n\t\t\t\tif (getSessionStorage(flagTeachingCalloutShown) === null && event.detail != undefined) {\r\n\r\n\t\t\t\t\tif (event.detail.displayMessageState != undefined) {\r\n\t\t\t\t\t\tlet messageId: string = '#' + event.detail.displayMessageState;\r\n\t\t\t\t\t\tlet displayMessage: JQuery = $(messageId);\r\n\r\n\t\t\t\t\t\tif (displayMessage.length != 0) {\r\n\t\t\t\t\t\t\tif (event.detail.displayMessageState == 'multipleSignInSuccess' && event.detail.displayName != undefined) {\r\n\t\t\t\t\t\t\t\tlet displayCalloutHeadingResource: JQuery = $(messageId + ' #calloutHeading');\r\n\t\t\t\t\t\t\t\tlet currentText = displayCalloutHeadingResource.text();\r\n\r\n\t\t\t\t\t\t\t\tlet displayName: string = event.detail.displayName;\r\n\t\t\t\t\t\t\t\tif (displayName.length > 10) {\r\n\t\t\t\t\t\t\t\t\tdisplayName = displayName.substring(0, 10).concat('...');\r\n\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\tdisplayCalloutHeadingResource.text(currentText.concat(' ', displayName));\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\tdisplayMessage.removeClass('calloutMessageHidden');\r\n\r\n\t\t\t\t\t\t\tteachingCallout.removeClass('teachingCalloutHidden');\r\n\r\n\t\t\t\t\t\t\tteachingCallout.attr('aria-live', 'assertive');\r\n\r\n\t\t\t\t\t\t\tLogContentUpdate(window.oneDS.Behavior.IMPRESSION, TeachingCalloutLogId.SHOWN);\r\n\t\t\t\t\t\t\ttrySetSessionStorage(flagTeachingCalloutShown, 'true');\r\n\r\n\t\t\t\t\t\t\t// Resolves to NaN if 'timeout' is not configured\r\n\t\t\t\t\t\t\tvar popupTimeoutSeconds = parseInt(teachingCallout.data('timeout'), 10);\r\n\r\n\t\t\t\t\t\t\t// If timeout is not configured, then popup is made visible for the entirety of the first page duration within session.\r\n\t\t\t\t\t\t\t// No timeout event will be logged in this case\r\n\t\t\t\t\t\t\tif (popupTimeoutSeconds) {\r\n\t\t\t\t\t\t\t\tsetTimeoutHandler = window.setTimeout(function () {\r\n\t\t\t\t\t\t\t\t\tLogContentUpdate(window.oneDS.Behavior.OTHER, TeachingCalloutLogId.TIMEOUT);\r\n\t\t\t\t\t\t\t\t\tteachingCallout.slideUp();\r\n\t\t\t\t\t\t\t\t\tif (positionCalculatorHandler) {\r\n\t\t\t\t\t\t\t\t\t\twindow.clearInterval(positionCalculatorHandler);\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}, popupTimeoutSeconds * 1000);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tcatch (err) {\r\n\t\t\t\tif (event.detail == undefined) {\r\n\t\t\t\t\tLogContentUpdate(window.oneDS.Behavior.OTHER, 'calloutDetailNotReceived');\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\twindow.MeControl.API.addEventListener('beforeswitchto', function (e: IOnBeforeSwitchToEvent) {\r\n\t\t\tif (e.detail.currentAccount.type != e.detail.nextAccount.type) {\r\n\t\t\t\tLogContentUpdate(window.oneDS.Behavior.OTHER, MeControlAccountSelector.SWITCHTYPE);\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tif (e.detail.currentAccount.type == window.MeControlAccountType.AAD)\r\n\t\t\t\t\tLogContentUpdate(window.oneDS.Behavior.OTHER, MeControlAccountSelector.SWITCHAAD);\r\n\t\t\t\telse if (e.detail.currentAccount.type == window.MeControlAccountType.MSA || e.detail.currentAccount.type == window.MeControlAccountType.MSA_FED)\r\n\t\t\t\t\tLogContentUpdate(window.oneDS.Behavior.OTHER, MeControlAccountSelector.SWITCHMSA);\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\twindow.MeControl.API.addEventListener('controlexpanded', function () {\r\n\t\t\tLogContentUpdate(window.oneDS.Behavior.IMPRESSION, MeControlAccountSelector.EXPANDED);\r\n\r\n\t\t\tif (!teachingCallout.hasClass('teachingCalloutHidden')) {\r\n\t\t\t\tLogContentUpdate(window.oneDS.Behavior.REMOVE, TeachingCalloutLogId.REMOVE);\r\n\t\t\t\tteachingCallout.addClass('teachingCalloutHidden');\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\twindow.MeControl.API.addEventListener('controlcollapsed', function () {\r\n\t\t\tLogContentUpdate(window.oneDS.Behavior.REMOVE, MeControlAccountSelector.COLLAPSED);\r\n\t\t});\r\n\r\n\t\tteachingCalloutDismiss.on('click', function () {\r\n\t\t\t/*e.preventDefault();*/\r\n\t\t\tif (setTimeoutHandler) {\r\n\t\t\t\twindow.clearTimeout(setTimeoutHandler);\r\n\t\t\t}\r\n\t\t\tteachingCallout.slideUp();\r\n\r\n\t\t\tif (positionCalculatorHandler) {\r\n\t\t\t\twindow.clearInterval(positionCalculatorHandler);\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n}\r\n\r\nfunction LogContentUpdate(userBehavior: Behavior, contentIdLog: string) {\r\n\tvar overrideValues: IContentUpdateOverrideValues = {\r\n\t\tisAuto: false,\r\n\t\tcontent: {\r\n\t\t\tcontentId: contentIdLog\r\n\t\t},\r\n\t\tbehavior: userBehavior\r\n\t};\r\n\r\n\twindow.analytics?.captureContentUpdate(overrideValues);\r\n}\r\n\r\nfunction SetTeachingCalloutOffsetPosition(calloutContainer: JQuery, dockedElement: JQuery) {\r\n\tif (!calloutContainer.length || !dockedElement.length) {\r\n\t\treturn;\r\n\t}\r\n\r\n\tvar initialSignInOffset = calloutContainer.offset().top;\r\n\tvar intervalRefreshRate = 15;\r\n\r\n\tpositionCalculatorHandler = window.setInterval(function () {\r\n\t\tvar dockedElementOffset = dockedElement.offset().top;\r\n\t\tcalloutContainer.offset({ top: initialSignInOffset + dockedElementOffset });\r\n\t}, intervalRefreshRate);\r\n}\r\n","// Copyright (C) Microsoft Corporation. All rights reserved.\r\n\r\nimport { HandleTeachingCallout } from './MeControlCallout';\r\n\r\n$(function () {\r\n\tHandleTeachingCallout();\r\n});"],"names":["MeControlAccountSelector","TeachingCalloutLogId","getSessionStorage","key","sessionStorage","getItem","_","setTimeoutHandler","positionCalculatorHandler","meControl","$","teachingCallout","teachingCalloutDismiss","flagTeachingCalloutShown","LogContentUpdate","userBehavior","contentIdLog","overrideValues","isAuto","content","contentId","behavior","window","analytics","captureContentUpdate","length","calloutContainer","dockedElement","initialSignInOffset","offset","top","setInterval","dockedElementOffset","SetTeachingCalloutOffsetPosition","document","addEventListener","event","undefined","detail","displayMessageState","messageId","displayMessage","displayName","displayCalloutHeadingResource","currentText","text","substring","concat","removeClass","attr","oneDS","Behavior","IMPRESSION","SHOWN","value","overwrite","setItem","trySetSessionStorage","popupTimeoutSeconds","parseInt","data","setTimeout","OTHER","TIMEOUT","slideUp","clearInterval","err","MeControl","API","e","currentAccount","type","nextAccount","SWITCHTYPE","SWITCHAAD","SWITCHMSA","EXPANDED","hasClass","REMOVE","addClass","COLLAPSED","on","clearTimeout"],"sourceRoot":""}