MediaWiki:Common.js: Difference between revisions

From The Jolly Contrarian
Jump to navigation Jump to search
Undo revision 10189 by Amwelladmin (talk)
No edit summary
 
(86 intermediate revisions by the same user not shown)
Line 1: Line 1:
var customizeToolbar = function() {
var customizeToolbar = function() {
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
'sections': {
'sections': {
'Amwell': {
'manual': {
'type': 'toolbar',
'type': 'toolbar', // Can also be 'booklet'
'label': 'Amwell'
'label': 'Manual'
// or 'labelMsg': 'section-manual-label' for a localized label
}
}
} );
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
'section': 'manual',
'groups': {
'tags': {
'label': 'Tags' // or use labelMsg for a localized label, see above
}
}
}
}
Line 13: Line 23:
group: 'format',
group: 'format',
tools: {
tools: {
"ISDAprov": {
"template": {
label: 'long dash',
type: 'button',
icon: 'https://jollycontrarian.com/images/5/55/Dash.png',
action: {
type: 'encapsulate',
options: {
pre: "—",
post: ""
}
}
}
}
});
$('#wpTextbox1').wikiEditor('addToToolbar', {
section: 'advanced',
group: 'format',
tools: {
"template": {
label: 'scarequotes',
type: 'button',
icon: 'https://jollycontrarian.com/images/b/ba/Scare.png',
action: {
type: 'encapsulate',
options: {
pre: "“",
post: "”"
}
}
}
}
});
$('#wpTextbox1').wikiEditor('addToToolbar', {
section: 'advanced',
group: 'format',
tools: {
"template": {
label: 'apostrophe',
type: 'button',
icon: 'https://jollycontrarian.com/images/5/5b/Apo.png',
action: {
type: 'encapsulate',
options: {
pre: "’",
post: ""
}
}
}
}
});
 
$('#wpTextbox1').wikiEditor('addToToolbar', {
section: 'advanced',
group: 'format',
tools: {
"template": {
label: '{{ - }}',
type: 'button',
icon: 'https://jollycontrarian.com/images/3/30/Template.png',
action: {
type: 'encapsulate',
options: {
pre: "{{",
post: "}}"
}
}
}
}
});
 
$('#wpTextbox1').wikiEditor('addToToolbar', {
section: 'advanced',
group: 'format',
tools: {
"Substitute": {
label: 'subst:',
type: 'button',
icon: 'https://jollycontrarian.com/images/0/03/Sbs.png',
action: {
type: 'encapsulate',
options: {
pre: "{{subst:",
post: "}}"
}
}
}
}
});
 
$('#wpTextbox1').wikiEditor('addToToolbar', {
section: 'advanced',
group: 'format',
tools: {
"redirect": {
label: '==>',
type: 'button',
icon: 'https://jollycontrarian.com/images/9/91/Redirect.png',
action: {
type: 'encapsulate',
options: {
pre: "#redirect[[",
post: "]]"
}
}
}
}
});
 
$('#wpTextbox1').wikiEditor('addToToolbar', {
section: 'advanced',
group: 'format',
tools: {
"template": {
label: 'tag',
type: 'button',
icon: 'https://jollycontrarian.com/images/7/76/Tag.png',
action: {
type: 'encapsulate',
options: {
pre: "{{t|",
post: "}}"
}
}
}
}
});
 
$('#wpTextbox1').wikiEditor('addToToolbar', {
section: 'advanced',
group: 'format',
tools: {
"Prov": {
label: 'isdaprov',
label: 'isdaprov',
type: 'button',
type: 'button',
icon: 'http://amwellclear.co.uk/w/images/e/ed/Button_I.PNG',
icon: 'https://jollycontrarian.com/images/5/50/Isd.png',
action: {
action: {
type: 'encapsulate',
type: 'encapsulate',
options: {
options: {
pre: "{{isdaprov|",
pre: "{{isdaprov|",
post: "}}"
}
}
}
}
});
$('#wpTextbox1').wikiEditor('addToToolbar', {
section: 'advanced',
group: 'format',
tools: {
"Prov": {
label: 'euaprov',
type: 'button',
icon: 'https://jollycontrarian.com/images/5/50/eua.png',
action: {
type: 'encapsulate',
options: {
pre: "{{euaprov|",
post: "}}"
}
}
}
}
});
$('#wpTextbox1').wikiEditor('addToToolbar', {
section: 'advanced',
group: 'format',
tools: {
"ietaprov": {
label: 'ietaprov',
type: 'button',
icon: 'https://jollycontrarian.com/images/e/e9/Gms.png',
action: {
type: 'encapsulate',
options: {
pre: "{{ietaprov|",
post: "}}"
}
}
}
}
});
$('#wpTextbox1').wikiEditor('addToToolbar', {
section: 'advanced',
group: 'format',
tools: {
"gmraprov": {
label: '{{{1}}}|',
type: 'button',
icon: 'https://jollycontrarian.com/images/4/49/blank.png',
action: {
type: 'encapsulate',
options: {
pre: "{{{{{1}}}|",
post: "}}"
}
}
}
}
});
$('#wpTextbox1').wikiEditor('addToToolbar', {
section: 'advanced',
group: 'format',
tools: {
"Equity Derivs": {
label: 'eqderivprov',
type: 'button',
icon: 'https://jollycontrarian.com/images/c/c3/Eqd.png',
action: {
type: 'encapsulate',
options: {
pre: "{{eqderivprov|",
post: "}}"
post: "}}"
}
}
Line 28: Line 245:
});
});


$('#wpTextbox1').wikiEditor('addToToolbar', {
section: 'advanced',
group: 'format',
tools: {
"template": {
label: 'vmcsaprov',
type: 'button',
icon: 'https://jollycontrarian.com/images/3/37/Csa.png',
action: {
type: 'encapsulate',
options: {
pre: "{{vmcsaprov|",
post: "}}"
}
}
}
}
});
$('#wpTextbox1').wikiEditor('addToToolbar', {
section: 'advanced',
group: 'format',
tools: {
"template": {
label: 'hotlink',
type: 'button',
icon: 'https://jollycontrarian.com/images/3/37/Csa.png',
action: {
type: 'encapsulate',
options: {
pre: "{{pjchotlink|}}<li>{{pjchotlink|}}<li>{{pjchotlink|}}<li>{{pjchotlink|}}<li>{{pjchotlink|}}<li>",
post: "{{pjchotlink|}}"
}
}
}
}
});


};
};


/* Check if view is in edit mode and that the required modules are available. Then, customize the toolbar … */
if ( [ 'edit', 'submit' ].indexOf( mw.config.get( 'wgAction' ) ) !== -1 ) {
if ( $.inArray( mw.config.get( 'wgAction' ), [ 'edit', 'submit' ] ) !== -1 ) {
mw.loader.using( 'user.options' ).then( function () {
mw.loader.using( 'user.options', function () {
// This can be the string "0" if the user disabled the preference ([[phab:T54542#555387]])
if ( mw.user.options.get( 'usebetatoolbar' ) == 1 ) {
if ( mw.user.options.get( 'usebetatoolbar' ) == 1 ) {
$.when(
$.when(
mw.loader.using( 'ext.wikiEditor.toolbar' ), $.ready
mw.loader.using( 'ext.wikiEditor' ), $.ready
).then( customizeToolbar );
).then( customizeToolbar );
}
}
Line 43: Line 296:
}
}


};


// Add the customizations to LiquidThreads' edit toolbar, if available
// Add the customizations to LiquidThreads' edit toolbar, if available
mw.hook( 'ext.lqt.textareaCreated' ).add( customizeToolbar );
mw.hook( 'ext.lqt.textareaCreated' ).add( customizeToolbar );
/* Any JavaScript here will be loaded for all users on every page load. */
// JavaScript to dynamically adjust table layout
function adjustTableLayout() {
    var staticTable = document.getElementById('static-table');
    var adaptiveTable = document.getElementById('adaptive-table');
    if (!staticTable || !adaptiveTable) return;
    // Get the bounding rectangles of the tables
    var staticRect = staticTable.getBoundingClientRect();
    var adaptiveRect = adaptiveTable.getBoundingClientRect();
    // Check if the adaptive table is below the static table
    if (adaptiveRect.top >= staticRect.bottom) {
        adaptiveTable.classList.add('stacked');
    } else {
        adaptiveTable.classList.remove('stacked');
    }
}
// Function to request a reflow and check layout
function checkLayout() {
    requestAnimationFrame(function() {
        adjustTableLayout();
    });
}
// Initial adjustment
checkLayout();
// Adjust on window resize
window.addEventListener('resize', checkLayout);
// Adjust on content changes
document.addEventListener('DOMContentLoaded', checkLayout);
/* DIALOGUE MALARKEY */
document.addEventListener("DOMContentLoaded", function() {
    document.querySelectorAll('.dialogue').forEach(dialogue => {
        const character = dialogue.querySelector('.character');
        const text = dialogue.querySelector('.text');
        const characterWidth = character.offsetWidth;
        text.style.marginLeft = `${characterWidth + 30}px`;
    });
});

Latest revision as of 17:50, 10 September 2024

var customizeToolbar = function() {

$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
	'sections': {
		'manual': {
			'type': 'toolbar', // Can also be 'booklet'
			'label': 'Manual'
			// or 'labelMsg': 'section-manual-label' for a localized label
		}
	}
} );
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
	'section': 'manual',
	'groups': {
		'tags': {
			'label': 'Tags' // or use labelMsg for a localized label, see above
		}
	}
} );

$('#wpTextbox1').wikiEditor('addToToolbar', {
	section: 'advanced',
	group: 'format',
	tools: {
		"template": {
			label: 'long dash',
			type: 'button',
			icon: 'https://jollycontrarian.com/images/5/55/Dash.png',
			action: {
				type: 'encapsulate',
				options: {
					pre: "—",
					post: ""
				}
			}
		}
	}
});
$('#wpTextbox1').wikiEditor('addToToolbar', {
	section: 'advanced',
	group: 'format',
	tools: {
		"template": {
			label: 'scarequotes',
			type: 'button',
			icon: 'https://jollycontrarian.com/images/b/ba/Scare.png',
			action: {
				type: 'encapsulate',
				options: {
					pre: "“",
					post: "”"
				}
			}
		}
	}
});	
$('#wpTextbox1').wikiEditor('addToToolbar', {
	section: 'advanced',
	group: 'format',
	tools: {
		"template": {
			label: 'apostrophe',
			type: 'button',
			icon: 'https://jollycontrarian.com/images/5/5b/Apo.png',
			action: {
				type: 'encapsulate',
				options: {
					pre: "’",
					post: ""
				}
			}
		}
	}
});

$('#wpTextbox1').wikiEditor('addToToolbar', {
	section: 'advanced',
	group: 'format',
	tools: {
		"template": {
			label: '{{ - }}',
			type: 'button',
			icon: 'https://jollycontrarian.com/images/3/30/Template.png',
			action: {
				type: 'encapsulate',
				options: {
					pre: "{{",
					post: "}}"
				}
			}
		}
	}
});	

$('#wpTextbox1').wikiEditor('addToToolbar', {
	section: 'advanced',
	group: 'format',
	tools: {
		"Substitute": {
			label: 'subst:',
			type: 'button',
			icon: 'https://jollycontrarian.com/images/0/03/Sbs.png',
			action: {
				type: 'encapsulate',
				options: {
					pre: "{{subst:",
					post: "}}"
				}
			}
		}
	}
});	

$('#wpTextbox1').wikiEditor('addToToolbar', {
	section: 'advanced',
	group: 'format',
	tools: {
		"redirect": {
			label: '==>',
			type: 'button',
			icon: 'https://jollycontrarian.com/images/9/91/Redirect.png',
			action: {
				type: 'encapsulate',
				options: {
					pre: "#redirect[[",
					post: "]]"
				}
			}
		}
	}
});	
	

$('#wpTextbox1').wikiEditor('addToToolbar', {
	section: 'advanced',
	group: 'format',
	tools: {
		"template": {
			label: 'tag',
			type: 'button',
			icon: 'https://jollycontrarian.com/images/7/76/Tag.png',
			action: {
				type: 'encapsulate',
				options: {
					pre: "{{t|",
					post: "}}"
				}
			}
		}
	}
});	

$('#wpTextbox1').wikiEditor('addToToolbar', {
	section: 'advanced',
	group: 'format',
	tools: {
		"Prov": {
			label: 'isdaprov',
			type: 'button',
			icon: 'https://jollycontrarian.com/images/5/50/Isd.png',
			action: {
				type: 'encapsulate',
				options: {
					pre: "{{isdaprov|",
					post: "}}"
				}
			}
		}
	}
});

$('#wpTextbox1').wikiEditor('addToToolbar', {
	section: 'advanced',
	group: 'format',
	tools: {
		"Prov": {
			label: 'euaprov',
			type: 'button',
			icon: 'https://jollycontrarian.com/images/5/50/eua.png',
			action: {
				type: 'encapsulate',
				options: {
					pre: "{{euaprov|",
					post: "}}"
				}
			}
		}
	}
});	
$('#wpTextbox1').wikiEditor('addToToolbar', {
	section: 'advanced',
	group: 'format',
	tools: {
		"ietaprov": {
			label: 'ietaprov',
			type: 'button',
			icon: 'https://jollycontrarian.com/images/e/e9/Gms.png',
			action: {
				type: 'encapsulate',
				options: {
					pre: "{{ietaprov|",
					post: "}}"
				}
			}
		}
	}
});	

$('#wpTextbox1').wikiEditor('addToToolbar', {
	section: 'advanced',
	group: 'format',
	tools: {
		"gmraprov": {
			label: '{{{1}}}|',
			type: 'button',
			icon: 'https://jollycontrarian.com/images/4/49/blank.png',
			action: {
				type: 'encapsulate',
				options: {
					pre: "{{{{{1}}}|",
					post: "}}"
				}
			}
		}
	}
});	

$('#wpTextbox1').wikiEditor('addToToolbar', {
	section: 'advanced',
	group: 'format',
	tools: {
		"Equity Derivs": {
			label: 'eqderivprov',
			type: 'button',
			icon: 'https://jollycontrarian.com/images/c/c3/Eqd.png',
			action: {
				type: 'encapsulate',
				options: {
					pre: "{{eqderivprov|",
					post: "}}"
				}
			}
		}
	}
});	


$('#wpTextbox1').wikiEditor('addToToolbar', {
	section: 'advanced',
	group: 'format',
	tools: {
		"template": {
			label: 'vmcsaprov',
			type: 'button',
			icon: 'https://jollycontrarian.com/images/3/37/Csa.png',
			action: {
				type: 'encapsulate',
				options: {
					pre: "{{vmcsaprov|",
					post: "}}"
				}
			}
		}
	}
});

$('#wpTextbox1').wikiEditor('addToToolbar', {
	section: 'advanced',
	group: 'format',
	tools: {
		"template": {
			label: 'hotlink',
			type: 'button',
			icon: 'https://jollycontrarian.com/images/3/37/Csa.png',
			action: {
				type: 'encapsulate',
				options: {
					pre: "{{pjchotlink|}}<li>{{pjchotlink|}}<li>{{pjchotlink|}}<li>{{pjchotlink|}}<li>{{pjchotlink|}}<li>",
					post: "{{pjchotlink|}}"
				}
			}
		}
	}
});

};

if ( [ 'edit', 'submit' ].indexOf( mw.config.get( 'wgAction' ) ) !== -1 ) {
	mw.loader.using( 'user.options' ).then( function () {
		if ( mw.user.options.get( 'usebetatoolbar' ) == 1 ) {
			$.when(
				mw.loader.using( 'ext.wikiEditor' ), $.ready
			).then( customizeToolbar );
		}
	} );
}


// Add the customizations to LiquidThreads' edit toolbar, if available
mw.hook( 'ext.lqt.textareaCreated' ).add( customizeToolbar );

/* Any JavaScript here will be loaded for all users on every page load. */

// JavaScript to dynamically adjust table layout
function adjustTableLayout() {
    var staticTable = document.getElementById('static-table');
    var adaptiveTable = document.getElementById('adaptive-table');

    if (!staticTable || !adaptiveTable) return;

    // Get the bounding rectangles of the tables
    var staticRect = staticTable.getBoundingClientRect();
    var adaptiveRect = adaptiveTable.getBoundingClientRect();

    // Check if the adaptive table is below the static table
    if (adaptiveRect.top >= staticRect.bottom) {
        adaptiveTable.classList.add('stacked');
    } else {
        adaptiveTable.classList.remove('stacked');
    }
}

// Function to request a reflow and check layout
function checkLayout() {
    requestAnimationFrame(function() {
        adjustTableLayout();
    });
}

// Initial adjustment
checkLayout();

// Adjust on window resize
window.addEventListener('resize', checkLayout);

// Adjust on content changes
document.addEventListener('DOMContentLoaded', checkLayout);

/* DIALOGUE MALARKEY */

document.addEventListener("DOMContentLoaded", function() {
    document.querySelectorAll('.dialogue').forEach(dialogue => {
        const character = dialogue.querySelector('.character');
        const text = dialogue.querySelector('.text');
        const characterWidth = character.offsetWidth;
        text.style.marginLeft = `${characterWidth + 30}px`;
    });
});