mirror of
https://github.com/BetterSEQTA/BetterSEQTA-Plus.git
synced 2026-06-06 03:34:40 +00:00
fix sidebar configuration saving not working
This commit is contained in:
+35
-16
@@ -894,6 +894,7 @@ function addExtensionSettings() {
|
|||||||
|
|
||||||
function saveNewOrder(sortable) {
|
function saveNewOrder(sortable) {
|
||||||
var order = sortable.toArray();
|
var order = sortable.toArray();
|
||||||
|
console.log("Order: ", order);
|
||||||
browser.storage.local.set({ menuorder: order });
|
browser.storage.local.set({ menuorder: order });
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -971,11 +972,13 @@ export function OpenMenuOptions() {
|
|||||||
).firstChild;
|
).firstChild;
|
||||||
element.append(MenuItemToggle);
|
element.append(MenuItemToggle);
|
||||||
|
|
||||||
const replacementElement = document.createElement('section');
|
if (!element.dataset.betterseqta) {
|
||||||
replacementElement.innerHTML = element.innerHTML;
|
const a = document.createElement('section')
|
||||||
cloneAttributes(replacementElement, element);
|
a.innerHTML = element.innerHTML
|
||||||
menu.firstChild.insertBefore(replacementElement, element);
|
cloneAttributes(a, element)
|
||||||
element.remove();
|
menu.firstChild.insertBefore(a, element)
|
||||||
|
element.remove()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Object.keys(result.menuitems).length == 0) {
|
if (Object.keys(result.menuitems).length == 0) {
|
||||||
@@ -1007,6 +1010,7 @@ export function OpenMenuOptions() {
|
|||||||
}
|
}
|
||||||
result1.then(open, onError);
|
result1.then(open, onError);
|
||||||
|
|
||||||
|
try {
|
||||||
Sortable.mount(new AutoScroll());
|
Sortable.mount(new AutoScroll());
|
||||||
|
|
||||||
var el = document.querySelector('#menu > ul');
|
var el = document.querySelector('#menu > ul');
|
||||||
@@ -1016,12 +1020,11 @@ export function OpenMenuOptions() {
|
|||||||
animation: 150,
|
animation: 150,
|
||||||
easing: "cubic-bezier(.5,0,.5,1)",
|
easing: "cubic-bezier(.5,0,.5,1)",
|
||||||
onEnd: function () {
|
onEnd: function () {
|
||||||
saveNewOrder(sortable); // Save the new order when drag ends
|
saveNewOrder(sortable);
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
} catch (err) {
|
||||||
function StoreMenuSettings() {
|
console.log(err);
|
||||||
saveNewOrder(sortable);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function changeDisplayProperty(element) {
|
function changeDisplayProperty(element) {
|
||||||
@@ -1037,15 +1040,31 @@ export function OpenMenuOptions() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function StoreMenuSettings() {
|
||||||
|
const menuItems = {}
|
||||||
|
const menubuttons = menu.firstChild.childNodes
|
||||||
|
const button = document.getElementsByClassName('menuitem')
|
||||||
|
for (let i = 0; i < menubuttons.length; i++) {
|
||||||
|
const id = menubuttons[i].dataset.key
|
||||||
|
const element = {}
|
||||||
|
element.toggle = button[i].checked
|
||||||
|
|
||||||
|
menuItems[id] = element
|
||||||
|
}
|
||||||
|
browser.storage.local.set({ menuitems: menuItems })
|
||||||
|
}
|
||||||
|
|
||||||
for (let i = 0; i < menubuttons.length; i++) {
|
for (let i = 0; i < menubuttons.length; i++) {
|
||||||
const element = menubuttons[i];
|
const element = menubuttons[i];
|
||||||
element.addEventListener('change', () => {
|
element.addEventListener('change', () => {
|
||||||
|
element.parentElement.parentElement.getAttribute('data-key');
|
||||||
StoreMenuSettings();
|
StoreMenuSettings();
|
||||||
changeDisplayProperty(element);
|
changeDisplayProperty(element);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function closeAll() {
|
function closeAll() {
|
||||||
|
console.log("Closing!");
|
||||||
ListItems = menu.firstChild.childNodes;
|
ListItems = menu.firstChild.childNodes;
|
||||||
menusettings.remove();
|
menusettings.remove();
|
||||||
cover.remove();
|
cover.remove();
|
||||||
@@ -1057,12 +1076,13 @@ export function OpenMenuOptions() {
|
|||||||
element.classList.remove('draggable');
|
element.classList.remove('draggable');
|
||||||
element.setAttribute('draggable', false);
|
element.setAttribute('draggable', false);
|
||||||
|
|
||||||
|
|
||||||
if (!element.dataset.betterseqta) {
|
if (!element.dataset.betterseqta) {
|
||||||
var a = document.createElement('li');
|
const a = document.createElement('li')
|
||||||
a.innerHTML = element.innerHTML;
|
a.innerHTML = element.innerHTML
|
||||||
cloneAttributes(a, element);
|
cloneAttributes(a, element)
|
||||||
menu.firstChild.insertBefore(a, element);
|
menu.firstChild.insertBefore(a, element)
|
||||||
element.remove();
|
element.remove()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1071,7 +1091,6 @@ export function OpenMenuOptions() {
|
|||||||
switches[i].remove();
|
switches[i].remove();
|
||||||
}
|
}
|
||||||
|
|
||||||
StoreMenuSettings();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
cover.addEventListener('click', closeAll);
|
cover.addEventListener('click', closeAll);
|
||||||
@@ -1093,7 +1112,7 @@ export function OpenMenuOptions() {
|
|||||||
'important',
|
'important',
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
StoreMenuSettings();
|
saveNewOrder(sortable);
|
||||||
}
|
}
|
||||||
result.then(open, onError)
|
result.then(open, onError)
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ export class MessageHandler {
|
|||||||
|
|
||||||
case 'EditSidebar':
|
case 'EditSidebar':
|
||||||
this.editSidebar();
|
this.editSidebar();
|
||||||
|
sendResponse({ status: 'success' });
|
||||||
break;
|
break;
|
||||||
|
|
||||||
/* Theme related */
|
/* Theme related */
|
||||||
|
|||||||
Reference in New Issue
Block a user