fix #2366 - populate new UrlParameters property

This commit is contained in:
Shaun Walker 2022-09-04 09:35:18 -04:00
parent 282a0b0c44
commit 51e2e2966f
3 changed files with 9 additions and 7 deletions

View File

@ -130,7 +130,7 @@
private string _properties = string.Empty; private string _properties = string.Empty;
private string _server = string.Empty; private string _server = string.Empty;
public override string RouteTemplate => "/{id}"; public override string UrlParameterTemplate => "/{id}";
public override SecurityAccessLevel SecurityAccessLevel => SecurityAccessLevel.Host; public override SecurityAccessLevel SecurityAccessLevel => SecurityAccessLevel.Host;
protected override async Task OnInitializedAsync() protected override async Task OnInitializedAsync()

View File

@ -99,10 +99,10 @@ else
private List<Log> _logs; private List<Log> _logs;
private string _retention = ""; private string _retention = "";
public override string RouteTemplate => "/{level}/{function}/{rows}/{page}"; public override string UrlParameterTemplate => "/{level}/{function}/{rows}/{page}";
public override SecurityAccessLevel SecurityAccessLevel => SecurityAccessLevel.Host; public override SecurityAccessLevel SecurityAccessLevel => SecurityAccessLevel.Host;
protected override async Task OnInitializedAsync() protected override async Task OnParametersSetAsync()
{ {
try try
{ {

View File

@ -15,6 +15,7 @@ namespace Oqtane.Modules
public abstract class ModuleBase : ComponentBase, IModuleControl public abstract class ModuleBase : ComponentBase, IModuleControl
{ {
private Logger _logger; private Logger _logger;
private string _urlparametersstate;
private Dictionary<string, string> _urlparameters; private Dictionary<string, string> _urlparameters;
protected Logger logger => _logger ?? (_logger = new Logger(this)); protected Logger logger => _logger ?? (_logger = new Logger(this));
@ -49,14 +50,15 @@ namespace Oqtane.Modules
public virtual List<Resource> Resources { get; set; } public virtual List<Resource> Resources { get; set; }
// url parameters // url parameters
public virtual string RouteTemplate { get; set; } public virtual string UrlParameterTemplate { get; set; }
public Dictionary<string, string> UrlParameters { public Dictionary<string, string> UrlParameters {
get get
{ {
if (_urlparameters == null) if (_urlparametersstate == null || _urlparametersstate != PageState.UrlParameters)
{ {
_urlparameters = GetUrlParameters(RouteTemplate); _urlparametersstate = PageState.UrlParameters;
_urlparameters = GetUrlParameters(UrlParameterTemplate);
} }
return _urlparameters; return _urlparameters;
} }
@ -183,7 +185,7 @@ namespace Oqtane.Modules
public virtual Dictionary<string, string> GetUrlParameters(string template = "") public virtual Dictionary<string, string> GetUrlParameters(string template = "")
{ {
var urlParameters = new Dictionary<string, string>(); var urlParameters = new Dictionary<string, string>();
var parameters = PageState.UrlParameters.Split('/', StringSplitOptions.RemoveEmptyEntries); var parameters = _urlparametersstate.Split('/', StringSplitOptions.RemoveEmptyEntries);
if (string.IsNullOrEmpty(template)) if (string.IsNullOrEmpty(template))
{ {