diff --git a/js/tab-manager.js b/js/tab-manager.js index 3a46a4a..7bbfb04 100644 --- a/js/tab-manager.js +++ b/js/tab-manager.js @@ -4,6 +4,18 @@ function restore(groupID) { }); } +function restoreToNewWindow(groupID) { + function onCreated() { + restore(groupID); + } + + function onError(error) { + console.debug(`Error: ${error}`); + } + + var creating = browser.windows.create(); + creating.then(onCreated, onError); +} let store = {}; function initialise() { @@ -168,12 +180,9 @@ document.getElementById("group-list").addEventListener("click", (e) => { if (e.target && e.target.matches("button.delete-tab")) { let prop = e.target.getAttribute("prop"); let i = e.target.getAttribute("index"); - //deletes the group when the last element is deleted - if (store[prop].tabList.length == 1){ - return ( - browser.storage.local.remove(prop).then(window.location.reload()) - ); - + //deletes the group when the last element is deleted + if (store[prop].tabList.length == 1) { + return browser.storage.local.remove(prop).then(window.location.reload()); } store[prop].tabList.splice(i, 1); let out = { @@ -197,6 +206,12 @@ document.getElementById("group-list").addEventListener("click", (e) => { .catch((err) => console.debug(err)); } }); +document.getElementById("group-list").addEventListener("auxclick", (e) => { + if (e.target && e.target.matches("button.restore")) { + let prop = e.target.getAttribute("prop"); + if (e.button == 1) return restoreToNewWindow(prop); + } +}); document.getElementById("clear-storage-btn").addEventListener("click", () => { confirm("Yo homie ya ight?") &&