feat: expose graphic screens in sidebar
This commit is contained in:
@@ -215,9 +215,11 @@ async function readShell() {
|
||||
const workspaceRegion = document.getElementById("workspace-region");
|
||||
const navigationToggle = document.getElementById("workspace-nav-toggle");
|
||||
const stockTab = document.getElementById("workspace-stock-tab");
|
||||
const catalogTab = document.getElementById("workspace-catalog-tab");
|
||||
const marketTabs = Array.from(document.querySelectorAll("#market-tabs > button[data-tab-id]"));
|
||||
const settingsTab = document.getElementById("workspace-settings-tab");
|
||||
const stockWorkspace = document.getElementById("stock-workspace");
|
||||
const catalogWorkspace = document.getElementById("catalog-workspace");
|
||||
const settingsWorkspace = document.getElementById("settings-workspace");
|
||||
const schedule = document.querySelector(".playlist-panel");
|
||||
const workspaceBounds = rectangle(workspaceRegion);
|
||||
const scheduleBounds = rectangle(schedule);
|
||||
@@ -250,13 +252,25 @@ async function readShell() {
|
||||
navigationExpanded: navigationToggle?.getAttribute("aria-expanded") === "true" &&
|
||||
workspaceRegion?.classList.contains("nav-collapsed") !== true,
|
||||
stockTabCurrent: stockTab?.getAttribute("aria-current") || null,
|
||||
catalogTabCurrent: catalogTab?.getAttribute("aria-current") || null,
|
||||
marketTabCount: marketTabs.length,
|
||||
marketTabsCurrent: marketTabs.map(button => ({
|
||||
tabId: button.dataset.tabId,
|
||||
current: button.getAttribute("aria-current") || null,
|
||||
hasIcon: Boolean(button.querySelector("svg")),
|
||||
hasLabel: Boolean(button.querySelector(".workspace-nav-label"))
|
||||
})),
|
||||
settingsTabCurrent: settingsTab?.getAttribute("aria-current") || null,
|
||||
currentMenuItemCount: document.querySelectorAll(
|
||||
"#workspace-navigation .workspace-nav-item[aria-current='page']").length,
|
||||
stockWorkspaceVisible: isVisible(stockWorkspace, rectangle(stockWorkspace)) &&
|
||||
stockWorkspace?.getAttribute("aria-hidden") === "false" &&
|
||||
stockWorkspace?.hasAttribute("inert") !== true,
|
||||
catalogWorkspaceHidden: catalogWorkspace?.hidden === true &&
|
||||
catalogWorkspace?.getAttribute("aria-hidden") === "true" &&
|
||||
catalogWorkspace?.hasAttribute("inert") === true,
|
||||
settingsWorkspaceHidden: settingsWorkspace?.hidden === true &&
|
||||
settingsWorkspace?.getAttribute("aria-hidden") === "true" &&
|
||||
settingsWorkspace?.hasAttribute("inert") === true,
|
||||
workspace: workspaceBounds,
|
||||
schedule: scheduleBounds,
|
||||
workspaceToScheduleWidthRatio: workspaceBounds && scheduleBounds &&
|
||||
@@ -286,8 +300,13 @@ function assertShell(shell) {
|
||||
const layout = shell.layout;
|
||||
if (!layout || layout.activeWorkspace !== "stock" ||
|
||||
layout.navigationExpanded !== true ||
|
||||
layout.stockTabCurrent !== "page" || layout.catalogTabCurrent !== "false" ||
|
||||
layout.stockWorkspaceVisible !== true || layout.catalogWorkspaceHidden !== true) {
|
||||
layout.stockTabCurrent !== "page" || layout.settingsTabCurrent !== "false" ||
|
||||
layout.marketTabCount !== 10 ||
|
||||
layout.marketTabsCurrent.some(tab => tab.current !== "false" ||
|
||||
tab.hasIcon !== true || tab.hasLabel !== true) ||
|
||||
layout.currentMenuItemCount !== 1 ||
|
||||
layout.stockWorkspaceVisible !== true || layout.catalogWorkspaceHidden !== true ||
|
||||
layout.settingsWorkspaceHidden !== true) {
|
||||
fail("KNOWN_FAILURE", "The package did not render the expanded navigation with stock as the sole initial workspace.");
|
||||
}
|
||||
if (layout.scheduleVisible !== true || layout.scheduleHitTestVisible !== true ||
|
||||
|
||||
Reference in New Issue
Block a user