Browse Source

Merge pull request #23052 from abpframework/issue/22667

Angular: Updating feature enable/disable behavior for provider criteria
pull/23061/head
Gizem Mutu Kurt 11 months ago
committed by GitHub
parent
commit
bbee740005
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 34
      npm/ng-packs/packages/feature-management/src/lib/components/feature-management/feature-management.component.html
  2. 4
      npm/ng-packs/packages/feature-management/src/lib/components/feature-management/feature-management.component.ts

34
npm/ng-packs/packages/feature-management/src/lib/components/feature-management/feature-management.component.html

@ -28,6 +28,10 @@
<hr class="mt-2 mb-3" />
@for (feature of features[group.name]; track feature.id || i; let i = $index) {
@let provider = feature.provider.name;
@let isFeatureDisabled =
provider !== providerName && provider !== defaultProviderName;
<div class="mt-2" [ngStyle]="feature.style" (keyup.enter)="save()">
@switch (feature.valueType?.name) {
@case (valueTypes.ToggleStringValueType) {
@ -38,11 +42,15 @@
[id]="feature.name"
[(ngModel)]="feature.value"
(ngModelChange)="onCheckboxClick($event, feature)"
[disabled]="isFeatureDisabled"
/>
<label class="form-check-label" [htmlFor]="feature.name">{{
feature.displayName
}}</label>
<label class="form-check-label" [htmlFor]="feature.name">
{{ feature.displayName }}
@if (isFeatureDisabled) {
<span>({{ provider }})</span>
}
</label>
<ng-container
*ngTemplateOutlet="
descTmp;
@ -53,15 +61,19 @@
}
@case (valueTypes.FreeTextStringValueType) {
<div class="mb-3 form-group" [class.px-2]="!!feature.parentName">
<label [htmlFor]="feature.name" class="form-label">{{
feature.displayName
}}</label>
<label [htmlFor]="feature.name" class="form-label">
{{ feature.displayName }}
@if (isFeatureDisabled) {
<span>({{ provider }})</span>
}
</label>
<input
class="form-control"
type="text"
[id]="feature.name"
[(ngModel)]="feature.value"
[abpFeatureManagementFreeText]="feature"
[disabled]="isFeatureDisabled"
/>
<ng-container
@ -75,13 +87,17 @@
@case (valueTypes.SelectionStringValueType) {
@if (feature.valueType.itemSource?.items?.length) {
<div class="mb-3 form-group" [class.px-2]="!!feature.parentName">
<label [htmlFor]="feature.name" class="form-label">{{
feature.displayName
}}</label>
<label [htmlFor]="feature.name" class="form-label">
{{ feature.displayName }}
@if (isFeatureDisabled) {
<span>({{ provider }})</span>
}
</label>
<select
class="form-select"
[id]="feature.name"
[(ngModel)]="feature.value"
[disabled]="isFeatureDisabled"
>
@for (
item of feature.valueType.itemSource?.items;

4
npm/ng-packs/packages/feature-management/src/lib/components/feature-management/feature-management.component.ts

@ -28,6 +28,8 @@ enum ValueTypes {
SelectionStringValueType = 'SelectionStringValueType',
}
const DEFAULT_PROVIDER_NAME = 'D';
@Component({
selector: 'abp-feature-management',
templateUrl: './feature-management.component.html',
@ -74,6 +76,8 @@ export class FeatureManagementComponent
valueTypes = ValueTypes;
defaultProviderName = DEFAULT_PROVIDER_NAME;
protected _visible;
@Input()

Loading…
Cancel
Save