@theseam/ui-common 0.4.28 → 0.4.29
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/navigation-reload/navigation-reload.service.mjs +2 -2
- package/fesm2015/theseam-ui-common-navigation-reload.mjs +1 -1
- package/fesm2015/theseam-ui-common-navigation-reload.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-navigation-reload.mjs +1 -1
- package/fesm2020/theseam-ui-common-navigation-reload.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -29,7 +29,7 @@ export class TheSeamNavigationReloadService {
|
|
|
29
29
|
}
|
|
30
30
|
reloadComponent(url, dummyUrl) {
|
|
31
31
|
this._router.navigateByUrl(dummyUrl || '/', { skipLocationChange: true }).then(() => {
|
|
32
|
-
this._router.
|
|
32
|
+
this._router.navigateByUrl(url, { skipLocationChange: true });
|
|
33
33
|
});
|
|
34
34
|
}
|
|
35
35
|
_checkRouterConfig() {
|
|
@@ -51,4 +51,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
|
|
|
51
51
|
providedIn: 'root'
|
|
52
52
|
}]
|
|
53
53
|
}] });
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1yZWxvYWQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWNvbW1vbi9uYXZpZ2F0aW9uLXJlbG9hZC9uYXZpZ2F0aW9uLXJlbG9hZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFBO0FBQzdELE9BQU8sRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQXVCLE1BQU0saUJBQWlCLENBQUE7QUFDaEYsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFFekMsT0FBTyxFQUFFLHVCQUF1QixFQUFpQyxNQUFNLDRCQUE0QixDQUFBOztBQUtuRyxNQUFNLE9BQU8sOEJBQThCO0lBSDNDO1FBSW1CLFlBQU8sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDeEIsY0FBUyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUE7S0E2Q2pEO0lBM0NDLFdBQVc7UUFDVCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFBO1FBQ3JCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUE7SUFDM0IsQ0FBQztJQUVELFVBQVUsQ0FBQyxNQUFxQztRQUM5QyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQTtRQUN6QixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNwRSxJQUFJLEtBQUssWUFBWSxpQkFBaUIsRUFBRTtnQkFDdEMsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQTtnQkFDckIsTUFBTSxlQUFlLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQTtnQkFFckMsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDLFlBQVksSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLGVBQWUsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUE7Z0JBRTlGLE1BQU0sWUFBWSxHQUNoQixjQUFjLENBQUMsZUFBZSxFQUFFLEdBQUcsQ0FBQztvQkFDcEMsR0FBRyxLQUFLLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFBO2dCQUUxQixJQUFJLFlBQVksRUFBRTtvQkFDaEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFBO2lCQUM1QzthQUNGO1FBQ0gsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsZUFBZSxDQUFDLEdBQVcsRUFBRSxRQUFpQjtRQUM1QyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxRQUFRLElBQUksR0FBRyxFQUFFLEVBQUUsa0JBQWtCLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ2xGLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLEdBQUcsRUFBRSxFQUFFLGtCQUFrQixFQUFFLElBQUksRUFBRSxDQUFDLENBQUE7UUFDL0QsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRU8sa0JBQWtCO1FBQ3hCLE1BQU0sTUFBTSxHQUF3QixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQWEsQ0FBQSxDQUFDLGdDQUFnQztRQUMvRixJQUFJLE1BQU0sQ0FBQyxtQkFBbUIsS0FBSyxRQUFRLEVBQUU7WUFDM0Msc0NBQXNDO1lBQ3RDLE9BQU8sQ0FBQyxJQUFJLENBQ1Ysb0VBQW9FO2dCQUNwRSw4RUFBOEU7Z0JBQzlFLDJFQUEyRTtnQkFDM0UsK0JBQStCLENBQ2hDLENBQUE7U0FDRjtJQUNILENBQUM7OzJIQTlDVSw4QkFBOEI7K0hBQTlCLDhCQUE4QixjQUY3QixNQUFNOzJGQUVQLDhCQUE4QjtrQkFIMUMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBSb3V0ZXIsIE5hdmlnYXRpb25Ta2lwcGVkLCBSb3V0ZXJDb25maWdPcHRpb25zIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJ1xuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcydcblxuaW1wb3J0IHsgVEhFU0VBTV9SRUxPQURfUFJPUEVSVFksIFRoZVNlYW1OYXZpZ2F0aW9uUmVsb2FkQ29uZmlnIH0gZnJvbSAnLi9uYXZpZ2F0aW9uLXJlbG9hZC5jb25maWcnXG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFRoZVNlYW1OYXZpZ2F0aW9uUmVsb2FkU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3JvdXRlciA9IGluamVjdChSb3V0ZXIpXG4gIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQoKVxuICAgIHRoaXMuX2Rlc3Ryb3kkLmNvbXBsZXRlKClcbiAgfVxuXG4gIGluaXRpYWxpemUoY29uZmlnOiBUaGVTZWFtTmF2aWdhdGlvblJlbG9hZENvbmZpZyk6IHZvaWQge1xuICAgIHRoaXMuX2NoZWNrUm91dGVyQ29uZmlnKClcbiAgICB0aGlzLl9yb3V0ZXIuZXZlbnRzLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSkuc3Vic2NyaWJlKGV2ZW50ID0+IHtcbiAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25Ta2lwcGVkKSB7XG4gICAgICAgIGNvbnN0IHVybCA9IGV2ZW50LnVybFxuICAgICAgICBjb25zdCBuYXZpZ2F0aW9uU3RhdGUgPSBoaXN0b3J5LnN0YXRlXG5cbiAgICAgICAgY29uc3Qgc2hvdWxkUmVsb2FkRm4gPSBjb25maWcuc2hvdWxkUmVsb2FkID8/ICgoKSA9PiBuYXZpZ2F0aW9uU3RhdGVbVEhFU0VBTV9SRUxPQURfUFJPUEVSVFldKVxuXG4gICAgICAgIGNvbnN0IHNob3VsZFJlbG9hZCA9XG4gICAgICAgICAgc2hvdWxkUmVsb2FkRm4obmF2aWdhdGlvblN0YXRlLCB1cmwpICYmXG4gICAgICAgICAgdXJsID09PSB0aGlzLl9yb3V0ZXIudXJsXG5cbiAgICAgICAgaWYgKHNob3VsZFJlbG9hZCkge1xuICAgICAgICAgIHRoaXMucmVsb2FkQ29tcG9uZW50KHVybCwgY29uZmlnPy5kdW1teVVybClcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pXG4gIH1cblxuICByZWxvYWRDb21wb25lbnQodXJsOiBzdHJpbmcsIGR1bW15VXJsPzogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5fcm91dGVyLm5hdmlnYXRlQnlVcmwoZHVtbXlVcmwgfHwgJy8nLCB7IHNraXBMb2NhdGlvbkNoYW5nZTogdHJ1ZSB9KS50aGVuKCgpID0+IHtcbiAgICAgIHRoaXMuX3JvdXRlci5uYXZpZ2F0ZUJ5VXJsKHVybCwgeyBza2lwTG9jYXRpb25DaGFuZ2U6IHRydWUgfSlcbiAgICB9KVxuICB9XG5cbiAgcHJpdmF0ZSBfY2hlY2tSb3V0ZXJDb25maWcoKSB7XG4gICAgY29uc3QgY29uZmlnOiBSb3V0ZXJDb25maWdPcHRpb25zID0gdGhpcy5fcm91dGVyLmNvbmZpZyBhcyBhbnkgLy8gVHlwZSBoYWNrLCBjb25maWcgaXMgaW50ZXJuYWxcbiAgICBpZiAoY29uZmlnLm9uU2FtZVVybE5hdmlnYXRpb24gPT09ICdyZWxvYWQnKSB7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAnV0FSTklORzogUm91dGVyIGlzIGNvbmZpZ3VyZWQgd2l0aCBvblNhbWVVcmxOYXZpZ2F0aW9uOiBcInJlbG9hZFwiLiAnICtcbiAgICAgICAgJ1RoaXMgY29tcG9uZW50IHJlbGllcyBvbiBcImlnbm9yZVwiIHRvIHRyaWdnZXIgcmVsb2FkcyB2aWEgTmF2aWdhdGlvblNraXBwZWQuICcgK1xuICAgICAgICAnUmVsb2FkIGJlaGF2aW9yIG1heSBub3Qgd29yayBhcyBleHBlY3RlZC4gQ29uc2lkZXIgcmV2ZXJ0aW5nIHRvIFwiaWdub3JlXCIgJyArXG4gICAgICAgICdvciB1cGRhdGluZyB0aGUgcmVsb2FkIGxvZ2ljLidcbiAgICAgIClcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -32,7 +32,7 @@ class TheSeamNavigationReloadService {
|
|
|
32
32
|
}
|
|
33
33
|
reloadComponent(url, dummyUrl) {
|
|
34
34
|
this._router.navigateByUrl(dummyUrl || '/', { skipLocationChange: true }).then(() => {
|
|
35
|
-
this._router.
|
|
35
|
+
this._router.navigateByUrl(url, { skipLocationChange: true });
|
|
36
36
|
});
|
|
37
37
|
}
|
|
38
38
|
_checkRouterConfig() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theseam-ui-common-navigation-reload.mjs","sources":["../../../projects/ui-common/navigation-reload/navigation-reload.config.ts","../../../projects/ui-common/navigation-reload/navigation-reload.service.ts","../../../projects/ui-common/navigation-reload/navigation-reload.provider.ts","../../../projects/ui-common/navigation-reload/theseam-ui-common-navigation-reload.ts"],"sourcesContent":["export interface TheSeamNavigationReloadConfig {\n shouldReload?: (state: any, url: string) => boolean\n dummyUrl?: string\n}\n\nexport const THESEAM_RELOAD_PROPERTY = 'seamReload'\n","import { inject, Injectable, OnDestroy } from '@angular/core'\nimport { Router, NavigationSkipped, RouterConfigOptions } from '@angular/router'\nimport { Subject, takeUntil } from 'rxjs'\n\nimport { THESEAM_RELOAD_PROPERTY, TheSeamNavigationReloadConfig } from './navigation-reload.config'\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TheSeamNavigationReloadService implements OnDestroy {\n private readonly _router = inject(Router)\n private readonly _destroy$ = new Subject<void>()\n\n ngOnDestroy(): void {\n this._destroy$.next()\n this._destroy$.complete()\n }\n\n initialize(config: TheSeamNavigationReloadConfig): void {\n this._checkRouterConfig()\n this._router.events.pipe(takeUntil(this._destroy$)).subscribe(event => {\n if (event instanceof NavigationSkipped) {\n const url = event.url\n const navigationState = history.state\n\n const shouldReloadFn = config.shouldReload ?? (() => navigationState[THESEAM_RELOAD_PROPERTY])\n\n const shouldReload =\n shouldReloadFn(navigationState, url) &&\n url === this._router.url\n\n if (shouldReload) {\n this.reloadComponent(url, config?.dummyUrl)\n }\n }\n })\n }\n\n reloadComponent(url: string, dummyUrl?: string): void {\n this._router.navigateByUrl(dummyUrl || '/', { skipLocationChange: true }).then(() => {\n this._router.
|
|
1
|
+
{"version":3,"file":"theseam-ui-common-navigation-reload.mjs","sources":["../../../projects/ui-common/navigation-reload/navigation-reload.config.ts","../../../projects/ui-common/navigation-reload/navigation-reload.service.ts","../../../projects/ui-common/navigation-reload/navigation-reload.provider.ts","../../../projects/ui-common/navigation-reload/theseam-ui-common-navigation-reload.ts"],"sourcesContent":["export interface TheSeamNavigationReloadConfig {\n shouldReload?: (state: any, url: string) => boolean\n dummyUrl?: string\n}\n\nexport const THESEAM_RELOAD_PROPERTY = 'seamReload'\n","import { inject, Injectable, OnDestroy } from '@angular/core'\nimport { Router, NavigationSkipped, RouterConfigOptions } from '@angular/router'\nimport { Subject, takeUntil } from 'rxjs'\n\nimport { THESEAM_RELOAD_PROPERTY, TheSeamNavigationReloadConfig } from './navigation-reload.config'\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TheSeamNavigationReloadService implements OnDestroy {\n private readonly _router = inject(Router)\n private readonly _destroy$ = new Subject<void>()\n\n ngOnDestroy(): void {\n this._destroy$.next()\n this._destroy$.complete()\n }\n\n initialize(config: TheSeamNavigationReloadConfig): void {\n this._checkRouterConfig()\n this._router.events.pipe(takeUntil(this._destroy$)).subscribe(event => {\n if (event instanceof NavigationSkipped) {\n const url = event.url\n const navigationState = history.state\n\n const shouldReloadFn = config.shouldReload ?? (() => navigationState[THESEAM_RELOAD_PROPERTY])\n\n const shouldReload =\n shouldReloadFn(navigationState, url) &&\n url === this._router.url\n\n if (shouldReload) {\n this.reloadComponent(url, config?.dummyUrl)\n }\n }\n })\n }\n\n reloadComponent(url: string, dummyUrl?: string): void {\n this._router.navigateByUrl(dummyUrl || '/', { skipLocationChange: true }).then(() => {\n this._router.navigateByUrl(url, { skipLocationChange: true })\n })\n }\n\n private _checkRouterConfig() {\n const config: RouterConfigOptions = this._router.config as any // Type hack, config is internal\n if (config.onSameUrlNavigation === 'reload') {\n // eslint-disable-next-line no-console\n console.warn(\n 'WARNING: Router is configured with onSameUrlNavigation: \"reload\". ' +\n 'This component relies on \"ignore\" to trigger reloads via NavigationSkipped. ' +\n 'Reload behavior may not work as expected. Consider reverting to \"ignore\" ' +\n 'or updating the reload logic.'\n )\n }\n }\n}\n","import { APP_INITIALIZER, Provider } from '@angular/core'\nimport { TheSeamNavigationReloadService } from './navigation-reload.service'\nimport { TheSeamNavigationReloadConfig } from './navigation-reload.config'\n\nexport function provideNavigationReload(config: TheSeamNavigationReloadConfig): Provider[] {\n return [\n TheSeamNavigationReloadService,\n {\n provide: APP_INITIALIZER,\n useFactory: (service: TheSeamNavigationReloadService) => () => service.initialize(config),\n deps: [ TheSeamNavigationReloadService ],\n multi: true\n }\n ]\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -31,7 +31,7 @@ class TheSeamNavigationReloadService {
|
|
|
31
31
|
}
|
|
32
32
|
reloadComponent(url, dummyUrl) {
|
|
33
33
|
this._router.navigateByUrl(dummyUrl || '/', { skipLocationChange: true }).then(() => {
|
|
34
|
-
this._router.
|
|
34
|
+
this._router.navigateByUrl(url, { skipLocationChange: true });
|
|
35
35
|
});
|
|
36
36
|
}
|
|
37
37
|
_checkRouterConfig() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theseam-ui-common-navigation-reload.mjs","sources":["../../../projects/ui-common/navigation-reload/navigation-reload.config.ts","../../../projects/ui-common/navigation-reload/navigation-reload.service.ts","../../../projects/ui-common/navigation-reload/navigation-reload.provider.ts","../../../projects/ui-common/navigation-reload/theseam-ui-common-navigation-reload.ts"],"sourcesContent":["export interface TheSeamNavigationReloadConfig {\n shouldReload?: (state: any, url: string) => boolean\n dummyUrl?: string\n}\n\nexport const THESEAM_RELOAD_PROPERTY = 'seamReload'\n","import { inject, Injectable, OnDestroy } from '@angular/core'\nimport { Router, NavigationSkipped, RouterConfigOptions } from '@angular/router'\nimport { Subject, takeUntil } from 'rxjs'\n\nimport { THESEAM_RELOAD_PROPERTY, TheSeamNavigationReloadConfig } from './navigation-reload.config'\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TheSeamNavigationReloadService implements OnDestroy {\n private readonly _router = inject(Router)\n private readonly _destroy$ = new Subject<void>()\n\n ngOnDestroy(): void {\n this._destroy$.next()\n this._destroy$.complete()\n }\n\n initialize(config: TheSeamNavigationReloadConfig): void {\n this._checkRouterConfig()\n this._router.events.pipe(takeUntil(this._destroy$)).subscribe(event => {\n if (event instanceof NavigationSkipped) {\n const url = event.url\n const navigationState = history.state\n\n const shouldReloadFn = config.shouldReload ?? (() => navigationState[THESEAM_RELOAD_PROPERTY])\n\n const shouldReload =\n shouldReloadFn(navigationState, url) &&\n url === this._router.url\n\n if (shouldReload) {\n this.reloadComponent(url, config?.dummyUrl)\n }\n }\n })\n }\n\n reloadComponent(url: string, dummyUrl?: string): void {\n this._router.navigateByUrl(dummyUrl || '/', { skipLocationChange: true }).then(() => {\n this._router.
|
|
1
|
+
{"version":3,"file":"theseam-ui-common-navigation-reload.mjs","sources":["../../../projects/ui-common/navigation-reload/navigation-reload.config.ts","../../../projects/ui-common/navigation-reload/navigation-reload.service.ts","../../../projects/ui-common/navigation-reload/navigation-reload.provider.ts","../../../projects/ui-common/navigation-reload/theseam-ui-common-navigation-reload.ts"],"sourcesContent":["export interface TheSeamNavigationReloadConfig {\n shouldReload?: (state: any, url: string) => boolean\n dummyUrl?: string\n}\n\nexport const THESEAM_RELOAD_PROPERTY = 'seamReload'\n","import { inject, Injectable, OnDestroy } from '@angular/core'\nimport { Router, NavigationSkipped, RouterConfigOptions } from '@angular/router'\nimport { Subject, takeUntil } from 'rxjs'\n\nimport { THESEAM_RELOAD_PROPERTY, TheSeamNavigationReloadConfig } from './navigation-reload.config'\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TheSeamNavigationReloadService implements OnDestroy {\n private readonly _router = inject(Router)\n private readonly _destroy$ = new Subject<void>()\n\n ngOnDestroy(): void {\n this._destroy$.next()\n this._destroy$.complete()\n }\n\n initialize(config: TheSeamNavigationReloadConfig): void {\n this._checkRouterConfig()\n this._router.events.pipe(takeUntil(this._destroy$)).subscribe(event => {\n if (event instanceof NavigationSkipped) {\n const url = event.url\n const navigationState = history.state\n\n const shouldReloadFn = config.shouldReload ?? (() => navigationState[THESEAM_RELOAD_PROPERTY])\n\n const shouldReload =\n shouldReloadFn(navigationState, url) &&\n url === this._router.url\n\n if (shouldReload) {\n this.reloadComponent(url, config?.dummyUrl)\n }\n }\n })\n }\n\n reloadComponent(url: string, dummyUrl?: string): void {\n this._router.navigateByUrl(dummyUrl || '/', { skipLocationChange: true }).then(() => {\n this._router.navigateByUrl(url, { skipLocationChange: true })\n })\n }\n\n private _checkRouterConfig() {\n const config: RouterConfigOptions = this._router.config as any // Type hack, config is internal\n if (config.onSameUrlNavigation === 'reload') {\n // eslint-disable-next-line no-console\n console.warn(\n 'WARNING: Router is configured with onSameUrlNavigation: \"reload\". ' +\n 'This component relies on \"ignore\" to trigger reloads via NavigationSkipped. ' +\n 'Reload behavior may not work as expected. Consider reverting to \"ignore\" ' +\n 'or updating the reload logic.'\n )\n }\n }\n}\n","import { APP_INITIALIZER, Provider } from '@angular/core'\nimport { TheSeamNavigationReloadService } from './navigation-reload.service'\nimport { TheSeamNavigationReloadConfig } from './navigation-reload.config'\n\nexport function provideNavigationReload(config: TheSeamNavigationReloadConfig): Provider[] {\n return [\n TheSeamNavigationReloadService,\n {\n provide: APP_INITIALIZER,\n useFactory: (service: TheSeamNavigationReloadService) => () => service.initialize(config),\n deps: [ TheSeamNavigationReloadService ],\n multi: true\n }\n ]\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|