From 301565d8c83cafcdde404c938fd581160fc066b0 Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Wed, 22 Jan 2020 22:19:56 +0800 Subject: [PATCH 01/10] =?UTF-8?q?feat:=20=E5=A2=9E=E5=8A=A0=20ShowSearch?= =?UTF-8?q?=20=E5=B1=9E=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/admin/Bootstrap.Admin/Shared/Table.razor | 35 ++++++++++++++----- .../Bootstrap.Admin/wwwroot/css/blazor.css | 16 ++++++--- 2 files changed, 38 insertions(+), 13 deletions(-) diff --git a/src/admin/Bootstrap.Admin/Shared/Table.razor b/src/admin/Bootstrap.Admin/Shared/Table.razor index 8b2be987..d7f28abb 100644 --- a/src/admin/Bootstrap.Admin/Shared/Table.razor +++ b/src/admin/Bootstrap.Admin/Shared/Table.razor @@ -2,14 +2,31 @@ @inherits TableBase
-
- - - - - - @TableToolbarTemplate - +
+
+ + + + + + @TableToolbarTemplate + +
+
+
+ +
+ + +
+
+
@@ -36,7 +53,7 @@
- diff --git a/src/admin/Bootstrap.Admin/Shared/Table.razor b/src/admin/Bootstrap.Admin/Shared/Table.razor index d7f28abb..3d6d55e0 100644 --- a/src/admin/Bootstrap.Admin/Shared/Table.razor +++ b/src/admin/Bootstrap.Admin/Shared/Table.razor @@ -14,14 +14,14 @@
- +
- -
@@ -169,4 +169,24 @@ + + + +
+ @SearchContent?.Invoke(QueryModel) +
+
+
+ + + + +
+ From 09a35234325e746ad03ae542e8ae9c4591646479 Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Thu, 23 Jan 2020 14:55:17 +0800 Subject: [PATCH 05/10] =?UTF-8?q?feat:=20=E5=AE=8C=E5=96=84=E9=87=8D?= =?UTF-8?q?=E7=BD=AE=E6=9F=A5=E8=AF=A2=E6=8C=89=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Components/EditPageBase.cs | 18 ++++------ .../Bootstrap.Admin/Components/TableBase.cs | 34 +++++++++++++------ .../Bootstrap.Admin/Pages/Admin/Dicts.razor | 8 ++--- .../Pages/Components/DictsBase.cs | 10 ++++++ .../Bootstrap.Admin/Shared/EditPage.razor | 7 ++-- src/admin/Bootstrap.Admin/Shared/Table.razor | 14 +++++--- .../Bootstrap.Admin/wwwroot/css/blazor.css | 4 +++ 7 files changed, 59 insertions(+), 36 deletions(-) diff --git a/src/admin/Bootstrap.Admin/Components/EditPageBase.cs b/src/admin/Bootstrap.Admin/Components/EditPageBase.cs index 751b31f7..5fddae74 100644 --- a/src/admin/Bootstrap.Admin/Components/EditPageBase.cs +++ b/src/admin/Bootstrap.Admin/Components/EditPageBase.cs @@ -119,6 +119,12 @@ namespace Bootstrap.Admin.Components [Parameter] public Func OnSave { get; set; } = item => false; + /// + /// 重置搜索条件回调方法 + /// + [Parameter] + public Action OnResetSearch { get; set; } = () => { }; + /// /// 删除按钮回调方法 /// @@ -160,18 +166,6 @@ namespace Bootstrap.Admin.Components } } - /// - /// 查询方法 - /// - protected void Query() - { - // 查询控件按钮触发此事件 - if (OnQuery != null && Table != null) - { - Table.Query(OnQuery.Invoke(1, Table.PageItems)); - } - } - /// /// 分页查询方法 /// diff --git a/src/admin/Bootstrap.Admin/Components/TableBase.cs b/src/admin/Bootstrap.Admin/Components/TableBase.cs index b2cd2937..d01796e1 100644 --- a/src/admin/Bootstrap.Admin/Components/TableBase.cs +++ b/src/admin/Bootstrap.Admin/Components/TableBase.cs @@ -222,12 +222,6 @@ namespace Bootstrap.Admin.Components [Parameter] public string SubmitModalTitle { get; set; } = ""; - /// - /// 查询组件模板 - /// - [Parameter] - public RenderFragment? SearchContent { get; set; } - /// /// OnInitialized 方法 /// @@ -368,7 +362,10 @@ namespace Bootstrap.Admin.Components StateHasChanged(); } - private void Query() + /// + /// 查询按钮调用此方法 + /// + protected void Query() { if (OnQuery != null) Query(OnQuery.Invoke(PageIndex, PageItems)); } @@ -422,14 +419,29 @@ namespace Bootstrap.Admin.Components /// public string RetrieveId() => $"{Id}_table"; - protected void OnSearch() - { - - } + /// + /// 重置搜索按钮回调方法 + /// + [Parameter] + public Action? OnResetSearch { get; set; } + /// + /// 重置查询方法 + /// protected void ResetSearchClick() { + OnResetSearch?.Invoke(); + SearchClick(); + } + /// + /// 查询方法 + /// + protected void SearchClick() + { + // 查询控件按钮触发此事件 + PageIndex = 1; + Query(); } } } diff --git a/src/admin/Bootstrap.Admin/Pages/Admin/Dicts.razor b/src/admin/Bootstrap.Admin/Pages/Admin/Dicts.razor index 122b2591..714bbf0d 100644 --- a/src/admin/Bootstrap.Admin/Pages/Admin/Dicts.razor +++ b/src/admin/Bootstrap.Admin/Pages/Admin/Dicts.razor @@ -1,10 +1,10 @@ @inherits DictsBase - + - - + diff --git a/src/admin/Bootstrap.Admin/Pages/Components/DictsBase.cs b/src/admin/Bootstrap.Admin/Pages/Components/DictsBase.cs index 9778ad86..a7a0be52 100644 --- a/src/admin/Bootstrap.Admin/Pages/Components/DictsBase.cs +++ b/src/admin/Bootstrap.Admin/Pages/Components/DictsBase.cs @@ -54,5 +54,15 @@ namespace Bootstrap.Pages.Admin.Components /// 删除方法 /// protected override bool Delete(IEnumerable items) => DataAccess.DictHelper.Delete(items.Select(item => item.Id ?? "")); + + /// + /// 重置搜索方法 + /// + protected void ResetSearch() + { + QueryModel.Define = -1; + QueryModel.Category = ""; + QueryModel.Name = ""; + } } } diff --git a/src/admin/Bootstrap.Admin/Shared/EditPage.razor b/src/admin/Bootstrap.Admin/Shared/EditPage.razor index 40ddc254..b0b15fec 100644 --- a/src/admin/Bootstrap.Admin/Shared/EditPage.razor +++ b/src/admin/Bootstrap.Admin/Shared/EditPage.razor @@ -1,15 +1,12 @@ @typeparam TItem @inherits EditPageBase - - @QueryBody?.Invoke(context) -
查询结果
- +
@TableToolbarTemplate @@ -30,7 +27,7 @@ @EditTemplate?.Invoke(context) - @SearchTemplate?.Invoke(context) + @QueryBody?.Invoke(context)
diff --git a/src/admin/Bootstrap.Admin/Shared/Table.razor b/src/admin/Bootstrap.Admin/Shared/Table.razor index 3d6d55e0..b8354926 100644 --- a/src/admin/Bootstrap.Admin/Shared/Table.razor +++ b/src/admin/Bootstrap.Admin/Shared/Table.razor @@ -12,6 +12,11 @@ @TableToolbarTemplate
+
+ +
@@ -21,7 +26,8 @@ +
@@ -173,16 +179,16 @@
- @SearchContent?.Invoke(QueryModel) + @SearchTemplate?.Invoke(QueryModel)
- - diff --git a/src/admin/Bootstrap.Admin/wwwroot/css/blazor.css b/src/admin/Bootstrap.Admin/wwwroot/css/blazor.css index 99df5df0..ec71690b 100644 --- a/src/admin/Bootstrap.Admin/wwwroot/css/blazor.css +++ b/src/admin/Bootstrap.Admin/wwwroot/css/blazor.css @@ -138,6 +138,10 @@ nav .dropdown .nav-link-close.dropdown-toggle:after { margin-top: 10px; } + .bootstrap-table .fixed-table-toolbar .columns-right { + margin-left: 5px; + } + .bootstrap-table .fixed-table-header { overflow: hidden; } From a0c249719ab171560e95002c7c0bc92858402b97 Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Thu, 23 Jan 2020 16:00:58 +0800 Subject: [PATCH 06/10] =?UTF-8?q?feat:=20=E6=94=AF=E6=8C=81=20SearchText?= =?UTF-8?q?=20=E5=8F=82=E6=95=B0=E4=BC=A0=E9=80=92=E7=BB=99=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Components/EditPageBase.cs | 5 +- .../Bootstrap.Admin/Components/TableBase.cs | 34 ++++++++--- .../Pages/Components/DictsBase.cs | 8 ++- .../Pages/Components/GroupsBase.cs | 3 +- .../Pages/Components/MenusBase.cs | 3 +- .../Pages/Components/QueryPageBase.cs | 3 +- .../Pages/Components/RolesBase.cs | 3 +- .../Pages/Components/UsersBase.cs | 3 +- src/admin/Bootstrap.Admin/Shared/Table.razor | 8 +-- .../Bootstrap.Admin/wwwroot/js/ba.blazor.js | 57 ++++++++++++------- 10 files changed, 84 insertions(+), 43 deletions(-) diff --git a/src/admin/Bootstrap.Admin/Components/EditPageBase.cs b/src/admin/Bootstrap.Admin/Components/EditPageBase.cs index 5fddae74..6bf0df74 100644 --- a/src/admin/Bootstrap.Admin/Components/EditPageBase.cs +++ b/src/admin/Bootstrap.Admin/Components/EditPageBase.cs @@ -34,7 +34,7 @@ namespace Bootstrap.Admin.Components /// 查询按钮回调方法 /// [Parameter] - public Func>? OnQuery { get; set; } + public Func>? OnQuery { get; set; } /// /// 获得/设置 TableHeader 实例 @@ -171,7 +171,8 @@ namespace Bootstrap.Admin.Components /// /// /// + /// /// - protected QueryData QueryData(int pageIndex, int pageItems) => OnQuery?.Invoke(pageIndex, pageItems) ?? new QueryData(); + protected QueryData QueryData(int pageIndex, int pageItems, string searchText) => OnQuery?.Invoke(pageIndex, pageItems, searchText) ?? new QueryData(); } } diff --git a/src/admin/Bootstrap.Admin/Components/TableBase.cs b/src/admin/Bootstrap.Admin/Components/TableBase.cs index d01796e1..af41822f 100644 --- a/src/admin/Bootstrap.Admin/Components/TableBase.cs +++ b/src/admin/Bootstrap.Admin/Components/TableBase.cs @@ -135,7 +135,7 @@ namespace Bootstrap.Admin.Components /// 点击翻页回调方法 /// [Parameter] - public Func>? OnQuery { get; set; } + public Func>? OnQuery { get; set; } /// /// 新建按钮回调方法 @@ -230,7 +230,7 @@ namespace Bootstrap.Admin.Components if (OnAdd != null) EditModel = OnAdd.Invoke(); if (OnQuery != null) { - var queryData = OnQuery.Invoke(1, DefaultPageItems); + var queryData = OnQuery.Invoke(1, DefaultPageItems, SearchText); Items = queryData.Items; TotalCount = queryData.TotalCount; } @@ -241,11 +241,8 @@ namespace Bootstrap.Admin.Components /// protected override async System.Threading.Tasks.Task OnAfterRenderAsync(bool firstRender) { - if (FixedHeader) - { - // 调用客户端脚本 resetWith - await JSRuntime.InitTableAsync(RetrieveId(), firstRender); - } + // 调用客户端脚本 + await JSRuntime.InitTableAsync(RetrieveId(), firstRender); } /// @@ -367,7 +364,7 @@ namespace Bootstrap.Admin.Components /// protected void Query() { - if (OnQuery != null) Query(OnQuery.Invoke(PageIndex, PageItems)); + if (OnQuery != null) Query(OnQuery.Invoke(PageIndex, PageItems, SearchText)); } /// @@ -443,5 +440,26 @@ namespace Bootstrap.Admin.Components PageIndex = 1; Query(); } + + /// + /// 获得/设置 搜索关键字 + /// + [Parameter] + public string SearchText { get; set; } = ""; + + /// + /// 获得/设置 搜索关键字改变事件 + /// + [Parameter] + public EventCallback SearchTextChanged { get; set; } + + /// + /// 重置搜索按钮调用此方法 + /// + protected void ClearSearchClick() + { + SearchText = ""; + Query(); + } } } diff --git a/src/admin/Bootstrap.Admin/Pages/Components/DictsBase.cs b/src/admin/Bootstrap.Admin/Pages/Components/DictsBase.cs index a7a0be52..1178fb36 100644 --- a/src/admin/Bootstrap.Admin/Pages/Components/DictsBase.cs +++ b/src/admin/Bootstrap.Admin/Pages/Components/DictsBase.cs @@ -34,12 +34,14 @@ namespace Bootstrap.Pages.Admin.Components /// /// 页码 /// 每页显示数据条目数量 - protected override QueryData Query(int pageIndex, int pageItems) + /// + protected override QueryData Query(int pageIndex, int pageItems, string searchText) { var data = DataAccess.DictHelper.RetrieveDicts(); if (QueryModel.Define != -1) data = data.Where(d => d.Define == QueryModel.Define); if (!string.IsNullOrEmpty(QueryModel.Name)) data = data.Where(d => d.Name.Contains(QueryModel.Name, StringComparison.OrdinalIgnoreCase)); if (!string.IsNullOrEmpty(QueryModel.Category)) data = data.Where(d => d.Category.Contains(QueryModel.Category, StringComparison.OrdinalIgnoreCase)); + if (!string.IsNullOrEmpty(searchText)) data = data.Where(d => d.Category.Contains(searchText, StringComparison.OrdinalIgnoreCase) || d.Name.Contains(searchText, StringComparison.OrdinalIgnoreCase) || d.Code.Contains(searchText, StringComparison.OrdinalIgnoreCase)); var totalCount = data.Count(); var items = data.Skip((pageIndex - 1) * pageItems).Take(pageItems); return new QueryData() { Items = items, TotalCount = totalCount, PageIndex = pageIndex, PageItems = pageItems }; @@ -54,11 +56,11 @@ namespace Bootstrap.Pages.Admin.Components /// 删除方法 /// protected override bool Delete(IEnumerable items) => DataAccess.DictHelper.Delete(items.Select(item => item.Id ?? "")); - + /// /// 重置搜索方法 /// - protected void ResetSearch() + protected void ResetSearch() { QueryModel.Define = -1; QueryModel.Category = ""; diff --git a/src/admin/Bootstrap.Admin/Pages/Components/GroupsBase.cs b/src/admin/Bootstrap.Admin/Pages/Components/GroupsBase.cs index 2ac7fade..8ded783f 100644 --- a/src/admin/Bootstrap.Admin/Pages/Components/GroupsBase.cs +++ b/src/admin/Bootstrap.Admin/Pages/Components/GroupsBase.cs @@ -16,7 +16,8 @@ namespace Bootstrap.Pages.Admin.Components /// /// 页码 /// 每页显示数据条目数量 - protected override QueryData Query(int pageIndex, int pageItems) + /// + protected override QueryData Query(int pageIndex, int pageItems, string searchText) { var data = GroupHelper.Retrieves(); if (!string.IsNullOrEmpty(QueryModel.GroupName)) data = data.Where(d => d.GroupName.Contains(QueryModel.GroupName, StringComparison.OrdinalIgnoreCase)); diff --git a/src/admin/Bootstrap.Admin/Pages/Components/MenusBase.cs b/src/admin/Bootstrap.Admin/Pages/Components/MenusBase.cs index f10307a6..d47e6a46 100644 --- a/src/admin/Bootstrap.Admin/Pages/Components/MenusBase.cs +++ b/src/admin/Bootstrap.Admin/Pages/Components/MenusBase.cs @@ -115,7 +115,8 @@ namespace Bootstrap.Pages.Admin.Components /// /// 页码 /// 每页显示数据条目数量 - protected override QueryData Query(int pageIndex, int pageItems) + /// + protected override QueryData Query(int pageIndex, int pageItems, string searchText) { var data = MenuHelper.RetrieveMenusByUserName(UserName); if (!string.IsNullOrEmpty(QueryModel.Name)) data = data.Where(d => d.Name.Contains(QueryModel.Name, StringComparison.OrdinalIgnoreCase)); diff --git a/src/admin/Bootstrap.Admin/Pages/Components/QueryPageBase.cs b/src/admin/Bootstrap.Admin/Pages/Components/QueryPageBase.cs index 28bf17b3..6981f52c 100644 --- a/src/admin/Bootstrap.Admin/Pages/Components/QueryPageBase.cs +++ b/src/admin/Bootstrap.Admin/Pages/Components/QueryPageBase.cs @@ -26,7 +26,8 @@ namespace Bootstrap.Pages.Admin.Components /// /// 页码 /// 每页显示数据条目数量 - protected abstract QueryData Query(int pageIndex, int pageItems); + /// + protected abstract QueryData Query(int pageIndex, int pageItems, string searchText); /// /// OnParametersSet 方法 diff --git a/src/admin/Bootstrap.Admin/Pages/Components/RolesBase.cs b/src/admin/Bootstrap.Admin/Pages/Components/RolesBase.cs index 19fabb1d..0466653d 100644 --- a/src/admin/Bootstrap.Admin/Pages/Components/RolesBase.cs +++ b/src/admin/Bootstrap.Admin/Pages/Components/RolesBase.cs @@ -16,7 +16,8 @@ namespace Bootstrap.Pages.Admin.Components /// /// 页码 /// 每页显示数据条目数量 - protected override QueryData Query(int pageIndex, int pageItems) + /// + protected override QueryData Query(int pageIndex, int pageItems, string searchText) { var data = RoleHelper.Retrieves(); if (!string.IsNullOrEmpty(QueryModel.RoleName)) data = data.Where(d => d.RoleName.Contains(QueryModel.RoleName, StringComparison.OrdinalIgnoreCase)); diff --git a/src/admin/Bootstrap.Admin/Pages/Components/UsersBase.cs b/src/admin/Bootstrap.Admin/Pages/Components/UsersBase.cs index e4c52bd4..b856ec75 100644 --- a/src/admin/Bootstrap.Admin/Pages/Components/UsersBase.cs +++ b/src/admin/Bootstrap.Admin/Pages/Components/UsersBase.cs @@ -16,7 +16,8 @@ namespace Bootstrap.Pages.Admin.Components /// /// 页码 /// 每页显示数据条目数量 - protected override QueryData Query(int pageIndex, int pageItems) + /// + protected override QueryData Query(int pageIndex, int pageItems, string searchText) { var data = UserHelper.Retrieves(); if (!string.IsNullOrEmpty(QueryModel.UserName)) data = data.Where(d => d.UserName.Contains(QueryModel.UserName, StringComparison.OrdinalIgnoreCase)); diff --git a/src/admin/Bootstrap.Admin/Shared/Table.razor b/src/admin/Bootstrap.Admin/Shared/Table.razor index b8354926..fc313b63 100644 --- a/src/admin/Bootstrap.Admin/Shared/Table.razor +++ b/src/admin/Bootstrap.Admin/Shared/Table.razor @@ -19,12 +19,12 @@
- +
- -
-
+