Browse Source

update: breadcrumbs for url based localization

pull/25174/head
sumeyye 6 months ago
parent
commit
34d5bc16cf
  1. 2
      npm/ng-packs/packages/theme-shared/src/lib/components/breadcrumb-items/breadcrumb-items.component.html
  2. 4
      npm/ng-packs/packages/theme-shared/src/lib/components/breadcrumb-items/breadcrumb-items.component.ts
  3. 7
      npm/ng-packs/packages/theme-shared/src/lib/components/breadcrumb/breadcrumb.component.ts

2
npm/ng-packs/packages/theme-shared/src/lib/components/breadcrumb-items/breadcrumb-items.component.html

@ -14,7 +14,7 @@
} }
<ng-template #linkTemplate let-item> <ng-template #linkTemplate let-item>
<a [routerLink]="item.path"> {{ item.name | abpLocalization }}</a> <a [routerLink]="item.path | abpRouteCultureUrl"> {{ item.name | abpLocalization }}</a>
</ng-template> </ng-template>
<ng-template #textTemplate let-item> <ng-template #textTemplate let-item>

4
npm/ng-packs/packages/theme-shared/src/lib/components/breadcrumb-items/breadcrumb-items.component.ts

@ -1,12 +1,12 @@
import { Component, input } from '@angular/core'; import { Component, input } from '@angular/core';
import { NgTemplateOutlet } from '@angular/common'; import { NgTemplateOutlet } from '@angular/common';
import { RouterLink } from '@angular/router'; import { RouterLink } from '@angular/router';
import { ABP, LocalizationPipe } from '@abp/ng.core'; import { ABP, AbpRouteCultureUrlPipe, LocalizationPipe } from '@abp/ng.core';
@Component({ @Component({
selector: 'abp-breadcrumb-items', selector: 'abp-breadcrumb-items',
templateUrl: './breadcrumb-items.component.html', templateUrl: './breadcrumb-items.component.html',
imports: [NgTemplateOutlet, RouterLink, LocalizationPipe], imports: [NgTemplateOutlet, RouterLink, LocalizationPipe, AbpRouteCultureUrlPipe],
}) })
export class BreadcrumbItemsComponent { export class BreadcrumbItemsComponent {
readonly items = input<Partial<ABP.Route>[]>([]); readonly items = input<Partial<ABP.Route>[]>([]);

7
npm/ng-packs/packages/theme-shared/src/lib/components/breadcrumb/breadcrumb.component.ts

@ -1,6 +1,6 @@
import { import {
ABP, ABP,
getRoutePath, RouteBasedCultureUrlService,
RouterEvents, RouterEvents,
RoutesService, RoutesService,
SubscriptionService, SubscriptionService,
@ -25,6 +25,7 @@ export class BreadcrumbComponent implements OnInit {
private routes = inject(RoutesService); private routes = inject(RoutesService);
private subscription = inject(SubscriptionService); private subscription = inject(SubscriptionService);
private routerEvents = inject(RouterEvents); private routerEvents = inject(RouterEvents);
private routeCultureUrl = inject(RouteBasedCultureUrlService);
segments: Partial<ABP.Route>[] = []; segments: Partial<ABP.Route>[] = [];
@ -32,7 +33,9 @@ export class BreadcrumbComponent implements OnInit {
this.subscription.addOne( this.subscription.addOne(
this.routerEvents.getNavigationEvents('End').pipe( this.routerEvents.getNavigationEvents('End').pipe(
startWith(null), startWith(null),
map(() => this.routes.search({ path: getRoutePath(this.router) })), map(() =>
this.routes.search({ path: this.routeCultureUrl.getRoutePathForMatching(this.router) }),
),
), ),
route => { route => {
this.segments = []; this.segments = [];

Loading…
Cancel
Save