MediaWiki:Common.js: Difference between revisions

From PBARC
No edit summary
No edit summary
Line 14: Line 14:




let buttonsAdded = false;
var buttonsAdded = false;


function echoLoading() {
function echoLoading() {
Line 22: Line 22:
setTimeout(
setTimeout(
function() {
function() {
let closeButton = document.createElement('button');
var closeButton = document.createElement('button');
closeButton.setAttribute('class', "mobileecho-close-button oo-ui-widget oo-ui-widget-enabled oo-ui-iconElement oo-ui-iconElement-icon oo-ui-icon-close oo-ui-labelElement-invisible oo-ui-iconWidget");
closeButton.setAttribute('class', "mobileecho-close-button oo-ui-widget oo-ui-widget-enabled oo-ui-iconElement oo-ui-iconElement-icon oo-ui-icon-close oo-ui-labelElement-invisible oo-ui-iconWidget");


let headers = document.querySelectorAll('.oo-ui-popupWidget-head');
var headers = document.querySelectorAll('.oo-ui-popupWidget-head');
let header;
var header;


for (header in headers) {
for (header in headers) {
let newCloseButton = closeButton.cloneNode();
var newCloseButton = closeButton.cloneNode();
newCloseButton.addEventListener(
newCloseButton.addEventListener(
'click',
'click',

Revision as of 13:00, 19 June 2022

/* Any JavaScript here will be loaded for all users on every page load. */
document.querySelectorAll('audio').forEach(
  function(e){
    e.controls = 'controls';
    delete e.disabled;
  }
);

document.querySelectorAll('.mw-tmh-play').forEach(
  function(e){
    e.style.display = 'none';
  }
);


var buttonsAdded = false;

function echoLoading() {
	document.body.classList.add('mobileecho-hide-overflow');

	if (! buttonsAdded) {
		setTimeout(
			function() {
				var closeButton = document.createElement('button');
				closeButton.setAttribute('class', "mobileecho-close-button oo-ui-widget oo-ui-widget-enabled oo-ui-iconElement oo-ui-iconElement-icon oo-ui-icon-close oo-ui-labelElement-invisible oo-ui-iconWidget");

				var headers = document.querySelectorAll('.oo-ui-popupWidget-head');
				var header;

				for (header in headers) {
					var newCloseButton = closeButton.cloneNode();
					newCloseButton.addEventListener(
						'click',
						function() {
							document.body.click();
						}
					);
					headers[header].appendChild(newCloseButton);
				}
			},
			500
		);
		buttonsAdded = true;
	}

	setTimeout(
		function() {
			document.querySelector('a.oo-ui-icon-bell').addEventListener(
				'click', echoLoading
			);

			document.querySelector('a.oo-ui-icon-tray').addEventListener(
				'click', echoLoading
			);
		},
		500
	);
}

document.body.addEventListener(
	'click',
	function(e) {
		if (! document.querySelector('.mw-echo-ui-overlay').contains(e.target) && ! document.querySelector('#personal-extra').contains(e.target)) {
			document.body.classList.remove('mobileecho-hide-overflow');
		}
	}
);

document.querySelector('a.oo-ui-icon-bell').addEventListener(
	'click', echoLoading
);

document.querySelector('a.oo-ui-icon-tray').addEventListener(
	'click', echoLoading
);

// END MobileEcho JS