Browse Source

Reduce menu duplication and made login/logout works.

pull/8074/head
Halil İbrahim Kalkan 6 years ago
parent
commit
64c9d2ad96
  1. 12
      framework/src/Volo.Abp.AspNetCore.Components.UI.BasicTheme.Server/Themes/Basic/LoginDisplay.razor
  2. 1
      framework/src/Volo.Abp.AspNetCore.Components.UI.BasicTheme.Server/Volo.Abp.AspNetCore.Components.UI.BasicTheme.Server.csproj
  3. 32
      templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server/Menus/MyProjectNameMenuContributor.cs
  4. 3
      templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server/MyProjectNameBlazorServerModule.cs

12
framework/src/Volo.Abp.AspNetCore.Components.UI.BasicTheme.Server/Themes/Basic/LoginDisplay.razor

@ -27,18 +27,20 @@
}
}
<DropdownDivider />
<DropdownItem Clicked="BeginSignOut">Logout</DropdownItem>
<DropdownItem Clicked="Logout">Logout</DropdownItem>
</DropdownMenu>
</Dropdown>
</Authorized>
<NotAuthorized>
<a class="nav-link" href="authentication/login">Log in</a>
<a class="nav-link" href="/Account/Login">Log in</a>
</NotAuthorized>
</AuthorizeView>
@code{
private async Task NavigateToAsync(string uri, string target = null)
{
uri = uri.TrimStart('~');
if (target == "_blank")
{
await JsRuntime.InvokeVoidAsync("open", uri, target);
@ -49,10 +51,8 @@
}
}
private async Task BeginSignOut()
private void Logout()
{
// TODO
//await SignOutManager.SetSignOutState();
await NavigateToAsync("authentication/logout");
Navigation.NavigateTo("/Account/Logout", forceLoad: true);
}
}

1
framework/src/Volo.Abp.AspNetCore.Components.UI.BasicTheme.Server/Volo.Abp.AspNetCore.Components.UI.BasicTheme.Server.csproj

@ -11,7 +11,6 @@
<GenerateAssemblyConfigurationAttribute>false</GenerateAssemblyConfigurationAttribute>
<GenerateAssemblyCompanyAttribute>false</GenerateAssemblyCompanyAttribute>
<GenerateAssemblyProductAttribute>false</GenerateAssemblyProductAttribute>
<RootNamespace />
</PropertyGroup>
<ItemGroup>

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

@ -11,23 +11,12 @@ namespace MyCompanyName.MyProjectName.Blazor.Server.Menus
{
public class MyProjectNameMenuContributor : IMenuContributor
{
private readonly IConfiguration _configuration;
public MyProjectNameMenuContributor(IConfiguration configuration)
{
_configuration = configuration;
}
public async Task ConfigureMenuAsync(MenuConfigurationContext context)
{
if (context.Menu.Name == StandardMenus.Main)
{
await ConfigureMainMenuAsync(context);
}
else if (context.Menu.Name == StandardMenus.User)
{
await ConfigureUserMenuAsync(context);
}
}
private Task ConfigureMainMenuAsync(MenuConfigurationContext context)
@ -46,26 +35,5 @@ namespace MyCompanyName.MyProjectName.Blazor.Server.Menus
return Task.CompletedTask;
}
private Task ConfigureUserMenuAsync(MenuConfigurationContext context)
{
var accountStringLocalizer = context.GetLocalizer<AccountResource>();
var currentUser = context.ServiceProvider.GetRequiredService<ICurrentUser>();
var identityServerUrl = _configuration["AuthServer:Authority"] ?? "";
if (currentUser.IsAuthenticated)
{
context.Menu.AddItem(new ApplicationMenuItem(
"Account.Manage",
accountStringLocalizer["ManageYourProfile"],
$"{identityServerUrl.EnsureEndsWith('/')}Account/Manage?returnUrl={_configuration["App:SelfUrl"]}",
icon: "fa fa-cog",
order: 1000,
null));
}
return Task.CompletedTask;
}
}
}

3
templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server/MyProjectNameBlazorServerModule.cs

@ -17,7 +17,6 @@ using Volo.Abp.Account.Web;
using Volo.Abp.AspNetCore.Authentication.JwtBearer;
using Volo.Abp.AspNetCore.Components.UI.BasicTheme.Server;
using Volo.Abp.AspNetCore.Components.UI.Theming.Routing;
using Volo.Abp.AspNetCore.Components.UI.Theming.Toolbars;
using Volo.Abp.AspNetCore.Mvc;
using Volo.Abp.AspNetCore.Mvc.Localization;
using Volo.Abp.AspNetCore.Mvc.UI;
@ -195,7 +194,7 @@ namespace MyCompanyName.MyProjectName.Blazor.Server
{
Configure<AbpNavigationOptions>(options =>
{
options.MenuContributors.Add(new MyProjectNameMenuContributor(context.Services.GetConfiguration()));
options.MenuContributors.Add(new MyProjectNameMenuContributor());
});
}

Loading…
Cancel
Save