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>
<tr> <tr>
<td> <td>
<label for="Name" class="control-label">Move : </label> <label for="Name" class="control-label">Move: </label>
</td> </td>
<td> <td>
<select class="form-control" @bind="@insert"> <select class="form-control" @bind="@insert">

View File

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

View File

@ -25,7 +25,7 @@
protected override void OnParametersSet() 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"; paneadminborder = "app-pane-admin-border";
panetitle = "<div class=\"app-pane-admin-title\">" + Name + " Pane</div>"; panetitle = "<div class=\"app-pane-admin-title\">" + Name + " Pane</div>";

View File

@ -79,7 +79,6 @@
int moduleid = -1; int moduleid = -1;
string action = ""; string action = "";
bool editmode = false; bool editmode = false;
bool designmode = false;
Reload reload = Reload.None; Reload reload = Reload.None;
// get Url path and querystring ( and remove anchors ) // get Url path and querystring ( and remove anchors )
@ -104,7 +103,6 @@
if (PageState != null) if (PageState != null)
{ {
editmode = PageState.EditMode; editmode = PageState.EditMode;
designmode = PageState.DesignMode;
} }
if (PageState == null || reload == Reload.Application) if (PageState == null || reload == Reload.Application)
@ -199,7 +197,6 @@
page = pages.Where(item => item.Path == path).FirstOrDefault(); page = pages.Where(item => item.Path == path).FirstOrDefault();
reload = Reload.Page; reload = Reload.Page;
editmode = page.EditMode; editmode = page.EditMode;
designmode = false;
} }
user = null; user = null;
@ -218,6 +215,11 @@
if (page != null) if (page != null)
{ {
if (PageState == null)
{
editmode = page.EditMode;
}
// check if user is authorized to view page // check if user is authorized to view page
if (UserSecurity.IsAuthorized(user, "View", page.Permissions)) if (UserSecurity.IsAuthorized(user, "View", page.Permissions))
{ {
@ -253,7 +255,6 @@
} }
pagestate.Modules = modules; pagestate.Modules = modules;
pagestate.EditMode = editmode; pagestate.EditMode = editmode;
pagestate.DesignMode = designmode;
OnStateChange?.Invoke(pagestate); 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 (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> <span class="oi oi-pencil"></span>
</button> </button>
} }
else else
{ {
<button type="button" class="btn @ButtonClass" data-toggle="button" aria-pressed="false" autocomplete="off" @onclick="(async () => await ToggleEditMode(PageState.EditMode))"> if (PageState.EditMode)
<span class="oi oi-pencil"></span> {
</button> <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) if (EditMode)
{ {
PageState.EditMode = false; PageState.EditMode = false;
PageState.DesignMode = false;
} }
else else
{ {
PageState.EditMode = true; PageState.EditMode = true;
PageState.DesignMode = true;
} }
NavigationManager.NavigateTo(NavigateUrl(PageState.Page.Path, "edit=" + ((PageState.EditMode) ? "1" : "0"), Reload.Page)); NavigationManager.NavigateTo(NavigateUrl(PageState.Page.Path, "edit=" + ((PageState.EditMode) ? "1" : "0"), Reload.Page));
} }
@ -362,7 +369,6 @@
{ {
await CreatePersonalizedPage(); await CreatePersonalizedPage();
PageState.EditMode = true; PageState.EditMode = true;
PageState.DesignMode = true;
NavigationManager.NavigateTo(NavigateUrl(PageState.Page.Path, "edit=" + ((PageState.EditMode) ? "1" : "0"), Reload.Page)); NavigationManager.NavigateTo(NavigateUrl(PageState.Page.Path, "edit=" + ((PageState.EditMode) ? "1" : "0"), Reload.Page));
} }
} }

View File

@ -4,7 +4,7 @@
@inject IUserService UserService @inject IUserService UserService
@inject IPageModuleService PageModuleService @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> <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);"> <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 { @code {
List<ActionViewModel> actions; List<ActionViewModel> actions;
protected override void OnParametersSet() protected override void OnParametersSet()
{ {