{"version":3,"file":"dist/500.js","mappings":"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","sources":["webpack://vaneckweb/../Static/us/js/src/insights/related-media.js"],"sourcesContent":["import \"regenerator-runtime/runtime\";\r\n\r\n/**** To drive the Grid Card Functionality ****/\r\n//Any changes done to this will also affect UCITS. Contact Eugene for any questions\r\n$(_ => {\r\n\r\n    //Guard - run only if there is an insights grid component on the page\r\n    if( $(\".ve-dynamic-related-media\").length == 0 ) return;\r\n\r\n    /*** veRelatedMedia = the roubust insights grid component designed to interface with the related media service */\r\n    window.veRelatedMedia = {\r\n        initialised: false,\r\n        relatedMediaItems: [],\r\n        endpoint: \"/Main/RelatedMediaUsBlock/GetMediaWithPaging\",\r\n        debug: false,\r\n        shouldScrollIntoView: false,\r\n\r\n\r\n        /**\r\n         * Accepts the grid object and based on the data available, query the endpoint and obtain the media items.\r\n         * @param {any} relatedMediaItem\r\n         */\r\n        getData: async relatedMediaItem => {\r\n            veRelatedMedia.debug ? console.time(\"Retrive Data for Related Media-\" + relatedMediaItem.id) : false;\r\n            try {\r\n                const data = await $.post(veRelatedMedia.endpoint,\r\n                    {\r\n                        pageNumber: relatedMediaItem.nextPage,\r\n                        pageSize: relatedMediaItem.count,\r\n                        QueryFormat: relatedMediaItem.insightsType,\r\n                        Author: relatedMediaItem.authorID,\r\n                        Category: relatedMediaItem.categoryID,\r\n                        TopicalTags: relatedMediaItem.topicalTags,\r\n                        ContentTypeTags: relatedMediaItem.contentTypeTags,\r\n                        LocationTags: relatedMediaItem.locationTags,\r\n                        FundTags: relatedMediaItem.fundTags,\r\n                        SiteContext: veRelatedMedia.getSiteContext(relatedMediaItem.siteContext),\r\n                        Lang: relatedMediaItem.lang,\r\n                    }\r\n                );\r\n\r\n                veRelatedMedia.debug ? console.timeEnd(\"Retrive Data for Related Media-\" + relatedMediaItem.id) : false;\r\n\r\n                veRelatedMedia.debug ? console.log(data) : false;\r\n\r\n                veRelatedMedia.debug ? console.time(\"Render Items for Related Media-\" + relatedMediaItem.id) : false;\r\n\r\n                veRelatedMedia.drawRelatedMedia(relatedMediaItem, data);\r\n\r\n                veRelatedMedia.updateDropdownStatus(data.Result, relatedMediaItem);\r\n            }\r\n            catch (e) {\r\n                veRelatedMedia.debug ? console.timeEnd(\"Retrive Data for Related Media-\" + relatedMediaItem.id) : false;\r\n                console.log(\"Error occured while fetching Related Media Grid Data.\");\r\n                console.error(e);\r\n            }\r\n\r\n        },\r\n\r\n        clearData: (relatedMediaItem) => {\r\n            $(relatedMediaItem.element).find(\".draw-area\").empty();\r\n            $(relatedMediaItem.element).find(\".view-more\").removeClass(\"hide\").empty().show();\r\n        },\r\n\r\n\r\n        /**\r\n         * Draws the related media item based on data obtained from the endpoint response.\r\n         * Needs the data as well as the appropriate grid to be drawn.\r\n         * @param {any} relatedMediaItem\r\n         * @param {any} data\r\n         */\r\n        drawRelatedMedia: (relatedMediaItem, data) => {\r\n            if(!data) return console.error(\"There is no data to render!\");\r\n            if(!relatedMediaItem) return console.error(\"There is no relatedMediaItem to render!\");\r\n\r\n            //now that we got the data, lets see if there is more pages and then increment the next page.\r\n            if (data.Result.HasMoreItems) {\r\n                veRelatedMedia.relatedMediaItems[relatedMediaItem.id].nextPage++;\r\n                $(relatedMediaItem.element).find(\".view-more\").show();\r\n            } else {\r\n                $(relatedMediaItem.element).find(\".view-more\").hide();\r\n            }\r\n\r\n            var mkGrid = \"\"; //The markup for the entire grid component to be drawn, made of multiple insights items.\r\n            var unformattedMessage = \"\";\r\n            var formattedMessage = \"\";\r\n\r\n            if (data.Result.GridCardDetails.length > 0) {\r\n                data.Result.GridCardDetails.forEach((e, i) => {\r\n                    mkGrid += veRelatedMedia.renderItem(e, relatedMediaItem.template ?? \"insights-grid\")\r\n                })\r\n            }\r\n            else {\r\n                const currentCategory = $(\"#InsightsDropdown .dropdown__label\").text().trim();\r\n                const currentMediaType = $(\"#InsightsTypeDropdown .dropdown__label\").text().trim();\r\n                var message = \"\";\r\n                if (currentCategory && currentCategory != veDictionary.allInsights && currentMediaType && currentMediaType != veDictionary.allFormats) {\r\n                    unformattedMessage = veDictionary.noCategoriesVisit;\r\n                    formattedMessage = unformattedMessage.replace('{0}', currentCategory).replace('{1}', currentMediaType.toLowerCase()).replace('{2}', currentMediaType.toLowerCase());\r\n                    //message += `Sorry, there are no ${currentCategory} ${currentMediaType.toLowerCase()} at this time. Come back and visit for future ${currentMediaType.toLowerCase()}.`;\r\n                    message += formattedMessage;\r\n                }\r\n                else if (currentCategory && currentCategory != veDictionary.allInsights) {\r\n                    unformattedMessage = veDictionary.noCategoriesAtThisTime;\r\n                    formattedMessage.replace('{0}', currentCategoy);\r\n                    //message += `Sorry, there are no ${currentCategoy} insights at this time.`;\r\n                    message += formattedMessage;\r\n                }\r\n                else {\r\n                    message += veDictionary.noCategories;\r\n                }\r\n                mkGrid += `<div class=\"text-center w-100\"><p>${message}</p></div>`;\r\n            }\r\n            //iterate and render the elems\r\n\r\n\r\n            //Draw the grid on the component and enable the view more button.\r\n            $(relatedMediaItem.element).find(\".draw-area\").append(mkGrid);\r\n            $(relatedMediaItem.element).find(\".view-more .btn-primary\").attr(\"disabled\", false);\r\n\r\n            veRelatedMedia.debug ? console.timeEnd(\"Render Items for Related Media-\" + relatedMediaItem.id) : false;\r\n        },\r\n\r\n    \r\n        /**\r\n         * Generates the markup for a signle related media media item, based on a template\r\n         * @param {any} item\r\n         * @param {any} template\r\n         */\r\n        renderItem: (item, template) => {\r\n            var mkimage = item.PostSmallImage ?\r\n                `<div class=\"position-relative\"><a data-ve-gtm=\"item-image\" class=\"grid-card__image-link\" href=\"${item.MediaLink}\">\r\n                                    <div class=\"grid-card__image-container mb-3 no-print\">\r\n                                      <div class=\"image grid-card__image\" style=\"background-image:url(${item.PostSmallImage});padding-bottom:56.25%\">\r\n                                        <img alt=\"${item.Title}\" class=\"image__img\" src=\"${item.PostSmallImage}\"></div>\r\n                                    </div>\r\n                                    <div class=\"grid-card__image-icon\">${veRelatedMedia.getSvg(item.Type)}</div>\r\n                                  </a></div>`\r\n                : \"\";\r\n\r\n            var description = (item.Details != null && item.Details != \"\") ? item.Details : item.Description ?? \"\";\r\n            var mksummary = item.PostSmallImage ? \"\" : `<div data-ve-gtm=\"item-abstract\" class=\"grid-card__body\">\r\n                                 ${description}\r\n                                </div>`;\r\n\r\n            var rnAuthors = (authors) => {\r\n                var mkAuthors = \"\";\r\n\r\n                authors.forEach(e => {\r\n                    const hasauthorLink = _ =>  e.Url != null && e.Url != \"\" && !veRelatedMedia.getCurrentAuthor();\r\n                    var aOpen = hasauthorLink() ? `<a data-ve-gtm=\"${veRelatedMedia.getGtmAuthorAttributeValue(item.Type)}\" class=\"grid-card__label-link\" href=\"${e.Url}\">` : `<div class=\"grid-card__label-link\">`;\r\n                    var aClose = hasauthorLink() ? `</a>` : \"</div>\";\r\n                    //var aOpen = `<div data-ve-gtm=\"${veRelatedMedia.getGtmAuthorAttributeValue(item.Type)}\" class=\"grid-card__label-link\">`;\r\n                    //var aClose = \"</div>\";\r\n                    mkAuthors += `<div class=\"grid-card__author\">${aOpen}<span class=\"grid-card__label-title text-util-md\">${e.Name}</span><span class=\"grid-card__label-title text-util-md\">${e.Title != null ? e.Title : \"\"}</span>${aClose}</div>`\r\n                });\r\n                return mkAuthors;\r\n            }\r\n            \r\n            /*var publishedDate = convCSDate(item.PublishDate)*/ \r\n\r\n            var mkcategory = item.Category ? `<span data-ve-gtm=\"item-category\" class=\"text-util-md\">${item.Category} ${veRelatedMedia.getRelatedMediaType(item.Type)}</span>` : \"\";\r\n            mkcategory = item.CategoryUrl != null && item.CategoryUrl != \"\" && !veRelatedMedia.getCurrentCategory() ? `<a data-ve-gtm=\"item-category\" class=\"grid-card__eyebrow-link\" href=\"${item.CategoryUrl}\">${mkcategory}</a>` : mkcategory;\r\n\r\n            var mkCategory = item.Category ? `<div class=\"grid-card__eyebrow\">${mkcategory}</div>` : \"\";\r\n            var badge = item.Badge ? `<span class=\"grid-card__badge badge mb-2\">${item.Badge} CE Credit</span>` : \"\";\r\n            var liveOn = item.IsUpcomingWebinar ? '<span class=\"grid-card__badge badge mb-2\">Live On</span>' : \"\";\r\n\r\n            var rnReadTime = (insightsType, readTime) => {\r\n                if (readTime == null || typeof insightsType != \"string\") return \"\";\r\n                switch (insightsType.toLowerCase()) {\r\n                    case \"blog\":\r\n                        return `<p class=\"text-util-md mb-2 grid-card__read-time\">${item.FormattedTime}</p>`;\r\n                    case \"video\":\r\n                        return `<p class=\"text-util-md mb-2 grid-card__read-time\">${item.FormattedTime}</p>`;\r\n                    case \"podcast\":\r\n                        return `<p class=\"text-util-md mb-2 grid-card__read-time\">${item.FormattedTime}</p>`\r\n                    default:\r\n                        return \"\";\r\n                }\r\n            }        \r\n\r\n            switch (template) {\r\n\r\n                /***\r\n                 *  In future if other templates are required for the grid, we can add them here as another case.\r\n                 **/\r\n                case \"landing-grid\":\r\n                    return `<div class=\"insights-grid__item col-md-6 col-lg-3\">\r\n                              <div data-ve-gtm=\"${veRelatedMedia.getGtmGridCardAttributeValue(item.Type)}\" class=\"grid-card\">\r\n                                ${mkimage}\r\n                                ${mkCategory}\r\n                                <div class=\"grid-card__header\"><a data-ve-gtm=\"item-title\" class=\"grid-card__title-link\" href=\"${item.MediaLink}\">\r\n                                    <h3 class=\"mb-0\">${item.Title}</h3>\r\n                                  </a></div>\r\n                                ${badge}\r\n                                ${rnAuthors(item.Authors)}\r\n                                <p data-ve-gtm=\"item-date\" class=\"text-util-md mb-2\">${liveOn} ${item.FormattedPublishDate}</p>\r\n                                ${rnReadTime(veRelatedMedia.getRelatedMediaType(item.Type),item.Time)}\r\n                                ${mksummary}\r\n                                <div class=\"grid-card__divider\"></div>\r\n                              </div>\r\n                    </div>`;\r\n                case \"insights-grid\":\r\n                default:\r\n                    return `<div class=\"insights-grid__item col-md-6 col-lg-4\">\r\n                              <div data-ve-gtm=\"${veRelatedMedia.getGtmGridCardAttributeValue(item.Type)}\" class=\"grid-card\">\r\n                                ${mkimage}\r\n                                ${mkCategory}\r\n                                <div class=\"grid-card__header\"><a data-ve-gtm=\"item-title\" class=\"grid-card__title-link\" href=\"${item.MediaLink}\">\r\n                                    <h3 class=\"mb-0\">${item.Title}</h3>\r\n                                  </a></div>\r\n                                ${badge}\r\n                                ${rnAuthors(item.Authors)}\r\n                                <p data-ve-gtm=\"item-date\" class=\"text-util-md mb-2\">${liveOn} ${item.FormattedPublishDate}</p>\r\n                                ${rnReadTime(veRelatedMedia.getRelatedMediaType(item.Type),item.Time)}\r\n                                ${mksummary}\r\n                                <div class=\"grid-card__divider\"></div>\r\n                              </div>\r\n                    </div>`;\r\n            }\r\n        },\r\n\r\n         /***\r\n         * Function to read the query strings and then tune the config of the veRelatedMedia item.\r\n         * */\r\n        configureGridByQueryStrings: () => {\r\n            //debugger;\r\n            //Try to get the mediaType from the URL\r\n            const mediaType = getQueryStringParam(\"mediaType\");\r\n            const category = getQueryStringParam(\"category\");\r\n            if (category) {\r\n\r\n                const getCategoryFromString = catString => {\r\n                    const selectedCat = $(\"#InsightsDropdown .dropdown__item\").toArray().find(x => {\r\n                        const matchesCategoryName = $(x).text().toLowerCase().replace(/[ ]/g, \"-\") === catString;\r\n                        const matchesNameInURL = $(x).data(\"categoryurlname\")?.toLowerCase().replace(/[ ]/g, \"-\") === catString;\r\n                        return matchesCategoryName || matchesNameInURL;\r\n                    });\r\n                    if (selectedCat) {\r\n                        //return Array [categoryName, categoryID];\r\n                        return [$(selectedCat).text(), $(selectedCat).attr(\"value\")];\r\n                    }\r\n                    return [false, false];\r\n                }\r\n\r\n                const setCategory = insightsCategory => {\r\n                    //get the Id and name of the category\r\n                    if (typeof insightsCategory != \"string\") return false;\r\n                    const catString = insightsCategory.toLowerCase();\r\n                    if (!catString) return false;\r\n                    const [catName, catId] = getCategoryFromString(catString);\r\n\r\n                    if(!catId || !catName) return;\r\n                    $(\".ve-dynamic-related-media:first\").data(\"categoryid\", catId).attr(\"data-categoryid\", catId);\r\n                    $(\"#InsightsDropdown .dropdown__label\").text(catName);\r\n                }\r\n\r\n                setCategory(category);\r\n            }\r\n\r\n            if (mediaType) {\r\n                //To set the mediatype to the first item.\r\n                const setType = insightsType => {\r\n                    $(\".ve-dynamic-related-media:first\").data(\"insightstype\", insightsType).attr(\"data-insightstype\", insightsType);\r\n                    $(\"#InsightsTypeDropdown .dropdown__label\").text(insightsType + \"s\");\r\n                    insightsType == \"All\" ? $(\"#InsightsTypeDropdown .dropdown__label\").text(\"All Formats\") : false;\r\n                }\r\n\r\n                veRelatedMedia.shouldScrollIntoView = true;\r\n\r\n                //we switch so only the relavent ones can be used, all others will be ignored.\r\n                //Also capitalisation of first letter.\r\n                switch (mediaType.toLowerCase()) {\r\n                    case \"webinar\":\r\n                        setType(\"Webinar\")\r\n                        break;                    \r\n                    case \"blog\":\r\n                        setType(\"Blog\")\r\n                        break;                    \r\n                    case \"video\":\r\n                        setType(\"Video\")\r\n                        break;                    \r\n                    case \"podcast\":\r\n                        setType(\"Podcast\")\r\n                        break;                         \r\n                    case \"all\":\r\n                        setType(\"All\")\r\n                        break;                    \r\n                    default:\r\n                        return false;\r\n                }\r\n            }\r\n\r\n            return false;\r\n        },\r\n\r\n        scrollIntoView: _ => {\r\n            if (veRelatedMedia.shouldScrollIntoView) {\r\n                //scroll into view\r\n                const rmOffset = $(\".ve-dynamic-related-media:first\")[0].offsetTop;\r\n\r\n                //get category to see if there is a selected category, aka. not a capability page.\r\n                const currentCategory = $(\".ve-dynamic-related-media:first\").data(\"category\");\r\n                if (rmOffset) { // && !currentCategory) {\r\n                    window.scrollTo(0, rmOffset - 15);\r\n                }\r\n            }\r\n        },\r\n\r\n        updateDropdownStatus: async (data, relatedMediaItem) => {\r\n            const updateCategories = function () {\r\n                const NoCategorySelected = $(\"#InsightsDropdown .dropdown__label\").text().trim() == $(\"#InsightsDropdown .dropdown__item:first\").text().trim();\r\n                $(\"#InsightsDropdown .dropdown-item\").each((i, e) => {\r\n                    const catValue = $(e).attr(\"value\");\r\n                    if (catValue) {\r\n                        const catCount = data.FacetTerms.Categories[catValue];\r\n                        //Do not disable categories if both a media type and category is displayed.\r\n                        if ((!catCount || catCount === 0) && !relatedMediaItem.hasBothCategoryAndMediaType && NoCategorySelected) return $(e).attr(\"disabled\", true);\r\n                    }\r\n                    return $(e).removeAttr(\"disabled\");\r\n                })\r\n            }\r\n\r\n            const updateMediaTypes = function () {\r\n                const AllTypes = $(\"#InsightsTypeDropdown .dropdown-item:first\").attr('value');\r\n                const NoCategorySelected = $(\"#InsightsDropdown .dropdown__label\").text().trim() == $(\"#InsightsDropdown .dropdown__item:first\").text().trim();\r\n                $(\"#InsightsTypeDropdown .dropdown-item\").each((i, e) => {\r\n                    const catValue = $(e).attr(\"value\");\r\n                    if (catValue === AllTypes) return;\r\n                    if (catValue) {\r\n                        const catCount = data.FacetTerms.RelatedMediaTypes[catValue];\r\n                        if ((!catCount || catCount === 0) && !relatedMediaItem.hasBothCategoryAndMediaType && !NoCategorySelected) return $(e).attr(\"disabled\", true);\r\n                    }\r\n                    //disable them ONLY if the category was selected, not if both are selected...\r\n                    return !relatedMediaItem.hasBothCategoryAndMediaType ? $(e).removeAttr(\"disabled\") : false;\r\n                })\r\n            }\r\n\r\n            const hideDropdowns = function () {\r\n                if(!data.MediaTypes) return;\r\n\r\n                //see if any of them need to be hidden\r\n                    //get list of all media types    \r\n                    const MediaTypeKeys = Object.keys(data.MediaTypes);\r\n                    //filter those that are false (not available)\r\n                    const UnavailableMediaTypes = MediaTypeKeys.filter(x => !data.MediaTypes[x]);\r\n                    //if there are nothing to hide ignore.\r\n                    if (UnavailableMediaTypes.length == 0) return;\r\n\r\n                //get the list of corresponsing values\r\n                const MediaTypesToHide = UnavailableMediaTypes.map(x => !isNaN(x) ? veRelatedMedia.getRelatedMediaType(Number(x)).toLowerCase() : \"error\")\r\n                \r\n                veRelatedMedia.debug ? console.log(\"To hide\") : false;\r\n                veRelatedMedia.debug ? console.log(MediaTypesToHide) : false;\r\n\r\n                //iterate through dropdowns and hide if relavent.\r\n                $(\"#InsightsTypeDropdown .dropdown-item\").each((i, e) => {\r\n                    const medValue = $(e).attr(\"value\")?.toLowerCase();\r\n                    if (medValue && MediaTypesToHide.includes(medValue)) return $(e).hide();\r\n                })\r\n            }\r\n\r\n            updateCategories();\r\n            updateMediaTypes();\r\n            hideDropdowns();\r\n        },\r\n        getCurrentCategory: x => {\r\n            const currentCat = veRelatedMedia.relatedMediaItems[0].category\r\n            if(!currentCat) return false;\r\n            if(currentCat === \"All\") return false;\r\n            return currentCat;\r\n        },\r\n        getCurrentAuthor: x => veRelatedMedia.relatedMediaItems[0].author || false,\r\n\r\n\r\n        /**\r\n         * Returns common SVGs used in the grid.\r\n         * Case 1- blog, Case 2 - video, Case 3 - Webinar, Case 4 - Podcast\r\n         * @param {any} name\r\n         */\r\n        getSvg: name => {\r\n            switch (name) {\r\n                case 1:\r\n                    return `<svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"far\" data-icon=\"blog\" class=\"svg-inline--fa fa-blog fa-w-16 fa-3x icon\" role=\"img\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 25 25\">\r\n                                <path fill=\"currentColor\" d=\"m 17.112303,7.9225352 -3.721739,4.1483138 -0.118625,1.133376 1.045882,-0.170256 3.70764,-4.1325758 z M 18.863762,7.4547443 18.376858,6.9901735 c -0.0817,-0.078021 -0.185238,-0.1261868 -0.271378,-0.1238269 -0.03333,-0.00163 -0.06589,0.010082 -0.09014,0.032414 l -0.599307,0.6181672 0.941184,0.9337764 0.612789,-0.6322986 c 0.06242,-0.064287 0.03017,-0.2334938 -0.106246,-0.3636613 z M 6.8352423,7.2114327 a 0.52816901,0.52816901 0 0 0 -0.5281691,0.528169 0.52816901,0.52816901 0 0 0 0.5281691,0.528169 h 7.7781137 a 0.52816901,0.52816901 0 0 0 0.528169,-0.528169 0.52816901,0.52816901 0 0 0 -0.528169,-0.528169 z m 0,3.5211263 a 0.52816901,0.52816901 0 0 0 -0.5281691,0.528169 0.52816901,0.52816901 0 0 0 0.5281691,0.528169 h 4.9612127 a 0.52816901,0.52816901 0 0 0 0.528169,-0.528169 0.52816901,0.52816901 0 0 0 -0.528169,-0.528169 z m 0,3.521127 a 0.52816901,0.52816901 0 0 0 -0.5281691,0.528169 0.52816901,0.52816901 0 0 0 0.5281691,0.528169 H 18.471466 a 0.52816901,0.52816901 0 0 0 0.528169,-0.528169 0.52816901,0.52816901 0 0 0 -0.528169,-0.528169 z m 0,3.521127 a 0.52816901,0.52816901 0 0 0 -0.5281691,0.528169 0.52816901,0.52816901 0 0 0 0.5281691,0.528169 H 18.471466 a 0.52816901,0.52816901 0 0 0 0.528169,-0.528169 0.52816901,0.52816901 0 0 0 -0.528169,-0.528169 z M 12.5,0 C 5.602697,0 0,5.602697 0,12.5 0,19.397303 5.602697,25 12.5,25 19.397303,25 25,19.397303 25,12.5 25,5.602697 19.397303,0 12.5,0 Z m 0,1.056338 c 6.326416,0 11.443662,5.117246 11.443662,11.443662 0,6.326416 -5.117246,11.443662 -11.443662,11.443662 C 6.173584,23.943662 1.056338,18.826416 1.056338,12.5 1.056338,6.173584 6.173584,1.056338 12.5,1.056338 Z\">\r\n                                </path>\r\n                              </svg>`;\r\n                case 2:\r\n                    return `<svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"far\" data-icon=\"play-circle\" class=\"svg-inline--fa fa-play-circle fa-w-16 fa-3x icon\" role=\"img\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\r\n                                <path fill=\"currentColor\" d=\"M 10.1525,7.6262504 C 9.4088471,7.6408774 8.7143741,8.2420884 8.715,9.0612499 V 14.9375 c -8.432e-4,1.092215 1.2338231,1.796302 2.17375,1.24 l 4.96875,-2.93875 c 0.923476,-0.546327 0.923476,-1.932423 0,-2.47875 L 10.88875,7.8212497 C 10.653768,7.6821749 10.400384,7.6213758 10.1525,7.6262504 Z M 9.9100002,8.6299998 C 10.048592,8.5509094 10.229738,8.5467295 10.4,8.6475003 l 4.96875,2.9387497 c 0.333052,0.197033 0.333052,0.629217 0,0.82625 L 10.4,15.351252 C 10.059477,15.552794 9.6746977,15.3332 9.675,14.937503 V 9.0612525 C 9.6748489,8.863405 9.7714074,8.7090934 9.9100002,8.6300024 Z M 12,0 C 5.37776,0 0,5.37776 0,12 0,18.62224 5.37776,24 12,24 18.62224,24 24,18.62224 24,12 24,5.37776 18.62224,0 12,0 Z m 0,0.96 C 18.10352,0.96 23.04,5.89648 23.04,12 23.04,18.10352 18.10352,23.04 12,23.04 5.89648,23.04 0.96,18.10352 0.96,12 0.96,5.89648 5.89648,0.96 12,0.96 Z\">\r\n                                </path>\r\n                              </svg>`\r\n                case 3:\r\n                    return `<svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"far\" data-icon=\"webinar-circle\" class=\"svg-inline--fa fa-webinar-circle fa-w-16 fa-3x icon\" role=\"img\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 23.5 23.5\">\r\n                                <path fill=\"currentColor\" d=\"M 12.000217,8.935 C 10.864438,8.935 9.935,9.8644377 9.935,11.000218 c 3e-7,1.13578 0.929438,2.065218 2.065217,2.065218 1.135779,0 2.065217,-0.929438 2.065217,-2.065218 0,-1.1357803 -0.929438,-2.0652181 -2.065217,-2.065218 z m -0.0213,1.065218 c 0.246244,0 0.49031,0.10086 0.695313,0.289063 0.400499,0.408895 0.394334,0.98771 0.01172,1.347656 -0.414629,0.389463 -1.029443,0.405216 -1.382814,0.03125 -0.388785,-0.414049 -0.407064,-1.02383 -0.0332,-1.375 0.206975,-0.194413 0.458712,-0.292969 0.708984,-0.292969 z M 10.900391 13.972656 C 9.3932093 13.972656 8.2597656 15.372808 8.2597656 17 L 9.7402344 17 C 9.7402344 16.029192 10.333572 15.455078 10.900391 15.455078 L 13.099609 15.455078 C 13.703906 15.455078 14.259766 16.079104 14.259766 17 L 15.740234 17 C 15.740234 15.428896 14.655313 13.972656 13.099609 13.972656 L 10.900391 13.972656 z M 6.1992188 6.5 C 5.4755755 6.5 4.9277344 7.1349285 4.9277344 7.8496094 L 4.9277344 16.150391 C 4.9277344 16.865071 5.4755755 17.5 6.1992188 17.5 L 17.654297 17.5 C 17.654945 17.5 17.655602 17.500001 17.65625 17.5 C 18.378933 17.498864 18.927734 16.86514 18.927734 16.150391 L 18.927734 7.8496094 C 18.927734 7.1342193 18.37794 6.5 17.654297 6.5 L 6.1992188 6.5 z M 6.1992188 7.5 L 17.654297 7.5 C 17.784654 7.5 17.927734 7.6249994 17.927734 7.8496094 L 17.927734 16.150391 C 17.927734 16.375001 17.784654 16.5 17.654297 16.5 L 6.1992188 16.5 C 6.068862 16.5 5.9277344 16.37571 5.9277344 16.150391 L 5.9277344 7.8496094 C 5.9277344 7.6242902 6.068862 7.5 6.1992188 7.5 z M 8 18.5 L 8 19.5 L 16 19.5 L 16 18.5 L 8 18.5 z  M 12,0.25 C 5.5195377,0.25 0.25,5.5195377 0.25,12 0.25,18.480462 5.5195377,23.75 12,23.75 18.480462,23.75 23.75,18.480462 23.75,12 23.75,5.5195377 18.480462,0.25 12,0.25 Z M 12,1.25 C 17.946378,1.25 22.75,6.0536221 22.75,12 22.75,17.946378 17.946378,22.75 12,22.75 6.0536221,22.75 1.25,17.946378 1.25,12 1.25,6.0536221 6.0536221,1.25 12,1.25 Z\">\r\n                                </path>\r\n                              </svg>`;\r\n                case 4:\r\n                    return `<svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"far\" data-icon=\"microphone-circle\" class=\"svg-inline--fa fa-microphone-circle fa-w-16 fa-3x icon\" role=\"img\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\r\n                                  <path fill=\"currentColor\" d=\"m 6.595052,9.807292 a 0.5,0.5 0 0 0 -0.5,0.5 v 1.800781 c 0,3.078211 2.394846,5.53622 5.404948,5.803386 v 1.804687 H 8.2343747 a 0.5,0.5 0 0 0 -0.5,0.5 0.5,0.5 0 0 0 0.5,0.5 H 11.990885 12 15.765625 a 0.5,0.5 0 0 0 0.5,-0.5 0.5,0.5 0 0 0 -0.5,-0.5 H 12.5 v -1.804687 c 3.010102,-0.267166 5.404948,-2.725175 5.404948,-5.803386 v -1.800781 a 0.5,0.5 0 0 0 -0.5,-0.5 0.5,0.5 0 0 0 -0.5,0.5 v 1.800781 c 0,2.715063 -2.189885,4.904948 -4.904948,4.904948 -2.7150633,0 -4.904948,-2.189885 -4.904948,-4.904948 v -1.800781 a 0.5,0.5 0 0 0 -0.5,-0.5 z M 12,0 C 5.3785053,0 0,5.3785053 0,12 0,18.621495 5.3785053,24 12,24 18.621495,24 24,18.621495 24,12 24,5.3785053 18.621495,0 12,0 Z m 0,1 C 18.081055,1 23,5.9189453 23,12 23,18.081055 18.081055,23 12,23 5.9189453,23 1,18.081055 1,12 1,5.9189453 5.9189453,1 12,1 Z m 0.0063,13.331333 v 0 c -1.270255,0 -2.300001,-1.104364 -2.300001,-2.466666 V 6.9313327 c 0,-1.3623014 1.029746,-2.466666 2.300001,-2.466666 v 0 c 1.270253,0 2.299999,1.1043646 2.299999,2.466666 v 4.9333343 c 0,1.362302 -1.029746,2.466666 -2.299999,2.466666 z\">\r\n                                  </path>\r\n                                </svg>`;\r\n                default:\r\n                    return \"\";\r\n            }\r\n        },\r\n\r\n        /**\r\n         * Returns the appropriate media type based on enum\r\n         * Case 1- blog, Case 2 - video, Case 3 - Webinar, Case 4 - Podcast\r\n         * @param {any} name\r\n         */\r\n        getRelatedMediaType: name => {\r\n            switch (name) {\r\n                case 1:\r\n                    return \"Blog\";\r\n                case 2:\r\n                    return \"video\";\r\n                case 3:\r\n                    return \"Webinar\";\r\n                case 4:\r\n                    return \"Podcast\";\r\n                default:\r\n                    return \"\";\r\n            }\r\n        },\r\n\r\n\r\n        getSiteContext: name => {\r\n            switch (name) {\r\n                case \"Unknown\":\r\n                    return 0;\r\n                case \"Us\":\r\n                    return 1;\r\n                case \"Ucits\":\r\n                    return 2;\r\n                case \"Corp\":\r\n                    return 3;\r\n                case \"ForeignTax\":\r\n                    return 4;\r\n                case \"Au\":\r\n                    return 5;\r\n                case \"Etn\":\r\n                    return 6;\r\n                default:\r\n                    return 1;\r\n            }\r\n        },\r\n\r\n        /**\r\n         * Returns Gtm grid card attribute\r\n         * Case 1- blog, Case 2 - video, Case 3 - Webinar, Case 4 - Podcast\r\n         * @param {any} name\r\n         */\r\n        getGtmGridCardAttributeValue: name => {\r\n            switch (name) {\r\n                case 1:\r\n                    return \"container-blog-post-item\";\r\n                case 2:\r\n                    return \"container-video-item\";\r\n                case 3:\r\n                    return \"container-webinar-item\";\r\n                case 4:\r\n                    return \"container-podcast-item\";\r\n                default:\r\n                    return \"\";\r\n            }\r\n        },\r\n\r\n        /**\r\n         * Returns Gtm grid card attribute\r\n         * Case 1- blog, Case 2 - video, Case 3 - Webinar, Case 4 - Podcast\r\n         * @param {any} name\r\n         */\r\n        getGtmAuthorAttributeValue: name => {\r\n            switch (name) {\r\n            case 3:\r\n                return \"item-presenter\";\r\n            default:\r\n                return \"item-author\";\r\n            }\r\n        },\r\n\r\n        /**\r\n         * Init Function that reads all related media components and adds them to an object.\r\n         * Then initialises the items and renders them.\r\n         * */\r\n        init: async (ignoreQueryStrings = false) => {\r\n\r\n            if (!ignoreQueryStrings) {\r\n                //readQueryStringParams to see if there is an override.\r\n                veRelatedMedia.configureGridByQueryStrings();\r\n            }\r\n\r\n            $(\".ve-dynamic-related-media\").each((i, e) => {\r\n\r\n                //check if it is to be loaded on first load only\r\n                if ($(e).hasClass(\"first-load-only\")) \r\n                {\r\n                    //see if it's the first load and do not initialise.\r\n                    if (getUserPageCount() > 1) {\r\n                        $(e).parent().addClass(\"d-none\");\r\n                        return;\r\n                    }\r\n                };\r\n\r\n                //check if it is to be loaded on first load only\r\n                if ($(e).hasClass(\"not-first-load\")) \r\n                {\r\n                    //see if it's the first load and do not initialise.\r\n                    if (getUserPageCount() < 2) {\r\n                        $(e).parent().addClass(\"d-none\");\r\n                        return;\r\n                    }\r\n                };\r\n\r\n                //debugger\r\n                var relatedMediaItem = {\r\n                    id: i,\r\n                    element: e,\r\n                    category: $(e).data(\"category\") ?? \"\", \r\n                    categoryID: $(e).data(\"categoryid\") ?? \"\",\r\n                    topicalTags: $(e).data(\"topicaltags\") ?? \"\", \r\n                    contentTypeTags: $(e).data(\"contenttypetags\") ?? \"\", \r\n                    locationTags: $(e).data(\"locationtags\") ?? \"\", \r\n                    fundTags: $(e).data(\"fundtags\") ?? \"\", \r\n                    count: $(e).data(\"count\") ?? 6, \r\n                    insightsType: $(e).data(\"insightstype\") ?? \"All\",\r\n                    author: $(e).data(\"author\") ?? \"\",\r\n                    authorID: $(e).data(\"authorid\") ?? \"\",\r\n                    template: $(e).data(\"template\") ?? \"insights-grid\",\r\n                    siteContext: $(e).data(\"sitecontext\") ?? \"\",\r\n                    lang: $(e).data(\"lang\") ?? \"\",\r\n                    hasBothCategoryAndMediaType: Boolean($(e).data(\"insightstype\")) && Boolean($(e).data(\"categoryid\")) && Boolean($(e).data(\"insightstype\") != \"All\"),\r\n                    nextPage: 0\r\n                }\r\n                //debugger\r\n                veRelatedMedia.relatedMediaItems.push(relatedMediaItem);\r\n\r\n            });\r\n\r\n            veRelatedMedia.relatedMediaItems.forEach(async e => {\r\n                \r\n                $(e.element).find(\".view-more\").hide().append(`<button data-ve-gtm=\"read-more\" class=\"insights-grid__button btn btn-primary no-print\">${veDictionary.viewMore}</button>`);\r\n\r\n                //get the data\r\n                await veRelatedMedia.getData(e);\r\n\r\n                //bind the button\r\n                $(e.element).find(\".view-more .btn-primary\").click(async function () {\r\n                    $(this).attr(\"disabled\", true);\r\n                    await veRelatedMedia.getData(e)\r\n                });\r\n            })\r\n            //wait for half a ms before scrolling into view\r\n            window.setTimeout(x => veRelatedMedia.scrollIntoView(), 200);\r\n            veRelatedMedia.initialised = true;\r\n        }\r\n    /* End of veRelatedMedia */\r\n    }\r\n\r\n    veRelatedMedia.init();\r\n\r\n    $(\".insights-grid.ve-dynamic-related-media #InsightsDropdown .dropdown-item.dropdown__item\").click(function () {\r\n        var clickedCategoryID = $(this).val();\r\n        var clickedCategoryName = $(this).text();\r\n        $(\".ve-dynamic-related-media:first\").attr(\"data-categoryid\", clickedCategoryID);\r\n        $(\".ve-dynamic-related-media:first\").data(\"categoryid\", clickedCategoryID);\r\n        if (veRelatedMedia.relatedMediaItems[0].hasBothCategoryAndMediaType) {\r\n            //both category and mediatype are selected, but if a new category is switched, we flip back to all media.\r\n            $(\".ve-dynamic-related-media:first\").attr(\"data-insightstype\", \"All\");\r\n            $(\".ve-dynamic-related-media:first\").data(\"insightstype\", \"All\");\r\n            $(\"#InsightsTypeDropdown .dropdown__label\").text(veDictionary.allFormats);\r\n        }\r\n        $(\"#InsightsDropdown .dropdown__label\").text(clickedCategoryName);\r\n        veRelatedMedia.relatedMediaItems.forEach(e => {\r\n            veRelatedMedia.clearData(e);\r\n        });\r\n        veRelatedMedia.relatedMediaItems = [];\r\n        \r\n        veRelatedMedia.init(true);\r\n    });\r\n\r\n    $(\".insights-grid.ve-dynamic-related-media #InsightsTypeDropdown .dropdown-item.dropdown__item\").click(function () {\r\n        var clickedInsightType = $(this).val();\r\n        var clickedInsightName = $(this).text();\r\n        $(\".ve-dynamic-related-media:first\").attr(\"data-insightstype\", clickedInsightType);\r\n        $(\".ve-dynamic-related-media:first\").data(\"insightstype\", clickedInsightType);\r\n        $(\"#InsightsTypeDropdown .dropdown__label\").text(clickedInsightName);\r\n        veRelatedMedia.relatedMediaItems.forEach(e => {\r\n            veRelatedMedia.clearData(e);\r\n        });\r\n        veRelatedMedia.relatedMediaItems = [];\r\n        veRelatedMedia.init(true);\r\n    });\r\n\r\n})\r\n\r\nfunction convCSDate(dateString) {\r\n    if (typeof dateString != \"string\") return console.error(\"Date needs to be string!\")\r\n    var date = new Date();\r\n    try {\r\n        date = new Date(dateString.substring(0, 19)); //Cutting off the timezone offset by taking only the first 19 characters\r\n    }\r\n    catch (e) {\r\n        date = new Date(parseInt(dateString.replace(/[^0-9 +]/g, '')));\r\n    }\r\n\r\n    var year = new Intl.DateTimeFormat('en', { year: 'numeric' }).format(date);\r\n    var month = new Intl.DateTimeFormat('en', { month: 'long' }).format(date);\r\n    var day = new Intl.DateTimeFormat('en', { day: 'numeric' }).format(date);\r\n\r\n    return `${month} ${day}, ${year}`;\r\n}\r\n\r\n/**\r\n * Returns the value of a query string if available or false.\r\n * @param {any} queryString\r\n */\r\nfunction getQueryStringParam(queryString) {\r\n    const queryStrings = window.location.search.replace(\"?\",\"\").split(\"&\").map(x => x.split(\"=\"));\r\n    const results = queryStrings.find(x => x[0]?.toLowerCase() === queryString?.toLowerCase());\r\n    if(results) return results[1];\r\n    return false;\r\n}\r\n\r\n\r\nfunction getUserPageCount() {\r\n    let microsite = (document.querySelector(\"#hdnCurrentMicrositeId\"))?.value;\r\n    // AU workaround\r\n    if (!microsite) {\r\n        microsite = (document.querySelector(\"#hdnSelectedCountry\"))?.value.toLowerCase();\r\n    }\r\n    let key = \"\";\r\n    switch (microsite) {\r\n        case \"global\":\r\n            key = \"ve-PageVisitCount-corp\";\r\n            break;\r\n        case \"ucits\":\r\n            key = \"ve-PageVisitCount-eu\";\r\n            break;\r\n        case \"au\":\r\n            key = \"ve-PageVisitCount-au\";\r\n            break;\r\n        default:\r\n            key = \"ve-PageVisitCount\";\r\n            break;\r\n    }\r\n\r\n    const visits = localStorage.getItem(key);\r\n    return isNaN(visits) ? 0 : parseInt(visits);\r\n}"],"names":["getQueryStringParam","queryString","results","window","location","search","replace","split","map","x","find","toLowerCase","getUserPageCount","microsite","document","querySelector","value","key","visits","localStorage","getItem","isNaN","parseInt","$","_","length","veRelatedMedia","initialised","relatedMediaItems","endpoint","debug","shouldScrollIntoView","getData","async","console","time","relatedMediaItem","id","data","post","pageNumber","nextPage","pageSize","count","QueryFormat","insightsType","Author","authorID","Category","categoryID","TopicalTags","topicalTags","ContentTypeTags","contentTypeTags","LocationTags","locationTags","FundTags","fundTags","SiteContext","getSiteContext","siteContext","Lang","lang","timeEnd","log","drawRelatedMedia","updateDropdownStatus","Result","e","error","clearData","element","empty","removeClass","show","HasMoreItems","hide","mkGrid","formattedMessage","GridCardDetails","forEach","i","renderItem","template","currentCategory","text","trim","currentMediaType","message","veDictionary","allInsights","allFormats","noCategoriesVisit","noCategoriesAtThisTime","currentCategoy","noCategories","append","attr","item","mkimage","PostSmallImage","MediaLink","Title","getSvg","Type","description","Details","Description","mksummary","rnAuthors","authors","mkAuthors","hasauthorLink","Url","getCurrentAuthor","aOpen","getGtmAuthorAttributeValue","aClose","Name","mkcategory","getRelatedMediaType","CategoryUrl","getCurrentCategory","mkCategory","badge","Badge","liveOn","IsUpcomingWebinar","rnReadTime","readTime","FormattedTime","getGtmGridCardAttributeValue","Authors","FormattedPublishDate","Time","configureGridByQueryStrings","mediaType","category","getCategoryFromString","catString","selectedCat","toArray","matchesCategoryName","matchesNameInURL","insightsCategory","catName","catId","setCategory","setType","scrollIntoView","rmOffset","offsetTop","scrollTo","NoCategorySelected","each","catValue","catCount","FacetTerms","Categories","hasBothCategoryAndMediaType","removeAttr","updateCategories","AllTypes","RelatedMediaTypes","updateMediaTypes","MediaTypes","UnavailableMediaTypes","Object","keys","filter","MediaTypesToHide","Number","medValue","includes","hideDropdowns","currentCat","author","name","init","arguments","undefined","hasClass","parent","addClass","Boolean","push","viewMore","click","this","setTimeout","clickedCategoryID","val","clickedCategoryName","clickedInsightType","clickedInsightName"],"sourceRoot":""}