User:Majr/hydra.js

/** *  Extra toolbar options * * Description: Adds extra buttons to the editing toolbar. Due to the way this works, it has to be loaded before the toolbar loads, or it won't work (so it can't be in the onload function). *  *  Maintainers: wikipedia:User:MarkS, wikipedia:User:Voice of All, wikipedia:User:R. Koot */ var buttons = ;

$.each( buttons, function { mwCustomEditButtons.push( this ); } );

$( function { 'use strict';

/** * Collapsible tables * Based on http://www.mediawiki.org/wiki/Manual:Collapsible_tables#Common.js_script_.28before_1.18.29 * * @maintainers User:Ultradude25 */ if ( $( 'table.collapsible' ).length ) { var collapseText = 'Collapse', expandText = 'Expand', collapseButton, buttonText = ' [ ' + collapseText + ' ] '; $( 'table.collapsible' ).each( function {       var table = $( this ), header;        if ( table.find( '.collapse-button' ).length ) {            header = table.find( 'tr:first .collapse-button' ).removeClass( 'collapse-button' );        } else {            header = table.find( 'tr:first th:first' );        }        if ( !header.length || !table.find( 'tr' ).not( 'tr:first' ).text.replace( /\n/g, '' ).length ) {           return true;        }        if ( table.hasClass( 'collapse-button-none' ) ) {            header.append( buttonText );        } else {            header.prepend( buttonText );        }        collapseButton = table.find( '.collapse-button .jslink' );        if ( table.hasClass( 'collapsed' ) ) {            collapseButton.text( expandText );        }        collapseButton.click( function( e ) { e.stopPropagation; if ( table.hasClass( 'collapsed' ) ) { table.removeClass( 'collapsed' ).addClass( 'expanded' ); $( this ).text( collapseText ); } else { table.removeClass( 'expanded' ).addClass( 'collapsed' ); $( this ).text( expandText ); }       } );    } ); }

/** * Fix edit summary prompt for undo * * Fixes the fact that the undo function combined with the "no edit summary prompter" * causes problems if leaving the edit summary unchanged. * Added by wikipedia:User:Deskana, code by wikipedia:User:Tra. * See also https://bugzilla.wikimedia.org/show_bug.cgi?id=8912 */ if ( document.location.search.indexOf( "undo=" ) !== -1 && document.getElementsByName( 'wpAutoSummary' )[0] ) { document.getElementsByName( 'wpAutoSummary' )[0].value='1'; }

// Element animator (used in Template:Grid) if ( $( '.animated' ).length ) { setInterval( function {       $( '.animated' ).each( function { var current = $( this ).find( '.active' ).removeClass( 'active' ), next = current.next; if ( !current.next.length ) { next = $( this ).children.eq( 0 ); }           next.addClass( 'active' ); } );   }, 2000 ); }

// Pause grid templates with lots of cells in them (e.g. Template:Grid/Crafting Table) on mousever so people have a chance to look at and click on them function pauseGrid( grid ) { $( grid ).hover( function {        $( this ).find( '.grid .animated' ).removeClass( 'animated' ).addClass( 'paused' );    }, function {        $( this ).find( '.grid .paused' ).removeClass( 'paused' ).addClass( 'animated' );    } ); } pauseGrid( '.grid-Crafting_Table' ); pauseGrid( '.grid-Furnace' ); pauseGrid( '.grid-Brewing_Stand' );

// Add fake last-child class in navboxes for IE8 if ( $.client.profile.name === 'msie' && $.client.profile.versionBase === '8' ) { $( '.navbox-list li:last' ).addClass( 'last-child' ); }

// Collapsible details for Template:History if ( $( '.history .details' ).length ) { var histExpandText = 'Expand details', histCollapseText = 'Collapse details';

$( '.history th:first' ).append( ' [ ' + histExpandText + ' ] ' );

var histLink = $( '.toggleHistDetails .jslink' ); histLink.click( function {       $( '.overview' ).toggle;        $( '.details' ).toggle;        if ( histLink.text === histExpandText) {            histLink.text( histCollapseText );        } else {            histLink.text( histExpandText );        }    } ); }

/******************************************************* * * blanks the "Other/additional reason" field when * deleting pages so we don't get stupid vandalism and * spam and whatnot preserved for posterity in the * delete log */ if ( $.inArray( 'sysop', wgUserGroups) > -1 ) { addOnloadHook(function { if ( mw.config.get('wgAction') == 'delete' && ( document.getElementById('wpReason').value.indexOf('content was: "') == 0    || document.getElementById('wpReason').value.indexOf('content before blanking was: "') == 0 ) ) {     document.getElementById('wpReason').value = ''; } }) }

} );