PluginProbe
WP-Stateless – Google Cloud Storage / 3.0.3
WP-Stateless – Google Cloud Storage v3.0.3
4.4.3 2.1.7 2.1.8 2.1.9 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.2.7 2.3.0 2.3.1 2.3.2 3.0 3.0.1 3.0.2 3.0.3 3.0.4 3.1.0 3.1.1 3.2.0 3.2.1 3.2.2 All 62 releases
wp-stateless / lib / meta-box-tabs / tabs.js

tabs.js in WP-Stateless – Google Cloud Storage 3.0.3, at lib/meta-box-tabs/tabs.js

55 lines 1.8 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 ( function ( window, document, $ ) {
2 'use strict';
3
4 function switchTab() {
5 $( '.rwmb-tab-nav' ).on( 'click', 'a', e => {
6 e.preventDefault();
7 showTab( e.target, e.target.parentNode.dataset.panel );
8 } );
9 }
10
11 function showTab( el, tab ) {
12 var $wrapper = $( el ).closest( '.rwmb-tabs' ),
13 $tabs = $wrapper.find( '.rwmb-tab-nav > li' ),
14 $panels = $wrapper.find( '.rwmb-tab-panel' );
15
16 $tabs.removeClass( 'rwmb-tab-active' ).filter( '[data-panel="' + tab + '"]' ).addClass( 'rwmb-tab-active' );
17 $panels.hide().filter( '.rwmb-tab-panel-' + tab ).show();
18
19 // Refresh maps, make sure they're fully loaded, when it's in hidden div (tab).
20 $( window ).trigger( 'rwmb_map_refresh' );
21 }
22
23 // Set active tab based on visible pane to better works with Meta Box Conditional Logic.
24 function tweakForConditionalLogic() {
25 if ( $( '.rwmb-tab-active' ).is( 'visible' ) ) {
26 return;
27 }
28
29 // Find the active pane.
30 var activePane = $( '.rwmb-tab-panel[style*="block"]' ).index();
31 if ( activePane >= 0 ) {
32 $( '.rwmb-tab-nav li' ).removeClass( 'rwmb-tab-active' ).eq( activePane ).addClass( 'rwmb-tab-active' );
33 }
34 }
35
36 function showValidateErrorFields() {
37 var inputSelectors = 'input[class*="rwmb-error"], textarea[class*="rwmb-error"], select[class*="rwmb-error"], button[class*="rwmb-error"]';
38 $( document ).on( 'after_validate', 'form', e => {
39 var $input = $( e.target ).find( inputSelectors );
40 showTab( $input, $input.closest( '.rwmb-tab-panel' ).data( 'panel' ) );
41 } );
42 }
43
44 $( function() {
45 switchTab();
46 tweakForConditionalLogic();
47 showValidateErrorFields();
48
49 $( '.rwmb-tab-active a' ).trigger( 'click' );
50
51 // Remove wrapper. Use Meta Box's seamless style.
52 $( '.rwmb-tabs-no-wrapper' ).closest( '.postbox' ).removeClass( 'rwmb-default' ).addClass( 'rwmb-seamless' );
53 } );
54 } )( window, document, jQuery );
55