From ddfbef933851bab77342ad3bdd8068caa7f533ec Mon Sep 17 00:00:00 2001 From: sumeyye Date: Wed, 8 Jul 2026 16:13:44 +0300 Subject: [PATCH] fix: permission modal visibility constraint --- .../replaceable-template.directive.ts | 6 ++++-- .../permission-management.component.ts | 19 +++++++++++++++++++ 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/npm/ng-packs/packages/core/src/lib/directives/replaceable-template.directive.ts b/npm/ng-packs/packages/core/src/lib/directives/replaceable-template.directive.ts index f39ba1fdd3..023de6ac02 100644 --- a/npm/ng-packs/packages/core/src/lib/directives/replaceable-template.directive.ts +++ b/npm/ng-packs/packages/core/src/lib/directives/replaceable-template.directive.ts @@ -9,7 +9,7 @@ import { Type, ViewContainerRef, inject, - input + input, } from '@angular/core'; import compare from 'just-compare'; import { Subscription } from 'rxjs'; @@ -30,7 +30,9 @@ export class ReplaceableTemplateDirective implements OnInit, OnChanges { private replaceableComponents = inject(ReplaceableComponentsService); private subscription = inject(SubscriptionService); - readonly data = input.required>({ alias: "abpReplaceableTemplate" }); + readonly data = input.required>( + { alias: 'abpReplaceableTemplate' }, + ); providedData = { inputs: {}, diff --git a/npm/ng-packs/packages/permission-management/src/lib/components/permission-management.component.ts b/npm/ng-packs/packages/permission-management/src/lib/components/permission-management.component.ts index 8d0b0f4908..1163556beb 100644 --- a/npm/ng-packs/packages/permission-management/src/lib/components/permission-management.component.ts +++ b/npm/ng-packs/packages/permission-management/src/lib/components/permission-management.component.ts @@ -3,11 +3,13 @@ import { Component, computed, DOCUMENT, + effect, inject, input, output, signal, TrackByFunction, + untracked, } from '@angular/core'; import { NgStyle } from '@angular/common'; import { FormsModule } from '@angular/forms'; @@ -224,6 +226,10 @@ export class PermissionManagementComponent { } set visible(value: boolean) { + this.setVisible(value); + } + + private setVisible(value: boolean) { if (value && this.isClosingModal) { return; } @@ -303,6 +309,19 @@ export class PermissionManagementComponent { this.disabledSelectAllInAllTabsState.set(false); } + // constructor() { + // effect(() => { + // this.setVisible(this.visibleInput()); + // }); + // } + + constructor() { + effect(() => { + const visible = this.visibleInput(); + untracked(() => this.setVisible(visible)); + }); + } + getChecked(name: string) { return (this.permissionsState().find(per => per.name === name) || { isGranted: false }) .isGranted;