trAvis - MANAGER
Edit File: feedback.js
/** * Open feedback Modal window */ function wpbc_open_feedback_modal(){ if ( 'function' === typeof( jQuery('#wpbc_modal__feedback_01__section').wpbc_my_modal ) ) { // Insert Feedback modal after 'wpbc-admin-page' section, for ability to blur this content var wpbc_modal__feedback_01 = jQuery( '#wpbc_modal__feedback_01__section_mover' ).detach(); wpbc_modal__feedback_01.appendTo( '.wrap.wpbc_page' ); // Add blur jQuery( '.wpbc_admin_page,.wpbc_admin_message,.wpbc_header' ).css( { filter: 'blur(3px)' } ); // Show Modal jQuery('#wpbc_modal__feedback_01__section').wpbc_my_modal('show'); } else { console.log( 'Warning! wpbc_my_modal module has not found. Please, recheck about any conflicts by deactivating other plugins.'); } } // Remove blur, after closing modal jQuery('#wpbc_modal__feedback_01__section').on('hide.wpbc.modal', function (event) { //var modal = jQuery(this); jQuery( '.wpbc_admin_page,.wpbc_admin_message,.wpbc_header' ).css( {filter: 'none'} ); }) /** * Click on Stars to rate * * @param int star_num_over - star number * @param string is_over - mouse action 'click' | 'over' | 'out' */ function wpbc_feedback_01__over_star( star_num_over , is_over ){ var star_fill = 'wpbc-bi-star-fill'; //'wpbc_icn_star'; var star_outline = 'wpbc-bi-star'; //'wpbc_icn_star_outline'; if ( 'click' == is_over ){ jQuery( '.wpbc_mouseover_star_selected' ).removeClass( 'wpbc_mouseover_star_selected' ); jQuery( '#wpbc_modal__feedback_01__button_next__step_1').removeClass('disabled'); } if ( 'over' == is_over ){ jQuery( '.wpbc_mouseover_star_selected' ).removeClass( star_fill ).addClass( star_outline ); } for ( var star_num = 1; star_num <= star_num_over; star_num++ ){ if ( 'click' == is_over ){ jQuery( '#wpbc_feedback_01_star_' + star_num + ' i' ).removeClass( star_outline ).addClass( star_fill+ ' wpbc_mouseover_star_selected' ); } if ( 'over' == is_over ){ jQuery( '#wpbc_feedback_01_star_' + star_num + ' i' ).removeClass( star_outline ).addClass( star_fill ); } if ( 'out' == is_over ){ jQuery( '#wpbc_feedback_01_star_' + star_num + ' i' ).removeClass( star_fill ).addClass( star_outline ); } } if ( 'out' == is_over ){ jQuery( '.wpbc_mouseover_star_selected' ).removeClass( star_outline ).addClass( star_fill ); } } /** * Click on Next button to show next section. * * @param _this * @param go_to_this_step 'class' of section to show * @returns {boolean} */ function wpbc_ajx_booking__ui_click__send_feedback_01(_this, go_to_this_step = ''){ if ( jQuery( _this ).hasClass( 'disabled' ) ){ return false; } jQuery( '.wpbc_modal__feedback_01__steps').hide(); if ( '' != go_to_this_step ){ jQuery( go_to_this_step ).show(); return; } var stars_selected = jQuery( '.wpbc_mouseover_star_selected').length; switch (stars_selected) { case 1: case 2: jQuery( '.wpbc_modal__feedback_01__step_2').show(); break; case 3: case 4: jQuery( '.wpbc_modal__feedback_01__step_4').show(); break; case 5: jQuery( '.wpbc_modal__feedback_01__step_6').show(); break; default: } return; var visible_step = jQuery( '.wpbc_modal__feedback_01__steps:visible'); jQuery( '.wpbc_modal__feedback_01__steps').hide(); visible_step.next().show(); } function wpbc_ajx_booking__ui_click__close_feedback_01(){ // Close modal if ( 'function' === typeof( jQuery('#wpbc_modal__feedback_01__section').wpbc_my_modal ) ){ jQuery( '#wpbc_modal__feedback_01__section' ).wpbc_my_modal( 'hide' ); } } // Ajax Sending: /** * Click on Remind later link * Send ajax request for opening feedback in few days */ function wpbc_ajx_booking__ui_click__feedback_01_remind_later(){ wpbc_feedback__ajax_action_request( { 'booking_action' : 'feedback_01', 'feedback_stars' : jQuery( '.wpbc_mouseover_star_selected').length, 'feedback__note' : 'remind_later', 'ui_clicked_element_id': 'wpbc_modal__feedback_01__button_next__step_1' } ); wpbc_button_enable_loading_icon( jQuery( '#wpbc_modal__feedback_01__button_next__step_1' ).get( 0 ) ); wpbc_ajx_booking__ui_click__close_feedback_01(); // Close modal } /** * Click on Done | Submit button to send feedback * * @param _this * @param go_to_this_step 'class' of last section */ function wpbc_ajx_booking__ui_click__submit_feedback_01( _this, go_to_this_step){ if ( jQuery( _this ).hasClass( 'disabled' ) ){ return false; } var stars_selected = jQuery( '.wpbc_mouseover_star_selected').length; var feedback__note = ''; switch ( go_to_this_step ) { case '.wpbc_modal__feedback_01__step_3': feedback__note = jQuery( '#wpbc_modal__feedback_01__reason_of_action__step_2').val(); break; case '.wpbc_modal__feedback_01__step_5': feedback__note = jQuery( '#wpbc_modal__feedback_01__reason_of_action__step_4').val(); break; case '.wpbc_modal__feedback_01__step_7': feedback__note = jQuery( '#wpbc_modal__feedback_01__reason_of_action__step_7').val(); break; default: } // Send Ajax wpbc_feedback__ajax_action_request( { 'booking_action' : 'feedback_01', 'feedback_stars' : stars_selected, 'feedback__note' : feedback__note, 'ui_clicked_element_id': jQuery( _this ).attr( 'id' ) } ); wpbc_button_enable_loading_icon( jQuery( _this ).get( 0 ) ); //wpbc_ajx_booking__ui_click__close_feedback_01(); // Close modal } function wpbc_feedback__ajax_action_request( action_param ){ wpbc_admin_show_message_processing( '' ); var jq_el = jQuery( '#wpbc_ajax__feedback_01' ); var action_post_params = { action : 'WPBC_AJX_FEEDBACK', nonce : jq_el.attr( 'data-nonce' ), wpbc_ajx_user_id: jq_el.attr( 'data-user-id' ), action_params : action_param }; // Start Ajax jQuery.post( wpbc_url_ajax , action_post_params , /** * S u c c e s s * * @param response_data - its object returned from Ajax - class-live-searcg.php * @param textStatus - 'success' * @param jqXHR - Object */ function ( response_data, textStatus, jqXHR ) { console.log( ' == Ajax Feedback :: Response WPBC_AJX_BOOKING_ACTIONS == ', response_data ); // Probably Error if ( (typeof response_data !== 'object') || (response_data === null) ){ wpbc_admin_show_message( '<div class="wpbc-settings-notice notice-warning" style="text-align:left">' + response_data + '</div>' ); return; } wpbc_admin_show_message( response_data[ 'ajx_after_action_message' ].replace( /\n/g, "<br />" ) , ( '1' == response_data[ 'ajx_after_action_result' ] ) ? 'success' : 'error' , 10000 ); var closed_timer = setTimeout( function (){ if ( 5 == response_data['ajx_after_action_result_all_params_arr'][ 'feedback_stars' ] ){ document.location.href = 'https://wordpress.org/plugins/booking/#reviews'; // document.location.href = 'https://wordpress.org/support/plugin/booking/reviews/?filter=5#new-post' } } , 2000 ); // Remove spin icon from button and Enable this button. wpbc_button__remove_spin( response_data[ 'ajx_cleaned_params' ][ 'ui_clicked_element_id' ] ) // Hide modals wpbc_popup_modals__hide(); jQuery( '#ajax_respond' ).html( response_data ); // For ability to show response, add such DIV element to page } ).fail( function ( jqXHR, textStatus, errorThrown ) { if ( window.console && window.console.log ){ console.log( 'Ajax_Error', jqXHR, textStatus, errorThrown ); } var error_message = '<strong>' + 'Error!' + '</strong> ' + errorThrown ; if ( jqXHR.responseText ){ error_message += jqXHR.responseText; } error_message = error_message.replace( /\n/g, "<br />" ); wpbc_ajx_booking_show_message( error_message ); }) // .done( function ( data, textStatus, jqXHR ) { if ( window.console && window.console.log ){ console.log( 'second success', data, textStatus, jqXHR ); } }) // .always( function ( data_jqXHR, textStatus, jqXHR_errorThrown ) { if ( window.console && window.console.log ){ console.log( 'always finished', data_jqXHR, textStatus, jqXHR_errorThrown ); } }) ; // End Ajax }