1// Set datepicker default value. 2var datepicker_format = 'yy-mm-dd'; 3 4jQuery(document).ready(function($) 5{ 6 // Image picker on terms menu 7 $('.mec_upload_image_button').click(function(event) 8 { 9 event.preventDefault(); 10 11 var real_ajax_url = wp.ajax.settings.url; 12 wp.ajax.settings.url = real_ajax_url + '?mec_fes=1'; 13 14 var post_id = $(this).data('post-id'); 15 if(post_id && post_id !== -1) wp.media.model.settings.post.id = post_id; 16 if(post_id === -1) wp.media.model.settings.post.id = null; 17 18 var preview_id = 'mec_thumbnail_img'; 19 var input_id = 'mec_thumbnail'; 20 21 if($(this).data('preview-id')) preview_id = $(this).data('preview-id'); 22 if($(this).data('input-id')) input_id = $(this).data('input-id'); 23 24 var frame; 25 if(frame) 26 { 27 frame.open(); 28 return; 29 } 30 31 frame = wp.media(); 32 frame.on('select', function() 33 { 34 // Grab the selected attachment. 35 var attachment = frame.state().get('selection').first(); 36 37 $('#'+preview_id).html('<img src="'+attachment.attributes.url+'" style="max-width: 100%;" />'); 38 $('#'+input_id).val(attachment.attributes.url); 39 40 $('.mec_remove_image_button').toggleClass('mec-util-hidden'); 41 42 frame.close(); 43 }); 44 45 frame.open(); 46 }); 47 48 // Image remover on terms menu 49 $('.mec_remove_image_button').click(function(event) 50 { 51 event.preventDefault(); 52 53 var preview_id = 'mec_thumbnail_img'; 54 var input_id = 'mec_thumbnail'; 55 56 if($(this).data('preview-id')) preview_id = $(this).data('preview-id'); 57 if($(this).data('input-id')) input_id = $(this).data('input-id'); 58 59 $('#'+preview_id).html(''); 60 $('#'+input_id).val(''); 61 62 $('.mec_remove_image_button').toggleClass('mec-util-hidden'); 63 }); 64 65 // Image picker on add event menu for location 66 $('.mec_location_upload_image_button').click(function(event) 67 { 68 event.preventDefault(); 69 70 var frame; 71 if(frame) 72 { 73 frame.open(); 74 return; 75 } 76 77 frame = wp.media(); 78 frame.on('select', function() 79 { 80 // Grab the selected attachment. 81 var attachment = frame.state().get('selection').first(); 82 83 $('#mec_location_thumbnail_img').html('<img src="'+attachment.attributes.url+'" />'); 84 $('#mec_location_thumbnail').val(attachment.attributes.url); 85 86 $('.mec_location_remove_image_button').toggleClass('mec-util-hidden'); 87 88 frame.close(); 89 }); 90 91 frame.open(); 92 }); 93 94 // Image remover on add event menu for location 95 $('.mec_location_remove_image_button').click(function(event) 96 { 97 event.preventDefault(); 98 99 $('#mec_location_thumbnail_img').html(''); 100 $('#mec_location_thumbnail').val(''); 101 102 $('.mec_location_remove_image_button').toggleClass('mec-util-hidden'); 103 }); 104 105 // Image picker on add event menu for organizer 106 $('.mec_organizer_upload_image_button').click(function(event) 107 { 108 event.preventDefault(); 109 110 var frame; 111 if(frame) 112 { 113 frame.open(); 114 return; 115 } 116 117 frame = wp.media(); 118 frame.on('select', function() 119 { 120 // Grab the selected attachment. 121 var attachment = frame.state().get('selection').first(); 122 123 $('#mec_organizer_thumbnail_img').html('<img src="'+attachment.attributes.url+'" />'); 124 $('#mec_organizer_thumbnail').val(attachment.attributes.url); 125 126 $('.mec_organizer_remove_image_button').toggleClass('mec-util-hidden'); 127 128 frame.close(); 129 }); 130 131 frame.open(); 132 }); 133 134 // Image remover on add event menu for organizer 135 $('.mec_organizer_remove_image_button').click(function(event) 136 { 137 event.preventDefault(); 138 139 $('#mec_organizer_thumbnail_img').html(''); 140 $('#mec_organizer_thumbnail').val(''); 141 142 $('.mec_organizer_remove_image_button').toggleClass('mec-util-hidden'); 143 });
144 145 // Image remover on frontend event submission menu 146 $('#mec_fes_remove_image_button').click(function(event) 147 { 148 event.preventDefault(); 149 150 $('#mec_fes_thumbnail_img').html(''); 151 $('#mec_fes_thumbnail').val(''); 152 $('#mec_featured_image_file').val(''); 153 154 $('#mec_fes_remove_image_button').addClass('mec-util-hidden'); 155 }); 156 157 // Location Image remover on frontend event submission menu 158 $('#mec_fes_location_remove_image_button').click(function(event) 159 { 160 event.preventDefault(); 161 162 $('#mec_fes_location_thumbnail_img').html(''); 163 $('#mec_fes_location_thumbnail').val(''); 164 $('#mec_fes_location_thumbnail_file').val(''); 165 166 $('#mec_fes_location_remove_image_button').addClass('mec-util-hidden'); 167 }); 168 169 // Organizer Image remover on frontend event submission menu 170 $('#mec_fes_organizer_remove_image_button').click(function(event) 171 { 172 event.preventDefault(); 173 174 $('#mec_fes_organizer_thumbnail_img').html(''); 175 $('#mec_fes_organizer_thumbnail').val(''); 176 $('#mec_fes_organizer_thumbnail_file').val(''); 177 178 $('#mec_fes_organizer_remove_image_button').addClass('mec-util-hidden'); 179 }); 180 181 var date_splite; 182 if(typeof mec_admin_localize !== 'undefined') 183 { 184 date_splite = mec_admin_localize.datepicker_format.split('&'); 185 if(date_splite[0] !== undefined && date_splite.length == 2) datepicker_format = date_splite[0]; 186 } 187 else if(typeof mecdata !== 'undefined') 188 { 189 date_splite = mecdata.datepicker_format.split( '&' ); 190 if(date_splite[0] !== undefined && date_splite.length == 2) datepicker_format = date_splite[0]; 191 } 192 193 $('[id^="mec-book-form-btn-step"]').on('click',function() 194 { 195 setTimeout(function() 196 { 197 if($.fn.datepicker) 198 { 199 if('date' !== $('.mec-date-picker').prop('type')) 200 { 201 $('.mec-date-picker').datepicker( 202 { 203 changeYear: true, 204 changeMonth: true, 205 dateFormat: datepicker_format, 206 gotoCurrent: true, 207 yearRange: 'c-3:c+5', 208 }); 209 } 210 211 } 212 }, 1000); 213 }); 214 215 if($.fn.datepicker) 216 { 217 $('.mec-date-picker').datepicker( 218 { 219 changeYear: true, 220 changeMonth: true, 221 dateFormat: datepicker_format, 222 gotoCurrent: true, 223 yearRange: 'c-3:c+5', 224 }); 225 226 $('#mec_start_date').datepicker( 227 { 228 changeYear: true, 229 changeMonth: true, 230 dateFormat: datepicker_format, 231 gotoCurrent: true, 232 yearRange: 'c-3:c+5', 233 onSelect: function(value, i) 234 { 235 const end = $("#mec_end_date"); 236 if(value !== i.lastVal) 237 { 238 end.datepicker("option", "minDate", value); 239 } 240 241 if(end.val() === '') 242 { 243 end.val(value); 244 } 245 } 246 }); 247 248 $('#mec_end_date').datepicker( 249 { 250 changeYear: true, 251 changeMonth: true, 252 dateFormat: datepicker_format, 253 gotoCurrent: true, 254 yearRange: 'c-3:c+5', 255 onSelect: function(value, i) 256 { 257 const start = $("#mec_start_date"); 258 if(value !== i.lastVal) 259 { 260 start.datepicker("option", "maxDate", value); 261 } 262 263 if(start.val() === '') 264 { 265 start.val(value); 266 } 267 } 268 }); 269 270 $('#mec_date_repeat_end_at_date').datepicker( 271 { 272 changeYear: true, 273 changeMonth: true, 274 dateFormat: datepicker_format, 275 gotoCurrent: true, 276 yearRange: 'c-3:c+5', 277 }); 278 279 $('.mec_date_picker_dynamic_format').datepicker( 280 { 281 changeYear: true, 282 changeMonth: true, 283 dateFormat: datepicker_format, 284 gotoCurrent: true, 285 yearRange: 'c-3:c+5', 286 }); 287 288 $('.mec_date_picker').datepicker( 289 { 290 changeYear: true, 291 changeMonth: true, 292 dateFormat: 'yy-mm-dd', 293 gotoCurrent: true, 294 yearRange: 'c-3:c+5', 295 }); 296 297 $('.mec_date_picker_dynamic_format_start').datepicker( 298 { 299 changeYear: true, 300 changeMonth: true, 301 dateFormat: datepicker_format, 302 gotoCurrent: true, 303 yearRange: 'c-1:c+5', 304 onSelect: function(date) 305 { 306 var selectedDate = new Date(date); 307 var endDate = new Date(selectedDate.getTime()); 308 309 var $end_picker = $(this).next(); 310 $end_picker.datepicker("option", "minDate", endDate); 311 $end_picker.datepicker("option", "maxDate", '+5y'); 312 } 313 }); 314 315 $('.mec_date_picker_dynamic_format_end').datepicker( 316 { 317 changeYear: true, 318 changeMonth: true, 319 dateFormat: datepicker_format, 320 gotoCurrent: true, 321 yearRange: 'c-1:c+5', 322 }); 323
324 trigger_period_picker(); 325 } 326 327 // Initialize WP Color Picker 328 if($.fn.wpColorPicker) jQuery('.mec-color-picker').wpColorPicker(); 329 330 $('#mec_location_id').on('change', function() 331 { 332 mec_location_toggle(); 333 }); 334 335 $('#mec_organizer_id').on('change', function() 336 { 337 mec_organizer_toggle(); 338 var mec_organizer_val = parseInt($(this).val()); 339 var mec_additional_organizer = $(this).parent().parent().find('#mec-additional-organizer-wrap'); 340 341 if(mec_organizer_val != 1) mec_additional_organizer.show(); 342 else mec_additional_organizer.hide(); 343 }); 344 345 mec_location_toggle(); 346 mec_organizer_toggle(); 347 348 $('#mec_repeat').on('change', function() 349 { 350 mec_repeat_toggle(); 351 }); 352 353 mec_repeat_toggle(); 354 355 $('#mec_repeat_type').on('change', function() 356 { 357 mec_repeat_type_toggle(); 358 }); 359 360 mec_repeat_type_toggle(); 361 362 $('#mec_bookings_limit_unlimited').on('change', function() 363 { 364 mec_bookings_unlimited_toggle(); 365 }); 366 367 $('#mec_add_in_days').on('click', function() 368 { 369 var allday = $(this).data('allday'); 370 371 var start = $('#mec_exceptions_in_days_start_date').val(); 372 if(start === '') return false; 373 374 var end = $('#mec_exceptions_in_days_end_date').val(); 375 if(end === '') return false; 376 377 var start_hour = $('#mec_exceptions_in_days_start_hour').val(); 378 if(start_hour.length === 1) start_hour = '0'+start_hour; 379 380 var start_minutes = $('#mec_exceptions_in_days_start_minutes').val(); 381 if(start_minutes.length === 1) start_minutes = '0'+start_minutes; 382 383 var start_ampm = $('#mec_exceptions_in_days_start_ampm').val(); 384 if(typeof start_ampm === 'undefined') start_ampm = ''; 385 386 var end_hour = $('#mec_exceptions_in_days_end_hour').val(); 387 if(end_hour.length === 1) end_hour = '0'+end_hour; 388 389 var end_minutes = $('#mec_exceptions_in_days_end_minutes').val(); 390 if(end_minutes.length === 1) end_minutes = '0'+end_minutes; 391 392 var end_ampm = $('#mec_exceptions_in_days_end_ampm').val(); 393 if(typeof end_ampm === 'undefined') end_ampm = ''; 394 395 var value = start + ':' + end + ':' + start_hour + '-' + start_minutes + '-' + start_ampm + ':' + end_hour + '-' + end_minutes + '-' + end_ampm; 396 var label = start + ' <span class="mec-time-picker-label '+(allday ? 'mec-util-hidden' : '')+'">' + start_hour + ':' + start_minutes + ' ' + start_ampm + '</span> - ' + end + ' <span class="mec-time-picker-label '+(allday ? 'mec-util-hidden' : '')+'">' + end_hour + ':' + end_minutes + ' ' + end_ampm + '</span>'; 397 398 // Don't add exactly same occurrences 399 if($('#mec_in_days input[value="'+value+'"]').length > 0) return false; 400 401 var $key = $('#mec_new_in_days_key'); 402 403 var key = $key.val(); 404 var html = $('#mec_new_in_days_raw').html().replace(/:i:/g, key).replace(/:val:/g, value).replace(/:label:/g, label); 405 406 $('#mec_in_days').append(html); 407 $key.val(parseInt(key)+1); 408 }); 409 410 $('#mec_edit_in_days').on('click', function() 411 { 412 // Form 413 const $form = $('#mec-in-days-form'); 414 415 const modify_id = $form.data('modify'); 416 const $row = $('#mec_in_days_row'+modify_id); 417 418 var allday = $(this).data('allday'); 419 420 var start = $('#mec_exceptions_in_days_start_date').val(); 421 if(start === '') return false; 422 423 var end = $('#mec_exceptions_in_days_end_date').val(); 424 if(end === '') return false; 425 426 var start_hour = $('#mec_exceptions_in_days_start_hour').val(); 427 if(start_hour.length === 1) start_hour = '0'+start_hour; 428 429 var start_minutes = $('#mec_exceptions_in_days_start_minutes').val(); 430 if(start_minutes.length === 1) start_minutes = '0'+start_minutes; 431 432 var start_ampm = $('#mec_exceptions_in_days_start_ampm').val(); 433 if(typeof start_ampm === 'undefined') start_ampm = ''; 434 435 var end_hour = $('#mec_exceptions_in_days_end_hour').val(); 436 if(end_hour.length === 1) end_hour = '0'+end_hour; 437 438 var end_minutes = $('#mec_exceptions_in_days_end_minutes').val(); 439 if(end_minutes.length === 1) end_minutes = '0'+end_minutes; 440 441 var end_ampm = $('#mec_exceptions_in_days_end_ampm').val(); 442 if(typeof end_ampm === 'undefined') end_ampm = ''; 443 444 var value = start + ':' + end + ':' + start_hour + '-' + start_minutes + '-' + start_ampm + ':' + end_hour + '-' + end_minutes + '-' + end_ampm; 445 var label = start + ' <span class="mec-time-picker-label '+(allday ? 'mec-util-hidden' : '')+'">' + start_hour + ':' + start_minutes + ' ' + start_ampm + '</span> - ' + end + ' <span class="mec-time-picker-label '+(allday ? 'mec-util-hidden' : '')+'">' + end_hour + ':' + end_minutes + ' ' + end_ampm + '</span>'; 446 447 $row.find($('input[type=hidden]')).val(value); 448 $row.find($('.mec-in-days-day')).html(label); 449 450 // Reset Dates 451 $form.parent().find($('input[type=text]')).val(''); 452 453 // Modification Mode 454 $form.removeClass('mec-in-days-edit-mode').addClass('mec-in-days-add-mode').removeData('modify'); 455 });
456 457 $('#mec_cancel_in_days').on('click', function() 458 { 459 // Form 460 let $form = $('#mec-in-days-form'); 461 462 // Reset Dates 463 $form.parent().find($('input[type=text]')).val(''); 464 465 // Modification Mode 466 $form.removeClass('mec-in-days-edit-mode').addClass('mec-in-days-add-mode').removeData('modify'); 467 }); 468 469 $('#mec_add_not_in_days').on('click', function() 470 { 471 let date = $('#mec_exceptions_not_in_days_date').val(); 472 if(date === '') return false; 473 474 let d = date.replaceAll('-', ''); 475 d = d.replaceAll('/', ''); 476 d = d.replaceAll('.', ''); 477 478 479 let $wrapper = $('#mec_not_in_days'); 480 let $key = $('#mec_new_not_in_days_key'); 481 482 let c = 'mec-date-'+d; 483 if($wrapper.find($('.'+c)).length) return; 484 485 let key = $key.val(); 486 let html = $('#mec_new_not_in_days_raw').html().replace(/:i:/g, key).replace(/:d:/g, d).replace(/:val:/g, date); 487 488 $wrapper.append(html); 489 $key.val(parseInt(key)+1); 490 }); 491 492 $('#mec_add_ticket_button').on('click', function() 493 { 494 let $key = $('#mec_new_ticket_key'); 495 let key = $key.val(); 496 let html = $('#mec_new_ticket_raw').html().replace(/:i:/g, key); 497 498 $('#mec_tickets').append(html); 499 $key.val(parseInt(key)+1); 500 501 $('.mec_add_price_date_button').off('click').on('click', function() 502 { 503 mec_handle_add_price_date_button(this); 504 }); 505 506 $.each($(".mec-select2"), function(i,v) 507 { 508 if($(v).attr('name').search(":i:") > 0) 509 { 510 return; 511 } 512 513 if(typeof $(v).data('select2-id') == 'undefined') 514 { 515 $(v).select2(); 516 } 517 }); 518 519 trigger_period_picker(); 520 }); 521 522 $('.mec_add_price_date_button').off('click').on('click', function() 523 { 524 mec_handle_add_price_date_button(this); 525 }); 526 527 mec_hourly_schedule_add_day_listener(); 528 529 $('#mec_add_fee_button').on('click', function() 530 { 531 var key = $('#mec_new_fee_key').val(); 532 var html = $('#mec_new_fee_raw').html().replace(/:i:/g, key); 533 534 $('#mec_fees_list').append(html); 535 $('#mec_new_fee_key').val(parseInt(key)+1); 536 }); 537 538 $('#mec_add_ticket_variation_button').on('click', function() 539 { 540 var key = $('#mec_new_ticket_variation_key').val(); 541 var html = $('#mec_new_ticket_variation_raw').html().replace(/:i:/g, key); 542 543 $('#mec_ticket_variations_list').append(html); 544 $('#mec_new_ticket_variation_key').val(parseInt(key)+1); 545 }); 546 547 $('.mec-form-row.mec-available-color-row span').on('click', function() 548 { 549 $('.mec-form-row.mec-available-color-row span').removeClass('color-selected'); 550 $(this).addClass('color-selected'); 551 }); 552 553 $('#mec_reg_form_field_types button').on('click', function() 554 { 555 var type = $(this).data('type'); 556 557 if (type == 'mec_email') { 558 if ($('#mec_reg_form_fields').find('input[value="mec_email"][type="hidden"]').length) { 559 return false; 560 } 561 } 562 563 if (type == 'name') { 564 if ($('#mec_reg_form_fields').find('input[value="name"][type="hidden"]').length) { 565 return false; 566 } 567 } 568 569 var key = $('#mec_new_reg_field_key').val(); 570 var html = $('#mec_reg_field_'+type).html().replace(/:i:/g, key); 571 572 $('#mec_reg_form_fields').append(html); 573 $('#mec_new_reg_field_key').val(parseInt(key)+1); 574 575 // Set onclick listener for add option fields 576 mec_reg_fields_option_listeners(); 577 }); 578 579 // Set onclick listener for add option fields 580 mec_reg_fields_option_listeners(); 581 582 // Advanced Repeating 583 $('#mec-advanced-wraper ul > ul > li').click(function() 584 { 585 if($(this).attr('class') == '') $(this).attr('class', 'mec-active'); 586 else $(this).attr('class', ''); 587 588 $('#mec_date_repeat_advanced').val($('#mec-advanced-wraper div:first-child > ul').find('.mec-active').find('span').text().slice(0, -1)); 589 });
590 591 $('#mec_event_form_field_types button').on('click', function() 592 { 593 var type = $(this).data('type'); 594 595 var key = $('#mec_new_event_field_key').val(); 596 var html = $('#mec_event_field_'+type).html().replace(/:i:/g, key); 597 598 $('#mec_event_form_fields').append(html); 599 $('#mec_new_event_field_key').val(parseInt(key)+1); 600 601 // Set onclick listener for add option fields 602 mec_event_fields_option_listeners(); 603 }); 604 605 // Set onclick listener for add option fields 606 mec_event_fields_option_listeners(); 607 608 $('#mec_bfixed_form_field_types button').on('click', function() 609 { 610 var type = $(this).data('type'); 611 612 var key = $('#mec_new_bfixed_field_key').val(); 613 var html = $('#mec_bfixed_field_'+type).html().replace(/:i:/g, key); 614 615 $('#mec_bfixed_form_fields').append(html); 616 $('#mec_new_bfixed_field_key').val(parseInt(key)+1); 617 618 // Set onclick listener for add option fields 619 mec_bfixed_fields_option_listeners(); 620 }); 621 622 // Set onclick listener for add option fields 623 mec_bfixed_fields_option_listeners(); 624 625 // Additional Organizers 626 mec_additional_organizers_listeners(); 627 628 // Show / Hide Password 629 $('.mec-show-hide-password').on('click', function() 630 { 631 var $input = $(this).siblings("input"); 632 var current = $input.attr('type'); 633 634 if(current === 'password') $input.attr('type', 'text'); 635 else $input.attr('type', 'password'); 636 }); 637 638 // FAQ 639 $('#mec_add_faq_button').on('click', function() 640 { 641 var key = $('#mec_new_faq_key').val(); 642 var html = $('#mec_new_faq_raw').html().replace(/:i:/g, key); 643 644 $('#mec_faq_list').append(html); 645 $('#mec_new_faq_key').val(parseInt(key)+1); 646 }); 647}); 648 649function trigger_period_picker() 650{ 651 jQuery('.mec-date-picker-start').datepicker( 652 { 653 changeYear: true, 654 changeMonth: true, 655 dateFormat: 'yy-mm-dd', 656 gotoCurrent: true, 657 yearRange: 'c-1:c+5', 658 onSelect: function(date) 659 { 660 const selectedDate = new Date(date); 661 const endDate = new Date(selectedDate.getTime()); 662 663 const $end_picker = jQuery(this).next(); 664 $end_picker.datepicker("option", "minDate", endDate); 665 $end_picker.datepicker("option", "maxDate", '+5y'); 666 } 667 }); 668 669 jQuery('.mec-date-picker-end').datepicker( 670 { 671 changeYear: true, 672 changeMonth: true, 673 dateFormat: 'yy-mm-dd', 674 gotoCurrent: true, 675 yearRange: 'c-1:c+5', 676 }); 677} 678 679function mec_location_toggle() 680{ 681 if(jQuery('#mec_location_id').val() != '0') jQuery('#mec_location_new_container').hide(); 682 else jQuery('#mec_location_new_container').show(); 683} 684 685function mec_organizer_toggle() 686{ 687 if(jQuery('#mec_organizer_id').val() != '0') jQuery('#mec_organizer_new_container').hide(); 688 else jQuery('#mec_organizer_new_container').show(); 689} 690 691function mec_repeat_toggle() 692{ 693 if(jQuery('#mec_repeat').is(':checked')) jQuery('.mec-form-repeating-event-row').show(); 694 else jQuery('.mec-form-repeating-event-row').hide(); 695} 696 697function mec_repeat_type_toggle() 698{ 699 var repeat_type = jQuery('#mec_repeat_type').val(); 700 701 if(repeat_type == 'certain_weekdays') 702 { 703 jQuery('#mec_repeat_interval_container').hide(); 704 jQuery('#mec_repeat_certain_weekdays_container').show(); 705 jQuery('#mec_exceptions_in_days_container').hide(); 706 jQuery('#mec_end_wrapper').show(); 707 jQuery('#mec-advanced-wraper').hide(); 708 } 709 else if(repeat_type == 'custom_days') 710 { 711 jQuery('#mec_repeat_interval_container').hide(); 712 jQuery('#mec_repeat_certain_weekdays_container').hide(); 713 jQuery('#mec_exceptions_in_days_container').show(); 714 jQuery('#mec_end_wrapper').hide(); 715 jQuery('#mec-advanced-wraper').hide(); 716 } 717 else if(repeat_type == 'advanced') 718 { 719 jQuery('#mec_repeat_interval_container').hide(); 720 jQuery('#mec_repeat_certain_weekdays_container').hide(); 721 jQuery('#mec_exceptions_in_days_container').hide(); 722 jQuery('#mec_end_wrapper').show(); 723 jQuery('#mec-advanced-wraper').show(); 724 } 725 else if(repeat_type != 'daily' && repeat_type != 'weekly' && repeat_type != 'monthly') 726 { 727 jQuery('#mec_repeat_interval_container').hide(); 728 jQuery('#mec_repeat_certain_weekdays_container').hide(); 729 jQuery('#mec_exceptions_in_days_container').hide(); 730 jQuery('#mec_end_wrapper').show(); 731 jQuery('#mec-advanced-wraper').hide(); 732 } 733 else 734 { 735 jQuery('#mec_repeat_interval_container').show(); 736 jQuery('#mec_repeat_certain_weekdays_container').hide(); 737 jQuery('#mec_exceptions_in_days_container').hide(); 738 jQuery('#mec_end_wrapper').show(); 739 jQuery('#mec-advanced-wraper').hide(); 740 } 741} 742 743function mec_in_days_remove(i) 744{ 745 jQuery('#mec_in_days_row'+i).remove(); 746} 747 748function mec_in_days_edit(i) 749{ 750 // Date 751 let $row = jQuery('#mec_in_days_row'+i); 752 let value = $row.find(jQuery('input[type=hidden]')).val(); 753 754 const values = value.split(':'); 755 const start_times = values[2].split('-') 756 const end_times = values[3].split('-') 757 758 // Form 759 let $form = jQuery('#mec-in-days-form'); 760 761 // Set Dates 762 jQuery('#mec_exceptions_in_days_start_date').val(values[0]); 763 jQuery('#mec_exceptions_in_days_end_date').val(values[1]); 764 765 // Set Times 766 jQuery('#mec_exceptions_in_days_start_hour').val(parseInt(start_times[0])); 767 jQuery('#mec_exceptions_in_days_start_minutes').val(parseInt(start_times[1])); 768 jQuery('#mec_exceptions_in_days_start_ampm').val(start_times[2]); 769 770 jQuery('#mec_exceptions_in_days_end_hour').val(parseInt(end_times[0])); 771 jQuery('#mec_exceptions_in_days_end_minutes').val(parseInt(end_times[1])); 772 jQuery('#mec_exceptions_in_days_end_ampm').val(end_times[2]); 773 774 // Modification Mode 775 $form.removeClass('mec-in-days-add-mode').addClass('mec-in-days-edit-mode').data('modify', i); 776} 777 778function mec_not_in_days_remove(i) 779{ 780 jQuery('#mec_not_in_days_row'+i).remove(); 781} 782
783function mec_bookings_unlimited_toggle() 784{ 785 jQuery('#mec_bookings_limit').toggleClass('mec-util-hidden'); 786} 787 788function mec_hourly_schedule_add_day_listener() 789{ 790 jQuery('.mec-add-hourly-schedule-day-button').each(function() 791 { 792 jQuery(this).off('click').on('click', function() 793 { 794 var k = jQuery(this).data('key'); 795 var raw = jQuery(this).data('raw'); 796 var append = jQuery(this).data('append'); 797 798 var key = jQuery(k).val(); 799 var html = jQuery(raw).html().replace(/:d:/g, key).replace(/:dd:/g, parseInt(key)+1); 800 801 jQuery(append).append(html); 802 jQuery(k).val(parseInt(key)+1); 803 804 mec_hourly_schedule_listeners(); 805 }); 806 807 mec_hourly_schedule_listeners(); 808 }); 809} 810 811function mec_bookings_after_occurrence_cancel_listener() 812{ 813 jQuery('.mec-occurrences-bookings-after-occurrences-cancel').off('change').on('change', function() 814 { 815 const $dropdown = jQuery(this); 816 const value = $dropdown.val(); 817 const $moveWrapper = $dropdown.next(); 818 819 if(value === 'move' || value === 'move_notify') 820 { 821 $moveWrapper.removeClass('w-hidden'); 822 } 823 else 824 { 825 $moveWrapper.addClass('w-hidden'); 826 } 827 }); 828} 829 830function mec_hourly_schedule_listeners() 831{ 832 jQuery('.mec-add-hourly-schedule-button').off('click').on('click', function() 833 { 834 var prefix = jQuery(this).data('prefix'); 835 var day = jQuery(this).data('day'); 836 var $key = jQuery('#'+prefix+'mec_new_hourly_schedule_key'+day); 837 838 var key = $key.val(); 839 var html = jQuery('#'+prefix+'mec_new_hourly_schedule_raw'+day).html().replace(/:i:/g, key).replace(/:d:/g, day).replace(); 840 var g_field_id = prefix+"-hourly_schedules-"+day+"-schedules-:i:-description"; 841 var field_id = prefix+"-hourly_schedules-"+day+"-schedules-"+key+"-description"; 842 html = html.replace(g_field_id,field_id); 843 html = html.replace(':k:',key); 844 jQuery('#'+prefix+'mec_hourly_schedules'+day).append(html); 845 $key.val(parseInt(key)+1); 846 847 wp.editor.initialize("mec"+field_id,{ 848 tinymce: { 849 wpautop: true, 850 plugins : 'charmap colorpicker compat3x directionality fullscreen hr image lists media paste tabfocus textcolor wordpress wpautoresize wpdialogs wpeditimage wpemoji wpgallery wplink wptextpattern wpview', 851 toolbar1: 'bold italic underline strikethrough | bullist numlist | blockquote hr wp_more | alignleft aligncenter alignright | link unlink | fullscreen | wp_adv', 852 toolbar2: 'formatselect alignjustify forecolor | pastetext removeformat charmap | outdent indent | undo redo | wp_help' 853 }, 854 quicktags: true, 855 mediaButtons: false, 856 }); 857 }); 858} 859 860function mec_hourly_schedule_remove(day, i, prefix) 861{ 862 jQuery("#"+prefix+"mec_hourly_schedule_row"+day+'_'+i).remove(); 863} 864 865function mec_hourly_schedule_day_remove(day, prefix) 866{ 867 jQuery("#"+prefix+"mec_meta_box_hourly_schedule_day_"+day).remove(); 868} 869 870function mec_ticket_remove(i) 871{ 872 jQuery("#mec_ticket_row"+i).remove(); 873} 874 875function mec_set_event_color(color) 876{ 877 try 878 { 879 jQuery("#mec_event_color").wpColorPicker('color', '#'+color); 880 } 881 catch(e) 882 { 883 jQuery("#mec_event_color").val(color); 884 } 885} 886 887function mec_remove_fee(key) 888{ 889 jQuery("#mec_fee_row"+key).remove(); 890} 891 892function mec_remove_ticket_variation(key, id_prefix) 893{ 894 jQuery("#mec_"+id_prefix+"_row"+key).remove(); 895} 896 897function add_variation_per_ticket(ticket_id) 898{ 899 var $input = jQuery('#mec_new_variation_per_ticket_key'); 900 901 var key = $input.val(); 902 var html = jQuery('#mec_new_variation_per_ticket_raw'+ticket_id).html().replace(/:v:/g, key); 903 904 jQuery('#mec_ticket_variations_list'+ticket_id).append(html); 905 $input.val(parseInt(key)+1); 906} 907 908function mec_reg_fields_option_listeners() 909{ 910 jQuery('button.mec-reg-field-add-option').off('click').on('click', function() 911 { 912 var field_id = jQuery(this).data('field-id'); 913 var key = jQuery('#mec_new_reg_field_option_key_'+field_id).val(); 914 var html = jQuery('#mec_reg_field_option').html().replace(/:i:/g, key).replace(/:fi:/g, field_id); 915 916 jQuery('#mec_reg_fields_'+field_id+'_options_container').append(html); 917 jQuery('#mec_new_reg_field_option_key_'+field_id).val(parseInt(key)+1); 918 });
919 920 if(typeof jQuery.fn.sortable !== 'undefined') 921 { 922 jQuery("#mec_reg_form_fields").sortable( 923 { 924 handle: '.mec_reg_field_sort' 925 }); 926 927 jQuery(".mec_reg_fields_options_container").sortable( 928 { 929 handle: '.mec_reg_field_option_sort' 930 }); 931 932 jQuery(".mec-hourly-schedule-days").sortable( 933 { 934 handle: 'h4' 935 }); 936 937 jQuery(".mec-hourly-schedule-schedules").sortable({}); 938 } 939} 940 941function mec_reg_fields_option_remove(field_key, key) 942{ 943 jQuery("#mec_reg_fields_option_"+field_key+"_"+key).remove(); 944} 945 946function mec_reg_fields_remove(key) 947{ 948 jQuery("#mec_reg_fields_"+key).remove(); 949} 950 951function mec_handle_add_price_date_button(e) 952{ 953 var key = jQuery(e).data('key'); 954 var p = jQuery('#mec_new_ticket_price_key_'+key).val(); 955 var html = jQuery('#mec_new_ticket_price_raw_'+key).html().replace(/:i:/g, key).replace(/:j:/g, p); 956 957 jQuery('#mec-ticket-price-dates-'+key).append(html); 958 jQuery('#mec_new_ticket_price_key_'+key).val(parseInt(p)+1); 959 jQuery('#mec-ticket-price-dates-'+key+' .new_added').datepicker( 960 { 961 changeYear: true, 962 changeMonth: true, 963 dateFormat: datepicker_format, 964 gotoCurrent: true, 965 yearRange: 'c-3:c+5', 966 }); 967} 968 969function mec_ticket_price_remove(ticket_key, price_key) 970{ 971 jQuery("#mec_ticket_price_raw_"+ticket_key+"_"+price_key).remove(); 972} 973 974function mec_event_fields_option_listeners() 975{ 976 jQuery('button.mec-event-field-add-option').off('click').on('click', function() 977 { 978 var field_id = jQuery(this).data('field-id'); 979 var key = jQuery('#mec_new_event_field_option_key_'+field_id).val(); 980 var html = jQuery('#mec_event_field_option').html().replace(/:i:/g, key).replace(/:fi:/g, field_id); 981 982 jQuery('#mec_event_fields_'+field_id+'_options_container').append(html); 983 jQuery('#mec_new_event_field_option_key_'+field_id).val(parseInt(key)+1); 984 }); 985 986 if(typeof jQuery.fn.sortable !== 'undefined') 987 { 988 jQuery("#mec_event_form_fields").sortable( 989 { 990 handle: '.mec_event_field_sort' 991 }); 992 993 jQuery(".mec_event_fields_options_container").sortable( 994 { 995 handle: '.mec_event_field_option_sort' 996 }); 997 } 998} 999 1000function mec_event_fields_option_remove(field_key, key) 1001{ 1002 jQuery("#mec_event_fields_option_"+field_key+"_"+key).remove(); 1003} 1004 1005function mec_event_fields_remove(key) 1006{ 1007 jQuery("#mec_event_fields_"+key).remove(); 1008} 1009 1010function mec_bfixed_fields_option_listeners() 1011{ 1012 jQuery('button.mec-bfixed-field-add-option').off('click').on('click', function() 1013 { 1014 var field_id = jQuery(this).data('field-id'); 1015 var key = jQuery('#mec_new_bfixed_field_option_key_'+field_id).val(); 1016 var html = jQuery('#mec_bfixed_field_option').html().replace(/:i:/g, key).replace(/:fi:/g, field_id); 1017 1018 jQuery('#mec_bfixed_fields_'+field_id+'_options_container').append(html); 1019 jQuery('#mec_new_bfixed_field_option_key_'+field_id).val(parseInt(key)+1); 1020 }); 1021 1022 if(typeof jQuery.fn.sortable !== 'undefined') 1023 { 1024 jQuery("#mec_bfixed_form_fields").sortable( 1025 { 1026 handle: '.mec_bfixed_field_sort' 1027 }); 1028 1029 jQuery(".mec_bfixed_fields_options_container").sortable( 1030 { 1031 handle: '.mec_bfixed_field_option_sort' 1032 }); 1033 } 1034} 1035 1036function mec_bfixed_fields_option_remove(field_key, key) 1037{ 1038 jQuery("#mec_bfixed_fields_option_"+field_key+"_"+key).remove(); 1039} 1040 1041function mec_bfixed_fields_remove(key) 1042{ 1043 jQuery("#mec_bfixed_fields_"+key).remove(); 1044} 1045 1046function mec_additional_organizers_listeners() 1047{ 1048 jQuery('#mec_additional_organizers_add').off('click').on('click', function() 1049 { 1050 var value = jQuery('.mec-additional-organizers select').val(); 1051 var text = jQuery('.mec-additional-organizers select option:selected').text(); 1052 1053 var sortLabel = jQuery(this).data('sort-label'); 1054 var removeLabel = jQuery(this).data('remove-label'); 1055 1056 jQuery('.mec-additional-organizers-list').append('<li><span class="mec-additional-organizer-sort">'+sortLabel+'</span> <span onclick="mec_additional_organizers_remove(this);" class="mec-additional-organizer-remove">'+removeLabel+'</span><input type="hidden" name="mec[additional_organizer_ids][]" value="'+value+'"><span class="mec_orgz_item_name">'+text+'</span></li>'); 1057 1058 mec_additional_organizers_listeners(); 1059 });
1060 1061 if(typeof jQuery.fn.sortable !== 'undefined') 1062 { 1063 jQuery(".mec-additional-organizers-list").sortable( 1064 { 1065 handle: '.mec-additional-organizer-sort' 1066 }); 1067 } 1068} 1069 1070function mec_additional_organizers_remove(element) 1071{ 1072 jQuery(element).parent().remove(); 1073} 1074 1075function mec_faq_remove(key) 1076{ 1077 jQuery("#mec_faq_row"+key).remove(); 1078}
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.