Fix #4025: add user setting to keep the view mode.
This commit is contained in:
		@ -2,6 +2,7 @@
 | 
			
		||||
@inherits ThemeControlBase
 | 
			
		||||
@inject NavigationManager NavigationManager
 | 
			
		||||
@inject IPageService PageService
 | 
			
		||||
@inject ISettingService SettingService
 | 
			
		||||
 | 
			
		||||
@if (ShowLanguageSwitcher)
 | 
			
		||||
{
 | 
			
		||||
@ -99,7 +100,7 @@
 | 
			
		||||
        return false;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private async Task ToggleEditMode(bool EditMode)
 | 
			
		||||
    private async Task ToggleEditMode(bool editMode)
 | 
			
		||||
    {
 | 
			
		||||
        Page page = null;
 | 
			
		||||
        if (PageState.Page.IsPersonalizable && PageState.User != null && UserSecurity.IsAuthorized(PageState.User, RoleNames.Registered))
 | 
			
		||||
@ -109,13 +110,18 @@
 | 
			
		||||
 | 
			
		||||
        if (_showEditMode)
 | 
			
		||||
        {
 | 
			
		||||
            if (EditMode)
 | 
			
		||||
            PageState.EditMode = !editMode;
 | 
			
		||||
 | 
			
		||||
            if(PageState.User != null) //keep edit mode for authenticated users.
 | 
			
		||||
            {
 | 
			
		||||
                PageState.EditMode = false;
 | 
			
		||||
            }
 | 
			
		||||
            else
 | 
			
		||||
            {
 | 
			
		||||
                PageState.EditMode = true;
 | 
			
		||||
 | 
			
		||||
                var viewMode = PageState.EditMode ? ViewMode.Edit.ToString() : ViewMode.View.ToString();
 | 
			
		||||
                var userSettings = new Dictionary<string, string>
 | 
			
		||||
                {
 | 
			
		||||
                    { UserSetting.ViewMode, viewMode }
 | 
			
		||||
                };
 | 
			
		||||
 | 
			
		||||
                await SettingService.UpdateUserSettingsAsync(userSettings, PageState.User.UserId);
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            // preserve other querystring parameters
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user