{"version":3,"file":"global.js","mappings":"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","sources":["webpack://MandG/./src/js/helpers/setActiveNavState.js","webpack://MandG/./src/js/legacy/global.js"],"sourcesContent":["export function setActiveNavState(navItemString) {\r\n\tconst navItems = document.querySelectorAll(\".header .header-items li\");\r\n\t// Check if active state exists\r\n\tif (!document.querySelector(\".header-selected\")) {\r\n\t\t// Get matching nav item\r\n\t\tconst activeNavItem = [...navItems].find((li) => li.innerText === navItemString);\r\n\t\t// If a match is found\r\n\t\tif (activeNavItem) {\r\n\t\t\tactiveNavItem.querySelector(\"a\").classList.add(\"header-selected\");\r\n\t\t}\r\n\t}\r\n}\r\n","(function () {\r\n\r\n 'use strict';\r\n\r\n $(document).ready(function () {\r\n\r\n var local_selectedInvestorTypeUrl = localStorage.selectedInvestorTypeUrl;\r\n\r\n if (typeof local_selectedInvestorTypeUrl === 'undefined') {\r\n\r\n $('.investor-type-box').removeClass('hidden');\r\n\r\n }\r\n\r\n $(document).on('click', '.dropdown-backdrop', function () {\r\n\r\n $('html').removeClass('mobile-dropdown-toggle-active');\r\n\r\n });\r\n\r\n $(document).on('click', 'html.mobile-dropdown-toggle-active', function () {\r\n\r\n $('html').removeClass('mobile-dropdown-toggle-active');\r\n\r\n });\r\n\r\n var namespace = {\r\n\r\n scrollToScrollID: function () {\r\n\r\n // Get ID from URL.\r\n var hashID = window.location.hash.substr(1),\r\n // Check for element with this data value.\r\n scrollElem = $('li[data-scroll-id=\"' + hashID + '\"]');\r\n\r\n if (scrollElem.length > 1) {\r\n\r\n // Warn of duplicate data-scroll-id's.\r\n window.console.warn('GLOBAL.JS -- Duplicate data-scroll-id\\'s found on the page. Auto-scroll did not execute.');\r\n\r\n }\r\n },\r\n\r\n numberFormattingHelper: function () {\r\n\r\n var formatFunctions = {\r\n\r\n toRandFormat: function (amount) {\r\n if (window.accounting) {\r\n return window.accounting.formatMoney(amount, 'R', 2, ',', '.');\r\n }\r\n\r\n },\r\n\r\n toRandFormatShort: function (amount) {\r\n if (window.accounting) {\r\n return window.accounting.formatMoney(amount, 'R', 0, ',', '.');\r\n }\r\n\r\n }\r\n\r\n };\r\n\r\n window.formatNumber = {};\r\n window.formatNumber = formatFunctions;\r\n\r\n },\r\n\r\n form1080submissionHandler: function () {\r\n\r\n $('#form-1080').off('submit').on('submit', function (e) {\r\n\r\n e.preventDefault();\r\n\r\n var $this = $(this),\r\n isvalidate = $('#form-1080').valid();\r\n\r\n if (isvalidate) {\r\n\r\n\r\n $.ajax({\r\n type: 'POST',\r\n url: $this.attr('action'),\r\n data: $this.serialize(),\r\n success: function (data) {\r\n\r\n $this.empty().html('

' + data + '

');\r\n\r\n }\r\n\r\n });\r\n\r\n }\r\n\r\n return false;\r\n\r\n });\r\n\r\n },\r\n\r\n investorTypeModal: function () {\r\n\r\n $('.investor-type-box #option01').on('click', 'li a', function () {\r\n\r\n var anchor = $(this),\r\n displayText = anchor.text();\r\n\r\n $('#option01 ul li').removeClass('selected');\r\n\r\n anchor.parent().addClass('selected');\r\n\r\n $('#option01 #dropdown-title').html(displayText).css({ 'color': '#2f2f2f' });\r\n\r\n });\r\n\r\n\r\n $('.investor-type-box .cookie-policy-text a').click(function (e) {\r\n\r\n e.preventDefault();\r\n\r\n var selectedInvestor = $('#option01 ul li.selected a').attr('data-url');\r\n\r\n window.location.href = selectedInvestor + 'terms-and-conditions/';\r\n\r\n });\r\n\r\n }\r\n };\r\n\r\n /*\r\n * This function will catch all form elements blur events.\r\n */\r\n $('textarea, select, option, input[type=\"text\"], input[type=\"number\"], input[type=\"email\"], input[type=\"submit\"]').off().on('blur', function () {\r\n\r\n if ($(this).val()) {\r\n\r\n window.gaTracking.sendEvent('Submit', $(this).closest('form').attr('id'), $(this).siblings('label').text(), $(this).val(), '', '');\r\n\r\n }\r\n\r\n });\r\n\r\n /*\r\n * This function will catch all the sharing links for the insights articles.\r\n */\r\n $('.article-content .share span').off().on('click', function () {\r\n\r\n // console.log($(this));\r\n\r\n window.gaTracking.sendEvent('Click', 'Market & Fund commentary', 'Share', $(this).attr('displaytext'), '', '');\r\n\r\n });\r\n\r\n /*\r\n * This function will catch all links, form elements\r\n */\r\n $('a, button, input[type=\"button\"], input[type=\"submit\"]').off().on('click', function (e) {\r\n\r\n if ($(e.target).is('input[type=\"submit\"]')) {\r\n\r\n return;\r\n // console.log('Submitting form...');\r\n\r\n }\r\n\r\n if ($(e.target).is('input[type=\"text\"], input[type=\"textarea\"]')) {\r\n\r\n // These are handled as a 'onblur' event.\r\n return;\r\n\r\n }\r\n\r\n var $this = $(this),\r\n href = (typeof ($this.attr('href')) !== 'undefined') ? $this.attr('href') : '',\r\n isThisDomain = href.match(document.domain.split('.').reverse()[1] + '.' + document.domain.split('.').reverse()[0]),\r\n filetypes = /\\.(csv|zip|exe|dmg|pdf|doc.*|xls.*|ppt.*|mp3|txt|rar|wma|mov|avi|wmv|flv|wav)$/i;\r\n\r\n\r\n // If the clicked aHref is a hash.\r\n if ($this['0'].hash === '#') {\r\n\r\n // We don't need to continue.\r\n return;\r\n\r\n }\r\n\r\n // If the clicked aHref has a hash from the light box feature...\r\n if ($this['0'].hash === '#openLightBox' || $this['0'].hash === '#closeLightBox') {\r\n\r\n // We don't need to continue.\r\n return;\r\n\r\n }\r\n\r\n // Search queries...\r\n if (e.target.id === 'SearchBtn' || e.target.id === 'footerSearchBtn') {\r\n\r\n return;\r\n\r\n }\r\n\r\n if (href.match(/#/)) {\r\n\r\n return;\r\n\r\n }\r\n\r\n if (!href.match(/^javascript:/i) || !href.match(/^#/i)) {\r\n\r\n // Define our Google Analytic Event object, where we will hold our collected info\r\n var gaEventInfo = [],\r\n hardcodedUmracoUrl = 'www.prudential.co.za';\r\n\r\n gaEventInfo.value = '';\r\n\r\n if (href.match(/^mailto:/i)) {\r\n\r\n gaEventInfo.eventtype = 'Click';\r\n gaEventInfo.category = 'ContactDetails';\r\n gaEventInfo.action = 'Moving to default mail client';\r\n gaEventInfo.label = href.replace(/^mailto:/i, '');\r\n\r\n } else if (href.match(/^tel:/i)) {\r\n\r\n gaEventInfo.eventtype = 'Click';\r\n gaEventInfo.category = 'ContactDetails';\r\n gaEventInfo.action = 'Click';\r\n gaEventInfo.label = href.replace(/^tel:/i, '');\r\n\r\n } else if (href.match(filetypes)) {\r\n\r\n // Strip out just the extension.\r\n var extension = (/[.]/.exec(href)) ? /[^.]+$/.exec(href) : undefined;\r\n\r\n gaEventInfo.eventtype = 'Download';\r\n gaEventInfo.category = href.slice(href.lastIndexOf('/')).replace(' ', '-');\r\n gaEventInfo.action = extension[0].charAt(0).toUpperCase() + extension[0].slice(1).toLowerCase() + ' Download';\r\n gaEventInfo.label = window.location.pathname;\r\n\r\n } else if (href.match(/^https?:/i) && !isThisDomain && extractHostName(href) !== hardcodedUmracoUrl) {\r\n\r\n gaEventInfo.eventtype = 'Click';\r\n gaEventInfo.label = href.replace(/^https?:\\/\\//i, '');\r\n\r\n if ((gaEventInfo.label === 'twitter.com/prudentialsa') || (gaEventInfo.label === 'www.facebook.com/prudentialinvestmentmanagers/') || (gaEventInfo.label === 'za.linkedin.com/company/prudential-portfolio-managers')) {\r\n\r\n gaEventInfo.category = 'Social';\r\n\r\n } else {\r\n\r\n gaEventInfo.category = 'ExternalLink';\r\n\r\n }\r\n\r\n gaEventInfo.action = 'Click';\r\n\r\n } else if (extractHostName(href) === hardcodedUmracoUrl) {\r\n\r\n gaEventInfo.eventtype = 'Click';\r\n gaEventInfo.category = href;\r\n gaEventInfo.action = 'Page Navigation';\r\n gaEventInfo.label = 'Internal Link';\r\n\r\n } else if ($this[0].nodeName === 'BUTTON') {\r\n\r\n if ($this[0].parentElement.className.indexOf('dropdown') > -1) {\r\n //if ($this[0].parentElement.className.includes('dropdown')) {\r\n\r\n return;\r\n\r\n }\r\n\r\n // This button belongs to the fund-picker.\r\n //if ($this[0].parentElement.className.includes('fund-picker-controls') || $this[0].innerText === 'FIND FUNDS' || $this[0].innerText === 'RESET' || $this[0].innerText === 'PRINT') {\r\n if (($this[0].parentElement.className.indexOf('fund-picker-controls') > -1) || $this[0].innerText === 'FIND FUNDS' || $this[0].innerText === 'RESET' || $this[0].innerText === 'PRINT') {\r\n\r\n gaEventInfo.category = 'FundPicker';\r\n\r\n if ($this[0].innerText === 'FIND FUNDS' || $this[0].innerText === 'RESET' || $this[0].innerText === 'PRINT') {\r\n\r\n gaEventInfo.eventtype = 'Submit';\r\n\r\n } else {\r\n\r\n gaEventInfo.eventtype = 'Click';\r\n\r\n }\r\n\r\n gaEventInfo.action = 'Click';\r\n gaEventInfo.label = $this[0].innerText;\r\n\r\n }\r\n\r\n // This button belongs to the slide shows.\r\n //if ($this[0].parentElement.className.includes('slider-menu-buttons')){\r\n if ($this[0].parentElement.className.indexOf('slider-menu-buttons') > -1) {\r\n\r\n gaEventInfo.eventtype = 'Click';\r\n gaEventInfo.action = 'Slide Change';\r\n gaEventInfo.label = $this[0].innerText;\r\n gaEventInfo.category = (href.length !== 0) ? href : window.location.pathname;\r\n }\r\n\r\n // This button belongs to the slide shows.\r\n if ($this[0].className.indexOf('up-vote') > -1) {\r\n\r\n gaEventInfo.eventtype = 'Submit';\r\n gaEventInfo.action = 'Click';\r\n gaEventInfo.label = 'Up Vote';\r\n gaEventInfo.category = 'Social';\r\n }\r\n\r\n\r\n // This button belongs to the slide shows.\r\n if ($this[0].className.indexOf('down-vote') > -1) {\r\n\r\n gaEventInfo.eventtype = 'Submit';\r\n gaEventInfo.action = 'Click';\r\n gaEventInfo.label = 'Down Vote';\r\n gaEventInfo.category = 'Social';\r\n }\r\n\r\n } else {\r\n\r\n // This is the the default page links.\r\n gaEventInfo.eventtype = 'Click';\r\n gaEventInfo.category = (href.length !== 0) ? href : window.location.pathname;\r\n gaEventInfo.action = 'Page Navigation';\r\n gaEventInfo.label = 'Internal Link';\r\n\r\n }\r\n\r\n window.gaTracking.sendEvent(\r\n gaEventInfo.eventtype,\r\n gaEventInfo.category,\r\n gaEventInfo.action,\r\n gaEventInfo.label,\r\n gaEventInfo.value,\r\n href\r\n );\r\n\r\n }\r\n // END: check for '#' & 'javascript:' hRef's.\r\n\r\n });\r\n\r\n\r\n\r\n /**\r\n * The Google GTM tracking class.\r\n * @class GATrackingClass\r\n * @method constructor\r\n */\r\n var GATrackingClass = function () {\r\n\r\n /**\r\n * Sends a Google Analytics event object in the following format:\r\n * window.dataLayer('send', 'event', [eventCategory], [eventAction], [eventLabel], [eventValue], [fieldsObject]);\r\n *\r\n * Example:\r\n *\r\n * window.dataLayer('send', {\r\n * hitType: 'event',\r\n * eventCategory: 'Videos',\r\n * eventAction: 'play',\r\n * eventLabel: 'Some Campaign'\r\n * });\r\n * @param eventType {string} The event type(e.g. 'click', 'download') required\r\n * @param eventCategory {string} Url after domain (EG: homepage > Featured fund). required\r\n * @param eventAction {string} Event Clicked element details. required\r\n * @param eventLabel {string} Value of input or name of button. required\r\n * @param eventValue {int} A numeric value associated with the event (e.g. 42) Optional\r\n * @param newURL {string} A url to navigate to if the url is done programmatically.\r\n */\r\n this.sendEvent = function (eventType, eventCategory, eventAction, eventLabel, eventValue, newURL) {\r\n\r\n if (typeof eventCategory !== 'undefined') {\r\n\r\n if (eventCategory.match(/#/)) {\r\n\r\n return;\r\n\r\n }\r\n\r\n } else {\r\n\r\n return;\r\n\r\n }\r\n\r\n // 'newURL' is an optional value, so we set it here.\r\n newURL = newURL || null;\r\n\r\n var eventCategoryFriendlyname = '';\r\n\r\n if (eventCategory !== 'FundPicker') {\r\n\r\n var eventCategoryArray = eventCategory.replace('//', '/').replace(/\\/$/, '').split('/'),\r\n i = 0;\r\n\r\n for (i; i < eventCategoryArray.length; i += 1) {\r\n\r\n if (i > 1) {\r\n\r\n eventCategoryFriendlyname += ' > ';\r\n\r\n }\r\n\r\n eventCategoryFriendlyname += eventCategoryArray[i];\r\n }\r\n\r\n }\r\n\r\n var eventObject = {\r\n event: 'custom',\r\n event_type: eventType,\r\n event_category: (eventLabel === 'External Link' || eventType === 'Download') ? eventCategory.replace('//', '/').replace(' ', '') : ((eventCategoryFriendlyname !== '') ? eventCategoryFriendlyname : eventCategory),\r\n event_action: eventAction,\r\n event_label: eventLabel,\r\n event_value: eventValue\r\n };\r\n\r\n if (eventObject.event_category !== '' || eventObject.event_category !== '#') {\r\n\r\n console.dir(eventObject);\r\n\r\n window.dataLayer = window.dataLayer || [];\r\n window.dataLayer.push(eventObject);\r\n\r\n } else {\r\n\r\n console.error('This should be a link that has functionality only for this pages DOM Objects, EG: an accordian...');\r\n\r\n }\r\n\r\n };\r\n\r\n };\r\n\r\n /**\r\n * Create a new instance of the GATrackingClass.\r\n * @type {GATrackingClass} A object containing the functionality to manipulate the Google Analytics object.\r\n */\r\n window.gaTracking = new GATrackingClass();\r\n\r\n // Namespace loader\r\n for (var i in namespace) {\r\n\r\n if (namespace[i].hasOwnProperty) {\r\n\r\n namespace[i]();\r\n\r\n }\r\n\r\n }\r\n\r\n /**\r\n *\r\n * @param url\r\n * @returns {string} hostName\r\n */\r\n function extractHostName(url) {\r\n\r\n var hostName;\r\n\r\n // Find & remove protocol (http, ftp, etc.) and get hostName\r\n if (url.indexOf(\"//\") > -1) {\r\n hostName = url.split('/')[2];\r\n } else {\r\n hostName = url.split('/')[0];\r\n }\r\n\r\n // Find & remove port number.\r\n hostName = hostName.split(':')[0];\r\n // Find & remove \"?\".\r\n hostName = hostName.split('?')[0];\r\n\r\n return hostName;\r\n\r\n }\r\n\r\n });\r\n\r\n})();\r\n\r\n$(document).ready(function () {\r\n $(\"ul.fund-details-tabs li\").click(function () {\r\n var tab_id = $(this).attr(\"data-tab\");\r\n\r\n $(\"ul.fund-details-tabs li\").removeClass(\"current\");\r\n $(\".tab-content\").removeClass(\"current\");\r\n\r\n $(this).addClass(\"current\");\r\n $(\"#\" + tab_id).addClass(\"current\");\r\n });\r\n});\r\n\r\n//Dropdown\r\n\r\nfunction DropDown(el) {\r\n this.dd = el;\r\n this.placeholder = this.dd.children(\"span\");\r\n this.opts = this.dd.find(\"ul.dropdown > li\");\r\n this.val = \"\";\r\n this.index = -1;\r\n this.initEvents();\r\n}\r\nDropDown.prototype = {\r\n initEvents: function () {\r\n var obj = this;\r\n\r\n obj.dd.on(\"click\", function (event) {\r\n $(this).toggleClass(\"active\");\r\n return false;\r\n });\r\n\r\n obj.opts.on(\"click\", function () {\r\n var opt = $(this);\r\n obj.val = opt.text();\r\n obj.index = opt.index();\r\n obj.placeholder.text(obj.val);\r\n });\r\n },\r\n getValue: function () {\r\n return this.val;\r\n },\r\n getIndex: function () {\r\n return this.index;\r\n }\r\n};\r\n\r\n\r\n/* Nav Active States */\r\n\r\nimport { setActiveNavState } from \"/src/js/helpers/setActiveNavState\"\r\ndocument.addEventListener('DOMContentLoaded', () => {\r\n const url = window.location.href\r\n if (url.includes('/invest-now/')) {\r\n return setActiveNavState('Invest with Us')\r\n }\r\n if (url.includes('/tools/')) {\r\n return setActiveNavState('Tools')\r\n }\r\n if (url.includes('/our-funds/')) {\r\n return setActiveNavState('Our Funds')\r\n }\r\n if (url.includes('/about-us/')) {\r\n return setActiveNavState('About Us')\r\n }\r\n if (url.includes('/insights/')) {\r\n return setActiveNavState('Insights')\r\n }\r\n if (url.includes('/contact-us/')) {\r\n return setActiveNavState('Contact Us')\r\n }\r\n if (url.includes('/becoming-mandg')) {\r\n return setActiveNavState('About Us')\r\n }\r\n})"],"names":["setActiveNavState","navItemString","navItems","document","querySelectorAll","querySelector","activeNavItem","find","li","innerText","classList","add","$","ready","localStorage","selectedInvestorTypeUrl","removeClass","on","namespace","scrollToScrollID","hashID","window","location","hash","substr","length","console","warn","numberFormattingHelper","formatFunctions","toRandFormat","amount","accounting","formatMoney","toRandFormatShort","formatNumber","form1080submissionHandler","off","e","preventDefault","$this","this","valid","ajax","type","url","attr","data","serialize","success","empty","html","investorTypeModal","anchor","displayText","text","parent","addClass","css","click","selectedInvestor","href","i","val","gaTracking","sendEvent","closest","siblings","target","is","isThisDomain","match","domain","split","reverse","id","gaEventInfo","hardcodedUmracoUrl","value","eventtype","category","action","label","replace","extension","exec","undefined","slice","lastIndexOf","charAt","toUpperCase","toLowerCase","pathname","extractHostName","nodeName","parentElement","className","indexOf","eventType","eventCategory","eventAction","eventLabel","eventValue","newURL","eventCategoryFriendlyname","eventCategoryArray","eventObject","event","event_type","event_category","event_action","event_label","event_value","dir","dataLayer","push","error","hasOwnProperty","tab_id","addEventListener","includes"],"sourceRoot":""}