function bws_show_settings_notice() { "use strict"; (function($) { $( '.updated.fade:not(.bws_visible), .error:not(.bws_visible)' ).css( 'display', 'none' ); $( '#bws_save_settings_notice' ).css( 'display', 'block' ); })( jQuery ); } (function($) { "use strict"; $( document ).ready( function() { /** * add notice about changing on the settings page */ $( '.bws_form input, .bws_form textarea, .bws_form select' ).on( "change paste select", function() { if ( $( this ).attr( 'type' ) != 'submit' && ! $( this ).hasClass( 'bws_no_bind_notice' ) ) { bws_show_settings_notice(); }; } ); $( '.bws_save_anchor' ).on( "click", function( event ) { event.preventDefault(); $( '.bws_form #bws-submit-button' ).click(); } ); /* custom code */ if ( 'function' == typeof wp.CodeMirror || 'function' == typeof CodeMirror ) { var CodeMirrorFunc = ( typeof wp.CodeMirror != 'undefined' ) ? wp.CodeMirror : CodeMirror; if ( $( '#bws_newcontent_css' ).length > 0 ) { var editor = CodeMirrorFunc.fromTextArea( document.getElementById( 'bws_newcontent_css' ), { mode: "css", theme: "default", styleActiveLine: true, matchBrackets: true, lineNumbers: true, addModeClass: 'bws_newcontent_css', readOnly: 'nocursor' } ); } if ( $( '#bws_newcontent_php' ).length > 0 ) { var editor = CodeMirrorFunc.fromTextArea( document.getElementById( "bws_newcontent_php" ), { mode: 'text/x-php', styleActiveLine: true, matchBrackets: true, lineNumbers: true, readOnly: 'nocursor' } ); /* disable lines */ editor.markText( {ch:0,line:0}, {ch:0,line:5}, { readOnly: true, className: 'bws-readonly' } ); } if ( $( '#bws_newcontent_js' ).length > 0 ) { var editor = CodeMirrorFunc.fromTextArea( document.getElementById( "bws_newcontent_js" ), { mode: 'javascript', styleActiveLine: true, matchBrackets: true, lineNumbers: true, readOnly: 'nocursor' } ); } } /* banner to settings */ $( '.bws_banner_to_settings_joint .bws-details' ).addClass( 'hidden' ).removeClass( 'hide-if-js' ); $( '.bws_banner_to_settings_joint .bws-more-links' ).on( "click", function( event ) { event.preventDefault(); if ( $( '.bws_banner_to_settings_joint .bws-less' ).hasClass( 'hidden' ) ) { $( '.bws_banner_to_settings_joint .bws-less, .bws_banner_to_settings_joint .bws-details' ).removeClass( 'hidden' ); $( '.bws_banner_to_settings_joint .bws-more' ).addClass( 'hidden' ); } else { $( '.bws_banner_to_settings_joint .bws-less, .bws_banner_to_settings_joint .bws-details' ).addClass( 'hidden' ); $( '.bws_banner_to_settings_joint .bws-more' ).removeClass( 'hidden' ); } } ); /* help tooltips */ if ( $( '.bws_help_box' ).length > 0 ) { if ( $( 'body' ).hasClass( 'rtl' ) ) { var current_position = { my: "right top+15", at: "right bottom" }; } else { var current_position = { my: "left top+15", at: "left bottom" }; } $( document ).tooltip( { items: $( '.bws_help_box' ), content: function() { return $( this ).find( '.bws_hidden_help_text' ).html() }, show: null, /* show immediately */ tooltipClass: "bws-tooltip-content", position: current_position, open: function( event, ui ) { if ( typeof( event.originalEvent ) === 'undefined' ) { return false; } if ( $( event.originalEvent.target ).hasClass( 'bws-auto-width' ) ) { ui.tooltip.css( "max-width", "inherit" ); } var $id = $( ui.tooltip ).attr( 'id' ); /* close any lingering tooltips */ $( 'div.ui-tooltip' ).not( '#' + $id ).remove(); }, close: function( event, ui ) { ui.tooltip.hover( function() { $( this ).stop( true ).fadeTo( 200, 1 ); }, function() { $( this ).fadeOut( '200', function() { $( this ).remove(); } ); } ); } } ); } /** * Handle the styling of the "Settings" tab on the plugin settings page */ var tabs = $( '#bws_settings_tabs_wrapper' ); if ( tabs.length ) { var current_tab_field = $( 'input[name="bws_active_tab"]' ), prevent_tabs_change = false, active_tab = current_tab_field.val(); if ( '' == active_tab ) { var active_tab_index = 0; } else { var active_tab_index = $( '#bws_settings_tabs li[data-slug=' + active_tab + ']' ).index(); } $( '.bws_tab' ).css( 'min-height', $( '#bws_settings_tabs' ).css( 'height' ) ); /* jQuery tabs initialization */ tabs.tabs( { active: active_tab_index } ).on( "tabsactivate", function( event, ui ) { if ( ! prevent_tabs_change ) { active_tab = ui.newTab.data( 'slug' ); current_tab_field.val( active_tab ); } prevent_tabs_change = false; } ); $( '.bws_trigger_tab_click' ).on( 'click', function () { $( '#bws_settings_tabs a[href="' + $( this ).attr( 'href' ) + '"]' ).click(); } ); } /** * Hide content for options on the plugin settings page */ var options = $( '.bws_option_affect' ); if ( options.length ) { options.each( function() { var element = $( this ); if ( element.is( ':selected' ) || element.is( ':checked' ) ) { $( element.data( 'affect-show' ) ).show(); $( element.data( 'affect-hide' ) ).hide(); } else { $( element.data( 'affect-show' ) ).hide(); $( element.data( 'affect-hide' ) ).show(); } if ( element.is( 'option' ) ) { element.parent().on( 'change', function() { var affect_hide = element.data( 'affect-hide' ), affect_show = element.data( 'affect-show' ); if ( element.is( ':selected' ) ) { $( affect_show ).show(); $( affect_hide ).hide(); } else { $( affect_show ).hide(); $( affect_hide ).show(); } } ); } else { element.on( 'change', function() { var affect_hide = element.data( 'affect-hide' ), affect_show = element.data( 'affect-show' ); if ( element.is( ':selected' ) || element.is( ':checked' ) ) { $( affect_show ).show(); $( affect_hide ).hide(); } else { $( affect_show ).hide(); $( affect_hide ).show(); } } ); } } ); } } ); })( jQuery );