first commit
This commit is contained in:
@@ -0,0 +1,123 @@
|
||||
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 );
|
||||
Reference in New Issue
Block a user