PageSourceSearch

https://tutorsvilla.com/wp-content/plugins/lizza-wedesigntech-lms-addon/assets/js/frontend.js?ver=6.9.9

js tutorsvilla.com collected 2026-10-06 12:50:34 UTC 35,361 bytes, 1,108 lines download raw bytes

1var dtLMSFrontendUtils = {
2
3	dtLMSInitializeDonutChart : function() {
4
5	  	jQuery('.dtlms-donutchart').each(function() {
6			var $this = jQuery(this);
7		 	var $bgColor =  ( $this.data('bgcolor') !== undefined ) ? $this.data('bgcolor') : '#5D18D6';
8		 	var $fgColor =  ( $this.data('fgcolor') !== undefined ) ? $this.data('fgcolor') : '#000000';
9		 	var $size = ( $this.data('size') !== undefined ) ? $this.data('size') : '100';
10
11		 	$this.donutchart({'size': $size, 'fgColor': $fgColor, 'bgColor': $bgColor , 'donutwidth' : 5 });
12		 	$this.donutchart('animate');
13		});
14
15	},
16
17	dtLMSEnableCourseCurriculumContentScroll : function() {
18
19		if(jQuery('.dtlms-curriculum-content-holder').length) {
20
21			var currentWidth = window.innerWidth || document.documentElement.clientWidth;
22
23			if(currentWidth > 1199) {
24
25				jQuery('.dtlms-curriculum-content-holder').height(5000);
26
27				setTimeout(function() {
28
29					var windowHeight = jQuery(window.top).height();
30					var height = parseInt((parseInt(windowHeight, 10)-parseInt(184, 10)), 10);
31
32					jQuery('.dtlms-curriculum-content-holder').height(height);
33
34					dtLMSCommonUtils.dtLMSNiceScroll('.dtlms-curriculum-content-holder');
35
36				}, 400);
37
38			}
39
40		}
41
42	},
43
44	dtLMSEnableCourseCurriculumDetailsScroll : function() {
45
46		if(jQuery('.dtlms-curriculum-detailed-links').length) {
47
48			var currentWidth = window.innerWidth || document.documentElement.clientWidth;
49
50			if(currentWidth > 1199) {
51
52				jQuery('.dtlms-curriculum-detailed-links').height(5000);
53
54				setTimeout(function() {
55
56					var windowHeight = jQuery(window.top).height();
57					var height = parseInt((parseInt(windowHeight, 10)-parseInt(184, 10)), 10);
58
59					jQuery('.dtlms-curriculum-detailed-links').height(height);
60
61					dtLMSCommonUtils.dtLMSNiceScroll('.dtlms-curriculum-detailed-links');
62
63				}, 400);
64
65			}
66
67		}
68
69	},
70
71	dtLMSEnableCourseCurriculumResponsiveScroll : function() {
72
73		if(jQuery('.dtlms-course-curriculum-popup-container').length) {
74
75			var currentWidth = window.innerWidth || document.documentElement.clientWidth;
76
77			if(currentWidth <= 1199) {
78
79				jQuery('.dtlms-course-curriculum-popup-container').height(5000);
80
81				setTimeout(function() {
82
83					var windowHeight = jQuery(window.top).height();
84					var height = parseInt((parseInt(windowHeight, 10)-parseInt(184, 10)), 10);
85
86					jQuery('.dtlms-course-curriculum-popup-container').height(height);
87
88					dtLMSCommonUtils.dtLMSNiceScroll('.dtlms-course-curriculum-popup-container');
89
90				}, 400);
91
92			}
93
94		}
95
96	},
97
98	dtLMSToggleItems : function() {
99
100		if(jQuery('.dtlms-toggle').length) {
101
102			jQuery('.dtlms-toggle').toggleClick(function() {
103				jQuery(this).removeClass('active');
104			}, function() {
105				jQuery(this).addClass('active');
106			});
107
108			jQuery('.dtlms-toggle').on('click', function(){
109				jQuery(this).next('.dtlms-toggle-content').slideToggle();
110			});
111
112		}
113
114	},
115
116	dtLMSProgressBar : function(inview) {
117
118		if(inview) {
119
120			jQuery('.dtlms-progressbar').each(function() {
121
122				jQuery(this).one('inview', function (event, visible) {
123					if (visible == true) {
124						 var progressBar = jQuery(this),
125						 	 progressValue = progressBar.find('.dtlms-bar').attr('data-value');
126
127						if (!progressBar.hasClass('animated')) {
128						 	progressBar.addClass('animated');
129							progressBar.find('.dtlms-bar').animate({
130									width: progressValue + "%"
131								}, 600, function() {
132									progressBar.find('.dtlms-bar-text').fadeIn(400);
133							});
134						}
135					}
136				});
137
138			});
139
140		} else {
141
142			jQuery('.dtlms-progressbar').each(function() {
143
144				var progressBar = jQuery(this),
145				 	 progressValue = progressBar.find('.dtlms-bar').attr('data-value');
146
147				if (!progressBar.hasClass('animated')) {
148				 	progressBar.addClass('animated');
149					progressBar.find('.dtlms-bar').animate({
150							width: progressValue + "%"
151						}, 600, function() {
152							progressBar.find('.dtlms-bar-text').fadeIn(400);
153					});
154				}
155
156			});
157
158		}
159
160	},
161
162	dtLMSCountDownTimer : function(itemId) {
163
164		if(itemId.find('.dtlms-countdown-holder').length) {
165
166			itemId.find('.dtlms-countdown-holder').downCount({
167				date	: itemId.find('.dtlms-countdown-holder').attr('data-date'),
168				offset	: itemId.find('.dtlms-countdown-holder').attr('data-offset')
169			}, function () {
170				var curriculum_id = itemId.find('.dtlms-countdown-holder').attr('data-curriculumid');
171				var parent_curriculum_id = itemId.find('.dtlms-countdown-holder').attr('data-parentcurriculumid');
172				jQuery( '.dtlms-curriculum-meta-title a[data-curriculumid='+curriculum_id+'][data-parentcurriculumid='+parent_curriculum_id+']' ).trigger('click');
173				return false;
174			});
175
176		}
177
178	},
179
180	dtLMSCoursesListingIsotope : function() {
181
182	    jQuery('.dtlms-apply-isotope .dtlms-courses-listing-items').each(function() {
183
184	        jQuery(this).isotope({
185				itemSelector: '.dtlms-column',
186				percentPosition: true,
187				masonry: {
188					columnWidth: '.grid-sizer'
189				}
190	        });
191
192	    });
193
194	    jQuery('.dtlms-apply-isotope .dtlms-courses-listing-isotope-filter').each(function() {
195
196	    	var isotope_filter = jQuery(this);
197
198			isotope_filter.find('a').on('click', function() {
199
200				isotope_filter.find('a').removeClass('active-sort');
201				var selector = jQuery(this).attr('data-filter');
202				jQuery(this).addClass('active-sort');
203
204				jQuery(this).parents('.dtlms-apply-isotope').find('.dtlms-courses-listing-items').isotope({ filter: selector, masonry: {  }, animationEngine : 'jquery' });
205
206				return false;
207
208			});
209
210	    });
211
212	},
213
214	dtLMSPackagesListingIsotope : function() {
215
216	    jQuery('.dtlms-apply-isotope .dtlms-packages-listing-items').each(function() {
217	        jQuery(this).isotope({
218				itemSelector: '.dtlms-column',
219				percentPosition: true,
220				masonry: {
221					columnWidth: '.grid-sizer'
222				}
223	        });
224	    });
225
226	},
227
228	dtLMSTabScroll : function() {
229
230		if(jQuery('.dtlms-course-detail .dtlms-tabs-horizontal').length) {
231			jQuery('.dtlms-course-detail .dtlms-tabs-horizontal').scrollTabs({
232
233				click_callback: function(e){
234					dtLMSCommonUtils.dtLMSContentTabs();
235				}
236
237
238			});
239		}
240		if(jQuery('.dtlms-class-detail .dtlms-tabs-horizontal').length) {
241			jQuery('.dtlms-class-detail .dtlms-tabs-horizontal').scrollTabs({
242
243				click_callback: function(e){
244					dtLMSCommonUtils.dtLMSContentTabs();
245				}
246
247
248			});
249		}
250
251		setTimeout(function() {
252			jQuery('.dtlms-tabs-horizontal .scroll_tab_first.current').trigger('click');
253		}, 800);
254
255	},
256
257};
258
259var dtLMSFrontend = {
260
261	dtInit : function() {
262
263		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;
264		var currentWidth = window.innerWidth || document.documentElement.clientWidth;
265
266		dtLMSFrontend.dtLMS(isMobile, currentWidth);
267		dtLMSFrontend.dtCurriculum();
268		dtLMSFrontend.dtCourses();
269		dtLMSFrontend.dtCoursesListing();
270		dtLMSFrontend.dtLessons();
271		dtLMSFrontend.dtPackagesListing();
272
273	},
274
275	dtLMS : function(isMobile, currentWidth) {
276
277		// For mega menu fullwidth issue fix
278		if(jQuery('body').hasClass('single-dtlms_courses')) {
279			setTimeout(function() {
280				jQuery(window).trigger('resize');
281			}, 800);
282		}
283
284		dtLMSFrontendUtils.dtLMSToggleItems();
285		dtLMSFrontendUtils.dtLMSCountDownTimer(jQuery('.dtlms-class-dynamic-section-holder, .dtlms-course-dynamic-section-holder'));
286		dtLMSFrontendUtils.dtLMSTabScroll();
287
288		// Tabs
289		dtLMSCommonUtils.dtLMSContentTabs();
290
291		jQuery(window).on('resize', function() {
292			dtLMSFrontendUtils.dtLMSEnableCourseCurriculumContentScroll();
293			dtLMSFrontendUtils.dtLMSEnableCourseCurriculumDetailsScroll();
294			dtLMSFrontendUtils.dtLMSEnableCourseCurriculumResponsiveScroll();
295
296			dtLMSFrontendUtils.dtLMSCoursesListingIsotope();
297			dtLMSFrontendUtils.dtLMSPackagesListingIsotope();
298		});
299
300		dtLMSFrontendUtils.dtLMSProgressBar(false);
301
302	},
303
304	dtCurriculum : function() {
305
306		jQuery( 'body' ).delegate( '.dtlms-curriculum-list li:not(.locked) .dtlms-curriculum-meta-title a', 'click', function(e){
307
308			if(jQuery('#dtlms-course-curriculum-popup').hasClass('dtlms-curriculum-quiz-lock')) {
309				if(confirm(lmsfrontendobject.onRefreshCurriculum)) {
310					jQuery('#dtlms-complete-quiz').trigger('click');
311					return false;
312				} else {
313					return false;
314				}
315			}
316
317			var this_item = jQuery(this),
318				parent_item = this_item.parents('.dtlms-curriculum-details, .dtlms-tabs-horizontal-content, .dtlms-class-course-curriculum-holder, .dtlms-course-curriculum-popup-container'),
319				course_id = this_item.attr('data-courseid'),
320				parent_curriculum_id = this_item.attr('data-parentcurriculumid'),
321				curriculum_id = this_item.attr('data-curriculumid');
322
323			jQuery.ajax({
324				type: "POST",
325				url: lmsfrontendobject.ajaxurl,
326				data:
327				{
328					action: 'dtlms_generate_curriculum_page_contents',
329					course_id: course_id,
330					parent_curriculum_id: parent_curriculum_id,
331					curriculum_id: curriculum_id,
332				},
333				beforeSend: function(){
334					dtLMSCommonUtils.dtLMSAjaxBeforeSend(parent_item);
335				},
336				error: function (xhr, status, error) {
337				},
338				success: function (response) {
339
340					jQuery('body').find('#dtlms-course-curriculum-popup').remove();
341					jQuery('body').append(response);
342
343					jQuery('#dtlms-course-curriculum-popup .dtlms-curriculum-list li').removeClass('active');
344					jQuery('#dtlms-course-curriculum-popup .dtlms-curriculum-list li a[data-curriculumid="' + curriculum_id + '"][ data-parentcurriculumid="' + parent_curriculum_id + '"]').parents('li').addClass('active');
345
346					jQuery('body, html').css('overflow', 'hidden');
347					dtLMSFrontendUtils.dtLMSToggleItems();
348					dtLMSFrontendUtils.dtLMSEnableCourseCurriculumContentScroll();
349					dtLMSFrontendUtils.dtLMSEnableCourseCurriculumDetailsScroll();
350					dtLMSFrontendUtils.dtLMSEnableCourseCurriculumResponsiveScroll();
351
352					if(jQuery('#dtlms-course-curriculum-popup').find('.dtlms-countdown-holder').length) {
353						dtLMSFrontendUtils.dtLMSCountDownTimer(jQuery('#dtlms-course-curriculum-popup').find('.dtlms-curriculum-content-holder'));
354					}
355
356				},
357				complete: function(){
358					dtLMSCommonUtils.dtLMSAjaxAfterSend(parent_item);
359				}
360			});
361
362			e.preventDefault();
363
364		});
365
366		jQuery( 'body' ).delegate( '.dtlms-refresh-course-curriculum', 'click', function(e){
367
368			if(jQuery('#dtlms-course-curriculum-popup').hasClass('dtlms-curriculum-quiz-lock')) {
369				if(confirm(lmsfrontendobject.onRefreshCurriculum)) {
370					jQuery('#dtlms-complete-quiz').trigger('click');
371					return false;
372				} else {
373					return false;
374				}
375			}
376
377			if(jQuery('.dtlms-curriculum-list li.active li.active .dtlms-curriculum-meta-title a').length) {
378				jQuery('.dtlms-curriculum-list li.active li.active .dtlms-curriculum-meta-title a:first').trigger('click');
379			} else {
380				jQuery('.dtlms-curriculum-list li.active .dtlms-curriculum-meta-title a:first').trigger('click');
381			}
382
383			e.preventDefault();
384
385		});
386
387		jQuery( 'body' ).delegate( '.dtlms-close-course-curriculum-popup', 'click', function(e){
388
389			if(jQuery('#dtlms-course-curriculum-popup').hasClass('dtlms-curriculum-quiz-lock')) {
390				if(confirm(lmsfrontendobject.onRefreshCurriculum)) {
391					jQuery('#dtlms-complete-quiz').trigger('click');
392					return false;
393				} else {
394					return false;
395				}
396			}
397
398			jQuery('body, html').css('overflow', '');
399			jQuery('#dtlms-course-curriculum-popup').remove();
400
401			location.reload();
402
403			e.preventDefault();
404
405		});
406
407	},
408
409	dtCourses : function() {
410
411		jQuery('.dtlms-class-toggle-switch').toggleClick(function(){ jQuery(this).addClass('active'); },function(){ jQuery(this).removeClass('active'); });
412		jQuery('.dtlms-class-toggle-switch').on('click', function(){ jQuery(this).parents('.dtlms-class-toggle-frame').find('.dtlms-class-toggle-content').slideToggle(); });
413
414
415		jQuery('.ratings span').mouseenter(function(e) {
416			if(!jQuery(this).parents('.ratings').hasClass('rated')) {
417				jQuery('.ratings span').removeClass('zmdi zmdi-star-outline');
418				jQuery( this ).prevAll( 'span' ).andSelf().addClass('zmdi zmdi-star-outline');
419				jQuery( this ).nextAll( 'span' ).addClass('zmdi zmdi-star-outline');
420			} else {
421				setTimeout(function() { jQuery('.ratings').removeClass('rated'); },100);
422			}
423			e.preventDefault();
424		}).mouseleave(function(e) {
425			if(!jQuery(this).parents('.ratings').hasClass('rated')) {
426				jQuery('.ratings span').removeClass('zmdi zmdi-star-outline');
427				jQuery( this ).prevAll( 'span' ).andSelf().addClass('zmdi zmdi-star-outline');
428				jQuery( this ).nextAll( 'span' ).addClass('zmdi zmdi-star-outline');
429			} else {
430				setTimeout(function() { jQuery('.ratings').removeClass('rated'); },100);
431			}
432			e.preventDefault();
433		});
434
435		jQuery('.ratings span').on('click', function(e) {
436			if(!jQuery(this).parents('.ratings').hasClass('rated')) {
437				jQuery(this).prevAll('span').andSelf().addClass('zmdi zmdi-star');
438				jQuery(this).parents('.ratings-holder').find('#lms_rating').val(parseInt(jQuery(this).attr('data-value'), 10));
439				jQuery(this).parents('.ratings').addClass('rated');
440			}
441			e.preventDefault();
442		});
443
444
445	    dtLMSCommonUtils.dtLMSNiceScroll('.dtlms-students-enrolled-list');
446
447		jQuery( 'body' ).delegate( '.dtlms-start-course-button', 'click', function(e){
448
449			var this_item = jQuery(this),
450				startcourse_nonce = this_item.attr('data-start-course-nonce'),
451				course_id = this_item.attr('data-courseid'),
452				user_id = this_item.attr('data-userid'),
453				author_id = this_item.attr('data-authorid');
454
455			jQuery.ajax({
456				type: "POST",
457				url: lmsfrontendobject.ajaxurl,
458				data:
459				{
460					action: 'dtlms_start_course_initialize',
461					startcourse_nonce: startcourse_nonce,
462					course_id: course_id,
463					user_id: user_id,
464					author_id: author_id,
465				},
466				beforeSend: function(){
467					this_item.prepend( '<span><i class="fas fa-spinner fa-spin"></i></span>' );
468				},
469				success: function (response) {
470					location.reload();
471				},
472				complete: function() {
473				}
474			});
475
476			e.preventDefault();
477
478		});
479
480		jQuery( 'body' ).delegate( '.dtlms-submit-course-button', 'click', function(e) {
481
482			e.preventDefault();
483
484			var this_item = jQuery(this),
485				submitcourse_nonce = this_item.attr('data-submit-course-nonce'),
486				course_id = this_item.attr('data-courseid'),
487				user_id = this_item.attr('data-userid'),
488				author_id = this_item.attr('data-authorid'),
489				total_curriculumcount = this_item.attr('data-totalcurriculumcount'),
490				submitted_curriculum_count = this_item.attr('data-submittedcurriculumcount');
491
492			if(total_curriculumcount != submitted_curriculum_count)	 {
493				alert(lmsfrontendobject.submitCourse);
494				return false;
495			}
496
497			jQuery.ajax({
498				type: "POST",
499				url: lmsfrontendobject.ajaxurl,
500				data:
501				{
502					action: 'dtlms_submit_course_initialize',
503					submitcourse_nonce: submitcourse_nonce,
504					course_id: course_id,
505					user_id: user_id,
506					author_id: author_id,
507				},
508				beforeSend: function(){
509					this_item.prepend( '<span><i class="fas fa-spinner fa-spin"></i></span>' );
510				},
511				success: function (response) {
512					location.reload();
513				},
514				complete: function(){
515					this_item.find('span').remove();
516				}
517			});
518
519		});
520
521	},
522
523	dtCoursesListing : function() {
524
525		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() {
526
527			var this_item = jQuery(this).parents('.dtlms-courses-listing-holder');
528			var offset = 0;
529			var current_page = 1;
530
531			// list course ajax call
532			dtlmsListCourses(offset, current_page, this_item);
533
534		});
535
536		jQuery(".dtlms-courses-cost-filter").on('click','li',function(){
537			jQuery(".dtlms-courses-cost-filter li.active").removeClass("active"); 
538			jQuery(this).addClass("active"); 
539		});
540
541		jQuery('.dtlms-courses-search-text:not(.dtlms-without-ajax-load)').on('input', function() {
542
543			var this_item = jQuery(this).parents('.dtlms-courses-listing-holder');
544			var offset = 0;
545			var current_page = 1;
546
547			// list course ajax call
548			setTimeout( function() {
549				dtlmsListCourses(offset, current_page, this_item);
550			}, 1600);
551
552		});
553
554		jQuery( 'body' ).delegate( '.dtlms-courses-display-type:not(.dtlms-without-ajax-load)', 'click', function(e) {
555
556			jQuery('.dtlms-courses-display-type').removeClass('active');
557			jQuery(this).addClass('active');
558			var list_type = jQuery(this).attr('data-displaytype');
559			jQuery(this).parents('.dtlms-courses-listing-holder').find('.dtlms-courses-listing-containers').removeClass('list grid');
560			jQuery(this).parents('.dtlms-courses-listing-holder').find('.dtlms-courses-listing-containers').addClass(list_type);
561			jQuery(this).trigger('change');
562
563			var this_item = jQuery(this).parents('.dtlms-courses-listing-holder');
564			var offset = 0;
565			var current_page = 1;
566
567			// list course ajax call
568			dtlmsListCourses(offset, current_page, this_item);
569
570			e.preventDefault();
571
572		});
573
574		jQuery( 'body' ).delegate( '.dtlms-courses-listing-containers .dtlms-pagination a', 'click', function(e){
575
576			var this_item = jQuery(this).parents('.dtlms-courses-listing-holder');
577
578			if(jQuery(this).parent().hasClass('prev-post')) {
579				current_page = parseInt(jQuery(this).attr('data-currentpage'), 10)-1;
580			} else if(jQuery(this).parent().hasClass('next-post')) {
581				current_page = parseInt(jQuery(this).attr('data-currentpage'), 10)+1;
582			} else {
583				current_page = jQuery(this).text();
584			}
585
586			var post_per_page = jQuery(this).parents('.dtlms-courses-listing-holder').attr('data-postperpage');
587
588			if(current_page == 1) {
589				var offset = 0;
590			} else if(current_page > 1) {
591				var offset = ((current_page-1)*post_per_page);
592			}
593
594			// list course ajax call
595			dtlmsListCourses(offset, current_page, this_item);
596
597			e.preventDefault();
598
599		});
600
601		function dtlmsListCourses(offset, current_page, this_item) {
602
603			// gathering all default values
604			var search_text = this_item.find('.dtlms-courses-search-text').val();
605
606			var display_type = this_item.find('.dtlms-courses-display-type.active').attr('data-displaytype');
607
608			var order_by = this_item.find('.coursefilter-orderby').val();
609
610			var category = this_item.find('.coursefilter-category:checked').map(function(){
611				return this.value;
612			}).get();
613
614			var instructor = this_item.find('.coursefilter-instructor:checked').map(function(){
615				return this.value;
616			}).get();
617
618			var cost_type = this_item.find('.coursefilter-cost:checked').map(function(){
619				return this.value;
620			}).get();
621
622			var start_date = this_item.find('.coursefilter-date').val();
623
624
625			var post_per_page = this_item.attr('data-postperpage');
626			var columns = this_item.attr('data-columns');
627			var enable_carousel = this_item.attr('data-enablecarousel');
628			var show_author_details = this_item.attr('data-showauthordetails');
629			var disable_filters = this_item.attr('data-disablefilters');
630
631			var apply_isotope = this_item.attr('data-applyisotope');
632			var enable_category_isotope_filter = this_item.attr('data-enablecategoryisotopefilter');
633
634			var default_filter = this_item.attr('data-defaultfilter');
635			var default_display_type = this_item.attr('data-defaultdisplaytype');
636			var course_item_ids = this_item.attr('data-courseitemids');
637			var course_category_ids = this_item.attr('data-coursecategoryids');
638			var instructor_ids = this_item.attr('data-instructorids');
639			var enable_fullwidth = this_item.attr('data-enablefullwidth');
640			var type = this_item.attr('data-type');
641			var show_description = this_item.attr('data-showdescription');
642			var show_pagination = this_item.attr('data-show-pagination');
643			console.log(show_pagination);
644			var dclass = this_item.attr('data-class');
645
646			jQuery.ajax({
647				type: "POST",
648				url: lmsfrontendobject.ajaxurl,
649				data:
650				{
651					action: 'dtlms_generate_courses_listing',
652					display_type: display_type,
653					order_by: order_by,
654					category: category,
655					instructor: instructor,
656					cost_type: cost_type,
657					start_date: start_date,
658					post_per_page: post_per_page,
659					columns: columns,
660					offset: offset,
661					current_page: current_page,
662					search_text: search_text,
663					enable_carousel: enable_carousel,
664					show_author_details: show_author_details,
665					disable_filters: disable_filters,
666					apply_isotope: apply_isotope,
667					enable_category_isotope_filter: enable_category_isotope_filter,
668					default_filter: default_filter,
669					default_display_type: default_display_type,
670					course_item_ids: course_item_ids,
671					course_category_ids: course_category_ids,
672					instructor_ids: instructor_ids,
673					enable_fullwidth: enable_fullwidth,
674					type: type,
675					show_description: show_description,
676					show_pagination : show_pagination,
677					class: dclass,
678				},
679				beforeSend: function(){
680					dtLMSCommonUtils.dtLMSAjaxBeforeSend(this_item);
681				},
682				error: function (xhr, status, error) {
683					this_item.find('.dtlms-courses-listing-containers').html('Something went wrong!');
684				},
685				success: function (response) {
686					this_item.find('.dtlms-courses-listing-containers').html(response);
687					if(enable_carousel == 'true') {
688						dtlmsCoursesSwiper(this_item);
689					} else {
690						dtLMSFrontendUtils.dtLMSCoursesListingIsotope();
691						setTimeout( function() {
692							jQuery(window).trigger('resize');
693						}, 3000);
694					}
695				},
696				complete: function(){
697					dtLMSCommonUtils.dtLMSAjaxAfterSend(this_item);
698				}
699			});
700
701		}
702
703		jQuery('.dtlms-courses-listing-holder:not(.dtlms-without-ajax-load)').each(function() {
704			if(jQuery(this).length) {
705				dtlmsListCourses(0, 1, jQuery(this));
706			}
707		});
708
709
710
711		// Courses listing carousel
712
713		function dtlmsCoursesSwiper(this_item) {
714			this_item.find('.dtlms-courses-swiper-listing').each(function() {
715
716				var $swiperItem = jQuery(this);
717				var moduleid = $swiperItem.attr('data-moduleid');
718
719				// Get swiper options
720				var effect = $swiperItem.attr('data-carouseleffect');
721				var autoplay = parseInt($swiperItem.attr('data-carouselautoplay'), 10);
722				
723				var slidesperview = parseInt($swiperItem.attr('data-carouselslidesperview'), 10);
724				var loopmode = ($swiperItem.attr('data-carouselloopmode') == 'true') ? true : false;
725				var mousewheelcontrol = ($swiperItem.attr('data-carouselmousewheelcontrol') == 'true') ? true : false;
726
727				var pagination_type = pagination_class = '';
728				var bulletpagination = ($swiperItem.attr('data-carouselbulletpagination') == 'true') ? true : false;
729				if(bulletpagination) {
730					var pagination_class = '.dtlms-swiper-bullet-pagination';
731					var pagination_type = 'bullets';
732				}
733
734				var spacebetween = parseInt($swiperItem.attr('data-carouselspacebetween'), 10);
735				if(spacebetween == '') {
736					spacebetween = 0;
737				}
738
739				if(slidesperview == 1) {
740					var breakpoint_slides_1 = breakpoint_slides_2 = breakpoint_slides_3 = breakpoint_slides_4 = 1;
741				} else if(slidesperview == 2) {
742					var breakpoint_slides_1 = 2; var breakpoint_slides_2 = 2; var breakpoint_slides_3 = 2; var breakpoint_slides_4 = 1;
743				} else if(slidesperview == 3) {
744					var breakpoint_slides_1 = 3; var breakpoint_slides_2 = 2; var breakpoint_slides_3 = 2; var breakpoint_slides_4 = 1;
745				} else if(slidesperview >= 4) {
746					var breakpoint_slides_1 = 4; var breakpoint_slides_2 = 2; var breakpoint_slides_3 = 2; var breakpoint_slides_4 = 1;
747				}
748				
749				// Generate swiper
750			    const courseswiperOptions ={
751
752	                simulateTouch: true,
753	                // roundLengths: true,
754	                // keyboardControl: true,
755	                paginationClickable: true,
756	                autoHeight: true,
757
758	                spaceBetween: spacebetween,
759	                autoplay: autoplay,
760	                slidesPerView: slidesperview,
761	                loop:loopmode,
762	                mousewheelControl: mousewheelcontrol,
763	                direction: 'horizontal',
764
765					pagination: {
766						el: pagination_class,
767						type: pagination_type,
768						clickable: true
769					},
770
771	                effect: effect,
772					coverflow: {
773					  rotate: 0,
774					  stretch: 10,
775					  depth: 200,
776					  modifier: 1,
777					},
778			        cube: {
779			            shadow: true,
780			            slideShadows: true,
781			            shadowOffset: 20,
782			            shadowScale: 0.94
783			        },
784
785			        breakpoints: {
786			            1199: {
787			                slidesPerView: breakpoint_slides_1,
788			            },
789			            991: {
790			                slidesPerView: breakpoint_slides_2,
791			            },
792			            768: {
793			                slidesPerView: breakpoint_slides_3,
794			            },
795			            320: {
796			                slidesPerView: breakpoint_slides_4,
797			            }
798			        },
799
800			    }
801				var arrowpagination = ($swiperItem.attr('data-carouselarrowpagination') == 'true') ? true : false;
802
803		    	if(arrowpagination) {
804
805					courseswiperOptions.navigation = {
806						prevEl: '.dtlms-swiper-arrow-prev-'+moduleid,
807						nextEl: '.dtlms-swiper-arrow-next-'+moduleid
808					};
809				}
810				
811				const swiperGallery = new Swiper('.dtlms-courses-listing-'+moduleid, courseswiperOptions);
812
813			});
814
815		}
816
817	},
818
819	dtLessons : function() {
820
821		jQuery('body').delegate('.dtlms-lesson-complete-button', 'click', function(e){
822
823			var this_item = jQuery(this),
824				complete_nonce = this_item.attr('data-complete-nonce'),
825				course_id = this_item.attr('data-courseid'),
826				lesson_id = this_item.attr('data-lessonid'),
827				user_id = this_item.attr('data-userid'),
828				author_id = this_item.attr('data-authorid'),
829				parent_curriculum_id = this_item.attr('data-parentcurriculumid'),
830				next_curriculum_id = this_item.attr('data-nextcurriculumid'),
831				enable_next_curriculum = this_item.attr('data-enablenextcurriculum');
832
833			jQuery.ajax({
834				type: "POST",
835				url: lmsfrontendobject.ajaxurl,
836				data:
837				{
838					action: 'dtlms_complete_the_lesson',
839					complete_nonce: complete_nonce,
840					course_id: course_id,
841					lesson_id: lesson_id,
842					user_id: user_id,
843					author_id: author_id,
844					parent_curriculum_id: parent_curriculum_id,
845					next_curriculum_id: next_curriculum_id,
846				},
847				beforeSend: function(){
848					this_item.prepend( '<span><i class="fas fa-spinner fa-spin"></i></span>' );
849				},
850				success: function (response) {
851
852					jQuery('.dtlms-completed').removeClass('hidden');
853					this_item.addClass('hidden');
854					if(parent_curriculum_id > 0) {
855						jQuery('ul.dtlms-curriculum-list li a[data-curriculumid="' + lesson_id + '"][ data-parentcurriculumid="' + parent_curriculum_id + '"]').append('<span class="dtlms-completed"><span class="fas fa-check"></span></span>');
856					} else {
857						jQuery('ul.dtlms-curriculum-list li a[data-curriculumid="' + lesson_id + '"][ data-parentcurriculumid="-1"]').append('<span class="dtlms-completed"><span class="fas fa-check"></span></span>');
858					}
859
860					// Enable next curriculum item
861					if(enable_next_curriculum == 'true') {
862						if(next_curriculum_id > 0) {
863							jQuery('ul.dtlms-curriculum-list li a[data-curriculumid="' + next_curriculum_id + '"]').parents('li').removeClass('locked').addClass('unlocked');
864						}
865					}
866
867				},
868				complete: function(){
869					this_item.find('span').remove();
870				}
871			});
872
873			e.preventDefault();
874
875		});
876
877	},
878
879	dtPackagesListing : function() {
880
881		jQuery( 'body' ).delegate( '.dtlms-packages-listing-containers .dtlms-pagination a', 'click', function(e){
882
883			var this_item = jQuery(this).parents('.dtlms-packages-listing-holder');
884
885			if(jQuery(this).parent().hasClass('prev-post')) {
886				current_page = parseInt(jQuery(this).attr('data-currentpage'), 10)-1;
887			} else if(jQuery(this).parent().hasClass('next-post')) {
888				current_page = parseInt(jQuery(this).attr('data-currentpage'), 10)+1;
889			} else {
890				current_page = jQuery(this).text();
891			}
892
893			var post_per_page = jQuery(this).parents('.dtlms-packages-listing-holder').attr('data-postperpage');
894
895			if(current_page == 1) {
896				var offset = 0;
897			} else if(current_page > 1) {
898				var offset = ((current_page-1)*post_per_page);
899			}
900
901			// list package ajax call
902			dtlmsListPackages(offset, current_page, this_item);
903
904			e.preventDefault();
905
906		});
907
908
909		function dtlmsListPackages(offset, current_page, this_item) {
910
911			var post_per_page = this_item.attr('data-postperpage');
912			var columns = this_item.attr('data-columns');
913			var apply_isotope = this_item.attr('data-applyisotope');
914			var display_type = this_item.attr('data-displaytype');
915			var type = this_item.attr('data-type');
916			var package_item_ids = this_item.attr('data-packageitemids');
917
918			var enable_carousel = this_item.attr('data-enablecarousel');
919
920			jQuery.ajax({
921				type: "POST",
922				url: lmsfrontendobject.ajaxurl,
923				data:
924				{
925					action: 'dtlms_generate_packages_listing',
926					offset: offset,
927					current_page: current_page,
928					post_per_page: post_per_page,
929					columns: columns,
930					apply_isotope: apply_isotope,
931					display_type: display_type,
932					type: type,
933					package_item_ids: package_item_ids,
934					enable_carousel: enable_carousel,
935				},
936				beforeSend: function(){
937					dtLMSCommonUtils.dtLMSAjaxBeforeSend(this_item);
938				},
939				error: function (xhr, status, error) {
940					this_item.find('.dtlms-packages-listing-containers').html('Something went wrong!');
941				},
942				success: function (response) {
943					this_item.find('.dtlms-packages-listing-containers').html(response);
944					if(enable_carousel == 'true') {
945						dtlmsPackagesSwiper(this_item);
946					} else {
947						dtLMSFrontendUtils.dtLMSPackagesListingIsotope();
948						setTimeout( function() {
949							jQuery('.dtlms-apply-isotope .dtlms-packages-listing-items').isotope('layout');
950						}, 600);
951					}
952				},
953				complete: function(){
954					dtLMSCommonUtils.dtLMSAjaxAfterSend(this_item);
955				}
956			});
957
958		}
959
960		jQuery('.dtlms-packages-listing-holder').each(function() {
961			if(jQuery(this).length) {
962				dtlmsListPackages(0, 1, jQuery(this));
963			}
964		});
965
966		// Packages listing carousel
967		function dtlmsPackagesSwiper(this_item) {
968
969			this_item.find('.dtlms-packages-swiper-listing').each(function() {
970
971				var $swiperItem = jQuery(this);
972				var moduleid = $swiperItem.attr('data-moduleid');
973
974				// Get swiper options
975				var effect = $swiperItem.attr('data-carouseleffect');
976				var autoplay = parseInt($swiperItem.attr('data-carouselautoplay'), 10);
977
978				var slidesperview = parseInt($swiperItem.attr('data-carouselslidesperview'), 10);
979				var loopmode = ($swiperItem.attr('data-carouselloopmode') == 'true') ? true : false;
980				var mousewheelcontrol = ($swiperItem.attr('data-carouselmousewheelcontrol') == 'true') ? true : false;
981
982				var pagination_type = pagination_class = '';
983				var bulletpagination = ($swiperItem.attr('data-carouselbulletpagination') == 'true') ? true : false;
984				if(bulletpagination) {
985					var pagination_class = '.dtlms-swiper-bullet-pagination';
986					var pagination_type = 'bullets';
987				}
988
989				var spacebetween = parseInt($swiperItem.attr('data-carouselspacebetween'), 10);
990				if(spacebetween == '') {
991					spacebetween = 0;
992				}
993
994				if(slidesperview == 1) {
995					var breakpoint_slides_1 = breakpoint_slides_2 = breakpoint_slides_3 = breakpoint_slides_4 = 1;
996				} else if(slidesperview == 2) {
997					var breakpoint_slides_1 = 2; var breakpoint_slides_2 = 2; var breakpoint_slides_3 = 1; var breakpoint_slides_4 = 1;
998				} else if(slidesperview == 3) {
999					var breakpoint_slides_1 = 3; var breakpoint_slides_2 = 2; var breakpoint_slides_3 = 1; var breakpoint_slides_4 = 1;
1000				} else if(slidesperview >= 4) {
1001					var breakpoint_slides_1 = 4; var breakpoint_slides_2 = 2; var breakpoint_slides_3 = 1; var breakpoint_slides_4 = 1;
1002				}
1003
1004				// Generate swiper
1005			    const packageswiperOptions= {
1006
1007	                simulateTouch: true,
1008	                // roundLengths: true,
1009	                // keyboardControl: true,
1010	                paginationClickable: true,
1011	                autoHeight: true,
1012
1013	                spaceBetween: spacebetween,
1014	                autoplay: autoplay,
1015	                slidesPerView: slidesperview,
1016	                loop:loopmode,
1017	                mousewheelControl: mousewheelcontrol,
1018	                direction: 'horizontal',
1019
1020	                pagination: pagination_class,
1021	                paginationType: pagination_type,
1022
1023	                effect: effect,
1024					coverflow: {
1025					  rotate: 0,
1026					  stretch: 10,
1027					  depth: 200,
1028					  modifier: 1,
1029					},
1030			        cube: {
1031			            shadow: true,
1032			            slideShadows: true,
1033			            shadowOffset: 20,
1034			            shadowScale: 0.94
1035			        },
1036
1037			        breakpoints: {
1038			            1199: {
1039			                slidesPerView: breakpoint_slides_1,
1040			            },
1041			            991: {
1042			                slidesPerView: breakpoint_slides_2,
1043			            },
1044			            767: {
1045			                slidesPerView: breakpoint_slides_3,
1046			            },
1047			            320: {
1048			                slidesPerView: breakpoint_slides_4,
1049			            }
1050			        },
1051
1052			    }
1053
1054		    	var arrowpagination = ($swiperItem.attr('data-carouselarrowpagination') == 'true') ? true : false;
1055
1056		    	if(arrowpagination) {
1057
1058					packageswiperOptions.navigation = {
1059						prevEl: '.dtlms-swiper-arrow-prev-'+moduleid,
1060						nextEl: '.dtlms-swiper-arrow-next-'+moduleid
1061					};
1062
1063				}
1064
1065			    const packageswiperGallery = new Swiper('.dtlms-packages-listing-'+moduleid, packageswiperOptions);
1066			});
1067
1068		}
1069
1070	},
1071
1072};
1073
1074jQuery(document).ready(function() {
1075
1076	"use strict";
1077
1078	if(!lmscommonobject.elementorPreviewMode) {
1079		dtLMSFrontend.dtInit();
1080	}
1081
1082	if(jQuery('.dtlms-onsite-map-container').length) {
1083		initClassLocationMap();
1084	}
1085
1086});
1087
1088function ClassLocationMap () {
1089	if(typeof initClassLocationMap === 'function') { initClassLocationMap(); }
1090}
1091
1092
1093( function( $ ) {
1094
1095	"use strict";
1096
1097	var dtLMSFrontendJs = function($scope, $){
1098		dtLMSFrontend.dtInit();
1099	};
1100
1101    $(window).on('elementor/frontend/init', function(){
1102		if(lmscommonobject.elementorPreviewMode) {
1103			elementorFrontend.hooks.addAction('frontend/element_ready/dtlms-widget-default-courses-listing.default', dtLMSFrontendJs);
1104			elementorFrontend.hooks.addAction('frontend/element_ready/dtlms-widget-default-packages-listing.default', dtLMSFrontendJs);
1105		}
1106	});
1107
1108} )( jQuery );

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.