User:Emma/common.js: Difference between revisions

From Zelda Dungeon Wiki
Jump to navigation Jump to search
Want an adless experience? Log in or Create an account.
(Testing script)
m (Tweaking script)
Line 97: Line 97:
});
});


$( '.mw-rollback-link a' ).replaceWith('<b>current</b>');
$( '.mw-rollback-link a' ).remove();

Revision as of 09:48, July 21, 2015

mw.loader.using( 'mediawiki.searchSuggest', function () {
    $(document).ready( function () {
        $('#searchInput, #powerSearchText, #searchText, .mw-searchInput').off().attr('autocomplete', 'on');
        $('#simpleSearch #searchButton').attr( {'name': 'fulltext', 'value': 'Search' } );
    } );
} );
$(".mw-rollback-link").on('click', function(e) {
			var count = e.target.innerText.match(/\d/) ? e.target.innerText.match(/\d+/)[0] : null,
				message = 'Rollback ' + (count ? count + ' edits' : 'edit') + ' by ' + mw.util.getParamValue('from',e.target.href) + '?';
			if(!confirm(message)) return e.preventDefault();
});
$( function() {
'use strict';


$( 'body' ).append( '<span id="to-top">▲ Go to top</span>' );
var $topButton = $( '#to-top' );

$topButton.css( {
	'color': '#000',
	'position': 'fixed',
	'bottom': '-30px',
	'left': '4px',
	'cursor': 'pointer',
	'transition': 'bottom 0.5s',
	'-webkit-transition': 'bottom 0.5s',
	'user-select': 'none',
	'-webkit-user-select': 'none',
	'-moz-user-select': 'none',
	'-ms-user-select': 'none'
} ).click( function() {
	$( 'html, body' ).animate( { scrollTop: 0 }, 'slow' );
} );

$( window ).scroll( function() {
	if ( $( window ).scrollTop() > 100 ) {
		$topButton.css( 'bottom', '4px' );
	} else {
		$topButton.css( 'bottom', '-30px' );
	}
} );


} );

$( document ).ready( function() {
	var refToggle = mw.util.addPortletLink( "p-tb", "#", "Toggle References");
	$( refToggle ).click( function() {
		$( ".reference" ).toggle();
	} );
} );

$( function($) {
    if((wgNamespaceNumber != 0) && (wgNamespaceNumber != 2)) {
        // only check links in mainspace and userspace (for userspace drafts)
        return;
    }
    var portletlink = mw.util.addPortletLink('p-tb', '#', 'Highlight duplicate links', 'ca-findduplicatelinks');
    $(portletlink).click( function(e) {
        e.preventDefault();
        // create a separate div surrounding the lead
        // first get the element immediately surrounding the article text. Unfortunately, MW doesn't seem to provide a non-fragile way for that.
        var content = ".mw-content-ltr";
        $(content).prepend(document.createElement('div'));
        var lead = $(content).children()[0];
        $(lead).attr('id', 'lead');
        $(content).children().each( function() {
            if(this.nodeName.toLowerCase() == 'h2') {
                return false;
            }
            if($(this).attr('id') != 'lead') {
                $(lead).append(this);
            }
            return true;
        });
       
        // detect duplicate links
        mw.util.addCSS(".duplicate-link { border: 1px solid red; }");
        var finddups = function() {
            var href = $(this).attr('href');
            if(href != undefined && href.indexOf('#') != 0) {
                if(seen[href]) {
                    $(this).addClass("duplicate-link");
                }
                else {
                    seen[href] = true;
                }
            }
            return true;
        };
        // array to keep track of whether we've seen a link before
        var seen = [];
        mw.util.$content.find('p a').not('#lead *, .infobox *, .navbox *').each(finddups);
        var seen = [];
        mw.util.$content.find('#lead p a').not('.infobox *, .navbox *').each(finddups);
    });
});

$( '.mw-rollback-link a' ).remove();