{"version":3,"file":"consumer-9d5ee775.js","sources":["../../../../app/frontend/components/consumer/components/content-tracking/index.js"],"sourcesContent":["// This is currently not being used, but I'm leaving it in the repo because I think Solv may want to use it in the future. 2/10/2023 -Alan\n\nimport { trackSegmentEvent } from '~/components/shared/tracking/segmentAnalytics';\nimport { createIntersectionObsv } from \"../../../shared/utilities\";\n\nfunction b2cSegmentDataHelper() {\n  const dataset = document.body.dataset;\n  const width = window.innerWidth\n  const isMobile = width < 769\n  const datePublished = dataset.articlePublished;\n  const dateUpdated = dataset.articleUpdated;\n  const contentCategory = dataset.contentCategory;\n  const hasImage = dataset.articleImage === 'true';\n  const wordCount = parseInt(dataset.articleWordCount);\n  const author = dataset.articleAuthor;\n  const specialty = dataset.articleSpecialty;\n  const articleTitle = dataset.articleTitle;\n\n  const getPageAndCategory = () => {\n    const action = dataset.action;\n    const controller = dataset.controller;\n    const result = {\n      pageType: 'index',\n      contentType: 'blog'\n    };\n\n    // determine PageType\n    if (action.indexOf('show') > -1) {\n      result.pageType = 'article';\n    } else if (action.indexOf('category') > -1) {\n      result.pageType = 'category'\n    }\n\n    // determine Category Type\n    if (controller === 'b2c-health_library') {\n      result.contentType = \"health a-z\"\n    }\n\n    return result;\n  }\n\n  const { pageType, contentType } = getPageAndCategory();\n\n  return {\n    \"isMobile\": isMobile,\n    \"page_type\": pageType,\n    \"content_category\": contentCategory,\n    \"content_type\": contentType,\n    \"date_published\": datePublished,\n    \"date_updated\": dateUpdated,\n    \"image\": hasImage,\n    \"word_count\": wordCount,\n    \"author\": author,\n    \"specialty\": specialty,\n    \"article_title\": articleTitle\n  }\n}\n\n\nconst sharedContentData = b2cSegmentDataHelper();\n//solv plus or ad tracking\n\n\n\n// load event\ntrackSegmentEvent('Content - Load', {\n  \"action\": \"load page\",\n  ...sharedContentData\n});\n\nconst contentCTAEl = document.querySelector('.b2c-content-cta');\n// content side cta\nif (contentCTAEl) {\n  // load event\n  if (!sharedContentData.isMobile) {\n    trackSegmentEvent('Content - CTA', {\n      \"action\": \"load\",\n      \"cta_location\": \"body\",\n      \"cta_topic\": \"book online\",\n      ...sharedContentData\n    });\n  }\n  // view event\n  const intersectionFn = trackSegmentEvent.bind(null, \"Content - CTA\", {\n    \"action\": \"view\",\n    \"cta_location\": \"body\",\n    \"cta_topic\": \"book online\",\n    ...sharedContentData\n  });\n  const observer = createIntersectionObsv(contentCTAEl, intersectionFn);\n  observer.observe(contentCTAEl);\n\n  // click event\n  const buttonEl = contentCTAEl.querySelector('.b2c_toggle_button');\n  buttonEl.addEventListener('click', (e) => {\n    trackSegmentEvent('Content - CTA', {\n      \"action\": \"click\",\n      \"cta_location\": \"body\",\n      \"cta_topic\": \"book online\",\n      ...sharedContentData\n    });\n  });\n}\n\n// Content - Search\nconst sideForm = document.querySelector('.cta-form-container form');\nif (sideForm) {\n  const submitButton = sideForm.querySelector('form button[type=\"submit\"]');\n  if (submitButton) {\n    submitButton.addEventListener('click', (e) => {\n      const formData = {};\n      sideForm.querySelectorAll('input, select').forEach(n => {\n        formData[n.name] = n.value\n      });\n      const segmentProps = {\n        \"action\": \"clicks find care form\",\n        \"reason\": formData['reasonForVisit'],\n        \"time\": formData['appointmentTime'],\n        \"patient\": formData['patientType']\n      };\n      trackSegmentEvent('Content - Search', {\n        ...segmentProps,\n        ...sharedContentData\n      })\n    })\n  }\n}\n\n// Content - Article\ndocument.querySelectorAll('.post-body .post-content a:not(.button)').forEach(a => {\n  a.addEventListener('click', (e) => {\n    trackSegmentEvent('Content - Article', {\n      \"action\": 'link',\n      \"link_text\": a.innerText,\n      \"link_address\": a.href,\n      ...sharedContentData\n    });\n  })\n})\n\n// Content - Solv App CTA\ndocument.querySelectorAll('.solv_app_cta .button').forEach(a => {\n  a.addEventListener('click', (e) => {\n    trackSegmentEvent('Content - CTA', {\n      \"action\": 'click',\n      \"cta_location\": \"body\",\n      \"cta_topic\": \"app download\",\n      \"cta_type\": \"button\",\n      ...sharedContentData\n    });\n  })\n})\n"],"names":["b2cSegmentDataHelper","dataset","isMobile","datePublished","dateUpdated","contentCategory","hasImage","wordCount","author","specialty","articleTitle","getPageAndCategory","action","controller","result","pageType","contentType","sharedContentData","trackSegmentEvent","contentCTAEl","intersectionFn","createIntersectionObsv","e","sideForm","submitButton","formData","n","segmentProps","a"],"mappings":"+FAKA,SAASA,GAAuB,CAC9B,MAAMC,EAAU,SAAS,KAAK,QAExBC,EADQ,OAAO,WACI,IACnBC,EAAgBF,EAAQ,iBACxBG,EAAcH,EAAQ,eACtBI,EAAkBJ,EAAQ,gBAC1BK,EAAWL,EAAQ,eAAiB,OACpCM,EAAY,SAASN,EAAQ,gBAAgB,EAC7CO,EAASP,EAAQ,cACjBQ,EAAYR,EAAQ,iBACpBS,EAAeT,EAAQ,aAEvBU,EAAqB,IAAM,CAC/B,MAAMC,EAASX,EAAQ,OACjBY,EAAaZ,EAAQ,WACrBa,EAAS,CACb,SAAU,QACV,YAAa,MACnB,EAGI,OAAIF,EAAO,QAAQ,MAAM,EAAI,GAC3BE,EAAO,SAAW,UACTF,EAAO,QAAQ,UAAU,EAAI,KACtCE,EAAO,SAAW,YAIhBD,IAAe,uBACjBC,EAAO,YAAc,cAGhBA,CACR,EAEK,CAAE,SAAAC,EAAU,YAAAC,CAAa,EAAGL,EAAkB,EAEpD,MAAO,CACL,SAAYT,EACZ,UAAaa,EACb,iBAAoBV,EACpB,aAAgBW,EAChB,eAAkBb,EAClB,aAAgBC,EAChB,MAASE,EACT,WAAcC,EACd,OAAUC,EACV,UAAaC,EACb,cAAiBC,CAClB,CACH,CAGA,MAAMO,EAAoBjB,EAAoB,EAM9CkB,EAAkB,iBAAkB,CAClC,OAAU,YACV,GAAGD,CACL,CAAC,EAED,MAAME,EAAe,SAAS,cAAc,kBAAkB,EAE9D,GAAIA,EAAc,CAEXF,EAAkB,UACrBC,EAAkB,gBAAiB,CACjC,OAAU,OACV,aAAgB,OAChB,UAAa,cACb,GAAGD,CACT,CAAK,EAGH,MAAMG,EAAiBF,EAAkB,KAAK,KAAM,gBAAiB,CACnE,OAAU,OACV,aAAgB,OAChB,UAAa,cACb,GAAGD,CACP,CAAG,EACgBI,EAAuBF,EAAcC,CAAc,EAC3D,QAAQD,CAAY,EAGZA,EAAa,cAAc,oBAAoB,EACvD,iBAAiB,QAAUG,GAAM,CACxCJ,EAAkB,gBAAiB,CACjC,OAAU,QACV,aAAgB,OAChB,UAAa,cACb,GAAGD,CACT,CAAK,CACL,CAAG,CACH,CAGA,MAAMM,EAAW,SAAS,cAAc,0BAA0B,EAClE,GAAIA,EAAU,CACZ,MAAMC,EAAeD,EAAS,cAAc,4BAA4B,EACpEC,GACFA,EAAa,iBAAiB,QAAUF,GAAM,CAC5C,MAAMG,EAAW,CAAA,EACjBF,EAAS,iBAAiB,eAAe,EAAE,QAAQG,GAAK,CACtDD,EAASC,EAAE,IAAI,EAAIA,EAAE,KAC7B,CAAO,EACD,MAAMC,EAAe,CACnB,OAAU,wBACV,OAAUF,EAAS,eACnB,KAAQA,EAAS,gBACjB,QAAWA,EAAS,WAC5B,EACMP,EAAkB,mBAAoB,CACpC,GAAGS,EACH,GAAGV,CACX,CAAO,CACP,CAAK,CAEL,CAGA,SAAS,iBAAiB,yCAAyC,EAAE,QAAQW,GAAK,CAChFA,EAAE,iBAAiB,QAAUN,GAAM,CACjCJ,EAAkB,oBAAqB,CACrC,OAAU,OACV,UAAaU,EAAE,UACf,aAAgBA,EAAE,KAClB,GAAGX,CACT,CAAK,CACL,CAAG,CACH,CAAC,EAGD,SAAS,iBAAiB,uBAAuB,EAAE,QAAQW,GAAK,CAC9DA,EAAE,iBAAiB,QAAUN,GAAM,CACjCJ,EAAkB,gBAAiB,CACjC,OAAU,QACV,aAAgB,OAChB,UAAa,eACb,SAAY,SACZ,GAAGD,CACT,CAAK,CACL,CAAG,CACH,CAAC"}