Tab-Search-and-Manage/src/scripts/searchTabs.js

49 lines
1.5 KiB
JavaScript

function findTabs(tabs) {
var selection = [];
if (searchBar.value != "") {
for (let tab of tabs) {
var title = tab.title;
if (title.toLowerCase().includes(searchBar.value.toLowerCase())) {
selection.push(tab);
}
}
if (selection.length > 1) {
logTabs(selection);
errHandler.style.display = "none";
clearNodes(errHandler);
} else {
if (selection[0] != undefined) {
searchBar.value = "";
errHandler.style.display = "none";
clearNodes(errHandler);
loadSelTab(selection[0].id);
getTabs();
} else {
errHandler.style.display = "block";
errHandler.appendChild(notFoundText);
}
}
} else { logTabs(tabs); }
}
function clearNodes(targetNode) {
while (targetNode.firstChild) {
targetNode.removeChild(targetNode.firstChild);
}
}
function loadSelTab(id) { browser.tabs.update(id, { active: true }); }
function searchTabs() {
var elm = document.getElementById("searchMode");
var currentMode = (elm.getAttribute("searchwindowsmode") == "false");
clearNodes(listZone);
if (currentMode == false) {
tabsAction.query({}).then(findTabs, onError);
} else {
tabsAction.query({currentWindow: currentMode})
.then(findTabs, onError)
}
}