Merge remote-tracking branch 'upstream/dev' into dev

This commit is contained in:
Charles Nurse
2021-04-19 11:08:35 -07:00
112 changed files with 1696 additions and 1232 deletions

View File

@ -1,11 +1,21 @@
@namespace Oqtane.UI
<CascadingValue Value="@_moduleState" IsFixed="true">
@DynamicComponent
@if (_useadminborder)
{
<div class="app-pane-admin-border">
@DynamicComponent
</div>
}
else
{
@DynamicComponent
}
</CascadingValue>
@code {
private Module _moduleState;
private bool _useadminborder = false;
[CascadingParameter]
protected PageState PageState { get; set; }
@ -24,6 +34,15 @@
container = (!string.IsNullOrEmpty(PageState.Site.AdminContainerType)) ? PageState.Site.AdminContainerType : Constants.DefaultAdminContainer;
}
if (PageState.EditMode && UserSecurity.IsAuthorized(PageState.User, PermissionNames.Edit, PageState.Page.Permissions) && PageState.Action == Constants.DefaultAction)
{
_useadminborder = true;
}
else
{
_useadminborder = false;
}
DynamicComponent = builder =>
{
Type containerType = Type.GetType(container);

View File

@ -1,3 +1,4 @@
using Microsoft.AspNetCore.Components;
using Microsoft.JSInterop;
using System.Threading.Tasks;
@ -232,5 +233,19 @@ namespace Oqtane.UI
return Task.CompletedTask;
}
}
public ValueTask<bool> FormValid(ElementReference form)
{
try
{
return _jsRuntime.InvokeAsync<bool>(
"Oqtane.Interop.formValid",
form);
}
catch
{
return new ValueTask<bool>(Task.FromResult(false));
}
}
}
}

View File

@ -6,7 +6,7 @@
@if (_useadminborder)
{
<div class="@_paneadminborder">
<div class="app-pane-admin-border">
@((MarkupString)_panetitle)
@DynamicComponent
</div>
@ -18,7 +18,6 @@ else
@code {
private bool _useadminborder = false;
private string _paneadminborder = "container";
private string _panetitle = "";
[CascadingParameter]
@ -31,15 +30,14 @@ else
protected override void OnParametersSet()
{
if (PageState.EditMode && UserSecurity.IsAuthorized(PageState.User, PermissionNames.Edit, PageState.Page.Permissions) && Name != PaneNames.Admin)
if (PageState.EditMode && UserSecurity.IsAuthorized(PageState.User, PermissionNames.Edit, PageState.Page.Permissions) && PageState.Action == Constants.DefaultAction)
{
_useadminborder = true;
_paneadminborder = "app-pane-admin-border";
_panetitle = "<div class=\"app-pane-admin-title\">" + Name + " Pane</div>";
}
else
{
_paneadminborder = "container";
_useadminborder = false;
_panetitle = "";
}
@ -130,4 +128,4 @@ else
builder.SetKey(module.PageModuleId);
builder.CloseComponent();
}
}
}

View File

@ -80,7 +80,7 @@
var urlparameters = string.Empty;
var editmode = false;
var reload = Reload.None;
var lastsyncdate = DateTime.UtcNow;
var lastsyncdate = DateTime.UtcNow.AddHours(-1);
var runtime = GetRuntime();
Uri uri = new Uri(_absoluteUri);
@ -107,9 +107,14 @@
SiteState.Alias = alias; // set state for services
lastsyncdate = alias.SyncDate;
// process any sync events for site
// process any sync events
if (reload != Reload.Site && alias.SyncEvents.Any())
{
// if running on WebAssembly reload the client application if the server application was restarted
if (runtime == Shared.Runtime.WebAssembly && PageState != null && alias.SyncEvents.Exists(item => item.TenantId == -1))
{
NavigationManager.NavigateTo(_absoluteUri + (!_absoluteUri.Contains("?") ? "?" : "&") + "reload", true);
}
if (alias.SyncEvents.Exists(item => item.EntityName == EntityNames.Site && item.EntityId == alias.SiteId))
{
reload = Reload.Site;