diff --git a/webui.dev/index.html b/webui.dev/index.html index 02211b6..00b653b 100644 --- a/webui.dev/index.html +++ b/webui.dev/index.html @@ -25,13 +25,13 @@ diff --git a/webui.dev/js/marshaller.js b/webui.dev/js/marshaller.js index 082457c..961890a 100644 --- a/webui.dev/js/marshaller.js +++ b/webui.dev/js/marshaller.js @@ -12,6 +12,8 @@ export function initMarshaller () { window.logEntries = {} + window.initialHash = window.location.hash + window.addEventListener('EventExecutionFinished', onExecutionFinished) } @@ -20,9 +22,10 @@ export function marshalDashboardComponentsJsonToHtml (json) { marshalDashboardStructureToHtml(json) document.getElementById('username').innerText = json.authenticatedUser - document.body.setAttribute('initial-marshal-complete', 'true') changeDirectory(null) + + document.body.setAttribute('initial-marshal-complete', 'true') } function marshalActionsJsonToHtml (json) { @@ -95,7 +98,7 @@ function onExecutionFinished (evt) { function showSection (title) { for (const section of document.querySelectorAll('section')) { - if (section.title === title) { + if (section.title.replace(' ', '') === title) { section.style.display = 'block' } else { section.style.display = 'none' @@ -188,9 +191,9 @@ function marshalDashboardStructureToHtml (json) { const navigationA = document.createElement('a') navigationA.title = dashboard.title navigationA.innerText = dashboard.title - navigationA.setAttribute('href', '#' + dashboard.title) + navigationA.setAttribute('href', '#' + dashboard.title.replace(' ', '')) navigationA.onclick = () => { - showSection(dashboard.title) + showSection(dashboard.title.replace(' ', '')) } const navigationLi = document.createElement('li') @@ -208,12 +211,16 @@ function marshalDashboardStructureToHtml (json) { } } - if (rootGroup.querySelectorAll('action-button').length === 0 && json.dashboards.length > 0) { - nav.querySelector('li[title="Actions"]').style.display = 'none' - - showSection(json.dashboards[0].title) + if (window.initialHash !== '' && document.body.getAttribute('initial-marshal-complete') === null) { + showSection(window.initialHash.replace('#', '')) } else { - showSection('Actions') + if (rootGroup.querySelectorAll('action-button').length === 0 && json.dashboards.length > 0) { + nav.querySelector('li[title="Actions"]').style.display = 'none' + + showSection(json.dashboards[0].title) + } else { + showSection('Actions') + } } } @@ -384,12 +391,8 @@ function changeDirectory (selected) { document.title = title.innerText if (selected === null) { - window.location.hash = null - window.history.pushState({ dir: null }, null, '#') } else { - window.location.hash = selected - window.history.pushState({ dir: selected }, null, '#' + selected) } }