1// cspell:disable dont 2 3jQuery(function() { 4 jQuery(document).ready(function(){ 5 const preloadparams = new URLSearchParams(window.location.search); 6 // Check if we have the param 7 if (preloadparams.has('preload_activity')) { 8 wp.data.dispatch( 'core/editor' ).editPost( { meta: { _my_meta_data: 1 } }); 9 var blocks = wp.data.select('core/editor').getBlocks(); 10 var target_block = blocks[ blocks.length - 1 ].clientId; 11 var source = document.querySelector( '[data-block="' + target_block + '"]' ); 12 // var container = wp.dom.getScrollContainer( source ); 13 source.scrollIntoView({ behavior: 'smooth', block: 'center' }); 14 } 15 if (preloadparams.has('preload_progress')) { 16 wp.data.dispatch( 'core/editor' ).editPost( { meta: { _my_meta_data: 1 } }); 17 var blocks = wp.data.select('core/editor').getBlocks(); 18 var target_block = blocks[ blocks.length - 1 ].clientId; 19 var source = document.querySelector( '[data-block="' + target_block + '"]' ); 20 // var container = wp.dom.getScrollContainer( source ); 21 source.scrollIntoView({ behavior: 'smooth', block: 'center' }); 22 } 23 if ( preloadparams.has('updated_pattern') ) { 24 var source = document.querySelector( '.wp-block-wisdm-learndash-reports-course-progress-rate' ); 25 // var container = wp.dom.getScrollContainer( source ); 26 jQuery( 'body' ).append( '<div id="wrld-success">' + wrld_admin_settings_data.success_text + '</div>' ); 27 var x = document.getElementById( "wrld-success" ); 28 setTimeout( function() { 29 source.scrollIntoView({ behavior: 'smooth', block: 'center' }); 30 }, 2000 ); 31 setTimeout( function() { 32 x.className = "show"; 33 }, 2500 ); 34 setTimeout( function() { 35 x.className = x.className.replace("show", ""); 36 }, 8500 ); 37 } 38 }); 39 var users, user_roles, courses, load_more = true, userMultiSelect; 40 var courseMultiSelect; 41 var change_users = [], change_ur = [], change_courses = []; 42 var currentXhr, search_string, lag; 43 jQuery('.wrld-la-auto-button').on('click', function ( event ) { 44 //ajax query to skip licensing; 45 //action: 46 event.preventDefault(); 47 let $this = jQuery(this); 48 $this.text(wrld_admin_settings_data.wait_text); 49 $this.css('cursor', 'progress'); 50 jQuery.ajax({ 51 url: wrld_admin_settings_data.wp_ajax_url, 52 type: 'post', 53 data: { 54 // cspell:disable-next-line 55 'action': 'wrld_autoupdate_dashboard', 56 'nonce':wrld_admin_settings_data.nonce, 57 }, 58 timeout: 60000, // sets timeout to 1 minute 59 success: function(response){ 60 window.location.href=response.data.url; 61 }, 62 error: function(eventData){ 63 }, 64 }); 65 }); 66 67 jQuery('.wrld-license-page-skip-now-button').on('click', function ( event ) { 68 //ajax query to skip licensing; 69 //action: 70 event.preventDefault(); 71 let $this = jQuery(this); 72 $this.text(wrld_admin_settings_data.wait_text); 73 $this.css('cursor', 'progress'); 74 jQuery.ajax({ 75 url: wrld_admin_settings_data.wp_ajax_url, 76 type: 'post', 77 data: { 78 'action': 'wrld_skip_license_activation', 79 'nonce':wrld_admin_settings_data.nonce, 80 'skip-licence':true 81 }, 82 timeout: 60000, // sets timeout to 1 minute 83 success: function(response){ 84 window.location.href=jQuery('.wrld-license-page-skip-now-button').data('link'); 85 }, 86 error: function(eventData){ 87 }, 88 }); 89 }); 90 91 jQuery('.wrld-license-action.action_activate').on('click', function( event ) { 92 let license_key = jQuery('#wrld-pro-license-key').val(); 93 if (license_key.length<1) { 94 alert('Please enter the valid license key'); 95 return; 96 } 97 98 event.preventDefault();
99 let $this = jQuery(this); 100 $this.text(wrld_admin_settings_data.wait_text); 101 $this.css('cursor', 'progress'); 102 // cspell:disable-next-line 103 let edd_nonce = jQuery(this).closest('.wrld-dashboard-licence-tool-container').data('nonce'); 104 jQuery.ajax({ 105 url: wrld_admin_settings_data.wp_ajax_url, 106 type: 'post', 107 data: { 108 'action': 'wrld_license_activate', 109 'nonce':wrld_admin_settings_data.nonce, 110 'license_key':license_key, 111 'edd_learndash-reports-pro_nonce':edd_nonce, 112 }, 113 timeout: 60000, // sets timeout to 1 minute 114 success: function(response){ 115 window.location.href = jQuery('#wrld-license-activation').attr('href'); 116 }, 117 error: function(eventData){ 118 window.location.href = jQuery('#wrld-license-activation').attr('href'); 119 }, 120 }); 121 }); 122 123 jQuery('.wrld-license-action.action_deactivate').on('click', function(event) { 124 event.preventDefault(); 125 let $this = jQuery(this); 126 $this.text(wrld_admin_settings_data.wait_text); 127 $this.css('cursor', 'progress'); 128 // cspell:disable-next-line 129 let edd_nonce = jQuery(this).closest('.wrld-dashboard-licence-tool-container').data('nonce'); 130 jQuery.ajax({ 131 url: wrld_admin_settings_data.wp_ajax_url, 132 type: 'post', 133 data: { 134 'action': 'wrld_license_deactivate', 135 'nonce':wrld_admin_settings_data.nonce, 136 'edd_learndash-reports-pro_nonce':edd_nonce, 137 }, 138 timeout: 60000, // sets timeout to 1 minute 139 success: function(response){ 140 window.location.href = jQuery('#wrld-license-activation').attr('href'); 141 }, 142 error: function(eventData){ 143 window.location.href = jQuery('#wrld-license-activation').attr('href'); 144 }, 145 }); 146 }); 147 148 jQuery('.wrld-dashboard-button-action.set-config').on('click', function(event) { 149 event.preventDefault(); 150 let $this = jQuery(this); 151 $this.text(wrld_admin_settings_data.wait_text); 152 $this.css('cursor', 'progress'); 153 let data = { 154 'action': 'wrld_set_configuration', 155 'nonce':wrld_admin_settings_data.nonce, 156 }; 157 if ( jQuery('#wrld-menu-config-setting').length > 0 ) { 158 let add_in_menu = jQuery('#wrld-menu-config-setting').is(':checked')?true:false; 159 data.add_in_menu = add_in_menu; 160 } 161 if ( jQuery('#wrld-menu-student-setting').length > 0 ) { 162 let add_student_in_menu = jQuery('#wrld-menu-student-setting').is(':checked')?true:false; 163 data.add_student_in_menu = add_student_in_menu; 164 } 165 jQuery.ajax({ 166 url: wrld_admin_settings_data.wp_ajax_url, 167 type: 'post', 168 data: data, 169 timeout: 60000, // sets timeout to 1 minute 170 success: function(response){ 171 window.location.href = $this.closest('a').attr('href'); 172 }, 173 error: function(eventData){ 174 }, 175 }); 176 }); 177 178 179 jQuery('#wrld-action-update-settings').on('click', function( event ){ 180 event.preventDefault(); 181 jQuery('.wrld-access-status.wrld-access-status-enabled, .wrld-access-status.wrld-access-status-disabled').css('display', 'none'); 182 let $this = jQuery(this); 183 $this.text(wrld_admin_settings_data.wait_text); 184 $this.css('cursor', 'progress'); 185 // let add_in_menu = jQuery('#wrld-menu-config-setting').is(':checked')?true:false; 186 // let add_student_in_menu = jQuery('#wrld-menu-student-setting').is(':checked')?true:false; 187 let access_to_group_leader= jQuery('#wrld-menu-access-setting-group-leader').is(':checked')?true:false; 188 let access_to_wdm_instructor= jQuery('#wrld-menu-access-setting-wdm-instructor').is(':checked')?true:false; 189 jQuery.ajax({ 190 url: wrld_admin_settings_data.wp_ajax_url, 191 type: 'post', 192 data: { 193 'action': 'wrld_update_settings', 194 'nonce':wrld_admin_settings_data.nonce, 195 // 'add_in_menu':add_in_menu, 196 // 'add_student_in_menu':add_student_in_menu, 197 'access_to_group_leader':access_to_group_leader, 198 'access_to_wdm_instructor':access_to_wdm_instructor 199 }, 200 timeout: 60000, // sets timeout to 1 minute 201 success: function(response){ 202 if(response.success){ 203 jQuery('#wrld-action-update-settings').text('Apply'); 204 if ( response.data.settings_data['dashboard-access-roles'].group_leader ){ 205 jQuery('.wrld-access-status.wrld-group-leader-enabled').css('display', 'inline-block'); 206 } else { 207 jQuery('.wrld-access-status.wrld-group-leader-disabled').css('display', 'inline-block'); 208 } 209 let ir_active = ! jQuery('#wrld-menu-access-setting-wdm-instructor').is(':disabled'); 210 if (ir_active) { 211 if ( response.data.settings_data['dashboard-access-roles'].wdm_instructor ){ 212 jQuery('.wrld-access-status.wrld-wisdm-instructor-enabled').css('display', 'inline-block'); 213 } else { 214 jQuery('.wrld-access-status.wrld-wisdm-instructor-disabled').css('display', 'inline-block'); 215 } 216 } 217 jQuery('#wrld-action-update-settings').css('cursor', 'not-allowed'); 218 jQuery('#wrld-action-update-settings').attr('disabled', true); 219 $this.after('<div class="temp-message">Applied Successfully!</div>'); 220 setTimeout(function(){ 221 jQuery('.temp-message').remove(); 222 }, 3000); 223 } 224 }, 225 error: function(eventData){ 226 227 }, 228 }); 229 }); 230 jQuery('#wrld-action-update-menu-settings').on('click', function( event ){ 231 event.preventDefault(); 232 // jQuery('.wrld-access-status.wrld-access-status-enabled, .wrld-access-status.wrld-access-status-disabled').css('display', 'none');
233 let $this = jQuery(this); 234 $this.text(wrld_admin_settings_data.wait_text); 235 $this.css('cursor', 'progress'); 236 let add_in_menu = jQuery('#wrld-menu-config-setting').is(':checked')?true:false; 237 let add_student_in_menu = jQuery('#wrld-menu-student-setting').is(':checked')?true:false; 238 // let access_to_group_leader= jQuery('#wrld-menu-access-setting-group-leader').is(':checked')?true:false; 239 // let access_to_wdm_instructor= jQuery('#wrld-menu-access-setting-wdm-instructor').is(':checked')?true:false; 240 jQuery.ajax({ 241 url: wrld_admin_settings_data.wp_ajax_url, 242 type: 'post', 243 data: { 244 'action': 'wrld_update_settings', 245 'nonce':wrld_admin_settings_data.nonce, 246 'add_in_menu':add_in_menu, 247 'add_student_in_menu':add_student_in_menu, 248 // 'access_to_group_leader':access_to_group_leader, 249 // 'access_to_wdm_instructor':access_to_wdm_instructor 250 }, 251 timeout: 60000, // sets timeout to 1 minute 252 success: function(response){ 253 if(response.success){ 254 jQuery('#wrld-action-update-menu-settings').text('Apply'); 255 // if ( response.data.settings_data['dashboard-access-roles'].group_leader ){ 256 // jQuery('.wrld-access-status.wrld-group-leader-enabled').css('display', 'inline-block'); 257 // } else { 258 // jQuery('.wrld-access-status.wrld-group-leader-disabled').css('display', 'inline-block'); 259 // } 260 // let ir_active = ! jQuery('#wrld-menu-access-setting-wdm-instructor').is(':disabled'); 261 // if (ir_active) { 262 // if ( response.data.settings_data['dashboard-access-roles'].wdm_instructor ){ 263 // jQuery('.wrld-access-status.wrld-wisdm-instructor-enabled').css('display', 'inline-block'); 264 // } else { 265 // jQuery('.wrld-access-status.wrld-wisdm-instructor-disabled').css('display', 'inline-block'); 266 // } 267 // } 268 jQuery('#wrld-action-update-menu-settings').css('cursor', 'not-allowed'); 269 jQuery('#wrld-action-update-menu-settings').attr('disabled', true); 270 $this.after('<div class="temp-message">Applied Successfully!</div>'); 271 setTimeout(function(){ 272 jQuery('.temp-message').remove(); 273 }, 3000); 274 } 275 }, 276 error: function(eventData){ 277 278 }, 279 }); 280 }); 281 282 jQuery('#wrld-menu-access-setting-group-leader, #wrld-menu-access-setting-wdm-instructor').on('click', function (event) { 283 jQuery('#wrld-action-update-settings').removeAttr('disabled'); 284 jQuery('#wrld-action-update-settings').css('cursor', 'pointer'); 285 if (this.checked) { 286 jQuery(this).closest('label.checkbox-label').removeClass('no-access'); 287 } else { 288 jQuery(this).closest('label.checkbox-label').addClass('no-access'); 289 } 290 }); 291 jQuery('#wrld-menu-config-setting, #wrld-menu-student-setting').on('click', function (event) { 292 jQuery('#wrld-action-update-menu-settings').removeAttr('disabled'); 293 jQuery('#wrld-action-update-menu-settings').css('cursor', 'pointer'); 294 if (this.checked) { 295 jQuery(this).closest('label.checkbox-label').removeClass('no-access'); 296 } else { 297 jQuery(this).closest('label.checkbox-label').addClass('no-access'); 298 } 299 }); 300 301 jQuery('.wrld-license-page-config-button').on('click', function(){ 302 window.location.href=jQuery(this).data('link'); 303 }); 304 305 var showBorderIfNeeded = function() { 306 if ( jQuery( 'select.exclude_users + .multiselect__container .multiselect__selected' ).length > 0 ) { 307 jQuery( 'select.exclude_users + .multiselect__container' ).addClass( 'wrld-no-shadow' ); 308 } else { 309 jQuery( 'select.exclude_users + .multiselect__container' ).removeClass( 'wrld-no-shadow' ); 310 } 311 if ( jQuery( 'select.exclude_ur + .multiselect__container .multiselect__selected' ).length > 0 ) { 312 jQuery( 'select.exclude_ur + .multiselect__container' ).addClass( 'wrld-no-shadow' ); 313 } else { 314 jQuery( 'select.exclude_ur + .multiselect__container' ).removeClass( 'wrld-no-shadow' ); 315 } 316 if ( jQuery( 'select.exclude_courses + .multiselect__container .multiselect__selected' ).length > 0 ) { 317 jQuery( 'select.exclude_courses + .multiselect__container' ).addClass( 'wrld-no-shadow' ); 318 } else { 319 jQuery( 'select.exclude_courses + .multiselect__container' ).removeClass( 'wrld-no-shadow' ); 320 } 321 } 322 323 /* Function used to save the exclusion setting in the database. */ 324 var save_exclude_values = function( type, value, button_obj ) { 325 jQuery.ajax({ 326 url: wrld_admin_settings_data.wp_ajax_url, 327 type: 'post', 328 data: { 329 'action': 'wrld_exclude_settings_save', 330 'nonce':wrld_admin_settings_data.nonce, 331 'type':type, 332 'value':value, 333 }, 334 timeout: 60000, // sets timeout to 1 minute 335 success: function( response ){ 336 if( response.success ){ 337 button_obj.hide(); 338 if ( button_obj.parents('.users-field') ) { 339 jQuery('.users-field select.exclude_users').html( window.users_dropdown_bu ); 340 } 341 342 var parent = button_obj.parents('.right-fields'); 343 var dropdown = parent.find('select'); 344 var custom_dropdown = parent.find('.multiselect__container .multiselect__options li'); 345 custom_dropdown.each(function(ind, el) { 346 if ( jQuery(el).hasClass('multiselect__options--selected') ) { 347 if ( dropdown.find('option[value="' + jQuery(el).attr('data-value') + '"]').length > 0 ) { 348 dropdown.find('option[value="' + jQuery(el).attr('data-value') + '"]').attr('selected', 'selected'); 349 } else { 350 dropdown.append('<option value="' + jQuery(el).attr('data-value') + '" selected="selected">' + jQuery(el).text() + '</option>'); 351 } 352 } else { 353 dropdown.find('option[value="' + jQuery(el).attr('data-value') + '"]').removeAttr('selected'); 354 } 355 }); 356 // jQuery( '.exclude_' + type ).attr( 'disabled', 'disabled' ); 357 // jQuery( '.exclude_' + type ).next().find( 'input.multiselect__input' ).attr( 'disabled', 'disabled' ); 358 // jQuery( '.exclude_' + type ).next().find( '.multiselect__clear-btn' ).css( 'pointer-events', 'n
358one' ); 359 // jQuery( '.exclude_' + type ).next().find( '.multiselect__remove-btn' ).css( 'pointer-events', 'none' ); 360 // showBorderIfNeeded(); 361 } 362 }, 363 error: function( eventData ){ 364 }, 365 }); 366 } 367 368 var reInitializeAfterSelect = function() { 369 jQuery( '.users-field .multiselect__container' ).remove(); 370 // Initialize User Multiselect. 371 userMultiSelect = new IconicMultiSelect({ 372 select: ".exclude_users", 373 disabled: false, 374 placeholder: wrld_admin_settings_data.user_placeholder, 375 noResults: wrld_admin_settings_data.loading_text 376 }); 377 userMultiSelect.init(); 378 379 // Patch code for disabling the multiselect when original select is disabled. 380 // if ( jQuery( '.exclude_users' ).attr( 'disabled' ) ) { 381 // jQuery( '.exclude_users' ).next().find( 'input.multiselect__input' ).attr( 'disabled', 'disabled' ); 382 // jQuery( '.exclude_users' ).next().find( '.multiselect__clear-btn' ).css( 'pointer-events', 'none' ); 383 // jQuery( '.exclude_users' ).next().find( '.multiselect__remove-btn' ).css( 'pointer-events', 'none' ); 384 // } 385 386 // Add subscription event for dropdown value changes. 387 userMultiSelect.subscribe( function( event ) { 388 jQuery( '.users-field .apply_users_exclude' ).show(); 389 jQuery( '.users-field .discard_users_exclude' ).show(); 390 // change_users.push({}) 391 users = event.selection.map( ( { value } ) => value ); 392 } ); 393 }; 394 395 /** 396 * This method is used to initialize the multi selects and add subscription events. 397 */ 398 jQuery( document ).ready( function() { 399 if ( jQuery( '.exclude_users' ).length < 1 ) { 400 return; 401 } 402 var urlHash = window.location.href.split("#"); 403 if ( urlHash.length > 1 ) { 404 urlHash = urlHash[1]; 405 jQuery( 'html, body' ).animate({ 406 scrollTop: jQuery('#' + urlHash).offset().top 407 }, 1500); 408 } 409 var disabled = false; 410 if ( jQuery('.wrld-upgrade-button').length > 0 ) { 411 disabled = true; 412 } 413 // Initialize User Multiselect. 414 userMultiSelect = new IconicMultiSelect({ 415 select: ".exclude_users", 416 disabled: disabled, 417 placeholder: wrld_admin_settings_data.user_placeholder, 418 noResults: wrld_admin_settings_data.loading_text 419 }); 420 userMultiSelect.init(); 421 422 // Patch code for disabling the multiselect when original select is disabled. 423 if ( jQuery( '.exclude_users' ).attr( 'disabled' ) ) { 424 jQuery( '.exclude_users' ).next().find( 'input.multiselect__input' ).attr( 'disabled', 'disabled' ); 425 jQuery( '.exclude_users' ).next().find( '.multiselect__clear-btn' ).css( 'pointer-events', 'none' ); 426 jQuery( '.exclude_users' ).next().find( '.multiselect__remove-btn' ).css( 'pointer-events', 'none' ); 427 jQuery( '.exclude_users' ).next().find( '.multiselect__selected' ).css( 'pointer-events', 'none' ); 428 jQuery( '.exclude_users' ).next().find( '.multiselect__wrapper' ).css( 'pointer-events', 'not-allowed' ); 429 } 430 431 var user_wrapper = jQuery('.users-field .multiselect__selected').parent(); 432 var user_length = user_wrapper.find('.multiselect__selected').length; 433 if ( user_length < 2 ) { 434 // cspell:disable-next-line 435 user_wrapper.next().addClass('dont-show'); 436 } else { 437 // cspell:disable-next-line 438 user_wrapper.next().removeClass('dont-show'); 439 } 440 441 // Add subscription event for dropdown value changes. 442 userMultiSelect.subscribe( function( event ) { 443 jQuery( '.users-field .apply_users_exclude' ).show(); 444 jQuery( '.users-field .discard_users_exclude' ).show(); 445 var selected = jQuery('.users-field .multiselect__selected').parent(); 446 var length = selected.find('.multiselect__selected').length 447 if ( length < 2 ) { 448 // cspell:disable-next-line 449 selected.next().addClass('dont-show'); 450 } else { 451 // cspell:disable-next-line 452 selected.next().removeClass('dont-show'); 453 } 454 // change_users.push({}) 455 users = event.selection.map( ( { value } ) => value ); 456 // reInitializeAfterSelect(); 457 } ); 458 459 460 461 // Initialize User role Multiselect. 462 var urMultiSelect = new IconicMultiSelect({ 463 select: ".exclude_ur", 464 disabled: disabled, 465 placeholder: wrld_admin_settings_data.ur_placeholder, 466 noResults: wrld_admin_settings_data.loading_text 467 }); 468 urMultiSelect.init(); 469 // Patch code for disabling the multiselect when original select is disabled. 470 if ( jQuery( '.exclude_ur' ).attr( 'disabled' ) ) { 471 jQuery( '.exclude_ur' ).next().find( 'input.multiselect__input' ).attr( 'disabled', 'disabled' ); 472 jQuery( '.exclude_ur' ).next().find( '.multiselect__clear-btn' ).css( 'pointer-events', 'n
472one' ); 473 jQuery( '.exclude_ur' ).next().find( '.multiselect__remove-btn' ).css( 'pointer-events', 'none' ); 474 jQuery( '.exclude_ur' ).next().find( '.multiselect__selected' ).css( 'pointer-events', 'none' ); 475 jQuery( '.exclude_ur' ).next().find( '.multiselect__wrapper' ).css( 'pointer-events', 'not-allowed' ); 476 } 477 478 var ur_wrapper = jQuery('.user-roles-field .multiselect__selected').parent(); 479 var ur_length = ur_wrapper.find('.multiselect__selected').length; 480 if ( ur_length < 2 ) { 481 // cspell:disable-next-line 482 ur_wrapper.next().addClass('dont-show'); 483 } else { 484 // cspell:disable-next-line 485 ur_wrapper.next().removeClass('dont-show'); 486 } 487 488 // Add subscription event for dropdown value changes. 489 urMultiSelect.subscribe( function( event ) { 490 jQuery( '.user-roles-field .apply_ur_exclude' ).show(); 491 jQuery( '.user-roles-field .discard_ur_exclude' ).show(); 492 var selected = jQuery('.user-roles-field .multiselect__selected').parent(); 493 var length = selected.find('.multiselect__selected').length 494 if ( length < 2 ) { 495 selected.next().addClass('dont-show'); 496 } else { 497 selected.next().removeClass('dont-show'); 498 } 499 user_roles = event.selection.map( ( { value } ) => value ); 500 } ); 501 502 // Initialize Course Multiselect. 503 courseMultiSelect = new IconicMultiSelect({ 504 select: ".exclude_courses", 505 disabled: false, 506 placeholder: wrld_admin_settings_data.course_placeholder, 507 noResults: wrld_admin_settings_data.loading_text 508 }); 509 courseMultiSelect.init(); 510 511 var course_wrapper = jQuery('.courses-field .multiselect__selected').parent(); 512 var course_length = course_wrapper.find('.multiselect__selected').length; 513 if ( course_length < 2 ) { 514 course_wrapper.next().addClass('dont-show'); 515 } else { 516 course_wrapper.next().removeClass('dont-show'); 517 } 518 519 // Patch code for disabling the multiselect when original select is disabled. 520 // if ( jQuery( '.exclude_courses' ).attr( 'disabled' ) ) { 521 // jQuery( '.exclude_courses' ).next().find( 'input.multiselect__input' ).attr( 'disabled', 'disabled' ); 522 // jQuery( '.exclude_courses' ).next().find( '.multiselect__clear-btn' ).css( 'pointer-events', 'none' ); 523 // jQuery( '.exclude_courses' ).next().find( '.multiselect__remove-btn' ).css( 'pointer-events', 'none' ); 524 // } 525 526 // Add subscription event for dropdown value changes. 527 courseMultiSelect.subscribe( function( event ) { 528 jQuery( '.courses-field .apply_courses_exclude' ).show(); 529 jQuery( '.courses-field .discard_courses_exclude' ).show(); 530 var selected = jQuery('.courses-field .multiselect__selected').parent(); 531 var length = selected.find('.multiselect__selected').length 532 if ( length < 2 ) { 533 selected.next().addClass('dont-show'); 534 } else { 535 selected.next().removeClass('dont-show'); 536 } 537 courses = event.selection.map( ( { value } ) => value ); 538 // var changes = change_courses[event.action] != undefined ? change_courses[event.action] : []; 539 // changes.push(event.value); 540 // change_courses[event.action] = changes; 541 // change_courses.push({event.action: }) 542 // save_exclude_values( 'courses', courses ); 543 } ); 544 // showBorderIfNeeded(); 545 } ); 546 547 /* Toggle the multiselect on edit icon click */ 548 // jQuery( '.users-field .dashicons-edit' ).on( 'click', function() { 549 // jQuery( this ).attr( 'disabled', 'disabled' ); 550 // if ( jQuery( '.exclude_users' ).attr( 'disabled' ) ) { 551 // jQuery( '.exclude_users' ).removeAttr( 'disabled' ); 552 // jQuery( '.exclude_users + .multiselect__container' ).removeClass('wrld-no-shadow'); 553 // jQuery( '.exclude_users' ).next().find( 'input.multiselect__input' ).removeAttr( 'disabled' ); 554 // jQuery( '.exclude_users' ).next().find( '.multiselect__clear-btn' ).css( 'pointer-events', 'auto' ); 555 // jQuery( '.exclude_users' ).next().find( '.multiselect__remove-btn' ).css( 'pointer-events', 'auto' ); 556 // }/* else { 557 // jQuery( '.exclude_users' ).attr( 'disabled', 'disabled' ); 558 // jQuery( '.exclude_users' ).next().find( 'input.multiselect__input' ).attr( 'disabled', 'disabled' ); 559 // jQuery( '.exclude_users' ).next().find( '.multiselect__clear-btn' ).css( 'pointer-events', 'n
559one' ); 560 // jQuery( '.exclude_users' ).next().find( '.multiselect__remove-btn' ).css( 'pointer-events', 'none' ); 561 // }*/ 562 // } ); 563 564 /* Save button click for users setting */ 565 jQuery( '.users-field .apply_users_exclude' ).on( 'click', function() { 566 jQuery( '.discard_users_exclude' ).hide(); 567 save_exclude_values( 'users', users, jQuery( this ) ); 568 // jQuery( '.users-field .dashicons-edit' ).removeAttr( 'disabled' ); 569 // reInitializeAfterSelect(); 570 }); 571 572 /* Save button click for user roles setting */ 573 jQuery( '.user-roles-field .apply_ur_exclude' ).on( 'click', function() { 574 jQuery( '.discard_ur_exclude' ).hide(); 575 save_exclude_values( 'ur', user_roles, jQuery( this ) ); 576 // jQuery( '.user-roles-field .dashicons-edit' ).removeAttr( 'disabled' ); 577 }); 578 579 /* Save button click for courses setting */ 580 jQuery( '.courses-field .apply_courses_exclude' ).on( 'click', function() { 581 jQuery( '.discard_courses_exclude' ).hide(); 582 save_exclude_values( 'courses', courses, jQuery( this ) ); 583 // jQuery( '.courses-field .dashicons-edit' ).removeAttr( 'disabled' ); 584 change_courses = []; 585 }); 586 587 jQuery( document ).on( 'change, keyup', '[name=wrld_time_tracking_status], .toggle-settings input', function() { 588 jQuery('.apply_time_tracking_settings').removeAttr('disabled'); 589 } ); 590 591 let wrldModalCancelPressed = false; 592 593 jQuery( '.wrld-warning-popup-modal .modal-button-cancel' ).on( 'click', function() { 594 jQuery('.wrld-warning-popup-modal').hide(); 595 wrldModalCancelPressed = true; 596 jQuery('[name=wrld_time_tracking_status]').trigger('click'); 597 } ); 598 599 jQuery( '.wrld-warning-popup-modal .modal-button-proceed' ).on( 'click', function() { 600 jQuery('.wrld-warning-popup-modal').hide(); 601 wrldModalCancelPressed=false; 602 var status = 'off'; 603 jQuery.ajax({ 604 url: wrld_admin_settings_data.wp_ajax_url, 605 type: 'post', 606 data: { 607 'action': 'apply_time_tracking_settings', 608 'nonce':wrld_admin_settings_data.nonce, 609 'status':status, 610 }, 611 timeout: 60000, // sets timeout to 1 minute 612 success: function( response ){ 613 jQuery('.apply_time_tracking_settings').attr('disabled', 'disabled'); 614 jQuery('.wrld-dashboard-text.note-text .latest').html(response.data.time); 615 jQuery('.idle-configuration-log tr:nth-child(2)').before('<tr><td>' + wrld_admin_settings_data.deactivated_18n + '</td><td>' + response.data.time + '</td></tr>'); 616 if ( jQuery('.idle-configuration-log tr').length > 10 ) { 617 jQuery('.idle-configuration-log tr:last-child').remove(); 618 } 619 }, 620 error: function( eventData ){ 621 }, 622 }); 623 } ); 624 625 jQuery('[name=wrld_time_tracking_status]').on('change', function() { 626 if ( (! jQuery( this ).is(':checked') ) || wrldModalCancelPressed ) { 627 if(! wrldModalCancelPressed){ 628 jQuery('.wrld-warning-popup-modal').fadeIn(500); 629 //jQuery('.apply_time_tracking_settings').hide(); 630 jQuery('.wrld-dashboard-text.note-text').hide(); 631 } 632 wrldModalCancelPressed = false; 633 } else { 634 var status = 'on'; 635 jQuery.ajax({ 636 url: wrld_admin_settings_data.wp_ajax_url, 637 type: 'post', 638 data: { 639 'action': 'apply_time_tracking_settings', 640 'nonce':wrld_admin_settings_data.nonce, 641 'status':status, 642 }, 643 timeout: 60000, // sets timeout to 1 minute 644 success: function( response ){ 645 jQuery('.apply_time_tracking_settings').show(); 646 jQuery('.wrld-dashboard-text.note-text').show(); 647 jQuery('.apply_time_tracking_settings').attr('disabled', 'disabled'); 648 jQuery('.wrld-dashboard-text.note-text .latest').html(response.data.time); 649 jQuery('.idle-configuration-log tr:nth-child(2)').before('<tr><td>' + wrld_admin_settings_data.activated_18n + '</td><td>' + response.data.time + '</td></tr>'); 650 if ( jQuery('.idle-configuration-log tr').length > 10 ) { 651 jQuery('.idle-configuration-log tr:last-child').remove(); 652 } 653 }, 654 error: function( eventData ){ 655 }, 656 }); 657 } 658 }); 659 660 jQuery( '.apply_time_tracking_settings' ).on( 'click', function() {
661 let $this = jQuery( this ); 662 $this.text(wrld_admin_settings_data.wait_text); 663 jQuery.ajax({ 664 url: wrld_admin_settings_data.wp_ajax_url, 665 type: 'post', 666 data: { 667 'action': 'apply_time_tracking_settings', 668 'nonce':wrld_admin_settings_data.nonce, 669 'timeout':jQuery('input[name=wrld_idle_time]').val(), 670 'message':jQuery('input[name=wrld_idle_msg]').val(), 671 // cspell:disable-next-line 672 'btnlabel':jQuery('input[name=wrld_idle_btn_label]').val(), 673 }, 674 timeout: 60000, // sets timeout to 1 minute 675 success: function( response ){ 676 jQuery('.apply_time_tracking_settings').text('Save Changes'); 677 jQuery('.apply_time_tracking_settings').attr('disabled', 'disabled'); 678 $this.after('<div class="temp-message">Saved Successfully!</div>'); 679 setTimeout(function(){ 680 jQuery('.temp-message').remove(); 681 }, 3000); 682 }, 683 error: function( eventData ){ 684 }, 685 }); 686 } ); 687 688 jQuery( '.users-field .discard_users_exclude' ).on( 'click', function() { 689 // save_exclude_values( 'users', users, jQuery( this ) ); 690 // jQuery( '.users-field .dashicons-edit' ).removeAttr( 'disabled' ); 691 jQuery( this ).hide(); 692 // jQuery( '.exclude_users' ).attr( 'disabled', 'disabled' ); 693 jQuery( '.apply_users_exclude' ).hide(); 694 // if ( jQuery( '.exclude_users' ).attr( 'disabled' ) ) { 695 // jQuery( '.exclude_users' ).next().find( 'input.multiselect__input' ).attr( 'disabled', 'disabled' ); 696 // jQuery( '.exclude_users' ).next().find( '.multiselect__clear-btn' ).css( 'pointer-events', 'none' ); 697 // jQuery( '.exclude_users' ).next().find( '.multiselect__remove-btn' ).css( 'pointer-events', 'none' ); 698 // } 699 jQuery('.users-field select.exclude_users').html(window.users_dropdown_bu); 700 jQuery('.users-field .multiselect__container').remove(); 701 // Initialize User Multiselect. 702 userMultiSelect = new IconicMultiSelect({ 703 select: ".exclude_users", 704 disabled: false, 705 placeholder: wrld_admin_settings_data.user_placeholder, 706 noResults: wrld_admin_settings_data.loading_text 707 }); 708 userMultiSelect.init(); 709 710 // Patch code for disabling the multiselect when original select is disabled. 711 // if ( jQuery( '.exclude_users' ).attr( 'disabled' ) ) { 712 // jQuery( '.exclude_users' ).next().find( 'input.multiselect__input' ).attr( 'disabled', 'disabled' ); 713 // jQuery( '.exclude_users' ).next().find( '.multiselect__clear-btn' ).css( 'pointer-events', 'none' ); 714 // jQuery( '.exclude_users' ).next().find( '.multiselect__remove-btn' ).css( 'pointer-events', 'none' ); 715 // } 716 717 // Add subscription event for dropdown value changes. 718 userMultiSelect.subscribe( function( event ) { 719 jQuery( '.users-field .apply_users_exclude' ).show(); 720 jQuery( '.users-field .discard_users_exclude' ).show(); 721 // change_users.push({}) 722 users = event.selection.map( ( { value } ) => value ); 723 } ); 724 // showBorderIfNeeded(); 725 }); 726 727 /* Save button click for user roles setting */ 728 jQuery( '.user-roles-field .discard_ur_exclude' ).on( 'click', function() { 729 // save_exclude_values( 'ur', user_roles, jQuery( this ) ); 730 jQuery( this ).hide(); 731 // jQuery( '.user-roles-field .dashicons-edit' ).removeAttr( 'disabled' ); 732 // jQuery( '.exclude_ur' ).attr( 'disabled', 'disabled' ); 733 jQuery( '.apply_ur_exclude' ).hide(); 734 // if ( jQuery( '.exclude_ur' ).attr( 'disabled' ) ) { 735 // jQuery( '.exclude_ur' ).next().find( 'input.multiselect__input' ).attr( 'disabled', 'disabled' ); 736 // jQuery( '.exclude_ur' ).next().find( '.multiselect__clear-btn' ).css( 'pointer-events', 'none' ); 737 // jQuery( '.exclude_ur' ).next().find( '.multiselect__remove-btn' ).css( 'pointer-events', 'n
737one' ); 738 // } 739 jQuery('.user-roles-field .multiselect__container').remove(); 740 // Initialize User role Multiselect. 741 var urMultiSelect = new IconicMultiSelect({ 742 select: ".exclude_ur", 743 disabled: false, 744 placeholder: wrld_admin_settings_data.ur_placeholder, 745 noResults: wrld_admin_settings_data.loading_text 746 }); 747 urMultiSelect.init(); 748 // Patch code for disabling the multiselect when original select is disabled. 749 // if ( jQuery( '.exclude_ur' ).attr( 'disabled' ) ) { 750 // jQuery( '.exclude_ur' ).next().find( 'input.multiselect__input' ).attr( 'disabled', 'disabled' ); 751 // jQuery( '.exclude_ur' ).next().find( '.multiselect__clear-btn' ).css( 'pointer-events', 'none' ); 752 // jQuery( '.exclude_ur' ).next().find( '.multiselect__remove-btn' ).css( 'pointer-events', 'none' ); 753 // } 754 755 // Add subscription event for dropdown value changes. 756 urMultiSelect.subscribe( function( event ) { 757 jQuery( '.user-roles-field .apply_ur_exclude' ).show(); 758 jQuery( '.user-roles-field .discard_ur_exclude' ).show(); 759 user_roles = event.selection.map( ( { value } ) => value ); 760 } ); 761 //showBorderIfNeeded(); 762 }); 763 764 /* Save button click for courses setting */ 765 jQuery( '.courses-field .discard_courses_exclude' ).on( 'click', function() { 766 jQuery( this ).hide(); 767 // jQuery( '.courses-field .dashicons-edit' ).removeAttr( 'disabled' ); 768 // jQuery( '.exclude_courses' ).attr( 'disabled', 'disabled' ); 769 jQuery( '.apply_courses_exclude' ).hide(); 770 // if ( jQuery( '.exclude_courses' ).attr( 'disabled' ) ) { 771 // jQuery( '.exclude_courses' ).next().find( 'input.multiselect__input' ).attr( 'disabled', 'disabled' ); 772 // jQuery( '.exclude_courses' ).next().find( '.multiselect__clear-btn' ).css( 'pointer-events', 'none' ); 773 // jQuery( '.exclude_courses' ).next().find( '.multiselect__remove-btn' ).css( 'pointer-events', 'none' ); 774 // } 775 jQuery('.courses-field .multiselect__container').remove(); 776 // Initialize Course Multiselect. 777 courseMultiSelect = new IconicMultiSelect({ 778 select: ".exclude_courses", 779 disabled: false, 780 placeholder: wrld_admin_settings_data.course_placeholder, 781 noResults: wrld_admin_settings_data.loading_text 782 }); 783 courseMultiSelect.init(); 784 785 // Patch code for disabling the multiselect when original select is disabled. 786 // if ( jQuery( '.exclude_courses' ).attr( 'disabled' ) ) { 787 // jQuery( '.exclude_courses' ).next().find( 'input.multiselect__input' ).attr( 'disabled', 'disabled' ); 788 // jQuery( '.exclude_courses' ).next().find( '.multiselect__clear-btn' ).css( 'pointer-events', 'none' ); 789 // jQuery( '.exclude_courses' ).next().find( '.multiselect__remove-btn' ).css( 'pointer-events', 'none' ); 790 // } 791 792 // Add subscription event for dropdown value changes. 793 courseMultiSelect.subscribe( function( event ) { 794 jQuery( '.courses-field .apply_courses_exclude' ).show(); 795 jQuery( '.courses-field .discard_courses_exclude' ).show(); 796 courses = event.selection.map( ( { value } ) => value ); 797 // var changes = change_courses[event.action] != undefined ? change_courses[event.action] : []; 798 // changes.push(event.value); 799 // change_courses[event.action] = changes; 800 // change_courses.push({event.action: }) 801 // save_exclude_values( 'courses', courses ); 802 } ); 803 /*if ( change_courses['ADD_OPTION'] != undefined ) { 804 for (var i = 0; i < change_courses['ADD_OPTION'].length; i++) { 805 // target = jQuery( '.exclude_courses option[value=' + change_courses['ADD_OPTION'][i] + ']' ); 806 target = jQuery( '.courses-field li[data-value=' + change_courses['ADD_OPTION'][i] + ']' ); 807 target.removeClass(`multiselect__options--selected`); 808 courseMultiSelect._removeOptionFromList(change_courses['ADD_OPTION'][i]); 809 courseMultiSelect._handleClearSelectionBtn(); 810 courseMultiSelect._handlePlaceholder(); 811 jQuery( '.exclude_courses .multiselect__selected[data-value=' + change_courses['ADD_OPTION'][i] + ']' ).remove(); 812 } 813 change_courses['ADD_OPTION'] = []; 814 } 815 if ( change_courses['REMOVE_OPTION'] != undefined ) { 816 for (var i = 0; i < change_courses['REMOVE_OPTION'].length; i++) { 817 text = jQuery( '.courses-field .exclude_courses option[value=' + change_courses['REMOVE_OPTION'][i] + ']' ).text(); 818 courseMultiSelect._addOptionToList({text: text, value: change_courses['REMOVE_OPTION'][i]}, jQuery( '.courses-field li[data-value=' + change_courses['REMOVE_OPTION'][i] + ']' ).index()); 819 target = jQuery( '.courses-field li[data-value=' + change_courses['REMOVE_OPTION'][i] + ']' ); 820 target.addClass(`multiselect__options--selected`); 821 courseMultiSelect._handleClearSelectionBtn(); 822 courseMultiSelect._handlePlaceholder(); 823 } 824 change_courses['REMOVE_OPTION'] = []; 825 } 826 change_courses = [];*/ 827 // showBorderIfNeeded(); 828 }); 829 830 /* Toggle the multiselect on edit icon click */ 831 // jQuery( '.user-roles-field .dashicons-edit' ).on( 'click', function() { 832 // jQuery( this ).attr( 'disabled', 'disabled' ); 833 // if ( jQuery( '.exclude_ur' ).attr( 'disabled' ) ) { 834 // jQuery( '.exclude_ur' ).removeAttr( 'disabled' ); 835 // jQuery( '.exclude_ur + .multiselect__container' ).removeClass('wrld-no-shadow'); 836 // jQuery( '.exclude_ur' ).next().find( 'input.multiselect__input' ).removeAttr( 'disabled' ); 837 // jQuery( '.exclude_ur' ).next().find( '.multiselect__clear-btn' ).css( 'pointer-events', 'auto' ); 838 // jQuery( '.exclude_ur' ).next().find( '.multiselect__remove-btn' ).css( 'pointer-events', 'auto' ); 839 // }/* else { 840 // jQuery( '.exclude_ur' ).attr( 'disabled', 'disabled' ); 841 // jQuery( '.exclude_ur' ).next().find( 'input.multiselect__input' ).attr( 'disabled', 'disabled' ); 842 // jQuery( '.exclude_ur' ).next().find( '.multiselect__clear-btn' ).css( 'pointer-events', 'auto' ); 843 // jQuery( '.exclude_ur' ).next().find( '.multiselect__remove-btn' ).css( 'pointer-events', 'auto' ); 844 // }*/ 845 // } ); 846 847 /* Toggle the multiselect on edit icon click */ 848 // jQuery( '.courses-field .dashicons-edit' ).on( 'click', function() { 849 // jQuery( this ).attr( 'disabled', 'disabled' ); 850 // if ( jQuery( '.exclude_courses' ).attr( 'disabled' ) ) { 851 // jQuery( '.exclude_courses' ).removeAttr( 'disabled' ); 852 // jQuery( '.exclude_courses + .multiselect__container' ).removeClass('wrld-no-shadow'); 853 // jQuery( '.exclude_courses' ).next().find( 'input.multiselect__input' ).removeAttr( 'disabled' ); 854 // jQuery( '.exclude_courses' ).next().find( '.multiselect__clear-btn' ).css( 'pointer-events', 'auto' ); 855 // jQuery( '.exclude_courses' ).next().find( '.multiselect__remove-btn' ).css( 'pointer-events', 'auto' ); 856 // }/* else { 857 // jQuery( '.exclude_courses' ).attr( 'disabled', 'disabled' ); 858 // jQuery( '.exclude_courses' ).next().find( 'input.multiselect__input' ).attr( 'disabled', 'disabled' ); 859 // jQuery( '.exclude_courses' ).next().find( '.multiselect__clear-btn' ).css( 'pointer-events', 'auto' ); 860 // jQuery( '.exclude_courses' ).next().find( '.multiselect__remove-btn' ).css( 'pointer-events', 'auto' ); 861 // }*/ 862 // } ); 863 864 jQuery( 'body' ).on( 'focusout', '.users-field input.multiselect__input', function() { 865 jQuery('.users-field select.exclude_users').html(window.users_dropdown_bu); 866 } ); 867 868 jQuery( 'body' ).on( 'focus', '.users-field input.multiselect__input', function() { 869 if ( ! load_more ) { 870 return; 871 } 872 if ( jQuery( this ).parents('.multiselect__container').find('.multiselect__options ul li').length >= 10 && jQuery( this ).parents('.multiselect__container').find( '.multiselect__options .load-more' ).length <= 0 ) { 873 jQuery( this ).parents('.multiselect__container').find('.multiselect__options ul').append('<span class="load-more">Load More</span>'); 874 } else { 875 jQuery( this ).parents('.multiselect__container').find( '.multiselect__options ul .load-more' ).remove(); 876 jQuery( this ).parents('.multiselect__container').find('.multiselect__options ul').append('<span class="load-more">Load More</span>'); 877 } 878 } ); 879 880 jQuery( 'body' ).on( 'input focus', '.users-field input.multiselect__input', function( event ){ 881 clearTimeout(lag); 882 jQuery( '.users-field .multiselect__container .multiselect__options ul .load-more' ).remove(); 883 lag = setTimeout( function() { 884 currentXhr && currentXhr.readyState != 4 && currentXhr.abort(); // clear previous request 885 jQuery( '.users-field .multiselect__container .multiselect__options ul' ).html('<span class="loading">Loading</span>'); 886 currentXhr = jQuery.ajax({ 887 url: wrld_admin_settings_data.wp_ajax_url, 888 type: 'post', 889 async: false, 890 data: { 891 'action': 'wrld_exclude_load_users', 892 'nonce': wrld_admin_settings_data.nonce, 893 'search': event.target.value, 894 }, 895 timeout: 60000, // sets timeout to 1 minute 896 success: function( response ){ 897 if( response.success ){ 898 jQuery( '.users-field .multiselect__container .multiselect__options ul .loading' ).remove(); 899 window.users_dropdown_bu = jQuery( '.users-field select option' ).detach(); 900 jQuery( '.users-field select' ).empty(); 901 jQuery( '.users-field select' ).append( response.data.data.map((option) => { 902 if ( jQuery( '.users-field select option[value="' + option.ID + '"]' ).length == 0 ) { 903 return ` 904 <option class="search-results" value="${option.ID}">${option.display_name}</option> 905 `; 906 } 907 return ""; 908 }).join("") ); 909 jQuery('.users-field .multiselect__selected').each(function(ind, el){ 910 if ( jQuery( '.users-field .multiselect__selected[data-value="' + jQuery(el).attr('data-value') + '"]' ).length == 0 ) { 911 jQuery( '.users-field select' ).append('<option class="search-results" value="'+ jQuery(el).attr('data-value') + '">' + jQuery(el).text() + '</option>'); 912 } 913 }); 914 window.users_dropdown_bu = [window.users_dropdown_bu, jQuery( '.users-field select option' )].reduce(function(total, current){ 915 return jQuery(total).add(current) 916 }); 917 userMultiSelect.edit(); 918 jQuery('.users-field .multiselect__selected').each(function(ind, el){ 919 if ( jQuery( '.users-field .multiselect__options li[data-value="' + jQuery(el).attr('data-value') + '"]' ).length == 0 ) { 920 jQuery( '.users-field .multiselect__options ul' ).append('<li class="multiselect__options--selected" data-value="'+ jQuery(el).attr('data-value') + '">' + jQuery(el).text() + '</li>'); 921 } else { 922 // jQuery(el).addClass('multiselect__options--selected'); 923 jQuery('.users-field .multiselect__options li[data-value="' + jQuery(el).attr('data-value') + '"]' ).addClass('multiselect__options--selected'); 924 } 925 }); 926 if ( jQuery( '.users-field .multiselect__container .multiselect__options ul .load-more' ).length <= 0 && response.data.data.length >= 10 ) { 927 load_more = true; 928 jQuery( '.users-field .multiselect__container .multiselect__options ul').append('<span class="load-more">Load More</span>'); 929 } 930 search_string = event.target.value; 931 } else { 932 jQuery( '.users-field .multiselect__container .multiselect__options ul .loading' ).text('No Results Found'); 933 load_more = false;
934 jQuery( '.users-field .multiselect__container .multiselect__options ul .load-more' ).remove(); 935 } 936 }, 937 error: function( eventData ){ 938 }, 939 }); 940 }, 2000 ); 941 }); 942 943 jQuery( 'body' ).on( 'click', '.multiselect__container .load-more', function() { 944 jQuery( this ).remove(); 945 var entries = jQuery( '.users-field .multiselect__container .multiselect__options ul li' ).length; 946 var page = parseInt( Math.ceil( entries / 10 ) ) + 1; 947 jQuery.ajax({ 948 url: wrld_admin_settings_data.wp_ajax_url, 949 type: 'post', 950 data: { 951 'action': 'wrld_exclude_load_users', 952 'nonce': wrld_admin_settings_data.nonce, 953 'page': page, 954 'search': search_string, 955 }, 956 timeout: 60000, // sets timeout to 1 minute 957 success: function( response ){ 958 if( response.success ){ 959 jQuery( '.users-field select' ).append( response.data.data.map((option) => { 960 if ( jQuery( '.users-field select option[value="' + option.ID + '"]' ).length == 0 ) { 961 return ` 962 <option value="${option.ID}">${option.display_name}</option> 963 `; 964 } 965 return ""; 966 }).join("") ); 967 // jQuery( '.users-field select' ).append( jQuery('.users-field .multiselect__selected').map((option) => { 968 // return ` 969 // <option class="search-results" value="${option.attr('data-value')}">${option.text()}</option> 970 // `; 971 // }).join("") ); 972 jQuery('.users-field .multiselect__selected').each(function(ind, el){ 973 if ( jQuery( '.users-field .multiselect__selected[data-value="' + jQuery(el).attr('data-value') + '"]' ).length == 0 ) { 974 jQuery( '.users-field select' ).append('<option value="'+ jQuery(el).attr('data-value') + '">' + jQuery(el).text() + '</option>'); 975 } 976 }); 977 userMultiSelect.edit(); 978 jQuery('.users-field .multiselect__selected').each(function(ind, el){ 979 if ( jQuery( '.users-field .multiselect__options li[data-value="' + jQuery(el).attr('data-value') + '"]' ).length == 0 ) { 980 jQuery( '.users-field .multiselect__options ul' ).append('<li class="multiselect__options--selected" data-value="'+ jQuery(el).attr('data-value') + '">' + jQuery(el).text() + '</li>'); 981 } else { 982 jQuery('.users-field .multiselect__options li[data-value="' + jQuery(el).attr('data-value') + '"]' ).addClass('multiselect__options--selected'); 983 } 984 }); 985 load_more = true; 986 if ( jQuery( '.users-field .multiselect__container .multiselect__options ul .load-more' ).length <= 0 ) { 987 jQuery( '.users-field .multiselect__container .multiselect__options ul').append('<span class="load-more">Load More</span>'); 988 } 989 } else { 990 load_more = false; 991 jQuery( '.users-field .multiselect__container .multiselect__options ul .load-more' ).remove(); 992 } 993 }, 994 error: function( eventData ){ 995 }, 996 }); 997 } ); 998 999 jQuery("#wlrp_more span").on('click',function(){ 1000 jQuery("#wlrp_more li").toggle(600); 1001 jQuery("#wlrp_more span").hide(0); 1002 }); 1003 1004 jQuery(".wlrp_less").on('click',function(){ 1005 jQuery("#wlrp_more li").toggle(600); 1006 jQuery("#wlrp_more span").show(0); 1007 }); 1008 1009 //time setting 1010 1011 jQuery('#wrld_idle_hh').on('input', function(){ 1012 this.value = this.value.replace(/[^0-9]/g, '').slice(0,2); 1013 saveIdleTimeValue(); 1014 }); 1015 jQuery('#wrld_idle_mm').on('input', function(){ 1016 this.value = this.value.replace(/[^0-9]/g, '').slice(0,2); 1017 saveIdleTimeValue(); 1018 }); 1019 jQuery('#wrld_idle_ss').on('input', function(){ 1020 this.value = this.value.replace(/[^0-9]/g, '').slice(0,2); 1021 saveIdleTimeValue(); 1022 }); 1023 1024 function saveIdleTimeValue() { 1025 jQuery('.apply_time_tracking_settings').removeAttr('disabled'); 1026 let hours = jQuery('#wrld_idle_hh').val(); 1027 let minutes = jQuery('#wrld_idle_mm').val(); 1028 let remainingSeconds = jQuery('#wrld_idle_ss').val(); 1029 let totalSeconds = (hours * 3600) + (minutes * 60) + remainingSeconds * 1; 1030 1031 jQuery('#current_idle_time').val(totalSeconds); 1032 } 1033 function setIdleTimeValue() { 1034 var tValue = jQuery('#current_idle_time').val(); 1035 let hours = Math.floor(tValue / 3600); 1036 let minutes = Math.floor((tValue - (hours * 3600)) / 60); 1037 let remainingSeconds = tValue - (hours * 3600) - (minutes * 60); 1038 jQuery('#wrld_idle_ss').val(remainingSeconds); 1039 jQuery('#wrld_idle_mm').val(minutes); 1040 jQuery('#wrld_idle_hh').val(hours); 1041 } 1042 setIdleTimeValue(); 1043 1044 1045 jQuery( document ).ready(function(){
1046 var active_tab = jQuery('.current-sub-setting-tab').attr('data-tab'); 1047 jQuery(".setting-tabs").hide(); 1048 jQuery('#'+active_tab).show(0); 1049 }); 1050 // admin setting subtabs logic 1051 jQuery('#wrld-settings-sub').on('click','li' , function(e){ 1052 jQuery(".setting-tabs-links").each(function(element){ 1053 jQuery(this).removeClass('current-sub-setting-tab'); 1054 }); 1055 jQuery(this).addClass('current-sub-setting-tab'); 1056 const panelId = jQuery(this).attr("data-tab"); 1057 jQuery(".setting-tabs").hide(); 1058 jQuery('#'+panelId).show(0); 1059 }); 1060 1061 var hashFragment = window.location.hash; 1062 // cspell:disable-next-line 1063 if(hashFragment === "#wlrd-dashboard-time-settings"){ 1064 jQuery(".setting-tabs-links").each(function(element){ 1065 jQuery(this).removeClass('current-sub-setting-tab'); 1066 }); 1067 1068 setTimeout(() => { 1069 jQuery('#wrld-time-tracking-menu').show(0); 1070 jQuery('#wrld-time-tracking-menu').addClass('current-sub-setting-tab'); 1071 }, 1000); 1072 1073 jQuery('.wrld-ts-main-container').hide(0); 1074 } 1075});
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.