From 3cf43063180cd14c466ddca7704b955a78c2881a Mon Sep 17 00:00:00 2001 From: sumeyyeKurtulus Date: Thu, 9 May 2024 14:18:08 +0300 Subject: [PATCH 1/2] fix: actions list availibility check functionality --- .../extensible-table.component.html | 2 +- .../extensible-table.component.ts | 20 +++++++++++++------ 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/npm/ng-packs/packages/components/extensible/src/lib/components/extensible-table/extensible-table.component.html b/npm/ng-packs/packages/components/extensible/src/lib/components/extensible-table/extensible-table.component.html index 59d50a40ec..e9b08947e9 100644 --- a/npm/ng-packs/packages/components/extensible/src/lib/components/extensible-table/extensible-table.component.html +++ b/npm/ng-packs/packages/components/extensible/src/lib/components/extensible-table/extensible-table.component.html @@ -17,7 +17,7 @@ *ngTemplateOutlet="actionsTemplate || gridActions; context: { $implicit: row, index: i }" > - @if (hasAvailableActions(i, row)) { + @if (hasAvailableActions(row)) { } diff --git a/npm/ng-packs/packages/components/extensible/src/lib/components/extensible-table/extensible-table.component.ts b/npm/ng-packs/packages/components/extensible/src/lib/components/extensible-table/extensible-table.component.ts index a99ba37907..e2e3733c8f 100644 --- a/npm/ng-packs/packages/components/extensible/src/lib/components/extensible-table/extensible-table.component.ts +++ b/npm/ng-packs/packages/components/extensible/src/lib/components/extensible-table/extensible-table.component.ts @@ -206,12 +206,20 @@ export class ExtensibleTableComponent implements OnChanges { }); } - hasAvailableActions(index, data): boolean { - const { permission, visible } = this.actionList.get(index)?.value || {}; - let isActionAvailable = this.permissionService.getGrantedPolicy(permission); - if (data && data.record) { - isActionAvailable &&= visible(data); - } + hasAvailableActions(data): boolean { + let isActionAvailable = true; + this.actionList.toArray().map(action => { + const { visible, permission } = action; + if (data && action) { + const visibilityCheck = visible({ + record: data, + getInjected: this.getInjected, + }); + const permissionCheck = this.permissionService.getGrantedPolicy(permission); + + isActionAvailable = visibilityCheck && permissionCheck; + } + }); return isActionAvailable; } } From 5440822250356f61334848d40df073d69208d7c6 Mon Sep 17 00:00:00 2001 From: sumeyyeKurtulus Date: Thu, 9 May 2024 14:36:03 +0300 Subject: [PATCH 2/2] update: rename the parameter to enhance readibility --- .../extensible-table/extensible-table.component.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/npm/ng-packs/packages/components/extensible/src/lib/components/extensible-table/extensible-table.component.ts b/npm/ng-packs/packages/components/extensible/src/lib/components/extensible-table/extensible-table.component.ts index e2e3733c8f..80321d4ef0 100644 --- a/npm/ng-packs/packages/components/extensible/src/lib/components/extensible-table/extensible-table.component.ts +++ b/npm/ng-packs/packages/components/extensible/src/lib/components/extensible-table/extensible-table.component.ts @@ -206,13 +206,13 @@ export class ExtensibleTableComponent implements OnChanges { }); } - hasAvailableActions(data): boolean { + hasAvailableActions(rowData): boolean { let isActionAvailable = true; this.actionList.toArray().map(action => { const { visible, permission } = action; - if (data && action) { + if (rowData && action) { const visibilityCheck = visible({ - record: data, + record: rowData, getInjected: this.getInjected, }); const permissionCheck = this.permissionService.getGrantedPolicy(permission);