Browse Source

Refactor feature management modal to simplify disabled state handling and remove unused CSS styles

pull/22628/head
maliming 1 year ago
parent
commit
6991515d6d
No known key found for this signature in database GPG Key ID: A646B9CB645ECEA4
  1. 78
      modules/feature-management/src/Volo.Abp.FeatureManagement.Web/Pages/FeatureManagement/FeatureManagementModal.cshtml
  2. 15
      modules/feature-management/src/Volo.Abp.FeatureManagement.Web/Pages/FeatureManagement/feature-management-modal.css

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

@ -51,21 +51,20 @@
@if (feature.ValueType is ToggleStringValueType)
{
<div class="@(Model.IsDisabled(feature) ? "disabled-container" : "")">
<abp-input asp-for="@feature.Value"
type="checkbox"
class="d-inline"
abp-id-name="@Model.FeatureGroups[i].Features[j].BoolValue"
label="@feature.DisplayName"
group-data-feature-name="@feature.Name"
group-data-parent-name="@(feature.ParentName ?? "")"
group-style="margin-inline-start: @(feature.Depth * 20)px"/>
<abp-input asp-for="@feature.Value"
type="checkbox"
class="d-inline"
abp-id-name="@Model.FeatureGroups[i].Features[j].BoolValue"
label="@feature.DisplayName"
disabled="@Model.IsDisabled(feature)"
group-data-feature-name="@feature.Name"
group-data-parent-name="@(feature.ParentName ?? "")"
group-style="margin-inline-start: @(feature.Depth * 20)px"/>
@if (feature.Description != null)
{
<div class="form-text" style="margin-inline-start: @(feature.Depth * 20)px">@feature.Description</div>
}
</div>
@if (feature.Description != null)
{
<div class="form-text" style="margin-inline-start: @(feature.Depth * 20)px">@feature.Description</div>
}
}
@if (feature.ValueType is FreeTextStringValueType)
@ -75,45 +74,42 @@
{
type = "number";
}
<div class="@(Model.IsDisabled(feature) ? "disabled-container" : "")">
<abp-input asp-for="@feature.Value"
<abp-input asp-for="@feature.Value"
label="@feature.DisplayName"
abp-id-name="@Model.FeatureGroups[i].Features[j].Value"
type="@type"
disabled="@Model.IsDisabled(feature)"
group-data-feature-name="@feature.Name"
group-data-parent-name="@(feature.ParentName ?? "")"
group-style="margin-inline-start: @(feature.Depth * 25)px"/>
@if (feature.Description != null)
{
<div class="form-text" style="margin-inline-start: @(feature.Depth * 25)px">@feature.Description</div>
}
</div>
group-style="margin-inline-start: @(feature.Depth * 25)px"/>
@if (feature.Description != null)
{
<div class="form-text" style="margin-inline-start: @(feature.Depth * 25)px">@feature.Description</div>
}
}
@if (feature.ValueType is SelectionStringValueType selectType)
{
<div class="@(Model.IsDisabled(feature) ? "disabled-container" : "")">
<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>
<select id="@feature.Name" name="FeatureGroups[@i].Features[@j].Value" class="form-select">
@foreach (var item in selectType.ItemSource.Items)
var disabled = Model.IsDisabled(feature) ? "disabled" : "";
<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>
<select id="@feature.Name" name="FeatureGroups[@i].Features[@j].Value" class="form-select" @(disabled) >
@foreach (var item in selectType.ItemSource.Items)
{
if (item.Value == feature.Value)
{
if (item.Value == feature.Value)
{
<option value="@item.Value" selected="selected"> @CreateHtmlLocalizer(item.DisplayText.ResourceName).GetString(item.DisplayText.Name) </option>
}
else
{
<option value="@item.Value"> @CreateHtmlLocalizer(item.DisplayText.ResourceName).GetString(item.DisplayText.Name) </option>
}
<option value="@item.Value" selected="selected"> @CreateHtmlLocalizer(item.DisplayText.ResourceName).GetString(item.DisplayText.Name) </option>
}
else
{
<option value="@item.Value"> @CreateHtmlLocalizer(item.DisplayText.ResourceName).GetString(item.DisplayText.Name) </option>
}
</select>
@if (feature.Description != null)
{
<div class="form-text" style="margin-inline-start: @(feature.Depth * 25)px">@feature.Description</div>
}
</div>
</select>
@if (feature.Description != null)
{
<div class="form-text" style="margin-inline-start: @(feature.Depth * 25)px">@feature.Description</div>
}
</div>
}

15
modules/feature-management/src/Volo.Abp.FeatureManagement.Web/Pages/FeatureManagement/feature-management-modal.css

@ -2,19 +2,6 @@
max-height: 400px;
}
.custom-scroll-container > .col-md-4 {
max-height: 500px;
}
.disabled-container {
pointer-events: none;
opacity: 0.5;
}
.disabled-container input,
.disabled-container select,
.disabled-container button {
background-color: #e9ecef;
color: #6c757d;
}
}
Loading…
Cancel
Save