diff --git a/package-lock.json b/package-lock.json index d902ece..2d02150 100644 --- a/package-lock.json +++ b/package-lock.json @@ -22,17 +22,17 @@ "@angular/router": "^18.2.6", "@ngx-translate/core": "^15.0.0", "@nx/angular": "19.8.2", - "@onecx/accelerator": "^5.19.2", - "@onecx/angular-accelerator": "^5.19.2", - "@onecx/angular-auth": "^5.19.2", - "@onecx/angular-integration-interface": "^5.19.2", - "@onecx/angular-remote-components": "^5.19.2", - "@onecx/angular-webcomponents": "^5.19.2", - "@onecx/integration-interface": "^5.19.2", - "@onecx/keycloak-auth": "^5.19.2", - "@onecx/portal-integration-angular": "^5.19.2", - "@onecx/portal-layout-styles": "^5.19.2", - "@onecx/shell-core": "^5.19.2", + "@onecx/accelerator": "^5.20.0", + "@onecx/angular-accelerator": "^5.20.0", + "@onecx/angular-auth": "^5.20.0", + "@onecx/angular-integration-interface": "^5.20.0", + "@onecx/angular-remote-components": "^5.20.0", + "@onecx/angular-webcomponents": "^5.20.0", + "@onecx/integration-interface": "^5.20.0", + "@onecx/keycloak-auth": "^5.20.0", + "@onecx/portal-integration-angular": "^5.20.0", + "@onecx/portal-layout-styles": "^5.20.0", + "@onecx/shell-core": "^5.20.0", "@openapitools/openapi-generator-cli": "^2.13.9", "keycloak-angular": "^16.0.1", "keycloak-js": "^25.0.6", @@ -6888,18 +6888,20 @@ } }, "node_modules/@onecx/accelerator": { - "version": "5.19.2", - "resolved": "https://registry.npmjs.org/@onecx/accelerator/-/accelerator-5.19.2.tgz", - "integrity": "sha512-m+1L4XcABvIFPib8rdBFXpHvzkl6qNoqJQCpAcqa6pplBKtuDxK6WUz2Bnf4PfHfyuFHLpkb4giGBIG7PU9GWQ==", + "version": "5.20.0", + "resolved": "https://registry.npmjs.org/@onecx/accelerator/-/accelerator-5.20.0.tgz", + "integrity": "sha512-xGU/PvBLzvZzWMlQdSQaxcsaZ/vgG0MC/qD/XfKs93pCpYk5XU8h22DjUVBSE9dn0dxVYE6DcYPtVuQMBVMQWA==", + "license": "Apache-2.0", "peerDependencies": { "rxjs": "^7.8.1", "tslib": "^2.6.3" } }, "node_modules/@onecx/angular-accelerator": { - "version": "5.19.2", - "resolved": "https://registry.npmjs.org/@onecx/angular-accelerator/-/angular-accelerator-5.19.2.tgz", - "integrity": "sha512-yFtXbd9MYjKl/2huJir5+i5oHsdjbW7P6/KtB+T3zH5TUfFE5v7Vie9KFoKKnwQ23eOpkDq/+H5QGG47jeAqwA==", + "version": "5.20.0", + "resolved": "https://registry.npmjs.org/@onecx/angular-accelerator/-/angular-accelerator-5.20.0.tgz", + "integrity": "sha512-s0WzRfMmDLzh5fB0hc1VLHe2iA7OZexRBTu7ovvmnItVXpy/0v057FT1y9gZzDXu9RGn0qyWtOaFKQfWi71sCA==", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.3.0" }, @@ -6922,9 +6924,10 @@ } }, "node_modules/@onecx/angular-auth": { - "version": "5.19.2", - "resolved": "https://registry.npmjs.org/@onecx/angular-auth/-/angular-auth-5.19.2.tgz", - "integrity": "sha512-E4pEBv9BlhfkIZUTP0e1KahI39zM8g4f3j5IJPVvYg9s0wtf0kXWDEIkZriLbyxK9pbb7iOfKd+Z+DXSPQW9qg==", + "version": "5.20.0", + "resolved": "https://registry.npmjs.org/@onecx/angular-auth/-/angular-auth-5.20.0.tgz", + "integrity": "sha512-PD1emhvN/SyXe/RGIESEUzUZmTs09lvCjjbON/satoCQRtLfpESn5khYqdbZ4N3D0YbA4tRjGDbulSHD7qk+eA==", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.3.0" }, @@ -6940,9 +6943,10 @@ } }, "node_modules/@onecx/angular-integration-interface": { - "version": "5.19.2", - "resolved": "https://registry.npmjs.org/@onecx/angular-integration-interface/-/angular-integration-interface-5.19.2.tgz", - "integrity": "sha512-znUB7758Y7+Jy4pGeM3NrdTOqi823VGRWiXnaywyZwKSZtcHqrDSLo765SX55psaYyCQwlwA3Raiiwcs13izOA==", + "version": "5.20.0", + "resolved": "https://registry.npmjs.org/@onecx/angular-integration-interface/-/angular-integration-interface-5.20.0.tgz", + "integrity": "sha512-oGolEclISyU6u0fPXX+R30mQPgrSjmir2t6zC+09bdA/EfJ+3ilKKLHmJI5r1Wk5l/8cAhcnqMnNN0GiUpmvxg==", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.3.0" }, @@ -6953,9 +6957,10 @@ } }, "node_modules/@onecx/angular-remote-components": { - "version": "5.19.2", - "resolved": "https://registry.npmjs.org/@onecx/angular-remote-components/-/angular-remote-components-5.19.2.tgz", - "integrity": "sha512-sti5/VLPtcGBhvpRMEFb0O3nE6NVPAOpC0WgsgE0KXokeNkwswRZ1MnFQlosSyGhGTz0OMQHFZSfS3qoK1bmog==", + "version": "5.20.0", + "resolved": "https://registry.npmjs.org/@onecx/angular-remote-components/-/angular-remote-components-5.20.0.tgz", + "integrity": "sha512-oHBoHwzLiDRq4GAMpenVc0X/qSb+E6mvDn8pINnGP8Cyvt+SBHOoDejbAoEeroIR/mN9oTE03FUrtIrQJPBlCg==", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.3.0" }, @@ -6983,9 +6988,10 @@ } }, "node_modules/@onecx/angular-webcomponents": { - "version": "5.19.2", - "resolved": "https://registry.npmjs.org/@onecx/angular-webcomponents/-/angular-webcomponents-5.19.2.tgz", - "integrity": "sha512-wFFXniYm9ejyz6c3aUQp6CpYBh23lREdXaVyfLnH2i0Ngx+HCt44tpvO2XoC4hKlXQ/Jk0KGsJYOqFoHvl8ynQ==", + "version": "5.20.0", + "resolved": "https://registry.npmjs.org/@onecx/angular-webcomponents/-/angular-webcomponents-5.20.0.tgz", + "integrity": "sha512-z3V9mzLAy0/TqEFbrrH06Bs4uw+aOF0VhvYE5JMDHf9QLZPPPCqMMGwQ7EMMxEcPC637yNixxYeJtgrnXIABjQ==", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.3.0" }, @@ -7000,9 +7006,10 @@ } }, "node_modules/@onecx/integration-interface": { - "version": "5.19.2", - "resolved": "https://registry.npmjs.org/@onecx/integration-interface/-/integration-interface-5.19.2.tgz", - "integrity": "sha512-w9zMUzCqD9KU98/DC8g75t8UQmlGEsq9vAAUAM+2E/O6xez/lSG+0E2zbAj3zmMOEbVINI4gKeqAXhSbJN67PA==", + "version": "5.20.0", + "resolved": "https://registry.npmjs.org/@onecx/integration-interface/-/integration-interface-5.20.0.tgz", + "integrity": "sha512-IVKs5BB+vuuUzmtPhWqdJk8chawgDyHtrk08eR2UKmnYWwSQDeKx80HRNw/dgj4r+eIDkD6bYzem7cbwPkYjww==", + "license": "Apache-2.0", "peerDependencies": { "@onecx/accelerator": "^5", "rxjs": "^7.8.1", @@ -7010,9 +7017,10 @@ } }, "node_modules/@onecx/keycloak-auth": { - "version": "5.19.2", - "resolved": "https://registry.npmjs.org/@onecx/keycloak-auth/-/keycloak-auth-5.19.2.tgz", - "integrity": "sha512-+2gmDhyqfIizS7zysuUTw7b15YnlZYLFGWwvG5vefIKK6OZYou5hNT6lCTt1pz6MB9sGJfvYk+R1qZZGDP29KQ==", + "version": "5.20.0", + "resolved": "https://registry.npmjs.org/@onecx/keycloak-auth/-/keycloak-auth-5.20.0.tgz", + "integrity": "sha512-eIPpNISG1ORDjxfg92bCQ4eZJJLxGkPOgaaoWnS25cbO5Kc83dj34bcKqFhnFjx/IyfCG557skKl90wRlq8LOQ==", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.3.0" }, @@ -7027,9 +7035,10 @@ } }, "node_modules/@onecx/portal-integration-angular": { - "version": "5.19.2", - "resolved": "https://registry.npmjs.org/@onecx/portal-integration-angular/-/portal-integration-angular-5.19.2.tgz", - "integrity": "sha512-sH8ULC+fYUjf/o/G8jcB2Bueja/FgYwweOokrw8mBKnLxyAdqFSwAzTGypUdv0u+2uxKbN5KX7I/vNlL7ulGyg==", + "version": "5.20.0", + "resolved": "https://registry.npmjs.org/@onecx/portal-integration-angular/-/portal-integration-angular-5.20.0.tgz", + "integrity": "sha512-/f2kHlXHfNq+oGyU0jPOefggl43IcGzed8JPTaNdZ140A64I/n3J/lQY/CAxAdNawpBINAiA9Z9cRWKUF3BAXA==", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.3.0" }, @@ -7061,17 +7070,19 @@ } }, "node_modules/@onecx/portal-layout-styles": { - "version": "5.19.2", - "resolved": "https://registry.npmjs.org/@onecx/portal-layout-styles/-/portal-layout-styles-5.19.2.tgz", - "integrity": "sha512-fNwm1RhLLsaB3VhQnRe2zCSCLqjq7Lzt5CHwdAtyOgbGrSCMdgXPRsSVT1ZJJ0bU5ZLPouiWgOQ5kBUd5agMkQ==", + "version": "5.20.0", + "resolved": "https://registry.npmjs.org/@onecx/portal-layout-styles/-/portal-layout-styles-5.20.0.tgz", + "integrity": "sha512-jO3EZqGu0pbcHX10i1BxAO1GLjnuv3NZ2n5cZSljiGiezi/lAo2gbLpm5CWBNAylhYnK35zM76eL+hknK+FQtQ==", + "license": "Apache-2.0", "peerDependencies": { "tslib": "^2.6.3" } }, "node_modules/@onecx/shell-core": { - "version": "5.19.2", - "resolved": "https://registry.npmjs.org/@onecx/shell-core/-/shell-core-5.19.2.tgz", - "integrity": "sha512-MKuwXaeC0i/tW8rsFIHoM5XGY0SfobedsF7cy5RABYwbPnutFaXozC4uMs+Si0Cxc7NhCCjUSQECRg+ohyX4NA==", + "version": "5.20.0", + "resolved": "https://registry.npmjs.org/@onecx/shell-core/-/shell-core-5.20.0.tgz", + "integrity": "sha512-mnfYTapDngsdfCK2EKXOUltv2EckRDl1hQxQ/+DQTo7GmnVosvlywQhkHN99C1DSqLOKhhWOEIzhgb1EfkF3lQ==", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.3.0" }, diff --git a/package.json b/package.json index f446c62..18994c4 100644 --- a/package.json +++ b/package.json @@ -41,17 +41,17 @@ "@angular/router": "^18.2.6", "@ngx-translate/core": "^15.0.0", "@nx/angular": "19.8.2", - "@onecx/accelerator": "^5.19.2", - "@onecx/angular-accelerator": "^5.19.2", - "@onecx/angular-auth": "^5.19.2", - "@onecx/angular-integration-interface": "^5.19.2", - "@onecx/angular-remote-components": "^5.19.2", - "@onecx/angular-webcomponents": "^5.19.2", - "@onecx/integration-interface": "^5.19.2", - "@onecx/keycloak-auth": "^5.19.2", - "@onecx/portal-integration-angular": "^5.19.2", - "@onecx/portal-layout-styles": "^5.19.2", - "@onecx/shell-core": "^5.19.2", + "@onecx/accelerator": "^5.20.0", + "@onecx/angular-accelerator": "^5.20.0", + "@onecx/angular-auth": "^5.20.0", + "@onecx/angular-integration-interface": "^5.20.0", + "@onecx/angular-remote-components": "^5.20.0", + "@onecx/angular-webcomponents": "^5.20.0", + "@onecx/integration-interface": "^5.20.0", + "@onecx/keycloak-auth": "^5.20.0", + "@onecx/portal-integration-angular": "^5.20.0", + "@onecx/portal-layout-styles": "^5.20.0", + "@onecx/shell-core": "^5.20.0", "@openapitools/openapi-generator-cli": "^2.13.9", "keycloak-angular": "^16.0.1", "keycloak-js": "^25.0.6", diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 4faec07..a7753ba 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -152,7 +152,7 @@ export function configurationServiceInitializer(configurationService: Configurat return () => configurationService.init() } -let history: string[] = [] +let isFirst = true let isInitialPageLoad = true const pushState = window.history.pushState window.history.pushState = (data: any, unused: string, url?: string) => { @@ -161,13 +161,12 @@ window.history.pushState = (data: any, unused: string, url?: string) => { type: 'navigated', payload: { url, - isFirst: history.length === 0, - history + isFirst } satisfies NavigatedEventPayload }) + if (!isInitialPageLoad) { - history.push(url ?? '') - history = history.slice(-100) + isFirst = false } isInitialPageLoad = false } @@ -179,17 +178,12 @@ window.history.replaceState = (data: any, unused: string, url?: string) => { type: 'navigated', payload: { url, - isFirst: history.length === 0, - history + isFirst: isFirst } satisfies NavigatedEventPayload }) + if (!isInitialPageLoad) { - if (history.length === 0) { - history.push(url ?? '') - } else { - const lastIndex = history.length - 1 - history[lastIndex] = url ?? '' - } + isFirst = false } isInitialPageLoad = false }