User experience improvements
This commit is contained in:
@ -1,6 +1,6 @@
|
||||
@namespace Oqtane.UI
|
||||
|
||||
<CascadingValue Value="@_moduleState" IsFixed="true">
|
||||
<CascadingValue Value="@ModuleState" IsFixed="true">
|
||||
@if (_useadminborder)
|
||||
{
|
||||
<div class="app-pane-admin-border">
|
||||
@ -14,22 +14,20 @@
|
||||
</CascadingValue>
|
||||
|
||||
@code {
|
||||
private Module _moduleState;
|
||||
private bool _useadminborder = false;
|
||||
|
||||
[CascadingParameter]
|
||||
protected PageState PageState { get; set; }
|
||||
|
||||
[Parameter]
|
||||
public Module Module { get; set; }
|
||||
public Module ModuleState { get; set; }
|
||||
|
||||
RenderFragment DynamicComponent { get; set; }
|
||||
|
||||
protected override void OnParametersSet()
|
||||
{
|
||||
_moduleState = Module; // passed in from Pane component
|
||||
string container = _moduleState.ContainerType;
|
||||
if (PageState.ModuleId != -1 && _moduleState.UseAdminContainer)
|
||||
string container = ModuleState.ContainerType;
|
||||
if (PageState.ModuleId != -1 && ModuleState.UseAdminContainer)
|
||||
{
|
||||
container = (!string.IsNullOrEmpty(PageState.Site.AdminContainerType)) ? PageState.Site.AdminContainerType : Constants.DefaultAdminContainer;
|
||||
}
|
||||
|
@ -124,7 +124,7 @@ else
|
||||
private void CreateComponent(RenderTreeBuilder builder, Module module)
|
||||
{
|
||||
builder.OpenComponent(0, Type.GetType(Constants.ContainerComponent));
|
||||
builder.AddAttribute(1, "Module", module);
|
||||
builder.AddAttribute(1, "ModuleState", module);
|
||||
builder.SetKey(module.PageModuleId);
|
||||
builder.CloseComponent();
|
||||
}
|
||||
|
@ -1,25 +1,5 @@
|
||||
@namespace Oqtane.UI
|
||||
|
||||
@DynamicComponent
|
||||
@namespace Oqtane.UI
|
||||
|
||||
@code {
|
||||
[CascadingParameter]
|
||||
protected PageState PageState { get; set; }
|
||||
|
||||
RenderFragment DynamicComponent { get; set; }
|
||||
|
||||
protected override void OnParametersSet()
|
||||
{
|
||||
DynamicComponent = builder =>
|
||||
{
|
||||
var layoutType = Type.GetType(PageState.Page.LayoutType);
|
||||
if (layoutType == null)
|
||||
{
|
||||
// fallback
|
||||
layoutType = Type.GetType(Constants.DefaultLayout);
|
||||
}
|
||||
builder.OpenComponent(0, layoutType);
|
||||
builder.CloseComponent();
|
||||
};
|
||||
}
|
||||
// panelayouts are deprecated - this component is included for backward compatibility
|
||||
}
|
@ -384,21 +384,15 @@
|
||||
page.ThemeType = site.DefaultThemeType;
|
||||
}
|
||||
|
||||
if (string.IsNullOrEmpty(page.LayoutType))
|
||||
{
|
||||
page.LayoutType = site.DefaultLayoutType;
|
||||
}
|
||||
|
||||
page.Panes = new List<string>();
|
||||
page.Resources = new List<Resource>();
|
||||
|
||||
string panes = "";
|
||||
string panes = PaneNames.Admin;
|
||||
Type themetype = Type.GetType(page.ThemeType);
|
||||
if (themetype == null)
|
||||
{
|
||||
// fallback
|
||||
page.ThemeType = Constants.DefaultTheme;
|
||||
page.LayoutType = Constants.DefaultLayout;
|
||||
themetype = Type.GetType(Constants.DefaultTheme);
|
||||
}
|
||||
if (themetype != null)
|
||||
@ -406,24 +400,13 @@
|
||||
var themeobject = Activator.CreateInstance(themetype) as IThemeControl;
|
||||
if (themeobject != null)
|
||||
{
|
||||
panes = themeobject.Panes;
|
||||
if (!string.IsNullOrEmpty(themeobject.Panes))
|
||||
{
|
||||
panes = themeobject.Panes;
|
||||
}
|
||||
page.Resources = ManagePageResources(page.Resources, themeobject.Resources);
|
||||
}
|
||||
}
|
||||
|
||||
if (!string.IsNullOrEmpty(page.LayoutType))
|
||||
{
|
||||
Type layouttype = Type.GetType(page.LayoutType);
|
||||
if (layouttype != null)
|
||||
{
|
||||
var layoutobject = Activator.CreateInstance(layouttype) as IThemeControl;
|
||||
if (layoutobject != null)
|
||||
{
|
||||
panes = layoutobject.Panes;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
page.Panes = panes.Replace(";", ",").Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList();
|
||||
}
|
||||
catch
|
||||
|
Reference in New Issue
Block a user