Browse Source

Refactor feature display logic to use GetShownName method for improved clarity and consistency

pull/22628/head
maliming 1 year ago
parent
commit
391b16d240
No known key found for this signature in database GPG Key ID: A646B9CB645ECEA4
  1. 8
      modules/feature-management/src/Volo.Abp.FeatureManagement.Blazor/Components/FeatureManagementModal.razor
  2. 11
      modules/feature-management/src/Volo.Abp.FeatureManagement.Blazor/Components/FeatureManagementModal.razor.cs
  3. 6
      modules/feature-management/src/Volo.Abp.FeatureManagement.Web/Pages/FeatureManagement/FeatureManagementModal.cshtml
  4. 7
      modules/feature-management/src/Volo.Abp.FeatureManagement.Web/Pages/FeatureManagement/FeatureManagementModal.cshtml.cs

8
modules/feature-management/src/Volo.Abp.FeatureManagement.Blazor/Components/FeatureManagementModal.razor

@ -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)
{

11
modules/feature-management/src/Volo.Abp.FeatureManagement.Blazor/Components/FeatureManagementModal.razor.cs

@ -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)

6
modules/feature-management/src/Volo.Abp.FeatureManagement.Web/Pages/FeatureManagement/FeatureManagementModal.cshtml

@ -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)
{

7
modules/feature-management/src/Volo.Abp.FeatureManagement.Web/Pages/FeatureManagement/FeatureManagementModal.cshtml.cs

@ -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; }

Loading…
Cancel
Save