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.