Browse Source

fixed build problems in app template

feat/mudblazor-mix
İsmail ÇAĞDAŞ 6 months ago
parent
commit
b1610f2f15
  1. 21
      framework/src/Volo.Abp.AspNetCore.Components.Web.Theming.MudBlazor/PageToolbars/MudPageToolbarButton.razor
  2. 24
      framework/src/Volo.Abp.AspNetCore.Components.Web.Theming.MudBlazor/PageToolbars/MudPageToolbarButton.razor.cs
  3. 40
      framework/src/Volo.Abp.AspNetCore.Components.Web.Theming.MudBlazor/PageToolbars/PageToolbarExtensions.cs
  4. 2
      framework/src/Volo.Abp.AspNetCore.Components.Web.Theming.MudBlazor/Routing/AbpRouterOptions.cs
  5. 2
      framework/src/Volo.Abp.AspNetCore.Components.Web.Theming.MudBlazor/Routing/RouterAssemblyList.cs
  6. 8
      framework/src/Volo.Abp.MudBlazorUI/AbpMudCrudPageBase.cs
  7. 4
      modules/basic-theme/Volo.Abp.BasicTheme.slnx
  8. 2
      modules/basic-theme/src/Volo.Abp.AspNetCore.Components.Server.MudBlazorBasicTheme/Themes/Basic/LanguageSwitch.razor
  9. 1
      modules/basic-theme/src/Volo.Abp.AspNetCore.Components.Server.MudBlazorBasicTheme/Themes/Basic/LoginDisplay.razor
  10. 2
      modules/basic-theme/src/Volo.Abp.AspNetCore.Components.Web.MudBlazorBasicTheme/AbpAspNetCoreComponentsWebMudBlazorBasicThemeModule.cs
  11. 24
      modules/basic-theme/src/Volo.Abp.AspNetCore.Components.Web.MudBlazorBasicTheme/MudBlazorBasicTheme.cs
  12. 3
      modules/basic-theme/src/Volo.Abp.AspNetCore.Components.Web.MudBlazorBasicTheme/Themes/Basic/AppWithoutAuth.razor
  13. 1
      modules/basic-theme/src/Volo.Abp.AspNetCore.Components.Web.MudBlazorBasicTheme/Themes/Basic/LoginDisplay.razor
  14. 3
      modules/basic-theme/src/Volo.Abp.AspNetCore.Components.Web.MudBlazorBasicTheme/Themes/Basic/MainLayout.razor
  15. 5
      modules/basic-theme/src/Volo.Abp.AspNetCore.Components.Web.MudBlazorBasicTheme/Themes/Basic/NavMenu.razor
  16. 29
      modules/basic-theme/src/Volo.Abp.AspNetCore.Components.Web.MudBlazorBasicTheme/Themes/Basic/NavMenu.razor.cs
  17. 3
      modules/basic-theme/src/Volo.Abp.AspNetCore.Components.Web.MudBlazorBasicTheme/Themes/Basic/NullLayout.razor
  18. 11
      modules/basic-theme/src/Volo.Abp.AspNetCore.Components.Web.MudBlazorBasicTheme/Themes/Basic/_Imports.razor
  19. 4
      modules/basic-theme/src/Volo.Abp.AspNetCore.Components.WebAssembly.MudBlazorBasicTheme/MudBlazorBasicThemeToolbarContributor.cs
  20. 1
      modules/basic-theme/src/Volo.Abp.AspNetCore.Components.WebAssembly.MudBlazorBasicTheme/Themes/Basic/LanguageSwitch.razor
  21. 36
      modules/basic-theme/src/Volo.Abp.AspNetCore.Components.WebAssembly.MudBlazorBasicTheme/Themes/Basic/LoginDisplay.razor
  22. 1
      modules/identity/src/Volo.Abp.Identity.Blazor.MudBlazor/AbpIdentityBlazorMappers.cs
  23. 2
      modules/identity/src/Volo.Abp.Identity.Blazor.MudBlazor/AbpIdentityBlazorMudBlazorModule.cs
  24. 8
      modules/identity/src/Volo.Abp.Identity.Blazor.MudBlazor/Pages/Identity/RoleManagement.razor
  25. 9
      modules/identity/src/Volo.Abp.Identity.Blazor.MudBlazor/Pages/Identity/RoleManagement.razor.cs
  26. 4
      modules/identity/src/Volo.Abp.Identity.Blazor.MudBlazor/Pages/Identity/RoleNameComponent.razor
  27. 13
      modules/identity/src/Volo.Abp.Identity.Blazor.MudBlazor/Pages/Identity/UserManagement.razor
  28. 9
      modules/identity/src/Volo.Abp.Identity.Blazor.MudBlazor/Pages/Identity/UserManagement.razor.cs
  29. 2
      modules/identity/src/Volo.Abp.Identity.Blazor.MudBlazor/Volo.Abp.Identity.Blazor.MudBlazor.csproj
  30. 3
      modules/identity/src/Volo.Abp.Identity.Blazor.MudBlazor/_Imports.razor
  31. 6
      templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Client/Menus/MyProjectNameMenuContributor.cs
  32. 1
      templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server.Tiered/Components/App.razor
  33. 8
      templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server.Tiered/Menus/MyProjectNameMenuContributor.cs
  34. 1
      templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server/Components/App.razor
  35. 6
      templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server/Menus/MyProjectNameMenuContributor.cs
  36. 6
      templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp.Client/Menus/MyProjectNameMenuContributor.cs
  37. 6
      templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered.Client/Menus/MyProjectNameMenuContributor.cs
  38. 1
      templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered/Components/App.razor
  39. 1
      templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp/Components/App.razor

21
framework/src/Volo.Abp.AspNetCore.Components.Web.Theming.MudBlazor/PageToolbars/MudPageToolbarButton.razor

@ -0,0 +1,21 @@
@using global::MudBlazor
<MudButton Color="@Color"
Variant="@Variant.Filled"
StartIcon="@IconString"
Disabled="@Disabled"
OnClick="@OnClickHandler">
@Text
</MudButton>
@code {
private string? IconString => Icon?.ToString();
private async Task OnClickHandler()
{
if (OnClickAsync != null)
{
await OnClickAsync();
}
}
}

24
framework/src/Volo.Abp.AspNetCore.Components.Web.Theming.MudBlazor/PageToolbars/MudPageToolbarButton.razor.cs

@ -0,0 +1,24 @@
using System;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Components;
using MudBlazor;
namespace Volo.Abp.AspNetCore.Components.Web.Theming.MudBlazor.PageToolbars;
public partial class MudPageToolbarButton : ComponentBase
{
[Parameter]
public Color Color { get; set; } = Color.Primary;
[Parameter]
public object? Icon { get; set; }
[Parameter]
public string Text { get; set; } = default!;
[Parameter]
public Func<Task>? OnClickAsync { get; set; }
[Parameter]
public bool Disabled { get; set; }
}

40
framework/src/Volo.Abp.AspNetCore.Components.Web.Theming.MudBlazor/PageToolbars/PageToolbarExtensions.cs

@ -1,4 +1,4 @@
using System;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using MudBlazor;
@ -50,20 +50,32 @@ public static class PageToolbarExtensions
int order = 0,
string? requiredPolicyName = null)
{
// TODO@MudBlazor: Implement ToolbarButton contributor
// toolbar.AddComponent<ToolbarButton>(
// new Dictionary<string, object?>
// {
// { nameof(ToolbarButton.Color), color ?? Color.Primary},
// { nameof(ToolbarButton.Text), text},
// { nameof(ToolbarButton.Disabled), disabled},
// { nameof(ToolbarButton.Icon), icon},
// { nameof(ToolbarButton.Clicked),clicked},
// },
// order,
// requiredPolicyName
// );
toolbar.AddComponent<MudPageToolbarButton>(
new Dictionary<string, object?>
{
{ nameof(MudPageToolbarButton.Color), color ?? Color.Primary },
{ nameof(MudPageToolbarButton.Text), text },
{ nameof(MudPageToolbarButton.Disabled), disabled },
{ nameof(MudPageToolbarButton.Icon), icon },
{ nameof(MudPageToolbarButton.OnClickAsync), clicked },
},
order,
requiredPolicyName
);
return toolbar;
}
public static PageToolbar AddMudButton(
this PageToolbar toolbar,
string text,
Func<Task> clicked,
string? icon = null,
Color? color = null,
bool disabled = false,
int order = 0,
string? requiredPolicyName = null)
{
return toolbar.AddButton(text, clicked, icon, color, disabled, order, requiredPolicyName);
}
}

2
framework/src/Volo.Abp.AspNetCore.Components.Web.Theming.MudBlazor/Routing/AbpRouterOptions.cs

@ -1,4 +1,4 @@
using System.Reflection;
using System.Reflection;
namespace Volo.Abp.AspNetCore.Components.Web.Theming.MudBlazor.Routing;

2
framework/src/Volo.Abp.AspNetCore.Components.Web.Theming.MudBlazor/Routing/RouterAssemblyList.cs

@ -1,4 +1,4 @@
using System.Collections.Generic;
using System.Collections.Generic;
using System.Reflection;
namespace Volo.Abp.AspNetCore.Components.Web.Theming.MudBlazor.Routing;

8
framework/src/Volo.Abp.MudBlazorUI/AbpMudCrudPageBase.cs

@ -314,7 +314,7 @@ public abstract class AbpMudCrudPageBase<
await InvokeAsync(StateHasChanged);
}
protected virtual async Task OnDataGridReadAsync(GridState<TListViewModel> state)
protected virtual async Task<GridData<TListViewModel>> OnDataGridReadAsync(GridState<TListViewModel> state)
{
CurrentSorting = state.SortDefinitions
.Select(s => s.SortBy + (s.Descending ? " DESC" : ""))
@ -323,6 +323,12 @@ public abstract class AbpMudCrudPageBase<
await GetEntitiesAsync();
await InvokeAsync(StateHasChanged);
return new GridData<TListViewModel>
{
Items = Entities,
TotalItems = TotalCount ?? 0
};
}
protected virtual async Task OpenCreateDialogAsync()

4
modules/basic-theme/Volo.Abp.BasicTheme.slnx

@ -1,9 +1,13 @@
<Solution>
<Folder Name="/src/">
<Project Path="src/Volo.Abp.AspNetCore.Components.Server.BasicTheme/Volo.Abp.AspNetCore.Components.Server.BasicTheme.csproj" />
<Project Path="src/Volo.Abp.AspNetCore.Components.Server.MudBlazorBasicTheme/Volo.Abp.AspNetCore.Components.Server.MudBlazorBasicTheme.csproj" />
<Project Path="src/Volo.Abp.AspNetCore.Components.Web.BasicTheme/Volo.Abp.AspNetCore.Components.Web.BasicTheme.csproj" />
<Project Path="src/Volo.Abp.AspNetCore.Components.Web.MudBlazorBasicTheme/Volo.Abp.AspNetCore.Components.Web.MudBlazorBasicTheme.csproj" />
<Project Path="src/Volo.Abp.AspNetCore.Components.WebAssembly.BasicTheme.Bundling/Volo.Abp.AspNetCore.Components.WebAssembly.BasicTheme.Bundling.csproj" />
<Project Path="src/Volo.Abp.AspNetCore.Components.WebAssembly.BasicTheme/Volo.Abp.AspNetCore.Components.WebAssembly.BasicTheme.csproj" />
<Project Path="src/Volo.Abp.AspNetCore.Components.WebAssembly.MudBlazorBasicTheme.Bundling/Volo.Abp.AspNetCore.Components.WebAssembly.MudBlazorBasicTheme.Bundling.csproj" />
<Project Path="src/Volo.Abp.AspNetCore.Components.WebAssembly.MudBlazorBasicTheme/Volo.Abp.AspNetCore.Components.WebAssembly.MudBlazorBasicTheme.csproj" />
<Project Path="src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.csproj" />
<Project Path="src/Volo.Abp.BasicTheme.Installer/Volo.Abp.BasicTheme.Installer.csproj" />
</Folder>

2
modules/basic-theme/src/Volo.Abp.AspNetCore.Components.Server.MudBlazorBasicTheme/Themes/Basic/LanguageSwitch.razor

@ -1,7 +1,9 @@
@using Volo.Abp.Localization
@using System.Globalization
@using System.Collections.Immutable
@using Microsoft.JSInterop
@using MudBlazor
@using Volo.Abp.AspNetCore.Components.Web
@inject ILanguageProvider LanguageProvider
@inject IJSRuntime JsRuntime
@inject ICookieService CookieService

1
modules/basic-theme/src/Volo.Abp.AspNetCore.Components.Server.MudBlazorBasicTheme/Themes/Basic/LoginDisplay.razor

@ -4,6 +4,7 @@
@using Microsoft.Extensions.Localization
@using global::Localization.Resources.AbpUi
@using MudBlazor
@using Volo.Abp.UI.Navigation
@inject ICurrentUser CurrentUser
@inject ICurrentTenant CurrentTenant
@inject IStringLocalizer<AbpUiResource> L

2
modules/basic-theme/src/Volo.Abp.AspNetCore.Components.Web.MudBlazorBasicTheme/AbpAspNetCoreComponentsWebMudBlazorBasicThemeModule.cs

@ -1,5 +1,5 @@
using Volo.Abp.AspNetCore.Components.Web.Theming.MudBlazor;
using Volo.Abp.AspNetCore.Components.Web.Theming.Theming;
using Volo.Abp.AspNetCore.Components.Web.Theming.MudBlazor.Theming;
using Volo.Abp.Modularity;
namespace Volo.Abp.AspNetCore.Components.Web.MudBlazorBasicTheme;

24
modules/basic-theme/src/Volo.Abp.AspNetCore.Components.Web.MudBlazorBasicTheme/MudBlazorBasicTheme.cs

@ -1,4 +1,7 @@
using Volo.Abp.AspNetCore.Components.Web.Theming.Theming;
using System;
using Volo.Abp.AspNetCore.Components.Web.MudBlazorBasicTheme.Themes.Basic;
using Volo.Abp.AspNetCore.Components.Web.Theming.MudBlazor.Layout;
using Volo.Abp.AspNetCore.Components.Web.Theming.MudBlazor.Theming;
namespace Volo.Abp.AspNetCore.Components.Web.MudBlazorBasicTheme;
@ -6,29 +9,16 @@ public class MudBlazorBasicTheme : ITheme
{
public static string Name = "MudBlazorBasic";
public string GetLayout(string name, bool fallbackToDefault = true)
public Type GetLayout(string name, bool fallbackToDefault = true)
{
switch (name)
{
case StandardLayouts.Application:
return "~/Themes/Basic/MainLayout";
case StandardLayouts.Account:
return "~/Themes/Basic/MainLayout";
case StandardLayouts.Empty:
return "~/Themes/Basic/NullLayout";
return typeof(MainLayout);
default:
return fallbackToDefault ? "~/Themes/Basic/MainLayout" : null;
}
}
public string GetStyle(string name, bool fallbackToDefault = true)
{
switch (name)
{
case StandardStyles.Global:
return "~/themes/basic/main.css";
default:
return fallbackToDefault ? "~/themes/basic/main.css" : null;
return fallbackToDefault ? typeof(MainLayout) : typeof(NullLayout);
}
}
}

3
modules/basic-theme/src/Volo.Abp.AspNetCore.Components.Web.MudBlazorBasicTheme/Themes/Basic/AppWithoutAuth.razor

@ -1,6 +1,5 @@
@using Microsoft.Extensions.Options
@using Volo.Abp.AspNetCore.Components.Web.Theming.MudBlazor.Routing
@using global::MudBlazor
@inject IOptions<AbpRouterOptions> RouterOptions
<Router AppAssembly="RouterOptions.Value.AppAssembly"
AdditionalAssemblies="RouterOptions.Value.AdditionalAssemblies">
@ -9,7 +8,7 @@
</Found>
<NotFound>
<LayoutView Layout="@typeof(MainLayout)">
<MudText>Sorry, there's nothing at this address.</MudText>
<p>Sorry, there's nothing at this address.</p>
</LayoutView>
</NotFound>
</Router>

1
modules/basic-theme/src/Volo.Abp.AspNetCore.Components.Web.MudBlazorBasicTheme/Themes/Basic/LoginDisplay.razor

@ -3,6 +3,7 @@
@using MudBlazor
@using Microsoft.Extensions.Localization
@using global::Localization.Resources.AbpUi
@using Volo.Abp.DependencyInjection
@inject ICurrentUser CurrentUser
@inject IStringLocalizer<AbpUiResource> L

3
modules/basic-theme/src/Volo.Abp.AspNetCore.Components.Web.MudBlazorBasicTheme/Themes/Basic/MainLayout.razor

@ -1,8 +1,7 @@
@using Volo.Abp.Ui.LayoutHooks
@using Volo.Abp.AspNetCore.Components.Web.Theming.MudBlazor.Components.LayoutHooks
@using Volo.Abp.AspNetCore.Components.Web.Theming.MudBlazor.Components
@using Volo.Abp.AspNetCore.Components.Web.Theming.Layout
@using MudBlazor
@using Volo.Abp.AspNetCore.Components.Web.Theming.MudBlazor.Layout
@inherits LayoutComponentBase
<MudThemeProvider />

5
modules/basic-theme/src/Volo.Abp.AspNetCore.Components.Web.MudBlazorBasicTheme/Themes/Basic/NavMenu.razor

@ -1,10 +1,7 @@
@using Volo.Abp.UI.Navigation
@using MudBlazor
@using Microsoft.AspNetCore.Components.Routing
@inject IMenuManager MenuManager
<MudNavMenu>
@foreach (var menuItem in MenuItems.Items)
@foreach (var menuItem in Menu.Items)
{
@if (menuItem.Items.IsNullOrEmpty())
{

29
modules/basic-theme/src/Volo.Abp.AspNetCore.Components.Web.MudBlazorBasicTheme/Themes/Basic/NavMenu.razor.cs

@ -1,14 +1,35 @@
using System;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Components;
using Volo.Abp.AspNetCore.Components.Web.Security;
using Volo.Abp.UI.Navigation;
namespace Volo.Abp.AspNetCore.Components.Web.MudBlazorBasicTheme.Themes.Basic;
public partial class NavMenu
public partial class NavMenu : IDisposable
{
protected ApplicationMenu MenuItems { get; set; } = new();
[Inject]
protected IMenuManager MenuManager { get; set; }
protected override async Task OnInitializedAsync()
[Inject]
protected ApplicationConfigurationChangedService ApplicationConfigurationChangedService { get; set; }
protected ApplicationMenu Menu { get; set; }
protected async override Task OnInitializedAsync()
{
Menu = await MenuManager.GetMainMenuAsync();
ApplicationConfigurationChangedService.Changed += ApplicationConfigurationChanged;
}
private async void ApplicationConfigurationChanged()
{
Menu = await MenuManager.GetMainMenuAsync();
await InvokeAsync(StateHasChanged);
}
public void Dispose()
{
MenuItems = await MenuManager.GetMainMenuAsync();
ApplicationConfigurationChangedService.Changed -= ApplicationConfigurationChanged;
}
}

3
modules/basic-theme/src/Volo.Abp.AspNetCore.Components.Web.MudBlazorBasicTheme/Themes/Basic/NullLayout.razor

@ -1,8 +1,7 @@
@using Volo.Abp.Ui.LayoutHooks
@using Volo.Abp.AspNetCore.Components.Web.Theming.MudBlazor.Components.LayoutHooks
@using Volo.Abp.AspNetCore.Components.Web.Theming.Layout
@inherits LayoutComponentBase
@using global::MudBlazor
@using Volo.Abp.AspNetCore.Components.Web.Theming.MudBlazor.Layout
<MudThemeProvider />
<MudPopoverProvider />

11
modules/basic-theme/src/Volo.Abp.AspNetCore.Components.Web.MudBlazorBasicTheme/Themes/Basic/_Imports.razor

@ -1,4 +1,9 @@
@using Microsoft.AspNetCore.Components.Web
@using Volo.Abp.AspNetCore.Components.Web.Theming.MudBlazor
@using MudBlazor
@using Volo.Abp.MudBlazorUI
@using System.Net.Http
@using Microsoft.AspNetCore.Components.Authorization
@using Microsoft.AspNetCore.Components.Forms
@using Microsoft.AspNetCore.Components.Routing
@using Microsoft.AspNetCore.Components.Web
@using Microsoft.JSInterop
@using Volo.Abp.MudBlazorUI;
@using Volo.Abp.MudBlazorUI.Components;

4
modules/basic-theme/src/Volo.Abp.AspNetCore.Components.WebAssembly.MudBlazorBasicTheme/MudBlazorBasicThemeToolbarContributor.cs

@ -1,11 +1,9 @@
using System.Threading.Tasks;
using Microsoft.AspNetCore.Components;
using Microsoft.AspNetCore.Components.Authorization;
using Microsoft.Extensions.DependencyInjection;
using Volo.Abp.AspNetCore.Components.Web.MudBlazorBasicTheme.Themes.Basic;
using Volo.Abp.AspNetCore.Components.Web.Theming.MudBlazor.Toolbars;
using Volo.Abp.AspNetCore.Components.WebAssembly.MudBlazorBasicTheme.Themes.Basic;
using Volo.Abp.DependencyInjection;
using LoginDisplay = Volo.Abp.AspNetCore.Components.WebAssembly.MudBlazorBasicTheme.Themes.Basic.LoginDisplay;
namespace Volo.Abp.AspNetCore.Components.WebAssembly.MudBlazorBasicTheme;

1
modules/basic-theme/src/Volo.Abp.AspNetCore.Components.WebAssembly.MudBlazorBasicTheme/Themes/Basic/LanguageSwitch.razor

@ -1,6 +1,7 @@
@using Volo.Abp.Localization
@using System.Globalization
@using System.Collections.Immutable
@using Microsoft.JSInterop
@using Volo.Abp.AspNetCore.Components.Web
@using MudBlazor
@inject ILanguageProvider LanguageProvider

36
modules/basic-theme/src/Volo.Abp.AspNetCore.Components.WebAssembly.MudBlazorBasicTheme/Themes/Basic/LoginDisplay.razor

@ -1,9 +1,11 @@
@using Microsoft.Extensions.Localization
@using global::Localization.Resources.AbpUi
@using Microsoft.Extensions.Options
@using Microsoft.JSInterop
@using Volo.Abp.AspNetCore.Components.Web
@using Volo.Abp.AspNetCore.Components.WebAssembly.MudBlazorBasicTheme
@using MudBlazor
@using Volo.Abp.AspNetCore.Components.Web.Security
@using Volo.Abp.UI.Navigation
@inherits AbpComponentBase
@inject IJSRuntime JsRuntime
@inject NavigationManager Navigation
@ -18,11 +20,11 @@
{
@foreach (var menuItem in Menu.Items)
{
<MudMenuItem OnClick="@(() => NavigateToAsync(menuItem.Url, menuItem.Target))">@menuItem.DisplayName</MudMenuItem>
<MudMenuItem Href="@menuItem.Url?.TrimStart('/', '~')" Target="@menuItem.Target">@menuItem.DisplayName</MudMenuItem>
}
}
<MudDivider />
<MudMenuItem OnClick="BeginSignOut">@UiLocalizer["Logout"]</MudMenuItem>
<MudMenuItem OnClick="Logout">@UiLocalizer["Logout"]</MudMenuItem>
</MudMenu>
</Authorized>
<NotAuthorized>
@ -52,31 +54,9 @@
{
ApplicationConfigurationChangedService.Changed -= ApplicationConfigurationChanged;
}
}
@implements IDisposable
private async Task NavigateToAsync(string? uri, string? target = null)
{
if (target == "_blank")
{
await JsRuntime.InvokeVoidAsync("open", uri, target);
}
else
{
Navigation.NavigateTo(uri);
}
}
private void BeginSignOut()
protected void Logout()
{
if (AbpAspNetCoreComponentsWebOptions.Value.IsBlazorWebApp)
{
Navigation.NavigateTo(AuthenticationOptions.Value.LogoutUrl, forceLoad: true);
}
else
{
Navigation.NavigateToLogout(AuthenticationOptions.Value.LogoutUrl);
}
Navigation.NavigateTo("/Account/Logout", forceLoad: true);
}
}

1
modules/identity/src/Volo.Abp.Identity.Blazor.MudBlazor/AbpIdentityBlazorMappers.cs

@ -1,3 +1,4 @@
using Riok.Mapperly.Abstractions;
using Volo.Abp.Mapperly;
namespace Volo.Abp.Identity.Blazor.MudBlazor;

2
modules/identity/src/Volo.Abp.Identity.Blazor.MudBlazor/AbpIdentityBlazorMudBlazorModule.cs

@ -1,6 +1,6 @@
using Localization.Resources.AbpUi;
using Microsoft.Extensions.DependencyInjection;
using Volo.Abp.AspNetCore.Components.Web.Theming.Routing;
using Volo.Abp.AspNetCore.Components.Web.Theming.MudBlazor.Routing;
using Volo.Abp.Mapperly;
using Volo.Abp.MudBlazorUI;
using Volo.Abp.Identity.Localization;

8
modules/identity/src/Volo.Abp.Identity.Blazor.MudBlazor/Pages/Identity/RoleManagement.razor

@ -46,8 +46,8 @@
Required="true"
RequiredError="@L["FieldIsRequired", L["DisplayName:RoleName"]]" />
<MudExtensionProperties TEntityType="IdentityRoleCreateDto" TResourceType="IdentityResource" Entity="@NewEntity" LH="@_localizerHelper" ModalType="ExtensionPropertyModalType.CreateModal" />
<MudCheckBox @bind-Checked="@NewEntity.IsDefault" Label="@L["DisplayName:IsDefault"]" />
<MudCheckBox @bind-Checked="@NewEntity.IsPublic" Label="@L["DisplayName:IsPublic"]" />
<MudCheckBox T="bool" @bind-Checked="@NewEntity.IsDefault" Label="@L["DisplayName:IsDefault"]" />
<MudCheckBox T="bool" @bind-Checked="@NewEntity.IsPublic" Label="@L["DisplayName:IsPublic"]" />
</MudForm>
</DialogContent>
<DialogActions>
@ -73,8 +73,8 @@
Required="true"
RequiredError="@L["FieldIsRequired", L["DisplayName:RoleName"]]" />
<MudExtensionProperties TEntityType="IdentityRoleUpdateDto" TResourceType="IdentityResource" Entity="@EditingEntity" LH="@_localizerHelper" ModalType="ExtensionPropertyModalType.EditModal" />
<MudCheckBox @bind-Checked="@EditingEntity.IsDefault" Label="@L["DisplayName:IsDefault"]" />
<MudCheckBox @bind-Checked="@EditingEntity.IsPublic" Label="@L["DisplayName:IsPublic"]" />
<MudCheckBox T="bool" @bind-Checked="@EditingEntity.IsDefault" Label="@L["DisplayName:IsDefault"]" />
<MudCheckBox T="bool" @bind-Checked="@EditingEntity.IsPublic" Label="@L["DisplayName:IsPublic"]" />
</MudForm>
</DialogContent>
<DialogActions>

9
modules/identity/src/Volo.Abp.Identity.Blazor.MudBlazor/Pages/Identity/RoleManagement.razor.cs

@ -2,7 +2,9 @@ using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Components;
using Microsoft.Extensions.Localization;
using MudBlazor;
using Volo.Abp.AspNetCore.Components.Web.Extensibility.EntityActions;
using Volo.Abp.AspNetCore.Components.Web.Extensibility.TableColumns;
using Volo.Abp.AspNetCore.Components.Web.Theming.MudBlazor.PageToolbars;
@ -10,7 +12,6 @@ using Volo.Abp.Identity.Localization;
using Volo.Abp.MudBlazorUI;
using Volo.Abp.ObjectExtending;
using Volo.Abp.PermissionManagement.Blazor.MudBlazor.Components;
using Volo.Abp.BlazoriseUI;
namespace Volo.Abp.Identity.Blazor.MudBlazor.Pages.Identity;
@ -52,9 +53,9 @@ public partial class RoleManagement
protected override ValueTask SetBreadcrumbItemsAsync()
{
BreadcrumbItems.Add(new BreadcrumbItem(LUiNavigation["Menu:Administration"].Value));
BreadcrumbItems.Add(new BreadcrumbItem(L["Menu:IdentityManagement"].Value));
BreadcrumbItems.Add(new BreadcrumbItem(L["Roles"].Value));
BreadcrumbItems.Add(new Volo.Abp.MudBlazorUI.BreadcrumbItem(LUiNavigation["Menu:Administration"].Value));
BreadcrumbItems.Add(new Volo.Abp.MudBlazorUI.BreadcrumbItem(L["Menu:IdentityManagement"].Value));
BreadcrumbItems.Add(new Volo.Abp.MudBlazorUI.BreadcrumbItem(L["Roles"].Value));
return base.SetBreadcrumbItemsAsync();
}

4
modules/identity/src/Volo.Abp.Identity.Blazor.MudBlazor/Pages/Identity/RoleNameComponent.razor

@ -8,9 +8,9 @@
@(Data.As<IdentityRoleDto>().Name)
@if (Data.As<IdentityRoleDto>().IsDefault)
{
<MudChip Color="Color.Success" Size="Size.Small" Class="ms-2">@L["DisplayName:IsDefault"]</MudChip>
<MudChip T="string" Color="Color.Success" Size="Size.Small" Class="ms-2">@L["DisplayName:IsDefault"]</MudChip>
}
@if (Data.As<IdentityRoleDto>().IsPublic)
{
<MudChip Color="Color.Info" Size="Size.Small" Class="ms-2">@L["DisplayName:IsPublic"]</MudChip>
<MudChip T="string" Color="Color.Info" Size="Size.Small" Class="ms-2">@L["DisplayName:IsPublic"]</MudChip>
}

13
modules/identity/src/Volo.Abp.Identity.Blazor.MudBlazor/Pages/Identity/UserManagement.razor

@ -5,7 +5,6 @@
@using Volo.Abp.MudBlazorUI.Components.ObjectExtending
@using Volo.Abp.Identity.Localization
@using Volo.Abp.AspNetCore.Components.Web.Theming.MudBlazor.Components
@using Volo.Abp.BlazoriseUI
@using Microsoft.Extensions.Localization
@using Volo.Abp.UI.Navigation.Localization.Resource
@inject IStringLocalizer<AbpUiNavigationResource> LUiNavigation
@ -81,9 +80,9 @@
<MudTextField @bind-Value="@NewEntity.PhoneNumber"
Label="@L["DisplayName:PhoneNumber"]"
Variant="Variant.Outlined" />
<MudCheckBox @bind-Checked="@NewEntity.IsActive" Label="@L["DisplayName:IsActive"]" />
<MudCheckBox T="bool" @bind-Checked="@NewEntity.IsActive" Label="@L["DisplayName:IsActive"]" />
<MudTooltip Text="@L["Description:LockoutEnabled"]">
<MudCheckBox @bind-Checked="@NewEntity.LockoutEnabled" Label="@L["DisplayName:LockoutEnabled"]">
<MudCheckBox T="bool" @bind-Checked="@NewEntity.LockoutEnabled" Label="@L["DisplayName:LockoutEnabled"]">
<ChildContent>
<MudIcon Icon="@Icons.Material.Filled.Info" Size="Size.Small" Class="ms-1" />
</ChildContent>
@ -96,7 +95,7 @@
{
@foreach (var role in NewUserRoles)
{
<MudCheckBox @bind-Checked="@role.IsAssigned" Label="@role.Name" />
<MudCheckBox T="bool" @bind-Checked="@role.IsAssigned" Label="@role.Name" />
<input type="hidden" @bind-value="@role.Name" />
}
}
@ -152,10 +151,10 @@
Variant="Variant.Outlined" />
@if (!IsEditCurrentUser)
{
<MudCheckBox @bind-Checked="@EditingEntity.IsActive" Label="@L["DisplayName:IsActive"]" />
<MudCheckBox T="bool" @bind-Checked="@EditingEntity.IsActive" Label="@L["DisplayName:IsActive"]" />
}
<MudTooltip Text="@L["Description:LockoutEnabled"]">
<MudCheckBox @bind-Checked="@EditingEntity.LockoutEnabled" Label="@L["DisplayName:LockoutEnabled"]">
<MudCheckBox T="bool" @bind-Checked="@EditingEntity.LockoutEnabled" Label="@L["DisplayName:LockoutEnabled"]">
<ChildContent>
<MudIcon Icon="@Icons.Material.Filled.Info" Size="Size.Small" Class="ms-1" />
</ChildContent>
@ -168,7 +167,7 @@
<MudTabPanel Text="@L["Roles"]">
@foreach (var role in EditUserRoles)
{
<MudCheckBox @bind-Checked="@role.IsAssigned" Label="@role.Name" />
<MudCheckBox T="bool" @bind-Checked="@role.IsAssigned" Label="@role.Name" />
<input type="hidden" @bind-value="@role.Name" />
}
</MudTabPanel>

9
modules/identity/src/Volo.Abp.Identity.Blazor.MudBlazor/Pages/Identity/UserManagement.razor.cs

@ -4,12 +4,12 @@ using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Components;
using Microsoft.AspNetCore.Components.Web;
using Microsoft.Extensions.Localization;
using MudBlazor;
using Volo.Abp.AspNetCore.Components.Web.Extensibility.EntityActions;
using Volo.Abp.AspNetCore.Components.Web.Extensibility.TableColumns;
using Volo.Abp.AspNetCore.Components.Web.Theming.MudBlazor.PageToolbars;
using Volo.Abp.BlazoriseUI;
using Volo.Abp.Authorization.Permissions;
using Volo.Abp.Identity.Localization;
using Volo.Abp.MudBlazorUI;
@ -40,6 +40,7 @@ public partial class UserManagement
protected int _createTabIndex = 0;
protected int _editTabIndex = 0;
protected bool _showPassword;
protected bool IsEditCurrentUser;
protected PageToolbar Toolbar { get; } = new();
@ -80,9 +81,9 @@ public partial class UserManagement
protected override ValueTask SetBreadcrumbItemsAsync()
{
BreadcrumbItems.Add(new BreadcrumbItem(LUiNavigation["Menu:Administration"].Value));
BreadcrumbItems.Add(new BreadcrumbItem(L["Menu:IdentityManagement"].Value));
BreadcrumbItems.Add(new BreadcrumbItem(L["Users"].Value));
BreadcrumbItems.Add(new Volo.Abp.MudBlazorUI.BreadcrumbItem(LUiNavigation["Menu:Administration"].Value));
BreadcrumbItems.Add(new Volo.Abp.MudBlazorUI.BreadcrumbItem(L["Menu:IdentityManagement"].Value));
BreadcrumbItems.Add(new Volo.Abp.MudBlazorUI.BreadcrumbItem(L["Users"].Value));
return base.SetBreadcrumbItemsAsync();
}

2
modules/identity/src/Volo.Abp.Identity.Blazor.MudBlazor/Volo.Abp.Identity.Blazor.MudBlazor.csproj

@ -5,6 +5,8 @@
<PropertyGroup>
<TargetFramework>net10.0</TargetFramework>
<Nullable>enable</Nullable>
<WarningsAsErrors>Nullable</WarningsAsErrors>
</PropertyGroup>
<ItemGroup>

3
modules/identity/src/Volo.Abp.Identity.Blazor.MudBlazor/_Imports.razor

@ -3,5 +3,4 @@
@using Volo.Abp.AspNetCore.Components.Web
@using Volo.Abp.MudBlazorUI
@using Volo.Abp.MudBlazorUI.Components
@using MudBlazor
@using MudBlazor.Components
@using global::MudBlazor

6
templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Client/Menus/MyProjectNameMenuContributor.cs

@ -5,9 +5,9 @@ using MyCompanyName.MyProjectName.Localization;
using MyCompanyName.MyProjectName.MultiTenancy;
using Volo.Abp.Account.Localization;
using Volo.Abp.Authorization.Permissions;
using Volo.Abp.Identity.Blazor;
using Volo.Abp.SettingManagement.Blazor.Menus;
using Volo.Abp.TenantManagement.Blazor.Navigation;
using Volo.Abp.Identity.Blazor.MudBlazor;
using Volo.Abp.SettingManagement.Blazor.MudBlazor.Menus;
using Volo.Abp.TenantManagement.Blazor.MudBlazor.Navigation;
using Volo.Abp.UI.Navigation;
namespace MyCompanyName.MyProjectName.Blazor.Client.Menus;

1
templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server.Tiered/Components/App.razor

@ -2,7 +2,6 @@
@using System.Globalization
@using Microsoft.Extensions.Hosting
@using Volo.Abp.AspNetCore.Components.Server.MudBlazorBasicTheme.Bundling
@using Volo.Abp.AspNetCore.Components.Web.Theming.Bundling
@inject IHostEnvironment Env
@{
var rtl = CultureHelper.IsRtl ? "rtl" : string.Empty;

8
templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server.Tiered/Menus/MyProjectNameMenuContributor.cs

@ -1,16 +1,14 @@
using System;
using System.Threading.Tasks;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using MyCompanyName.MyProjectName.Localization;
using MyCompanyName.MyProjectName.MultiTenancy;
using Volo.Abp.Account.Localization;
using Volo.Abp.Identity.Blazor;
using Volo.Abp.Authorization.Permissions;
using Volo.Abp.SettingManagement.Blazor.Menus;
using Volo.Abp.TenantManagement.Blazor.Navigation;
using Volo.Abp.Identity.Blazor.MudBlazor;
using Volo.Abp.SettingManagement.Blazor.MudBlazor.Menus;
using Volo.Abp.TenantManagement.Blazor.MudBlazor.Navigation;
using Volo.Abp.UI.Navigation;
using Volo.Abp.Users;
namespace MyCompanyName.MyProjectName.Blazor.Server.Tiered.Menus;

1
templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server/Components/App.razor

@ -2,7 +2,6 @@
@using System.Globalization
@using Microsoft.Extensions.Hosting
@using Volo.Abp.AspNetCore.Components.Server.MudBlazorBasicTheme.Bundling
@using Volo.Abp.AspNetCore.Components.Web.Theming.Bundling
@inject IHostEnvironment Env
@{
var rtl = CultureHelper.IsRtl ? "rtl" : string.Empty;

6
templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server/Menus/MyProjectNameMenuContributor.cs

@ -1,9 +1,9 @@
using System.Threading.Tasks;
using MyCompanyName.MyProjectName.Localization;
using MyCompanyName.MyProjectName.MultiTenancy;
using Volo.Abp.Identity.Blazor;
using Volo.Abp.SettingManagement.Blazor.Menus;
using Volo.Abp.TenantManagement.Blazor.Navigation;
using Volo.Abp.Identity.Blazor.MudBlazor;
using Volo.Abp.SettingManagement.Blazor.MudBlazor.Menus;
using Volo.Abp.TenantManagement.Blazor.MudBlazor.Navigation;
using Volo.Abp.UI.Navigation;
namespace MyCompanyName.MyProjectName.Blazor.Server.Menus;

6
templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp.Client/Menus/MyProjectNameMenuContributor.cs

@ -5,9 +5,9 @@ using MyCompanyName.MyProjectName.Localization;
using MyCompanyName.MyProjectName.MultiTenancy;
using Volo.Abp.Account.Localization;
using Volo.Abp.Authorization.Permissions;
using Volo.Abp.Identity.Blazor;
using Volo.Abp.SettingManagement.Blazor.Menus;
using Volo.Abp.TenantManagement.Blazor.Navigation;
using Volo.Abp.Identity.Blazor.MudBlazor;
using Volo.Abp.SettingManagement.Blazor.MudBlazor.Menus;
using Volo.Abp.TenantManagement.Blazor.MudBlazor.Navigation;
using Volo.Abp.UI.Navigation;
namespace MyCompanyName.MyProjectName.Blazor.WebApp.Client.Menus;

6
templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered.Client/Menus/MyProjectNameMenuContributor.cs

@ -5,9 +5,9 @@ using MyCompanyName.MyProjectName.Localization;
using MyCompanyName.MyProjectName.MultiTenancy;
using Volo.Abp.Account.Localization;
using Volo.Abp.Authorization.Permissions;
using Volo.Abp.Identity.Blazor;
using Volo.Abp.SettingManagement.Blazor.Menus;
using Volo.Abp.TenantManagement.Blazor.Navigation;
using Volo.Abp.Identity.Blazor.MudBlazor;
using Volo.Abp.SettingManagement.Blazor.MudBlazor.Menus;
using Volo.Abp.TenantManagement.Blazor.MudBlazor.Navigation;
using Volo.Abp.UI.Navigation;
namespace MyCompanyName.MyProjectName.Blazor.WebApp.Tiered.Client.Menus;

1
templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered/Components/App.razor

@ -4,7 +4,6 @@
@using Microsoft.AspNetCore.Http
@using Microsoft.Extensions.Hosting
@using Volo.Abp.AspNetCore.Components.Server.MudBlazorBasicTheme.Bundling
@using Volo.Abp.AspNetCore.Components.Web.Theming.Bundling
@using Volo.Abp.AspNetCore.Components.WebAssembly.WebApp
@inject IHostEnvironment Env
@{

1
templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp/Components/App.razor

@ -2,7 +2,6 @@
@using System.Globalization
@using Microsoft.Extensions.Hosting
@using Volo.Abp.AspNetCore.Components.Server.MudBlazorBasicTheme.Bundling
@using Volo.Abp.AspNetCore.Components.Web.Theming.Bundling
@inject IHostEnvironment Env
@{
var rtl = CultureHelper.IsRtl ? "rtl" : string.Empty;

Loading…
Cancel
Save