{"version":3,"file":"PrintSharePageBlock-Y4K1cpCu.js","sources":["../../../../Coloplast.UI/Features/Shared/Views/PrintSharePageBlock/PrintSharePageBlock.vue"],"sourcesContent":["<script setup>\r\n\timport {\r\n\t\tref,\r\n\t\tcomputed,\r\n\t} from 'vue';\r\n\timport axios from \"axios\";\r\n\timport { useStore } from 'vuex';\r\n\timport { DsIconButton, DsIcon, DsButton, DsText, dsUseIsMobile } from \"@coloplast/design-system\";\r\n\timport { track_bookmark_event } from 'shared/services/tracking/contentTrackingService';\r\n\r\n\tconst store = useStore();\r\n\r\n\tconst { isMobile } = dsUseIsMobile();\r\n\r\n\tconst\r\n\t\tpageId = getPageId(),\r\n\t\tlanguage = computed(() => store.getters.getCulture),\r\n\t\tbookmarksApi = computed(() => `/api/myhcpprofile/bookmark/${language.value}/${pageId}`),\r\n\t\tisUserLoggedIn = computed(() => store.getters.getIsUserLoggedIn);\r\n\r\n\tconst\r\n\t\tbookmarksInfoModel = ref({}),\r\n\t\tshowInfoModal = ref(false),\r\n\t\tbookmarkAction = ref('get'),\r\n\t\ticonName = ref('bookmark'); //bookmark-filled\r\n\r\n\tconst props = defineProps({\r\n\t\tshareModel: {\r\n\t\t\ttype: Object,\r\n\t\t\tdefault: () => { },\r\n\t\t},\r\n\t\tprintModel: {\r\n\t\t\ttype: Object,\r\n\t\t\tdefault: () => { },\r\n\t\t},\r\n\t\tshareUrl: {\r\n\t\t\ttype: String,\r\n\t\t},\r\n\t\taddBookmark: {\r\n\t\t\ttype: Boolean,\r\n\t\t\tdefault: () => false,\r\n\t\t},\r\n\t\tbookmarkLabel: {\r\n\t\t\ttype: String,\r\n\t\t},\r\n\t});\r\n\r\n\t// Functions\r\n\tfunction printPage() {\r\n\t\twindow.print();\r\n\t}\r\n\r\n\tfunction sharePage() {\r\n\t\twindow.location.href = `mailto:?subject=${props.shareModel.BaseViewModel.ShareByEmailSubjectText}&body=${props.shareUrl}`;\r\n\t}\r\n\r\n\tasync function copyLink() {\r\n\t\tconst copyLinkText = document.getElementById('copyLink').value;\r\n\t\tif (navigator.clipboard) {\r\n\t\t\ttry {\r\n\t\t\t\tawait navigator.clipboard.writeText(copyLinkText);\r\n\t\t\t} catch (err) {\r\n\t\t\t\tconsole.error(err);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tfunction getPageId() {\r\n\t\tconst e = window.dataLayer?.find((n) => Object.hasOwn(n, 'PageID'));\r\n\t\treturn e ? e.PageID : '';\r\n\t}\r\n\r\n\tfunction setShowModal() {\r\n\t\tshowInfoModal.value = !showInfoModal.value;\r\n\t}\r\n\r\n\tfunction bookmarksAction() {\r\n\t\tstore.dispatch('showSpinner');\r\n\t\taxios[bookmarkAction.value](bookmarksApi.value).then(response => {\r\n\t\t\tif (response?.status === 200) {\r\n\t\t\t\tif (bookmarkAction.value === 'get') {\r\n\t\t\t\t\tif (response.data) {\r\n\t\t\t\t\t\ticonName.value = 'bookmark-filled';\r\n\t\t\t\t\t\tbookmarkAction.value = 'delete';\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tbookmarkAction.value = 'post';\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\telse if (bookmarkAction.value === 'delete') {\r\n\t\t\t\t\tbookmarkAction.value = 'post';\r\n\t\t\t\t\ticonName.value = 'bookmark';\r\n\t\t\t\t}\r\n\t\t\t\t//if post\r\n\t\t\t\telse {\r\n\t\t\t\t\tbookmarkAction.value = 'delete';\r\n\t\t\t\t\ticonName.value = 'bookmark-filled';\r\n\r\n\t\t\t\t\t//if that's first added bookmark\r\n\t\t\t\t\tif (response?.data) {\r\n\t\t\t\t\t\tbookmarksInfoModel.value = response.data;\r\n\t\t\t\t\t\tshowInfoModal.value = true;\r\n\t\t\t\t\t}\r\n\t\t\t\t\ttrack_bookmark_event();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t})\r\n\t\t\t.catch(error => {\r\n\t\t\t\tif (error?.response?.status == 401) {\r\n\t\t\t\t\tstore.commit('setBookmarksConnected', true);\r\n\t\t\t\t\tstore.commit('setContentGateIsShown', true);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tconsole.warn(error);\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.finally(() => {\r\n\t\t\t\tstore.dispatch('hideSpinner');\r\n\t\t\t});\r\n\t}\r\n\r\n\t//we should check if that page is aleready bookmarked only in case of user is logged in\r\n\tif (props.addBookmark && isUserLoggedIn.value) {\r\n\t\tbookmarksAction();\r\n\t}\r\n</script>\r\n\r\n<template>\r\n\t<div class=\"c-share-print__wrapper\">\r\n\t\t<!--Share-->\r\n\t\t<template v-if=\"shareModel.BaseViewModel && shareModel.BaseViewModel.EnableSharing\">\r\n\t\t\t<input type=\"checkbox\"\r\n\t\t\t\t   class=\"hidden\"\r\n\t\t\t\t   id=\"share-button\" />\r\n\t\t\t<label for=\"share-button\"\r\n\t\t\t\t   class=\"c-share-print__sharebutton\"\r\n\t\t\t\t   data-testid=\"share\">\r\n\t\t\t\t<template v-if=\"!isMobile\">\r\n\t\t\t\t\t<DsIconButton icon-name=\"share-ios\" size=\"md\" variant=\"ghost-neutral\" class=\"with-icon c-share-print__noactionbutton\"></DsIconButton>\r\n\t\t\t\t\t<span class=\"c-share-print__sharelabel\"\r\n\t\t\t\t\t\t  v-html=\"shareModel.BaseViewModel.ShareLabel\">\r\n\t\t\t\t\t</span>\r\n\t\t\t\t</template>\r\n\r\n\t\t\t\t<template v-else>\r\n\t\t\t\t\t<DsButton icon-start=\"share-ios\" size=\"sm\" class=\"c-share-print__noactionbutton\"><span v-html=\"shareModel.BaseViewModel.ShareLabel\"></span></DsButton>\r\n\t\t\t\t</template>\r\n\t\t\t</label>\r\n\t\t</template>\r\n\t\t<!--Bookmark-->\r\n\t\t<template v-if=\"addBookmark\">\r\n\t\t\t<a v-if=\"!isMobile\"\r\n\t\t\t   class=\"c-share-print__printlink\"\r\n\t\t\t   title=\"bookmark\"\r\n\t\t\t   >\r\n\t\t\t\t<DsIconButton :icon-name=\"iconName\" size=\"md\" variant=\"ghost-neutral\" class=\"with-icon\" :clickHandler=\"bookmarksAction\" data-testid=\"bookmark\"></DsIconButton>\r\n\t\t\t\t<span class=\"c-share-print__sharelabel\"\r\n\t\t\t\t\t  v-if=\"bookmarkLabel\"\r\n\t\t\t\t\t  v-html=\"bookmarkLabel\">\r\n\t\t\t\t</span>\r\n\t\t\t</a>\r\n\t\t\t<DsButton v-else :icon-start=\"iconName\" size=\"sm\" :clickHandler=\"bookmarksAction\" data-testid=\"bookmark\"><span v-html=\"bookmarkLabel\"></span></DsButton>\r\n\t\t</template>\r\n\t\t<!--Print-->\r\n\t\t<template v-if=\"printModel && printModel.BaseViewModel && printModel.BaseViewModel.EnablePrinting\">\r\n\t\t\t<a v-if=\"!isMobile\"\r\n\t\t\t   class=\"c-share-print__printlink\"\r\n\t\t\t   title=\"print\"\r\n\t\t\t   >\r\n\t\t\t\t<DsIconButton icon-name=\"print\" size=\"md\" variant=\"ghost-neutral\" class=\"with-icon\" :clickHandler=\"printPage\" data-testid=\"print\"></DsIconButton>\r\n\t\t\t\t<span class=\"c-share-print__sharelabel\"\r\n\t\t\t\t\t  v-html=\"printModel.BaseViewModel.PrintLabel\">\r\n\t\t\t\t</span>\r\n\t\t\t</a>\r\n\t\t\t<DsButton v-else icon-start=\"print\" size=\"sm\" :clickHandler=\"printPage\" class=\"c-share-print__hiddenicon\" data-testid=\"print\"><span v-html=\"printModel.BaseViewModel.PrintLabel\"></span></DsButton>\r\n\t\t</template>\r\n\t\t<template v-if=\"shareModel.BaseViewModel && shareModel.BaseViewModel.EnableSharing\">\r\n\t\t\t<div class=\"c-modal__mask c-share-print__modal c-modal__mask--grey\">\r\n\t\t\t\t<label for=\"share-button\"\r\n\t\t\t\t\t   class=\"full-width-label\"\r\n\t\t\t\t\t   id=\"label-close-modal\">\r\n\t\t\t\t</label>\r\n\t\t\t\t<div class=\"c-modal__content-wrapper c-share-print__modalwrapper\">\r\n\t\t\t\t\t<label for=\"share-button\"\r\n\t\t\t\t\t\t   class=\"c-modal__close--big\"\r\n\t\t\t\t\t\t   aria-label=\"Close\">\r\n\t\t\t\t\t</label>\r\n\t\t\t\t\t<h2 v-html=\"shareModel.BaseViewModel.ShareModalHeadline\"></h2>\r\n\t\t\t\t\t<h3 v-html=\"shareModel.BaseViewModel.ShareByEmailHeading\"></h3>\r\n\t\t\t\t\t<p class=\"c-share-print__sharedescription\" v-html=\"shareModel.BaseViewModel.ShareByEmailDescription\"></p>\r\n\t\t\t\t\t<label for=\"share-button\"\r\n\t\t\t\t\t\t   class=\"e-button e-button--filled send-button small\"\r\n\t\t\t\t\t\t   v-html=\"shareModel.BaseViewModel.ShareByEmailButtonLabel\"\r\n\t\t\t\t\t\t   @click=\"sharePage()\"\r\n\t\t\t\t\t\t   data-testid=\"share-page\">\r\n\t\t\t\t\t</label>\r\n\t\t\t\t\t<h3 v-html=\"shareModel.BaseViewModel.ShareByLinkHeadline\"></h3>\r\n\t\t\t\t\t<div class=\"c-share-print__copybox\">\r\n\t\t\t\t\t\t<button class=\"c-share-print__copyLink\"\r\n\t\t\t\t\t\t\t\t@click=\"copyLink()\"\r\n\t\t\t\t\t\t\t\tdata-testid=\"copy-link\">\r\n\t\t\t\t\t\t\t{{ shareModel.BaseViewModel.ShareByLinkButtonLabel }}\r\n\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t<input type=\"text\"\r\n\t\t\t\t\t\t\t   id=\"copyLink\"\r\n\t\t\t\t\t\t\t   readonly\r\n\t\t\t\t\t\t\t   :value=\"shareUrl\" />\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</template>\r\n\t</div>\r\n\t<!--Bookmarks Info modal if bookmark is added first time-->\r\n\t<div class=\"c-modal__mask\" v-if=\"showInfoModal\" @click=\"setShowModal()\" @kedown.enter=\"setShowModal()\" @keydown.escape=\"setShowModal()\">\r\n\t\t<div class=\"c-modal__wrapper --fixed-size\">\r\n\t\t\t<DsIcon v-if=\"bookmarksInfoModel.icon\"\r\n\t\t\t\t\t:iconName=\"bookmarksInfoModel.icon\"\r\n\t\t\t\t\tsize=\"xl\"\r\n\t\t\t\t\tclass=\"c-modal__roundedicon\" />\r\n\t\t\t<DsIconButton class=\"c-modal__close--from-ds-icon-button\"\r\n\t\t\t\t\t\t  aria-label=\"Close button\"\r\n\t\t\t\t\t\t  icon-name=\"close\"\r\n\t\t\t\t\t\t  variant=\"ghost-neutral\" />\r\n\t\t\t<DsText v-if=\"bookmarksInfoModel.headline\"\r\n\t\t\t\t\thtml-element=\"div\"\r\n\t\t\t\t\ttext-style=\"regular\"\r\n\t\t\t\t\ttext-type=\"heading-3xl\"\r\n\t\t\t\t\tclass=\"c-modal__headline\">\r\n\t\t\t\t\t<div v-html=\"bookmarksInfoModel.headline\" />\r\n\t\t\t</DsText>\r\n\t\t\t<DsText v-if=\"bookmarksInfoModel.description\"\r\n\t\t\t\t\thtml-element=\"div\"\r\n\t\t\t\t\ttext-style=\"regular\"\r\n\t\t\t\t\ttext-type=\"body-md\">\r\n\t\t\t\t\t<div v-html=\"bookmarksInfoModel.headline\" />\r\n\t\t\t</DsText>\r\n\t\t\t<div class=\"c-modal__buttons c-modal__hcp-buttons\">\r\n\t\t\t\t<DsButton variant=\"primary\" size=\"md\" type=\"button\" v-if=\"bookmarksInfoModel.closeButtonText\">{{ bookmarksInfoModel.closeButtonText }}</DsButton>\r\n\t\t\t\t<DsButton @click.stop :variant=\"bookmarksInfoModel.closeButtonText ? 'secondary' : 'primary'\" size=\"md\" type=\"button\" v-if=\"bookmarksInfoModel.redirectButtonUrl\" :href=\"bookmarksInfoModel.redirectButtonUrl\">{{ bookmarksInfoModel.redirectButtonText }}</DsButton>\r\n            </div>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<style lang=\"scss\" scoped>\r\n@import \"shared/styles/settings/settings\";\r\n\r\n\t.c-modal__wrapper {\r\n\t\t&.--fixed-size {\r\n\t\t\tmax-width: 696px;\r\n\t\t\twidth: 95%;\r\n\t\t\tpadding: ds-space(14);\r\n\t\t\tborder-radius: 8px;\r\n\t\t\ttext-align: center;\r\n\t\t\toverflow: hidden;\r\n\t\t}\r\n\t}\r\n\r\n\t.c-modal__close--from-ds-icon-button {\r\n\t\ttop: ds-space(6);\r\n\t\tright: ds-space(6);\r\n\t}\r\n\r\n\t.c-modal {\r\n\t\t&__roundedicon {\r\n\t\t\twidth: 104px;\r\n\t\t\theight: 104px;\r\n\t\t\tpadding: ds-space(9);\r\n\t\t\tborder-radius: 50%;\r\n\t\t\tbackground-color: ds-color('bg', 'decorative-3-muted');\r\n\t\t\tcolor: ds-color-action('primary', 'default', 'bg-color');\r\n\t\t\tmargin-bottom: ds-space(8);\r\n\t\t}\r\n\r\n\t\t&__headline {\r\n\t\t\tmargin: ds-space(4) 0;\r\n\t\t}\r\n\r\n\t\t&__buttons {\r\n\t\t\tdisplay: flex;\r\n\t\t\tpadding-top: ds-space(10);\r\n\t\t\tcolumn-gap: ds-space(8);\r\n\t\t\tjustify-content: center;\r\n\t\t\tflex-wrap: wrap;\r\n\t\t}\r\n\t}\r\n</style>\r\n"],"names":["store","useStore","isMobile","dsUseIsMobile","pageId","getPageId","language","computed","bookmarksApi","isUserLoggedIn","bookmarksInfoModel","ref","showInfoModal","bookmarkAction","iconName","props","__props","printPage","sharePage","copyLink","copyLinkText","err","e","_a","n","setShowModal","bookmarksAction","axios","response","track_bookmark_event","error"],"mappings":"szDAUC,MAAMA,EAAQC,IAER,CAAE,SAAAC,GAAaC,IAGpBC,EAASC,EAAW,EACpBC,EAAWC,EAAS,IAAMP,EAAM,QAAQ,UAAU,EAClDQ,EAAeD,EAAS,IAAM,8BAA8BD,EAAS,KAAK,IAAIF,CAAM,EAAE,EACtFK,EAAiBF,EAAS,IAAMP,EAAM,QAAQ,iBAAiB,EAG/DU,EAAqBC,EAAI,EAAE,EAC3BC,EAAgBD,EAAI,EAAK,EACzBE,EAAiBF,EAAI,KAAK,EAC1BG,EAAWH,EAAI,UAAU,EAEpBI,EAAQC,EAsBd,SAASC,GAAY,CACpB,OAAO,MAAK,CACZ,CAED,SAASC,GAAY,CACpB,OAAO,SAAS,KAAO,mBAAmBH,EAAM,WAAW,cAAc,uBAAuB,SAASA,EAAM,QAAQ,EACvH,CAED,eAAeI,GAAW,CACzB,MAAMC,EAAe,SAAS,eAAe,UAAU,EAAE,MACzD,GAAI,UAAU,UACb,GAAI,CACH,MAAM,UAAU,UAAU,UAAUA,CAAY,CAChD,OAAQC,EAAK,CACb,QAAQ,MAAMA,CAAG,CACjB,CAEF,CAED,SAAShB,GAAY,OACpB,MAAMiB,GAAIC,EAAA,OAAO,YAAP,YAAAA,EAAkB,KAAMC,GAAM,OAAO,OAAOA,EAAG,QAAQ,GACjE,OAAOF,EAAIA,EAAE,OAAS,EACtB,CAED,SAASG,GAAe,CACvBb,EAAc,MAAQ,CAACA,EAAc,KACrC,CAED,SAASc,GAAkB,CAC1B1B,EAAM,SAAS,aAAa,EAC5B2B,EAAMd,EAAe,KAAK,EAAEL,EAAa,KAAK,EAAE,KAAKoB,GAAY,EAC5DA,GAAA,YAAAA,EAAU,UAAW,MACpBf,EAAe,QAAU,MACxBe,EAAS,MACZd,EAAS,MAAQ,kBACjBD,EAAe,MAAQ,UAGvBA,EAAe,MAAQ,OAGhBA,EAAe,QAAU,UACjCA,EAAe,MAAQ,OACvBC,EAAS,MAAQ,aAIjBD,EAAe,MAAQ,SACvBC,EAAS,MAAQ,kBAGbc,GAAA,MAAAA,EAAU,OACblB,EAAmB,MAAQkB,EAAS,KACpChB,EAAc,MAAQ,IAEvBiB,KAGL,CAAG,EACC,MAAMC,GAAS,SACXP,EAAAO,GAAA,YAAAA,EAAO,WAAP,YAAAP,EAAiB,SAAU,KAC9BvB,EAAM,OAAO,wBAAyB,EAAI,EAC1CA,EAAM,OAAO,wBAAyB,EAAI,GAG1C,QAAQ,KAAK8B,CAAK,CAEvB,CAAI,EACA,QAAQ,IAAM,CACd9B,EAAM,SAAS,aAAa,CAChC,CAAI,CACF,CAGD,OAAIe,EAAM,aAAeN,EAAe,OACvCiB"}