Scrape data when opened and results don't exist

This commit is contained in:
buzz-lightsnack-2007 2024-05-06 09:09:11 +08:00
parent 3cd5fb2172
commit a1d5f1f315

View file

@ -42,12 +42,17 @@ class Page_Popup extends Page {
} }
// Update all other data. // Update all other data.
this[`status`] = (DATA[`status`]) this[`status`] = (DATA[`status`] != null)
? DATA[`status`] ? DATA[`status`]
// Accomodate data erasure. // Accomodate data erasure.
: ((this[`status`]) : ((this[`status`])
? this[`status`] ? this[`status`]
: {}); : {});
// Call for scraping of data if global data does not indicate automatic scraping or if data doesn't exist.
if (!await global.read([`settings`, `behavior`, `autoRun`]) && DATA[`status`] == null) {
this.send();
}
} }
async loading() { async loading() {
@ -72,7 +77,7 @@ class Page_Popup extends Page {
}); });
let PAGE = PAGES[((this[`status`][`done`]) let PAGE = PAGES[((this[`status`][`done`])
? ((this[`status`][`error`]) ? ((this[`status`][`error`] && this[`status`][`error`] != {})
? `error` ? `error`
: `results`) : `results`)
: `loading`)]; : `loading`)];
@ -104,14 +109,7 @@ class Page_Popup extends Page {
} }
}; };
events() { send() {
(document.querySelector(`[data-action="open,settings"]`)) ? document.querySelector(`[data-action="open,settings"]`).addEventListener("click", () => {
chrome.runtime.openOptionsPage();
}) : false;
(document.querySelector(`[data-action="open,help"]`)) ? document.querySelector(`[data-action="open,help"]`).addEventListener("click", () => {
new Window(`help.htm`);
}) : false;
(document.querySelector(`[data-action="analysis,reload"]`)) ? document.querySelector(`[data-action="analysis,reload"]`).addEventListener("click", () => {
try { try {
// Send a message to the content script. // Send a message to the content script.
Tabs.query(null, 0).then((TAB) => { Tabs.query(null, 0).then((TAB) => {
@ -121,6 +119,17 @@ class Page_Popup extends Page {
logging.error(err.name, err.message, err.stack); logging.error(err.name, err.message, err.stack);
throw (err); throw (err);
}; };
}
events() {
(document.querySelector(`[data-action="open,settings"]`)) ? document.querySelector(`[data-action="open,settings"]`).addEventListener("click", () => {
chrome.runtime.openOptionsPage();
}) : false;
(document.querySelector(`[data-action="open,help"]`)) ? document.querySelector(`[data-action="open,help"]`).addEventListener("click", () => {
new Window(`help.htm`);
}) : false;
(document.querySelector(`[data-action="analysis,reload"]`)) ? document.querySelector(`[data-action="analysis,reload"]`).addEventListener("click", () => {
this.send();
}) : false; }) : false;
} }
} }