<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://ttrpg.qcoumes.dev/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3ACommon.js</id>
	<title>MediaWiki:Common.js - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://ttrpg.qcoumes.dev/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3ACommon.js"/>
	<link rel="alternate" type="text/html" href="https://ttrpg.qcoumes.dev/index.php?title=MediaWiki:Common.js&amp;action=history"/>
	<updated>2026-04-16T07:31:28Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://ttrpg.qcoumes.dev/index.php?title=MediaWiki:Common.js&amp;diff=7&amp;oldid=prev</id>
		<title>Admin: Created page with &quot;/* Any JavaScript here will be loaded for all users on every page load. */  if (document.readyState === &#039;complete&#039;) { 	bg3wikiCommonJsMain(); } else { 	window.addEventListener(&#039;load&#039;, bg3wikiCommonJsMain); }  function bg3wikiCommonJsMain() { 	if (location.hostname === &#039;old.bg3.wiki&#039;) { 		setupBackupBanner(); 	} }  function setupBackupBanner() { 	const sn = document.getElementById(&#039;siteNotice&#039;); 	sn.innerHTML = ` 	&lt;div style=&quot;text-align: center; 		        background: blac...&quot;</title>
		<link rel="alternate" type="text/html" href="https://ttrpg.qcoumes.dev/index.php?title=MediaWiki:Common.js&amp;diff=7&amp;oldid=prev"/>
		<updated>2026-04-16T02:59:55Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;&lt;span class=&quot;autocomment&quot;&gt;Any JavaScript here will be loaded for all users on every page load.: &lt;/span&gt;  if (document.readyState === &amp;#039;complete&amp;#039;) { 	bg3wikiCommonJsMain(); } else { 	window.addEventListener(&amp;#039;load&amp;#039;, bg3wikiCommonJsMain); }  function bg3wikiCommonJsMain() { 	if (location.hostname === &amp;#039;old.bg3.wiki&amp;#039;) { 		setupBackupBanner(); 	} }  function setupBackupBanner() { 	const sn = document.getElementById(&amp;#039;siteNotice&amp;#039;); 	sn.innerHTML = ` 	&amp;lt;div style=&amp;quot;text-align: center; 		        background: blac...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;/* Any JavaScript here will be loaded for all users on every page load. */&lt;br /&gt;
&lt;br /&gt;
if (document.readyState === &amp;#039;complete&amp;#039;) {&lt;br /&gt;
	bg3wikiCommonJsMain();&lt;br /&gt;
} else {&lt;br /&gt;
	window.addEventListener(&amp;#039;load&amp;#039;, bg3wikiCommonJsMain);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function bg3wikiCommonJsMain() {&lt;br /&gt;
	if (location.hostname === &amp;#039;old.bg3.wiki&amp;#039;) {&lt;br /&gt;
		setupBackupBanner();&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function setupBackupBanner() {&lt;br /&gt;
	const sn = document.getElementById(&amp;#039;siteNotice&amp;#039;);&lt;br /&gt;
	sn.innerHTML = `&lt;br /&gt;
	&amp;lt;div style=&amp;quot;text-align: center;&lt;br /&gt;
		        background: black;&lt;br /&gt;
		        font-weight: bold;&lt;br /&gt;
		        font-size: 120%;&lt;br /&gt;
		        padding: 1em;&lt;br /&gt;
		        margin-bottom: 1em&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;p&amp;gt;This is a backup page. Use it if the main wiki is down.&amp;lt;/p&amp;gt;&lt;br /&gt;
		&amp;lt;p&amp;gt;Edits made here will be lost. Use the live version:&amp;lt;/p&amp;gt;&lt;br /&gt;
		&amp;lt;p&amp;gt;&amp;lt;a id=&amp;quot;bg3wiki-canonical-url&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
	&amp;lt;/div&amp;gt;&lt;br /&gt;
	` + sn.innerHTML;&lt;br /&gt;
	const a = document.getElementById(&amp;#039;bg3wiki-canonical-url&amp;#039;);&lt;br /&gt;
	a.href = &amp;#039;https://bg3.wiki&amp;#039; + location.pathname + location.search;&lt;br /&gt;
	a.appendChild(document.createTextNode(a.href));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
new MutationObserver(function(mutList, _obs) {&lt;br /&gt;
	mutList.forEach(m =&amp;gt; m.addedNodes.forEach(n =&amp;gt; {&lt;br /&gt;
		if (!n.classList) return;&lt;br /&gt;
		if (n.classList.contains(&amp;quot;mwe-popups&amp;quot;))&lt;br /&gt;
			bg3wikiFixMwePopups(n);&lt;br /&gt;
		else if (n.classList.contains(&amp;quot;ui-draggable&amp;quot;))&lt;br /&gt;
			bg3wikiFixUiDraggable(n);&lt;br /&gt;
	}));&lt;br /&gt;
}).observe(document.body, { childList: true });&lt;br /&gt;
&lt;br /&gt;
// Fix for Extension:Popups because we mess with body width.&lt;br /&gt;
function bg3wikiFixMwePopups(node) {&lt;br /&gt;
	const style = node.style;&lt;br /&gt;
	const offset = window.scrollY + &amp;quot;px&amp;quot;;&lt;br /&gt;
	style.position = &amp;#039;fixed&amp;#039;;&lt;br /&gt;
	if (style.top != &amp;#039;auto&amp;#039;) {&lt;br /&gt;
		style.top = &amp;quot;calc(&amp;quot; + style.top + &amp;quot; - &amp;quot; + offset + &amp;quot;)&amp;quot;;&lt;br /&gt;
	}&lt;br /&gt;
	if (style.bottom != &amp;#039;auto&amp;#039;) {&lt;br /&gt;
		style.bottom = &amp;quot;calc(&amp;quot; + style.bottom + &amp;quot; + &amp;quot; + offset + &amp;quot;)&amp;quot;;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Fix for draggables because we mess with body width.&lt;br /&gt;
function bg3wikiFixUiDraggable(node) {&lt;br /&gt;
	node.style.position = &amp;#039;fixed&amp;#039;;&lt;br /&gt;
	node.style.left = ((window.innerWidth - node.offsetWidth) / 2) + &amp;quot;px&amp;quot;;&lt;br /&gt;
	node.style.top = ((window.innerHeight - node.offsetHeight) / 2) + &amp;quot;px&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * Add support to mw-collapsible for autocollapse, innercollapse and outercollapse&lt;br /&gt;
 *&lt;br /&gt;
 * Maintainers: TheDJ. See https://en.wikipedia.org/wiki/MediaWiki:Common.js for more information.&lt;br /&gt;
 */&lt;br /&gt;
function mwCollapsibleSetup( $collapsibleContent ) {&lt;br /&gt;
	var $element,&lt;br /&gt;
		$toggle,&lt;br /&gt;
		autoCollapseThreshold = 2;&lt;br /&gt;
	$.each( $collapsibleContent, function ( index, element ) {&lt;br /&gt;
		$element = $( element );&lt;br /&gt;
		if ( $element.hasClass( &amp;#039;collapsible&amp;#039; ) ) {&lt;br /&gt;
			$element.find( &amp;#039;tr:first &amp;gt; th:first&amp;#039; ).prepend( $element.find( &amp;#039;tr:first &amp;gt; * &amp;gt; .mw-collapsible-toggle&amp;#039; ) );&lt;br /&gt;
		}&lt;br /&gt;
		if ( $collapsibleContent.length &amp;gt;= autoCollapseThreshold &amp;amp;&amp;amp; $element.hasClass( &amp;#039;autocollapse&amp;#039; ) ) {&lt;br /&gt;
			$element.data( &amp;#039;mw-collapsible&amp;#039; ).collapse();&lt;br /&gt;
		} else if ( $element.hasClass( &amp;#039;innercollapse&amp;#039; ) ) {&lt;br /&gt;
			if ( $element.parents( &amp;#039;.outercollapse&amp;#039; ).length &amp;gt; 0 ) {&lt;br /&gt;
				$element.data( &amp;#039;mw-collapsible&amp;#039; ).collapse();&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
		// because of colored backgrounds, style the link in the text color&lt;br /&gt;
		// to ensure accessible contrast&lt;br /&gt;
		$toggle = $element.find( &amp;#039;.mw-collapsible-toggle&amp;#039; );&lt;br /&gt;
		if ( $toggle.length ) {&lt;br /&gt;
			// Make the toggle inherit text color (Updated for T333357 2023-04-29)&lt;br /&gt;
			if ( $toggle.parent()[ 0 ].style.color ) {&lt;br /&gt;
				$toggle.css( &amp;#039;color&amp;#039;, &amp;#039;inherit&amp;#039; );&lt;br /&gt;
				$toggle.find( &amp;#039;.mw-collapsible-text&amp;#039; ).css( &amp;#039;color&amp;#039;, &amp;#039;inherit&amp;#039; );&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	} );&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
mw.hook( &amp;#039;wikipage.collapsibleContent&amp;#039; ).add( mwCollapsibleSetup );&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
</feed>