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,6 +109,18 @@ class Page_Popup extends Page {
} }
}; };
send() {
try {
// Send a message to the content script.
Tabs.query(null, 0).then((TAB) => {
chrome.tabs.sendMessage(TAB.id, {"refresh": true});
});
} catch(err) {
logging.error(err.name, err.message, err.stack);
throw (err);
};
}
events() { events() {
(document.querySelector(`[data-action="open,settings"]`)) ? document.querySelector(`[data-action="open,settings"]`).addEventListener("click", () => { (document.querySelector(`[data-action="open,settings"]`)) ? document.querySelector(`[data-action="open,settings"]`).addEventListener("click", () => {
chrome.runtime.openOptionsPage(); chrome.runtime.openOptionsPage();
@ -112,15 +129,7 @@ class Page_Popup extends Page {
new Window(`help.htm`); new Window(`help.htm`);
}) : false; }) : false;
(document.querySelector(`[data-action="analysis,reload"]`)) ? document.querySelector(`[data-action="analysis,reload"]`).addEventListener("click", () => { (document.querySelector(`[data-action="analysis,reload"]`)) ? document.querySelector(`[data-action="analysis,reload"]`).addEventListener("click", () => {
try { this.send();
// Send a message to the content script.
Tabs.query(null, 0).then((TAB) => {
chrome.tabs.sendMessage(TAB.id, {"refresh": true});
});
} catch(err) {
logging.error(err.name, err.message, err.stack);
throw (err);
};
}) : false; }) : false;
} }
} }