UNPKG

solid-panes

Version:

Solid-compatible Panes: applets and views for the mashlib and databrowser

55 lines (53 loc) 1.76 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.initMainPage = initMainPage; Object.defineProperty(exports, "refreshHeader", { enumerable: true, get: function () { return _header.refreshHeader; } }); exports.refreshUI = refreshUI; Object.defineProperty(exports, "updateMenuLayout", { enumerable: true, get: function () { return _menu.refreshMenu; } }); var _index = require("../index"); var _header = require("./header"); var _footer = require("./footer"); var _menu = require("./menu"); /* Main Page ** ** This code is called in mashlib and renders the header and footer of the Databrowser. */ function ensureMainContent() { let main = document.getElementById('MainContent'); if (!main) { main = document.createElement('main'); main.id = 'MainContent'; main.setAttribute('role', 'main'); main.setAttribute('tabindex', '-1'); main.setAttribute('aria-live', 'polite'); document.body.appendChild(main); } return main; } async function initMainPage(store, uri, environment) { ensureMainContent(); const outliner = (0, _index.getOutliner)(document, environment); uri = uri || window.location.href; const subject = typeof uri === 'string' ? store.sym(uri) : uri; outliner.GotoSubject(subject, true, undefined, true, undefined); const header = await (0, _header.createHeader)(store, outliner); const menu = (0, _menu.createLeftSideMenu)(subject, outliner); const footer = menu.then(() => (0, _footer.createFooter)(store)); return Promise.all([header, menu, footer]); } async function refreshUI(outliner) { await (0, _header.refreshHeader)(outliner); (0, _menu.refreshMenu)(outliner.context.environment?.layout === 'mobile' ? 'mobile' : 'desktop'); }