fix #9: implement sorting tabs by container (#23)

This commit is contained in:
luke crouch
2016-12-29 09:09:19 -06:00
committed by Jonathan Kingston
parent 3c06f76ab3
commit d2978510ca
4 changed files with 36 additions and 7 deletions
+31 -2
View File
@@ -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 = `
<tr data-identity-cookie-store-id="${identity.cookieStoreId}" >
<td><div class="userContext-icon"
@@ -70,3 +70,32 @@ document.querySelector('#edit-containers-link').addEventListener('click', ()=> {
window.close();
});
});
function moveTabs(sortedTabsArray) {
let positionIndex = 0;
sortedTabsArray.forEach(tabID=> {
browser.tabs.move(tabID, {index: positionIndex});
positionIndex++;
});
}
document.querySelector('#sort-containers-link').addEventListener('click', ()=> {
browser.contextualIdentities.query({}).then(identities=> {
identities.unshift({cookieStoreId: 'firefox-default'});
browser.tabs.query({}).then(tabsArray=> {
const sortedTabsArray = [];
identities.forEach(identity=> {
tabsArray.forEach(tab=> {
if (tab.cookieStoreId === identity.cookieStoreId) {
sortedTabsArray.push(tab.id);
}
});
});
moveTabs(sortedTabsArray);
});
});
});