Fixing the assignment toggle for when a different container is open. Fixes #611
This commit is contained in:
parent
8c92d8ef5d
commit
0566c9f962
2 changed files with 13 additions and 8 deletions
|
@ -254,7 +254,9 @@ const assignManager = {
|
||||||
// ✓ This is to mitigate https://bugzilla.mozilla.org/show_bug.cgi?id=1351418
|
// ✓ This is to mitigate https://bugzilla.mozilla.org/show_bug.cgi?id=1351418
|
||||||
let prefix = " "; // Alignment of non breaking space, unknown why this requires so many spaces to align with the tick
|
let prefix = " "; // Alignment of non breaking space, unknown why this requires so many spaces to align with the tick
|
||||||
let menuId = this.MENU_ASSIGN_ID;
|
let menuId = this.MENU_ASSIGN_ID;
|
||||||
if (siteSettings) {
|
const tabUserContextId = this.getUserContextIdFromCookieStore(tab);
|
||||||
|
if (siteSettings &&
|
||||||
|
Number(siteSettings.userContextId) === Number(tabUserContextId)) {
|
||||||
prefix = "✓";
|
prefix = "✓";
|
||||||
menuId = this.MENU_REMOVE_ID;
|
menuId = this.MENU_REMOVE_ID;
|
||||||
}
|
}
|
||||||
|
|
|
@ -467,10 +467,13 @@ Logic.registerPanel(P_CONTAINERS_LIST, {
|
||||||
browser.tabs.onUpdated.removeListener(this.tabUpdateHandler);
|
browser.tabs.onUpdated.removeListener(this.tabUpdateHandler);
|
||||||
},
|
},
|
||||||
|
|
||||||
setupAssignmentCheckbox(siteSettings) {
|
setupAssignmentCheckbox(siteSettings, currentUserContextId) {
|
||||||
const assignmentCheckboxElement = document.getElementById("container-page-assigned");
|
const assignmentCheckboxElement = document.getElementById("container-page-assigned");
|
||||||
// Cater for null and false
|
let checked = false;
|
||||||
assignmentCheckboxElement.checked = !!siteSettings;
|
if (siteSettings && Number(siteSettings.userContextId) === currentUserContextId) {
|
||||||
|
checked = true;
|
||||||
|
}
|
||||||
|
assignmentCheckboxElement.checked = checked;
|
||||||
let disabled = false;
|
let disabled = false;
|
||||||
if (siteSettings === false) {
|
if (siteSettings === false) {
|
||||||
disabled = true;
|
disabled = true;
|
||||||
|
@ -482,16 +485,16 @@ Logic.registerPanel(P_CONTAINERS_LIST, {
|
||||||
const currentTab = await Logic.currentTab();
|
const currentTab = await Logic.currentTab();
|
||||||
const currentTabElement = document.getElementById("current-tab");
|
const currentTabElement = document.getElementById("current-tab");
|
||||||
const assignmentCheckboxElement = document.getElementById("container-page-assigned");
|
const assignmentCheckboxElement = document.getElementById("container-page-assigned");
|
||||||
|
const currentTabUserContextId = Logic.userContextId(currentTab.cookieStoreId);
|
||||||
assignmentCheckboxElement.addEventListener("change", () => {
|
assignmentCheckboxElement.addEventListener("change", () => {
|
||||||
const userContextId = Logic.userContextId(currentTab.cookieStoreId);
|
Logic.setOrRemoveAssignment(currentTab.id, currentTab.url, currentTabUserContextId, !assignmentCheckboxElement.checked);
|
||||||
Logic.setOrRemoveAssignment(currentTab.id, currentTab.url, userContextId, !assignmentCheckboxElement.checked);
|
|
||||||
});
|
});
|
||||||
currentTabElement.hidden = !currentTab;
|
currentTabElement.hidden = !currentTab;
|
||||||
this.setupAssignmentCheckbox(false);
|
this.setupAssignmentCheckbox(false, currentTabUserContextId);
|
||||||
if (currentTab) {
|
if (currentTab) {
|
||||||
const identity = await Logic.identity(currentTab.cookieStoreId);
|
const identity = await Logic.identity(currentTab.cookieStoreId);
|
||||||
const siteSettings = await Logic.getAssignment(currentTab);
|
const siteSettings = await Logic.getAssignment(currentTab);
|
||||||
this.setupAssignmentCheckbox(siteSettings);
|
this.setupAssignmentCheckbox(siteSettings, currentTabUserContextId);
|
||||||
const currentPage = document.getElementById("current-page");
|
const currentPage = document.getElementById("current-page");
|
||||||
currentPage.innerHTML = escaped`<span class="page-title truncate-text">${currentTab.title}</span>`;
|
currentPage.innerHTML = escaped`<span class="page-title truncate-text">${currentTab.title}</span>`;
|
||||||
const favIconElement = Utils.createFavIconElement(currentTab.favIconUrl || "");
|
const favIconElement = Utils.createFavIconElement(currentTab.favIconUrl || "");
|
||||||
|
|
Loading…
Add table
Reference in a new issue