| @@ -1,4 +1,4 @@ | ||
| 1 | 1 | "use strict"; |
| 2 | 2 | |
| 3 | 3 | /** |
| 4 | 4 | * Define HTML ui Hooks: on KeyUp | Change | -> Sort Order & Number Items / Page |
| @@ -141,25 +141,34 @@ | ||
| 141 | 141 | 'page_num': 1 |
| 142 | 142 | } ); |
| 143 | 143 | } ); |
| 144 | 144 | |
| 145 | - //------------------------------------------------------------------------------------------------------------------ | |
| 146 | - // Booking resources | |
| 147 | - //------------------------------------------------------------------------------------------------------------------ | |
| 148 | - jQuery( '#wh_booking_type' ).on( 'change', function( event ){ | |
| 149 | - | |
| 150 | - var changed_value = jQuery( '#wh_booking_type' ).val(); // it's get as array | |
| 151 | - if ( ( Array.isArray( changed_value ) ) && ( 0 === changed_value.length ) ){ | |
| 152 | - changed_value = ['-1']; | |
| 153 | - } | |
| 154 | - wpbc_ajx_booking_send_search_request_with_params( { | |
| 155 | - 'wh_booking_type' : changed_value, | |
| 156 | - 'page_num': 1 | |
| 157 | - } ); | |
| 158 | - } ); | |
| 159 | - | |
| 160 | - | |
| 161 | - //------------------------------------------------------------------------------------------------------------------ | |
| 145 | + //------------------------------------------------------------------------------------------------------------------ | |
| 146 | + // Reusable Chosen listing filters, such as Booking resources/Providers and Appointment Services. | |
| 147 | + //------------------------------------------------------------------------------------------------------------------ | |
| 148 | + jQuery( 'select[data-wpbc-listing-filter-param]' ).on( 'change', function(){ | |
| 149 | + | |
| 150 | + var listing_filter_param = jQuery( this ).attr( 'data-wpbc-listing-filter-param' ); | |
| 151 | + var changed_value; | |
| 152 | + var request_updates; | |
| 153 | + | |
| 154 | + if ( ! listing_filter_param ) { | |
| 155 | + return; | |
| 156 | + } | |
| 157 | + | |
| 158 | + changed_value = ( 'function' === typeof window.wpbc_ui_chosen_filter_get_request_value ) | |
| 159 | + ? window.wpbc_ui_chosen_filter_get_request_value( this ) | |
| 160 | + : jQuery( this ).val(); | |
| 161 | + request_updates = { | |
| 162 | + 'page_num': 1 | |
| 163 | + }; | |
| 164 | + request_updates[ listing_filter_param ] = changed_value; | |
| 165 | + | |
| 166 | + wpbc_ajx_booking_send_search_request_with_params( request_updates ); | |
| 167 | + } ); | |
| 168 | + | |
| 169 | + | |
| 170 | + //------------------------------------------------------------------------------------------------------------------ | |
| 162 | 171 | // Sorting |
| 163 | 172 | //------------------------------------------------------------------------------------------------------------------ |
| 164 | 173 | jQuery( '#wh_sort' ).on( 'change', function( event ){ |
| 165 | 174 | |