Content added Content deleted
No edit summary |
No edit summary |
||
Line 86: | Line 86: | ||
if ( tooltips ) { |
if ( tooltips ) { |
||
mw.loader.getScript( 'https://cdn.jsdelivr.net/npm/@popperjs/core@2/dist/umd/popper |
mw.loader.getScript( 'https://cdn.jsdelivr.net/npm/@popperjs/core@2/dist/umd/popper.js' ).then( function () { |
||
mw.loader.getScript( ' https://cdn.jsdelivr.net/npm/tippy.js@6/dist/tippy.umd |
mw.loader.getScript( ' https://cdn.jsdelivr.net/npm/tippy.js@6/dist/tippy.umd.js' ).then( function () { |
||
// Load styles for shift-away animation |
// Load styles for shift-away animation |
||
mw.loader.load( 'https://cdn.jsdelivr.net/npm/tippy.js@6/animations/shift-away.css', 'text/css' ); |
mw.loader.load( 'https://cdn.jsdelivr.net/npm/tippy.js@6/animations/shift-away.css', 'text/css' ); |
Latest revision as of 16:29, 18 July 2023
/* Any JavaScript here will be loaded for all users on every page load. */
$(document).ready(function() {
$('.hitbox-toggle-off').click(function() {
$('.hitbox-toggle-off').hide();
$('.move-image').hide();
$('.caption').hide();
$('.hitbox-toggle-on').show();
$('.hitbox-image').show();
$('.hitbox-caption').show();
});
$('.hitbox-toggle-on').click(function() {
$('.hitbox-toggle-on').hide();
$('.hitbox-image').hide();
$('.hitbox-caption').hide();
$('.hitbox-toggle-off').show();
$('.move-image').show();
$('.caption').show();
});
// Add placeholder text to Upload Summary
$('#wpUploadDescription').attr("placeholder",
"Add a description here.\n" +
"If you're uploading a new file, make sure to categorize!\n" +
"Example:\n" +
"[[Category:Super Smash Bros Ultimate]]\n" +
"[[Category:Fox]]");
//==== Movelist Toggles ==== Written by SageVarq
if (document.getElementsByClassName("movelist-toggles")) {
// Hide all move lists
var $movelists = $('.movelist');
var currentMovelist = 1;
displayMovelist(currentMovelist);
$('.movelist-toggle-button').each(addToggles);
function swapMovelist(e) {
var movelistToggleClicked = $(this).data("id");
var nextMovelist = movelistToggleClicked.substring(movelistToggleClicked.length - 1);
if (currentMovelist != nextMovelist) {
currentMovelist = nextMovelist;
displayMovelist(nextMovelist);
}
}
function displayMovelist(target) {
hideAllMovelists();
$("#movelist-" + target).css("display", "block");
$("#movelist-toggle-" + target).addClass("movelist-toggle-on");
}
function hideAllMovelists() {
$movelists.css("display", "none");
$('.movelist-toggle-button').removeClass("movelist-toggle-on").addClass("movelist-toggle-off");
}
function addToggles() {
$(this).data("id", $(this).attr("id"));
$(this).click(swapMovelist);
}
}
$('.lazyimg').prop('loading', 'lazy');
} );
//tippy tooltip function
//credit to Dustloop Wiki and Alistair3149 for writing the code
//mw.loader.getScript( 'https://cdn.jsdelivr.net/npm/@popperjs/core@2.0.0/dist/umd/popper.min.js');
//mw.loader.getScript( 'https://cdn.jsdelivr.net/npm/tippy.js@6.0.0/dist/tippy.umd.min.js');
mw.hook( 'wikipage.content' ).add( function ( content ) {
/*
* Tippy.js
* @see https://atomiks.github.io/tippyjs/
*/
// content is a jQuery object, content[0] returns the bodyContent element
// Select top-level tooltips
const tooltips = content[ 0 ].querySelectorAll( '.tooltip:not( .tooltip .tooltip )' );
if ( tooltips ) {
mw.loader.getScript( 'https://cdn.jsdelivr.net/npm/@popperjs/core@2/dist/umd/popper.js' ).then( function () {
mw.loader.getScript( ' https://cdn.jsdelivr.net/npm/tippy.js@6/dist/tippy.umd.js' ).then( function () {
// Load styles for shift-away animation
mw.loader.load( 'https://cdn.jsdelivr.net/npm/tippy.js@6/animations/shift-away.css', 'text/css' );
const createTippy = function ( element, position ) {
const tooltipContent = element.querySelector( ':scope > .tooltiptext' );
tippy( element, {
content: tooltipContent.innerHTML,
placement: position
} );
// Make tooltip focusable by keyboard
element.setAttribute( 'tabindex' , '0' );
};
tippy.setDefaultProps( {
animation: 'shift-away',
arrow: true,
allowHTML: true,
appendTo: document.body,
ignoreAttributes: true,
interactive: true
} );
tooltips.forEach( function ( tooltip ) {
createTippy( tooltip, 'top' );
const nestedTooltip = tooltip.querySelector( '.tooltip' );
if ( nestedTooltip ) {
createTippy( nestedTooltip, 'bottom' );
}
} );
},
function ( e ) {
mw.log.error( e.message );
}
);
},
function ( e ) {
mw.log.error( e.message );
} );
}
} );