@@ -24,17 +24,18 @@ import {
24
24
} from '@angular/core' ;
25
25
import { Router } from '@angular/router' ;
26
26
import { select , Store } from '@ngrx/store' ;
27
- import { Observable , Subscription } from 'rxjs' ;
27
+ import { combineLatest , Observable , Subscription } from 'rxjs' ;
28
28
import { exhaustMap , map , switchMap , take } from 'rxjs/operators' ;
29
29
import { FilterMenuComponent } from 'src/app/shared/components' ;
30
30
import { ActiveFilter , FilterOption } from 'src/app/shared/models' ;
31
31
import { FilterService } from 'src/app/shared/services' ;
32
32
import { positionTopLeftRelativeToTopLeft } from 'src/app/util' ;
33
- import { MetadataControlBarActions } from '../../actions' ;
33
+ import { MetadataControlBarActions , RoutesChartActions } from '../../actions' ;
34
34
import { Column , Page } from '../../models' ;
35
35
import RoutesMetadataSelectors from '../../selectors/routes-metadata.selectors' ;
36
36
import * as fromShipmentsMetadata from '../../selectors/shipments-metadata.selectors' ;
37
37
import * as fromUI from '../../selectors/ui.selectors' ;
38
+ import RoutesChartSelectors from '../../selectors/routes-chart.selectors' ;
38
39
39
40
export type MetadataSelectors = typeof RoutesMetadataSelectors | typeof fromShipmentsMetadata ;
40
41
@@ -52,6 +53,8 @@ export class MetadataControlBarComponent implements OnInit, OnDestroy {
52
53
displayColumns$ : Observable < Column [ ] > ;
53
54
page$ : Observable < Page > ;
54
55
pageToggle$ : Observable < Page > ;
56
+ viewHasChanged$ : Observable < boolean > ;
57
+
55
58
private pageSelectors$ : Observable < { page : Page ; selectors : MetadataSelectors } > ;
56
59
private addSubscription : Subscription ;
57
60
private editSubscription : Subscription ;
@@ -88,6 +91,11 @@ export class MetadataControlBarComponent implements OnInit, OnDestroy {
88
91
this . store . pipe ( select ( selectors . selectAvailableDisplayColumnsOptions ) )
89
92
)
90
93
) ;
94
+
95
+ this . viewHasChanged$ = combineLatest ( [
96
+ this . store . pipe ( select ( RoutesChartSelectors . selectViewHasChanged ) ) ,
97
+ this . store . pipe ( select ( RoutesMetadataSelectors . selectViewHasChanged ) ) ,
98
+ ] ) . pipe ( map ( ( [ chartChanged , metadataChanged ] ) => chartChanged || metadataChanged ) ) ;
91
99
}
92
100
93
101
ngOnDestroy ( ) : void {
@@ -182,4 +190,8 @@ export class MetadataControlBarComponent implements OnInit, OnDestroy {
182
190
onToggleChange ( selection : Page ) : void {
183
191
this . router . navigateByUrl ( '/' + selection , { skipLocationChange : true } ) ;
184
192
}
193
+
194
+ onResetView ( ) : void {
195
+ this . store . dispatch ( RoutesChartActions . resetView ( ) ) ;
196
+ }
185
197
}
0 commit comments