From 8dc4eff19d547fb013931aa2b5345bc7379aaa2c Mon Sep 17 00:00:00 2001 From: sumeyyeKurtulus Date: Wed, 15 May 2024 16:56:17 +0300 Subject: [PATCH] fix: the logic error on hasAvailableActions function to get the visible action length instead --- .../extensible-table.component.ts | 18 +++++++++++++++--- 1 file changed, 15 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 8ed24133f2..4e8be19df1 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,8 +206,20 @@ export class ExtensibleTableComponent implements OnChanges { }); } - hasAvailableActions(index, row): boolean { - const { permission, visible } = this.actionList.get(index).value; - return this.permissionService.getGrantedPolicy(permission) && visible(row); + hasAvailableActions(rowData: any): boolean { + const actions = this.actionList.toArray(); + const visibleActions = actions.filter(action => { + const { visible, permission } = action; + + if (permission && visible) { + const visibilityCheck = visible({ record: rowData, getInjected: this.getInjected }); + const permissionCheck = this.permissionService.getGrantedPolicy(permission); + return visibilityCheck && permissionCheck; + } + + return false; + }); + + return visibleActions.length > 0; } }