window.wp=window.wp||{},function(a){var e=wp.i18n.__,n=wp.i18n.sprintf;wp.passwordStrength={meter:function(e,n,t){return Array.isArray(n)||(n=[n.toString()]),e!=t&&t&&0<t.length?5:void 0===window.zxcvbn?-1:zxcvbn(e,n).score},userInputBlacklist:function(){return window.console.log(n(e("%1$s is deprecated since version %2$s! Use %3$s instead. Please consider writing more inclusive code."),"wp.passwordStrength.userInputBlacklist()","5.5.0","wp.passwordStrength.userInputDisallowedList()")),wp.passwordStrength.userInputDisallowedList()},userInputDisallowedList:function(){var e,n,t,r,s=[],i=[],o=["user_login","first_name","last_name","nickname","display_name","email","url","description","weblog_title","admin_email"];for(s.push(document.title),s.push(document.URL),n=o.length,e=0;e<n;e++)0!==(r=a("#"+o[e])).length&&(s.push(r[0].defaultValue),s.push(r.val()));for(t=s.length,e=0;e<t;e++)s[e]&&(i=i.concat(s[e].replace(/\W/g," ").split(" ")));return i=a.grep(i,function(e,n){return!(""===e||e.length<4)&&a.inArray(e,i)===n})}},window.passwordStrength=wp.passwordStrength.meter}(jQuery);
!function(l){var r;function e(s,a,e){s=s.closest(".sf-login-wrapper");s.length&&((a=s.find(".sf-login-tabs").find(".sf-"+a+"-tab")).hasClass("active")||(a.addClass("active").siblings().removeClass("active"),s.removeClass("login-form-active register-form-active lost-password-form-active"),s.addClass(e+"-active")))}function n(){l(document.body).addClass("sf-login-screen"),l(".sf-login-overlay").on("click",function(s){t(l(s.target))}),l(".sf-modal-close").on("click",function(s){t(null)})}function t(s){(null===s||!s.closest(".sf-login-modal").length&&l(".sf-login-modal").is(":visible"))&&(l(document.body).removeClass("sf-login-screen"),l(".sf-login-overlay").off("click","**"),l(".sf-modal-close").off("click","**"))}function o(s){var a=s.find("input[name=sf-password2]");if(a.length){var e=s.find("input[name=sf-password]"),s=s.find(".sf-form-control-pass2");return s.siblings(".sf-pw-hint").remove(),e.val()!==a.val()?(s.after('<small class="sf-pw-hint">'+sf_login_data.i18n_password_not_match+"</small>"),void a.addClass("invalid")):(a.removeClass("invalid"),s.siblings(".sf-pw-hint").remove(),1)}return 1}function f(s){var a=s.closest("form"),e=a.find(".sf-pw-strength-meter");if(0!==e.length){var n=s.val(),t=a.find('[type="submit"]'),i=a.find(".sf-pw-weak"),o=a.find(".sf-pw-hint"),r='<small class="sf-pw-hint">'+sf_login_data.i18n_password_hint+"</small>",s=a.attr("data-min-pass-strength"),a=wp.passwordStrength.meter(n,function(){var s,a,e,n,t=[],i=[],o=["sf-username","sf-firstname","sf-lastname","sf-email"];for(t.push(document.title),t.push(document.URL),a=o.length,s=0;s<a;s++)0!==(n=l("input[name="+o[s]+"]")).length&&(t.push(n[0].defaultValue),t.push(n.val()));for(e=t.length,s=0;s<e;s++)t[s]&&(i=i.concat(t[s].replace(/\W/g," ").split(" ")));return i=l.grep(i,function(s,a){return!(""===s||s.length<4)&&l.inArray(s,i)===a})}());if(e.removeClass("short bad good strong empty"),o.remove(),s<=a?(i.hide(),t.removeAttr("disabled")):(i.show(),t.attr("disabled","disabled")),!n)return e.addClass("empty").empty(),void i.hide();switch(a){case-1:e.addClass("bad").html(pwsL10n.unknown),e.after(r);break;case 2:e.addClass("bad").html(pwsL10n.bad),e.after(r);break;case 3:e.addClass("good").html(pwsL10n.good),e.after(r);break;case 4:e.addClass("strong").html(pwsL10n.strong);break;case 5:e.addClass("short").html(pwsL10n.mismatch);break;default:e.addClass("short").html(pwsL10n.short),e.after(r)}}}function d(){var s,a;"function"==typeof zxcvbn?(a=(s=l(".sf-reset-password-form input.sf-password")).siblings(".sf-hide-pw"),s.val()||(s.val(s.data("pw")),f(s)),"password"==s.attr("type")&&a.trigger("click")):setTimeout(d,50)}function c(s){var a=!1;return s.find(".validate").each(function(){var s=l(this);""===s.val()?(s.addClass("invalid"),a=!0):s.removeClass("invalid")}),a?s.find(".sf-form-message").html('<span class="error">'+sf_login_data.L10n.required_fields+"</span>"):s.find("div.g-recaptcha").length&&""===s.find('[name="g-recaptcha-response"]').val()&&(a=!0,s.find(".sf-form-message").html('<span class="error">'+sf_login_data.L10n.empty_captcha+"</span>")),!a}function p(e,a){function n(){r=!0,l.ajax({type:"POST",dataType:"json",url:sf_login_data.ajax_url,data:a,success:function(s){if(o.length&&o.hide(),s){if(t.html(s.data.message),s.success)s.data.redirect_url?window.location=s.data.redirect_url:s.data.refresh?window.location.reload():s.data.delayed_refresh?setTimeout(function(){window.location.reload()},1e3):(e[0].reset(),e.addClass("sf-ajax-success"));else if(s.data.fields)for(i in s.data.fields){var a=s.data.fields[i];e.find(a).addClass("invalid")}r=!1}}})}var t=e.find(".sf-form-message"),o=e.find(".preloader"),s=e.find('[name="sf_recaptcha_key"]').val(),r=!1;o.length&&o.show(),r||(t.empty(),e.find(".invalid").removeClass("invalid"),s?grecaptcha.ready(function(){grecaptcha.execute(s,{action:a.action}).then(function(s){a.token=s,n()})}):n())}window.wp=window.wp||{},r=jQuery,wp.passwordStrength={meter:function(s,a,e){return r.isArray(a)||(a=[a.toString()]),s!=e&&e&&0<e.length?5:void 0===window.zxcvbn?-1:zxcvbn(s,a).score},userInputBlacklist:function(){var s,a,e,n,t=[],i=[],o=["user_login","first_name","last_name","nickname","display_name","email","url","description","weblog_title","admin_email"];for(t.push(document.title),t.push(document.URL),a=o.length,s=0;s<a;s++)0!==(n=r("#"+o[s])).length&&(t.push(n[0].defaultValue),t.push(n.val()));for(e=t.length,s=0;s<e;s++)t[s]&&(i=i.concat(t[s].replace(/\W/g," ").split(" ")));return i=r.grep(i,function(s,a){return!(""===s||s.length<4)&&r.inArray(s,i)===a})}},window.passwordStrength=wp.passwordStrength.meter,l(document).ready(function(){var s,a=l(".sf-login-wrapper");a.length&&(l(document.body).on("click",".sf-ajax-login",function(s){s.preventDefault(),n(),l(".sf-login-modal .sf-login-tab").click()}).on("click",".sf-ajax-register",function(s){s.preventDefault(),n(),l(".sf-login-modal .sf-register-tab").click()}).on("click",".sf-ajax-lost-password",function(s){s.preventDefault(),n(),l(".sf-login-modal .sf-lost-tab").click()}).on("click",".sf-login-tab",function(s){s.preventDefault(),e(l(this),"login","login-form")}).on("click",".sf-register-tab",function(s){s.preventDefault(),e(l(this),"register","register-form")}).on("click",".sf-lost-tab",function(s){s.preventDefault(),e(l(this),"lost","lost-password-form")}),((s=a.find(".sf-login-tabs .active")).length?s:a.find(".sf-login-tabs").children().first()).click()),l(document.body).on("keyup",function(s){27==s.keyCode&&t(null)}).on("submit",".sf-login-form",function(s){s.preventDefault();var a=l(this);c(a)&&(s={action:"sf_ajax_login",username:a.find(".sf-username").val(),password:a.find(".sf-userpass").val(),remember:a.find(".sf-rememberme").val(),nonce:a.find(".sf-login-nonce").val(),redirect:a.data("redirect"),token:a.find('[name="g-recaptcha-response"]').val()},p(a,s))}).on("submit",".sf-register-form",function(s){s.preventDefault();var a=l(this);c(a)&&o(a)&&(s={action:"sf_ajax_register",form:a.serialize(),nonce:a.find(".sf-register-nonce").val(),redirect:a.data("redirect"),token:a.find('[name="g-recaptcha-response"]').val()},p(a,s))}).on("submit",".sf-lost-password-form",function(s){s.preventDefault();var a=l(this);c(a)&&(s={action:"sf_ajax_lost_password",user_login:a.find(".sf-user-login").val(),nonce:a.find(".sf-lost-password-nonce").val(),token:a.find('[name="g-recaptcha-response"]').val()},p(a,s))}).on("keyup change",".sf-form-row input[name=sf-password]",function(){f(l(this))}).on("click",".sf-pw-weak-checkbox",function(){var s=l(this).closest("form").find("[type=submit]");l(this).is(":checked")?s.removeAttr("disabled"):s.attr("disabled","disabled")}).on("keyup change",".sf-form-row input[name=sf-password2]",function(){o(l(this).closest("form"))}).on("change",".sf-form-row input[type=text],.sf-form-row input[type=email],.sf-form-row input[type=password]",function(){l(this).removeClass("invalid")}).on("click",".sf-resend-link",function(s){s.preventDefault(),l.ajax({type:"POST",dataType:"json",url:sf_login_data.ajax_url,data:{action:"sf_ajax_resend_link",user_login:l(this).data("user"),nonce:l(this).data("nonce")},success:function(s){s.success?l(this).prop("disabled",!0):s.data.message&&l(this).html(s.data.message)}})}).on("click",".sf-hide-pw",function(s){s.preventDefault();var a=l(this),e=a.siblings("input"),s=a.find("span");"password"===e.attr("type")?(e.attr("type","text"),a.find("span").attr("class",s.data("hide")||"fas fa-eye-slash"),a.attr("aria-label",sf_login_data.L10n.hide_password)):(e.attr("type","password"),a.find("span").attr("class",s.data("show")||"fas fa-eye"),a.attr("aria-label",sf_login_data.L10n.show_password)),e.focus()}),l(".sf-reset-password-form input[name=sf-password]").length&&d()})}(jQuery);
function learndash_course_grid_init_grid_responsive_design(){
const wrappers=document.querySelectorAll('.learndash-course-grid[data-skin="grid"]');
wrappers.forEach(function(wrapper){
const items_wrapper=wrapper.querySelector('.items-wrapper.grid');
if(! items_wrapper){
return;
}
const first_item=items_wrapper.firstElementChild;
if(! first_item){
return;
}
const min_width=wrapper.dataset.min_column_width;
let columns=wrapper.dataset.columns;
columns=parseInt(columns);
let new_columns=wrapper.dataset.new_columns||columns;
new_columns=parseInt(new_columns);
const wrapper_width=wrapper.offsetWidth;
let upper_columns=new_columns + 1;
upper_columns=upper_columns > columns ? columns:upper_columns;
const min_item_width=wrapper_width / upper_columns;
new_columns=Math.floor(wrapper_width / min_width);
let item_width=first_item.offsetWidth;
if(item_width < min_width){
new_columns=new_columns > columns ? columns:new_columns;
new_columns=new_columns < 1 ? 1:new_columns;
wrapper.dataset.new_columns=new_columns;
items_wrapper.style.gridTemplateColumns='repeat(' + new_columns + ', minmax(0, 1fr) )';
}else if(min_item_width > min_width){
new_columns=new_columns > columns ? columns:new_columns;
new_columns=new_columns < 1 ? 1:new_columns;
wrapper.dataset.new_columns=new_columns;
items_wrapper.style.gridTemplateColumns='repeat(' + new_columns + ', minmax(0, 1fr) )';
}
const items=items_wrapper.querySelectorAll('.item');
items.forEach(function(item){
item.style.visibility='visible';
});
});
}
(function(){
window.addEventListener('resize', function(){
learndash_course_grid_init_grid_responsive_design();
});
window.addEventListener('load', function(){
learndash_course_grid_init_grid_responsive_design();
});
})();
(()=> {
(function (){
function ajax_apply_filter(course_grid, filter){
const data={
action: 'ld_cg_apply_filter',
nonce: LearnDash_Course_Grid.nonce.load_posts,
filter: prepare_filter(filter),
course_grid: {
...course_grid.dataset
}};
data.filter=JSON.stringify(data.filter);
data.course_grid=JSON.stringify(data.course_grid);
fetch(LearnDash_Course_Grid.ajaxurl, {
method: 'POST',
credentials: 'same-origin',
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
},
body: new URLSearchParams(data)
}).then(response=> {
return response.json();
})
.then(data=> {
if(typeof data!=='undefined'){
if(data.status=='success'){
const items_wrapper =
course_grid.querySelector('.items-wrapper');
items_wrapper.style.visibility='hidden';
items_wrapper.innerHTML=data.html;
course_grid.dataset.page=data.page;
const pagination =
course_grid.querySelector('.pagination');
if(!pagination){
course_grid.insertAdjacentHTML('beforeend', data.html_pagination);
}
if(data.html_pagination==''){
const pagination =
course_grid.querySelector('.pagination');
if(pagination){
pagination.remove();
}}
if(course_grid.dataset.skin=='grid'){
setTimeout(function (){
learndash_course_grid_init_grid_responsive_design();
}, 500);
}else if(course_grid.dataset.skin=='masonry'){
setTimeout(function (){
learndash_course_grid_init_masonry(
course_grid.querySelector('.masonry'));
}, 500);
}else{
setTimeout(function (){
items_wrapper.style.visibility='visible';
}, 500);
}}
}}).catch(error=> {
console.log(error);
});
}
function ajax_init_infinite_scrolling(el){
const wrapper=el.closest('.learndash-course-grid');
if(!wrapper){
infinite_scroll_run=false;
return false;
}
const filter=document.querySelector('.learndash-course-grid-filter[data-course_grid_id="' + wrapper.id + '"]');
const data={
action: 'ld_cg_load_more',
nonce: LearnDash_Course_Grid.nonce.load_posts,
course_grid: JSON.stringify(wrapper.dataset),
filter: JSON.stringify(prepare_filter(filter))
};
fetch(
LearnDash_Course_Grid.ajaxurl + '?' + new URLSearchParams(data), {
method: 'GET',
headers: {
'Content-Type': 'application/json'
}}).then(response=> {
return response.json();
})
.then(data=> {
if(typeof data!=='undefined'){
if(data.status=='success'){
wrapper.querySelector('.items-wrapper').insertAdjacentHTML('beforeend', data.html);
if(data.page!=='complete'){
wrapper.dataset.page=data.page;
}
if(wrapper.dataset.pagination=='infinite'){
infinite_scroll_run=false;
}
if(data.page=='complete'){
const pagination=wrapper.querySelector('.pagination');
pagination.remove();
}
if(wrapper.dataset.skin=='grid'){
setTimeout(function (){
learndash_course_grid_init_grid_responsive_design();
}, 500);
}else if(wrapper.dataset.skin=='masonry'){
wrapper.style.visibility='hidden';
setTimeout(function (){
learndash_course_grid_init_masonry(wrapper.querySelector('.masonry'));
wrapper.style.visibility='visible';
}, 500);
}}
}}).catch(error=> {
console.log(error);
});
}
function in_viewport(element){
const pos=element.getBoundingClientRect();
return !(pos.top > innerHeight||pos.bottom < 0);
}
function prepare_filter(filter){
const data={};
if(!filter){
return data;
}
const search=filter.querySelector('input[name="search"]');
const price_min=filter.querySelector('[name="price_min"]');
const price_max=filter.querySelector('[name="price_max"]');
data.search=search ? search.value:null;
let taxonomies=filter.dataset.taxonomies;
taxonomies=taxonomies.split(',').map(function (value){
return value.trim();
});
data.price_min=price_min ? price_min.value:null;
data.price_max=price_max ? price_max.value:null;
taxonomies.forEach(function (taxonomy){
const inputs=filter.querySelectorAll('input[name="' + taxonomy + '[]"]:checked');
const values=[];
inputs.forEach(function (input){
values.push(input.value);
});
data[taxonomy]=values;
});
return data;
}
document.addEventListener('click', function (e){
const el=e.target;
if(el.matches('.learndash-course-grid .toggle-filter')){
if(el.nextElementSibling.style.display==='none'||el.nextElementSibling.style.display===''){
el.classList.remove('closed');
el.classList.add('opened');
el.nextElementSibling.style.display='block';
}else{
el.classList.remove('opened');
el.classList.add('closed');
el.nextElementSibling.style.display='none';
}}
});
const filter_submit=document.querySelectorAll('.learndash-course-grid-filter .button.apply');
if(filter_submit){
filter_submit.forEach(function (el){
el.addEventListener('click', function (e){
e.preventDefault();
const filter=this.closest('.learndash-course-grid-filter');
if(filter){
const course_grid=document.getElementById(filter.dataset.course_grid_id);
ajax_apply_filter(course_grid, filter);
}
if(filter.previousElementSibling&&filter.previousElementSibling.classList.contains('toggle-filter')){
filter.previousElementSibling.classList.remove('opened');
filter.previousElementSibling.classList.add('closed');
filter.style.display='none';
}});
});
}
const filter_clear=document.querySelectorAll('.learndash-course-grid-filter .button.clear');
if(filter_clear){
filter_clear.forEach(function (el){
el.addEventListener('click', function (e){
e.preventDefault();
const filter=this.closest('.learndash-course-grid-filter');
if(filter){
const search=filter.querySelector('input[name="search"]');
const price_min=filter.querySelector('input[name="price_min"]');
const price_max=filter.querySelector('input[name="price_max"]');
const price_min_range=filter.querySelector('input[name="price_min_range"]');
const price_max_range=filter.querySelector('input[name="price_max_range"]');
if(search){
filter.querySelector('input[name="search"]').value='';
}
if(price_min){
filter.querySelector('input[name="price_min"]').value='';
}
if(price_max){
filter.querySelector('input[name="price_max"]').value='';
}
if(price_min_range){
filter.querySelector('input[name="price_min_range"]').value='';
}
if(price_max_range){
filter.querySelector('input[name="price_max_range"]').value='';
}
filter.dataset.taxonomies.split(',').forEach(function (taxonomy){
taxonomy=taxonomy.trim();
if(taxonomy!=''){
filter.querySelectorAll('input[name="' + taxonomy + '[]"]:not([disabled])').forEach(function (input){
input.checked=false;
});
}});
const course_grid=document.getElementById(filter.dataset.course_grid_id);
ajax_apply_filter(course_grid, filter);
if(filter.previousElementSibling&&filter.previousElementSibling.classList.contains('toggle-filter')){
filter.previousElementSibling.classList.remove('opened');
filter.previousElementSibling.classList.add('closed');
filter.style.display='none';
}}
});
});
}
document.addEventListener('input', function (e){
if(e.target.classList.contains('range')){
const name=e.target.name,
value=e.target.value,
price_wrapper=e.target.closest('.filter');
switch (name){
case 'price_min_range':
price_wrapper.querySelector('[name="price_min"]').value=value;
break;
case 'price_max_range':
price_wrapper.querySelector('[name="price_max"]').value=value;
break;
}}
if(e.target.closest('.number-wrapper')!==null &&
e.target.type=='number'){
const name=e.target.name,
value=e.target.value,
price_wrapper=e.target.closest('.filter');
switch (name){
case 'price_min':
price_wrapper.querySelector('[name="price_min_range"]').value=value;
break;
case 'price_max':
price_wrapper.querySelector('[name="price_max_range"]').value=value;
break;
}}
});
document.addEventListener('click', function (e){
const el=e.target;
if(!el.matches('.learndash-course-grid[data-pagination="button"] .pagination .load-more')){
return;
}
e.preventDefault();
const wrapper=el.closest('.learndash-course-grid');
const filter=document.querySelector('.learndash-course-grid-filter[data-course_grid_id="' + wrapper.id + '"]');
const data={
action: 'ld_cg_load_more',
nonce: LearnDash_Course_Grid.nonce.load_posts,
course_grid: JSON.stringify(wrapper.dataset),
filter: JSON.stringify(prepare_filter(filter))
};
fetch(
LearnDash_Course_Grid.ajaxurl + '?' + new URLSearchParams(data), {
method: 'GET',
headers: {
'Content-Type': 'application/json'
}}).then(response=> {
return response.json();
})
.then(data=> {
if(typeof data!=='undefined'){
if(data.status=='success'){
const items_wrapper=wrapper.querySelector('.items-wrapper');
items_wrapper.insertAdjacentHTML('beforeend', data.html);
if(data.page!=='complete'){
wrapper.dataset.page=data.page;
}
if(data.page=='complete'){
const pagination=wrapper.querySelector('.pagination');
if(pagination){
pagination.remove();
}}
if(wrapper.dataset.skin=='grid' &&
data.html!=''){
setTimeout(function (){
learndash_course_grid_init_grid_responsive_design();
}, 500);
}else if(wrapper.dataset.skin=='masonry' &&
data.html!=''){
wrapper.style.visibility='hidden';
setTimeout(function (){
learndash_course_grid_init_masonry(wrapper.querySelector('.masonry'));
wrapper.style.visibility='visible';
}, 500);
}}
}}).catch(error=> {
console.log(error);
});
});
let infinite_scroll_run=false;
document.addEventListener('scroll', function (){
const infinite_scroll_elements=document.querySelectorAll('.learndash-course-grid[data-pagination="infinite"] .pagination');
if(infinite_scroll_elements){
infinite_scroll_elements.forEach(function (infinite_scroll){
if(in_viewport(infinite_scroll)&&!infinite_scroll_run){
infinite_scroll_run=true;
ajax_init_infinite_scrolling(infinite_scroll);
}});
}});
})();
})()
;