@page "/_Admin/FrameworkMenu"
@using WalkingTec.Mvvm.Mvc.Admin.ViewModels.FrameworkMenuVMs;
@inherits BasePage
@attribute [ActionDescription("MenuKey.MenuMangement", "WalkingTec.Mvvm.Admin.Api,FrameworkMenu")]
@if (IsAccessable("/api/_frameworkmenu/Add"))
{
}
@if (IsAccessable("/api/_frameworkmenu/BatchDelete"))
{
}
@if (IsAccessable("/api/_frameworkmenu/ExportExcel"))
{
}
@if (IsAccessable("/api/_frameworkmenu/Edit"))
{
}
@if (IsAccessable("/api/_frameworkmenu/{id}"))
{
}
@if (IsAccessable("/api/_frameworkmenu/BatchDelete"))
{
}
@code{
private FrameworkMenuSearcher SearchModel = new FrameworkMenuSearcher();
private Table dataTable;
private async Task> OnSearch(QueryPageOptions opts)
{
return await StartSearchTree("/api/_frameworkmenu/Search", SearchModel, opts);
}
private async Task> OnTreeExpand(FrameworkMenu_ListView data)
{
return await Task.FromResult(data.Children);
}
private async Task DoSearch(IEnumerable data)
{
await dataTable.QueryAsync();
}
private async Task OnCreateClick(IEnumerable items)
{
if (await OpenDialog(WtmBlazor.Localizer["Sys.Create"]) == DialogResult.Yes)
{
await dataTable.QueryAsync();
}
}
private async Task OnEditClick(FrameworkMenu_ListView item)
{
if (await OpenDialog(WtmBlazor.Localizer["Sys.Edit"], x => x.id == item.ID.ToString()) == DialogResult.Yes)
{
await dataTable.QueryAsync();
}
}
private async Task OnDetailsClick(FrameworkMenu_ListView item)
{
await OpenDialog(WtmBlazor.Localizer["Sys.Details"], x => x.id == item.ID.ToString());
}
private async Task OnBatchDeleteClick()
{
if (dataTable.SelectedRows?.Any() == true)
{
await PostsData(dataTable.SelectedRows.Select(x => x.ID).ToList(), $"/api/_frameworkmenu/batchdelete", (s) => WtmBlazor.Localizer["Sys.BatchDeleteSuccess", s]);
await dataTable.QueryAsync();
}
else
{
await WtmBlazor.Toast.Information(WtmBlazor.Localizer["Sys.Info"], WtmBlazor.Localizer["Sys.SelectOneRowMin"]);
}
}
private async Task OnDeleteClick(FrameworkMenu_ListView item)
{
await PostsData(new List { item.ID.ToString() }, $"/api/_frameworkmenu/batchdelete", (s) => "Sys.OprationSuccess");
await dataTable.QueryAsync();
}
private async Task OnExportClick(IEnumerable items)
{
if (dataTable.SelectedRows?.Any() == true)
{
await Download("/api/_frameworkmenu/ExportExcelByIds", dataTable.SelectedRows.Select(x => x.ID.ToString()).ToList());
}
else
{
await Download("/api/_frameworkmenu/ExportExcel", SearchModel);
}
}
private async Task OnRefresh(IEnumerable items)
{
var msg = await WtmBlazor.Api.CallAPI($"/api/_frameworkmenu/RefreshMenu");
await WtmBlazor.Toast.Information(WtmBlazor.Localizer["Sys.Info"], msg.Data);
}
}