MediaWiki:Common.js: Difference between revisions

From ZAMN Hacking
Content added Content deleted
No edit summary
No edit summary
Line 2: Line 2:


// Extra functionality for RAM/ROM maps
// Extra functionality for RAM/ROM maps

// Sort table by the first column
function trySort() {
function trySort() {
var rerun = false;
var rerun = false;
Line 25: Line 27:
setTimeout(trySort, 10);
setTimeout(trySort, 10);


// Add the ending address to the length column
$(function() {
$(function() {
var tables = document.getElementsByClassName("ram_rom_map");
var tables = document.getElementsByClassName("ram_rom_map");
for (var i = 0; i < tables.length; i++) {
for (var i = 0; i < tables.length; i++) {
var table = tables[i];
var table = tables[i];
// Sort table by the first column
table.getElementsByTagName("th")[0].click();
// Add the ending address to the length column
var rows = table.getElementsByTagName("tbody")[0].children;
var rows = table.getElementsByTagName("tbody")[0].children;
for (var j = 0; j < rows.length; j++) {
for (var j = 0; j < rows.length; j++) {

Revision as of 01:43, 8 April 2024

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

// Extra functionality for RAM/ROM maps

// Sort table by the first column
function trySort() {
	var rerun = false;
	
	var tables = document.getElementsByClassName("ram_rom_map");
	for (var i = 0; i < tables.length; i++) {
		var table = tables[i];
		
		var header = table.getElementsByTagName("th")[0];
		if (header.classList.contains("headerSort")) {
			if (!header.classList.contains("headerSortUp")) {
				header.click();
			}
		} else {
			rerun = true;
		}
	}
	
	if (rerun) {
		setTimeout(trySort, 10);
	}
}
setTimeout(trySort, 10);

// Add the ending address to the length column
$(function() {
	var tables = document.getElementsByClassName("ram_rom_map");
	for (var i = 0; i < tables.length; i++) {
		var table = tables[i];
		
		var rows = table.getElementsByTagName("tbody")[0].children;
		for (var j = 0; j < rows.length; j++) {
			var row = rows[j];
			var address = row.children[0].innerText;
			var length = parseInt(row.children[1].innerText);
			var endAddress = address.substr(0, 4) + (parseInt(address.substr(4, 4), 16) + length).toString(16).padStart(4, "0").toUpperCase();
			row.children[1].title = "[" + address + ", " + endAddress + ")";
		}
	}
});