var dtLMSFrontendUtils = {
dtLMSInitializeDonutChart : function() {
jQuery('.dtlms-donutchart').each(function() {
var $this = jQuery(this);
var $bgColor = ( $this.data('bgcolor') !== undefined ) ? $this.data('bgcolor') : '#5D18D6';
var $fgColor = ( $this.data('fgcolor') !== undefined ) ? $this.data('fgcolor') : '#000000';
var $size = ( $this.data('size') !== undefined ) ? $this.data('size') : '100';
$this.donutchart({'size': $size, 'fgColor': $fgColor, 'bgColor': $bgColor , 'donutwidth' : 5 });
$this.donutchart('animate');
});
},
dtLMSEnableCourseCurriculumContentScroll : function() {
if(jQuery('.dtlms-curriculum-content-holder').length) {
var currentWidth = window.innerWidth || document.documentElement.clientWidth;
if(currentWidth > 1199) {
jQuery('.dtlms-curriculum-content-holder').height(5000);
setTimeout(function() {
var windowHeight = jQuery(window.top).height();
var height = parseInt((parseInt(windowHeight, 10)-parseInt(184, 10)), 10);
jQuery('.dtlms-curriculum-content-holder').height(height);
dtLMSCommonUtils.dtLMSNiceScroll('.dtlms-curriculum-content-holder');
}, 400);
}
}
},
dtLMSEnableCourseCurriculumDetailsScroll : function() {
if(jQuery('.dtlms-curriculum-detailed-links').length) {
var currentWidth = window.innerWidth || document.documentElement.clientWidth;
if(currentWidth > 1199) {
jQuery('.dtlms-curriculum-detailed-links').height(5000);
setTimeout(function() {
var windowHeight = jQuery(window.top).height();
var height = parseInt((parseInt(windowHeight, 10)-parseInt(184, 10)), 10);
jQuery('.dtlms-curriculum-detailed-links').height(height);
dtLMSCommonUtils.dtLMSNiceScroll('.dtlms-curriculum-detailed-links');
}, 400);
}
}
},
dtLMSEnableCourseCurriculumResponsiveScroll : function() {
if(jQuery('.dtlms-course-curriculum-popup-container').length) {
var currentWidth = window.innerWidth || document.documentElement.clientWidth;
if(currentWidth <= 1199) {
jQuery('.dtlms-course-curriculum-popup-container').height(5000);
setTimeout(function() {
var windowHeight = jQuery(window.top).height();
var height = parseInt((parseInt(windowHeight, 10)-parseInt(184, 10)), 10);
jQuery('.dtlms-course-curriculum-popup-container').height(height);
dtLMSCommonUtils.dtLMSNiceScroll('.dtlms-course-curriculum-popup-container');
}, 400);
}
}
},
dtLMSToggleItems : function() {
if(jQuery('.dtlms-toggle').length) {
jQuery('.dtlms-toggle').toggleClick(function() {
jQuery(this).removeClass('active');
}, function() {
jQuery(this).addClass('active');
});
jQuery('.dtlms-toggle').on('click', function(){
jQuery(this).next('.dtlms-toggle-content').slideToggle();
});
}
},
dtLMSProgressBar : function(inview) {
if(inview) {
jQuery('.dtlms-progressbar').each(function() {
jQuery(this).one('inview', function (event, visible) {
if (visible == true) {
var progressBar = jQuery(this),
progressValue = progressBar.find('.dtlms-bar').attr('data-value');
if (!progressBar.hasClass('animated')) {
progressBar.addClass('animated');
progressBar.find('.dtlms-bar').animate({
width: progressValue + "%"
}, 600, function() {
progressBar.find('.dtlms-bar-text').fadeIn(400);
});
}
}
});
});
} else {
jQuery('.dtlms-progressbar').each(function() {
var progressBar = jQuery(this),
progressValue = progressBar.find('.dtlms-bar').attr('data-value');
if (!progressBar.hasClass('animated')) {
progressBar.addClass('animated');
progressBar.find('.dtlms-bar').animate({
width: progressValue + "%"
}, 600, function() {
progressBar.find('.dtlms-bar-text').fadeIn(400);
});
}
});
}
},
dtLMSCountDownTimer : function(itemId) {
if(itemId.find('.dtlms-countdown-holder').length) {
itemId.find('.dtlms-countdown-holder').downCount({
date : itemId.find('.dtlms-countdown-holder').attr('data-date'),
offset : itemId.find('.dtlms-countdown-holder').attr('data-offset')
}, function () {
var curriculum_id = itemId.find('.dtlms-countdown-holder').attr('data-curriculumid');
var parent_curriculum_id = itemId.find('.dtlms-countdown-holder').attr('data-parentcurriculumid');
jQuery( '.dtlms-curriculum-meta-title a[data-curriculumid='+curriculum_id+'][data-parentcurriculumid='+parent_curriculum_id+']' ).trigger('click');
return false;
});
}
},
dtLMSCoursesListingIsotope : function() {
jQuery('.dtlms-apply-isotope .dtlms-courses-listing-items').each(function() {
jQuery(this).isotope({
itemSelector: '.dtlms-column',
percentPosition: true,
masonry: {
columnWidth: '.grid-sizer'
}
});
});
jQuery('.dtlms-apply-isotope .dtlms-courses-listing-isotope-filter').each(function() {
var isotope_filter = jQuery(this);
isotope_filter.find('a').on('click', function() {
isotope_filter.find('a').removeClass('active-sort');
var selector = jQuery(this).attr('data-filter');
jQuery(this).addClass('active-sort');
jQuery(this).parents('.dtlms-apply-isotope').find('.dtlms-courses-listing-items').isotope({ filter: selector, masonry: { }, animationEngine : 'jquery' });
return false;
});
});
},
dtLMSPackagesListingIsotope : function() {
jQuery('.dtlms-apply-isotope .dtlms-packages-listing-items').each(function() {
jQuery(this).isotope({
itemSelector: '.dtlms-column',
percentPosition: true,
masonry: {
columnWidth: '.grid-sizer'
}
});
});
},
dtLMSTabScroll : function() {
if(jQuery('.dtlms-course-detail .dtlms-tabs-horizontal').length) {
jQuery('.dtlms-course-detail .dtlms-tabs-horizontal').scrollTabs({
click_callback: function(e){
dtLMSCommonUtils.dtLMSContentTabs();
}
});
}
if(jQuery('.dtlms-class-detail .dtlms-tabs-horizontal').length) {
jQuery('.dtlms-class-detail .dtlms-tabs-horizontal').scrollTabs({
click_callback: function(e){
dtLMSCommonUtils.dtLMSContentTabs();
}
});
}
setTimeout(function() {
jQuery('.dtlms-tabs-horizontal .scroll_tab_first.current').trigger('click');
}, 800);
},
};
var dtLMSFrontend = {
dtInit : function() {
var isMobile = (navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i)) || (navigator.userAgent.match(/iPad/i)) || (navigator.userAgent.match(/Android/i)) || (navigator.userAgent.match(/Blackberry/i)) || (navigator.userAgent.match(/Windows Phone/i)) ? true : false;
var currentWidth = window.innerWidth || document.documentElement.clientWidth;
dtLMSFrontend.dtLMS(isMobile, currentWidth);
dtLMSFrontend.dtCurriculum();
dtLMSFrontend.dtCourses();
dtLMSFrontend.dtCoursesListing();
dtLMSFrontend.dtLessons();
dtLMSFrontend.dtPackagesListing();
},
dtLMS : function(isMobile, currentWidth) {
// For mega menu fullwidth issue fix
if(jQuery('body').hasClass('single-dtlms_courses')) {
setTimeout(function() {
jQuery(window).trigger('resize');
}, 800);
}
dtLMSFrontendUtils.dtLMSToggleItems();
dtLMSFrontendUtils.dtLMSCountDownTimer(jQuery('.dtlms-class-dynamic-section-holder, .dtlms-course-dynamic-section-holder'));
dtLMSFrontendUtils.dtLMSTabScroll();
// Tabs
dtLMSCommonUtils.dtLMSContentTabs();
jQuery(window).on('resize', function() {
dtLMSFrontendUtils.dtLMSEnableCourseCurriculumContentScroll();
dtLMSFrontendUtils.dtLMSEnableCourseCurriculumDetailsScroll();
dtLMSFrontendUtils.dtLMSEnableCourseCurriculumResponsiveScroll();
dtLMSFrontendUtils.dtLMSCoursesListingIsotope();
dtLMSFrontendUtils.dtLMSPackagesListingIsotope();
});
dtLMSFrontendUtils.dtLMSProgressBar(false);
},
dtCurriculum : function() {
jQuery( 'body' ).delegate( '.dtlms-curriculum-list li:not(.locked) .dtlms-curriculum-meta-title a', 'click', function(e){
if(jQuery('#dtlms-course-curriculum-popup').hasClass('dtlms-curriculum-quiz-lock')) {
if(confirm(lmsfrontendobject.onRefreshCurriculum)) {
jQuery('#dtlms-complete-quiz').trigger('click');
return false;
} else {
return false;
}
}
var this_item = jQuery(this),
parent_item = this_item.parents('.dtlms-curriculum-details, .dtlms-tabs-horizontal-content, .dtlms-class-course-curriculum-holder, .dtlms-course-curriculum-popup-container'),
course_id = this_item.attr('data-courseid'),
parent_curriculum_id = this_item.attr('data-parentcurriculumid'),
curriculum_id = this_item.attr('data-curriculumid');
jQuery.ajax({
type: "POST",
url: lmsfrontendobject.ajaxurl,
data:
{
action: 'dtlms_generate_curriculum_page_contents',
course_id: course_id,
parent_curriculum_id: parent_curriculum_id,
curriculum_id: curriculum_id,
},
beforeSend: function(){
dtLMSCommonUtils.dtLMSAjaxBeforeSend(parent_item);
},
error: function (xhr, status, error) {
},
success: function (response) {
jQuery('body').find('#dtlms-course-curriculum-popup').remove();
jQuery('body').append(response);
jQuery('#dtlms-course-curriculum-popup .dtlms-curriculum-list li').removeClass('active');
jQuery('#dtlms-course-curriculum-popup .dtlms-curriculum-list li a[data-curriculumid="' + curriculum_id + '"][ data-parentcurriculumid="' + parent_curriculum_id + '"]').parents('li').addClass('active');
jQuery('body, html').css('overflow', 'hidden');
dtLMSFrontendUtils.dtLMSToggleItems();
dtLMSFrontendUtils.dtLMSEnableCourseCurriculumContentScroll();
dtLMSFrontendUtils.dtLMSEnableCourseCurriculumDetailsScroll();
dtLMSFrontendUtils.dtLMSEnableCourseCurriculumResponsiveScroll();
if(jQuery('#dtlms-course-curriculum-popup').find('.dtlms-countdown-holder').length) {
dtLMSFrontendUtils.dtLMSCountDownTimer(jQuery('#dtlms-course-curriculum-popup').find('.dtlms-curriculum-content-holder'));
}
},
complete: function(){
dtLMSCommonUtils.dtLMSAjaxAfterSend(parent_item);
}
});
e.preventDefault();
});
jQuery( 'body' ).delegate( '.dtlms-refresh-course-curriculum', 'click', function(e){
if(jQuery('#dtlms-course-curriculum-popup').hasClass('dtlms-curriculum-quiz-lock')) {
if(confirm(lmsfrontendobject.onRefreshCurriculum)) {
jQuery('#dtlms-complete-quiz').trigger('click');
return false;
} else {
return false;
}
}
if(jQuery('.dtlms-curriculum-list li.active li.active .dtlms-curriculum-meta-title a').length) {
jQuery('.dtlms-curriculum-list li.active li.active .dtlms-curriculum-meta-title a:first').trigger('click');
} else {
jQuery('.dtlms-curriculum-list li.active .dtlms-curriculum-meta-title a:first').trigger('click');
}
e.preventDefault();
});
jQuery( 'body' ).delegate( '.dtlms-close-course-curriculum-popup', 'click', function(e){
if(jQuery('#dtlms-course-curriculum-popup').hasClass('dtlms-curriculum-quiz-lock')) {
if(confirm(lmsfrontendobject.onRefreshCurriculum)) {
jQuery('#dtlms-complete-quiz').trigger('click');
return false;
} else {
return false;
}
}
jQuery('body, html').css('overflow', '');
jQuery('#dtlms-course-curriculum-popup').remove();
location.reload();
e.preventDefault();
});
},
dtCourses : function() {
jQuery('.dtlms-class-toggle-switch').toggleClick(function(){ jQuery(this).addClass('active'); },function(){ jQuery(this).removeClass('active'); });
jQuery('.dtlms-class-toggle-switch').on('click', function(){ jQuery(this).parents('.dtlms-class-toggle-frame').find('.dtlms-class-toggle-content').slideToggle(); });
jQuery('.ratings span').mouseenter(function(e) {
if(!jQuery(this).parents('.ratings').hasClass('rated')) {
jQuery('.ratings span').removeClass('zmdi zmdi-star-outline');
jQuery( this ).prevAll( 'span' ).andSelf().addClass('zmdi zmdi-star-outline');
jQuery( this ).nextAll( 'span' ).addClass('zmdi zmdi-star-outline');
} else {
setTimeout(function() { jQuery('.ratings').removeClass('rated'); },100);
}
e.preventDefault();
}).mouseleave(function(e) {
if(!jQuery(this).parents('.ratings').hasClass('rated')) {
jQuery('.ratings span').removeClass('zmdi zmdi-star-outline');
jQuery( this ).prevAll( 'span' ).andSelf().addClass('zmdi zmdi-star-outline');
jQuery( this ).nextAll( 'span' ).addClass('zmdi zmdi-star-outline');
} else {
setTimeout(function() { jQuery('.ratings').removeClass('rated'); },100);
}
e.preventDefault();
});
jQuery('.ratings span').on('click', function(e) {
if(!jQuery(this).parents('.ratings').hasClass('rated')) {
jQuery(this).prevAll('span').andSelf().addClass('zmdi zmdi-star');
jQuery(this).parents('.ratings-holder').find('#lms_rating').val(parseInt(jQuery(this).attr('data-value'), 10));
jQuery(this).parents('.ratings').addClass('rated');
}
e.preventDefault();
});
dtLMSCommonUtils.dtLMSNiceScroll('.dtlms-students-enrolled-list');
jQuery( 'body' ).delegate( '.dtlms-start-course-button', 'click', function(e){
var this_item = jQuery(this),
startcourse_nonce = this_item.attr('data-start-course-nonce'),
course_id = this_item.attr('data-courseid'),
user_id = this_item.attr('data-userid'),
author_id = this_item.attr('data-authorid');
jQuery.ajax({
type: "POST",
url: lmsfrontendobject.ajaxurl,
data:
{
action: 'dtlms_start_course_initialize',
startcourse_nonce: startcourse_nonce,
course_id: course_id,
user_id: user_id,
author_id: author_id,
},
beforeSend: function(){
this_item.prepend( '' );
},
success: function (response) {
location.reload();
},
complete: function() {
}
});
e.preventDefault();
});
jQuery( 'body' ).delegate( '.dtlms-submit-course-button', 'click', function(e) {
e.preventDefault();
var this_item = jQuery(this),
submitcourse_nonce = this_item.attr('data-submit-course-nonce'),
course_id = this_item.attr('data-courseid'),
user_id = this_item.attr('data-userid'),
author_id = this_item.attr('data-authorid'),
total_curriculumcount = this_item.attr('data-totalcurriculumcount'),
submitted_curriculum_count = this_item.attr('data-submittedcurriculumcount');
if(total_curriculumcount != submitted_curriculum_count) {
alert(lmsfrontendobject.submitCourse);
return false;
}
jQuery.ajax({
type: "POST",
url: lmsfrontendobject.ajaxurl,
data:
{
action: 'dtlms_submit_course_initialize',
submitcourse_nonce: submitcourse_nonce,
course_id: course_id,
user_id: user_id,
author_id: author_id,
},
beforeSend: function(){
this_item.prepend( '' );
},
success: function (response) {
location.reload();
},
complete: function(){
this_item.find('span').remove();
}
});
});
},
dtCoursesListing : function() {
jQuery( 'body' ).delegate( '.coursefilter-orderby:not(.dtlms-without-ajax-load), .coursefilter-category:not(.dtlms-without-ajax-load), .coursefilter-instructor:not(.dtlms-without-ajax-load), .coursefilter-cost:not(.dtlms-without-ajax-load), .coursefilter-date:not(.dtlms-without-ajax-load)', 'change', function() {
var this_item = jQuery(this).parents('.dtlms-courses-listing-holder');
var offset = 0;
var current_page = 1;
// list course ajax call
dtlmsListCourses(offset, current_page, this_item);
});
jQuery(".dtlms-courses-cost-filter").on('click','li',function(){
jQuery(".dtlms-courses-cost-filter li.active").removeClass("active");
jQuery(this).addClass("active");
});
jQuery('.dtlms-courses-search-text:not(.dtlms-without-ajax-load)').on('input', function() {
var this_item = jQuery(this).parents('.dtlms-courses-listing-holder');
var offset = 0;
var current_page = 1;
// list course ajax call
setTimeout( function() {
dtlmsListCourses(offset, current_page, this_item);
}, 1600);
});
jQuery( 'body' ).delegate( '.dtlms-courses-display-type:not(.dtlms-without-ajax-load)', 'click', function(e) {
jQuery('.dtlms-courses-display-type').removeClass('active');
jQuery(this).addClass('active');
var list_type = jQuery(this).attr('data-displaytype');
jQuery(this).parents('.dtlms-courses-listing-holder').find('.dtlms-courses-listing-containers').removeClass('list grid');
jQuery(this).parents('.dtlms-courses-listing-holder').find('.dtlms-courses-listing-containers').addClass(list_type);
jQuery(this).trigger('change');
var this_item = jQuery(this).parents('.dtlms-courses-listing-holder');
var offset = 0;
var current_page = 1;
// list course ajax call
dtlmsListCourses(offset, current_page, this_item);
e.preventDefault();
});
jQuery( 'body' ).delegate( '.dtlms-courses-listing-containers .dtlms-pagination a', 'click', function(e){
var this_item = jQuery(this).parents('.dtlms-courses-listing-holder');
if(jQuery(this).parent().hasClass('prev-post')) {
current_page = parseInt(jQuery(this).attr('data-currentpage'), 10)-1;
} else if(jQuery(this).parent().hasClass('next-post')) {
current_page = parseInt(jQuery(this).attr('data-currentpage'), 10)+1;
} else {
current_page = jQuery(this).text();
}
var post_per_page = jQuery(this).parents('.dtlms-courses-listing-holder').attr('data-postperpage');
if(current_page == 1) {
var offset = 0;
} else if(current_page > 1) {
var offset = ((current_page-1)*post_per_page);
}
// list course ajax call
dtlmsListCourses(offset, current_page, this_item);
e.preventDefault();
});
function dtlmsListCourses(offset, current_page, this_item) {
// gathering all default values
var search_text = this_item.find('.dtlms-courses-search-text').val();
var display_type = this_item.find('.dtlms-courses-display-type.active').attr('data-displaytype');
var order_by = this_item.find('.coursefilter-orderby').val();
var category = this_item.find('.coursefilter-category:checked').map(function(){
return this.value;
}).get();
var instructor = this_item.find('.coursefilter-instructor:checked').map(function(){
return this.value;
}).get();
var cost_type = this_item.find('.coursefilter-cost:checked').map(function(){
return this.value;
}).get();
var start_date = this_item.find('.coursefilter-date').val();
var post_per_page = this_item.attr('data-postperpage');
var columns = this_item.attr('data-columns');
var enable_carousel = this_item.attr('data-enablecarousel');
var show_author_details = this_item.attr('data-showauthordetails');
var disable_filters = this_item.attr('data-disablefilters');
var apply_isotope = this_item.attr('data-applyisotope');
var enable_category_isotope_filter = this_item.attr('data-enablecategoryisotopefilter');
var default_filter = this_item.attr('data-defaultfilter');
var default_display_type = this_item.attr('data-defaultdisplaytype');
var course_item_ids = this_item.attr('data-courseitemids');
var course_category_ids = this_item.attr('data-coursecategoryids');
var instructor_ids = this_item.attr('data-instructorids');
var enable_fullwidth = this_item.attr('data-enablefullwidth');
var type = this_item.attr('data-type');
var show_description = this_item.attr('data-showdescription');
var show_pagination = this_item.attr('data-show-pagination');
var dclass = this_item.attr('data-class');
jQuery.ajax({
type: "POST",
url: lmsfrontendobject.ajaxurl,
data:
{
action: 'dtlms_generate_courses_listing',
display_type: display_type,
order_by: order_by,
category: category,
instructor: instructor,
cost_type: cost_type,
start_date: start_date,
post_per_page: post_per_page,
columns: columns,
offset: offset,
current_page: current_page,
search_text: search_text,
enable_carousel: enable_carousel,
show_author_details: show_author_details,
disable_filters: disable_filters,
apply_isotope: apply_isotope,
enable_category_isotope_filter: enable_category_isotope_filter,
default_filter: default_filter,
default_display_type: default_display_type,
course_item_ids: course_item_ids,
course_category_ids: course_category_ids,
instructor_ids: instructor_ids,
enable_fullwidth: enable_fullwidth,
type: type,
show_description: show_description,
show_pagination : show_pagination,
class: dclass,
},
beforeSend: function(){
dtLMSCommonUtils.dtLMSAjaxBeforeSend(this_item);
},
error: function (xhr, status, error) {
this_item.find('.dtlms-courses-listing-containers').html('Something went wrong!');
},
success: function (response) {
this_item.find('.dtlms-courses-listing-containers').html(response);
if(enable_carousel == 'true') {
dtlmsCoursesSwiper(this_item);
} else {
dtLMSFrontendUtils.dtLMSCoursesListingIsotope();
setTimeout( function() {
jQuery(window).trigger('resize');
}, 3000);
}
},
complete: function(){
dtLMSCommonUtils.dtLMSAjaxAfterSend(this_item);
}
});
}
jQuery('.dtlms-courses-listing-holder:not(.dtlms-without-ajax-load)').each(function() {
if(jQuery(this).length) {
dtlmsListCourses(0, 1, jQuery(this));
}
});
// Courses listing carousel
function dtlmsCoursesSwiper(this_item) {
this_item.find('.dtlms-courses-swiper-listing').each(function() {
var $swiperItem = jQuery(this);
var moduleid = $swiperItem.attr('data-moduleid');
// Get swiper options
var effect = $swiperItem.attr('data-carouseleffect');
var autoplay = parseInt($swiperItem.attr('data-carouselautoplay'), 10);
var slidesperview = parseInt($swiperItem.attr('data-carouselslidesperview'), 10);
var loopmode = ($swiperItem.attr('data-carouselloopmode') == 'true') ? true : false;
var mousewheelcontrol = ($swiperItem.attr('data-carouselmousewheelcontrol') == 'true') ? true : false;
var centeredslide = ($swiperItem.attr('data-carouselcenteredslides') == 'true') ? true : false;
var pagination_type = pagination_class = '';
var bulletpagination = ($swiperItem.attr('data-carouselbulletpagination') == 'true') ? true : false;
if(bulletpagination) {
var pagination_class = '.dtlms-swiper-bullet-pagination';
var pagination_type = 'bullets';
}
var spacebetween = parseInt($swiperItem.attr('data-carouselspacebetween'), 10);
if(spacebetween == '') {
spacebetween = 0;
}
if(slidesperview == 1) {
var breakpoint_slides_1 = breakpoint_slides_2 = breakpoint_slides_3 = breakpoint_slides_4 = 1;
} else if(slidesperview == 2) {
var breakpoint_slides_1 = 2; var breakpoint_slides_2 = 2; var breakpoint_slides_3 = 2; var breakpoint_slides_4 = 1;
} else if(slidesperview == 3) {
var breakpoint_slides_1 = 3; var breakpoint_slides_2 = 2; var breakpoint_slides_3 = 2; var breakpoint_slides_4 = 1;
} else if(slidesperview >= 4) {
var breakpoint_slides_1 = 4; var breakpoint_slides_2 = 2; var breakpoint_slides_3 = 2; var breakpoint_slides_4 = 1;
}
// Generate swiper
const courseswiperOptions ={
simulateTouch: true,
// roundLengths: true,
// keyboardControl: true,
paginationClickable: true,
autoHeight: true,
spaceBetween: spacebetween,
autoplay: autoplay,
slidesPerView: slidesperview,
loop:loopmode,
mousewheelControl: mousewheelcontrol,
direction: 'horizontal',
centeredSlides: centeredslide,
pagination: {
el: pagination_class,
type: pagination_type,
clickable: true
},
effect: effect,
coverflow: {
rotate: 0,
stretch: 10,
depth: 200,
modifier: 1,
},
cube: {
shadow: true,
slideShadows: true,
shadowOffset: 20,
shadowScale: 0.94
},
breakpoints: {
1199: {
slidesPerView: breakpoint_slides_1,
},
991: {
slidesPerView: breakpoint_slides_2,
},
768: {
slidesPerView: breakpoint_slides_3,
},
320: {
slidesPerView: breakpoint_slides_4,
}
},
}
var arrowpagination = ($swiperItem.attr('data-carouselarrowpagination') == 'true') ? true : false;
if(arrowpagination) {
courseswiperOptions.navigation = {
prevEl: '.dtlms-swiper-arrow-prev-'+moduleid,
nextEl: '.dtlms-swiper-arrow-next-'+moduleid
};
}
const swiperGallery = new Swiper('.dtlms-courses-listing-'+moduleid, courseswiperOptions);
});
}
},
dtLessons : function() {
jQuery('body').delegate('.dtlms-lesson-complete-button', 'click', function(e){
var this_item = jQuery(this),
complete_nonce = this_item.attr('data-complete-nonce'),
course_id = this_item.attr('data-courseid'),
lesson_id = this_item.attr('data-lessonid'),
user_id = this_item.attr('data-userid'),
author_id = this_item.attr('data-authorid'),
parent_curriculum_id = this_item.attr('data-parentcurriculumid'),
next_curriculum_id = this_item.attr('data-nextcurriculumid'),
enable_next_curriculum = this_item.attr('data-enablenextcurriculum');
jQuery.ajax({
type: "POST",
url: lmsfrontendobject.ajaxurl,
data:
{
action: 'dtlms_complete_the_lesson',
complete_nonce: complete_nonce,
course_id: course_id,
lesson_id: lesson_id,
user_id: user_id,
author_id: author_id,
parent_curriculum_id: parent_curriculum_id,
next_curriculum_id: next_curriculum_id,
},
beforeSend: function(){
this_item.prepend( '' );
},
success: function (response) {
jQuery('.dtlms-completed').removeClass('hidden');
this_item.addClass('hidden');
if(parent_curriculum_id > 0) {
jQuery('ul.dtlms-curriculum-list li a[data-curriculumid="' + lesson_id + '"][ data-parentcurriculumid="' + parent_curriculum_id + '"]').append('');
} else {
jQuery('ul.dtlms-curriculum-list li a[data-curriculumid="' + lesson_id + '"][ data-parentcurriculumid="-1"]').append('');
}
// Enable next curriculum item
if(enable_next_curriculum == 'true') {
if(next_curriculum_id > 0) {
jQuery('ul.dtlms-curriculum-list li a[data-curriculumid="' + next_curriculum_id + '"]').parents('li').removeClass('locked').addClass('unlocked');
}
}
},
complete: function(){
this_item.find('span').remove();
}
});
e.preventDefault();
});
},
dtPackagesListing : function() {
jQuery( 'body' ).delegate( '.dtlms-packages-listing-containers .dtlms-pagination a', 'click', function(e){
var this_item = jQuery(this).parents('.dtlms-packages-listing-holder');
if(jQuery(this).parent().hasClass('prev-post')) {
current_page = parseInt(jQuery(this).attr('data-currentpage'), 10)-1;
} else if(jQuery(this).parent().hasClass('next-post')) {
current_page = parseInt(jQuery(this).attr('data-currentpage'), 10)+1;
} else {
current_page = jQuery(this).text();
}
var post_per_page = jQuery(this).parents('.dtlms-packages-listing-holder').attr('data-postperpage');
if(current_page == 1) {
var offset = 0;
} else if(current_page > 1) {
var offset = ((current_page-1)*post_per_page);
}
// list package ajax call
dtlmsListPackages(offset, current_page, this_item);
e.preventDefault();
});
function dtlmsListPackages(offset, current_page, this_item) {
var post_per_page = this_item.attr('data-postperpage');
var columns = this_item.attr('data-columns');
var apply_isotope = this_item.attr('data-applyisotope');
var display_type = this_item.attr('data-displaytype');
var type = this_item.attr('data-type');
var package_item_ids = this_item.attr('data-packageitemids');
var enable_carousel = this_item.attr('data-enablecarousel');
jQuery.ajax({
type: "POST",
url: lmsfrontendobject.ajaxurl,
data:
{
action: 'dtlms_generate_packages_listing',
offset: offset,
current_page: current_page,
post_per_page: post_per_page,
columns: columns,
apply_isotope: apply_isotope,
display_type: display_type,
type: type,
package_item_ids: package_item_ids,
enable_carousel: enable_carousel,
},
beforeSend: function(){
dtLMSCommonUtils.dtLMSAjaxBeforeSend(this_item);
},
error: function (xhr, status, error) {
this_item.find('.dtlms-packages-listing-containers').html('Something went wrong!');
},
success: function (response) {
this_item.find('.dtlms-packages-listing-containers').html(response);
if(enable_carousel == 'true') {
dtlmsPackagesSwiper(this_item);
} else {
dtLMSFrontendUtils.dtLMSPackagesListingIsotope();
setTimeout( function() {
jQuery('.dtlms-apply-isotope .dtlms-packages-listing-items').isotope('layout');
}, 600);
}
},
complete: function(){
dtLMSCommonUtils.dtLMSAjaxAfterSend(this_item);
}
});
}
jQuery('.dtlms-packages-listing-holder').each(function() {
if(jQuery(this).length) {
dtlmsListPackages(0, 1, jQuery(this));
}
});
// Packages listing carousel
function dtlmsPackagesSwiper(this_item) {
this_item.find('.dtlms-packages-swiper-listing').each(function() {
var $swiperItem = jQuery(this);
var moduleid = $swiperItem.attr('data-moduleid');
// Get swiper options
var effect = $swiperItem.attr('data-carouseleffect');
var autoplay = parseInt($swiperItem.attr('data-carouselautoplay'), 10);
var slidesperview = parseInt($swiperItem.attr('data-carouselslidesperview'), 10);
var loopmode = ($swiperItem.attr('data-carouselloopmode') == 'true') ? true : false;
var mousewheelcontrol = ($swiperItem.attr('data-carouselmousewheelcontrol') == 'true') ? true : false;
var pagination_type = pagination_class = '';
var bulletpagination = ($swiperItem.attr('data-carouselbulletpagination') == 'true') ? true : false;
if(bulletpagination) {
var pagination_class = '.dtlms-swiper-bullet-pagination';
var pagination_type = 'bullets';
}
var spacebetween = parseInt($swiperItem.attr('data-carouselspacebetween'), 10);
if(spacebetween == '') {
spacebetween = 0;
}
if(slidesperview == 1) {
var breakpoint_slides_1 = breakpoint_slides_2 = breakpoint_slides_3 = breakpoint_slides_4 = 1;
} else if(slidesperview == 2) {
var breakpoint_slides_1 = 2; var breakpoint_slides_2 = 2; var breakpoint_slides_3 = 1; var breakpoint_slides_4 = 1;
} else if(slidesperview == 3) {
var breakpoint_slides_1 = 3; var breakpoint_slides_2 = 2; var breakpoint_slides_3 = 1; var breakpoint_slides_4 = 1;
} else if(slidesperview >= 4) {
var breakpoint_slides_1 = 4; var breakpoint_slides_2 = 2; var breakpoint_slides_3 = 1; var breakpoint_slides_4 = 1;
}
// Generate swiper
const packageswiperOptions= {
simulateTouch: true,
// roundLengths: true,
// keyboardControl: true,
paginationClickable: true,
autoHeight: true,
spaceBetween: spacebetween,
autoplay: autoplay,
slidesPerView: slidesperview,
loop:loopmode,
mousewheelControl: mousewheelcontrol,
direction: 'horizontal',
pagination: pagination_class,
paginationType: pagination_type,
effect: effect,
coverflow: {
rotate: 0,
stretch: 10,
depth: 200,
modifier: 1,
},
cube: {
shadow: true,
slideShadows: true,
shadowOffset: 20,
shadowScale: 0.94
},
breakpoints: {
1199: {
slidesPerView: breakpoint_slides_1,
},
991: {
slidesPerView: breakpoint_slides_2,
},
767: {
slidesPerView: breakpoint_slides_3,
},
320: {
slidesPerView: breakpoint_slides_4,
}
},
}
var arrowpagination = ($swiperItem.attr('data-carouselarrowpagination') == 'true') ? true : false;
if(arrowpagination) {
packageswiperOptions.navigation = {
prevEl: '.dtlms-swiper-arrow-prev-'+moduleid,
nextEl: '.dtlms-swiper-arrow-next-'+moduleid
};
}
const packageswiperGallery = new Swiper('.dtlms-packages-listing-'+moduleid, packageswiperOptions);
});
}
},
};
jQuery(document).ready(function() {
"use strict";
if(!lmscommonobject.elementorPreviewMode) {
dtLMSFrontend.dtInit();
}
if(jQuery('.dtlms-onsite-map-container').length) {
initClassLocationMap();
}
});
function ClassLocationMap () {
if(typeof initClassLocationMap === 'function') { initClassLocationMap(); }
}
( function( $ ) {
"use strict";
var dtLMSFrontendJs = function($scope, $){
dtLMSFrontend.dtInit();
};
$(window).on('elementor/frontend/init', function(){
if(lmscommonobject.elementorPreviewMode) {
elementorFrontend.hooks.addAction('frontend/element_ready/dtlms-widget-default-courses-listing.default', dtLMSFrontendJs);
elementorFrontend.hooks.addAction('frontend/element_ready/dtlms-widget-default-packages-listing.default', dtLMSFrontendJs);
}
});
} )( jQuery );