| Current File : /home/bwalansa/www/wp-content/plugins/the-events-calendar/src/resources/js/tickets-attendees.js |
jQuery( document ).ready( function( $ ) {
if ( AttendeesPointer ) {
options = $.extend( AttendeesPointer.options, {
close: function() {
$.post( ajaxurl, {
pointer: AttendeesPointer.pointer_id,
action : 'dismiss-wp-pointer'
} );
}
} );
$( AttendeesPointer.target ).pointer( options ).pointer( 'open' );
}
$( 'input.print' ).on( 'click', function( e ) {
window.print();
} );
$( "#attendees_email_wrapper" ).dialog( {
autoOpen : false,
dialogClass: 'attendees_email_dialog',
height : 'auto',
width : 400,
modal : true,
buttons : {
"Send": function() {
var $errors = $( '.attendees_email_dialog #email_errors' );
var $response = $( '.attendees_email_dialog #email_response' );
var $send = $( '.attendees_email_dialog #email_send, .attendees_email_dialog .ui-dialog-buttonpane' );
$errors.show();
var $email = tribe_validate_email();
if ( $email !== false ) {
$response.show();
$send.hide();
var opts = {
action : 'tribe-ticket-email-attendee-list',
email : $email,
nonce : Attendees.nonce,
event_id: $( '#event_id' ).val()
};
$.post( ajaxurl, opts, function( response ) {
if ( response.success ) {
$errors.removeClass( 'ui-state-error' ).removeClass( 'ui-state-highlight' ).text( '' );
var combo = $( '#email_to_user' );
combo.prop( 'disabled', false );
combo.val( '' );
$( '#email_to_address' ).val( '' );
$( '#attendees_email_wrapper' ).dialog( "close" );
$response.hide();
$send.show();
$errors.hide();
}
else {
tribe_status_bg = $response.css( 'background' );
$errors.removeClass( 'ui-state-highlight' ).addClass( 'ui-state-error' ).text( response.message );
$( '.ui-dialog-buttonpane' ).show();
$( '.ui-button-text-only:first' ).hide();
$( '#email_response' ).css( 'background', 'none' );
}
} );
}
},
Close : function() {
$( this ).dialog( "close" );
$( '.ui-button-text-only:first' ).show();
$( '.attendees_email_dialog #email_response' ).hide();
$( '.attendees_email_dialog #email_send, .attendees_email_dialog .ui-dialog-buttonpane' ).show();
$( '.attendees_email_dialog #email_errors' ).removeClass( 'ui-state-error' ).removeClass( 'ui-state-highlight' ).text( '' ).hide();
}
} } );
$( "input.email" ).click( function() {
/* Cleanup */
var combo = $( '#email_to_user' );
combo.prop( 'disabled', false );
combo.val( '' );
$( '#email_to_address' ).val( '' );
$( '#email_response' ).removeClass( 'ui-state-error' ).removeClass( 'ui-state-highlight' ).text( '' );
$( '.ui-button-text-only:first' ).show();
$( '.attendees_email_dialog #email_response' ).hide();
$( '.attendees_email_dialog #email_send, .attendees_email_dialog .ui-dialog-buttonpane' ).show();
$( "#attendees_email_wrapper" ).dialog( "open" );
} );
$( '#email_to_address' ).on( 'keyup paste', function() {
var email = jQuery( this ).val().trim();
var combo = $( '#email_to_user' );
if ( email === '' ) {
combo.prop( 'disabled', false );
}
else {
combo.val( '' );
combo.prop( 'disabled', 'disabled' );
}
} );
$( '#filter_attendee' ).on( 'keyup paste', function() {
var search = jQuery( this ).val().toLowerCase();
$( '#the-list' ).find( 'tr' ).each( function( i, e ) {
var row = $( e );
// Search by code (order, attendee and security numbers)
var order = row.children( 'td.order_id' ).children( 'a' ).text();
var attendee = row.children( 'td.attendee_id' ).text();
var security = row.children( 'td.security' ).text();
var code_found = attendee.indexOf( search ) === 0 || order.indexOf( search ) === 0 || security.indexOf( search ) === 0;
// Search by name (we will also look at second/third names etc, not just the first name)
var name = row.children( 'td.purchaser_name').text().toLowerCase();
var name_found = name.indexOf( search ) === 0 || name.indexOf( " " + search ) > 1;
if ( code_found || name_found ) {
row.show();
}
else {
row.hide();
}
} );
} );
$( '.tickets_checkin' ).click( function( e ) {
var obj = jQuery( this );
var params = {
action : 'tribe-ticket-checkin-' + obj.attr( 'data-provider' ),
provider: obj.attr( 'data-provider' ),
order_ID: obj.attr( 'data-attendee-id' ),
nonce : Attendees.checkin_nonce
};
$.post(
ajaxurl,
params,
function( response ) {
if ( response.success ) {
obj.parent( 'td' ).parent( 'tr' ).addClass( 'tickets_checked' );
$( '#total_checkedin' ).text( parseInt( $( '#total_checkedin' ).text() ) + 1 );
}
},
'json'
);
e.preventDefault();
} );
$( '.tickets_uncheckin' ).click( function( e ) {
var obj = jQuery( this );
var params = {
action : 'tribe-ticket-uncheckin-' + obj.attr( 'data-provider' ),
provider: obj.attr( 'data-provider' ),
order_ID: obj.attr( 'data-attendee-id' ),
nonce : Attendees.uncheckin_nonce
};
$.post(
ajaxurl,
params,
function( response ) {
if ( response.success ) {
obj.parent( 'span' ).parent( 'td' ).parent( 'tr' ).removeClass( 'tickets_checked' );
$( '#total_checkedin' ).text( parseInt( $( '#total_checkedin' ).text() ) - 1 );
}
},
'json'
);
e.preventDefault();
} );
function tribe_is_email( emailAddress ) {
var pattern = new RegExp( /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i );
return pattern.test( emailAddress );
}
function tribe_validate_email() {
$( '#email_errors' ).removeClass( 'ui-state-error' ).addClass( 'ui-state-highlight' ).text( Attendees.sending );
var $address = $( '#email_to_address' ).val();
var $user = $( '#email_to_user' ).val();
var $email = false;
if ( $user > - 1 ) {
$email = $user;
}
if ( $.trim( $address ) !== '' && tribe_is_email( $address ) ) {
$email = $address;
}
if ( ! $email ) {
$( '#email_errors' ).removeClass( 'ui-state-highlight' ).addClass( 'ui-state-error' ).text( Attendees.required );
}
return $email;
}
function tribe_array_filter( arr ) {
var retObj = {},
k;
for ( k in arr ) {
if ( arr[k] ) {
retObj[k] = arr[k];
}
}
return retObj;
}
} );