improve import method

This commit is contained in:
buzz-lightsnack-2007 2024-05-12 19:54:37 +08:00
parent 16e57f45fc
commit be0f4334f7

View file

@ -3,13 +3,15 @@
*/
// Import modules.
//import { windowman } from "../windowman.js";
import {global} from "/scripts/secretariat.js";
import Page from "/scripts/pages/page.js";
import texts from "/scripts/mapping/read.js";
import filters from "/scripts/filters.js";
import logging from "/scripts/logging.js";
class Page_Settings extends Page {
data = {};
constructor() {
super();
(this.events) ? this.events() : false;
@ -37,51 +39,47 @@ class Page_Settings extends Page {
.querySelector(`[data-action="filters,add,one"]`)
.addEventListener(`click`, async () => {
// Import the filters module.
let filters = new (
await import(chrome.runtime.getURL(`scripts/filters.js`))
).default();
this.data.filters = (this.data.filters) ? this.data.filters : new filters();
let filter_source = prompt(
texts.localized(`settings_filters_add_prompt`),
);
if (filter_source ? filter_source.trim() : false) {
filters.update(filter_source.trim());
// Update all of the filters.
filters.update(`*`);
})
: false;
(document.querySelector(`[data-action="filters,add,one"]`))
? document.querySelector(`[data-action="filters,add,one"]`).addEventListener(`click`, async () => {
// Import the filters module.
this.data.filters = (this.data.filters) ? this.data.filters : new filters();
// Request for the filter URL.
let FILTER_SOURCE = prompt(texts.localized(`settings_filters_add_prompt`));
// Update the filter if the source is not empty.
if (FILTER_SOURCE ? FILTER_SOURCE.trim() : false) {
this.data.filters.update(FILTER_SOURCE.trim());
};
});
}
if (document.querySelector(`[data-action="filters,update,one"]`)) {
document
.querySelector(`[data-action="filters,update,one"]`)
.addEventListener(`click`, async () => {
// Import the filters module.
const texts = (
await import(chrome.runtime.getURL(`/scripts/mapping/read.js`))
).default;
let filters = new (
await import(chrome.runtime.getURL(`scripts/filters.js`))
).default();
})
: false;
(document.querySelector(`[data-action="filters,update,one"]`))
? document.querySelector(`[data-action="filters,update,one"]`).addEventListener(`click`, async () => {
this.data.filters = (this.data.filters) ? this.data.filters : new filters();
// Open text input window for adding a filter.
let filter_source = (document.querySelector(`[data-result-linked="filters"] [data-result-content="*"]`)) ? document.querySelector(`[data-result-linked="filters"] [data-result-content="*"]`).innerText : prompt(texts.localized(`settings_filters_add_prompt`));
if (filter_source ? filter_source.trim() : false) {
filters.update(filter_source.trim());
this.data.filters.update(filter_source.trim());
};
});
}
})
: false;
if (document.querySelector(`[data-action="filters,delete,one"]`)) {
document
.querySelector(`[data-action="filters,delete,one"]`)
.addEventListener(`click`, async () => {
// Import the filters module.
let filters = new (
await import(chrome.runtime.getURL(`scripts/filters.js`))
).default();
document.querySelector(`[data-action="filters,delete,one"]`).addEventListener(`click`, async () => {
this.data.filters = (this.data.filters) ? this.data.filters : new filters();
// Open text input window for adding a filter.
let filter_source = (document.querySelector(`[data-result-linked="filters"] [data-result-content="*"]`)) ? document.querySelector(`[data-result-linked="filters"] [data-result-content="*"]`).innerText : prompt(texts.localized(`settings_filters_remove_prompt`));
if (filter_source ? filter_source.trim() : false) {
filters.remove(filter_source.trim());
this.data.filters.remove(filter_source.trim());
}
});
}
@ -101,8 +99,8 @@ class Page_Settings extends Page {
? document.querySelector(`[data-action="storage,clear"]`).addEventListener(`click`, async () => {
await global.forget(`sites`);
console.log(await global.read(null, 1), await global.read(null, -1));
});
}
})
: false;
(document.querySelectorAll(`[data-action]`)).forEach((ELEMENT) => {
ELEMENT.removeAttribute(`data-action`);