1(function( $ ) { 'use strict'; 2 $( document ).ready( function() { 3 var LDATS_Front = { 4 init: function() { 5 var toggler = document.getElementsByClassName("ldat-caret"); 6 var i; 7 8 for (i = 0; i < toggler.length; i++) { 9 toggler[i].addEventListener("click", function() { 10 this.parentElement.querySelector(".ldat-nested").classList.toggle("active"); 11 this.classList.toggle("ldat-caret-down"); 12 }); 13 } 14 this.attendance_btn_ajax(); 15 this.mark_attendance_user_select2_init(); 16 /* Lesson Attendance */ 17 this.search_lesson_attendance_users_select2_init(); 18 this.mark_lesson_attendance_form_init(); 19 /* End Lesson */ 20 /* Start - Topic Attendance */ 21 this.mark_topic_attendance_form_init(); 22 this.search_topic_attendance_users_select2_init(); 23 /* End - Topic Attendance */ 24 this.mark_attendance_form_init(); 25 26 }, 27 attendance_btn_ajax : function() { 28 $('.ldat-attendance-btn').on( 'click', function() { 29 var post_id = $(this).data( 'course_id' ); 30 var user_ID = $(this).data( 'user_id' ); 31 32 $.ajax({
33 url : ldat_ajax_url.ajax_url, 34 type : 'post', 35 data : { 36 action : 'ldat_attendance_btn_ajax_action', 37 pid : post_id, 38 uid : user_ID 39 }, 40 success : function( response ) { 41 42 var suffix = response.match(/\d+/); 43 if ( suffix[0] == "2" ) { 44 $("#ldat-ajax-response-id span").addClass( 'ldat-error' ); 45 } else if( suffix[0] == "1" || suffix[0] == "3") { 46 $("#ldat-ajax-response-id span").addClass( 'ldat-success' ); 47 } 48 $("#ldat-ajax-response-id span").html( response.replace(/\d+/g, '') ); 49 } 50 }); 51 }); 52 }, 53 mark_attendance_user_select2_init: function() { 54 55 56 var select2Input = $('.ldat-select2').select2({ 57 width: '100%', 58 placeholder: 'Select enrolled students', 59 closeOnSelect:true, 60 allowHtml: true, 61 multiple: true, 62 allowClear: true, 63 ajax: { 64 url: ldat_ajax_url.ajax_url, // AJAX URL is predefined in WordPress admin 65 dataType: 'json', 66 delay: 250, // delay in ms while typing when to perform a AJAX search 67 data: function (params) { 68 // $(this).val(null).trigger('change'); 69 return { 70 q: params.term, // search query 71 action: 'get_course_enrolled_users', // AJAX action for admin-ajax.php 72 post_id: $(this).data( 'post_id' ), 73 page: params.page 74 }; 75 }, 76 processResults: function (data, params) { 77 params.page = params.page || 1; 78 79 return { 80 results: data.results, 81 pagination: { 82 more: (params.page * 10) < data.count_total 83 } 84 }; 85 }, 86 cache: true 87 }, 88 minimumInputLength: 3 // the minimum of symbols to input before perform a search 89 }).on('change', function(e) { 90 var selected_option = $('.ldat-select2').select2('data'); 91 // $('.ldat-select2').val('').trigger('change'); 92 }); 93 }, 94 mark_attendance_form_init:function() { 95 $('#ldat-mark-attendance-form,#ldat-mark-attendance-user').on('submit', function(e) { 96 97 e.preventDefault(); 98 99 if( this.id == 'ldat-mark-attendance-form' ) { 100 //a workaround for a problem wp_editor value blank on first submit 101 window.tinyMCE.triggerSave(); 102 } 103 104 var form_id = $(this).attr('id'); 105 var button = $('#' + form_id).find('.ldat-button-mark-attendance'); 106 $.ajax({
107 url : ldat_ajax_url.ajax_url, 108 type : 'post', 109 data : $(this).serialize(), 110 beforeSend: function() { 111 button.attr('disabled', true); 112 button.text(button.data('loading-text')); 113 if(form_id != 'ldat-mark-attendance-user') { 114 var message_span = $('#ldat_mark_attendance_message'); 115 message_span.hide(); 116 } 117 }, 118 error: function(xhr, textStatus, errorThrown) { 119 120 button.text(button.data('default-text')).attr('disabled', false); 121 122 if(form_id != 'ldat-mark-attendance-user') { 123 var message_span = $('#ldat_mark_attendance_message'); 124 message_span.removeClass('frontend_box-success').addClass('frontend_box-error').slideDown('slow').text(xhr.responseJSON.message); 125 } else { 126 127 var message_span = $('#ldat_mark_attendance_message_user'); 128 message_span.removeClass('frontend_box-success').addClass('frontend_box-error').slideDown('slow').text(xhr.responseJSON.message); 129 } 130 }, 131 success : function( response ) { 132 133 if(form_id == 'ldat-mark-attendance-user') { 134 button.text(response.message).delay(1400).slideUp('slow'); 135 } else { 136 button.attr('disabled', false); 137 button.text(button.data('default-text')); 138 139 var message_span = $('#ldat_mark_attendance_message'); 140 message_span.removeClass('frontend_box-error').addClass('frontend_box-success').slideDown('slow').text(response.message); 141 142 $('.ldat-select2').val('').trigger('change'); 143 $('.ldat-topic-user-search-select2').val('').trigger('change'); 144 $('.ldat-lesson-user-search-select2').val('').trigger('change'); 145 } 146 } 147 }); 148 149 }); 150 151 $('button.frontend_box_close').on('click', function(e) { 152 e.preventDefault(); 153 $(this).parent('.frontend_box').slideUp('slow'); 154 }); 155 }, 156 /* Start - Lesson Manual Attendance */ 157 search_lesson_attendance_users_select2_init: function() { 158 159 160 var select2Input = $('.ldat-lesson-user-search-select2').select2({ 161 width: '100%', 162 placeholder: 'Select enrolled students', 163 closeOnSelect:false, 164 allowHtml: true, 165 multiple: true, 166 allowClear: true, 167 ajax: { 168 url: ldat_ajax_url.ajax_url, // AJAX URL is predefined in WordPress admin 169 dataType: 'json', 170 delay: 250, // delay in ms while typing when to perform a AJAX search 171 data: function (params) { 172 // $(this).val(null).trigger('change'); 173 return { 174 q: params.term, // search query 175 action: 'get_lesson_course_groups_users', // AJAX action for admin-ajax.php 176 lesson_id: $(this).data( 'lesson_id' ), 177 page: params.page 178 }; 179 }, 180 processResults: function (data, params) { 181 params.page = params.page || 1; 182 183 return { 184 results: data.results, 185 pagination: { 186 more: (params.page * 10) < data.count_total 187 } 188 }; 189 }, 190 cache: true 191 }, 192 minimumInputLength: 3 // the minimum of symbols to input before perform a search 193 }).on('change', function(e) { 194 var selected_option = $('.ldat-lesson-user-search-select2').select2('data'); 195 }); 196 }, 197 mark_lesson_attendance_form_init:function() { 198 $('#ldat-mark-lesson-attendance-user,#ldat-mark-lesson-attendance-form').on('submit', function(e) { 199 200 e.preventDefault(); 201 202 if( this.id == 'ldat-mark-lesson-attendance-form' ) { 203 //a workaround for a problem wp_editor value blank on first submit 204 window.tinyMCE.triggerSave(); 205 } 206 207 var form_id = $(this).attr('id'); 208 var button = $('#' + form_id).find('.ldat-button-mark-attendance'); 209 $.ajax({
210 url : ldat_ajax_url.ajax_url, 211 type : 'post', 212 data : $(this).serialize(), 213 beforeSend: function() { 214 button.attr('disabled', true); 215 button.text(button.data('loading-text')); 216 if(form_id != 'ldat-mark-lesson-attendance-user') { 217 var message_span = $('#ldat_mark_lesson_attendance_message'); 218 message_span.hide(); 219 } 220 }, 221 error: function(xhr, textStatus, errorThrown) { 222 223 button.text(button.data('default-text')).attr('disabled', false); 224 225 if(form_id != 'ldat-mark-attendance-lesson-user') { 226 var message_span = $('#ldat_mark_lesson_attendance_message'); 227 message_span.removeClass('frontend_box-success').addClass('frontend_box-error').slideDown('slow').text(xhr.responseJSON.message); 228 } else { 229 230 var message_span = $('#ldat_mark_lesson_attendance_message_user'); 231 message_span.removeClass('frontend_box-success').addClass('frontend_box-error').slideDown('slow').text(xhr.responseJSON.message); 232 } 233 }, 234 success : function( response ) { 235 236 if(form_id == 'ldat-mark-lesson-attendance-user') { 237 button.text(response.message).delay(1400).slideUp('slow'); 238 } else { 239 button.attr('disabled', false); 240 button.text(button.data('default-text')); 241 242 var message_span = $('#ldat_mark_lesson_attendance_message'); 243 message_span.removeClass('frontend_box-error').addClass('frontend_box-success').slideDown('slow').text(response.message); 244 245 $('.ldat-select2').val('').trigger('change'); 246 } 247 } 248 }); 249 250 }); 251 252 $('button.frontend_box_close').on('click', function(e) { 253 e.preventDefault(); 254 $(this).parent('.frontend_box').slideUp('slow'); 255 }); 256 }, 257 mark_topic_attendance_form_init:function() { 258 $('#ldat-mark-topic-attendance-user,#ldat-mark-topic-attendance-form').on('submit', function(e) { 259 260 e.preventDefault(); 261 262 if( this.id == 'ldat-mark-topic-attendance-form' ) { 263 //a workaround for a problem wp_editor value blank on first submit 264 window.tinyMCE.triggerSave(); 265 } 266 267 var form_id = $(this).attr('id'); 268 var button = $('#' + form_id).find('.ldat-button-mark-attendance'); 269 $.ajax({
270 url : ldat_ajax_url.ajax_url, 271 type : 'post', 272 data : $(this).serialize(), 273 beforeSend: function() { 274 button.attr('disabled', true); 275 button.text(button.data('loading-text')); 276 if(form_id != 'ldat-mark-topic-attendance-user') { 277 var message_span = $('#ldat_mark_topic_attendance_message'); 278 message_span.hide(); 279 } 280 }, 281 error: function(xhr, textStatus, errorThrown) { 282 283 button.text(button.data('default-text')).attr('disabled', false); 284 285 if(form_id != 'ldat-mark-attendance-topic-user') { 286 var message_span = $('#ldat_mark_topic_attendance_message'); 287 message_span.removeClass('frontend_box-success').addClass('frontend_box-error').slideDown('slow').text(xhr.responseJSON.message); 288 } else { 289 290 var message_span = $('#ldat_mark_topic_attendance_message_user'); 291 message_span.removeClass('frontend_box-success').addClass('frontend_box-error').slideDown('slow').text(xhr.responseJSON.message); 292 } 293 }, 294 success : function( response ) { 295 296 if(form_id == 'ldat-mark-topic-attendance-user') { 297 button.text(response.message).delay(1400).slideUp('slow'); 298 } else { 299 button.attr('disabled', false); 300 button.text(button.data('default-text')); 301 302 var message_span = $('#ldat_mark_topic_attendance_message'); 303 message_span.removeClass('frontend_box-error').addClass('frontend_box-success').slideDown('slow').text(response.message); 304 305 $('.ldat-select2').val('').trigger('change'); 306 } 307 } 308 }); 309 310 }); 311 312 $('button.frontend_box_close').on('click', function(e) { 313 e.preventDefault(); 314 $(this).parent('.frontend_box').slideUp('slow'); 315 }); 316 }, 317 search_topic_attendance_users_select2_init: function() { 318 319 320 var select2Input = $('.ldat-topic-user-search-select2').select2({ 321 width: '100%', 322 placeholder: 'Select enrolled students', 323 closeOnSelect:false, 324 allowHtml: true, 325 multiple: true, 326 allowClear: true, 327 ajax: { 328 url: ldat_ajax_url.ajax_url, // AJAX URL is predefined in WordPress admin 329 dataType: 'json', 330 delay: 250, // delay in ms while typing when to perform a AJAX search 331 data: function (params) { 332 // $(this).val(null).trigger('change'); 333 return { 334 q: params.term, // search query 335 action: 'get_topic_course_groups_users', // AJAX action for admin-ajax.php 336 topic_id: $(this).data( 'topic_id' ), 337 page: params.page 338 }; 339 }, 340 processResults: function (data, params) { 341 params.page = params.page || 1; 342 343 return { 344 results: data.results, 345 pagination: { 346 more: (params.page * 10) < data.count_total 347 } 348 }; 349 }, 350 cache: true 351 }, 352 minimumInputLength: 3 // the minimum of symbols to input before perform a search 353 }).on('change', function(e) { 354 var selected_option = $('.ldat-topic-user-search-select2').select2('data'); 355 }); 356 } 357 /* End - Lesson Manual Attendance */ 358 } 359
360 LDATS_Front.init(); 361 }); 362})( 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.