{"version":3,"file":"_HelpAssistant.min.js","names":["InitHelpAssistant","insertHelpButtons","$","on","ShowPopupHelp","click","hideAllPopovers","e","each","this","is","target","has","length","popover","closest","elementName","attr","helpText","data","$label","helpTitle","$button","labelText","html","trim","addClass","get","outerHTML","append","undefined","text","preventDefault","lastHelpText","openedHelpPopupClickedAgain","next","title","titleTemplate","replace","placement","content","trigger"],"sources":["Purchase/Scripts/_HelpAssistant.js"],"mappings":"AAGA,SAASA,oBACLC,oBACAC,EAAE,QAAQC,GAAG,QAAS,uEAAwEC,eAC9FF,EAAE,uBAAuBG,MAAMC,iBAG/BJ,EAAE,QAAQC,GAAG,SAAS,SAAUI,GAC5BL,EAAE,eAAeM,MAAK,WACbN,EAAEO,MAAMC,GAAGH,EAAEI,SAA4C,IAAjCT,EAAEO,MAAMG,IAAIL,EAAEI,QAAQE,QAAuD,IAAvCX,EAAE,YAAYU,IAAIL,EAAEI,QAAQE,QAC3FX,EAAEO,MAAMK,QAAQ,UAExB,GACJ,GACJ,CAEA,SAASb,oBACLC,EAAE,sDAAsDM,MAAK,WACzD,GAAgD,GAA5CN,EAAEO,MAAMM,QAAQ,kBAAkBF,OAAa,CAC/C,IAAIG,YAAcd,EAAEO,MAAMQ,KAAK,QAC3BC,SAAWhB,EAAEO,MAAMU,KAAK,QACtBjB,EAAEO,MAAMU,KAAK,gBAAeH,YAAcd,EAAEO,MAAMU,KAAK,eAC7D,IAAIC,OAASlB,EAAE,cAAgBc,YAAc,2BAA6BA,YAAc,MACxF,GAAII,OAAOR,IAAI,wBAAwBC,OAAQ,OAC/C,IAAIQ,UAAYnB,EAAE,UAAYc,YAAc,MAAMG,KAAK,cACtC,MAAbE,YACAA,UAAYnB,EAAE,UAAYc,YAAc,MAAMG,KAAK,qBACvD,IAAIG,QAAUpB,EAAE,+FAChBoB,QAAQL,KAAK,YAAaC,UAC1BI,QAAQL,KAAK,kBAAmBI,WAC1BD,OAAOD,KAAK,mBAAmBG,QAAQL,KAAK,sBAAuBG,OAAOD,KAAK,mBAGrF,IAAII,UAAYH,OAAOP,OAAS,EAAIO,OAAOI,OAAOC,OAAS,GACvDF,UAAUV,OAAS,IACnBO,OAAOM,SAAS,gCAChBN,OAAOI,KAAK,0CAA4CD,UAAY,iBACpED,QAAUpB,EAAE,SAAWoB,QAAQK,IAAI,GAAGC,UAAY,YAEtDR,OAAOS,OAAOP,QAClB,CACJ,IACApB,EAAE,gBAAgBM,MAAK,gBACgBsB,IAA/B5B,EAAEO,MAAMU,KAAK,eACbjB,EAAEO,MAAMU,KAAK,aAAcjB,EAAEO,MAAMsB,OAC3C,GACJ,CAEA,SAASzB,kBACLJ,EAAE,+CAA+CY,QAAQ,UAC7D,CAEA,SAASV,cAAcG,GACnBA,EAAEyB,iBACF,IAAIC,aAAe/B,EAAEO,MAAMU,KAAK,QAC5Be,4BAA+BhC,EAAEO,MAAM0B,KAAK,YAAYtB,OAAS,EAErE,GADAP,mBACK4B,4BAA6B,CAC9B,IAAIE,MAAQlC,EAAEO,MAAMU,KAAK,cACrBkB,cAAgBnC,EAAE,gCAAgCsB,OACtDa,cAAgBA,cAAcC,QAAQ,UAAWF,OACjD,IAAIG,UAAY,MACVrC,EAAEO,MAAMU,KAAK,oBAAmBoB,UAAYrC,EAAEO,MAAMU,KAAK,mBAC/DjB,EAAEO,MAAMK,QAAQ,CAAEsB,MAAOC,cAAeG,QAASP,aAAcT,MAAM,EAAMe,UAAWA,UAAWE,QAAS,WAAY3B,QAAQ,QAC9HZ,EAAE,iBAAiBG,MAAMC,gBAC7B,CAGAJ,EAAE,eAAeG,OAAM,SAAUE,GAC7BA,EAAEyB,gBACN,GACJ","sourcesContent":["// This code has been simplified to just support help bubbles, but the term 'HelpAssistant' remains as there are too many places\r\n// that refer to it (css, js, cshtml, multiple solutions) so we'll leave the names alone\r\n\r\nfunction InitHelpAssistant() {\r\n insertHelpButtons();\r\n $(\"body\").on(\"click\", \".helpAssistantButton[data-help-title!='Routing number'],a[data-help]\", ShowPopupHelp);\r\n $(\"#PrivacyMessageLink\").click(hideAllPopovers);\r\n\r\n //hook up all help popovers to close when click outside them\r\n $('body').on('click', function (e) {\r\n $('[data-help]').each(function () {\r\n if (!$(this).is(e.target) && $(this).has(e.target).length === 0 && $('.popover').has(e.target).length === 0) {\r\n $(this).popover('destroy');\r\n }\r\n });\r\n });\r\n}\r\n\r\nfunction insertHelpButtons() {\r\n $(\"input[data-help],select[data-help],span[data-help]\").each(function () {\r\n if ($(this).closest(\".purchasePopUp\").length == 0) { // Not currently supported inside a dialog\r\n var elementName = $(this).attr(\"name\");\r\n var helpText = $(this).data(\"help\");\r\n if (!!$(this).data(\"forcontrol\")) elementName = $(this).data(\"forcontrol\");\r\n var $label = $(\"label[for='\" + elementName + \"'], span[data-help-for='\" + elementName + \"']\");\r\n if ($label.has(\".helpAssistantButton\").length) return;\r\n var helpTitle = $(\"[name='\" + elementName + \"']\").data(\"help-title\");\r\n if (helpTitle == null)\r\n helpTitle = $(\"[name='\" + elementName + \"']\").data(\"field-prettyname\");\r\n var $button = $(\"\");\r\n $button.attr(\"data-help\", helpText);\r\n $button.attr(\"data-help-title\", helpTitle);\r\n if (!!$label.data(\"help-placement\")) $button.attr(\"data-help-placement\", $label.data(\"help-placement\"));\r\n\r\n // We never want the help assistant button to wrap onto it's own line but we also want the text to be screen-reader accessible\r\n var labelText = $label.length > 0 ? $label.html().trim() : \"\";\r\n if (labelText.length > 0) {\r\n $label.addClass(\"helpAssistantButtonContainer\");\r\n $label.html(\"\" + labelText + \" \");\r\n $button = $(\"\" + $button.get(0).outerHTML + \"\");\r\n }\r\n $label.append($button);\r\n }\r\n });\r\n $(\"a[data-help]\").each(function () {\r\n if ($(this).data(\"help-title\") === undefined)\r\n $(this).data(\"help-title\", $(this).text());\r\n });\r\n}\r\n\r\nfunction hideAllPopovers() {\r\n $(\".helpAssistantButton:not(.helpExplainWhy),a\").popover(\"destroy\");\r\n}\r\n\r\nfunction ShowPopupHelp(e) {\r\n e.preventDefault();\r\n var lastHelpText = $(this).data(\"help\");\r\n var openedHelpPopupClickedAgain = ($(this).next(\".popover\").length > 0);\r\n hideAllPopovers();\r\n if (!openedHelpPopupClickedAgain) {\r\n var title = $(this).data(\"help-title\");\r\n var titleTemplate = $(\"#AssistantPopupTitleTemplate\").html();\r\n titleTemplate = titleTemplate.replace(\"{title}\", title);\r\n var placement = \"top\";\r\n if (!!$(this).data(\"help-placement\")) placement = $(this).data(\"help-placement\");\r\n $(this).popover({ title: titleTemplate, content: lastHelpText, html: true, placement: placement, trigger: 'manual' }).popover(\"show\");\r\n $(\".popoverClose\").click(hideAllPopovers);\r\n }\r\n\r\n //remove the link behavior from pop-ups so don't jump to top of screen\r\n $('a[href=\"#\"]').click(function (e) {\r\n e.preventDefault();\r\n });\r\n}\r\n\r\n\r\n//# sourceURL=_HelpAssistant.js"]}