parent
3c06f76ab3
commit
d2978510ca
4 changed files with 36 additions and 7 deletions
3
index.js
3
index.js
|
@ -1,9 +1,8 @@
|
|||
const {ContextualIdentityService} = require('resource://gre/modules/ContextualIdentityService.jsm');
|
||||
/* global require */
|
||||
const tabs = require('sdk/tabs');
|
||||
const webExtension = require('sdk/webextension');
|
||||
|
||||
function handleWebExtensionMessage(message, sender, sendReply) {
|
||||
console.log(message);
|
||||
switch (message) {
|
||||
case 'open-containers-preferences':
|
||||
tabs.open('about:preferences#containers');
|
||||
|
|
|
@ -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);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
|
@ -22,7 +22,9 @@
|
|||
"permissions": [
|
||||
"cookies",
|
||||
"experiments.contextualidentities",
|
||||
"contextualidentities"
|
||||
"contextualidentities",
|
||||
"tabs",
|
||||
"cookies"
|
||||
],
|
||||
|
||||
"browser_action": {
|
||||
|
@ -36,4 +38,3 @@
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
<h4>Containers</h4>
|
||||
</div>
|
||||
<div class="small-2 columns header-column">
|
||||
<img alt="Sort Containers" class="header-icon" src="/img/container-sort.svg">
|
||||
<a id="sort-containers-link"><img alt="Sort Containers" class="header-icon" src="/img/container-sort.svg"></a>
|
||||
</div>
|
||||
</div>
|
||||
<table class="unstriped hover">
|
||||
|
|
Loading…
Add table
Reference in a new issue