From 41cd679da59a9b9332309a457ac58a88c6e2d932 Mon Sep 17 00:00:00 2001 From: erdemcaygor Date: Fri, 11 Jul 2025 15:30:54 +0300 Subject: [PATCH] feature management updates --- .../feature-management/feature-management.component.html | 4 ++-- .../feature-management/feature-management.component.ts | 9 +++++++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/npm/ng-packs/packages/feature-management/src/lib/components/feature-management/feature-management.component.html b/npm/ng-packs/packages/feature-management/src/lib/components/feature-management/feature-management.component.html index a81444e56c..bf223391e0 100644 --- a/npm/ng-packs/packages/feature-management/src/lib/components/feature-management/feature-management.component.html +++ b/npm/ng-packs/packages/feature-management/src/lib/components/feature-management/feature-management.component.html @@ -29,8 +29,8 @@ @for (feature of features[group.name]; track feature.id || i; let i = $index) { @let provider = feature.provider.name; - @let isFeatureDisabled = - provider !== providerName && provider !== defaultProviderName; + @let isFeatureDisabled = !feature.parentName ? isParentDisabled(feature.name, group.name) : + (provider !== providerName && provider !== defaultProviderName);
@switch (feature.valueType?.name) { diff --git a/npm/ng-packs/packages/feature-management/src/lib/components/feature-management/feature-management.component.ts b/npm/ng-packs/packages/feature-management/src/lib/components/feature-management/feature-management.component.ts index 85ee18fb78..d580578564 100644 --- a/npm/ng-packs/packages/feature-management/src/lib/components/feature-management/feature-management.component.ts +++ b/npm/ng-packs/packages/feature-management/src/lib/components/feature-management/feature-management.component.ts @@ -184,6 +184,15 @@ export class FeatureManagementComponent } } + isParentDisabled(parentName: string, groupName: string): boolean { + const children = this.features[groupName]?.filter(f => f.parentName === parentName); + + return children.some(child => { + const provider = child.provider?.name; + return provider !== this.providerName && provider !== this.defaultProviderName; + }); + } + private uncheckToggleDescendants(feature: FeatureDto) { this.findAllDescendantsOfByType(feature, ValueTypes.ToggleStringValueType).forEach(node => this.setFeatureValue(node, false),