PluginProbe
Booking Calendar / 11.9
Booking Calendar v11.9
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
← All changes | includes/ui_settings/parts/ui__nav_vert.php +203 -67 11.6 → 11.9 View file →
@@ -80,9 +80,9 @@
80 80 );
81 81 $params = wp_parse_args( $args, $defaults );
82 82
83 83 // Ability to click on panel, only if there 'min' class - panel minimized!
84 - echo '<div class="wpbc_ui_el__vert_left_bar__wrapper" onclick0="javascript:if (( jQuery( this ).parent(\'.wpbc_settings_page_wrapper\').hasClass(\'min\') ) && ( ! wpbc_admin_ui__is_in_mobile_screen_size())) { wpbc_admin_ui__sidebar_left__do_max(); }" >';
84 + echo '<div class="wpbc_ui_el__vert_left_bar__wrapper" onclick="javascript:if (( jQuery( this ).parent(\'.wpbc_settings_page_wrapper\').hasClass(\'min\') ) && ( ! wpbc_admin_ui__is_in_mobile_screen_size())) { wpbc_admin_ui__sidebar_left__do_max( true ); }" >';
85 85
86 86 // FixIn: 10.12.1.7.
87 87 wpbc_ui__vert_left_bar__side_button__do_compact();
88 88 wpbc_ui__vert_left_bar__side_button__do_max();
@@ -92,13 +92,17 @@
92 92 'active_tab' => $args ['active_tab'], // calendar_appearance.
93 93 'active_subtab' => $args['active_subtab'], // calendar_appearance_skin.
94 94 );
95 95
96 + if ( function_exists( 'wpbc_booking_modes_v3_compile_sidebar_navigation' ) ) {
97 + $args['page_nav_tabs'] = wpbc_booking_modes_v3_compile_sidebar_navigation( $args['page_nav_tabs'] );
98 + }
99 +
96 100 // Available Main Menu - slug => titles.
97 101 $root_menu_arr = wpbc_ui__get_root_menu_arr();
98 102
99 - if ( function_exists( 'wpbc_booking_modes_resolve_root_navigation' ) ) {
100 - $root_menu_arr = wpbc_booking_modes_resolve_root_navigation( $root_menu_arr, $args['page_nav_tabs'] );
103 + if ( function_exists( 'wpbc_booking_modes_v3_compile_root_navigation' ) ) {
104 + $root_menu_arr = wpbc_booking_modes_v3_compile_root_navigation( $root_menu_arr, $args['page_nav_tabs'] );
101 105 }
102 106
103 107 // A mode may display an existing controller route below a different presentation group.
104 108 foreach ( $args['page_nav_tabs'] as $presentation_page_slug => $presentation_tabs ) {
@@ -123,10 +127,11 @@
123 127 } else {
124 128
125 129 // wpbc_ui_el__divider_horizontal();
126 130 echo '<div class="wpbc_ui_el__row100 wpbc_ui_el__expand_colapse_btns">';
127 - wpbc_ui__vert_left_bar__do_compact();
128 - wpbc_ui__vert_left_bar__do_max();
131 + wpbc_ui__vert_left_bar__do_min();
132 + //wpbc_ui__vert_left_bar__do_compact();
133 + //wpbc_ui__vert_left_bar__do_max();
129 134 echo '</div>';
130 135
131 136 echo ' <div class="wpbc_ui_el__vert_left_bar__root_sections_container" role="tablist">';
132 137 }
@@ -138,15 +143,32 @@
138 143 continue;
139 144 }
140 145
141 146 $page_title = $root_menu_options_arr['title'];
142 - $is_expanded = ( $main_page_slug === $active_page_arr['active_page'] );
147 + $is_v3_standalone = ! empty( $root_menu_options_arr['mode_standalone'] );
148 + // Respect a V3 root's explicit initial state while retaining the original Settings behavior for V1.
149 + if ( $is_v3_standalone ) {
150 + $is_expanded = true;
151 + } elseif ( isset( $root_menu_options_arr['mode_expanded'] ) ) {
152 + $is_expanded = 'On' === $root_menu_options_arr['mode_expanded']
153 + || ( 'when_active' === $root_menu_options_arr['mode_expanded'] && $main_page_slug === $active_page_arr['active_page'] );
154 + } else {
155 + $is_expanded = ( 'wpbc-settings' !== $main_page_slug ) || ( $main_page_slug === $active_page_arr['active_page'] );
156 + }
143 157
144 158 if ( $is_show_all_menus ) {
145 159 echo ' <div class="wpbc_ui_el__vert_left_bar__root_section_element root_section_element_' . esc_attr( $main_page_slug ) . ' ' . ( ( $is_expanded ) ? 'section_expanded' : '' ) . '">';
146 160
147 161 $mode_font_icon = isset( $root_menu_options_arr['mode_font_icon'] ) ? $root_menu_options_arr['mode_font_icon'] : '';
148 - wpbc_ui__vert_menu__show_root_section_header( $main_page_slug, $page_title, $mode_font_icon );
162 + if ( ! $is_v3_standalone ) {
163 + wpbc_ui__vert_menu__show_root_section_header(
164 + $main_page_slug,
165 + $page_title,
166 + $mode_font_icon,
167 + isset( $root_menu_options_arr['mode_expanded'] ),
168 + $is_expanded
169 + );
170 + }
149 171 }
150 172
151 173 echo ' <div class="wpbc_ui_el__vert_left_bar__section wpbc_ui_el__vert_left_bar__section_' .
152 174 esc_attr( $main_page_slug ) .
@@ -170,62 +192,74 @@
170 192 echo '</div>';
171 193 wpbc_ui_el__divider_horizontal();
172 194 }
173 195
174 - foreach ( $page_item_arr as $main_menu_slug => $menu_item_arr ) {
175 - $folder_style = ( ! empty( $menu_item_arr['folder_style'] ) ) ? esc_attr( $menu_item_arr['folder_style'] ) : '';
196 + if ( function_exists( 'wpbc_booking_modes_v3_compile_sidebar_navigation' ) ) {
197 + wpbc_ui__vert_menu__render_v3_nodes( $page_item_arr );
198 + } else {
199 + foreach ( $page_item_arr as $main_menu_slug => $menu_item_arr ) {
200 + $folder_style = ( ! empty( $menu_item_arr['folder_style'] ) ) ? esc_attr( $menu_item_arr['folder_style'] ) : '';
176 201
177 - $folder_css = '';
178 - if ( ( ! empty( $menu_item_arr['subtabs'] ) ) && ( ! empty( $menu_item_arr['is_active'] ) ) ) {
179 - $folder_css .= ' expanded';
180 - }
202 + $folder_css = '';
203 + $is_folder_expanded = ! empty( $menu_item_arr['subtabs'] ) && ! empty( $menu_item_arr['is_active'] );
204 + if ( isset( $menu_item_arr['_wpbc_v3_expanded'] ) ) {
205 + $is_folder_expanded = 'On' === $menu_item_arr['_wpbc_v3_expanded']
206 + || ( 'when_active' === $menu_item_arr['_wpbc_v3_expanded'] && $is_folder_expanded );
207 + }
208 + if ( $is_folder_expanded ) {
209 + $folder_css .= ' expanded';
210 + }
211 + if ( ! empty( $menu_item_arr['_wpbc_v3_branch_css_classes'] ) ) {
212 + $folder_css .= ' ' . $menu_item_arr['_wpbc_v3_branch_css_classes'];
213 + }
181 214
182 - echo '<div class="wpbc_ui_el__level__folder ' . esc_attr( $folder_css ) . '" style="' . esc_attr( $folder_style ) . '">';
215 + echo '<div class="wpbc_ui_el__level__folder ' . esc_attr( $folder_css ) . '" style="' . esc_attr( $folder_style ) . '">';
183 216
184 217
185 - if ( empty( $menu_item_arr['type'] ) ) {
186 - $menu_item_arr['type'] = 'main';
187 - }
218 + if ( empty( $menu_item_arr['type'] ) ) {
219 + $menu_item_arr['type'] = 'main';
220 + }
188 221
189 - switch ( $menu_item_arr['type'] ) {
222 + switch ( $menu_item_arr['type'] ) {
190 223
191 - case 'separator':
192 - wpbc_ui_el__divider_horizontal();
193 - break;
224 + case 'separator':
225 + wpbc_ui_el__divider_horizontal();
226 + break;
194 227
195 - case 'html':
196 - wpbc_ui__vert_menu__item_html( $main_menu_slug, $menu_item_arr );
197 - break;
228 + case 'html':
229 + wpbc_ui__vert_menu__item_html( $main_menu_slug, $menu_item_arr );
230 + break;
198 231
199 - default:
200 - wpbc_ui__vert_menu__item_main( $main_menu_slug, $menu_item_arr );
201 - }
232 + default:
233 + wpbc_ui__vert_menu__item_main( $main_menu_slug, $menu_item_arr );
234 + }
202 235
203 236
204 - foreach ( $menu_item_arr['subtabs'] as $main_submenu_slug => $submenu_item_arr ) {
237 + foreach ( $menu_item_arr['subtabs'] as $main_submenu_slug => $submenu_item_arr ) {
205 238
206 - if ( empty( $submenu_item_arr['type'] ) ) {
207 - $submenu_item_arr['type'] = 'subtab';
208 - }
239 + if ( empty( $submenu_item_arr['type'] ) ) {
240 + $submenu_item_arr['type'] = 'subtab';
241 + }
209 242
210 - switch ( $submenu_item_arr['type'] ) {
243 + switch ( $submenu_item_arr['type'] ) {
211 244
212 - case 'subtab':
213 - wpbc_ui__vert_menu__item_sub( $main_submenu_slug, $submenu_item_arr );
214 - break;
245 + case 'subtab':
246 + wpbc_ui__vert_menu__item_sub( $main_submenu_slug, $submenu_item_arr );
247 + break;
215 248
216 - case 'separator':
217 - wpbc_ui__vert_menu__item_separtor( $main_submenu_slug, $submenu_item_arr );
218 - break;
249 + case 'separator':
250 + wpbc_ui__vert_menu__item_separtor( $main_submenu_slug, $submenu_item_arr );
251 + break;
219 252
220 - case 'html':
221 - wpbc_ui__vert_menu__item_html( $main_submenu_slug, $submenu_item_arr );
222 - break;
253 + case 'html':
254 + wpbc_ui__vert_menu__item_html( $main_submenu_slug, $submenu_item_arr );
255 + break;
223 256
224 - default:
257 + default:
258 + }
225 259 }
260 + echo '</div><!-- wpbc_ui_el__level__folder -->';
226 261 }
227 - echo '</div><!-- wpbc_ui_el__level__folder -->';
228 262 }
229 263
230 264 if ( $is_show_all_menus ) {
231 265 echo ' </div><!-- wpbc_ui_el__vert_left_bar__root_section_element -->';
@@ -238,11 +272,9 @@
238 272 echo ' </div><!-- wpbc_ui_el__vert_left_bar__root_sections_container -->';
239 273 }
240 274
241 275
242 - $is_show_up = wpbc_is_show_up();
243 - // Show upgrade icon only for the Free version here.
244 - $is_show_up = ( $is_show_up && ( ! class_exists( 'wpdev_bk_personal' ) ) );
276 + $is_show_up = wpbc_is_show_free_upgrade();
245 277 if ( $is_show_up ) {
246 278 ?><div class="wpbc_ui_el__vert_left_bar__footer_compensator"></div><?php
247 279 }
248 280
@@ -249,9 +281,9 @@
249 281 echo ' </div><!-- wpbc_ui_el__vert_left_bar__content -->';
250 282 if ( $is_show_up ) {
251 283 $url = wpbc_up_link();
252 284 ?>
253 - <div class="wpbc_ui_el__vert_left_bar__footer_section">
285 + <div class="wpbc_ui_el__vert_left_bar__footer_section" style="visibility: hidden;">
254 286 <a class="wpbc_ui_el_upgrade_button wpbc_button_light wpbc_button_green" href="<?php echo esc_url( $url ); ?>">
255 287 <span class="hide_in_compact_mode"><?php esc_html_e( 'Upgrade to Pro', 'booking' ); ?></span>
256 288 <span class="hide_in_max_mode"><?php esc_html_e( 'Pro', 'booking' ); ?></span>
257 289 </a>
@@ -263,8 +295,80 @@
263 295 wpbc_start_element_scrollable__with_simplebar( '.wpbc_ui_el__vert_left_bar__content' );
264 296 }
265 297
266 298 /**
299 + * Render an arbitrarily nested V3 sidebar through the existing row functions.
300 + *
301 + * Top-level and disclosure nodes retain the existing main-row markup. Nested
302 + * leaves retain the existing subrow markup, so the recursive traversal adds no
303 + * new visual system or navigation-only asset.
304 + *
305 + * @param array $navigation_nodes Prepared V3 navigation nodes.
306 + * @param int $depth Zero-based sidebar depth.
307 + *
308 + * @return void
309 + */
310 +function wpbc_ui__vert_menu__render_v3_nodes( $navigation_nodes, $depth = 0 ) {
311 + foreach ( $navigation_nodes as $menu_slug => $menu_item_arr ) {
312 + if ( ! is_array( $menu_item_arr ) ) {
313 + continue;
314 + }
315 +
316 + $subtabs = isset( $menu_item_arr['subtabs'] ) && is_array( $menu_item_arr['subtabs'] ) ? $menu_item_arr['subtabs'] : array();
317 + $has_children = ! empty( $subtabs );
318 + $item_type = empty( $menu_item_arr['type'] ) ? ( 0 === $depth || $has_children ? 'main' : 'subtab' ) : $menu_item_arr['type'];
319 +
320 + if ( 0 < $depth && ! $has_children ) {
321 + switch ( $item_type ) {
322 + case 'separator':
323 + wpbc_ui__vert_menu__item_separtor( $menu_slug, $menu_item_arr );
324 + break;
325 +
326 + case 'html':
327 + wpbc_ui__vert_menu__item_html( $menu_slug, $menu_item_arr );
328 + break;
329 +
330 + default:
331 + wpbc_ui__vert_menu__item_sub( $menu_slug, $menu_item_arr );
332 + }
333 + continue;
334 + }
335 +
336 + $folder_style = ! empty( $menu_item_arr['folder_style'] ) ? $menu_item_arr['folder_style'] : '';
337 + $folder_css = '';
338 + $is_expanded = $has_children && ! empty( $menu_item_arr['is_active'] );
339 + if ( isset( $menu_item_arr['_wpbc_v3_expanded'] ) ) {
340 + $is_expanded = 'On' === $menu_item_arr['_wpbc_v3_expanded']
341 + || ( 'when_active' === $menu_item_arr['_wpbc_v3_expanded'] && $is_expanded );
342 + }
343 + if ( $is_expanded ) {
344 + $folder_css .= ' expanded';
345 + }
346 + if ( ! empty( $menu_item_arr['_wpbc_v3_branch_css_classes'] ) ) {
347 + $folder_css .= ' ' . $menu_item_arr['_wpbc_v3_branch_css_classes'];
348 + }
349 +
350 + echo '<div class="wpbc_ui_el__level__folder ' . esc_attr( $folder_css ) . '" style="' . esc_attr( $folder_style ) . '">';
351 + switch ( $item_type ) {
352 + case 'separator':
353 + wpbc_ui_el__divider_horizontal();
354 + break;
355 +
356 + case 'html':
357 + wpbc_ui__vert_menu__item_html( $menu_slug, $menu_item_arr );
358 + break;
359 +
360 + default:
361 + wpbc_ui__vert_menu__item_main( $menu_slug, $menu_item_arr );
362 + }
363 + if ( $has_children ) {
364 + wpbc_ui__vert_menu__render_v3_nodes( $subtabs, $depth + 1 );
365 + }
366 + echo '</div><!-- wpbc_ui_el__level__folder -->';
367 + }
368 +}
369 +
370 +/**
267 371 * Set Scrolable Element with Simplebar js library.
268 372 *
269 373 * @param string $jq_element - e.g. '.wpbc_ui_el__vert_left_bar__content'
270 374 * @param string $options - e.g. 'autoHide: false, scrollbarMinSize: 10' - options for the Simplebar. See more: https://www.npmjs.com/package/simplebar#1-documentation
@@ -280,9 +384,15 @@
280 384 <script type="text/javascript">
281 385 (function() { var a = setInterval( function() { if ( ( 'undefined' === typeof jQuery ) || ! window.jQuery ) { return; } clearInterval( a ); jQuery( document ).ready( function () {
282 386 jQuery( '.wpbc_ui_el__vert_left_bar__section' ).css( { "animation-duration": "1ms" } ); // Set animation of showing left siebar from left to right imediate to prevent flipping.
283 387 if ( 'undefined' !== typeof SimpleBar ) {
284 - new SimpleBar( jQuery( '<?php echo esc_attr( $jq_element ); ?>' )[0], { <?php echo esc_attr( $options ); ?> } );
388 + var simplebar_element = jQuery( '<?php echo esc_attr( $jq_element ); ?>' )[0];
389 + if ( simplebar_element ) {
390 + var simplebar_instance = new SimpleBar( simplebar_element, { <?php echo esc_attr( $options ); ?> } );
391 + if ( 'function' === typeof wpbc_admin_ui__sidebar_left__scroll_to_active_item ) {
392 + wpbc_admin_ui__sidebar_left__scroll_to_active_item( simplebar_instance );
393 + }
394 + }
285 395 }
286 396 var wait_timer = setTimeout( function (){
287 397 jQuery( '.wpbc_ui_el__vert_left_bar__section' ).css( { "animation-duration": "200ms" } ); // Set animation to normal value.
288 398 }, 300 );
@@ -300,13 +410,15 @@
300 410 */
301 411 function wpbc_ui__vert_left_bar__do_toggle() {
302 412
303 413 $el_arr = array();
304 - $el_arr['font_icon'] = 'wpbc_icn_menu';
414 + $el_arr['font_icon'] = 'wpbc-bi-layout-sidebar-inset'; // 'wpbc_icn_menu';
305 415 $el_arr['container_style'] = 'padding:0 8px;';
306 416 $el_arr['container_class'] = 'wpbc_ui__top_nav__btn_show_left_vertical_nav';
307 - $el_arr['onclick'] = "if ( jQuery( '.wpbc_ui_el__vert_left_bar__content' ).is( ':visible' ) ) {";
308 - $el_arr['onclick'] .= ' wpbc_admin_ui__sidebar_left__do_min( true ); ';
417 + $el_arr['onclick'] = "if ( jQuery( '.wpbc_page_wrapper_left_max' ).length ) {";
418 + // $el_arr['onclick'] = "if ( jQuery( '.wpbc_ui_el__vert_left_bar__content' ).is( ':visible' ) ) {";
419 + // $el_arr['onclick'] .= ' wpbc_admin_ui__sidebar_left__do_min( true ); ';
420 + $el_arr['onclick'] .= ' wpbc_admin_ui__sidebar_left__do_compact( true ); ';
309 421 $el_arr['onclick'] .= '} else {';
310 422 $el_arr['onclick'] .= ' wpbc_admin_ui__sidebar_left__do_max( true ); ';
311 423 $el_arr['onclick'] .= '}';
312 424 $el_arr['hint'] = array(
@@ -381,14 +493,17 @@
381 493 function wpbc_ui__vert_left_bar__do_min() {
382 494
383 495 $el_arr = array();
384 496 $el_arr['container_style'] = '';
385 - $el_arr['container_class'] = 'wpbc_ui__top_nav__btn_hide_left_vertical_nav';
386 - $el_arr['onclick'] = ' wpbc_admin_ui__sidebar_left__do_min( true ); ';
387 - $el_arr['font_icon'] = 'wpbc_icn_minimize';
497 + $el_arr['container_class'] = '';// 'wpbc_ui__top_nav__btn_hide_left_vertical_nav';
498 + // User Save Preferences of other pages (saved collapsed left menu).
499 + // $el_arr['onclick'] = 'event.stopPropagation(); wpbc_admin_ui__sidebar_left__do_min( true ); ';
500 + // Do NOT - Save User Preferences of other pages (not save collapsed left menu).
501 + $el_arr['onclick'] = 'event.stopPropagation(); wpbc_admin_ui__sidebar_left__do_min(); ';
502 + $el_arr['font_icon'] = 'wpbc_icn_close'; //'wpbc_icn_minimize';
388 503 $el_arr['hint'] = array(
389 - 'title' => __( 'Minimize side menu', 'booking' ),
390 - 'position' => 'bottom',
504 + 'title' => __( 'Hide', 'booking' ),
505 + 'position' => 'right',
391 506 );
392 507 wpbc_ui_el__a( $el_arr );
393 508 }
394 509
@@ -475,22 +590,32 @@
475 590 *
476 591 * @param string $main_page_slug Slug of the submenu section.
477 592 * @param string $page_title Section title.
478 593 * @param string $font_icon Optional sanitized font-icon CSS classes supplied by the selected mode.
594 + * @param bool $is_v3_scoped Whether to use V3's nearest-branch disclosure behavior.
595 + * @param bool $is_expanded Whether the V3 branch is initially expanded.
479 596 *
480 597 * @return void
481 598 */
482 -function wpbc_ui__vert_menu__show_root_section_header( $main_page_slug, $page_title, $font_icon = '' ) {
599 +function wpbc_ui__vert_menu__show_root_section_header( $main_page_slug, $page_title, $font_icon = '', $is_v3_scoped = false, $is_expanded = false ) {
483 600
484 601 $css_section = '.root_section_element_' . $main_page_slug;
485 602
486 603 // Section Header.
487 - ?><a class="wpbc_ui_el__row100 wpbc_ui_el__root_section_header_a" href="javascript:void(0)"
488 - onclick="javascript:var is_has_class = jQuery( '<?php echo esc_attr( $css_section ); ?>' ).hasClass('section_expanded'); jQuery( '.wpbc_ui_el__vert_left_bar__root_section_element' ).removeClass('section_expanded'); if (is_has_class) { jQuery( '<?php echo esc_attr( $css_section ); ?>' ).removeClass('section_expanded'); } else {jQuery( '<?php echo esc_attr( $css_section ); ?>' ).addClass('section_expanded');}"
489 - ><?php
604 + ?><a class="wpbc_ui_el__row100 wpbc_ui_el__root_section_header_a"
605 + href="javascript:void(0)"
606 + <?php if ( $is_v3_scoped ) { ?>
607 + aria-expanded="<?php echo $is_expanded ? 'true' : 'false'; ?>"
608 + onkeydown="if ( ' ' === event.key ) { event.preventDefault(); this.click(); }"
609 + onclick="javascript:var wpbc_root=jQuery(this).closest('.wpbc_ui_el__vert_left_bar__root_section_element');var wpbc_open=wpbc_root.hasClass('section_expanded');wpbc_root.toggleClass('section_expanded',!wpbc_open);jQuery(this).attr('aria-expanded',wpbc_open?'false':'true');"
610 + <?php } else { ?>
611 + onclick="javascript:var is_has_class = jQuery( '<?php echo esc_attr( $css_section ); ?>' ).hasClass('section_expanded'); <?php
612 + /* ?> jQuery( '.wpbc_ui_el__vert_left_bar__root_section_element' ).removeClass('section_expanded'); <?php */
613 + ?>if (is_has_class) { jQuery( '<?php echo esc_attr( $css_section ); ?>' ).removeClass('section_expanded'); } else {jQuery( '<?php echo esc_attr( $css_section ); ?>' ).addClass('section_expanded');}"
614 + <?php } ?>
615 + >
616 + <i class="wpbc_ui_el__vert_menu_root_section_icon menu_icon icon-1x wpbc-bi-chevron-right"></i><?php
490 617
491 - ?><i class="wpbc_ui_el__vert_menu_root_section_icon menu_icon icon-1x wpbc-bi-chevron-right"></i><?php
492 -
493 618 if ( '' !== $font_icon ) {
494 619 ?><i class="wpbc_ui_el__vert_menu_root_section_font_icon menu_icon icon-1x <?php echo esc_attr( $font_icon ); ?>" aria-hidden="true"></i><?php
495 620 }
496 621
@@ -576,9 +701,15 @@
576 701 if ( ! empty( $menu_item_arr['subtabs'] ) ) {
577 702 // Folder Item - expand / colapse. Previously: here was : wpbc_admin_ui__sidebar_left__do_max();
578 703 ?>
579 704 <a href="javascript:void(0)"
580 - onclick="javascript: if( ! jQuery( this ).parents('.wpbc_ui_el__level__folder').hasClass('expanded') ) { jQuery( '.wpbc_ui_el__level__folder' ).removeClass('expanded');jQuery( this ).parents('.wpbc_ui_el__level__folder').addClass('expanded'); } else {jQuery( '.wpbc_ui_el__level__folder' ).removeClass('expanded');} "
705 + <?php if ( isset( $menu_item_arr['_wpbc_v3_expanded'] ) ) { ?>
706 + aria-expanded="<?php echo ( 'On' === $menu_item_arr['_wpbc_v3_expanded'] || ( 'when_active' === $menu_item_arr['_wpbc_v3_expanded'] && ! empty( $menu_item_arr['is_active'] ) ) ) ? 'true' : 'false'; ?>"
707 + onkeydown="if ( ' ' === event.key ) { event.preventDefault(); this.click(); }"
708 + onclick="javascript:var wpbc_folder=jQuery(this).closest('.wpbc_ui_el__level__folder');var wpbc_open=wpbc_folder.hasClass('expanded');wpbc_folder.toggleClass('expanded',!wpbc_open);jQuery(this).attr('aria-expanded',wpbc_open?'false':'true');"
709 + <?php } else { ?>
710 + onclick="javascript: if( ! jQuery( this ).parents('.wpbc_ui_el__level__folder').hasClass('expanded') ) { jQuery( '.wpbc_ui_el__level__folder' ).removeClass('expanded');jQuery( this ).parents('.wpbc_ui_el__level__folder').addClass('expanded'); } else {jQuery( '.wpbc_ui_el__level__folder' ).removeClass('expanded');} "
711 + <?php } ?>
581 712 class="wpbc_ui_el__vert_nav_item__a wpbc_ui_el__vert_nav_item__folder">
582 713 <?php if ( ! empty( $menu_item_arr['font_icon'] ) ) { ?>
583 714 <?php // Show icon in max mode, without right tooltip, thanks to '.hide_in_compact_mode'. // FixIn: 10.11.5.8. ?>
584 715 <i class="wpbc_ui_el__vert_nav_icon hide_in_compact_mode menu_icon icon-1x <?php echo esc_attr( $menu_item_arr['font_icon'] ); ?>"
@@ -768,10 +899,15 @@
768 899 */
769 900 function wpbc_ui__vert_left_bar__side_button__do_compact() {
770 901
771 902 ?>
772 - <button class="wpbc_ui__left_sidebar__side_button wpbc_ui__top_nav__btn_hide_left_vertical_nav"
773 - onclick="javascript:wpbc_admin_ui__sidebar_left__do_min( true );" title="<?php esc_attr_e( 'Minimize side menu', 'booking' ); ?>">
903 + <button type="button" class="wpbc_ui__left_sidebar__side_button wpbc_ui__top_nav__btn_hide_left_vertical_nav"
904 + <?php /* Save user preferences ?>
905 + onclick="event.stopPropagation(); wpbc_admin_ui__sidebar_left__do_min( true ); return false;"
906 + <?php /**/ ?>
907 + <?php /* Not Save user preferences - collpased left menu */ ?>
908 + onclick="event.stopPropagation(); wpbc_admin_ui__sidebar_left__do_min(); return false;"
909 + title="<?php esc_attr_e( 'Minimize side menu', 'booking' ); ?>">
774 910 <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24">
775 911 <path fill="#6B6B6B" d="M16.5 22a1.003 1.003 0 0 1-.71-.29l-9-9a1 1 0 0 1 0-1.42l9-9a1.004 1.004 0 1 1 1.42 1.42L8.91 12l8.3 8.29A.999.999 0 0 1 16.5 22Z"></path>
776 912 </svg>
777 913 </button>
@@ -784,10 +920,10 @@
784 920 * @return void
785 921 */
786 922 function wpbc_ui__vert_left_bar__side_button__do_max() {
787 923 ?>
788 - <button class="wpbc_ui__left_sidebar__side_button wpbc_ui__hide wpbc_ui__top_nav__btn_open_left_vertical_nav"
789 - onclick="javascript:wpbc_admin_ui__sidebar_left__do_max( true );" title="<?php esc_attr_e( 'Open side menu', 'booking' ); ?>">
924 + <button type="button" class="wpbc_ui__left_sidebar__side_button wpbc_ui__hide wpbc_ui__top_nav__btn_open_left_vertical_nav"
925 + onclick="event.stopPropagation(); wpbc_admin_ui__sidebar_left__do_max( true ); return false;" title="<?php esc_attr_e( 'Open side menu', 'booking' ); ?>">
790 926 <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24">
791 927 <path fill="#6B6B6B" d="M16.5 22a1.003 1.003 0 0 1-.71-.29l-9-9a1 1 0 0 1 0-1.42l9-9a1.004 1.004 0 1 1 1.42 1.42L8.91 12l8.3 8.29A.999.999 0 0 1 16.5 22Z"></path>
792 928 </svg>
793 929 </button>