{"version":3,"file":"./frontend/profile.certificates.js","mappings":"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","sources":["webpack://learnpress-certificates/./assets/src/js/frontend/profile.certificates.js"],"sourcesContent":["const { addQueryArgs } = wp.url;\n\nconst showListCertificates = () => {\n const elementCertificateProfile = document.querySelector('.learnpress-certificates-profile');\n if (!elementCertificateProfile) {\n return;\n }\n\n const userID = elementCertificateProfile.querySelector('input[name=\"userID\"]').value;\n\n let filter = {\n userID: userID,\n page: 1,\n };\n\n //loader template tab\n const skeletonTab = () => {\n getResponse(elementCertificateProfile, { ...filter });\n };\n\n const getResponse = async (ele, filter) => {\n const skeleton = ele.querySelector('.lp-skeleton-animation');\n\n try {\n const response = await wp.apiFetch({\n path: addQueryArgs('lp/v1/certificate/items-profile', filter),\n method: 'GET',\n });\n\n const { data, status, message } = response;\n\n if (status === 'error') {\n throw new Error(message || 'Error');\n }\n\n data && ele.insertAdjacentHTML('beforeend', data.template);\n\n getImageCertificate(data.certKey);\n } catch (error) {\n ele.insertAdjacentHTML(\n 'beforeend',\n `
${\n error.message || 'Error: Query lp/v1/certificate/items-profile'\n }
`\n );\n }\n\n skeleton && skeleton.remove();\n };\n\n const getImageCertificate = (certKey) => {\n const listItemCertificate = document.querySelectorAll('.learnpress-certificates-profile .certificate-item');\n\n if (!listItemCertificate.length) return;\n\n listItemCertificate.forEach((item) => {\n const eleConfig = item.querySelector('input.lp-data-config-cer');\n const dataConfig = JSON.parse(eleConfig.value);\n const elemParent = item.querySelector('.certificate-preview');\n\n if (elemParent === null) return;\n\n const key = elemParent.dataset.key;\n\n if (!certKey.includes(key)) return;\n\n LP_Certificate(elemParent, dataConfig);\n eleConfig.dataset.value = '';\n });\n };\n\n const showMoreReview = async (filter, ele, btnLoadReview = false) => {\n try {\n const response = await wp.apiFetch({\n path: addQueryArgs('lp/v1/certificate/items-profile', filter),\n method: 'GET',\n });\n\n const { data, status, message } = response;\n\n if (status === 'success' && data) {\n ele.innerHTML += data.template;\n } else {\n ele.innerHTML += `
  • ${message}
  • `;\n }\n\n if (btnLoadReview) {\n btnLoadReview.classList.remove('loading');\n\n const paged = btnLoadReview.dataset.paged;\n const numberPage = btnLoadReview.dataset.number;\n\n if (numberPage <= paged) {\n btnLoadReview.remove();\n }\n\n btnLoadReview.dataset.paged = parseInt(paged) + 1;\n }\n\n getImageCertificate(data.certKey);\n } catch (error) {\n ele.innerHTML += `
  • ${error}
  • `;\n }\n };\n\n document.addEventListener('click', function (e) {\n const btnLoadReview = document.querySelector('#certificates-load-more');\n\n if (btnLoadReview && btnLoadReview.contains(e.target)) {\n btnLoadReview.classList.add('loading');\n const paged = btnLoadReview && btnLoadReview.dataset.paged;\n filter.page = paged;\n\n const element = document.querySelector('#profile-content-certificates .profile-certificates');\n showMoreReview({ ...filter }, element, btnLoadReview);\n }\n });\n\n skeletonTab();\n};\n\ndocument.addEventListener('DOMContentLoaded', function () {\n showListCertificates();\n});\n"],"names":["addQueryArgs","wp","url","showListCertificates","elementCertificateProfile","document","querySelector","userID","value","filter","page","skeletonTab","getResponse","ele","skeleton","response","apiFetch","path","method","data","status","message","Error","insertAdjacentHTML","template","getImageCertificate","certKey","error","remove","listItemCertificate","querySelectorAll","length","forEach","item","eleConfig","dataConfig","JSON","parse","elemParent","key","dataset","includes","LP_Certificate","showMoreReview","btnLoadReview","innerHTML","classList","paged","numberPage","number","parseInt","addEventListener","e","contains","target","add","element"],"sourceRoot":""}