{"version":3,"sources":["analytics.js"],"names":["trackAjaxEvents","document","location","host","indexOf","domain","$","ajaxSuccess","evt","request","settings","fullUrl","url","test","replace","excludeQueryString","googleAnalytics","sendAjaxEvent","err","trackPageChange","e","gaPageHelper","setCurrentPage","substring","getHostName","hostName","protocol","protocalLength","length","getPreviousPage","previousPage","oldURL","previousUrl","previousHostName","_gaq","hostname","tenantName","currentUrl","undefined","loadingStartTime","getUrl","urlPart","pathname","hash","search","params","r","RegExp","m","exec","queryString","loadCompleted","setTimeout","pageloadTimeMs","Math","abs","Date","sendNavigationEvent","sendPageView","sendPageLoadTime","gtag","window","dataLayer","push","arguments","getCurrentPageTitle","title","split","trim","isInitialized","init","appFeatureSwitches","googleAnalyticsMeasurementId","script","createElement","src","async","scripts","getElementsByTagName","parentNode","insertBefore","head","appendChild","anonymize_ip","allow_google_signals","allow_ad_personalization_signals","restricted_data_processing","custom_map","dimension1","dimension2","dimension3","dimension4","ad_storage","console","log","nextPage","event_label","event_category","value","Domain","Tenant","loadTime","name","urlInfo","page_title","page_location","page_path","send_to","Params","sendPageProvidedSectionOfThePage","sectionName","PageProvidedSectionOfThePage","googleAnalyticsSamplingRate","parseInt","isNaN","min","urlParts","onhashchange"],"mappings":"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","file":"analytics.js","sourcesContent":["var _gaq = _gaq || []; // backward compatibility for other modules\r\n\r\nvar domain = 'acclipse.com';\r\n\r\ntry {\r\n domain = document.location.hostname.substring(document.location.hostname.indexOf('.') + 1);\r\n\r\n} catch (e) {}\r\n\r\nvar tenantName;\r\ntry {\r\n tenantName = document.location.hostname.replace(domain, '');\r\n} catch (e) { }\r\n\r\nvar gaPageHelper = (function () {\r\n var currentUrl = undefined;\r\n var loadingStartTime = undefined; \r\n\r\n return {\r\n getUrl: function () {\r\n var urlPart = location.pathname + location.hash + location.search;\r\n var params = undefined;\r\n if (urlPart.indexOf('?') != -1) {\r\n params = urlPart.substring(urlPart.indexOf('?') + 1);\r\n urlPart = urlPart.substring(0, (urlPart.indexOf('?') - 1));\r\n\r\n var r = new RegExp('mode=([A-Za-z0-9_]+)', 'i');\r\n var m = r.exec(params);\r\n if (m != null) {\r\n urlPart += \"/\" + m[1];\r\n }\r\n }\r\n\r\n return { url: urlPart, queryString: params };\r\n },\r\n loadCompleted: function () {\r\n setTimeout(function () {\r\n var pageloadTimeMs = Math.abs((new Date() - loadingStartTime));\r\n googleAnalytics.sendNavigationEvent(currentUrl);\r\n googleAnalytics.sendPageView(currentUrl);\r\n googleAnalytics.sendPageLoadTime(pageloadTimeMs);\r\n }, 0);\r\n \r\n },\r\n setCurrentPage: function (evt) {\r\n try {\r\n loadingStartTime = new Date();\r\n var url = location.pathname + location.hash\r\n currentUrl = excludeQueryString(url);\r\n } catch (e) { }\r\n }\r\n }\r\n})();\r\n\r\nvar googleAnalytics = (function () {\r\n\r\n var isInitialized = function () {\r\n return typeof (window.dataLayer) !== \"undefined\"\r\n };\r\n \r\n function gtag() {\r\n window.dataLayer = window.dataLayer || [];\r\n window.dataLayer.push(arguments);\r\n }\r\n\r\n function getCurrentPageTitle() {\r\n return (document.title && document.title.indexOf('|') < document.title.length ? document.title.split('|')[0].trim() : document.title);\r\n }\r\n\r\n return {\r\n init: function () {\r\n if (!isInitialized() && appFeatureSwitches.googleAnalyticsMeasurementId) {\r\n try {\r\n var script = document.createElement('script');\r\n script.src = 'https://www.googletagmanager.com/gtag/js?id=' + appFeatureSwitches.googleAnalyticsMeasurementId;\r\n script.async = true;\r\n var scripts = document.getElementsByTagName('script');\r\n if (scripts && scripts.length && scripts.length > 0) {\r\n scripts[0].parentNode.insertBefore(script, scripts[0]);\r\n } else {\r\n document.head.appendChild(script);\r\n }\r\n \r\n gtag('js', new Date());\r\n gtag('config', appFeatureSwitches.googleAnalyticsMeasurementId, {\r\n 'anonymize_ip': true,\r\n 'allow_google_signals': false,\r\n 'allow_ad_personalization_signals': false,\r\n 'restricted_data_processing': true,\r\n 'custom_map': {\r\n 'dimension1': 'Domain',\r\n 'dimension2': 'Tenant',\r\n 'dimension3': 'Params',\r\n 'dimension4': 'PageProvidedSectionOfThePage'\r\n }\r\n });\r\n\r\n gtag('consent', 'default', {\r\n 'ad_storage': 'denied'\r\n });\r\n\r\n } catch (e) {\r\n console.log(\"Google Analytics Initialization failed\");\r\n }\r\n }\r\n },\r\n\r\n sendNavigationEvent: function (nextPage) {\r\n if (isInitialized()) {\r\n gtag('event', 'navigate_to_page', {\r\n 'event_label': nextPage,\r\n 'event_category': 'ajax',\r\n 'value': 1,\r\n 'Domain': domain,\r\n 'Tenant': tenantName,\r\n });\r\n }\r\n },\r\n\r\n sendAjaxEvent: function (fullUrl) {\r\n if (isInitialized()) {\r\n gtag('event', 'ajax_request_completed', {\r\n 'event_label': fullUrl,\r\n 'event_category': 'ajax',\r\n 'value': 3,\r\n 'Domain': domain,\r\n 'Tenant': tenantName,\r\n });\r\n }\r\n },\r\n\r\n sendPageLoadTime: function (loadTime) {\r\n if (isInitialized()) {\r\n gtag('event', 'timing_complete', {\r\n 'name': 'load',\r\n 'value': loadTime,\r\n 'event_category': 'JS Dependencies',\r\n 'Domain': domain,\r\n 'Tenant': tenantName,\r\n });\r\n }\r\n },\r\n sendPageView: function (url) {\r\n if (isInitialized() && url) {\r\n var urlInfo = gaPageHelper.getUrl();\r\n url = url.replace(\"/#/\", \"/\");\r\n gtag('event', 'page_view', {\r\n 'page_title': getCurrentPageTitle(),\r\n 'page_location': url,\r\n 'page_path': url,\r\n 'send_to': appFeatureSwitches.googleAnalyticsMeasurementId,\r\n 'Domain': domain,\r\n 'Tenant': tenantName,\r\n 'Params': urlInfo && urlInfo.queryString ? urlInfo.queryString : 'undefined'\r\n });\r\n }\r\n },\r\n\r\n sendPageProvidedSectionOfThePage: function (sectionName) {\r\n if (isInitialized()) {\r\n var urlInfo = gaPageHelper.getUrl();\r\n var url = urlInfo.url.replace(\"/#/\", \"/\");\r\n gtag('event', 'page_view', {\r\n 'page_title': getCurrentPageTitle(),\r\n 'page_location': url,\r\n 'page_path': url,\r\n 'send_to': appFeatureSwitches.googleAnalyticsMeasurementId,\r\n 'PageProvidedSectionOfThePage': sectionName\r\n });\r\n }\r\n },\r\n };\r\n})();\r\n\r\nif (document.location.host.indexOf(domain) && appFeatureSwitches.googleAnalyticsMeasurementId) {\r\n //Initialize google analytics add it as first script in header.\r\n\r\n appFeatureSwitches.googleAnalyticsSamplingRate = parseInt(appFeatureSwitches.googleAnalyticsSamplingRate);\r\n if (isNaN(appFeatureSwitches.googleAnalyticsSamplingRate)) {\r\n appFeatureSwitches.googleAnalyticsSamplingRate = 100;\r\n }\r\n\r\n appFeatureSwitches.googleAnalyticsSamplingRate = Math.min(Math.abs(appFeatureSwitches.googleAnalyticsSamplingRate), 100);\r\n\r\n googleAnalytics.init();\r\n var urlParts = gaPageHelper.getUrl();\r\n\r\n googleAnalytics.sendPageView(urlParts.url);\r\n window.onhashchange = trackPageChange;\r\n}\r\n\r\nfunction trackAjaxEvents() {\r\n\r\n if (document.location.host.indexOf(domain)) {\r\n $(document).ajaxSuccess(function (evt, request, settings) {\r\n try {\r\n\r\n var fullUrl = settings.url;\r\n\r\n if (/IsLoggedOn/.test(settings.url) || /breadcrumbs-get.php/.test(settings.url) || /ActionList/.test(settings.url)) {\r\n return;\r\n }\r\n\r\n //Strip out version...\r\n fullUrl = fullUrl.replace(/-\\d+./, '.');\r\n fullUrl = excludeQueryString(fullUrl);\r\n\r\n if (/.tpl/.test(settings.url)) {\r\n //Ignore templates\r\n return;\r\n }\r\n\r\n if (/.js/.test(settings.url)) {\r\n //Ignore javascript\r\n return;\r\n }\r\n\r\n googleAnalytics.sendAjaxEvent(fullUrl);\r\n \r\n } catch (err) { }\r\n });\r\n }\r\n}\r\n\r\nfunction trackPageChange(e) {\r\n gaPageHelper.setCurrentPage(e);\r\n};\r\n\r\nfunction excludeQueryString(fullUrl) {\r\n if (fullUrl && fullUrl.indexOf('?') != -1) {\r\n fullUrl = fullUrl.substring(0, fullUrl.indexOf('?'));\r\n }\r\n\r\n return fullUrl;\r\n};\r\n\r\nfunction getHostName(url) {\r\n\r\n var hostName = null;\r\n var protocol = location.protocol;\r\n var protocalLength = protocol.length + 2;\r\n if (url && url.length > protocalLength) {\r\n url = url.substring(protocalLength);\r\n }\r\n\r\n if (url) {\r\n hostName = url.substring(0, url.indexOf(\"/\"));\r\n }\r\n\r\n return hostName;\r\n}\r\n\r\nfunction getPreviousPage(e) {\r\n var previousPage = null;\r\n if (e && e.oldURL) {\r\n var scheme = location.protocol;\r\n var previousUrl = excludeQueryString(e.oldURL);\r\n var previousHostName = getHostName(previousUrl);\r\n if (previousHostName && previousUrl && previousUrl.indexOf(previousHostName) != -1) {\r\n previousPage = previousUrl.substring(previousUrl.indexOf(previousHostName) + previousHostName.length);\r\n }\r\n }\r\n\r\n return previousPage;\r\n}"]}