Merge pull request #206 from sbwalker/master

fixed EditMode after refresh
This commit is contained in:
Shaun Walker 2020-02-12 17:17:04 -05:00 committed by GitHub
commit 304bf3ac73
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 23 additions and 17 deletions

View File

@ -44,7 +44,7 @@
</tr>
<tr>
<td>
<label for="Name" class="control-label">Move : </label>
<label for="Name" class="control-label">Move: </label>
</td>
<td>
<select class="form-control" @bind="@insert">

View File

@ -20,6 +20,5 @@ namespace Oqtane.Shared
public int ModuleId { get; set; }
public string Action { get; set; }
public bool EditMode { get; set; }
public bool DesignMode { get; set; }
}
}

View File

@ -25,7 +25,7 @@
protected override void OnParametersSet()
{
if (PageState.DesignMode && UserSecurity.IsAuthorized(PageState.User, "Edit", PageState.Page.Permissions) && Name != Constants.AdminPane)
if (PageState.EditMode && !PageState.Page.EditMode && UserSecurity.IsAuthorized(PageState.User, "Edit", PageState.Page.Permissions) && Name != Constants.AdminPane)
{
paneadminborder = "app-pane-admin-border";
panetitle = "<div class=\"app-pane-admin-title\">" + Name + " Pane</div>";

View File

@ -79,7 +79,6 @@
int moduleid = -1;
string action = "";
bool editmode = false;
bool designmode = false;
Reload reload = Reload.None;
// get Url path and querystring ( and remove anchors )
@ -104,7 +103,6 @@
if (PageState != null)
{
editmode = PageState.EditMode;
designmode = PageState.DesignMode;
}
if (PageState == null || reload == Reload.Application)
@ -199,7 +197,6 @@
page = pages.Where(item => item.Path == path).FirstOrDefault();
reload = Reload.Page;
editmode = page.EditMode;
designmode = false;
}
user = null;
@ -218,6 +215,11 @@
if (page != null)
{
if (PageState == null)
{
editmode = page.EditMode;
}
// check if user is authorized to view page
if (UserSecurity.IsAuthorized(user, "View", page.Permissions))
{
@ -253,7 +255,6 @@
}
pagestate.Modules = modules;
pagestate.EditMode = editmode;
pagestate.DesignMode = designmode;
OnStateChange?.Invoke(pagestate);
}

View File

@ -153,17 +153,26 @@
@if (UserSecurity.IsAuthorized(PageState.User, "Edit", PageState.Page.Permissions) || (PageState.Page.IsPersonalizable && PageState.User != null))
{
@if (PageState.EditMode)
@if (PageState.Page.EditMode)
{
<button type="button" class="btn @ButtonClass active" data-toggle="button" aria-pressed="true" autocomplete="off" @onclick="(async () => await ToggleEditMode(PageState.EditMode))">
<button type="button" class="btn @ButtonClass active" aria-pressed="true" autocomplete="off">
<span class="oi oi-pencil"></span>
</button>
}
else
{
<button type="button" class="btn @ButtonClass" data-toggle="button" aria-pressed="false" autocomplete="off" @onclick="(async () => await ToggleEditMode(PageState.EditMode))">
<span class="oi oi-pencil"></span>
</button>
if (PageState.EditMode)
{
<button type="button" class="btn @ButtonClass active" data-toggle="button" aria-pressed="true" autocomplete="off" @onclick="(async () => await ToggleEditMode(PageState.EditMode))">
<span class="oi oi-pencil"></span>
</button>
}
else
{
<button type="button" class="btn @ButtonClass" data-toggle="button" aria-pressed="false" autocomplete="off" @onclick="(async () => await ToggleEditMode(PageState.EditMode))">
<span class="oi oi-pencil"></span>
</button>
}
}
}
@ -347,12 +356,10 @@
if (EditMode)
{
PageState.EditMode = false;
PageState.DesignMode = false;
}
else
{
PageState.EditMode = true;
PageState.DesignMode = true;
}
NavigationManager.NavigateTo(NavigateUrl(PageState.Page.Path, "edit=" + ((PageState.EditMode) ? "1" : "0"), Reload.Page));
}
@ -362,7 +369,6 @@
{
await CreatePersonalizedPage();
PageState.EditMode = true;
PageState.DesignMode = true;
NavigationManager.NavigateTo(NavigateUrl(PageState.Page.Path, "edit=" + ((PageState.EditMode) ? "1" : "0"), Reload.Page));
}
}

View File

@ -4,7 +4,7 @@
@inject IUserService UserService
@inject IPageModuleService PageModuleService
@if (PageState.DesignMode && UserSecurity.IsAuthorized(PageState.User, "Edit", ModuleState.Permissions))
@if (PageState.EditMode && !PageState.Page.EditMode && UserSecurity.IsAuthorized(PageState.User, "Edit", ModuleState.Permissions))
{
<a class="nav-link dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"></a>
<div class="dropdown-menu" x-placement="bottom-start" style="position: absolute; will-change: transform; top: 0px; left: 0px; transform: translate3d(0px, 37px, 0px);">
@ -23,7 +23,7 @@
}
@code {
List<ActionViewModel> actions;
List<ActionViewModel> actions;
protected override void OnParametersSet()
{