From 1dc7e2a9774fe2027aadb12a0e168856bc794b8e Mon Sep 17 00:00:00 2001 From: groovecoder Date: Thu, 22 Dec 2016 14:50:14 -0600 Subject: [PATCH] for #9: start tab sorting code for #9: nested callbacks are better than promise abuse --- webextension/js/popup.js | 30 ++++++++++++++++++++++++++++-- webextension/manifest.json | 4 +++- webextension/popup.html | 2 +- 3 files changed, 32 insertions(+), 4 deletions(-) diff --git a/webextension/js/popup.js b/webextension/js/popup.js index feb3147..7b45be2 100644 --- a/webextension/js/popup.js +++ b/webextension/js/popup.js @@ -16,10 +16,10 @@ function showContainer(containerId) { browser.contextualIdentities.show(containerId); } -browser.contextualIdentities.query({}).then(identites=> { +browser.contextualIdentities.query({}).then(identities=> { const identitiesListElement = document.querySelector('.identities-list'); - identites.forEach(identity=> { + identities.forEach(identity=> { const identityRow = `
{ window.close(); }); }); + +function moveTabs(sortedTabsArray) { + console.log('sortedTabsArray: ', sortedTabsArray); +} + +document.querySelector('#sort-containers-link').addEventListener('click', ()=> { + browser.contextualIdentities.query({}).then(identities=> { + identities.unshift({cookieStoreId: 'firefox-default'}); + console.log('identities: ', identities); + + browser.tabs.query({}).then(tabsArray=> { + console.log('tabsArray: ', tabsArray); + const sortedTabsArray = []; + + identities.forEach(identity=> { + tabsArray.forEach(tab=> { + if (tab.cookieStoreId === identity.cookieStoreId) { + sortedTabsArray.push(tab.id); + } + }); + }); + + moveTabs(sortedTabsArray); + }); + }); +}); diff --git a/webextension/manifest.json b/webextension/manifest.json index 4079e5c..e617cee 100644 --- a/webextension/manifest.json +++ b/webextension/manifest.json @@ -22,7 +22,9 @@ "permissions": [ "cookies", "experiments.contextualidentities", - "contextualidentities" + "contextualidentities", + "tabs", + "cookies" ], "browser_action": { diff --git a/webextension/popup.html b/webextension/popup.html index 879795b..d79c7e4 100644 --- a/webextension/popup.html +++ b/webextension/popup.html @@ -14,7 +14,7 @@

Containers

- Sort Containers + Sort Containers