File tree Expand file tree Collapse file tree
packages/frontend/projects/upgrade/src/app/features/dashboard Expand file tree Collapse file tree Original file line number Diff line number Diff line change 11< app-common-details-page-header
22 rootName ="experiments.title.text "
3- [detailsName] ="(selectedExperiment $ | async)?.name ?? '' "
3+ [detailsName] ="(detailsName $ | async) ?? '' "
44 rootLink ="experiments "
55>
66</ app-common-details-page-header >
Original file line number Diff line number Diff line change @@ -2,6 +2,8 @@ import { ChangeDetectionStrategy, Component } from '@angular/core';
22import { CommonDetailsPageHeaderComponent } from '@shared-component-lib' ;
33import { ExperimentService } from '../../../../../../core/experiments/experiments.service' ;
44import { CommonModule } from '@angular/common' ;
5+ import { combineLatest , Observable } from 'rxjs' ;
6+ import { map } from 'rxjs/operators' ;
57
68@Component ( {
79 selector : 'app-experiment-details-page-header' ,
@@ -11,7 +13,12 @@ import { CommonModule } from '@angular/common';
1113 changeDetection : ChangeDetectionStrategy . OnPush ,
1214} )
1315export class ExperimentDetailsPageHeaderComponent {
14- selectedExperiment$ = this . experimentService . selectedExperiment$ ;
16+ // Suppress the cached experiment name while the details page shows its error state,
17+ // so the breadcrumb doesn't display a stale name next to "not found"
18+ detailsName$ : Observable < string > = combineLatest ( [
19+ this . experimentService . selectedExperiment$ ,
20+ this . experimentService . experimentDetailsPageError$ ,
21+ ] ) . pipe ( map ( ( [ experiment , detailsPageError ] ) => ( detailsPageError ? '' : experiment ?. name ?? '' ) ) ) ;
1522
1623 constructor ( private experimentService : ExperimentService ) { }
1724}
Original file line number Diff line number Diff line change 11< app-common-details-page-header
22 rootName ="feature-flags.title.text "
3- [detailsName] ="(selectedFeatureFlag $ | async)?.name ?? '' "
3+ [detailsName] ="(detailsName $ | async) ?? '' "
44 rootLink ="featureflags "
55>
66</ app-common-details-page-header >
Original file line number Diff line number Diff line change @@ -2,6 +2,8 @@ import { ChangeDetectionStrategy, Component } from '@angular/core';
22import { CommonDetailsPageHeaderComponent } from '@shared-component-lib' ;
33import { FeatureFlagsService } from '../../../../../../core/feature-flags/feature-flags.service' ;
44import { CommonModule } from '@angular/common' ;
5+ import { combineLatest , Observable } from 'rxjs' ;
6+ import { map } from 'rxjs/operators' ;
57
68@Component ( {
79 selector : 'app-feature-flag-details-page-header' ,
@@ -11,7 +13,12 @@ import { CommonModule } from '@angular/common';
1113 changeDetection : ChangeDetectionStrategy . OnPush ,
1214} )
1315export class FeatureFlagDetailsPageHeaderComponent {
14- selectedFeatureFlag$ = this . featureFlagService . selectedFeatureFlag$ ;
16+ // Suppress the cached flag name while the details page shows its error state,
17+ // so the breadcrumb doesn't display a stale name next to "not found"
18+ detailsName$ : Observable < string > = combineLatest ( [
19+ this . featureFlagService . selectedFeatureFlag$ ,
20+ this . featureFlagService . featureFlagDetailsPageError$ ,
21+ ] ) . pipe ( map ( ( [ featureFlag , detailsPageError ] ) => ( detailsPageError ? '' : featureFlag ?. name ?? '' ) ) ) ;
1522
1623 constructor ( private featureFlagService : FeatureFlagsService ) { }
1724}
Original file line number Diff line number Diff line change 11< app-common-details-page-header
22 rootName ="app-header.title.segments "
3- [detailsName] ="(selectedSegment $ | async)?.name ?? '' "
3+ [detailsName] ="(detailsName $ | async) ?? '' "
44 rootLink ="segments "
55>
66</ app-common-details-page-header >
Original file line number Diff line number Diff line change @@ -2,6 +2,8 @@ import { ChangeDetectionStrategy, Component } from '@angular/core';
22import { CommonDetailsPageHeaderComponent } from '@shared-component-lib' ;
33import { SegmentsService } from '../../../../../../core/segments/segments.service' ;
44import { CommonModule } from '@angular/common' ;
5+ import { combineLatest , Observable } from 'rxjs' ;
6+ import { map } from 'rxjs/operators' ;
57
68@Component ( {
79 selector : 'app-segment-details-page-header' ,
@@ -11,7 +13,12 @@ import { CommonModule } from '@angular/common';
1113 changeDetection : ChangeDetectionStrategy . OnPush ,
1214} )
1315export class SegmentDetailsPageHeaderComponent {
14- selectedSegment$ = this . segmentsService . selectedSegment$ ;
16+ // Suppress the cached segment name while the details page shows its error state,
17+ // so the breadcrumb doesn't display a stale name next to "not found"
18+ detailsName$ : Observable < string > = combineLatest ( [
19+ this . segmentsService . selectedSegment$ ,
20+ this . segmentsService . segmentDetailsPageError$ ,
21+ ] ) . pipe ( map ( ( [ segment , detailsPageError ] ) => ( detailsPageError ? '' : segment ?. name ?? '' ) ) ) ;
1522
1623 constructor ( private segmentsService : SegmentsService ) { }
1724}
You can’t perform that action at this time.
0 commit comments