mirror of
https://github.com/LizardByte/Sunshine.git
synced 2024-12-28 00:18:14 +00:00
38 lines
1.3 KiB
JavaScript
38 lines
1.3 KiB
JavaScript
|
/**
|
||
|
* @brief Add a button to open the configuration option for each table
|
||
|
*/
|
||
|
document.addEventListener("DOMContentLoaded", function() {
|
||
|
const tables = document.querySelectorAll("table");
|
||
|
tables.forEach(table => {
|
||
|
if (table.className !== "doxtable") {
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
let previousElement = table.previousElementSibling;
|
||
|
while (previousElement && previousElement.tagName !== "H2") {
|
||
|
previousElement = previousElement.previousElementSibling;
|
||
|
}
|
||
|
if (previousElement && previousElement.textContent) {
|
||
|
const sectionId = previousElement.textContent.trim().toLowerCase();
|
||
|
const newRow = document.createElement("tr");
|
||
|
|
||
|
const newCell = document.createElement("td");
|
||
|
newCell.setAttribute("colspan", "3");
|
||
|
|
||
|
const newCode = document.createElement("code");
|
||
|
newCode.className = "open-button";
|
||
|
newCode.setAttribute("onclick", `window.open('https://${document.getElementById('host-authority').value}/config/#${sectionId}', '_blank')`);
|
||
|
newCode.textContent = "Open";
|
||
|
|
||
|
newCell.appendChild(newCode);
|
||
|
newRow.appendChild(newCell);
|
||
|
|
||
|
// get the table body
|
||
|
const tbody = table.querySelector("tbody");
|
||
|
|
||
|
// Insert at the beginning of the table
|
||
|
tbody.insertBefore(newRow, tbody.firstChild);
|
||
|
}
|
||
|
});
|
||
|
});
|