Browse Source

Feature modal improvement

pull/12456/head
liangshiwei 4 years ago
parent
commit
6d1c5cdeeb
  1. 92
      modules/feature-management/src/Volo.Abp.FeatureManagement.Blazor/Components/FeatureManagementModal.razor
  2. 6
      modules/feature-management/src/Volo.Abp.FeatureManagement.Web/Pages/FeatureManagement/FeatureManagementModal.cshtml
  3. 15
      modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/SettingManagementFeatureDefinitionProvider.cs

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

@ -6,7 +6,7 @@
<ModalContent Size="ModalSize.Large" Centered="true"> <ModalContent Size="ModalSize.Large" Centered="true">
<ModalHeader> <ModalHeader>
<ModalTitle>@L["Features"]</ModalTitle> <ModalTitle>@L["Features"]</ModalTitle>
<CloseButton Clicked="CloseModal" /> <CloseButton Clicked="CloseModal"/>
</ModalHeader> </ModalHeader>
<ModalBody MaxHeight="50"> <ModalBody MaxHeight="50">
@if (Groups == null || !Groups.Any()) @if (Groups == null || !Groups.Any())
@ -33,55 +33,61 @@
<hr class="mt-2 mb-3"/> <hr class="mt-2 mb-3"/>
@foreach (var feature in Groups[index].Features) @foreach (var feature in Groups[index].Features)
{ {
var disabled = IsDisabled(feature.Provider.Name); <div class="mt-2">
@{
var disabled = IsDisabled(feature.Provider.Name);
if (feature.ValueType is FreeTextStringValueType) if (feature.ValueType is FreeTextStringValueType)
{
<Field Style="@GetFeatureStyles(feature)">
<FieldLabel>@feature.DisplayName</FieldLabel>
<TextEdit Disabled="@disabled"
Text="@feature.Value"
TextChanged="@(async (v) => await OnFeatureValueChangedAsync(v, feature))"/>
@if (feature.Description != null)
{ {
<div class="form-text">@feature.Description</div> <Field Style="@GetFeatureStyles(feature)">
<FieldLabel>@feature.DisplayName</FieldLabel>
<TextEdit Disabled="@disabled"
Text="@feature.Value"
TextChanged="@(async (v) => await OnFeatureValueChangedAsync(v, feature))"/>
@if (feature.Description != null)
{
<div class="form-text">@feature.Description</div>
}
</Field>
} }
</Field>
}
if (feature.ValueType is SelectionStringValueType) if (feature.ValueType is SelectionStringValueType)
{
var items = ((SelectionStringValueType) feature.ValueType).ItemSource.Items;
<Field Style="@GetFeatureStyles(feature)">
<FieldLabel>@feature.DisplayName</FieldLabel>
<Select TValue="string"
@bind-SelectedValue="@SelectionStringValues[feature.Name]">
@foreach (var item in items)
{
<SelectItem Value="@item.Value">
@CreateStringLocalizer(item.DisplayText.ResourceName).GetString(item.DisplayText.Name)
</SelectItem>
}
</Select>
@if (feature.Description != null)
{ {
<div class="form-text">@feature.Description</div> var items = ((SelectionStringValueType) feature.ValueType).ItemSource.Items;
<Field Style="@GetFeatureStyles(feature)">
<FieldLabel>@feature.DisplayName</FieldLabel>
<Select TValue="string"
@bind-SelectedValue="@SelectionStringValues[feature.Name]">
@foreach (var item in items)
{
<SelectItem Value="@item.Value">
@CreateStringLocalizer(item.DisplayText.ResourceName).GetString(item.DisplayText.Name)
</SelectItem>
}
</Select>
@if (feature.Description != null)
{
<div class="form-text">@feature.Description</div>
}
</Field>
} }
</Field>
}
if (feature.ValueType is ToggleStringValueType) if (feature.ValueType is ToggleStringValueType)
{ {
<Field Style="@GetFeatureStyles(feature)"> <Field Style="@GetFeatureStyles(feature)">
<Check <Check
TValue="bool" Checked="@ToggleValues[feature.Name]" CheckedChanged="@(async (v) => await OnSelectedValueChangedAsync(v, feature))">@feature.DisplayName</Check> TValue="bool" Checked="@ToggleValues[feature.Name]" CheckedChanged="@(async (v) => await OnSelectedValueChangedAsync(v, feature))">
</Field> @feature.DisplayName
@if (feature.Description != null) </Check>
{ @if (feature.Description != null)
<div class="form-text">@feature.Description</div> {
<div class="form-text">@feature.Description</div>
}
</Field>
}
} }
} </div>
} }
</TabPanel> </TabPanel>
@ -95,4 +101,4 @@
<Button Color="Color.Primary" Clicked="SaveAsync">@L["Save"]</Button> <Button Color="Color.Primary" Clicked="SaveAsync">@L["Save"]</Button>
</ModalFooter> </ModalFooter>
</ModalContent> </ModalContent>
</Modal> </Modal>

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

@ -58,7 +58,7 @@
group-style="margin-left: @(feature.Depth * 20)px"/> group-style="margin-left: @(feature.Depth * 20)px"/>
@if (feature.Description != null) @if (feature.Description != null)
{ {
<div class="form-text">@feature.Description</div> <div class="form-text" style="margin-left: @(feature.Depth * 20)px">@feature.Description</div>
} }
} }
@ -81,7 +81,7 @@
group-style="margin-left: @(feature.Depth * 25)px"/> group-style="margin-left: @(feature.Depth * 25)px"/>
@if (feature.Description != null) @if (feature.Description != null)
{ {
<div class="form-text">@feature.Description</div> <div class="form-text" style="margin-left: @(feature.Depth * 25)px">@feature.Description</div>
} }
} }
@ -105,7 +105,7 @@
</select> </select>
@if (feature.Description != null) @if (feature.Description != null)
{ {
<div class="form-text">@feature.Description</div> <div class="form-text" style="margin-left: @(feature.Depth * 25)px">@feature.Description</div>
} }
</div> </div>
} }

15
modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/SettingManagementFeatureDefinitionProvider.cs

@ -18,6 +18,13 @@ public class SettingManagementFeatureDefinitionProvider : FeatureDefinitionProvi
L("Feature:SettingManagementEnable"), L("Feature:SettingManagementEnable"),
L("Feature:SettingManagementEnableDescription"), L("Feature:SettingManagementEnableDescription"),
new ToggleStringValueType()); new ToggleStringValueType());
group.AddFeature(
"MaxNumber",
"",
L("Max number"),
new FixedLocalizableString("Test feature max number"),
new FreeTextStringValueType());
settingEnableFeature.CreateChild( settingEnableFeature.CreateChild(
SettingManagementFeatures.AllowTenantsToChangeEmailSettings, SettingManagementFeatures.AllowTenantsToChangeEmailSettings,
@ -26,6 +33,14 @@ public class SettingManagementFeatureDefinitionProvider : FeatureDefinitionProvi
L("Feature:AllowTenantsToChangeEmailSettingsDescription"), L("Feature:AllowTenantsToChangeEmailSettingsDescription"),
new ToggleStringValueType(), new ToggleStringValueType(),
isAvailableToHost: false); isAvailableToHost: false);
settingEnableFeature.CreateChild(
"MinNumber",
"",
L("Min number"),
new FixedLocalizableString("Test feature min number"),
new FreeTextStringValueType(),
isAvailableToHost: false);
} }
private static LocalizableString L(string name) private static LocalizableString L(string name)

Loading…
Cancel
Save