From ac3afe5d2fab18281bba39c769ccb10bf5487952 Mon Sep 17 00:00:00 2001 From: matheus-relief Date: Thu, 26 Oct 2023 20:30:22 -0300 Subject: [PATCH] fix: canUpdate field permission w/o canSee --- .../context-datasource.component.ts | 6 +----- .../resource-fields.component.html | 4 ++-- .../resource-fields.component.ts | 19 +++++-------------- 3 files changed, 8 insertions(+), 21 deletions(-) diff --git a/apps/back-office/src/app/dashboard/pages/dashboard/components/context-datasource/context-datasource.component.ts b/apps/back-office/src/app/dashboard/pages/dashboard/components/context-datasource/context-datasource.component.ts index 784f46b7b5..22d335f947 100644 --- a/apps/back-office/src/app/dashboard/pages/dashboard/components/context-datasource/context-datasource.component.ts +++ b/apps/back-office/src/app/dashboard/pages/dashboard/components/context-datasource/context-datasource.component.ts @@ -230,11 +230,7 @@ export class ContextDatasourceComponent this.resource?.fields.map((x: any) => x.name) ?? []; break; case 'refData': - // TODO: When frontend changes about referenceData fields are merged, - // swap to the commented line to remove any casting - // this.availableFields = this.refData?.fields?.map((x) => x.name) ?? []; - this.availableFields = - this.refData?.fields?.map((x: any) => x.name) ?? []; + this.availableFields = this.refData?.fields?.map((x) => x.name) ?? []; break; default: this.availableFields = []; 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 8983519704..174188e8e9 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 @@ -43,9 +43,6 @@ export class ResourceFieldsComponent implements OnInit, OnChanges { public fields = new Array(); public displayedColumns: string[] = ['name', 'actions']; - 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) => { @@ -54,14 +51,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' + ); } } @@ -99,17 +93,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,