mirror of
https://gh.wpcy.net/https://github.com/pawankhated/one-click-wordpress-installer.git
synced 2026-04-22 00:39:17 +08:00
123 lines
3.2 KiB
JavaScript
123 lines
3.2 KiB
JavaScript
var wpDebugBar;
|
|
|
|
( function( $ ) {
|
|
var api;
|
|
|
|
wpDebugBar = api = {
|
|
// The element that we will pad to prevent the debug bar
|
|
// from overlapping the bottom of the page.
|
|
body: undefined,
|
|
|
|
init: function init() {
|
|
// If we're not in the admin, pad the body.
|
|
api.body = $( document.body );
|
|
|
|
api.toggle.init();
|
|
api.tabs();
|
|
api.actions.init();
|
|
},
|
|
|
|
isVisible: function isVisible() {
|
|
return api.body.hasClass( 'debug-bar-visible' );
|
|
},
|
|
|
|
toggle: {
|
|
init: function init() {
|
|
$( '#wp-admin-bar-debug-bar' ).click( function onClickAdminBarMenu( event ) {
|
|
event.preventDefault();
|
|
|
|
// Click on submenu item.
|
|
if ( event.target.hash ) {
|
|
var $menuLink = $( event.target.rel );
|
|
|
|
// Open/close debug bar.
|
|
if ( ! api.isVisible() ) {
|
|
api.toggle.visibility();
|
|
} else if ( $menuLink.hasClass( 'current' ) ) {
|
|
$menuLink.removeClass( 'current' );
|
|
api.toggle.visibility();
|
|
|
|
return;
|
|
}
|
|
|
|
// Deselect other tabs and hide other panels.
|
|
$( '.debug-menu-target' ).hide().trigger( 'debug-bar-hide' );
|
|
$( '.debug-menu-link' ).removeClass( 'current' );
|
|
|
|
$menuLink.addClass( 'current' );
|
|
$( event.target.hash ).show().trigger( 'debug-bar-show' );
|
|
} else {
|
|
api.toggle.visibility();
|
|
}
|
|
} );
|
|
},
|
|
visibility: function visibility( show ) {
|
|
show = typeof show == 'undefined' ? ! api.isVisible() : show;
|
|
|
|
// Show/hide the debug bar.
|
|
api.body.toggleClass( 'debug-bar-visible', show );
|
|
|
|
// Press/unpress the button.
|
|
$( this ).toggleClass( 'active', show );
|
|
}
|
|
},
|
|
|
|
tabs: function tabs() {
|
|
var debugMenuLinks = $( '.debug-menu-link' ),
|
|
debugMenuTargets = $( '.debug-menu-target' );
|
|
|
|
debugMenuLinks.click( function onClickLink( event ) {
|
|
var $this = $( this );
|
|
|
|
event.preventDefault();
|
|
|
|
if ( $this.hasClass( 'current' ) ) {
|
|
return;
|
|
}
|
|
|
|
// Deselect other tabs and hide other panels.
|
|
debugMenuTargets.hide().trigger( 'debug-bar-hide' );
|
|
debugMenuLinks.removeClass( 'current' );
|
|
|
|
// Select the current tab and show the current panel.
|
|
$this.addClass( 'current' );
|
|
// The hashed component of the href is the id that we want to display.
|
|
$( '#' + this.href.substr( this.href.indexOf( '#' ) + 1 ) ).show().trigger( 'debug-bar-show' );
|
|
} );
|
|
},
|
|
|
|
actions: {
|
|
init: function init() {
|
|
var actions = $( '#debug-bar-actions' );
|
|
|
|
// Close the panel with the esc key if it's open.
|
|
$( document ).keydown( function maybeClosePanel( event ) {
|
|
var key = event.key || event.which || event.keyCode;
|
|
|
|
if ( 27 /* esc */ === key && api.isVisible() ) {
|
|
event.preventDefault();
|
|
api.actions.close();
|
|
}
|
|
} );
|
|
|
|
$( '.maximize', actions ).click( api.actions.maximize );
|
|
$( '.restore', actions ).click( api.actions.restore );
|
|
$( '.close', actions ).click( api.actions.close );
|
|
},
|
|
maximize: function maximize() {
|
|
api.body.removeClass( 'debug-bar-partial' );
|
|
api.body.addClass( 'debug-bar-maximized' );
|
|
},
|
|
restore: function restore() {
|
|
api.body.removeClass( 'debug-bar-maximized' );
|
|
api.body.addClass( 'debug-bar-partial' );
|
|
},
|
|
close: function close() {
|
|
api.toggle.visibility( false );
|
|
}
|
|
}
|
|
};
|
|
|
|
$( wpDebugBar.init );
|
|
|
|
} )( jQuery );
|