@@ -8,12 +8,11 @@ import {
88 EventEmitter ,
99 Input ,
1010 OnChanges ,
11- OnDestroy ,
1211 OnInit ,
1312 Output ,
1413 SimpleChanges ,
1514} from '@angular/core' ;
16- import { combineLatest , forkJoin , Observable } from 'rxjs' ;
15+ import { combineLatest , forkJoin , Observable , of } from 'rxjs' ;
1716import { filter , map , tap } from 'rxjs/operators' ;
1817import { ScenarioTemplateQuery } from 'src/app/data/scenario-template/scenario-template.query' ;
1918import { ScenarioTemplateMembershipDataService } from 'src/app/data/scenario-template/scenario-template-membership-data.service' ;
@@ -26,6 +25,7 @@ import {
2625} from 'src/app/generated/steamfitter.api' ;
2726import { GroupDataService } from 'src/app/data/group/group-data.service' ;
2827import { PermissionDataService } from 'src/app/data/permission/permission-data.service' ;
28+ import { ActivatedRoute } from '@angular/router' ;
2929
3030@Component ( {
3131 selector : 'app-scenario-template-memberships' ,
@@ -50,7 +50,7 @@ export class ScenarioTemplateMembershipsComponent implements OnInit, OnChanges {
5050 groupNonMembers$ = this . selectGroups ( false ) ;
5151 groupMembers$ = this . selectGroups ( true ) ;
5252
53- canEdit : boolean ;
53+ canEdit$ : Observable < boolean > ;
5454
5555 constructor (
5656 private scenarioTemplateQuery : ScenarioTemplateQuery ,
@@ -59,7 +59,8 @@ export class ScenarioTemplateMembershipsComponent implements OnInit, OnChanges {
5959 private userDataService : UserDataService ,
6060 private userQuery : UserQuery ,
6161 private groupDataService : GroupDataService ,
62- private permissionDataService : PermissionDataService
62+ private permissionDataService : PermissionDataService ,
63+ private activatedRoute : ActivatedRoute
6364 ) { }
6465
6566 ngOnInit ( ) : void {
@@ -71,6 +72,10 @@ export class ScenarioTemplateMembershipsComponent implements OnInit, OnChanges {
7172 this . scenarioTemplateRolesDataService . loadRoles ( ) ,
7273 this . groupDataService . load ( ) ,
7374 ] ) . subscribe ( ) ;
75+ this . permissionDataService
76+ . loadScenarioTemplatePermissions ( this . scenarioTemplateId )
77+ . subscribe ( ( x ) =>
78+ this . canEdit$ = of ( this . permissionDataService . canEditScenarioTemplate ( this . scenarioTemplateId ) ) ) ;
7479 }
7580
7681 ngOnChanges ( changes : SimpleChanges ) {
@@ -79,11 +84,9 @@ export class ScenarioTemplateMembershipsComponent implements OnInit, OnChanges {
7984 . pipe (
8085 filter ( ( x ) => x != null ) ,
8186 tap (
82- ( x ) =>
83- ( this . canEdit = this . permissionDataService . canEditScenarioTemplate (
84- x . id
85- ) )
86- )
87+ ( x ) => {
88+ this . canEdit$ = of ( this . permissionDataService . canEditScenarioTemplate ( this . scenarioTemplateId ) ) ;
89+ } )
8790 ) ;
8891 }
8992
0 commit comments