diff --git a/src/main/webapp/xnat-templates/screens/Page.vm b/src/main/webapp/xnat-templates/screens/Page.vm index 729980183bc89bfa1daa381a0ab041c78ad3ac1b..f0e0f738bbd479fe372e0539850df39a4064ee25 100644 --- a/src/main/webapp/xnat-templates/screens/Page.vm +++ b/src/main/webapp/xnat-templates/screens/Page.vm @@ -37,12 +37,26 @@ <script> - XNAT.app.customPage.container = $('#view-page'); - XNAT.app.customPage.getPage(); + (function(){ - window.onhashchange = function(){ - XNAT.app.customPage.getPage(); - } + var sampleUrl = '/page/#/foo/#tab=bar/#panel=baz' + + // save the value for the initial page that's loaded + var page = getUrlHashValue('#/', '/#'); + + XNAT.app.customPage.container = $('#view-page'); + XNAT.app.customPage.getPage(['', '/#']); + + $(window).on('hashchange', function(e){ + e.preventDefault(); + var newPage = getUrlHashValue('#/', '/#'); + // only get a new page if the page part has changed + if (newPage !== page) { + XNAT.app.customPage.getPage([newPage, '/#']); + } + }) + + })(); </script>