Merge pull request #31 from sbwalker/master

Master
This commit is contained in:
Shaun Walker
2019-06-19 20:48:37 -04:00
committed by GitHub

View File

@ -8,6 +8,8 @@
@using Microsoft.AspNetCore.Components.Routing
@inject SiteState SiteState
@inject IUriHelper UriHelper
@inject INavigationInterception NavigationInterception
@inject IComponentContext ComponentContext
@inject IJSRuntime jsRuntime
@inject IAliasService AliasService
@inject ITenantService TenantService
@ -17,21 +19,24 @@
@inject IModuleService ModuleService
@inject IModuleDefinitionService ModuleDefinitionService
@inject IThemeService ThemeService
@implements IHandleAfterRender
@DynamicComponent
@code {
[CascadingParameter] PageState PageState { get; set; }
[CascadingParameter] PageState PageState { get; set; }
[Parameter] Action<PageState> OnStateChange { get; set; }
[Parameter] Action<PageState> OnStateChange { get; set; }
RenderFragment DynamicComponent { get; set; }
private string _absoluteUri;
PageState pagestate;
PageState pagestate;
RenderFragment DynamicComponent { get; set; }
protected override void OnInit()
{
string _absoluteUri;
bool _navigationInterceptionEnabled;
protected override void OnInit()
{
_absoluteUri = UriHelper.GetAbsoluteUri();
UriHelper.OnLocationChanged += OnLocationChanged;
@ -43,23 +48,23 @@
builder.CloseComponent();
}
};
}
}
public void Dispose()
{
public void Dispose()
{
UriHelper.OnLocationChanged -= OnLocationChanged;
}
}
protected override async Task OnParametersSetAsync()
{
protected override async Task OnParametersSetAsync()
{
if (PageState == null)
{
await Refresh();
}
}
}
private async Task Refresh()
{
private async Task Refresh()
{
List<ModuleDefinition> moduledefinitions;
List<Models.Theme> themes;
List<Alias> aliases;
@ -235,21 +240,26 @@
{
// site does not exist
}
}
}
private async void OnLocationChanged(object sender, LocationChangedEventArgs args)
{
private async void OnLocationChanged(object sender, LocationChangedEventArgs args)
{
_absoluteUri = args.Location;
await LocationChanged();
}
public async Task LocationChanged()
{
await Refresh();
}
}
private Dictionary<string, string> ParseQueryString(string path)
Task IHandleAfterRender.OnAfterRenderAsync()
{
if (!_navigationInterceptionEnabled && ComponentContext.IsConnected)
{
_navigationInterceptionEnabled = true;
return NavigationInterception.EnableNavigationInterceptionAsync();
}
return Task.CompletedTask;
}
private Dictionary<string, string> ParseQueryString(string path)
{
Dictionary<string, string> querystring = new Dictionary<string, string>();
if (path.IndexOf("?") != -1)
{
@ -270,10 +280,10 @@
}
}
return querystring;
}
}
private List<Module> ProcessModules(List<Module> modules, List<ModuleDefinition> moduledefinitions, string control, string panes)
{
private List<Module> ProcessModules(List<Module> modules, List<ModuleDefinition> moduledefinitions, string control, string panes)
{
ModuleDefinition moduledefinition;
if (control == "")
@ -325,10 +335,10 @@
module.PaneModuleCount = paneindex[module.Pane] + 1;
}
return modules;
}
}
private Alias GetAlias(string absoluteUri, List<Alias> aliases)
{
private Alias GetAlias(string absoluteUri, List<Alias> aliases)
{
string aliasname;
Alias alias = null;
@ -353,6 +363,6 @@
}
alias.Scheme = uri.Scheme;
return alias;
}
}
}