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,