PluginProbe
Booking Calendar / 10.15.7
Booking Calendar v10.15.7
11.9 11.8.4 11.8.3 11.8.2 11.8.1 11.8 11.7 11.6.1 11.6 11.5 11.4.3 11.4.2 11.4.1 11.4 11.3 11.2.1 11.2 11.1 11.0 10.15.7 10.15.6 10.1.3 10.10 10.10.1 10.10.2 All 205 releases
booking / includes / page-bookings / _src / boo_listing__actions.js

boo_listing__actions.js in Booking Calendar 10.15.7, at includes/page-bookings/_src/boo_listing__actions.js

288 lines 9.6 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /**
2 * Booking Actions in Booking Listing.
3 *
4 * @version 1.0
5 * @package Booking Calendar
6 * @author wpdevelop
7 *
8 * @web-site https://wpbookingcalendar.com/
9 * @email [email protected]
10 * @modified 2025-04-08
11 */
12
13 /**
14 * Check if we can open modal.
15 *
16 * @param html_id ID of modal window, e.g.: '#wpbc_modal__payment_status_edit__section'
17 *
18 * @returns {boolean}
19 */
20 function wpbc_is_modal_accessible( html_id ) {
21 if ( 'function' !== typeof (jQuery( html_id ).wpbc_my_modal) ) {
22 alert( 'Warning! wpbc_my_modal module has not found. Please, recheck about any conflicts by deactivating other plugins.' );
23 return false;
24 }
25 return true;
26 }
27
28
29 // ---------------------------------------------------------------------------------------------------------------------
30 // == Actions, while cliking on option dropdown ==
31 // ---------------------------------------------------------------------------------------------------------------------
32
33 /**
34 * Change payment Cost.
35 *
36 * @param booking_id - ID of booking.
37 * @param cost - payment cost.
38 */
39 function wpbc_boo_listing__click__set_booking_cost( booking_id, cost ) {
40
41 if ( ! wpbc_is_modal_accessible( '#wpbc_modal__booking_cost_edit__section' ) ) {
42 return false;
43 }
44
45 // Set booking cost.
46 jQuery( '#wpbc_modal__booking_cost_edit__value' ).val( cost );
47
48 // Set booking ID.
49 jQuery( '#wpbc_modal__booking_cost_edit__booking_id' ).val( booking_id );
50
51 // ID title.
52 jQuery( '.wpbc_modal__booking_cost_edit__booking_id' ).html( 'ID: ' + booking_id );
53
54 // Show Modal.
55 jQuery( '#wpbc_modal__booking_cost_edit__section' ).wpbc_my_modal( 'show' );
56
57 // Set focus to input.
58 jQuery( '#wpbc_modal__booking_cost_edit__value' ).trigger( 'focus' );
59 }
60
61 /**
62 * Change payment Status.
63 *
64 * @param booking_id - ID of booking.
65 * @param selected_pay_status - payment status.
66 */
67 function wpbc_boo_listing__click__set_payment_status( booking_id, selected_pay_status ) {
68
69 if ( ! wpbc_is_modal_accessible( '#wpbc_modal__payment_status_edit__section' ) ) {
70 return false;
71 }
72
73 var jSelect = jQuery( '#wpbc_modal__payment_status_edit__value' );
74
75 // Select Status.
76 if ( ( ! isNaN( parseFloat( selected_pay_status ) )) || ('' === selected_pay_status) ) { // Is it float - then it's unknown.
77 jSelect.find( 'option[value="1"]' ).prop( 'selected', true ); // Unknown value is '1' in select box.
78 } else {
79 jSelect.find( 'option[value="' + selected_pay_status + '"]' ).prop( 'selected', true ); // Otherwise known payment status.
80 }
81 // Set booking ID.
82 jQuery( '#wpbc_modal__payment_status_edit__booking_id' ).val( booking_id );
83
84 // ID title.
85 jQuery( '.wpbc_modal__payment_status_edit__booking_id' ).html( 'ID: ' + booking_id );
86
87 // Show Modal.
88 jQuery( '#wpbc_modal__payment_status_edit__section' ).wpbc_my_modal( 'show' );
89
90 // Set focus to input.
91 jQuery( '#wpbc_modal__payment_status_edit__value' ).trigger( 'focus' );
92 }
93
94 /**
95 * Send payment request
96 *
97 * @param booking_id
98 * @param visitorbookingpayurl
99 * @param cost
100 * @returns {boolean}
101 */
102 function wpbc_boo_listing__click__send_payment_request( booking_id, visitorbookingpayurl, cost ){
103
104 if ( ! wpbc_is_modal_accessible( '#wpbc_modal__send_payment_request__section' ) ) {
105 return false;
106 }
107
108 // Set booking cost.
109 jQuery( '#wpbc_modal__send_payment_request__url' ).val( visitorbookingpayurl );
110
111 // Set booking ID.
112 jQuery( '#wpbc_modal__send_payment_request__booking_id' ).val( booking_id );
113
114 // ID title.
115 jQuery( '.wpbc_modal__send_payment_request__booking_id' ).html( 'ID: ' + booking_id );
116
117 // Cost.
118 jQuery( '.wpbc_modal__send_payment_request__cost' ).html( cost );
119
120 // Show Modal.
121 jQuery( '#wpbc_modal__send_payment_request__section' ).wpbc_my_modal( 'show' );
122
123 // Set focus to input.
124 jQuery( '#wpbc_modal__send_payment_request__value' ).trigger( 'focus' );
125
126 }
127
128 /**
129 * Save Notes
130 *
131 * @param booking_id
132 * @param note_text
133 * @returns {boolean}
134 */
135 function wpbc_boo_listing__click__set_booking_note( booking_id, note_text ){
136
137 if ( ! wpbc_is_modal_accessible( '#wpbc_modal__set_booking_note__section' ) ) {
138 return false;
139 }
140
141 // Set Note.
142 jQuery( '#wpbc_modal__set_booking_note__value' ).val( note_text );
143
144 // Set booking ID.
145 jQuery( '#wpbc_modal__set_booking_note__booking_id' ).val( booking_id );
146
147 // ID title.
148 jQuery( '.wpbc_modal__set_booking_note__booking_id' ).html( 'ID: ' + booking_id );
149
150 // Show Modal.
151 jQuery( '#wpbc_modal__set_booking_note__section' ).wpbc_my_modal( 'show' );
152
153 // Set focus to input. // jQuery( '#wpbc_modal__set_booking_note__value' ).trigger( 'focus' ); .
154 jQuery( '#wpbc_modal__set_booking_note__value' ).scrollTop( 0 );
155
156 }
157
158 /**
159 * Change Resource for Booking
160 *
161 * @param booking_id - ID of booking.
162 * @param resource_id - ID of booking resource.
163 */
164 function wpbc_boo_listing__click__change_booking_resource( booking_id, resource_id ){
165
166 if ( ! wpbc_is_modal_accessible( '#wpbc_modal__change_booking_resource__section' ) ) {
167 return false;
168 }
169
170 // Select booking resource that belong to booking.
171 jQuery( '#wpbc_modal__change_booking_resource__resource_id' ).val( resource_id ).trigger( 'change' );
172
173 // Set booking ID.
174 jQuery( '#wpbc_modal__change_booking_resource__booking_id' ).val( booking_id );
175 // ID title.
176 jQuery( '.wpbc_modal__change_booking_resource__booking_id' ).html( 'ID: ' + booking_id );
177
178 // Show Modal.
179 jQuery( '#wpbc_modal__change_booking_resource__section' ).wpbc_my_modal( 'show' );
180
181 // Set focus to input.
182 jQuery( '#wpbc_modal__change_booking_resource__resource_id' ).focus();
183 }
184
185 /**
186 * Duplicate Booking into another resource.
187 *
188 * @param booking_id - ID of booking.
189 * @param resource_id - ID of booking resource.
190 */
191 function wpbc_boo_listing__click__duplicate_booking_to_other_resource( booking_id, resource_id ){
192
193 if ( ! wpbc_is_modal_accessible( '#wpbc_modal__duplicate_booking_to_other_resource__section' ) ) {
194 return false;
195 }
196
197 // Select booking resource that belong to booking.
198 jQuery( '#wpbc_modal__duplicate_booking_to_other_resource__resource_id' ).val( resource_id ).trigger( 'change' );
199
200 // Set booking ID.
201 jQuery( '#wpbc_modal__duplicate_booking_to_other_resource__booking_id' ).val( booking_id );
202 // ID title.
203 jQuery( '.wpbc_modal__duplicate_booking_to_other_resource__booking_id' ).html( 'ID: ' + booking_id );
204
205 // Show Modal.
206 jQuery( '#wpbc_modal__duplicate_booking_to_other_resource__section' ).wpbc_my_modal( 'show' );
207
208 // Set focus to input.
209 jQuery( '#wpbc_modal__duplicate_booking_to_other_resource__resource_id' ).focus();
210 }
211
212 /**
213 * Change Locale of Booking.
214 *
215 * @param booking_id - ID of booking.
216 * @param resource_id - ID of booking resource.
217 */
218 function wpbc_boo_listing__click__set_booking_locale( booking_id, selected_locale_value ){
219
220 if ( ! wpbc_is_modal_accessible( '#wpbc_modal__set_booking_locale__section' ) ) {
221 return false;
222 }
223
224 // Select booking Locale that belong to booking.
225 jQuery( '#wpbc_modal__set_booking_locale' ).val( selected_locale_value ).trigger( 'change' );
226
227 // var jSelect = jQuery( '#set_booking_locale__resource_select' );
228 // jSelect.find( 'option[value="' + resource_id + '"]' ).prop( 'selected', true ); // Otherwise known payment status.
229
230 // Set booking ID.
231 jQuery( '#wpbc_modal__set_booking_locale__booking_id' ).val( booking_id );
232 // ID title.
233 jQuery( '.wpbc_modal__set_booking_locale__booking_id' ).html( 'ID: ' + booking_id );
234
235 // Show Modal.
236 jQuery( '#wpbc_modal__set_booking_locale__section' ).wpbc_my_modal( 'show' );
237
238 // Set focus to input.
239 jQuery( '#wpbc_modal__set_booking_locale' ).focus();
240 }
241
242
243 // ---------------------------------------------------------------------------------------------------------------------
244 // == Filter Toolbar ==
245 // ---------------------------------------------------------------------------------------------------------------------
246 /**
247 * == "Sort By" Button ==
248 * This function update Title in Dropdown menu.
249 * It executed, after receving Ajax response.
250 * And based on parameters of this response, we get option title from dropdown list options and show it in toggle title.
251 */
252 function wpbc_boo_listing__init_hook__sort_by() {
253
254 var el_id = 'wh_sort';
255
256 var parameter_value = wpbc_ajx_booking_listing.search_get_param( el_id );
257
258 var j_option_link = jQuery( '.ul_dropdown_menu_li__' + el_id + '__' + parameter_value );
259 if ( j_option_link.length ) {
260 jQuery( '.ul_dropdown_menu__' + el_id + ' .ul_dropdown_menu_toggle .selected_value' ).html( j_option_link.html() );
261 } else {
262 jQuery( '.ul_dropdown_menu__' + el_id + ' .ul_dropdown_menu_toggle .selected_value' ).html( '---' );
263 }
264 }
265
266 // ---------------------------------------------------------------------------------------------------------------------
267 // == Listing Header Table ==
268 // ---------------------------------------------------------------------------------------------------------------------
269 /**
270 * == "Expand All Rows" Button ==
271 */
272 function wpbc_boo_listing__click__expand_all_rows() {
273 jQuery( '.wpbc_row_wrap' ).removeClass( 'max_height_a' );
274 jQuery( '.wpbc_row_wrap .wpbc_icn_expand_less' ).show();
275 jQuery( '.wpbc_row_wrap .wpbc_icn_expand_more' ).hide();
276 jQuery( '.wpbc_btn_expand_colapse_all' ).toggle();
277 }
278
279
280 /**
281 * == "Colpase All Rows" Button ==
282 */
283 function wpbc_boo_listing__click__colapse_all_rows() {
284 jQuery( '.wpbc_row_wrap' ).addClass( 'max_height_a' );
285 jQuery( '.wpbc_row_wrap .wpbc_icn_expand_less' ).hide();
286 jQuery( '.wpbc_row_wrap .wpbc_icn_expand_more' ).show();
287 jQuery( '.wpbc_btn_expand_colapse_all' ).toggle();
288 }