add content switching for popup
This commit is contained in:
parent
b61100af02
commit
a3749c71d2
1 changed files with 50 additions and 2 deletions
|
@ -3,7 +3,7 @@
|
|||
*/
|
||||
|
||||
// Import modules.
|
||||
import {session} from "/scripts/secretariat.js";
|
||||
import {session, observe} from "/scripts/secretariat.js";
|
||||
import Window from "/scripts/GUI/window.js";
|
||||
import Page from "/scripts/pages/page.js";
|
||||
import Loader from "/scripts/GUI/loader.js";
|
||||
|
@ -13,10 +13,58 @@ class Page_Popup extends Page {
|
|||
super();
|
||||
(this.events) ? this.events() : false;
|
||||
this.content();
|
||||
this.background();
|
||||
};
|
||||
|
||||
content() {
|
||||
async background() {
|
||||
observe(() => {this.content();});
|
||||
}
|
||||
|
||||
async loading() {
|
||||
this.loading = new Loader();
|
||||
}
|
||||
|
||||
async switch() {
|
||||
// Get the last edited site.
|
||||
let SITE = {};
|
||||
SITE.url = await session.read([`last`]);
|
||||
SITE.details = await session.read([`sites`, SITE.url]);
|
||||
|
||||
let PAGES = {
|
||||
"results": "results.htm",
|
||||
"loading": "load.htm",
|
||||
"error": "error.htm"
|
||||
}
|
||||
|
||||
console.log(PAGES);
|
||||
// Set the relative chrome URLs
|
||||
(Object.keys(PAGES)).forEach(PAGE => {
|
||||
PAGES[PAGE] = chrome.runtime.getURL(`pages/popup/${PAGES[PAGE]}`);
|
||||
});
|
||||
|
||||
|
||||
// Check if the site is available.
|
||||
if (SITE.details == null) {
|
||||
this.elements[`frame`].src = PAGES[`loading`];
|
||||
} else if (SITE.details.error) {
|
||||
// Set the iframe src to display the error.
|
||||
this.elements[`frame`].src = PAGES[`error`];
|
||||
} else {
|
||||
// Set the iframe src to display the results.
|
||||
this.elements[`frame`].src = PAGES[`results`];
|
||||
}
|
||||
}
|
||||
|
||||
async content() {
|
||||
this.elements = {};
|
||||
this.elements[`frame`] = document.querySelectorAll(`iframe.viewer`);
|
||||
|
||||
// Check if the frame is available.
|
||||
if (this.elements[`frame`].length) {
|
||||
this.switch()
|
||||
} else {
|
||||
this.loading();
|
||||
}
|
||||
};
|
||||
|
||||
events() {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue