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; } }