MediaWiki:Common.js: Difference between revisions
From PBARC
No edit summary  | 
				No edit summary  | 
				||
| Line 15: | Line 15: | ||
// BEGIN MobileEcho JS  | // BEGIN MobileEcho JS  | ||
let buttonsAdded = false  | let buttonsAdded = false;  | ||
function echoLoading() {  | function echoLoading() {  | ||
Revision as of 11:48, 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'
  }
)
// BEGIN MobileEcho JS
let buttonsAdded = false;
function echoLoading() {
	document.body.classList.add('mobileecho-hide-overflow')
	if (! buttonsAdded) {
		setTimeout(
			function() {
				let 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")
				headers = document.querySelectorAll('.oo-ui-popupWidget-head')
				for (header of headers) {
					let newCloseButton = closeButton.cloneNode()
					newCloseButton.addEventListener(
						'click',
						function() {
							document.body.click()
						}
					)
					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