fix sidebar configuration saving not working

This commit is contained in:
SethBurkart123
2023-12-03 11:13:17 +11:00
parent 2d45e6e24b
commit 4c905f54a3
2 changed files with 47 additions and 27 deletions
+46 -27
View File
@@ -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,21 +1010,21 @@ export function OpenMenuOptions() {
} }
result1.then(open, onError); result1.then(open, onError);
Sortable.mount(new AutoScroll()); try {
Sortable.mount(new AutoScroll());
var el = document.querySelector('#menu > ul');
var sortable = Sortable.create(el, { var el = document.querySelector('#menu > ul');
draggable: '.draggable', var sortable = Sortable.create(el, {
dataIdAttr: 'data-key', draggable: '.draggable',
animation: 150, dataIdAttr: 'data-key',
easing: "cubic-bezier(.5,0,.5,1)", animation: 150,
onEnd: function () { easing: "cubic-bezier(.5,0,.5,1)",
saveNewOrder(sortable); // Save the new order when drag ends onEnd: function () {
}, saveNewOrder(sortable);
}); },
});
function StoreMenuSettings() { } catch (err) {
saveNewOrder(sortable); console.log(err);
} }
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)
}); });
+1
View File
@@ -13,6 +13,7 @@ export class MessageHandler {
case 'EditSidebar': case 'EditSidebar':
this.editSidebar(); this.editSidebar();
sendResponse({ status: 'success' });
break; break;
/* Theme related */ /* Theme related */