feat(#I18G05): Blazor 编辑弹窗 Title 可配置

#Comment
comment #I18G05

#Issue
close https://gitee.com/LongbowEnterprise/dashboard/issues?id=I18G05
This commit is contained in:
Argo Zhang 2020-01-15 18:15:36 +08:00
parent ae385233ec
commit 7698ce5a1c
No known key found for this signature in database
GPG Key ID: 152E398953DDF19F
8 changed files with 52 additions and 40 deletions

View File

@ -11,14 +11,14 @@ namespace Bootstrap.Admin.Components
public class EditPageBase<TItem> : ComponentBase
{
/// <summary>
///
/// 获得/设置 Id
/// </summary>
[Parameter]
public string Id { get; set; } = "";
#nullable disable
/// <summary>
///
/// 获得/设置 QueryModel 实例
/// </summary>
[Parameter]
public TItem QueryModel { get; set; }
@ -37,40 +37,46 @@ namespace Bootstrap.Admin.Components
public Func<int, int, QueryData<TItem>>? OnQuery { get; set; }
/// <summary>
///
/// 获得/设置 TableHeader 实例
/// </summary>
[Parameter]
public RenderFragment<TItem>? TableHeader { get; set; }
/// <summary>
///
/// 获得/设置 RowTemplate 实例
/// </summary>
[Parameter]
public RenderFragment<TItem>? RowTemplate { get; set; }
/// <summary>
/// 按钮模板
/// 获得/设置 按钮模板
/// </summary>
[Parameter]
public RenderFragment<TItem>? ButtonTemplate { get; set; }
/// <summary>
///
/// 获得/设置 TableFooter 实例
/// </summary>
[Parameter]
public RenderFragment? TableFooter { get; set; }
/// <summary>
///
/// 获得/设置 EditTemplate 实例
/// </summary>
[Parameter]
public RenderFragment<TItem>? EditTemplate { get; set; }
/// <summary>
///
/// 获得/设置 Table 实例
/// </summary>
protected Table<TItem>? Table { get; set; }
/// <summary>
/// 编辑数据弹窗 Title
/// </summary>
[Parameter]
public string SubmitModalTitle { get; set; } = "";
/// <summary>
/// 新建按钮回调方法
/// </summary>
@ -112,7 +118,7 @@ namespace Bootstrap.Admin.Components
}
/// <summary>
///
/// 编辑方法
/// </summary>
protected void Edit(TItem item)
{
@ -125,7 +131,7 @@ namespace Bootstrap.Admin.Components
}
/// <summary>
///
/// 查询方法
/// </summary>
protected void Query()
{
@ -137,7 +143,7 @@ namespace Bootstrap.Admin.Components
}
/// <summary>
///
/// 分页查询方法
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageItems"></param>

View File

@ -14,53 +14,53 @@ namespace Bootstrap.Admin.Components
public class TableBase<TItem> : ComponentBase
{
/// <summary>
///
/// 每页数据数量 默认 20 行
/// </summary>
public const int DefaultPageItems = 20;
protected const int DefaultPageItems = 20;
/// <summary>
///
/// 获得/设置 组件 Id
/// </summary>
[Parameter]
public string Id { get; set; } = "";
/// <summary>
///
/// 获得/设置 TableHeader 实例
/// </summary>
[Parameter]
public RenderFragment<TItem>? TableHeader { get; set; }
/// <summary>
///
/// 获得/设置 RowTemplate 实例
/// </summary>
[Parameter]
public RenderFragment<TItem>? RowTemplate { get; set; }
/// <summary>
/// 按钮模板
/// 获得/设置 按钮模板 实例
/// </summary>
[Parameter]
public RenderFragment<TItem>? ButtonTemplate { get; set; }
/// <summary>
///
/// 获得/设置 EditTemplate 实例
/// </summary>
[Parameter]
public RenderFragment<TItem>? EditTemplate { get; set; }
/// <summary>
///
/// 获得/设置 TableFooter 实例
/// </summary>
[Parameter]
public RenderFragment? TableFooter { get; set; }
/// <summary>
///
/// 获得/设置 数据集合
/// </summary>
protected IEnumerable<TItem> Items { get; set; } = new TItem[0];
/// <summary>
///
/// 获得/设置 已选择的数据集合
/// </summary>
public List<TItem> SelectedItems { get; } = new List<TItem>();
@ -125,19 +125,19 @@ namespace Bootstrap.Admin.Components
public Func<IEnumerable<TItem>, bool>? OnDelete { get; set; }
/// <summary>
///
/// 获得/设置 数据总条目
/// </summary>
[Parameter]
public int TotalCount { get; set; }
/// <summary>
///
/// 获得/设置 当前页码
/// </summary>
[Parameter]
public int PageIndex { get; set; } = 1;
/// <summary>
///
/// 获得/设置 每页数据数量
/// </summary>
[Parameter]
public int PageItems { get; set; } = DefaultPageItems;
@ -149,7 +149,7 @@ namespace Bootstrap.Admin.Components
#nullable disable
/// <summary>
///
/// 获得/设置 EditModel 实例
/// </summary>
protected TItem EditModel { get; set; }
#nullable restore
@ -160,7 +160,13 @@ namespace Bootstrap.Admin.Components
protected SubmitModal<TItem>? EditModal { get; set; }
/// <summary>
///
/// 编辑数据弹窗 Title
/// </summary>
[Parameter]
public string SubmitModalTitle { get; set; } = "";
/// <summary>
/// OnInitialized 方法
/// </summary>
protected override void OnInitialized()
{
@ -174,7 +180,7 @@ namespace Bootstrap.Admin.Components
}
/// <summary>
///
/// 点击页码调用此方法
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageItems"></param>
@ -189,7 +195,7 @@ namespace Bootstrap.Admin.Components
}
/// <summary>
///
/// 每页记录条数变化是调用此方法
/// </summary>
protected void PageItemsChange(int pageItems)
{
@ -202,7 +208,7 @@ namespace Bootstrap.Admin.Components
}
/// <summary>
///
/// 选择框点击时调用此方法
/// </summary>
/// <param name="item"></param>
/// <param name="check"></param>
@ -222,7 +228,7 @@ namespace Bootstrap.Admin.Components
}
/// <summary>
///
/// 表头 CheckBox 状态更新方法
/// </summary>
/// <returns></returns>
protected CheckBoxState CheckState(TItem item)
@ -236,7 +242,7 @@ namespace Bootstrap.Admin.Components
}
/// <summary>
///
/// 新建按钮方法
/// </summary>
public void Add()
{
@ -251,7 +257,7 @@ namespace Bootstrap.Admin.Components
protected Toast? Toast { get; set; }
/// <summary>
///
/// 显示提示信息
/// </summary>
/// <param name="title"></param>
/// <param name="text"></param>
@ -259,7 +265,7 @@ namespace Bootstrap.Admin.Components
protected void ShowMessage(string title, string text, ToastCategory cate = ToastCategory.Success) => Toast?.ShowMessage(title, text, cate);
/// <summary>
///
/// 编辑按钮方法
/// </summary>
public void Edit()
{
@ -293,7 +299,7 @@ namespace Bootstrap.Admin.Components
}
/// <summary>
///
/// 保存数据
/// </summary>
/// <param name="context"></param>
protected void Save(EditContext context)

View File

@ -1,6 +1,6 @@
@inherits DictsBase
<EditPage Id="dict" TItem="Bootstrap.Security.BootstrapDict" QueryModel="QueryModel" OnQuery="Query" OnAdd="Add" OnDelete="Delete" OnSave="Save">
<EditPage Id="dict" TItem="Bootstrap.Security.BootstrapDict" SubmitModalTitle="字典编辑窗口" QueryModel="QueryModel" OnQuery="Query" OnAdd="Add" OnDelete="Delete" OnSave="Save">
<QueryBody>
<LgbInputText ColumnClass="col-sm-auto" @bind-Value="@context.Category" maxlength="50" />
<Select ColumnClass="col-sm-auto" Items="QueryDefine" TItem="int" @bind-Value="@context.Define" />

View File

@ -1,6 +1,6 @@
@inherits GroupsBase
<EditPage Id="group" TItem="Bootstrap.DataAccess.Group" QueryModel="QueryModel" OnQuery="Query" OnAdd="Add" OnDelete="Delete" OnSave="Save">
<EditPage Id="group" TItem="Bootstrap.DataAccess.Group" SubmitModalTitle="部门编辑窗口" QueryModel="QueryModel" OnQuery="Query" OnAdd="Add" OnDelete="Delete" OnSave="Save">
<QueryBody>
<LgbInputText ColumnClass="col-sm-auto" @bind-Value="@context.GroupName" maxlength="50" />
<LgbInputText ColumnClass="col-sm-auto" @bind-Value="@context.Description" maxlength="50" />

View File

@ -1,6 +1,6 @@
@inherits RolesBase
<EditPage Id="role" TItem="Bootstrap.DataAccess.Role" QueryModel="QueryModel" OnQuery="Query" OnAdd="Add" OnDelete="Delete" OnSave="Save">
<EditPage Id="role" TItem="Bootstrap.DataAccess.Role" SubmitModalTitle="角色编辑窗口" QueryModel="QueryModel" OnQuery="Query" OnAdd="Add" OnDelete="Delete" OnSave="Save">
<QueryBody>
<LgbInputText ColumnClass="col-sm-auto" @bind-Value="@context.RoleName" maxlength="50" />
<LgbInputText ColumnClass="col-sm-auto" @bind-Value="@context.Description" maxlength="50" />

View File

@ -1,6 +1,6 @@
@inherits UsersBase
<EditPage Id="user" TItem="Bootstrap.DataAccess.User" QueryModel="QueryModel" OnQuery="Query" OnAdd="Add" OnDelete="Delete" OnSave="Save">
<EditPage Id="user" TItem="Bootstrap.DataAccess.User" SubmitModalTitle="用户编辑窗口" QueryModel="QueryModel" OnQuery="Query" OnAdd="Add" OnDelete="Delete" OnSave="Save">
<QueryBody>
<LgbInputText ColumnClass="col-sm-auto" @bind-Value="@context.UserName" maxlength="50" />
<LgbInputText ColumnClass="col-sm-auto" @bind-Value="@context.DisplayName" maxlength="50" />

View File

@ -14,7 +14,7 @@
<span>演示系统禁止修改系统使用字典配置项</span>
</div>
</ConditionComponent>
<Table @ref="Table" Id="@Id" TItem="TItem" OnQuery="QueryData" OnAdd="OnAdd" OnDelete="OnDelete" OnSave="OnSave">
<Table @ref="Table" Id="@Id" TItem="TItem" SubmitModalTitle="@SubmitModalTitle" OnQuery="QueryData" OnAdd="OnAdd" OnDelete="OnDelete" OnSave="OnSave">
<TableHeader>
@TableHeader?.Invoke(context)
</TableHeader>

View File

@ -81,7 +81,7 @@
</ModalFooter>
</Modal>
<SubmitModal @ref="EditModal" Id="@($"{Id}_edit")" TItem="TItem" Title="字典编辑窗口" Size="ModalSize.ExtraLarge" @bind-Model="EditModel" OnValidSubmit="Save">
<SubmitModal @ref="EditModal" Id="@($"{Id}_edit")" TItem="TItem" Title="@SubmitModalTitle" Size="ModalSize.ExtraLarge" @bind-Model="EditModel" OnValidSubmit="Save">
<ModalBody>
@EditTemplate?.Invoke(EditModel)
</ModalBody>