PluginProbe
LearnPress – WordPress LMS Plugin for Create and Sell Online Courses / 4.4.9
LearnPress – WordPress LMS Plugin for Create and Sell Online Courses v4.4.9
4.4.9 4.4.8 4.4.7 4.4.6 4.4.5 4.4.4 4.4.3 4.4.2 4.4.1 4.4.0 4.3.9.1 4.3.9 4.3.8 4.3.7 4.1.6.9 4.1.6.9.1 4.1.6.9.2 4.1.6.9.3 4.1.6.9.4 4.1.7 4.1.7.1 4.1.7.2 4.1.7.3 4.1.7.3.1 4.1.7.3.2 All 140 releases
learnpress / assets / js / frontend / courses-v2.min.js

courses-v2.min.js in LearnPress – WordPress LMS Plugin for Create and Sell Online Courses 4.4.9, at assets/js/frontend/courses-v2.min.js

1 lines 5.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 import API from"../api";import{lpAddQueryArgs,lpGetCurrentURLNoParam,listenElementViewed,listenElementCreated}from"../utils.js";let timeOutSearch;"undefined"==typeof lpData&&console.log("lpData is undefined"),document.addEventListener("change",(function(e){const t=e.target;window.lpCoursesList.onChangeSortBy(e,t),window.lpCoursesList.onChangeTypeLayout(e,t)})),document.addEventListener("click",(function(e){const t=e.target;window.lpCoursesList.clickNumberPage(e,t),window.lpCoursesList.LoadMore(e,t)})),document.addEventListener("keyup",(function(e){const t=e.target;window.lpCoursesList.searchCourse(e,t)})),document.addEventListener("submit",(function(e){e.target})),window.lpCoursesList=(()=>{const e=".lp-list-courses-no-css",t=".lp-target",s=".courses-page-result",a=".lp-loading-no-css",r=lpGetCurrentURLNoParam();return{clickNumberPage:(e,s)=>{const a=s.closest(".page-numbers:not(.disabled)");if(!a)return;const n=a.closest(`${t}`);if(!n)return;const o={...JSON.parse(n.dataset.send)};if(o.args.hasOwnProperty("paged")||(o.args.paged=1),0===o.args.courses_load_ajax)return;e.preventDefault(),a.classList.contains("prev")?o.args.paged--:a.classList.contains("next")?o.args.paged++:o.args.paged=a.textContent,n.dataset.send=JSON.stringify(o),lpData.urlParams.paged=o.args.paged,window.history.pushState({},"",lpAddQueryArgs(r,lpData.urlParams));const d=n.closest("div:not(.lp-target)").querySelector(".lp-loading-change");d&&(d.style.display="block");const l=n.getBoundingClientRect().top+window.scrollY;window.scrollTo({top:l});const c={success:e=>{const{status:t,message:s,data:a}=e;n.innerHTML=a.content||""},error:e=>{console.log(e)},completed:()=>{d&&(d.style.display="none")}};window.lpAJAXG.fetchAPI(API.frontend.apiAJAX,o,c)},LoadMore:(r,n)=>{const o=n.closest(".courses-btn-load-more-no-css:not(.disabled)");if(!o)return;const d=o.closest(`${t}`);if(!d)return;r.preventDefault(),o.classList.add("disabled");const l=o.querySelector(a),c={...JSON.parse(d.dataset.send)};c.args.hasOwnProperty("paged")||(c.args.paged=1),c.args.paged++,d.dataset.send=JSON.stringify(c),l&&l.classList.remove("hide");const i={success:t=>{const{status:a,message:r,data:n}=t,l=parseInt(n.paged),c=parseInt(n.total_pages),i=document.createElement("div");i.innerHTML=n.content||"";const u=d.querySelector(e),p=d.querySelector(s),g=i.querySelector(s);u.insertAdjacentHTML("beforeend",i.querySelector(e).innerHTML),p&&g&&(p.innerHTML=g.innerHTML),l>=c&&o.remove()},error:e=>{console.log(e)},completed:()=>{l&&l.classList.add("hide"),o.classList.remove("disabled")}};window.lpAJAXG.fetchAPI(API.frontend.apiAJAX,c,i)},LoadInfinite:()=>{const r=r=>{const n=r.target,o=n.querySelector(`${a}:not(.disabled)`);if(!o)return;o.classList.remove("hide"),o.classList.add("disabled");const d=n.closest(t);if(!d)return;const l={...JSON.parse(d.dataset.send)};l.args.hasOwnProperty("paged")||(l.args.paged=1),l.args.paged++,d.dataset.send=JSON.stringify(l);const c={success:t=>{const{status:a,message:r,data:o}=t,l=document.createElement("div");l.innerHTML=o.content||"";const c=d.querySelector(e),i=d.querySelector(s),u=l.querySelector(s);c.insertAdjacentHTML("beforeend",l.querySelector(e).innerHTML),i&&u&&(i.innerHTML=u.innerHTML),o.total_pages===o.paged&&n.remove()},error:e=>{console.log(e)},completed:()=>{o.classList.add("hide"),o.classList.remove("disabled")}};window.lpAJAXG.fetchAPI(API.frontend.apiAJAX,l,c)};listenElementCreated((e=>{e.classList.contains("courses-load-infinite-no-css")&&listenElementViewed(e,r)}));const n=document.querySelector(".courses-load-infinite-no-css");n&&listenElementViewed(n,r)},onChangeSortBy:(e,s)=>{if(!s.classList.contains("courses-order-by"))return;const a=s.closest(t);if(!a)return lpData.urlParams.paged=1,lpData.urlParams.order_by=s.value||"",void(window.location.href=lpAddQueryArgs(r,lpData.urlParams));e.preventDefault();const n={...JSON.parse(a.dataset.send)};n.args.paged=1,n.args.order_by=s.value||"",a.dataset.send=JSON.stringify(n),lpData.urlParams.paged=n.args.paged,lpData.urlParams.order_by=n.args.order_by,window.history.pushState({},"",lpAddQueryArgs(r,lpData.urlParams));const o=a.closest("div:not(.lp-target)").querySelector(".lp-loading-change");o&&(o.style.display="block");const d={success:e=>{const{status:t,message:s,data:r}=e;a.innerHTML=r.content||""},error:e=>{console.log(e)},completed:()=>{o&&(o.style.display="none")}};window.lpAJAXG.fetchAPI(API.frontend.apiAJAX,n,d)},onChangeTypeLayout:(t,s)=>{if("lp-switch-layout-btn"!==s.getAttribute("name"))return;const a=document.querySelector(e);if(!a)return;t.preventDefault();const r=s.value;r&&(a.dataset.layout=r,window.wpCookies.set("courses-layout",r,86400,"/"))},searchCourse:(e,s)=>{if("c_search"!==s.name)return;const a=s.closest(t);if(!a)return;e.preventDefault();const r={...JSON.parse(a.dataset.send)},n=s.value;r.args.c_search=n||"",r.args.paged=1,a.dataset.send=JSON.stringify(r),lpData.urlParams.paged=r.args.paged,lpData.urlParams.c_search=r.args.c_search,window.history.pushState({},"",lpAddQueryArgs(lpGetCurrentURLNoParam(),lpData.urlParams)),(!n||n&&n.length>2)&&(void 0!==timeOutSearch&&clearTimeout(timeOutSearch),timeOutSearch=setTimeout((function(){const e={success:e=>{const{status:t,message:s,data:r}=e;a.innerHTML=r.content||""},error:e=>{console.log(e)},completed:()=>{}};window.lpAJAXG.fetchAPI(API.frontend.apiAJAX,r,e)}),800))}}})(),window.lpCoursesList.LoadInfinite();