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 bf223391e0..257221add9 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,7 +29,7 @@ @for (feature of features[group.name]; track feature.id || i; let i = $index) { @let provider = feature.provider.name; - @let isFeatureDisabled = !feature.parentName ? isParentDisabled(feature.name, group.name) : + @let isFeatureDisabled = !feature.parentName ? isParentDisabled(feature.name, group.name, provider) : (provider !== providerName && provider !== defaultProviderName);
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 d580578564..ddcfba7482 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,13 +184,17 @@ export class FeatureManagementComponent } } - isParentDisabled(parentName: string, groupName: string): boolean { + isParentDisabled(parentName: string, groupName: string, provider: string): boolean { const children = this.features[groupName]?.filter(f => f.parentName === parentName); - return children.some(child => { - const provider = child.provider?.name; + if (children?.length) { + return children.some(child => { + const childProvider = child.provider?.name; + return childProvider !== this.providerName && childProvider !== this.defaultProviderName; + }); + } else { return provider !== this.providerName && provider !== this.defaultProviderName; - }); + } } private uncheckToggleDescendants(feature: FeatureDto) {