MediaWiki:Common.js: Difference between revisions
Content deleted Content added
Piranhaplant (talk | contribs) No edit summary |
Piranhaplant (talk | contribs) No edit summary |
||
(17 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
/* 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. */ |
||
function runUntilSuccess(f) { |
|||
(function run() { |
|||
if (!f()) { |
|||
setTimeout(run, 10); |
|||
} |
|||
})(); |
|||
} |
|||
// Extra functionality for RAM/ROM maps |
// Extra functionality for RAM/ROM maps |
||
⚫ | |||
/*runUntilSuccess(function() { |
|||
var tables = document.getElementsByClassName("ram_rom_map"); |
|||
⚫ | |||
var table = tables[i]; |
|||
⚫ | |||
if (header.classList.contains("headerSort")) { |
|||
if (!header.classList.contains("headerSortUp")) { |
|||
header.click(); |
|||
} |
|||
} else { |
|||
return false; |
|||
} |
|||
} |
|||
return true; |
|||
});*/ |
|||
⚫ | |||
$(function() { |
$(function() { |
||
var tables = document.getElementsByClassName("ram_rom_map"); |
|||
for ( |
for (var i = 0; i < tables.length; i++) { |
||
var table = tables[i]; |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
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); |
|||
⚫ | |||
const length = parseInt(row.children[1].innerText); |
|||
⚫ | |||
row.children[1].title = "[" + address + ", " + endAddress + ")"; |
row.children[1].title = "[" + address + ", " + endAddress + ")"; |
||
} |
} |
||
} |
} |
||
}); |
|||
// Modify BPMN chart embeds to be just the SVG |
|||
runUntilSuccess(function() { |
|||
if (document.getElementsByClassName("bpmn_embed").length > 0) { |
|||
var canvas = document.getElementById("canvas"); |
|||
var parent = canvas.parentElement; |
|||
var svgs = canvas.getElementsByTagName("svg"); |
|||
if (svgs.length == 0 || svgs[0].getAttribute("data-element-id") == null) { |
|||
return false; |
|||
} |
|||
var clone = svgs[0].cloneNode(true); |
|||
canvas.remove(); |
|||
parent.appendChild(clone); |
|||
var bbox = clone.getBBox(); |
|||
clone.setAttribute("width", bbox.width + "px"); |
|||
clone.setAttribute("height", bbox.height + "px"); |
|||
clone.setAttribute("viewBox", bbox.x + " " + bbox.y + " " + bbox.width + " " + bbox.height); |
|||
var div = parent.parentElement; |
|||
div.style.height = "auto"; |
|||
} |
|||
return true; |
|||
}); |
}); |
Latest revision as of 03:12, 13 August 2024
/* Any JavaScript here will be loaded for all users on every page load. */
function runUntilSuccess(f) {
(function run() {
if (!f()) {
setTimeout(run, 10);
}
})();
}
// Extra functionality for RAM/ROM maps
// Sort table by the first column
/*runUntilSuccess(function() {
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 {
return false;
}
}
return true;
});*/
// 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 + ")";
}
}
});
// Modify BPMN chart embeds to be just the SVG
runUntilSuccess(function() {
if (document.getElementsByClassName("bpmn_embed").length > 0) {
var canvas = document.getElementById("canvas");
var parent = canvas.parentElement;
var svgs = canvas.getElementsByTagName("svg");
if (svgs.length == 0 || svgs[0].getAttribute("data-element-id") == null) {
return false;
}
var clone = svgs[0].cloneNode(true);
canvas.remove();
parent.appendChild(clone);
var bbox = clone.getBBox();
clone.setAttribute("width", bbox.width + "px");
clone.setAttribute("height", bbox.height + "px");
clone.setAttribute("viewBox", bbox.x + " " + bbox.y + " " + bbox.width + " " + bbox.height);
var div = parent.parentElement;
div.style.height = "auto";
}
return true;
});