From 265d7ff188662b852a5bd592a94ef606efd34fab Mon Sep 17 00:00:00 2001 From: Phillip Kruger Date: Wed, 7 Feb 2024 14:25:58 +1100 Subject: [PATCH] Add browser history Signed-off-by: Phillip Kruger --- .locker/pom.xml | 2 +- pom.xml | 2 +- src/main/resources/web/app/mvnpm-event-log.ts | 4 ++-- src/main/resources/web/app/mvnpm-home.ts | 9 ++++++++- src/main/resources/web/app/mvnpm-nav.ts | 20 ++++++++++--------- 5 files changed, 23 insertions(+), 14 deletions(-) diff --git a/.locker/pom.xml b/.locker/pom.xml index 7029c37..86b0eb3 100644 --- a/.locker/pom.xml +++ b/.locker/pom.xml @@ -5,7 +5,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 4.0.0 io.mvnpm - 3.0.17-SNAPSHOT + 3.0.18-SNAPSHOT mvnpm-locker pom diff --git a/pom.xml b/pom.xml index 4bc5ac0..0eece14 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ 4.0.0 io.mvnpm mvnpm - 3.0.17-SNAPSHOT + 3.0.18-SNAPSHOT mvnpm Maven on NPM https://mvnpm.org/ diff --git a/src/main/resources/web/app/mvnpm-event-log.ts b/src/main/resources/web/app/mvnpm-event-log.ts index 8ed9ff6..65dcd0a 100644 --- a/src/main/resources/web/app/mvnpm-event-log.ts +++ b/src/main/resources/web/app/mvnpm-event-log.ts @@ -104,9 +104,9 @@ export class MvnpmEventLog extends LitElement { private _addMultipleToLog(queue: any[] | null, items: any[]) { if (queue && queue.length > 0) { - return [...items.reverse(), ...queue]; + return [...items, ...queue]; } else { - return items.reverse(); + return items; } } diff --git a/src/main/resources/web/app/mvnpm-home.ts b/src/main/resources/web/app/mvnpm-home.ts index cb367d2..8dff27c 100644 --- a/src/main/resources/web/app/mvnpm-home.ts +++ b/src/main/resources/web/app/mvnpm-home.ts @@ -242,6 +242,12 @@ export class MvnpmHome extends LitElement { this._codeViewSelection = ".pom"; this._centralSyncItem = null; this._gavEventLog = null; + + var currentPath = window.location.pathname; + if(currentPath.startsWith("/package/")){ + this._coordinates.name = currentPath.substring(9); + this._showGA(this._coordinates.name); + } } render() { @@ -399,6 +405,7 @@ export class MvnpmHome extends LitElement { const gav = dependency.split(":"); this._clearCoordinates() this._coordinates.name = gav[0]+":"+gav[1]; + window.history.pushState({/* State */},"", "/package/" + this._coordinates.name); this._showGA(this._coordinates.name); } @@ -509,8 +516,8 @@ export class MvnpmHome extends LitElement { _findVersionsAndShowLatest(e){ const name = this._coordinates.name.trim(); - if ((e.which == 13 || e.which == 0)){ + window.history.pushState({/* State */},"", "/package/" + name); this._showGA(name); } } diff --git a/src/main/resources/web/app/mvnpm-nav.ts b/src/main/resources/web/app/mvnpm-nav.ts index 139fe9e..03b592a 100644 --- a/src/main/resources/web/app/mvnpm-nav.ts +++ b/src/main/resources/web/app/mvnpm-nav.ts @@ -14,6 +14,7 @@ if (indicator.length > 0) { const router = new Router(document.getElementById('outlet')); router.setRoutes([ {path: '/', component: 'mvnpm-home', name: 'Home'}, + {path: '/package/:package', component: 'mvnpm-home', name: 'Home'}, {path: '/releases', component: 'mvnpm-releases', name: 'Releases'}, {path: '/live', component: 'mvnpm-live', name: 'Live'}, {path: '/about', component: 'mvnpm-about', name: 'About'}, @@ -40,7 +41,6 @@ export class MvnpmNav extends LitElement { } else { MvnpmNav.syncServerUri = "ws:"; } - var currentPath = window.location.pathname; MvnpmNav.syncServerUri += "//" + window.location.host + "/api/queue/"; MvnpmNav.connectSync(); } @@ -50,7 +50,6 @@ export class MvnpmNav extends LitElement { } else { MvnpmNav.logServerUri = "ws:"; } - var currentPath = window.location.pathname; MvnpmNav.logServerUri += "//" + window.location.host + "/api/stream/eventlog"; MvnpmNav.connectLog(); } @@ -59,13 +58,16 @@ export class MvnpmNav extends LitElement { render() { const routes = router.getRoutes(); return html` - ${routes.map((r) => - html` - - ${r.name} - - ` - )} + ${routes.map((r) => { + let ignore = r.path.includes(":"); + if(!ignore){ + return html` + + ${r.name} + + `; + } + })} Source