MediaWiki:Common.js: Difference between revisions

From The Jolly Contrarian
Jump to navigation Jump to search
No edit summary
No edit summary
 
(70 intermediate revisions by the same user not shown)
Line 1: Line 1:
var customizeToolbar = function() {
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', {
$('#wpTextbox1').wikiEditor('addToToolbar', {
Line 5: Line 23:
group: 'format',
group: 'format',
tools: {
tools: {
"redirect": {
"template": {
label: '==>',
label: 'long dash',
type: 'button',
type: 'button',
icon: 'https://jollycontrarian.com/images/9/91/Redirect.png',
icon: 'https://jollycontrarian.com/images/5/55/Dash.png',
action: {
action: {
type: 'encapsulate',
type: 'encapsulate',
options: {
options: {
pre: "#redirect[[",
pre: "",
post: "]]"
post: ""
}
}
}
}
}
}
}
}
});
});
 
$('#wpTextbox1').wikiEditor('addToToolbar', {
$('#wpTextbox1').wikiEditor('addToToolbar', {
section: 'advanced',
section: 'advanced',
group: 'format',
group: 'format',
tools: {
tools: {
"ISDAprov": {
"template": {
label: 'isdaprov',
label: 'scarequotes',
type: 'button',
type: 'button',
icon: 'https://jollycontrarian.com/images/e/ed/Button_I.PNG',
icon: 'https://jollycontrarian.com/images/b/ba/Scare.png',
action: {
action: {
type: 'encapsulate',
type: 'encapsulate',
options: {
options: {
pre: "{{isdaprov|",
pre: "",
post: "}}"
post: ""
}
}
}
}
Line 38: Line 55:
}
}
});
});
$('#wpTextbox1').wikiEditor('addToToolbar', {
$('#wpTextbox1').wikiEditor('addToToolbar', {
section: 'advanced',
section: 'advanced',
group: 'format',
group: 'format',
tools: {
tools: {
"gmslaprov": {
"template": {
label: 'gmslaprov',
label: 'apostrophe',
type: 'button',
type: 'button',
icon: 'https://jollycontrarian.com/images/f/f7/G.png',
icon: 'https://jollycontrarian.com/images/5/5b/Apo.png',
action: {
action: {
type: 'encapsulate',
type: 'encapsulate',
options: {
options: {
pre: "{{gmslaprov|",
pre: "",
post: "}}"
post: ""
}
}
}
}
}
}
}
}
});
});


$('#wpTextbox1').wikiEditor('addToToolbar', {
$('#wpTextbox1').wikiEditor('addToToolbar', {
Line 63: Line 78:
group: 'format',
group: 'format',
tools: {
tools: {
"gmraprov": {
"template": {
label: 'grmaprov',
label: '{{ - }}',
type: 'button',
type: 'button',
icon: 'https://jollycontrarian.com/images/4/49/Gmr.png',
icon: 'https://jollycontrarian.com/images/3/30/Template.png',
action: {
action: {
type: 'encapsulate',
type: 'encapsulate',
options: {
options: {
pre: "{{gmraprov|",
pre: "{{",
post: "}}"
post: "}}"
}
}
Line 101: Line 116:
group: 'format',
group: 'format',
tools: {
tools: {
"Equity Derivs": {
"redirect": {
label: 'eqderivprov',
label: '==>',
type: 'button',
type: 'button',
icon: 'https://jollycontrarian.com/images/1/1a/Eq.png',
icon: 'https://jollycontrarian.com/images/9/91/Redirect.png',
action: {
action: {
type: 'encapsulate',
type: 'encapsulate',
options: {
options: {
pre: "{{eqderivprov|",
pre: "#redirect[[",
post: "}}"
post: "]]"
}
}
}
}
Line 115: Line 130:
}
}
});
});


$('#wpTextbox1').wikiEditor('addToToolbar', {
$('#wpTextbox1').wikiEditor('addToToolbar', {
Line 121: Line 137:
tools: {
tools: {
"template": {
"template": {
label: '{{ - }}',
label: 'tag',
type: 'button',
type: 'button',
icon: 'https://jollycontrarian.com/images/3/30/Template.png',
icon: 'https://jollycontrarian.com/images/7/76/Tag.png',
action: {
action: {
type: 'encapsulate',
type: 'encapsulate',
options: {
options: {
pre: "{{",
pre: "{{t|",
post: "}}"
post: "}}"
}
}
Line 139: Line 155:
group: 'format',
group: 'format',
tools: {
tools: {
"template": {
"Prov": {
label: 'tag',
label: 'isdaprov',
type: 'button',
type: 'button',
icon: 'https://jollycontrarian.com/images/7/7d/Tag2.png',
icon: 'https://jollycontrarian.com/images/5/50/Isd.png',
action: {
action: {
type: 'encapsulate',
type: 'encapsulate',
options: {
options: {
pre: "{{tag|",
pre: "{{isdaprov|",
post: "}}"
post: "}}"
}
}
Line 152: Line 168:
}
}
}
}
});
});


$('#wpTextbox1').wikiEditor('addToToolbar', {
$('#wpTextbox1').wikiEditor('addToToolbar', {
Line 158: Line 174:
group: 'format',
group: 'format',
tools: {
tools: {
"template": {
"Prov": {
label: 'csaprov',
label: 'euaprov',
type: 'button',
type: 'button',
icon: 'https://jollycontrarian.com/images/6/69/CSA.png',
icon: 'https://jollycontrarian.com/images/5/50/eua.png',
action: {
action: {
type: 'encapsulate',
type: 'encapsulate',
options: {
options: {
pre: "{{csaprov|",
pre: "{{euaprov|",
post: "}}"
post: "}}"
}
}
Line 176: Line 192:
group: 'format',
group: 'format',
tools: {
tools: {
"template": {
"ietaprov": {
label: 'scarequotes',
label: 'ietaprov',
type: 'button',
type: 'button',
icon: 'https://jollycontrarian.com/images/6/65/Quotes.png',
icon: 'https://jollycontrarian.com/images/e/e9/Gms.png',
action: {
action: {
type: 'encapsulate',
type: 'encapsulate',
options: {
options: {
pre: "",
pre: "{{ietaprov|",
post: ""
post: "}}"
}
}
}
}
Line 190: Line 206:
}
}
});
});
$('#wpTextbox1').wikiEditor('addToToolbar', {
$('#wpTextbox1').wikiEditor('addToToolbar', {
section: 'advanced',
section: 'advanced',
group: 'format',
group: 'format',
tools: {
tools: {
"template": {
"gmraprov": {
label: 'apostrophe',
label: '{{{1}}}|',
type: 'button',
type: 'button',
icon: 'https://jollycontrarian.com/images/5/57/Apostrophe.png',
icon: 'https://jollycontrarian.com/images/4/49/blank.png',
action: {
action: {
type: 'encapsulate',
type: 'encapsulate',
options: {
options: {
pre: "",
pre: "{{{{{1}}}|",
post: ""
post: "}}"
}
}
}
}
Line 208: Line 225:
}
}
});
});
$('#wpTextbox1').wikiEditor('addToToolbar', {
$('#wpTextbox1').wikiEditor('addToToolbar', {
section: 'advanced',
section: 'advanced',
group: 'format',
group: 'format',
tools: {
tools: {
"template": {
"Equity Derivs": {
label: 'flannel',
label: 'eqderivprov',
type: 'button',
type: 'button',
icon: 'https://jollycontrarian.com/images/c/c5/Flannel.png',
icon: 'https://jollycontrarian.com/images/c/c3/Eqd.png',
action: {
action: {
type: 'encapsulate',
type: 'encapsulate',
options: {
options: {
pre: "{{f|",
pre: "{{eqderivprov|",
post: "}}"
post: "}}"
}
}
Line 225: Line 243:
}
}
}
}
});
});
 
 
$('#wpTextbox1').wikiEditor('addToToolbar', {
$('#wpTextbox1').wikiEditor('addToToolbar', {
section: 'advanced',
section: 'advanced',
Line 231: Line 251:
tools: {
tools: {
"template": {
"template": {
label: 'long dash',
label: 'vmcsaprov',
type: 'button',
type: 'button',
icon: 'https://jollycontrarian.com/images/5/55/Dash.png',
icon: 'https://jollycontrarian.com/images/3/37/Csa.png',
action: {
action: {
type: 'encapsulate',
type: 'encapsulate',
options: {
options: {
pre: "",
pre: "{{vmcsaprov|",
post: ""
post: "}}"
}
}
}
}
Line 244: Line 264:
}
}
});
});
$('#wpTextbox1').wikiEditor('addToToolbar', {
$('#wpTextbox1').wikiEditor('addToToolbar', {
section: 'advanced',
section: 'advanced',
Line 249: Line 270:
tools: {
tools: {
"template": {
"template": {
label: 'FullAnat',
label: 'hotlink',
type: 'button',
type: 'button',
icon: 'https://jollycontrarian.com/images/3/3c/Vector_toolbar_bold_F_button.png',
icon: 'https://jollycontrarian.com/images/3/37/Csa.png',
action: {
action: {
type: 'encapsulate',
type: 'encapsulate',
options: {
options: {
pre: "{{fullanat|AGMT|CLAUSE|EDITION}}",
pre: "{{pjchotlink|}}<li>{{pjchotlink|}}<li>{{pjchotlink|}}<li>{{pjchotlink|}}<li>{{pjchotlink|}}<li>",
post: ""
post: "{{pjchotlink|}}"
}
}
}
}
Line 262: Line 283:
}
}
});
});
$('#wpTextbox1').wikiEditor('addToToolbar', {
section: 'advanced',
group: 'format',
tools: {
"template": {
label: 'FullAnat2',
type: 'button',
icon: 'https://jollycontrarian.com/images/2/22/Vector_toolbar_bold_F2_button.png',
action: {
type: 'encapsulate',
options: {
pre: "{{fullanat2|AGMT|CLAUSE|EDITION|CLAUSE|EDITION}}",
post: ""
}
}
}
}
});
$('#wpTextbox1').wikiEditor('addToToolbar', {
section: 'advanced',
group: 'format',
tools: {
"template": {
label: 'FullAnatOpen',
type: 'button',
icon: 'https://jollycontrarian.com/images/2/22/Vector_toolbar_bold_F2_button.png',
action: {
type: 'encapsulate',
options: {
pre: "{{fullanatopen|AGMT|{{AGMTquote|AGMT|YEAR|CLAUSE}}<br>{{AGMTquote|AGMT|YEAR|CLAUSE}}}}",
post: ""
}
}
}
}
});};


};


/* 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 );
}
}
} );
} );
}
}
// 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 );
Line 317: Line 302:
/* Any JavaScript here will be loaded for all users on every page load. */
/* Any JavaScript here will be loaded for all users on every page load. */


/* Any JavaScript here will be loaded for all users on every page load. */
// JavaScript to dynamically adjust table layout
/* Good site for buttons: http://commons.wikimedia.org/wiki/Mediawiki_edit_toolbar */
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`;
    });
});