MediaWiki:Common.js
From Future Of Mankind
Note: After publishing, you may have to bypass your browser's cache to see the changes.
- Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
- Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
- Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
- Opera: Press Ctrl-F5.
/* Any JavaScript here will be loaded for all users on every page load. */ //collapsible table column test, based on: https://codepen.io/feger/pen/eDybC $("#btnHideEnglish").click(function(){ console.log ('Hiding first column of table with an id of report'); $( "table#collapsible_report > tbody:last-child > tr > th:first-child" ).toggle(); $( "table#collapsible_report > tbody:last-child > tr > td:first-child" ).toggle(); if ($(this).text() == "Hide English"){ $(this).text("Show English"); } else { $(this).text("Hide English"); } }); $("#btnHideHigh-German").click(function(){ console.log ('Hiding second column of table with an id of report'); $( "table#collapsible_report > tbody:last-child > tr > th:last-child" ).toggle(); $( "table#collapsible_report > tbody:last-child > tr > td:last-child" ).toggle(); if ($(this).text() == "Hide High German"){ $(this).text("Show High German"); } else { $(this).text("Hide High German"); } }); $("#btnHideGerman").click(function(){ console.log ('Hiding second column of table with an id of report'); $( "table#collapsible_report > tbody:last-child > tr > th:last-child" ).toggle(); $( "table#collapsible_report > tbody:last-child > tr > td:last-child" ).toggle(); if ($(this).text() == "Hide German"){ $(this).text("Show German"); } else { $(this).text("Hide German"); } }); // hide the german by default, on page load, but only if the btnHideGerman element exists on the page if (document.getElementById("btnHideGerman")) { console.log('btnHideGerman exists'); //$("#btnHideGerman").click(); } else { // do stuff console.log('btnHideGerman does not exist'); } ( function ( mw, $ ) { 'use strict'; /** * Decodes html-encoded string * * @param {string} input * @return {string} */ function htmlDecode( input ) { var e = document.createElement( 'textarea' ); e.innerHTML = input; return e.childNodes.length === 0 ? '' : e.childNodes[ 0 ].nodeValue; } /** * @param {Object} $context * @param {boolean} $multiple */ var toolTipTrigger = function ( $context, $multiple = false ) { if ( $multiple ) { $context = $context.find( '.regular-tooltips' ); } $context.each( function () { var text = $( this ).attr( 'data-regular-tooltips' ); text = htmlDecode( text ); var popup = new OO.ui.PopupButtonWidget( { icon: 'info', framed: false, popup: { padded: true, align: 'force-right', $content: $( '<p>' + text + '</p>' ) } } ); $( this ).append( popup.$element ); } ); }; $( function () { mw.hook( 'pf.addTemplateInstance' ).add( function ( $elements ) { toolTipTrigger( $elements, true ); } ); $( '.regular-tooltips' ).each( function () { if( $( this ).closest( '.multipleTemplateList' ).length === 0 ) { toolTipTrigger( $( this ), false ); } } ); } ); }( mediaWiki, jQuery ) );