Replace innerText method for buildOpenTabTable() function

This commit is contained in:
Maxx Crawford 2023-02-13 10:31:32 -06:00
parent ae69be9f39
commit 8adfaecd81
No known key found for this signature in database
GPG key ID: 71DBD3273B65FEF9

View file

@ -1041,17 +1041,37 @@ Logic.registerPanel(P_CONTAINER_INFO, {
const fragment = document.createDocumentFragment(); const fragment = document.createDocumentFragment();
for (let tab of tabs) { // eslint-disable-line prefer-const for (let tab of tabs) { // eslint-disable-line prefer-const
const tr = document.createElement("tr"); const tr = document.createElement("tr");
fragment.appendChild(tr);
tr.classList.add("menu-item", "hover-highlight", "keyboard-nav"); tr.classList.add("menu-item", "hover-highlight", "keyboard-nav");
tr.setAttribute("tabindex", "0"); tr.setAttribute("tabindex", "0");
tr.innerHTML = Utils.escaped`
<td> // Create <td>
<div class="favicon"></div> const tdMenuItem = document.createElement("td");
<span title="${tab.url}" class="menu-text truncate-text">${tab.title}</span>
<img id="${tab.id}" class="trash-button" src="/img/close.svg" /> // Create <div class="favicon"></div> and set context via createFavIconElement()
</td>`; const divFavIcon = document.createElement("div");
tr.querySelector(".favicon").appendChild(Utils.createFavIconElement(tab.favIconUrl)); divFavIcon.classList.add("favicon");
tr.setAttribute("tabindex", "0"); divFavIcon.appendChild(Utils.createFavIconElement(tab.favIconUrl));
// Create <span title="${tab.url}" class="menu-text truncate-text">${tab.title}</span>
const spanMenuTruncateText = document.createElement("span");
spanMenuTruncateText.classList.add("truncate-text");
spanMenuTruncateText.classList.add("menu-text");
spanMenuTruncateText.textContent = tab.title;
spanMenuTruncateText.title = tab.url;
// Create <img id="${tab.id}" class="trash-button" src="/img/close.svg" />
const imgTrashButton = document.createElement("img");
imgTrashButton.classList.add("trash-button");
imgTrashButton.src = "/img/close.svg";
imgTrashButton.id = tab.id;
// Append Children
// table > fragment > tr > td > divFavIcon | spanMenuTruncateText | imgTrashButton
tdMenuItem.appendChild(divFavIcon);
tdMenuItem.appendChild(spanMenuTruncateText);
tdMenuItem.appendChild(imgTrashButton);
tr.appendChild(tdMenuItem);
fragment.appendChild(tr);
table.appendChild(fragment); table.appendChild(fragment);
// On click, we activate this tab. But only if this tab is active. // On click, we activate this tab. But only if this tab is active.