Browse Source
Refactor feature display logic to use GetShownName method for improved clarity and consistency
pull/22628/head
maliming
1 year ago
No known key found for this signature in database
GPG Key ID: A646B9CB645ECEA4
4 changed files with
23 additions and
9 deletions
-
modules/feature-management/src/Volo.Abp.FeatureManagement.Blazor/Components/FeatureManagementModal.razor
-
modules/feature-management/src/Volo.Abp.FeatureManagement.Blazor/Components/FeatureManagementModal.razor.cs
-
modules/feature-management/src/Volo.Abp.FeatureManagement.Web/Pages/FeatureManagement/FeatureManagementModal.cshtml
-
modules/feature-management/src/Volo.Abp.FeatureManagement.Web/Pages/FeatureManagement/FeatureManagementModal.cshtml.cs
|
|
|
@ -35,12 +35,12 @@ |
|
|
|
{ |
|
|
|
<div class="mt-2"> |
|
|
|
@{ |
|
|
|
var disabled = IsDisabled(feature.Provider.Name); |
|
|
|
var disabled = IsDisabled(feature); |
|
|
|
|
|
|
|
if (feature.ValueType is FreeTextStringValueType) |
|
|
|
{ |
|
|
|
<Field Style="@GetFeatureStyles(feature)"> |
|
|
|
<FieldLabel>@feature.DisplayName</FieldLabel> |
|
|
|
<FieldLabel>@GetShownName(feature)</FieldLabel> |
|
|
|
<TextEdit Disabled="@disabled" |
|
|
|
Text="@feature.Value" |
|
|
|
TextChanged="@(async (v) => await OnFeatureValueChangedAsync(v, feature))" /> |
|
|
|
@ -56,7 +56,7 @@ |
|
|
|
var items = ((SelectionStringValueType)feature.ValueType).ItemSource.Items; |
|
|
|
var selectedValue = SelectionStringValues[feature.Name]; |
|
|
|
<Field Style="@GetFeatureStyles(feature)"> |
|
|
|
<FieldLabel>@feature.DisplayName</FieldLabel> |
|
|
|
<FieldLabel>@GetShownName(feature)</FieldLabel> |
|
|
|
<Select TValue="string" Disabled="disabled" SelectedValue="selectedValue" SelectedValueChanged="s => SelectionStringValues[feature.Name] = s"> |
|
|
|
@foreach (var item in items) |
|
|
|
{ |
|
|
|
@ -76,7 +76,7 @@ |
|
|
|
{ |
|
|
|
<Field Style="@GetFeatureStyles(feature)"> |
|
|
|
<Check TValue="bool" Disabled="disabled" Checked="@ToggleValues[feature.Name]" CheckedChanged="@(async (v) => await OnSelectedValueChangedAsync(v, feature))"> |
|
|
|
@feature.DisplayName |
|
|
|
@GetShownName(feature) |
|
|
|
</Check> |
|
|
|
@if (feature.Description != null) |
|
|
|
{ |
|
|
|
|
|
|
|
@ -150,9 +150,16 @@ public partial class FeatureManagementModal |
|
|
|
return $"margin-left: {feature.Depth * 20}px"; |
|
|
|
} |
|
|
|
|
|
|
|
protected virtual bool IsDisabled(string providerName) |
|
|
|
protected virtual bool IsDisabled(FeatureDto feature) |
|
|
|
{ |
|
|
|
return providerName != ProviderName && providerName != DefaultValueFeatureValueProvider.ProviderName; |
|
|
|
return feature.Provider.Name != ProviderName && feature.Provider.Name != DefaultValueFeatureValueProvider.ProviderName; |
|
|
|
} |
|
|
|
|
|
|
|
public string GetShownName(FeatureDto featureDto) |
|
|
|
{ |
|
|
|
return !IsDisabled(featureDto) |
|
|
|
? featureDto.DisplayName |
|
|
|
: $"{featureDto.DisplayName} ({featureDto.Provider.Name})"; |
|
|
|
} |
|
|
|
|
|
|
|
protected virtual async Task OnFeatureValueChangedAsync(string value, FeatureDto feature) |
|
|
|
|
|
|
|
@ -56,7 +56,7 @@ |
|
|
|
type="checkbox" |
|
|
|
class="d-inline" |
|
|
|
abp-id-name="@Model.FeatureGroups[i].Features[j].BoolValue" |
|
|
|
label="@feature.DisplayName" |
|
|
|
label="@Model.GetShownName(feature)" |
|
|
|
disabled="disabled" |
|
|
|
group-data-feature-name="@feature.Name" |
|
|
|
group-data-parent-name="@(feature.ParentName ?? "")" |
|
|
|
@ -71,7 +71,7 @@ |
|
|
|
{ |
|
|
|
var type = feature.ValueType.Validator is NumericValueValidator ? "number" : "text"; |
|
|
|
<abp-input asp-for="@feature.Value" |
|
|
|
label="@feature.DisplayName" |
|
|
|
label="@Model.GetShownName(feature)" |
|
|
|
abp-id-name="@Model.FeatureGroups[i].Features[j].Value" |
|
|
|
type="@type" |
|
|
|
disabled="disabled" |
|
|
|
@ -87,7 +87,7 @@ |
|
|
|
@if (feature.ValueType is SelectionStringValueType selectType) |
|
|
|
{ |
|
|
|
<div data-feature-name="@feature.Name" data-parent-name="@(feature.ParentName ?? "")" style="margin-inline-start: @(feature.Depth * 25)px" class="mb-3"> |
|
|
|
<label class="form-label" for="@feature.Name">@feature.DisplayName</label> |
|
|
|
<label class="form-label" for="@feature.Name">@Model.GetShownName(feature)</label> |
|
|
|
<select id="@feature.Name" name="FeatureGroups[@i].Features[@j].Value" class="form-select" @(disabled ? "disabled" : "")> |
|
|
|
@foreach (var item in selectType.ItemSource.Items) |
|
|
|
{ |
|
|
|
|
|
|
|
@ -90,6 +90,13 @@ public class FeatureManagementModal : AbpPageModel |
|
|
|
return featureDto.Provider.Name != ProviderName && featureDto.Provider.Name != DefaultValueFeatureValueProvider.ProviderName; |
|
|
|
} |
|
|
|
|
|
|
|
public string GetShownName(FeatureDto featureDto) |
|
|
|
{ |
|
|
|
return !IsDisabled(featureDto) |
|
|
|
? featureDto.DisplayName |
|
|
|
: $"{featureDto.DisplayName} ({featureDto.Provider.Name})"; |
|
|
|
} |
|
|
|
|
|
|
|
public class FeatureGroupViewModel |
|
|
|
{ |
|
|
|
public List<FeatureViewModel> Features { get; set; } |
|
|
|
|