{"version":3,"sources":["ArticleListing.js","CategoryCTASwiper.js","HealthHubHomePageTracking.js","HealthHubCategoryPageTracking.js","HealthHubArticlePageTracking.js"],"names":["THF","Interface","$","ArticleListing","options","extend","apiConfig","endPoint","pageSize","tag","currentPage","articleHomePageUrl","selectors","parentElem","tileRow","btnLoadMore","articleTile","serviceTile","pagination","paginationProgress","currentlyShowing","totalResults","$tileRow","$parentElem","$btnLoadMore","$paginationProgress","$currentlyShowing","$totalResults","catId","data","selector","setErrorState","bool","addClass","html","removeClass","fetchPage","pageNumber","loadMoreButtonClicked","apiUrl","encodeURIComponent","ajax","type","crossDomain","dataType","url","done","response","items","forEach","obj","articleObj","tagLink","imgBlock","tileMarkup","image_lg","image_xs","image_alt","title","description","author","image_url","name","link","navigationInNewTab","tileBackgroundColour","icon","text","buttonStyle","serviceTileNavigation","link_text","buttonIcon","window","Obj","append","children","delay","fadeIn","loaded","total","css","$serviceTiles","length","each","this","find","click","e","dataLayer","push","event","pagePath","attr","$articleTiles","not","loadedMessage","results","fail","jqXHR","textStatus","errorThrown","jQuery","w","CategoryCTASwiper","swiper","detect","prototype","Swiper","direction","loop","spaceBetween","slidesPerView","allowTouchMove","breakpoints","767","navigation","nextEl","prevEl","HealthHubHomePageTracking","articleTilePrimary","categoriesCtas","categoryTile","articleFeatureTile","articleTilePrimaryButton","categoryTiles","articleFeatureTileButtons","serviceTileButtons","version","HealthHubCategoryPageTracking","categoryCTAs","HealthHubArticlePageTracking","console","log","relatedArticles","articleTiles","serviceTiles"],"mappings":"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","file":"health-hub.min.js","sourcesContent":["\r\nvar THF = THF || {};\r\nTHF.Interface = THF.Interface || {};\r\n(function ($, jQuery) {\r\n 'use strict';\r\n\r\n THF.Interface.ArticleListing = function (options) {\r\n\r\n var defaults = {\r\n\r\n apiConfig: {\r\n endPoint: '/api/v1/health-hub/articles/',\r\n pageSize: 9,\r\n tag: ''\r\n },\r\n\r\n currentPage: 0,\r\n articleHomePageUrl: \"\",\r\n selectors: {\r\n //Module Parent\r\n parentElem: '.category-article-list',\r\n tileRow: '.tile-container-row',\r\n btnLoadMore: '.btn-load-more',\r\n\r\n articleTile: '.article-tile-featured',\r\n serviceTile: '.hh-service-tile',\r\n\r\n pagination: '.pagination',\r\n paginationProgress: '.pagination-process-bar .inner',\r\n currentlyShowing: '.pagination .currently-showing',\r\n totalResults: '.pagination .total-results'\r\n },\r\n\r\n };\r\n\r\n options = $.extend(true, {}, defaults, options);\r\n\r\n\r\n /**********************************\r\n // Declare DOM elements\r\n **********************************/\r\n var parentElem = $(options.selectors.parentElem);\r\n var $tileRow = $parentElem(options.selectors.tileRow);\r\n var $btnLoadMore = $parentElem(options.selectors.btnLoadMore);\r\n\r\n var $pagination = $parentElem(options.selectors.pagination);\r\n var $paginationProgress = $parentElem(options.selectors.paginationProgress);\r\n var $currentlyShowing = $parentElem(options.selectors.currentlyShowing);\r\n var $totalResults = $parentElem(options.selectors.totalResults);\r\n\r\n var catId = parentElem.data('category-id');\r\n\r\n\r\n /**********************************\r\n // Helper function to return a jQuery object, which is a child of 'parentElem'\r\n **********************************/\r\n function $parentElem(selector) {\r\n return $(options.selectors.parentElem + ' ' + selector);\r\n }\r\n\r\n /**********************************\r\n // Template Generators\r\n **********************************/\r\n function getArticleTile(articleObj) {\r\n var imgBlock = '';\r\n if (articleObj.image_lg) {\r\n var tagLink = `${options.articleHomePageUrl}?tag=${articleObj.tag}`;\r\n imgBlock =\r\n '
\\n' +\r\n ' \\n' +\r\n ' \\n' +\r\n ' \"'\\n' +\r\n ' \\n' +\r\n ' ' + articleObj.tag + ' \\n' +\r\n '
\\n';\r\n }\r\n\r\n var articleTile =\r\n '
\\n' +\r\n '
\\n' +\r\n imgBlock +\r\n '
\\n' +\r\n '

' + articleObj.title + '

\\n' +\r\n '

' + articleObj.description + '

\\n' +\r\n ' \\n' +\r\n '
\\n' +\r\n '
\\n' +\r\n ' \\n' +\r\n '
';\r\n\r\n return articleTile;\r\n }\r\n\r\n function getServiceTile(articleObj) { \r\n var serviceTile =\r\n '
\\n' +\r\n '
\\n' +\r\n '
\\n' +\r\n ' ' + articleObj.icon + ' \\n' +\r\n '

' + articleObj.text + '

\\n' +\r\n '
\\n' +\r\n '
\\n' +\r\n '

' + articleObj.title + '

\\n' +\r\n '

' + articleObj.description + '

\\n' +\r\n ' \\n' +\r\n ' ' + articleObj.link_text + '' +\r\n ' ' + articleObj.buttonIcon + '\\n' +\r\n ' \\n' +\r\n '
\\n' +\r\n '
\\n' +\r\n\r\n '
';\r\n\r\n return serviceTile;\r\n }\r\n\r\n /**********************************\r\n // State Management\r\n **********************************/\r\n function setErrorState(bool) {\r\n\r\n if (bool === true) {\r\n parentElem.addClass('error-occurred');\r\n $btnLoadMore.html('Try again?');\r\n } else {\r\n parentElem.removeClass('error-occurred');\r\n $btnLoadMore.html('Load More');\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n function updatePagination(loaded, total) {\r\n var percentageLoaded = (loaded / total * 100) + '%';\r\n $paginationProgress.css('width', percentageLoaded);\r\n $currentlyShowing.html(loaded);\r\n $totalResults.html(total);\r\n\r\n if (loaded === total) {\r\n $btnLoadMore.addClass('disabled');\r\n }\r\n }\r\n\r\n\r\n /**********************************\r\n // API methods\r\n **********************************/\r\n function buildApiUrl(catId, pageSize, pageNumber) {\r\n var apiUrl = options.apiConfig.endPoint + catId + '/page?pageSize=' + pageSize + '&page=' + pageNumber + '&tag=' + encodeURIComponent(options.apiConfig.tag);\r\n return apiUrl;\r\n }\r\n\r\n\r\n function fetchPage(pageNumber, loadMoreButtonClicked) {\r\n var apiUrl = buildApiUrl(catId, options.apiConfig.pageSize, pageNumber);\r\n $.ajax({\r\n type: 'GET',\r\n crossDomain: true,\r\n dataType: 'JSON',\r\n url: apiUrl,\r\n })\r\n .done(function (response) {\r\n appendPage(response.items);\r\n setErrorState(false);\r\n updatePagination(response.loaded, response.total);\r\n initCategoryArticleListTracking();\r\n\r\n // Track only when 'Load More' button is clicked\r\n if (loadMoreButtonClicked) {\r\n initLoadMoreTracking(response.loaded, response.total);\r\n }\r\n \r\n })\r\n\r\n .fail(function (jqXHR, textStatus, errorThrown) {\r\n setErrorState(true);\r\n });\r\n }\r\n\r\n /**********************************\r\n // Rendering\r\n **********************************/\r\n function appendPage(pageItems) {\r\n pageItems.forEach(function (obj) {\r\n var tileMarkup = null;\r\n\r\n if (obj.type === 'article-tile') {\r\n tileMarkup = getArticleTile(obj)\r\n } else if (obj.type === 'service-tile') {\r\n tileMarkup = getServiceTile(obj);\r\n window.Obj = obj;\r\n }\r\n\r\n $tileRow\r\n .append(tileMarkup)\r\n .children()\r\n .delay(150)\r\n .fadeIn(350);\r\n });\r\n\r\n //Increase the page count\r\n options.currentPage++;\r\n\r\n }\r\n\r\n /**********************************\r\n // Event binding\r\n **********************************/\r\n function bindEvents() {\r\n $btnLoadMore.click(function (e) {\r\n fetchPage(options.currentPage + 1, true);\r\n });\r\n\r\n\r\n }\r\n\r\n\r\n /**********************************\r\n // Load More Button Tracking\r\n **********************************/\r\n function initLoadMoreTracking(loaded, total) {\r\n if (total > 0) {\r\n var loadedMessage = loaded + ' of ' + total + ' results';\r\n //console.log(loadedMessage);\r\n window.dataLayer = window.dataLayer || [];\r\n window.dataLayer.push({\r\n 'event': 'showMore',\r\n 'results': loadedMessage\r\n });\r\n }\r\n }\r\n\r\n\r\n /**********************************\r\n // Category Article List Tracking\r\n **********************************/\r\n function initCategoryArticleListTracking() {\r\n\r\n // Find service Tile \r\n var $serviceTiles = $('.category-article-list .hh-service-tile');\r\n if ($serviceTiles.length > 0) {\r\n $serviceTiles.each(function () {\r\n var current = $(this);\r\n /* Find Service Tile that has not binded to click event */\r\n var serviceTileButton = current.find('a:not(.bound)');\r\n\r\n /* Add bound class once the click event is binded to it serviceTileButton */\r\n serviceTileButton.addClass('bound').click(function (e) {\r\n //e.preventDefault();\r\n //console.log('Category Landing Page >> Service Tile clicked.');\r\n //console.log($(this).attr('href'));\r\n window.dataLayer = window.dataLayer || [];\r\n window.dataLayer.push({\r\n 'event': 'categoryMainCard',\r\n 'type': 'Service',\r\n 'pagePath': $(this).attr('href')\r\n });\r\n });\r\n });\r\n }\r\n\r\n // Find service Tile \r\n var $articleTiles = $('.category-article-list .article-tile-featured');\r\n if ($articleTiles.length > 0) {\r\n $articleTiles.each(function () {\r\n /* Find article tile that has not binded to click event */\r\n var articleTileButton = $(this).not('.bound');\r\n\r\n /* Add bound class once the click event is binded to it serviceTileButton */\r\n articleTileButton.addClass('bound').click(function (e) {\r\n //e.preventDefault();\r\n //console.log('Category Landing Page >> Article Tile clicked.');\r\n //console.log($(this).attr('href'));\r\n window.dataLayer = window.dataLayer || [];\r\n window.dataLayer.push({\r\n 'event': 'categoryMainCard',\r\n 'type': 'Article',\r\n 'pagePath': $(this).attr('href')\r\n });\r\n\r\n });\r\n });\r\n }\r\n }\r\n\r\n /**********************************\r\n // Simple constructor\r\n **********************************/\r\n function __construct() {\r\n\r\n // Init\r\n if (parentElem.length > 0) {\r\n fetchPage(1, false);\r\n bindEvents();\r\n }\r\n }\r\n\r\n __construct();\r\n\r\n\r\n //\r\n // Make some events accessible from global scope\r\n //\r\n return {\r\n\r\n };\r\n };\r\n\r\n\r\n})(jQuery, jQuery);\r\n\r\n\r\n","(function($, w, undefined) {\r\n\r\n function CategoryCTASwiper() {\r\n this.swiper;\r\n this.detect();\r\n }\r\n\r\n CategoryCTASwiper.prototype.detect = function() {\r\n this.swiper = new Swiper ('.categories-ctas .swiper-container', {\r\n // Optional parameters\r\n direction: 'horizontal',\r\n loop: false,\r\n spaceBetween: 24,\r\n slidesPerView: 3,\r\n allowTouchMove: false,\r\n\r\n breakpoints: {\r\n 767: {\r\n slidesPerView: 1,\r\n spaceBetween: 14,\r\n allowTouchMove: true\r\n }\r\n },\r\n\r\n // Navigation arrows\r\n navigation: {\r\n nextEl: '.swiper-button-next',\r\n prevEl: '.swiper-button-prev'\r\n }\r\n })\r\n };\r\n\r\n w.THF = w.THF || {};\r\n w.THF.Interface = w.THF.Interface || {};\r\n w.THF.Interface.CategoryCTASwiper = new CategoryCTASwiper();\r\n})(jQuery, window);","var THF = THF || {};\r\nTHF.Interface = THF.Interface || {};\r\n\r\n(function ($, jQuery) {\r\n 'use strict';\r\n\r\n THF.Interface.HealthHubHomePageTracking = function (options) {\r\n\r\n var defaults = {\r\n\r\n selectors: {\r\n parentElem: '.health-hub-home',\r\n articleTilePrimary: '.article-tile-primary',\r\n categoriesCtas: '.categories-ctas',\r\n categoryTile: '.category-tile',\r\n articleFeatureTile: '.article-tile-featured',\r\n serviceTile: '.hh-service-tile'\r\n }\r\n };\r\n\r\n options = $.extend(true, {}, defaults, options);\r\n\r\n\r\n /**********************************\r\n // Declare DOM elements\r\n **********************************/\r\n var parentElem = $(options.selectors.parentElem);\r\n var articleTilePrimary = $parentElem(options.selectors.articleTilePrimary);\r\n var articleTilePrimaryButton = articleTilePrimary.find('a');\r\n\r\n var categoriesCtas = $parentElem(options.selectors.categoriesCtas);\r\n var categoryTiles = categoriesCtas.find(options.selectors.categoryTile);\r\n\r\n var articleFeatureTiles = $parentElem(options.selectors.articleFeatureTile);\r\n var articleFeatureTileButtons = articleFeatureTiles.find('a');\r\n\r\n var serviceTiles = $parentElem(options.selectors.serviceTile);\r\n var serviceTileButtons = serviceTiles.find('a');\r\n\r\n /**********************************\r\n // Helper function to return a jQuery object, which is a child of 'parentElem'\r\n **********************************/\r\n function $parentElem(selector) {\r\n return $(options.selectors.parentElem + ' ' + selector);\r\n }\r\n\r\n\r\n /**********************************\r\n // Event binding\r\n **********************************/\r\n function bindEvents() {\r\n\r\n /* Home Page Primary Article Tile */\r\n articleTilePrimaryButton.click(function (e) {\r\n //e.preventDefault();\r\n //console.log('Home Page >> Single Primary Article Tile clicked.');\r\n //console.log('pagePath: ' + $(this).attr('href'));\r\n window.dataLayer = window.dataLayer || [];\r\n window.dataLayer.push({\r\n 'event': 'landingMainCard',\r\n 'type': 'Article',\r\n 'version': 'Spotlight',\r\n 'pagePath': $(this).attr('href')\r\n });\r\n });\r\n\r\n /* Home Page >> Feature Article Tile */\r\n articleFeatureTileButtons.each(function () {\r\n var articleFeatureTileButton = $(this);\r\n articleFeatureTileButton.click(function (e) {\r\n //e.preventDefault();\r\n //console.log('Home Page >> Feature Article Tile clicked.');\r\n //console.log('pagePath: ' + $(this).attr('href'));\r\n window.dataLayer = window.dataLayer || [];\r\n window.dataLayer.push({\r\n 'event': 'landingMainCard',\r\n 'type': 'Article',\r\n 'version': 'Card',\r\n 'pagePath': $(this).attr('href')\r\n });\r\n });\r\n });\r\n\r\n /* Home Page >> Service Tile */\r\n serviceTileButtons.each(function () {\r\n var serviceTileButton = $(this);\r\n serviceTileButton.click(function (e) {\r\n //e.preventDefault();\r\n //console.log('Home Page >> Service Tile clicked.');\r\n //console.log('pagePath: ' + $(this).attr('href'));\r\n window.dataLayer = window.dataLayer || [];\r\n window.dataLayer.push({\r\n 'event': 'landingMainCard',\r\n 'type': 'Service Tile',\r\n 'version': 'Card',\r\n 'pagePath': $(this).attr('href')\r\n });\r\n });\r\n });\r\n\r\n\r\n /* Home Page Category Tiles : Browse More Categories */\r\n categoryTiles.each(function () {\r\n var categoryTile = $(this);\r\n var categoryTileBrowseButton = categoryTile.find('a');\r\n categoryTileBrowseButton.click(function (e) {\r\n //e.preventDefault();\r\n //console.log('Home Page >> Browse More Articles >> Category Tile clicked.');\r\n //console.log('pagePath: ' + $(this).attr('href'));\r\n window.dataLayer = window.dataLayer || [];\r\n window.dataLayer.push({\r\n 'event': 'LandingBrowseMoreCard',\r\n 'type': 'Category',\r\n 'pagePath': $(this).attr('href')\r\n });\r\n });\r\n });\r\n }\r\n\r\n /**********************************\r\n // Simple constructor\r\n **********************************/\r\n function __construct() {\r\n\r\n // Init\r\n if (parentElem.length > 0) {\r\n bindEvents();\r\n }\r\n }\r\n\r\n __construct();\r\n\r\n\r\n //\r\n // Make some events accessible from global scope\r\n //\r\n return {\r\n\r\n };\r\n };\r\n})(jQuery, jQuery)","var THF = THF || {};\r\nTHF.Interface = THF.Interface || {};\r\n\r\n(function ($, jQuery) {\r\n 'use strict';\r\n\r\n THF.Interface.HealthHubCategoryPageTracking = function (options) {\r\n\r\n var defaults = {\r\n\r\n selectors: {\r\n parentElem: '.health-hub-category',\r\n categoryCTAs: '.categories-ctas',\r\n categoryTiles: '.category-tile',\r\n serviceTile: '.hh-service-tile'\r\n }\r\n };\r\n\r\n options = $.extend(true, {}, defaults, options);\r\n\r\n\r\n /**********************************\r\n // Declare DOM elements\r\n **********************************/\r\n var parentElem = $(options.selectors.parentElem);\r\n var categoryCTAs = $parentElem(options.selectors.categoryCTAs);\r\n var categoryTiles = categoryCTAs.find(options.selectors.categoryTiles);\r\n var serviceTile = categoryCTAs.find(options.selectors.serviceTile);\r\n\r\n\r\n\r\n /**********************************\r\n // Helper function to return a jQuery object, which is a child of 'parentElem'\r\n **********************************/\r\n function $parentElem(selector) {\r\n return $(options.selectors.parentElem + ' ' + selector);\r\n }\r\n\r\n\r\n /**********************************\r\n // Event binding\r\n **********************************/\r\n function bindEvents() {\r\n\r\n /* Category Page: Article Tiles in the 'Browser more articles' */\r\n categoryTiles.each(function () {\r\n var categoryTile = $(this);\r\n var categoryTileButton = categoryTile.find('a');\r\n\r\n categoryTileButton.click(function (e) {\r\n //e.preventDefault();\r\n //console.log('Category Page >> Browse More Articles >> Category Tile Clicked.');\r\n //console.log($(this).attr('href'));\r\n window.dataLayer = window.dataLayer || [];\r\n window.dataLayer.push({\r\n 'event': 'categoryBrowseMoreCard',\r\n 'type': 'Category',\r\n 'pagePath': $(this).attr('href')\r\n });\r\n });\r\n });\r\n\r\n /* Category Page: Single Service Tile in the 'Browse more articles as last item' */\r\n var serviceTileButton = serviceTile.find('a');\r\n serviceTileButton.click(function (e) {\r\n //e.preventDefault();\r\n //console.log('Category Page >> Browser More Articles >> Service Tile or Contact Us Clicked.');\r\n //console.log($(this).attr('href'));\r\n window.dataLayer = window.dataLayer || [];\r\n window.dataLayer.push({\r\n 'event': 'categoryBrowseMoreCard',\r\n 'type': 'Contact',\r\n 'pagePath': $(this).attr('href')\r\n });\r\n });\r\n }\r\n\r\n /**********************************\r\n // Simple constructor\r\n **********************************/\r\n function __construct() {\r\n\r\n // Init\r\n if (parentElem.length > 0) {\r\n bindEvents();\r\n }\r\n }\r\n\r\n __construct();\r\n\r\n\r\n //\r\n // Make some events accessible from global scope\r\n //\r\n return {\r\n\r\n };\r\n };\r\n})(jQuery, jQuery)","var THF = THF || {};\r\nTHF.Interface = THF.Interface || {};\r\n\r\n(function ($, jQuery) {\r\n 'use strict';\r\n\r\n THF.Interface.HealthHubArticlePageTracking = function (options) {\r\n console.log('article page loaded');\r\n var defaults = {\r\n\r\n selectors: {\r\n parentElem: '.health-hub-article',\r\n relatedArticles: '.related-articles',\r\n articleTiles: '.article-tile-featured',\r\n serviceTiles: '.hh-service-tile'\r\n }\r\n };\r\n\r\n options = $.extend(true, {}, defaults, options);\r\n\r\n\r\n /**********************************\r\n // Declare DOM elements\r\n **********************************/\r\n var parentElem = $(options.selectors.parentElem);\r\n var relatedArticles = $parentElem(options.selectors.relatedArticles);\r\n var articleTiles = relatedArticles.find(options.selectors.articleTiles);\r\n var serviceTiles = relatedArticles.find(options.selectors.serviceTiles);\r\n\r\n\r\n /**********************************\r\n // Helper function to return a jQuery object, which is a child of 'parentElem'\r\n **********************************/\r\n function $parentElem(selector) {\r\n return $(options.selectors.parentElem + ' ' + selector);\r\n }\r\n\r\n\r\n /**********************************\r\n // Event binding\r\n **********************************/\r\n function bindEvents() {\r\n\r\n /* Article Page >> Related Articles >> Article Tiles */\r\n if (articleTiles.length > 0) {\r\n articleTiles.each(function () {\r\n var articleTileButton = $(this).find('a');\r\n articleTileButton.click(function (e) {\r\n //e.preventDefault();\r\n //console.log('Article Page >> Related Articles >> Article Tile clicked.');\r\n //console.log($(this).attr('href'));\r\n window.dataLayer = window.dataLayer || [];\r\n window.dataLayer.push({\r\n 'event': 'articleRelatedArticleCard',\r\n 'type': 'Article',\r\n 'pagePath': $(this).attr('href')\r\n });\r\n });\r\n });\r\n }\r\n\r\n\r\n /* Article Page >> Related Articles >> Service Tiles */\r\n if (serviceTiles.length > 0) {\r\n serviceTiles.each(function () {\r\n var serviceTileButton = $(this).find('a');\r\n serviceTileButton.click(function (e) {\r\n //e.preventDefault();\r\n //console.log('Article Page >> Related Articles >> Service Tile clicked.');\r\n //console.log($(this).attr('href'));\r\n window.dataLayer = window.dataLayer || [];\r\n window.dataLayer.push({\r\n 'event': 'articleRelatedArticleCard',\r\n 'type': 'Service',\r\n 'pagePath': $(this).attr('href')\r\n });\r\n });\r\n });\r\n }\r\n }\r\n\r\n /**********************************\r\n // Simple constructor\r\n **********************************/\r\n function __construct() {\r\n\r\n // Init\r\n if (parentElem.length > 0) {\r\n bindEvents();\r\n }\r\n }\r\n\r\n __construct();\r\n\r\n\r\n //\r\n // Make some events accessible from global scope\r\n //\r\n return {\r\n\r\n };\r\n };\r\n})(jQuery, jQuery)"]}