// ---------------------------------------------------------------------------------------------------------------------
/// 1st row
// ---------------------------------------------------------------------------------------------------------------------
/**
* Booked dates
*
* @param $escaped_search_request_params - escaped search request parameters array
* @param $defaults - default parameters values
*/
function wpbc_ajx__ui__booked_dates( $escaped_search_request_params, $defaults ){
$params_addon = array(
'type' => 'span'
, 'html' => ''// '' //'' . esc_html__( 'Dates', 'booking ' ) . ''
, 'icon' => array( 'icon_font' => 'wpbc_icn_event', 'position' => 'right', 'icon_img' => '' )
, 'class' => 'wpbc_ui_button inactive'
, 'style' => ''
, 'hint' => array( 'title' => __('Filter bookings by booking dates' ,'booking') , 'position' => 'top' )
, 'attr' => array()
);
$dates_interval = array(
1 => '1' . ' ' . __('day' ,'booking')
, 2 => '2' . ' ' . __('days' ,'booking')
, 3 => '3' . ' ' . __('days' ,'booking')
, 4 => '4' . ' ' . __('days' ,'booking')
, 5 => '5' . ' ' . __('days' ,'booking')
, 6 => '6' . ' ' . __('days' ,'booking')
, 7 => '1' . ' ' . __('week' ,'booking')
, 14 => '2' . ' ' . __('weeks' ,'booking')
, 30 => '1' . ' ' . __('month' ,'booking')
, 60 => '2' . ' ' . __('months' ,'booking')
, 90 => '3' . ' ' . __('months' ,'booking')
, 183 => '6' . ' ' . __('months' ,'booking')
, 365 => '1' . ' ' . __('Year' ,'booking')
);
$request_input_el_default = array(
'wh_booking_date' => isset( $escaped_search_request_params['wh_booking_date'] ) ? $escaped_search_request_params['wh_booking_date'] : $defaults['wh_booking_date'],
'ui_wh_booking_date_radio' => isset( $escaped_search_request_params['ui_wh_booking_date_radio'] ) ? $escaped_search_request_params['ui_wh_booking_date_radio'] : $defaults['ui_wh_booking_date_radio'],
'ui_wh_booking_date_next' => isset( $escaped_search_request_params['ui_wh_booking_date_next'] ) ? $escaped_search_request_params['ui_wh_booking_date_next'] : $defaults['ui_wh_booking_date_next'],
'ui_wh_booking_date_prior' => isset( $escaped_search_request_params['ui_wh_booking_date_prior'] ) ? $escaped_search_request_params['ui_wh_booking_date_prior'] : $defaults['ui_wh_booking_date_prior'],
'ui_wh_booking_date_checkin' => isset( $escaped_search_request_params['ui_wh_booking_date_checkin'] ) ? $escaped_search_request_params['ui_wh_booking_date_checkin'] : $defaults['ui_wh_booking_date_checkin'],
'ui_wh_booking_date_checkout' => isset( $escaped_search_request_params['ui_wh_booking_date_checkout'] ) ? $escaped_search_request_params['ui_wh_booking_date_checkout'] : $defaults['ui_wh_booking_date_checkout']
);
$options = array (
// 'header2' => array( 'type' => 'header', 'title' => __( 'Complex Days', 'booking' ) ),
// 'disabled1' => array( 'type' => 'simple', 'value' => '19', 'title' => __( 'This is option was disabled', 'booking' ), 'disabled' => true ),
//todo: 2023-06-10
'fixed' => array(
'type' => 'complex',
'class' => 'ui_complex_option_element',
'selected_options_value' => array( 1 => array( 'value' ), 4 => array( 'value' ), 7 => array( 'value' ) ), // 4 => array( 'value' ) --> $complex_option['input_options'][4]['value']
'selected_options_title' => array( 1 => array( 'label', 'title' ), 'text1' => ': ', 4 => array( 'value' ), 'text2' => ' - ' ,7 => array( 'value' ) ), // 1 => array( 'label', 'title' ) --> $complex_option['input_options'][1]['label'][ 'title' ]
'style' => 'min-width:290px',
'input_options' => array(
array( 'type' => 'html', 'html' => '' )
, array(
'type' => 'radio'
, 'id' => 'ui_wh_booking_date_radio_3' // HTML ID of element
, 'name' => 'ui_wh_booking_date_radio'
, 'label' => array( 'title' => __('Dates' ,'booking') , 'position' => 'right' )
, 'style' => '' // CSS of select element
, 'class' => '' // CSS Class of select element
, 'disabled' => false
, 'attr' => array() // Any additional attributes, if this radio | checkbox element
, 'legend' => '' // aria-label parameter
, 'value' => '6' // Some Value from optins array that selected by default
, 'selected' => ( $request_input_el_default[ 'ui_wh_booking_date_radio' ] == '6' ) ? true : false // Selected or not
//, 'onfocus' => "console.log( 'ON FOCUS:', jQuery( this ).is(':checked') , 'in element:' , jQuery( this ) );" // JavaScript code
//, 'onchange' => "console.log( 'ON CHANGE:', jQuery( this ).is(':checked') , 'in element:' , jQuery( this ) );" // JavaScript code
)
, array( 'type' => 'html', 'html' => '
' )
, array( 'type' => 'html', 'html' => '' )
, array(
'type' => 'text'
, 'id' => 'ui_wh_booking_date_checkin' // HTML ID of element
, 'name' => 'ui_wh_booking_date_checkin'
, 'label' => ''//__('Check-in' ,'booking')
, 'style' => 'width:100%;' // CSS of select element
, 'class' => 'wpdevbk-filters-section-calendar' // CSS Class of select element
, 'disabled' => false
, 'attr' => array() // Any additional attributes, if this radio | checkbox element
, 'placeholder' => __('Check-in' ,'booking')
, 'value' => $request_input_el_default[ 'ui_wh_booking_date_checkin'] // Some Value from optins array that selected by default
// , 'onfocus' => "jQuery('#ui_wh_booking_date_radio_3').prop('checked', true);" // JavaScript code
//, 'onchange' => "console.log( 'ON CHANGE:', jQuery( this ).is(':checked') , 'in element:' , jQuery( this ) );" // JavaScript code
)
, array( 'type' => 'html', 'html' => '
' )
, array( 'type' => 'html', 'html' => '' )
, array(
'type' => 'text'
, 'id' => 'ui_wh_booking_date_checkout' // HTML ID of element
, 'name' => 'ui_wh_booking_date_checkout'
, 'label' => ''//__('Check-out' ,'booking')
, 'style' => 'width:100%;' // CSS of select element
, 'class' => 'wpdevbk-filters-section-calendar' // CSS Class of select element
, 'disabled' => false
, 'attr' => array() // Any additional attributes, if this radio | checkbox element
, 'placeholder' => __('Check-out' ,'booking')
, 'value' => $request_input_el_default[ 'ui_wh_booking_date_checkout'] // Some Value from optins array that selected by default
// , 'onfocus' => "jQuery('#ui_wh_booking_date_radio_3').prop('checked', true);" // JavaScript code
//, 'onchange' => "console.log( 'ON CHANGE:', jQuery( this ).is(':checked') , 'in element:' , jQuery( this ) );" // JavaScript code
)
, array( 'type' => 'html', 'html' => '
' )
// FixIn: 9.7.2.2.
, array( 'type' => 'html', 'html' => '' )
, array(
'type' => 'button'
, 'title' => '' // Title of the button
, 'hint' => ''
, 'link' => 'javascript:void(0)' // Direct link or skip it
, 'action' => "jQuery('#ui_wh_booking_date_checkin').val('');jQuery('#ui_wh_booking_date_checkout').val('');"
, 'class' => 'wpbc_button_as_icon' // wpbc_ui_button | wpbc_ui_button_primary
, 'icon' => array( 'icon_font' => 'wpbc_icn_horizontal_rule', 'position' => 'left', 'icon_img' => '' )
, 'font_icon' => ''
, 'icon_position' => 'left' // Position of icon relative to Text: left | right
, 'style' => 'padding: 0px;font-size: 20px;color: #555;' // Any CSS class here
, 'mobile_show_text' => false // Show or hide text, when viewing on Mobile devices (small window size).
, 'attr' => array()
)
, array( 'type' => 'html', 'html' => '
' )
, array( 'type' => 'html', 'html' => '' )
, array(
'type' => 'button'
, 'title' => '' // Title of the button
, 'hint' => array( 'title' => __('Apply' ,'booking') , 'position' => 'top' )
, 'link' => 'javascript:void(0)' // Direct link or skip it
, 'action' => "jQuery('#ui_wh_booking_date_radio_3').prop('checked', true);".
"wpbc_ui_dropdown_apply_click( {
'dropdown_id' : 'wh_booking_date',
'dropdown_radio_name': 'ui_wh_booking_date_radio'
} );" // JavaScript code
, 'class' => 'wpbc_ui_button_primary' // wpbc_ui_button | wpbc_ui_button_primary
, 'icon' => array( 'icon_font' => 'wpbc_icn_arrow_forward', 'position' => 'left', 'icon_img' => '' )
, 'font_icon' => ''
, 'icon_position' => 'left' // Position of icon relative to Text: left | right
, 'style' => 'padding:5px 7px;' // Any CSS class here
, 'mobile_show_text' => false // Show or hide text, when viewing on Mobile devices (small window size).
, 'attr' => array()
)
, array( 'type' => 'html', 'html' => '
' )
, array( 'type' => 'html', 'html' => '' )
, array(
'type' => 'button'
, 'title' => '' // Title of the button
, 'hint' => array( 'title' => __('Reset check in/out dates filter' ,'booking') , 'position' => 'top' )
, 'link' => 'javascript:void(0)' // Direct link or skip it
, 'action' =>"if ( ( jQuery('#ui_wh_booking_date_checkin').val() == '') && ( jQuery('#ui_wh_booking_date_checkout').val() == '') ) { wpbc_field_highlight( '#ui_wh_booking_date_checkin' ); wpbc_field_highlight( '#ui_wh_booking_date_checkout' ); return false; }"
. "jQuery('#ui_wh_booking_date_checkin').val('');jQuery('#ui_wh_booking_date_checkout').val('');"
, 'class' => 'wpbc_button_as_icon' // wpbc_ui_button | wpbc_ui_button_primary
, 'icon' => array( 'icon_font' => 'wpbc_icn_close', 'position' => 'left', 'icon_img' => '' )
, 'font_icon' => ''
, 'icon_position' => 'left' // Position of icon relative to Text: left | right
, 'style' => 'padding-left: 0;padding-right: 0;' // Any CSS class here
, 'mobile_show_text' => false // Show or hide text, when viewing on Mobile devices (small window size).
, 'attr' => array()
)
, array( 'type' => 'html', 'html' => '
' )
)
),
'divider4' => array( 'type' => 'html', 'html' => '
' ),
'0' => __( 'Current dates', 'booking' ),
'1' => __( 'Today', 'booking' ),
'2' => __( 'Previous dates', 'booking' ),
'3' => __( 'All dates', 'booking' ),
'divider1' => array( 'type' => 'html', 'html' => '
' ),
'9' => __( 'Today check in/out', 'booking' ),
'10' => __( 'Check in - Today', 'booking' ),
'11' => __( 'Check out - Today', 'booking' ),
'7' => __( 'Check in - Tomorrow', 'booking' ),
'8' => __( 'Check out - Tomorrow', 'booking' ),
'divider2' => array( 'type' => 'html', 'html' => '
' ),
// Next [ '4', '10' ] - radio button (if selected) value '4' and select-box with selected value '10'
'next' => array(
'type' => 'complex',
'class' => 'ui_complex_option_element',
// recheck if LI selected: $options['next']['selected_options_value'] == $params['default], e.g. ~ [ '4', '10' ]
'selected_options_value' => array(
1 => array( 'value' ), // $options['next']['input_options'][ 1 ]['value'] '4'
4 => array( 'value' ) // $options['next']['input_options'][ 4 ]['value'] '10'
),
// Get selected Title, for dropdown if $options['next'] selected
'selected_options_title' => array(
1 => array( 'label', 'title' ), // $options['next']['input_options'][ 1 ]['label'][ 'title' ] 'Next'
'text1' => ': ', // if key 'text1' not exist in ['input_options'], then it text ': '
4 => array( 'options', $request_input_el_default['ui_wh_booking_date_next'] ) // '10 days'
),
'input_options' => array(
array( 'type' => 'html', 'html' => '' )
, array( // Default options from simple input element, like: wpbc_flex_radio()
'type' => 'radio'
, 'id' => 'ui_wh_booking_date_radio_1' // HTML ID of element
, 'name' => 'ui_wh_booking_date_radio'
, 'label' => array( 'title' => __('Next' ,'booking') , 'position' => 'right' )
, 'style' => '' // CSS of select element
, 'class' => '' // CSS Class of select element
, 'disabled' => false
, 'attr' => array() // Any additional attributes, if this radio | checkbox element
, 'legend' => '' // aria-label parameter
, 'value' => '4'
, 'selected' => ( $request_input_el_default[ 'ui_wh_booking_date_radio' ] == '4' ) ? true : false // Selected or not
//, 'onfocus' => "console.log( 'ON FOCUS:', jQuery( this ).is(':checked') , 'in element:' , jQuery( this ) );" // JavaScript code
//, 'onchange' => "console.log( 'ON CHANGE:', jQuery( this ).is(':checked') , 'in element:' , jQuery( this ) );" // JavaScript code
)
, array( 'type' => 'html', 'html' => '
' )
, array( 'type' => 'html', 'html' => '' )
, array(
'type' => 'select'
, 'attr' => array()
, 'name' => 'ui_wh_booking_date_next'
, 'id' => 'ui_wh_booking_date_next'
, 'options' => $dates_interval
, 'value' => $request_input_el_default[ 'ui_wh_booking_date_next']
, 'onfocus' => "jQuery('#ui_wh_booking_date_radio_1').prop('checked', true);" // JavaScript code
//, 'onchange' => "console.log( 'ON CHANGE:', jQuery( this ).is(':checked') , 'in element:' , jQuery( this ) );" // JavaScript code
)
, array( 'type' => 'html', 'html' => '
' )
)
),
// Prior [ '5', '10' ]
'prior' => array(
'type' => 'complex',
'class' => 'ui_complex_option_element',
'style' => 'min-width: 244px;',
'selected_options_value' => array( 1 => array( 'value' ), 4 => array( 'value' ) ), // 4 => array( 'value' ) --> $complex_option['input_options'][4]['value']
'selected_options_title' => array( 1 => array( 'label', 'title' )
, 'text1' => ': '
, 4 => array( 'options' , $request_input_el_default[ 'ui_wh_booking_date_prior'] )
), // 1 => array( 'label', 'title' ) --> $complex_option['input_options'][1]['label'][ 'title' ]
'input_options' => array(
array( 'type' => 'html', 'html' => '' )
, array(
'type' => 'radio'
, 'id' => 'ui_wh_booking_date_radio_2' // HTML ID of element
, 'name' => 'ui_wh_booking_date_radio'
, 'label' => array( 'title' => __('Prior' ,'booking') , 'position' => 'right' )
, 'style' => '' // CSS of select element
, 'class' => '' // CSS Class of select element
, 'disabled' => false
, 'attr' => array() // Any additional attributes, if this radio | checkbox element
, 'legend' => '' // aria-label parameter
, 'value' => '5' // Some Value from optins array that selected by default
, 'selected' => ( $request_input_el_default[ 'ui_wh_booking_date_radio' ] == '5' ) ? true : false // Selected or not
//, 'onfocus' => "console.log( 'ON FOCUS:', jQuery( this ).is(':checked') , 'in element:' , jQuery( this ) );" // JavaScript code
//, 'onchange' => "console.log( 'ON CHANGE:', jQuery( this ).is(':checked') , 'in element:' , jQuery( this ) );" // JavaScript code
)
, array( 'type' => 'html', 'html' => '
' )
, array( 'type' => 'html', 'html' => '' )
, array(
'type' => 'select'
, 'attr' => array()
, 'name' => 'ui_wh_booking_date_prior'
, 'id' => 'ui_wh_booking_date_prior'
, 'options' => $dates_interval
, 'value' => $request_input_el_default[ 'ui_wh_booking_date_prior']
, 'onfocus' => "jQuery('#ui_wh_booking_date_radio_2').prop('checked', true);" // JavaScript code
//, 'onchange' => "console.log( 'ON CHANGE:', jQuery( this ).is(':checked') , 'in element:' , jQuery( this ) );" // JavaScript code
)
, array( 'type' => 'html', 'html' => '
' )
)
),
/* //todo: 2023-06-10
// Fixed [ '6', '', '2022-05-21']
'fixed' => array(
'type' => 'complex',
'class' => 'ui_complex_option_element',
'selected_options_value' => array( 1 => array( 'value' ), 4 => array( 'value' ), 7 => array( 'value' ) ), // 4 => array( 'value' ) --> $complex_option['input_options'][4]['value']
'selected_options_title' => array( 1 => array( 'label', 'title' ), 'text1' => ': ', 4 => array( 'value' ), 'text2' => ' - ' ,7 => array( 'value' ) ), // 1 => array( 'label', 'title' ) --> $complex_option['input_options'][1]['label'][ 'title' ]
'input_options' => array(
array( 'type' => 'html', 'html' => '' )
, array(
'type' => 'radio'
, 'id' => 'ui_wh_booking_date_radio_3' // HTML ID of element
, 'name' => 'ui_wh_booking_date_radio'
, 'label' => array( 'title' => __('Dates' ,'booking') , 'position' => 'right' )
, 'style' => '' // CSS of select element
, 'class' => '' // CSS Class of select element
, 'disabled' => false
, 'attr' => array() // Any additional attributes, if this radio | checkbox element
, 'legend' => '' // aria-label parameter
, 'value' => '6' // Some Value from optins array that selected by default
, 'selected' => ( $request_input_el_default[ 'ui_wh_booking_date_radio' ] == '6' ) ? true : false // Selected or not
//, 'onfocus' => "console.log( 'ON FOCUS:', jQuery( this ).is(':checked') , 'in element:' , jQuery( this ) );" // JavaScript code
//, 'onchange' => "console.log( 'ON CHANGE:', jQuery( this ).is(':checked') , 'in element:' , jQuery( this ) );" // JavaScript code
)
, array( 'type' => 'html', 'html' => '
' )
, array( 'type' => 'html', 'html' => '' )
, array(
'type' => 'text'
, 'id' => 'ui_wh_booking_date_checkin' // HTML ID of element
, 'name' => 'ui_wh_booking_date_checkin'
, 'label' => ''//__('Check-in' ,'booking')
, 'style' => 'width:100%;' // CSS of select element
, 'class' => 'wpdevbk-filters-section-calendar' // CSS Class of select element
, 'disabled' => false
, 'attr' => array() // Any additional attributes, if this radio | checkbox element
, 'placeholder' => __('Check-in' ,'booking')
, 'value' => $request_input_el_default[ 'ui_wh_booking_date_checkin'] // Some Value from optins array that selected by default
, 'onfocus' => "jQuery('#ui_wh_booking_date_radio_3').prop('checked', true);" // JavaScript code
//, 'onchange' => "console.log( 'ON CHANGE:', jQuery( this ).is(':checked') , 'in element:' , jQuery( this ) );" // JavaScript code
)
, array( 'type' => 'html', 'html' => '
' )
, array( 'type' => 'html', 'html' => '' )
, array(
'type' => 'text'
, 'id' => 'ui_wh_booking_date_checkout' // HTML ID of element
, 'name' => 'ui_wh_booking_date_checkout'
, 'label' => ''//__('Check-out' ,'booking')
, 'style' => 'width:100%;' // CSS of select element
, 'class' => 'wpdevbk-filters-section-calendar' // CSS Class of select element
, 'disabled' => false
, 'attr' => array() // Any additional attributes, if this radio | checkbox element
, 'placeholder' => __('Check-out' ,'booking')
, 'value' => $request_input_el_default[ 'ui_wh_booking_date_checkout'] // Some Value from optins array that selected by default
, 'onfocus' => "jQuery('#ui_wh_booking_date_radio_3').prop('checked', true);" // JavaScript code
//, 'onchange' => "console.log( 'ON CHANGE:', jQuery( this ).is(':checked') , 'in element:' , jQuery( this ) );" // JavaScript code
)
, array( 'type' => 'html', 'html' => '
' )
)
),
*/
'divider3' => array( 'type' => 'html', 'html' => '
' ),
// Buttons
'buttons1' => array(
'type' => 'complex',
'class' => 'ui_complex_option_element',
'style' => 'justify-content: flex-end;',
'input_options' => array(
array( 'type' => 'html', 'html' => '' )
, array(
'type' => 'button'
, 'title' => __( 'Apply', 'booking' ) // Title of the button
, 'hint' => '' // , 'hint' => array( 'title' => __('Select status' ,'booking') , 'position' => 'bottom' )
, 'link' => 'javascript:void(0)' // Direct link or skip it
, 'action' => "wpbc_ui_dropdown_apply_click( {
'dropdown_id' : 'wh_booking_date',
'dropdown_radio_name': 'ui_wh_booking_date_radio'
} );" // JavaScript code
, 'class' => 'wpbc_ui_button_primary' // wpbc_ui_button | wpbc_ui_button_primary
, 'icon' => ''
, 'font_icon' => ''
, 'icon_position' => 'left' // Position of icon relative to Text: left | right
, 'style' => '' // Any CSS class here
, 'mobile_show_text' => false // Show or hide text, when viewing on Mobile devices (small window size).
, 'attr' => array()
)
, array( 'type' => 'html', 'html' => '
' )
, array( 'type' => 'html', 'html' => '' )
, array(
'type' => 'button'
, 'title' => __( 'Close', 'booking' ) // Title of the button
, 'hint' => '' // , 'hint' => array( 'title' => __('Select status' ,'booking') , 'position' => 'bottom' )
, 'link' => 'javascript:void(0)' // Direct link or skip it
, 'action' => "wpbc_ui_dropdown_close_click( 'wh_booking_date' );" // JavaScript code
, 'class' => '' // wpbc_ui_button | wpbc_ui_button_primary
, 'icon' => ''
, 'font_icon' => ''
, 'icon_position' => 'left' // Position of icon relative to Text: left | right
, 'style' => '' // Any CSS class here
, 'mobile_show_text' => false // Show or hide text, when viewing on Mobile devices (small window size).
, 'attr' => array()
)
, array( 'type' => 'html', 'html' => '
' )
)
),
);
$params = array(
'id' => 'wh_booking_date'
, 'default' => $request_input_el_default[ 'wh_booking_date' ]
, 'label' => ''//__('Approve 1', 'booking') . ':'
, 'title' => ''//__('Approve 2', 'booking')
, 'hint' => array( 'title' => __('Filter bookings by booking dates' ,'booking') , 'position' => 'top' )
, 'align' => 'left'
, 'li_options' => $options
);
?> 'span'
, 'html' => ''// '' //'' . esc_html__( 'Dates', 'booking ' ) . ''
, 'icon' => array( 'icon_font' => 'wpbc_icn_done_all', 'position' => 'right', 'icon_img' => '' )
, 'class' => 'wpbc_ui_button inactive'
, 'style' => ''
, 'attr' => array()
);
$params = array(
'id' => 'wh_approved'
, 'default' => isset( $escaped_search_request_params['wh_approved'] ) ? $escaped_search_request_params['wh_approved'] : $defaults['wh_approved']
, 'label' => ''//__('Status', 'booking') . ':'
, 'title' => __('Status', 'booking')
, 'hint' => array( 'title' => __('Filter bookings by booking status' ,'booking') , 'position' => 'top' )
, 'li_options' => array (
'0' => __( 'Pending', 'booking' ),
'1' => __( 'Approved', 'booking' ),
'divider1' => array( 'type' => 'html', 'html' => '
' ),
// 'header1' => array( 'type' => 'header', 'title' => __( 'Default', 'booking' ) ),
'any' => array(
'type' => 'simple',
'value' => '',
// 'disabled' => true,
'title' => __( 'Any', 'booking' )
),
)
);
?> 0 ) {
$_REQUEST['overwrite'] = 1;
$_REQUEST['keyword'] = 'id:' . $wh_booking_id;
}
}
// phpcs:ignore WordPress.Security.NonceVerification.Recommended, WordPress.Security.NonceVerification.Missing
if ( ( ! empty( $_REQUEST['overwrite'] ) ) && ( ! empty( $_REQUEST['keyword'] ) ) ) {
// Searching for booking(s) from URL: http://beta/wp-admin/admin.php?page=wpbc&tab=vm_booking_listing&keyword=id:2&overwrite=1 .
// phpcs:ignore WordPress.Security.NonceVerification.Recommended, WordPress.Security.NonceVerification.Missing, WordPress.Security.ValidatedSanitizedInput.InputNotValidated, WordPress.Security.ValidatedSanitizedInput.MissingUnslash, WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
$default_value = wpbc_sanitize_text( $_REQUEST['keyword'] );
?> 'text',
'id' => $el_id,
'name' => $el_id,
'label' => '',
'disabled' => false,
'class' => '',
'style' => '',
'placeholder' => __( 'Enter keyword to search...', 'booking' ),
'attr' => array(),
'value' => $default_value,
'onfocus' => '',
);
?> 'button' ,
'title' => '',//__( 'Reset', 'booking' ) . ' ', // Title of the button
'hint' => array( 'title' => __( 'Reset keyword text field', 'booking' ), 'position' => 'top' ), // Hint
'link' => 'javascript:void(0)', // Direct link or skip it
'action' => "jQuery( '#wpbc_search_field').val('');
wpbc_ajx_booking_send_search_request_with_params( {
'keyword' : '',
'page_num': 1
} );
", // JavaScript
'icon' => array(
'icon_font' => 'wpbc_icn_close', //'wpbc_icn_rotate_left',
'position' => 'left',
'icon_img' => ''
),
'class' => 'wpbc_button_as_icon', // '' | 'wpbc_ui_button_primary'
'style' => '', // Any CSS class here
'mobile_show_text' => true, // Show or hide text, when viewing on Mobile devices (small window size).
'attr' => array()
);
?> 'button' ,
'title' => __( 'Reset', 'booking' ) . ' ', // Title of the button
'hint' => array( 'title' => __( 'Reset search filter and user options to default values', 'booking' ) . '. ' . __( 'Show all bookings.', 'booking' ), 'position' => 'top' ), // Hint
'link' => 'javascript:void(0)', // Direct link or skip it
'action' => "wpbc_ajx_booking_send_search_request_with_params( {
'ui_reset': 'make_reset',
'page_num': 1
} );", // JavaScript
'icon' => array(
'icon_font' => 'wpbc_icn_settings_backup_restore', //'wpbc_icn_rotate_left',
'position' => 'left',
'icon_img' => ''
),
'class' => 'wpbc_ui_button', // '' | 'wpbc_ui_button_primary'
'style' => '',// 'color: #ef6500;', //FixIn: 9.7.2.1 // Any CSS class here
'mobile_show_text' => !true, // Show or hide text, when viewing on Mobile devices (small window size).
'attr' => array()
);
?> 'button' ,
'title' => '',//__( 'Reset', 'booking' ) . ' ', // Title of the button
'hint' => array( 'title' => __( 'Remove all booking resources', 'booking' ), 'position' => 'top' ), // Hint
'link' => 'javascript:void(0)', // Direct link or skip it
'action' => "remove_all_options_from_choozen('#wh_booking_type');", // JavaScript
'icon' => array(
'icon_font' => 'wpbc_icn_close',
'position' => 'left',
'icon_img' => ''
),
'class' => 'wpbc_ui_button', // '' | 'wpbc_ui_button_primary'
'style' => '', // Any CSS class here
'mobile_show_text' => true, // Show or hide text, when viewing on Mobile devices (small window size).
'attr' => array( 'id' => 'wpbc_booking_listing_reload_button')
);
/**
* result = {array} [12]
1 = {array} [10]
booking_type_id = "1"
title = "Standard"
users = "3"
import = null
export = null
cost = "25"
default_form = "owner-custom-form-1"
prioritet = "2"
parent = "0"
visitors = "2"
2 = {array} [10]
booking_type_id = "2"
title = "Apartment#1" ...
*/
$resources_sql_arr = wpbc_ajx_get_all_booking_resources_arr();
/**
* $resources_arr = array( linear_resources = {array} [12] single_or_parent = {array} [5] child = {array} [2] )
*
$resources_arr = {array} [3]
linear_resources = {array} [12]
1 = {array} [12]
booking_type_id = "1"
title = "Standard"
users = "3"
import = null
export = null
cost = "25"
default_form = "owner-custom-form-1"
prioritet = "2"
parent = "0"
visitors = "2"
id = "1"
count = {int} 5
5 = {array} [12]
booking_type_id = "5"
title = "Standard-1"
users = "1"
import = null
*/
$resources_arr = wpbc_ajx_arrange_booking_resources_arr( $resources_sql_arr );
$style = '';
$select_box_options = array(); // FixIn: 4.3.2.1.
if ( ! empty( $resources_arr ) ) {
$linear_resources_arr = $resources_arr['linear_resources'];
if ( count( $linear_resources_arr ) > 1 ) {
$resources_id_arr = array();
foreach ( $linear_resources_arr as $bkr ) {
$resources_id_arr[] = $bkr['id'];
}
$select_box_options[ /*implode( ',', $resources_id_arr )*/0 ] = array(
'title' => __( 'All resources', 'booking' )
, 'attr' => array( 'title' => '' . esc_html__( 'All resources', 'booking' ) . '' )
, 'style' => 'font-weight:600;'
);
}
foreach ( $linear_resources_arr as $bkr ) {
$option_title = wpbc_lang( $bkr['title'] );
if ( isset( $bkr['parent'] ) ) {
if ( $bkr ['parent'] == 0 ) {
$option_title = $option_title;
$style = 'font-weight:600;';
} else {
$option_title = ' ' . $option_title;
$style = 'font-weight:400;';
}
}
$select_box_options[ $bkr ['id'] ] = array(
'title' => $option_title
, 'attr' => array( 'title' => $option_title )
, 'style' => $style
);
}
}
$el_id = 'wh_booking_type';
$params_select = array(
'id' => $el_id // HTML ID of element
, 'name' => $el_id
, 'label' => '' // __( 'Next Days', 'booking' ) // Label (optional)
, 'style' => 'display:none;' // CSS of select element
, 'class' => 'chzn-select' // CSS Class of select element
, 'multiple' => true
, 'attr' => array( 'data-placeholder' => __( 'Select booking resources', 'booking' ) ) // Any additional attributes, if this radio | checkbox element
, 'disabled' => false
, 'disabled_options' => array() // If some options disabled, then it has to list here
, 'options' => $select_box_options
, 'value' => isset( $escaped_search_request_params[ $el_id ] ) ? $escaped_search_request_params[ $el_id ] : $defaults[ $el_id ] // Some Value from options array that selected by default
//, 'onfocus' => "console.log( 'ON FOCUS:', jQuery( this ).val(), 'in element:' , jQuery( this ) );" // JavaScript code
//, 'onchange' => "console.log( 'ON CHANGE:', jQuery( this ).val(), 'in element:' , jQuery( this ) );" // JavaScript code
);
// Booking resources
?> 'span'
, 'html' => ''// '' //'' . esc_html__( 'Dates', 'booking ' ) . ''
, 'icon' => array( 'icon_font' => 'wpbc_icn_delete_outline', 'position' => 'right', 'icon_img' => '' )
, 'class' => 'wpbc_ui_button inactive'
, 'style' => ''
, 'attr' => array()
, 'hint' => array( 'title' => __('Show trashed or existing bookings' ,'booking') , 'position' => 'top' )
);
$el_id = 'wh_trash';
$params = array(
'id' => $el_id
, 'default' => isset( $escaped_search_request_params[ $el_id ] ) ? $escaped_search_request_params[ $el_id ] : $defaults[ $el_id ]
, 'label' => ''
, 'title' => '' //__('Bookings', 'booking')
, 'hint' => array( 'title' => __('Show trashed or existing bookings' ,'booking') , 'position' => 'top' )
, 'li_options' => array(
'0' => __( 'Existing', 'booking' ),
'trash' => __( 'In Trash / Rejected', 'booking' ),
'divider1' => array( 'type' => 'html', 'html' => '
' ),
'any' => __( 'Any', 'booking' )
)
//, 'onfocus' => "console.log( 'ON FOCUS:', jQuery( '#{$el_id}' ).val() , 'in element:' , jQuery( this ) );" // JavaScript code
//, 'onchange' => "console.log( 'ON CHANGE:', jQuery( this ).val() , 'in element:' , jQuery( this ) );" // JavaScript code
//, 'onchange' => "wpbc_ajx_booking_send_search_request_with_params( { '{$el_id}': JSON.parse( jQuery( this ).val() )[0], 'page_num': 1 } );"
);
?> 'span'
, 'html' => ''// '' //'' . esc_html__( 'Dates', 'booking ' ) . ''
, 'icon' => array( 'icon_font' => 'wpbc_icn_visibility', 'position' => 'right', 'icon_img' => '' )
, 'class' => 'wpbc_ui_button inactive'
, 'style' => ''
, 'attr' => array()
, 'hint' => array( 'title' => __('Filter bookings by additional criteria' ,'booking') , 'position' => 'top' )
);
$el_id = 'wh_what_bookings';
$params = array(
'id' => $el_id
, 'default' => isset( $escaped_search_request_params[ $el_id ] ) ? $escaped_search_request_params[ $el_id ] : $defaults[ $el_id ]
, 'label' => ''
, 'title' => '' //__('Show', 'booking')
, 'hint' => array( 'title' => __('Filter bookings by additional criteria' ,'booking') , 'position' => 'top' )
, 'li_options' => array(
'all' => array(
'type' => 'simple',
'value' => 'any',
'title' => __( 'Any', 'booking' )
),
'divider1' => array( 'type' => 'html', 'html' => '
' ),
'new' => __( 'New', 'booking' ),
'imported' => __( 'Imported', 'booking' ),
'in_plugin' => __( 'Plugin bookings', 'booking' )
)
//, 'onfocus' => "console.log( 'ON FOCUS:', jQuery( '#{$el_id}' ).val() , 'in element:' , jQuery( this ) );" // JavaScript code
//, 'onchange' => "console.log( 'ON CHANGE:', jQuery( this ).val() , 'in element:' , jQuery( this ) );" // JavaScript code
//, 'onchange' => "wpbc_ajx_booking_send_search_request_with_params( { '{$el_id}': JSON.parse( jQuery( this ).val() )[0], 'page_num': 1 } );"
);
?> 'span'
, 'html' => ''// '' //'' . esc_html__( 'Dates', 'booking ' ) . ''
, 'icon' => array( 'icon_font' => 'wpbc_icn_edit_calendar', 'position' => 'right', 'icon_img' => '' )
, 'class' => 'wpbc_ui_button inactive'
, 'style' => ''
, 'attr' => array()
, 'hint' => array( 'title' => __('Filter bookings by creation booking date' ,'booking') , 'position' => 'top' )
);
$dates_interval = array(
1 => '1' . ' ' . __('day' ,'booking')
, 2 => '2' . ' ' . __('days' ,'booking')
, 3 => '3' . ' ' . __('days' ,'booking')
, 4 => '4' . ' ' . __('days' ,'booking')
, 5 => '5' . ' ' . __('days' ,'booking')
, 6 => '6' . ' ' . __('days' ,'booking')
, 7 => '1' . ' ' . __('week' ,'booking')
, 14 => '2' . ' ' . __('weeks' ,'booking')
, 30 => '1' . ' ' . __('month' ,'booking')
, 60 => '2' . ' ' . __('months' ,'booking')
, 90 => '3' . ' ' . __('months' ,'booking')
, 183 => '6' . ' ' . __('months' ,'booking')
, 365 => '1' . ' ' . __('Year' ,'booking')
);
$el_id = 'wh_modification_date';
$request_input_el_default = array(
$el_id => isset( $escaped_search_request_params[ $el_id ] ) ? $escaped_search_request_params[ $el_id ] : $defaults[ $el_id ],
'ui_wh_modification_date_radio' => isset( $escaped_search_request_params['ui_wh_modification_date_radio'] ) ? $escaped_search_request_params['ui_wh_modification_date_radio'] : $defaults['ui_wh_modification_date_radio'],
'ui_wh_modification_date_prior' => isset( $escaped_search_request_params['ui_wh_modification_date_prior'] ) ? $escaped_search_request_params['ui_wh_modification_date_prior'] : $defaults['ui_wh_modification_date_prior'],
'ui_wh_modification_date_checkin' => isset( $escaped_search_request_params['ui_wh_modification_date_checkin'] ) ? $escaped_search_request_params['ui_wh_modification_date_checkin'] : $defaults['ui_wh_modification_date_checkin'],
'ui_wh_modification_date_checkout' => isset( $escaped_search_request_params['ui_wh_modification_date_checkout'] ) ? $escaped_search_request_params['ui_wh_modification_date_checkout'] : $defaults['ui_wh_modification_date_checkout']
);
$options = array (
'1' => __( 'Today', 'booking' ),
'3' => __( 'All dates', 'booking' ),
'divider1' => array( 'type' => 'html', 'html' => '
' ),
// Prior [ '5', '10' ]
'prior' => array(
'type' => 'complex',
'class' => 'ui_complex_option_element',
'style' => 'min-width: 244px;',
'selected_options_value' => array( 1 => array( 'value' ), 4 => array( 'value' ) ), // 4 => array( 'value' ) --> $complex_option['input_options'][4]['value']
'selected_options_title' => array( 1 => array( 'label', 'title' )
, 'text1' => ': '
, 4 => array( 'options' , $request_input_el_default[ 'ui_wh_modification_date_prior'] )
), // 1 => array( 'label', 'title' ) --> $complex_option['input_options'][1]['label'][ 'title' ]
'input_options' => array(
array( 'type' => 'html', 'html' => '' )
, array(
'type' => 'radio'
, 'id' => 'ui_wh_modification_date_radio_2' // HTML ID of element
, 'name' => 'ui_wh_modification_date_radio'
, 'label' => array( 'title' => __('Prior' ,'booking') , 'position' => 'right' )
, 'style' => '' // CSS of select element
, 'class' => '' // CSS Class of select element
, 'disabled' => false
, 'attr' => array() // Any additional attributes, if this radio | checkbox element
, 'legend' => '' // aria-label parameter
, 'value' => '5' // Some Value from optins array that selected by default
, 'selected' => ( $request_input_el_default[ 'ui_wh_modification_date_radio' ] == '5' ) ? true : false // Selected or not
//, 'onfocus' => "console.log( 'ON FOCUS:', jQuery( this ).is(':checked') , 'in element:' , jQuery( this ) );" // JavaScript code
//, 'onchange' => "console.log( 'ON CHANGE:', jQuery( this ).is(':checked') , 'in element:' , jQuery( this ) );" // JavaScript code
)
, array( 'type' => 'html', 'html' => '
' )
, array( 'type' => 'html', 'html' => '' )
, array(
'type' => 'select'
, 'attr' => array()
, 'name' => 'ui_wh_modification_date_prior'
, 'id' => 'ui_wh_modification_date_prior'
, 'options' => $dates_interval
, 'value' => $request_input_el_default[ 'ui_wh_modification_date_prior']
, 'onfocus' => "jQuery('#ui_wh_modification_date_radio_2').prop('checked', true);" // JavaScript code
//, 'onchange' => "console.log( 'ON CHANGE:', jQuery( this ).is(':checked') , 'in element:' , jQuery( this ) );" // JavaScript code
)
, array( 'type' => 'html', 'html' => '
' )
)
),
// Fixed [ '6', '', '2022-05-21']
'fixed' => array(
'type' => 'complex',
'class' => 'ui_complex_option_element',
'selected_options_value' => array( 1 => array( 'value' ), 4 => array( 'value' ), 7 => array( 'value' ) ), // 4 => array( 'value' ) --> $complex_option['input_options'][4]['value']
'selected_options_title' => array( 1 => array( 'label', 'title' ), 'text1' => ': ', 4 => array( 'value' ), 'text2' => ' - ' ,7 => array( 'value' ) ), // 1 => array( 'label', 'title' ) --> $complex_option['input_options'][1]['label'][ 'title' ]
'input_options' => array(
array( 'type' => 'html', 'html' => '' )
, array(
'type' => 'radio'
, 'id' => 'ui_wh_modification_date_radio_3' // HTML ID of element
, 'name' => 'ui_wh_modification_date_radio'
, 'label' => array( 'title' => __('Dates' ,'booking') , 'position' => 'right' )
, 'style' => '' // CSS of select element
, 'class' => '' // CSS Class of select element
, 'disabled' => false
, 'attr' => array() // Any additional attributes, if this radio | checkbox element
, 'legend' => '' // aria-label parameter
, 'value' => '6' // Some Value from optins array that selected by default
, 'selected' => ( $request_input_el_default[ 'ui_wh_modification_date_radio' ] == '6' ) ? true : false // Selected or not
//, 'onfocus' => "console.log( 'ON FOCUS:', jQuery( this ).is(':checked') , 'in element:' , jQuery( this ) );" // JavaScript code
//, 'onchange' => "console.log( 'ON CHANGE:', jQuery( this ).is(':checked') , 'in element:' , jQuery( this ) );" // JavaScript code
)
, array( 'type' => 'html', 'html' => '
' )
, array( 'type' => 'html', 'html' => '' )
, array(
'type' => 'text'
, 'id' => 'ui_wh_modification_date_checkin' // HTML ID of element
, 'name' => 'ui_wh_modification_date_checkin'
, 'label' => ''//__('Check-in' ,'booking')
, 'style' => 'width:100%;' // CSS of select element
, 'class' => 'wpdevbk-filters-section-calendar' // CSS Class of select element
, 'disabled' => false
, 'attr' => array() // Any additional attributes, if this radio | checkbox element
, 'placeholder' => __('From' ,'booking') // gmdate( 'Y-m-d' )
, 'value' => $request_input_el_default[ 'ui_wh_modification_date_checkin'] // Some Value from optins array that selected by default
, 'onfocus' => "jQuery('#ui_wh_modification_date_radio_3').prop('checked', true);" // JavaScript code
//, 'onchange' => "console.log( 'ON CHANGE:', jQuery( this ).is(':checked') , 'in element:' , jQuery( this ) );" // JavaScript code
)
, array( 'type' => 'html', 'html' => '
' )
, array( 'type' => 'html', 'html' => '' )
, array(
'type' => 'text'
, 'id' => 'ui_wh_modification_date_checkout' // HTML ID of element
, 'name' => 'ui_wh_modification_date_checkout'
, 'label' => ''//__('Check-out' ,'booking')
, 'style' => 'width:100%;' // CSS of select element
, 'class' => 'wpdevbk-filters-section-calendar' // CSS Class of select element
, 'disabled' => false
, 'attr' => array() // Any additional attributes, if this radio | checkbox element
, 'placeholder' => __('To' ,'booking') // gmdate( 'Y-m-d' )
, 'value' => $request_input_el_default[ 'ui_wh_modification_date_checkout'] // Some Value from optins array that selected by default
, 'onfocus' => "jQuery('#ui_wh_modification_date_radio_3').prop('checked', true);" // JavaScript code
//, 'onchange' => "console.log( 'ON CHANGE:', jQuery( this ).is(':checked') , 'in element:' , jQuery( this ) );" // JavaScript code
)
, array( 'type' => 'html', 'html' => '
' )
)
),
'divider3' => array( 'type' => 'html', 'html' => '
' ),
// Buttons
'buttons1' => array(
'type' => 'complex',
'class' => 'ui_complex_option_element',
'style' => 'justify-content: flex-end;',
'input_options' => array(
array( 'type' => 'html', 'html' => '' )
, array(
'type' => 'button'
, 'title' => __( 'Apply', 'booking' ) // Title of the button
, 'hint' => '' // , 'hint' => array( 'title' => __('Select status' ,'booking') , 'position' => 'bottom' )
, 'link' => 'javascript:void(0)' // Direct link or skip it
, 'action' => "wpbc_ui_dropdown_apply_click( {
'dropdown_id' : 'wh_modification_date',
'dropdown_radio_name': 'ui_wh_modification_date_radio'
} );" // JavaScript code
, 'class' => 'wpbc_ui_button_primary' // wpbc_ui_button | wpbc_ui_button_primary
, 'icon' => ''
, 'font_icon' => ''
, 'icon_position' => 'left' // Position of icon relative to Text: left | right
, 'style' => '' // Any CSS class here
, 'mobile_show_text' => false // Show or hide text, when viewing on Mobile devices (small window size).
, 'attr' => array()
)
, array( 'type' => 'html', 'html' => '
' )
, array( 'type' => 'html', 'html' => '' )
, array(
'type' => 'button'
, 'title' => __( 'Close', 'booking' ) // Title of the button
, 'hint' => '' // , 'hint' => array( 'title' => __('Select status' ,'booking') , 'position' => 'bottom' )
, 'link' => 'javascript:void(0)' // Direct link or skip it
, 'action' => "wpbc_ui_dropdown_close_click( 'wh_modification_date' );" // JavaScript code
, 'class' => '' // wpbc_ui_button | wpbc_ui_button_primary
, 'icon' => ''
, 'font_icon' => ''
, 'icon_position' => 'left' // Position of icon relative to Text: left | right
, 'style' => '' // Any CSS class here
, 'mobile_show_text' => false // Show or hide text, when viewing on Mobile devices (small window size).
, 'attr' => array()
)
, array( 'type' => 'html', 'html' => '
' )
)
),
);
$params = array(
'id' => $el_id
, 'default' => isset( $escaped_search_request_params[ $el_id ] ) ? $escaped_search_request_params[ $el_id ] : $defaults[ $el_id ]
, 'label' => ''
, 'title' => ''//__('Creation', 'booking')
, 'hint' => array( 'title' => __('Filter bookings by creation booking date' ,'booking') , 'position' => 'top' )
, 'li_options' => $options
//, 'onfocus' => "console.log( 'ON FOCUS:', jQuery( '#{$el_id}' ).val() , 'in element:' , jQuery( this ) );" // JavaScript code
//, 'onchange' => "console.log( 'ON CHANGE:', jQuery( this ).val() , 'in element:' , jQuery( this ) );" // JavaScript code
//, 'onchange' => "wpbc_ajx_booking_send_search_request_with_params( { '{$el_id}': JSON.parse( jQuery( this ).val() ), 'page_num': 1 "
// // Frontend selected elements (saving for future use, after F5)
// . " ,'ui_wh_modification_date_radio' : jQuery( 'input[name=\"ui_wh_modification_date_radio\"]:checked' ).val()"
// . " ,'ui_wh_modification_date_prior' : jQuery( '#ui_wh_modification_date_prior' ).val()"
// . " ,'ui_wh_modification_date_checkin' : jQuery( '#ui_wh_modification_date_checkin' ).val()"
// . " ,'ui_wh_modification_date_checkout': jQuery( '#ui_wh_modification_date_checkout' ).val()"
// ."} );"
);
?> 'span'
, 'html' => ''// '' //'' . esc_html__( 'Dates', 'booking ' ) . ''
, 'icon' => array( 'icon_font' => 'wpbc_icn_payments', 'position' => 'right', 'icon_img' => '' )
, 'class' => 'wpbc_ui_button inactive'
, 'style' => ''
, 'attr' => array()
, 'hint' => array( 'title' => __('Filter bookings by payment status' ,'booking') , 'position' => 'top' )
);
$el_id = 'wh_pay_status';
$request_input_el_default = array(
$el_id => isset( $escaped_search_request_params[ $el_id ] ) ? $escaped_search_request_params[ $el_id ] : $defaults[ $el_id ],
'ui_wh_pay_status_radio' => isset( $escaped_search_request_params['ui_wh_pay_status_radio'] ) ? $escaped_search_request_params['ui_wh_pay_status_radio'] : $defaults['ui_wh_pay_status_radio'],
'ui_wh_pay_status_custom' => isset( $escaped_search_request_params['ui_wh_pay_status_custom'] ) ? $escaped_search_request_params['ui_wh_pay_status_custom'] : $defaults['ui_wh_pay_status_custom']
);
$options = array (
'all' => __( 'Any Status', 'booking' ),
'divider0' => array( 'type' => 'html', 'html' => '
' ),
'group_ok' => __( 'Paid OK', 'booking' ),
'group_unknown' => __( 'Unknown Status', 'booking' ),
'group_pending' => __( 'Not Completed', 'booking' ),
'group_failed' => __( 'Failed', 'booking' ),
'divider1' => array( 'type' => 'html', 'html' => '
' ),
// Fixed [ '6', '', '2022-05-21']
'custom' => array(
'type' => 'complex',
'class' => 'ui_complex_option_element',
'selected_options_value' => array( 1 => array( 'value' ), 4 => array( 'value' ) ), // 4 => array( 'value' ) --> $complex_option['input_options'][4]['value']
'selected_options_title' => array( 1 => array( 'label', 'title' ), 'text1' => ': ', 4 => array( 'value' ) ), // 1 => array( 'label', 'title' ) --> $complex_option['input_options'][1]['label'][ 'title' ]
'input_options' => array(
array( 'type' => 'html', 'html' => '' )
, array(
'type' => 'radio'
, 'id' => 'ui_wh_pay_status_radio_1' // HTML ID of element
, 'name' => 'ui_wh_pay_status_radio'
, 'label' => array( 'title' => __('Custom' ,'booking') , 'position' => 'right' )
, 'style' => '' // CSS of select element
, 'class' => '' // CSS Class of select element
, 'disabled' => false
, 'attr' => array() // Any additional attributes, if this radio | checkbox element
, 'legend' => '' // aria-label parameter
, 'value' => 'user_entered' // Some Value from optins array that selected by default
, 'selected' => ( $request_input_el_default[ 'ui_wh_pay_status_radio' ] == 'user_entered' ) ? true : false // Selected or not
//, 'onfocus' => "console.log( 'ON FOCUS:', jQuery( this ).is(':checked') , 'in element:' , jQuery( this ) );" // JavaScript code
//, 'onchange' => "console.log( 'ON CHANGE:', jQuery( this ).is(':checked') , 'in element:' , jQuery( this ) );" // JavaScript code
)
, array( 'type' => 'html', 'html' => '
' )
, array( 'type' => 'html', 'html' => '' )
, array(
'type' => 'text'
, 'id' => 'ui_wh_pay_status_custom' // HTML ID of element
, 'name' => 'ui_wh_pay_status_custom'
, 'label' => ''//__('Check-out' ,'booking')
, 'style' => 'max-width:100%;width:100%;' // CSS of select element
, 'class' => '' // CSS Class of select element
, 'disabled' => false
, 'attr' => array() // Any additional attributes, if this radio | checkbox element
, 'placeholder' => __('Payment status' ,'booking') // gmdate( 'Y-m-d' )
, 'value' => $request_input_el_default[ 'ui_wh_pay_status_custom'] // Some Value from optins array that selected by default
, 'onfocus' => "jQuery('#ui_wh_pay_status_radio_1').prop('checked', true);" // JavaScript code
//, 'onchange' => "console.log( 'ON CHANGE:', jQuery( this ).is(':checked') , 'in element:' , jQuery( this ) );" // JavaScript code
)
, array( 'type' => 'html', 'html' => '
' )
)
),
// Buttons
'buttons1' => array(
'type' => 'complex',
'class' => 'ui_complex_option_element',
'style' => 'justify-content: flex-end;',
'input_options' => array(
array( 'type' => 'html', 'html' => '' )
, array(
'type' => 'button'
, 'title' => __( 'Apply', 'booking' ) // Title of the button
, 'hint' => '' // , 'hint' => array( 'title' => __('Select status' ,'booking') , 'position' => 'bottom' )
, 'link' => 'javascript:void(0)' // Direct link or skip it
, 'action' => "wpbc_ui_dropdown_apply_click( {
'dropdown_id' : 'wh_pay_status',
'dropdown_radio_name': 'ui_wh_pay_status_radio'
} );" // JavaScript code
, 'class' => 'wpbc_ui_button_primary' // wpbc_ui_button | wpbc_ui_button_primary
, 'icon' => ''
, 'font_icon' => ''
, 'icon_position' => 'left' // Position of icon relative to Text: left | right
, 'style' => '' // Any CSS class here
, 'mobile_show_text' => false // Show or hide text, when viewing on Mobile devices (small window size).
, 'attr' => array()
)
, array( 'type' => 'html', 'html' => '
' )
, array( 'type' => 'html', 'html' => '' )
, array(
'type' => 'button'
, 'title' => __( 'Close', 'booking' ) // Title of the button
, 'hint' => '' // , 'hint' => array( 'title' => __('Select status' ,'booking') , 'position' => 'bottom' )
, 'link' => 'javascript:void(0)' // Direct link or skip it
, 'action' => "wpbc_ui_dropdown_close_click( 'wh_pay_status' );" // JavaScript code
, 'class' => '' // wpbc_ui_button | wpbc_ui_button_primary
, 'icon' => ''
, 'font_icon' => ''
, 'icon_position' => 'left' // Position of icon relative to Text: left | right
, 'style' => '' // Any CSS class here
, 'mobile_show_text' => false // Show or hide text, when viewing on Mobile devices (small window size).
, 'attr' => array()
)
, array( 'type' => 'html', 'html' => '
' )
)
),
);
$params = array(
'id' => $el_id
, 'default' => isset( $escaped_search_request_params[ $el_id ] ) ? $escaped_search_request_params[ $el_id ] : $defaults[ $el_id ]
, 'label' => ''
, 'title' => ''//__('Payment', 'booking')
, 'hint' => array( 'title' => __('Filter bookings by payment status' ,'booking') , 'position' => 'top' )
, 'li_options' => $options
//, 'onfocus' => "console.log( 'ON FOCUS:', jQuery( '#{$el_id}' ).val() , 'in element:' , jQuery( this ) );" // JavaScript code
//, 'onchange' => "console.log( 'ON CHANGE:', jQuery( this ).val() , 'in element:' , jQuery( this ) );" // JavaScript code
///*, 'onchange' =>*/. "wpbc_ajx_booking_send_search_request_with_params( { '{$el_id}': JSON.parse( jQuery( this ).val() ), 'page_num': 1 "
// // Frontend selected elements (saving for future use, after F5)
// . " ,'ui_wh_pay_status_radio' : ( undefined === jQuery( 'input[name=\"ui_wh_pay_status_radio\"]:checked' ).val() ) ? '' : jQuery( 'input[name=\"ui_wh_pay_status_radio\"]:checked' ).val()"
// . " ,'ui_wh_pay_status_custom' : jQuery( '#ui_wh_pay_status_custom' ).val()"
// ."} );"
);
?> $el_id // HTML ID of element
, 'name' => $el_id
, 'label' => '' . esc_html__( 'Cost', 'booking' ) . ' (' . esc_html__( 'min-max', 'booking' ) . '):'
, 'style' => 'max-width: 69px;' // CSS of select element
, 'class' => '' // CSS Class of select element
, 'disabled' => false
, 'attr' => array() // Any additional attributes, if this radio | checkbox element
, 'placeholder' => '0'
, 'value' => isset( $escaped_search_request_params[ $el_id ] ) ? $escaped_search_request_params[ $el_id ] : $defaults[ $el_id ]
//, 'onfocus' => "console.log( 'ON FOCUS:', jQuery( this ).val() , 'in element:' , jQuery( this ) );" // JavaScript code
//, 'onchange' => "console.log( 'ON CHANGE:', jQuery( this ).val() , 'in element:' , jQuery( this ) );" // JavaScript code
);
?> $el_id // HTML ID of element
, 'name' => $el_id
, 'label' => ' ‐ '
, 'style' => 'max-width: 69px;' // CSS of select element
, 'class' => '' // CSS Class of select element
, 'disabled' => false
, 'attr' => array() // Any additional attributes, if this radio | checkbox element
, 'placeholder' => '10000'
, 'value' => isset( $escaped_search_request_params[ $el_id ] ) ? $escaped_search_request_params[ $el_id ] : $defaults[ $el_id ]
//, 'onfocus' => "console.log( 'ON FOCUS:', jQuery( this ).val() , 'in element:' , jQuery( this ) );" // JavaScript code
//, 'onchange' => "console.log( 'ON CHANGE:', jQuery( this ).val() , 'in element:' , jQuery( this ) );" // JavaScript code
);
?> 'button' ,
'title' => '',//__( 'Reset', 'booking' ) . ' ', // Title of the button
'hint' => array( 'title' => __( 'Reload bookings listing', 'booking' ), 'position' => 'top' ), // Hint
'link' => 'javascript:void(0)', // Direct link or skip it
'action' => "wpbc_ajx_booking_send_search_request_with_params( { } );", // Some JavaScript
'icon' => array(
'icon_font' => 'wpbc_icn_refresh wpbc_spin', //'wpbc_icn_rotate_left',
'position' => 'left',
'icon_img' => ''
),
'class' => 'wpbc_ui_button wpbc_ui_button_primary0', // '' | 'wpbc_ui_button_primary'
'style' => '', // Any CSS class here
'mobile_show_text' => true, // Show or hide text, when viewing on Mobile devices (small window size).
'attr' => array( 'id' => 'wpbc_booking_listing_reload_button')
);
?>
// ---------------------------------------------------------------------------------------------------------------------
// JS & CSS Loading
// ---------------------------------------------------------------------------------------------------------------------
/**
* CSS files loading
*
* @param string $where_to_load
*/
function wpbc_ajx_toolbar_enqueue_css_files( $where_to_load ) {
if ( ( is_admin() ) && ( in_array( $where_to_load, array( 'admin', 'both' ) ) ) ) {
wp_enqueue_style( 'wpbc-flex-toolbar', wpbc_plugin_url( '/includes/_toolbar_ui/_src/toolbar_ui.css' ), array(), WP_BK_VERSION_NUM );
}
}
add_action( 'wpbc_enqueue_css_files', 'wpbc_ajx_toolbar_enqueue_css_files', 50 );
/**
* JS files loading
*
* @param string $where_to_load
*/
function wpbc_ajx_toolbar_enqueue_js_files( $where_to_load ) {
$in_footer = true;
if ( ( is_admin() ) && ( in_array( $where_to_load, array( 'admin', 'both' ) ) ) ) {
wp_enqueue_script( 'wpbc-flex-toolbar-ui', wpbc_plugin_url( '/includes/_toolbar_ui/_out/toolbar_ui.js' ), array( 'wpbc_all' ), WP_BK_VERSION_NUM, $in_footer );
/**
* wp_localize_script( 'wpbc_all', 'wpbc_live_request_obj'
, array(
'contacts' => '',
'reminders' => ''
)
);
*/
}
}
add_action( 'wpbc_enqueue_js_files', 'wpbc_ajx_toolbar_enqueue_js_files', 50 );
// 2024-08-13