improve developer experience for Url helper methods
This commit is contained in:
parent
e096af320f
commit
d4f71d5026
|
@ -134,6 +134,7 @@ namespace Oqtane.Modules
|
||||||
|
|
||||||
// url methods
|
// url methods
|
||||||
|
|
||||||
|
// navigate url
|
||||||
public string NavigateUrl()
|
public string NavigateUrl()
|
||||||
{
|
{
|
||||||
return NavigateUrl(PageState.Page.Path);
|
return NavigateUrl(PageState.Page.Path);
|
||||||
|
@ -149,24 +150,65 @@ namespace Oqtane.Modules
|
||||||
return NavigateUrl(PageState.Page.Path, refresh);
|
return NavigateUrl(PageState.Page.Path, refresh);
|
||||||
}
|
}
|
||||||
|
|
||||||
public string NavigateUrl(string path, string parameters)
|
public string NavigateUrl(string path, string querystring)
|
||||||
{
|
{
|
||||||
return Utilities.NavigateUrl(PageState.Alias.Path, path, parameters);
|
return Utilities.NavigateUrl(PageState.Alias.Path, path, querystring);
|
||||||
|
}
|
||||||
|
|
||||||
|
public string NavigateUrl(string path, Dictionary<string, string> querystring)
|
||||||
|
{
|
||||||
|
return NavigateUrl(path, Utilities.CreateQueryString(querystring));
|
||||||
}
|
}
|
||||||
|
|
||||||
public string NavigateUrl(string path, bool refresh)
|
public string NavigateUrl(string path, bool refresh)
|
||||||
{
|
{
|
||||||
return Utilities.NavigateUrl(PageState.Alias.Path, path, refresh ? "refresh" : "");
|
return NavigateUrl(path, refresh ? "refresh" : "");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public string NavigateUrl(int moduleId, string action)
|
||||||
|
{
|
||||||
|
return EditUrl(PageState.Page.Path, moduleId, action, "");
|
||||||
|
}
|
||||||
|
|
||||||
|
public string NavigateUrl(int moduleId, string action, string querystring)
|
||||||
|
{
|
||||||
|
return EditUrl(PageState.Page.Path, moduleId, action, querystring);
|
||||||
|
}
|
||||||
|
|
||||||
|
public string NavigateUrl(int moduleId, string action, Dictionary<string, string> querystring)
|
||||||
|
{
|
||||||
|
return EditUrl(PageState.Page.Path, moduleId, action, querystring);
|
||||||
|
}
|
||||||
|
|
||||||
|
public string NavigateUrl(string path, int moduleId, string action)
|
||||||
|
{
|
||||||
|
return EditUrl(path, moduleId, action, "");
|
||||||
|
}
|
||||||
|
|
||||||
|
public string NavigateUrl(string path, int moduleId, string action, string querystring)
|
||||||
|
{
|
||||||
|
return EditUrl(path, moduleId, action, querystring);
|
||||||
|
}
|
||||||
|
|
||||||
|
public string NavigateUrl(string path, int moduleId, string action, Dictionary<string, string> querystring)
|
||||||
|
{
|
||||||
|
return EditUrl(path, moduleId, action, querystring);
|
||||||
|
}
|
||||||
|
|
||||||
|
// edit url
|
||||||
public string EditUrl(string action)
|
public string EditUrl(string action)
|
||||||
{
|
{
|
||||||
return EditUrl(ModuleState.ModuleId, action);
|
return EditUrl(ModuleState.ModuleId, action);
|
||||||
}
|
}
|
||||||
|
|
||||||
public string EditUrl(string action, string parameters)
|
public string EditUrl(string action, string querystring)
|
||||||
{
|
{
|
||||||
return EditUrl(ModuleState.ModuleId, action, parameters);
|
return EditUrl(ModuleState.ModuleId, action, querystring);
|
||||||
|
}
|
||||||
|
|
||||||
|
public string EditUrl(string action, Dictionary<string, string> querystring)
|
||||||
|
{
|
||||||
|
return EditUrl(ModuleState.ModuleId, action, querystring);
|
||||||
}
|
}
|
||||||
|
|
||||||
public string EditUrl(int moduleId, string action)
|
public string EditUrl(int moduleId, string action)
|
||||||
|
@ -174,16 +216,27 @@ namespace Oqtane.Modules
|
||||||
return EditUrl(moduleId, action, "");
|
return EditUrl(moduleId, action, "");
|
||||||
}
|
}
|
||||||
|
|
||||||
public string EditUrl(int moduleId, string action, string parameters)
|
public string EditUrl(int moduleId, string action, string querystring)
|
||||||
{
|
{
|
||||||
return EditUrl(PageState.Page.Path, moduleId, action, parameters);
|
return EditUrl(PageState.Page.Path, moduleId, action, querystring);
|
||||||
}
|
}
|
||||||
|
|
||||||
public string EditUrl(string path, int moduleid, string action, string parameters)
|
public string EditUrl(int moduleId, string action, Dictionary<string, string> querystring)
|
||||||
{
|
{
|
||||||
return Utilities.EditUrl(PageState.Alias.Path, path, moduleid, action, parameters);
|
return EditUrl(PageState.Page.Path, moduleId, action, querystring);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public string EditUrl(string path, int moduleid, string action, string querystring)
|
||||||
|
{
|
||||||
|
return Utilities.EditUrl(PageState.Alias.Path, path, moduleid, action, querystring);
|
||||||
|
}
|
||||||
|
|
||||||
|
public string EditUrl(string path, int moduleid, string action, Dictionary<string, string> querystring)
|
||||||
|
{
|
||||||
|
return EditUrl(path, moduleid, action, Utilities.CreateQueryString(querystring));
|
||||||
|
}
|
||||||
|
|
||||||
|
// file url
|
||||||
public string FileUrl(string folderpath, string filename)
|
public string FileUrl(string folderpath, string filename)
|
||||||
{
|
{
|
||||||
return FileUrl(folderpath, filename, false);
|
return FileUrl(folderpath, filename, false);
|
||||||
|
@ -203,6 +256,8 @@ namespace Oqtane.Modules
|
||||||
return Utilities.FileUrl(PageState.Alias, fileid, download);
|
return Utilities.FileUrl(PageState.Alias, fileid, download);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// image url
|
||||||
|
|
||||||
public string ImageUrl(int fileid, int width, int height)
|
public string ImageUrl(int fileid, int width, int height)
|
||||||
{
|
{
|
||||||
return ImageUrl(fileid, width, height, "");
|
return ImageUrl(fileid, width, height, "");
|
||||||
|
|
|
@ -93,6 +93,7 @@ namespace Oqtane.Themes
|
||||||
|
|
||||||
// url methods
|
// url methods
|
||||||
|
|
||||||
|
// navigate url
|
||||||
public string NavigateUrl()
|
public string NavigateUrl()
|
||||||
{
|
{
|
||||||
return NavigateUrl(PageState.Page.Path);
|
return NavigateUrl(PageState.Page.Path);
|
||||||
|
@ -108,31 +109,78 @@ namespace Oqtane.Themes
|
||||||
return NavigateUrl(PageState.Page.Path, refresh);
|
return NavigateUrl(PageState.Page.Path, refresh);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public string NavigateUrl(string path, string querystring)
|
||||||
|
{
|
||||||
|
return Utilities.NavigateUrl(PageState.Alias.Path, path, querystring);
|
||||||
|
}
|
||||||
|
|
||||||
|
public string NavigateUrl(string path, Dictionary<string, string> querystring)
|
||||||
|
{
|
||||||
|
return NavigateUrl(path, Utilities.CreateQueryString(querystring));
|
||||||
|
}
|
||||||
|
|
||||||
public string NavigateUrl(string path, bool refresh)
|
public string NavigateUrl(string path, bool refresh)
|
||||||
{
|
{
|
||||||
return Utilities.NavigateUrl(PageState.Alias.Path, path, refresh ? "refresh" : "");
|
return NavigateUrl(path, refresh ? "refresh" : "");
|
||||||
}
|
}
|
||||||
|
|
||||||
public string NavigateUrl(string path, string parameters)
|
public string NavigateUrl(int moduleid, string action)
|
||||||
{
|
{
|
||||||
return Utilities.NavigateUrl(PageState.Alias.Path, path, parameters);
|
return EditUrl(moduleid, action, "");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public string NavigateUrl(int moduleid, string action, string querystring)
|
||||||
|
{
|
||||||
|
return EditUrl(PageState.Page.Path, moduleid, action, querystring);
|
||||||
|
}
|
||||||
|
|
||||||
|
public string NavigateUrl(int moduleid, string action, Dictionary<string, string> querystring)
|
||||||
|
{
|
||||||
|
return EditUrl(PageState.Page.Path, moduleid, action, Utilities.CreateQueryString(querystring));
|
||||||
|
}
|
||||||
|
|
||||||
|
public string NavigateUrl(string path, int moduleId, string action)
|
||||||
|
{
|
||||||
|
return EditUrl(path, moduleId, action, "");
|
||||||
|
}
|
||||||
|
|
||||||
|
public string NavigateUrl(string path, int moduleid, string action, string querystring)
|
||||||
|
{
|
||||||
|
return EditUrl(path, moduleid, action, querystring);
|
||||||
|
}
|
||||||
|
|
||||||
|
public string NavigateUrl(string path, int moduleid, string action, Dictionary<string, string> querystring)
|
||||||
|
{
|
||||||
|
return EditUrl(path, moduleid, action, querystring);
|
||||||
|
}
|
||||||
|
|
||||||
|
// edit url
|
||||||
public string EditUrl(int moduleid, string action)
|
public string EditUrl(int moduleid, string action)
|
||||||
{
|
{
|
||||||
return EditUrl(moduleid, action, "");
|
return EditUrl(moduleid, action, "");
|
||||||
}
|
}
|
||||||
|
|
||||||
public string EditUrl(int moduleid, string action, string parameters)
|
public string EditUrl(int moduleid, string action, string querystring)
|
||||||
{
|
{
|
||||||
return EditUrl(PageState.Page.Path, moduleid, action, parameters);
|
return EditUrl(PageState.Page.Path, moduleid, action, querystring);
|
||||||
}
|
}
|
||||||
|
|
||||||
public string EditUrl(string path, int moduleid, string action, string parameters)
|
public string EditUrl(int moduleid, string action, Dictionary<string, string> querystring)
|
||||||
{
|
{
|
||||||
return Utilities.EditUrl(PageState.Alias.Path, path, moduleid, action, parameters);
|
return EditUrl(PageState.Page.Path, moduleid, action, querystring);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public string EditUrl(string path, int moduleid, string action, string querystring)
|
||||||
|
{
|
||||||
|
return Utilities.EditUrl(PageState.Alias.Path, path, moduleid, action, querystring);
|
||||||
|
}
|
||||||
|
|
||||||
|
public string EditUrl(string path, int moduleid, string action, Dictionary<string, string> querystring)
|
||||||
|
{
|
||||||
|
return EditUrl(path, moduleid, action, Utilities.CreateQueryString(querystring));
|
||||||
|
}
|
||||||
|
|
||||||
|
// file url
|
||||||
public string FileUrl(string folderpath, string filename)
|
public string FileUrl(string folderpath, string filename)
|
||||||
{
|
{
|
||||||
return FileUrl(folderpath, filename, false);
|
return FileUrl(folderpath, filename, false);
|
||||||
|
@ -152,6 +200,7 @@ namespace Oqtane.Themes
|
||||||
return Utilities.FileUrl(PageState.Alias, fileid, download);
|
return Utilities.FileUrl(PageState.Alias, fileid, download);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// image url
|
||||||
public string ImageUrl(int fileid, int width, int height)
|
public string ImageUrl(int fileid, int width, int height)
|
||||||
{
|
{
|
||||||
return ImageUrl(fileid, width, height, "");
|
return ImageUrl(fileid, width, height, "");
|
||||||
|
|
|
@ -23,12 +23,13 @@ namespace Oqtane.Shared
|
||||||
|
|
||||||
public static (string UrlParameters, string Querystring, string Fragment) ParseParameters(string parameters)
|
public static (string UrlParameters, string Querystring, string Fragment) ParseParameters(string parameters)
|
||||||
{
|
{
|
||||||
// /urlparameters /urlparameters?Id=1 /urlparameters#5 /urlparameters?Id=1#5 /urlparameters?reload#5
|
// /urlparameters /urlparameters?id=1 /urlparameters#5 /urlparameters?id=1#5 /urlparameters?reload#5
|
||||||
// Id=1 Id=1#5 reload#5 reload
|
// ?id=1 ?id=1#5 ?reload#5 ?reload
|
||||||
|
// id=1 id=1#5 reload#5 reload
|
||||||
// #5
|
// #5
|
||||||
|
|
||||||
// create absolute url to convert to Uri
|
// create absolute url to convert to Uri
|
||||||
parameters = (!parameters.StartsWith("/") && !parameters.StartsWith("#") ? "?" : "") + parameters;
|
parameters = (!parameters.StartsWith("/") && !parameters.StartsWith("#") && !parameters.StartsWith("?") ? "?" : "") + parameters;
|
||||||
parameters = Constants.PackageRegistryUrl + parameters;
|
parameters = Constants.PackageRegistryUrl + parameters;
|
||||||
var uri = new Uri(parameters);
|
var uri = new Uri(parameters);
|
||||||
var querystring = uri.Query.Replace("?", "");
|
var querystring = uri.Query.Replace("?", "");
|
||||||
|
|
Loading…
Reference in New Issue
Block a user