don’t read for storage data automatically

saves on resources for files that don’t necessarily need it
This commit is contained in:
buzzcode2007 2024-04-04 14:07:23 +08:00
parent 51574e0ba8
commit 333310fcc8

View file

@ -214,7 +214,91 @@ export default class windowman {
});
}
async function storage() {
elements();
text();
icons();
}
// Adds events to the window.
function events() {
/* Map buttons to their corresponding action buttons. */
function actions() {
function links() {
let buttons = document.querySelectorAll("button[href]");
if (buttons) {
buttons.forEach((button) => {
let event = function () {
// Get the data from the button.
let target = {};
target[`source`] = this.getAttribute(`href`);
// Get the correct path.
target[`path`] = (
!target[`source`].includes(`://`)
? window.location.pathname
.split(`/`)
.slice(0, -1)
.join(`/`)
.concat(`/`)
: ``
).concat(target[`source`]);
windowman.new(
target[`path`],
this.getAttribute(`tab-height`)
? this.getAttribute(`tab-height`)
: null,
this.getAttribute(`tab-width`)
? this.getAttribute(`tab-width`)
: null,
);
};
button.addEventListener("click", event);
});
}
}
// Responsiveness to different screen sizes.
function resize() {
function sidebar() {
if (document.querySelector(`.sidenav`)) {
(document.querySelectorAll(`.sidenav`)).forEach(function (sidebar_element) {
if (sidebar_element.getAttribute(`name`)) {
document.querySelector(`[works-sidebar="${sidebar_element.getAttribute(`name`)}"]`)
.addEventListener(`click`, function () {
M.Sidenav.getInstance(sidebar_element).open();
});
} else if (document.querySelector(`[data-action="ui,open,navbar"]`)) {
document.querySelector(`[data-action="ui,open,navbar"]`).forEach(function (button_element) {
button_element.addEventListener(`click`, function() {
M.Sidenav.getInstance(sidebar).open();
});
});
}
});
}
}
sidebar();
}
resize();
links();
}
actions();
}
headers();
appearance();
events();
}
/* Run this function if you would like to synchronize with data. */
sync() {
async function fill() {
// Import the module.
const secretariat = await import(
chrome.runtime.getURL("scripts/secretariat.js")
@ -254,16 +338,8 @@ export default class windowman {
});
}
elements();
text();
icons();
storage();
}
// Adds events to the window.
function events() {
/* Add events related to storage. */
async function storage() {
async function update() {
// Import the module.
const secretariat = await import(
chrome.runtime.getURL("scripts/secretariat.js")
@ -306,44 +382,46 @@ export default class windowman {
});
}
/* Map buttons to their corresponding action buttons. */
function actions() {
function links() {
let buttons = document.querySelectorAll("button[href]");
if (buttons) {
buttons.forEach((button) => {
let event = function () {
// Get the data from the button.
let target = {};
target[`source`] = this.getAttribute(`href`);
// Get the correct path.
target[`path`] = (
!target[`source`].includes(`://`)
? window.location.pathname
.split(`/`)
.slice(0, -1)
.join(`/`)
.concat(`/`)
: ``
).concat(target[`source`]);
windowman.new(
target[`path`],
this.getAttribute(`tab-height`)
? this.getAttribute(`tab-height`)
: null,
this.getAttribute(`tab-width`)
? this.getAttribute(`tab-width`)
: null,
/*
Update the interface based on the storage data changes.
*/
async function updates() {
// Import the module.
const secretariat = await import(
chrome.runtime.getURL("scripts/secretariat.js")
);
};
button.addEventListener("click", event);
// Get the storage data.
let storage_data = await secretariat.read();
async function enable() {
let input_elements = document.querySelectorAll("[data-enable]");
if (input_elements) {
input_elements.forEach((input_element) => {
if (input_element.getAttribute("data-enable")) {
(async () => {
input_element.disabled = !((await secretariat.read(input_element.getAttribute("data-enable"))) != null
? (typeof (await secretariat.read(input_element.getAttribute("data-enable")))).includes(`obj`)
? (Object.keys(await secretariat.read(input_element.getAttribute("data-enable")))).length > 0
: !!(await secretariat.read(
input_element.getAttribute("data-enable"),
))
: false);
})();
}
});
}
}
// Update the input elements.
secretariat.observe((what) => {
enable();
});
enable();
};
/* Enable the searching interface. */
function search() {
if (document.querySelectorAll(`[data-result]`)) {
@ -458,84 +536,10 @@ export default class windowman {
}
}
// Responsiveness to different screen sizes.
function resize() {
function sidebar() {
if (document.querySelector(`.sidenav`)) {
(document.querySelectorAll(`.sidenav`)).forEach(function (sidebar_element) {
if (sidebar_element.getAttribute(`name`)) {
document.querySelector(`[works-sidebar="${sidebar_element.getAttribute(`name`)}"]`)
.addEventListener(`click`, function () {
M.Sidenav.getInstance(sidebar_element).open();
});
} else if (document.querySelector(`[data-action="ui,open,navbar"]`)) {
document.querySelector(`[data-action="ui,open,navbar"]`).forEach(function (button_element) {
button_element.addEventListener(`click`, function() {
M.Sidenav.getInstance(sidebar).open();
});
});
}
});
}
}
sidebar();
}
resize();
search();
links();
}
/*
Update the interface based on the storage data changes.
*/
async function updates() {
// Import the module.
const secretariat = await import(
chrome.runtime.getURL("scripts/secretariat.js")
);
// Get the storage data.
let storage_data = await secretariat.read();
async function enable() {
let input_elements = document.querySelectorAll("[data-enable]");
if (input_elements) {
input_elements.forEach((input_element) => {
if (input_element.getAttribute("data-enable")) {
(async () => {
input_element.disabled = !((await secretariat.read(input_element.getAttribute("data-enable"))) != null
? (typeof (await secretariat.read(input_element.getAttribute("data-enable")))).includes(`obj`)
? (Object.keys(await secretariat.read(input_element.getAttribute("data-enable")))).length > 0
: !!(await secretariat.read(
input_element.getAttribute("data-enable"),
))
: false);
})();
}
});
}
}
// Update the input elements.
secretariat.observe((what) => {
enable();
});
enable();
}
storage();
actions();
fill();
update();
updates();
}
headers();
appearance();
events();
search();
}
}