{"version":3,"file":"dist/generic-promo-banner-only.js","mappings":"CAAA,SAAWA,GAEP,KAAIA,EAAE,0BAA0BC,OAAS,GAAzC,CAGA,IAEIC,EAAeF,EAAE,sBAAsBG,cA8I3CH,GAAE,WACgBI,OAAOC,SAASC,KAAKC,oBAAoBC,QAAQ,UAAY,GA1I3ER,EAAES,KAAK,CACHC,KAAM,MACNC,IAAK,eACLC,QAAS,SAAUC,GAKfC,QAAUD,EACVE,EAA0CF,EAC7C,GAqIR,GAzJiD,CAwBlD,SAASG,IACL,IAAIC,EAA6BjB,EAAE,cAAckB,UAAUC,QAAO,CAACC,EAAMC,IAAkBrB,EAAEqB,GAAMC,SAAWF,GAAQ,GACtHpB,EAAE,2BAA2BsB,OAAOpB,EAAee,GACnDjB,EAAE,yBAAyBsB,OAAOpB,EAAee,GAED,GAA5CjB,EAAE,gCAAgCC,QAA6C,GAA9BD,EAAE,kBAAkBC,SACrED,EAAE,gCAAgCuB,IAAI,MAAQrB,EAAee,GAC7DjB,EAAE,kBAAkBuB,IAAI,MAAQrB,EAAee,IAE/CjB,EAAE,4BAA4BC,OAAS,GACvCuB,wBAAuB,GAI3B,MAAMC,EAAoB,IAAIC,YAAY,oBAAqB,CAC3DC,OAAQ,CACJzB,aAAcA,EACd0B,0BAA2BX,KAGnCY,SAASC,cAAcL,EAC1B,CAED,SAASV,EAA0CgB,GAE/C,IAAIC,EAAyBD,EAEzBC,EAAuB/B,QACvBD,EAAES,KAAK,CACHC,KAAM,OACNC,IAAK,mBACLsB,KAAM,CACFC,gBAAgB,IAAIC,MAAOC,oBAC3BJ,uBAAwBA,GAE5BpB,QAAS,SAAUyB,GAGfN,EAAoBO,SAAQC,IACxB,GAAKF,EAAaG,SAASD,EAAKE,IAAhC,CAEA,IAAIC,EAASH,EAAKI,OAAOC,QAAQ,sBAAuBL,EAAKE,IAGzDI,EAAWN,EAAKO,UAAYP,EAAKO,SAAS7C,OAAS,EAAIsC,EAAKO,SAAS3B,QAAO,CAACC,EAAMC,IAASD,EAAK2B,OAAO,KAAM1B,KAAS,GAG3HqB,EAASA,EAAOE,QAAQ,aAAcC,GAItC,IAAIG,EAAahD,EAAE0C,GAAQO,KAAK,oCAC5BC,EAAO,IACPF,EAAW/C,OAAS,IACpBiD,EAAOlD,EAAEgD,GAAYG,KAAK,SAAWnD,EAAEgD,GAAYf,KAAK,SAG5DiB,EAAOX,EAAKa,aAAmC,IAApBb,EAAKa,YAAoBb,EAAKa,YAAcF,EAGvER,EAASA,EAAOE,QAAQ,iBAAkBM,GA0D9D,SAAwBR,GACpB1C,EAAE,sBAAsBqD,OAAOX,GAC/B1B,GACH,CAvDmBsC,CAHAZ,EAA2B,GAAlBH,EAAKgB,UAAqBb,EAAOE,QAAQ5C,EAAE0C,GAAQO,KAAK,wBAAwB,GAAGO,UAAW,IAAMd,EAAOE,QAAQ,mBAAoB,gBAxBrG,CA2B3C,IAIJ5C,EAAE,+BAA+ByD,MAAMC,GACvC1D,EAAE,4BAA4ByD,MAAME,EACvC,GAGZ,CAGD,SAASC,EAAkBC,EAAIC,EAAOC,GAClC/D,EAAES,KAAK,CACHC,KAAM,OACNC,IAAK,eACLsB,KAAM,CACF4B,GAAIA,EACJC,MAAOA,GAEXlD,QAAS,WAEDmD,IACA1D,SAASC,KAAOyD,GAEpB/D,EAAE,cAAcgE,SAChBjD,EAA0CD,SAC1CE,GACH,GAER,CAED,SAAS0C,IACL,IAAIO,EAASjE,EAAEkE,MAMfN,EALsBK,EAAOE,QAAQ,kBACLhB,KAAK,gBACzB,aACUc,EAAOd,KAAK,aAGrC,CAED,SAASQ,IACL,IAAIM,EAASjE,EAAEkE,MAKfN,EAJsBK,EAAOE,QAAQ,kBACLhB,KAAK,gBACzB,UAGZc,EAAOE,QAAQ,cAAcC,MAChC,CA9IL,EA4JGC","sources":["webpack://vaneckweb/../Static/us/js/src/override/generic-promo-banner.js"],"sourcesContent":["(function ($) {\r\n //return if the class added to hide the alert bar\r\n if ($('body.hide-promo-banner').length > 0) return;\r\n\r\n\r\n var debug = false;\r\n\r\n var headerHeight = $(\"header.site-header\").outerHeight();\r\n\r\n //debugger;\r\n\r\n function showNotificationBanners() {\r\n $.ajax({\r\n type: 'GET',\r\n url: '/banners/get',\r\n success: function (items) {\r\n if (debug) {\r\n console.log('Get notification banners:');\r\n console.log(items);\r\n }\r\n banners = items;\r\n getNotificationBannersIdsToDisplayAndShow(items);\r\n }\r\n });\r\n }\r\n\r\n function adjustHeaderHeight() {\r\n var AlertBArsCumilativeHeights = $(\".alert-bar\").toArray().reduce((prev, curr) => { return $(curr).height() + prev }, 0)\r\n $(\"#root > .sticky-wrapper\").height(headerHeight + AlertBArsCumilativeHeights);\r\n $(\"body > .bs4-nav:first\").height(headerHeight + AlertBArsCumilativeHeights);\r\n //console.log(\"called\")\r\n if ($(\".fund-page-secondary-nav-wrp\").length == 1 || $(\".secondary-nav\").length == 1) {\r\n $(\".fund-page-secondary-nav-wrp\").css(\"top\", (headerHeight + AlertBArsCumilativeHeights));\r\n $(\".secondary-nav\").css(\"top\", (headerHeight + AlertBArsCumilativeHeights));\r\n }\r\n if ($(\"body.page-class-insights\").length > 0) {\r\n GenerateAnchoredBlocks(true);\r\n }\r\n\r\n //Dispatch an event on the Document level so everyone adjusting their heights (esp. React Secondary Navs) can adjust automatically.\r\n const HeaderheightEvent = new CustomEvent(\"headerHeightEvent\", {\r\n detail: {\r\n headerHeight: headerHeight,\r\n cumilativeAlertBarsHeight: AlertBArsCumilativeHeights\r\n }\r\n })\r\n document.dispatchEvent(HeaderheightEvent);\r\n }\r\n\r\n function getNotificationBannersIdsToDisplayAndShow(notificationBanners) {\r\n\r\n var bannerInfoForFiltering = notificationBanners;\r\n\r\n if (bannerInfoForFiltering.length) {\r\n $.ajax({\r\n type: 'POST',\r\n url: '/banners/display',\r\n data: {\r\n timeZoneOffset: new Date().getTimezoneOffset(),\r\n bannerInfoForFiltering: bannerInfoForFiltering\r\n },\r\n success: function (idsToDisplay) {\r\n if (debug) { console.log('Display banners:' + idsToDisplay); }\r\n\r\n notificationBanners.forEach(item => {\r\n if (!idsToDisplay.includes(item.Id)) return;\r\n //get the ID of the webinar and inject accordingly.\r\n var markup = item.Markup.replace(\"{id-of-the-webinar}\", item.Id)\r\n\r\n //get the speakers and stringify them.\r\n var speakers = item.Speakers && item.Speakers.length > 0 ? item.Speakers.reduce((prev, curr) => prev.concat(\", \", curr)) : \"\";\r\n\r\n //replace the speakers\r\n markup = markup.replace(\"{Speakers}\", speakers)\r\n\r\n\r\n //The webinar link is returned as a button, so we need to do some processing to get the link off the button and inject it as the primary link.\r\n var linkbutton = $(markup).find('.particiapnt-info-content button');\r\n var link = \"#\";\r\n if (linkbutton.length > 0) {\r\n link = $(linkbutton).attr(\"href\") || $(linkbutton).data(\"href\")\r\n }\r\n //if the service responds with a link, then that takes precedance...\r\n link = item.WebinarLink && item.WebinarLink != \"\" ? item.WebinarLink : link;\r\n\r\n //add the link to the link placeholder...\r\n markup = markup.replace(\"{primary-link}\", link)\r\n\r\n //see if the webinar has started, if not remove the icon... ...using some jQuery jugglery...\r\n markup = item.IsStarted == false ? markup.replace($(markup).find(\".alert-bar__left svg\")[0].outerHTML, \"\") : markup.replace(\"Upcoming Webinar\", \"Live Webinar\");\r\n\r\n //render the banner\r\n rnBannerMarkup(markup);\r\n });\r\n\r\n //bind listeners\r\n $('.alert-bar .js-register-now').click(registerHandler);\r\n $('.alert-bar .js-no-thanks').click(noThanksHandler);\r\n }\r\n });\r\n }\r\n }\r\n\r\n\r\n function updateBannerState(id, state, goToUrl) {\r\n $.ajax({\r\n type: 'POST',\r\n url: '/banners/set',\r\n data: {\r\n id: id,\r\n state: state\r\n },\r\n success: function () {\r\n\r\n if (goToUrl) {\r\n location.href = goToUrl;\r\n }\r\n $('.alert-bar').remove();\r\n getNotificationBannersIdsToDisplayAndShow(banners);\r\n adjustHeaderHeight();\r\n }\r\n });\r\n }\r\n\r\n function registerHandler() {\r\n var button = $(this),\r\n bannerContainer = button.closest('[data-item-id]'),\r\n webinarId = bannerContainer.attr('data-item-id'),\r\n state = 'Registered',\r\n registerPageUrl = button.attr('data-href');\r\n\r\n updateBannerState(webinarId, state, registerPageUrl);\r\n }\r\n\r\n function noThanksHandler() {\r\n var button = $(this),\r\n bannerContainer = button.closest('[data-item-id]'),\r\n webinarId = bannerContainer.attr('data-item-id'),\r\n state = 'Closed';\r\n\r\n updateBannerState(webinarId, state);\r\n button.closest('.alert-bar').hide();\r\n }\r\n\r\n function rnBannerMarkup(markup) {\r\n $('header.site-header').append(markup);\r\n adjustHeaderHeight();\r\n }\r\n\r\n $(function () {\r\n var isAdmin = window.location.href.toLocaleLowerCase().indexOf(\"admin\") > -1;\r\n\r\n if (!isAdmin) {\r\n showNotificationBanners();\r\n }\r\n });\r\n})(jQuery);\r\n"],"names":["$","length","headerHeight","outerHeight","window","location","href","toLocaleLowerCase","indexOf","ajax","type","url","success","items","banners","getNotificationBannersIdsToDisplayAndShow","adjustHeaderHeight","AlertBArsCumilativeHeights","toArray","reduce","prev","curr","height","css","GenerateAnchoredBlocks","HeaderheightEvent","CustomEvent","detail","cumilativeAlertBarsHeight","document","dispatchEvent","notificationBanners","bannerInfoForFiltering","data","timeZoneOffset","Date","getTimezoneOffset","idsToDisplay","forEach","item","includes","Id","markup","Markup","replace","speakers","Speakers","concat","linkbutton","find","link","attr","WebinarLink","append","rnBannerMarkup","IsStarted","outerHTML","click","registerHandler","noThanksHandler","updateBannerState","id","state","goToUrl","remove","button","this","closest","hide","jQuery"],"sourceRoot":""}