diff --git a/libs/shared/src/lib/components/role-summary/role-resources/resource-fields/resource-fields.component.html b/libs/shared/src/lib/components/role-summary/role-resources/resource-fields/resource-fields.component.html index 6712c94f20..0defefd658 100644 --- a/libs/shared/src/lib/components/role-summary/role-resources/resource-fields/resource-fields.component.html +++ b/libs/shared/src/lib/components/role-summary/role-resources/resource-fields/resource-fields.component.html @@ -51,7 +51,7 @@

{{ 'common.field.few' | translate }}

: 'components.role.tooltip.disallowFieldAccessibility' ) | translate : { field: element.name } " - (click)="onEditFieldAccess(index, element, 'canSee')" + (click)="onEditFieldAccess(element, 'canSee')" > {{ 'common.field.few' | translate }} : 'components.role.tooltip.disallowFieldUpdate' ) | translate : { field: element.name } " - (click)="onEditFieldAccess(index, element, 'canUpdate')" + (click)="onEditFieldAccess(element, 'canUpdate')" > diff --git a/libs/shared/src/lib/components/role-summary/role-resources/resource-fields/resource-fields.component.ts b/libs/shared/src/lib/components/role-summary/role-resources/resource-fields/resource-fields.component.ts index f32c050ee5..6d3e1ade22 100644 --- a/libs/shared/src/lib/components/role-summary/role-resources/resource-fields/resource-fields.component.ts +++ b/libs/shared/src/lib/components/role-summary/role-resources/resource-fields/resource-fields.component.ts @@ -50,10 +50,6 @@ export class ResourceFieldsComponent implements OnInit, OnChanges { /** Displayed columns */ public displayedColumns: string[] = ['name', 'actions']; - /** Updated field */ - private updatedField: { index: number; permission: 'canSee' | 'canUpdate' } = - { index: -1, permission: 'canSee' }; - ngOnInit() { this.fields = sortBy(this.resource.fields.map(this.hasFieldAccess), 'name'); this.filterId.valueChanges.subscribe((value) => { @@ -62,14 +58,11 @@ export class ResourceFieldsComponent implements OnInit, OnChanges { } ngOnChanges(changes: SimpleChanges): void { - if (changes.resource && this.updatedField.index !== -1) { - const field = this.fields[this.updatedField.index]; - if (this.updatedField.permission === 'canSee') { - field.canSee = !field.canSee; - } else { - field.canUpdate = !field.canUpdate; - } - this.updatedField.index = -1; + if (changes.resource) { + this.fields = sortBy( + this.resource.fields.map(this.hasFieldAccess), + 'name' + ); } } @@ -113,17 +106,14 @@ export class ResourceFieldsComponent implements OnInit, OnChanges { /** * Emits an event to toggle if field is visible / editable. * - * @param index Index of the field to toggle permission for. * @param field Field to toggle permission for. * @param permission Permission type to toggle. */ public onEditFieldAccess( - index: number, field: ResourceField, permission: 'canSee' | 'canUpdate' ) { // Save field updated - this.updatedField = { index, permission }; this.onToggle.emit({ field, permission,