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 ) );