{"version":3,"sources":["priory.patientStories.js"],"names":["patientStories","handleToggleTag","el","filters","querySelector","querySelectorAll","forEach","tag","addEventListener","getResults","dataset","alias","tag2","classList","add","remove","handlePaging","paging","resultsWrapper","getSelectedTagAlias","totalPages","updatePaging","prev","next","select","currentPage","currentPageValue","parseInt","toString","value","setAttribute","removeAttribute","totalPagesValue","options","i","push","innerHTML","join","pageId","pageSize","fetch","then","response","text","data","outerHTML","resultsWrapperNew","initBlock","ControlBinders","register"],"mappings":"AAAA,MAAMA,eAAiB,MACrB,MAKMC,EAAkBC,IACtB,MAAMC,EAAUD,EAAGE,cAAc,gCAC7BD,GACFA,EAAQE,iBAAiB,cAAcC,QAAQC,IAC7CA,EAAIC,iBAAiB,QAAS,KAC5BC,EAAWP,EAAIK,EAAIG,QAAQC,MAAO,KAClCR,EAAQE,iBAAiB,cAAcC,QAAQM,IAC7CA,EAAKC,UAAUC,IAAI,aACnBF,EAAKC,UAAUE,OAAO,kBAExBR,EAAIM,UAAUE,OAAO,aACrBR,EAAIM,UAAUC,IAAI,qBAKpBE,EAAed,IACnB,MAAMe,EAASf,EAAGE,cAAc,eAC1Bc,EAAiBhB,EAAGE,cAAc,gBAClCD,EAAUD,EAAGE,cAAc,gCAC3Be,EAAsB,KAC1B,GAAIhB,MAAAA,EACF,MAAO,MAGT,OADoBA,EAAQC,cAAc,iBACvBM,QAAQC,OAEvBS,EAAaF,EAAeR,QAAQU,WAE1C,GADAC,EAAanB,EAAI,IAAKkB,GAClBH,GAAUC,EAAgB,CAC5B,MAAMI,EAAOL,EAAOb,cAAc,2BAC5BmB,EAAON,EAAOb,cAAc,uBAC5BoB,EAASP,EAAOb,cAAc,UACpCkB,EAAKd,iBAAiB,QAAS,KAC7B,MAAMiB,EAAcP,EAAeR,QAAQe,YAC3C,IAAIC,EAAmBC,SAASF,GAChCC,IACAR,EAAeR,QAAQe,YAAcC,EAAiBE,WACtDnB,EAAWP,EAAIiB,IAAuBO,KAExCH,EAAKf,iBAAiB,QAAS,KAC7B,MAAMiB,EAAcP,EAAeR,QAAQe,YAC3C,IAAIC,EAAmBC,SAASF,GAChCC,IACAR,EAAeR,QAAQe,YAAcC,EAAiBE,WACtDnB,EAAWP,EAAIiB,IAAuBO,KAExCF,EAAOhB,iBAAiB,SAAU,KAChCU,EAAeR,QAAQe,YAAcD,EAAOK,MAC5CpB,EAAWP,EAAIiB,IAAuBK,EAAOK,WAI7CR,EAAe,CAACnB,EAAIuB,EAAaL,KACrC,MAAMH,EAASf,EAAGE,cAAc,eAC1BkB,EAAOL,EAAOb,cAAc,2BAC5BmB,EAAON,EAAOb,cAAc,uBAC5BoB,EAASP,EAAOb,cAAc,UACpC,GAAIuB,SAASP,IAAe,EAC1BH,EAAOJ,UAAUC,IAAI,0BAChB,CACLG,EAAOJ,UAAUE,OAAO,sBACO,MAA3BU,EAAYG,YACdN,EAAKQ,aAAa,WAAY,IAC9BR,EAAKT,UAAUC,IAAI,cAEnBQ,EAAKS,gBAAgB,YACrBT,EAAKT,UAAUE,OAAO,aAEpBU,EAAYG,aAAeR,EAAWQ,YACxCL,EAAKO,aAAa,WAAY,IAC9BP,EAAKV,UAAUC,IAAI,cAEnBS,EAAKQ,gBAAgB,YACrBR,EAAKV,UAAUE,OAAO,aAExB,MAAMiB,EAAkBL,SAASP,GACjC,IAAIa,EAAU,GACd,IAAK,IAAIC,EAAI,EAAGA,GAAKF,EAAiBE,IACpCD,EAAQE,sBAAsBD,KAAKP,SAASF,KAAiBS,EAAI,WAAa,MAAMA,cAEtFV,EAAOY,UAAYH,EAAQI,KAAK,MAG9B5B,EAAa,CAACP,EAAIK,EAAKkB,KAC3B,MAAMP,EAAiBhB,EAAGE,cAAc,gBACxC,GAAIc,EAAgB,CAClB,MAAMoB,EAASpB,EAAeR,QAAQ4B,OAChCC,EAAWrB,EAAeR,QAAQ6B,SACxCC,oDAAoDF,cAAmBC,iBAAwBd,SAAmBlB,KAAOkC,KAAKC,GAAYA,EAASC,QAAQF,KAAKG,IAC9J1B,EAAe2B,UAAYD,EAC3B,MAAME,EAAoB5C,EAAGE,cAAc,gBAC3CiB,EAAanB,EAAIuB,EAAaqB,EAAkBpC,QAAQU,gBAI9D,MAAO,CACL2B,UAtGgB7C,IAChBD,EAAgBC,GAChBc,EAAad,GACbO,EAAWP,EAAI,MAAO,QAJH,GA0GvB8C,eAAeC,SAAS,yBAA0B/C,GAAMF,eAAe+C,UAAU7C","sourcesContent":["const patientStories = (() => {\r\n const initBlock = (el) => {\r\n handleToggleTag(el);\r\n handlePaging(el);\r\n getResults(el, 'all', '1');\r\n };\r\n\r\n const handleToggleTag = (el) => {\r\n const filters = el.querySelector('[data-patient-story-filters]');\r\n if (filters) {\r\n filters.querySelectorAll('[data-tag]').forEach(tag => {\r\n tag.addEventListener('click', () => {\r\n getResults(el, tag.dataset.alias, '1');\r\n filters.querySelectorAll('[data-tag]').forEach(tag2 => {\r\n tag2.classList.add('button--2');\r\n tag2.classList.remove('selected-tag');\r\n });\r\n tag.classList.remove('button--2');\r\n tag.classList.add('selected-tag');\r\n });\r\n });\r\n }\r\n };\r\n\r\n const handlePaging = (el) => {\r\n const paging = el.querySelector('.pagination');\r\n const resultsWrapper = el.querySelector('[data-items]');\r\n const filters = el.querySelector('[data-patient-story-filters]');\r\n\r\n const getSelectedTagAlias = () => {\r\n if (filters === null || filters === undefined) {\r\n return \"all\";\r\n }\r\n const selectedTag = filters.querySelector('.selected-tag');\r\n return selectedTag.dataset.alias;\r\n }\r\n \r\n const totalPages = resultsWrapper.dataset.totalPages;\r\n updatePaging(el, \"1\", totalPages);\r\n if (paging && resultsWrapper ) {\r\n const prev = paging.querySelector('[title=\"Previous Page\"]');\r\n const next = paging.querySelector('[title=\"Next Page\"]');\r\n const select = paging.querySelector('select');\r\n prev.addEventListener('click', () => {\r\n const currentPage = resultsWrapper.dataset.currentPage;\r\n let currentPageValue = parseInt(currentPage);\r\n currentPageValue--;\r\n resultsWrapper.dataset.currentPage = currentPageValue.toString();\r\n getResults(el, getSelectedTagAlias(), currentPageValue);\r\n });\r\n next.addEventListener('click', () => {\r\n const currentPage = resultsWrapper.dataset.currentPage;\r\n let currentPageValue = parseInt(currentPage);\r\n currentPageValue++;\r\n resultsWrapper.dataset.currentPage = currentPageValue.toString();\r\n getResults(el, getSelectedTagAlias(), currentPageValue);\r\n });\r\n\r\n select.addEventListener('change', () => {\r\n resultsWrapper.dataset.currentPage = select.value;\r\n getResults(el, getSelectedTagAlias(), select.value);\r\n });\r\n }\r\n };\r\n\r\n const updatePaging = (el, currentPage, totalPages) => {\r\n const paging = el.querySelector('.pagination');\r\n const prev = paging.querySelector('[title=\"Previous Page\"]');\r\n const next = paging.querySelector('[title=\"Next Page\"]');\r\n const select = paging.querySelector('select');\r\n if (parseInt(totalPages) <= 1) {\r\n paging.classList.add('pagination--hidden');\r\n } else {\r\n paging.classList.remove('pagination--hidden');\r\n if (currentPage.toString() === \"1\") {\r\n prev.setAttribute('disabled', '');\r\n prev.classList.add('disabled');\r\n } else {\r\n prev.removeAttribute('disabled');\r\n prev.classList.remove('disabled');\r\n }\r\n if (currentPage.toString() === totalPages.toString()) {\r\n next.setAttribute('disabled', '');\r\n next.classList.add('disabled');\r\n } else {\r\n next.removeAttribute('disabled');\r\n next.classList.remove('disabled');\r\n }\r\n const totalPagesValue = parseInt(totalPages);\r\n let options = [];\r\n for (let i = 1; i <= totalPagesValue; i++) {\r\n options.push(``)\r\n }\r\n select.innerHTML = options.join('');\r\n }\r\n }\r\n \r\n const getResults = (el, tag, currentPage) => {\r\n const resultsWrapper = el.querySelector('[data-items]');\r\n if (resultsWrapper) {\r\n const pageId = resultsWrapper.dataset.pageId;\r\n const pageSize = resultsWrapper.dataset.pageSize;\r\n fetch(`/umbraco/surface/PatientStories/Get?pageId=${pageId}&pageSize=${pageSize}¤tPage=${currentPage}&tag=${tag}`)\r\n .then(response => response.text())\r\n .then(data => {\r\n resultsWrapper.outerHTML = data;\r\n const resultsWrapperNew = el.querySelector('[data-items]');\r\n updatePaging(el, currentPage, resultsWrapperNew.dataset.totalPages);\r\n });\r\n }\r\n };\r\n\r\n return {\r\n initBlock\r\n };\r\n})();\r\nControlBinders.register(`.patient-stories-block`, el => patientStories.initBlock(el));"],"file":"priory.patientStories-min.js"}