Pick macro parameters in an infinite editor like content type properties (#6586)

This commit is contained in:
Bjarne Fyrstenborg
2019-10-15 18:13:18 +02:00
committed by Sebastiaan Janssen
parent 8a85c3cbf9
commit 426aa981f8
14 changed files with 500 additions and 135 deletions

View File

@@ -229,6 +229,39 @@ namespace Umbraco.Web.Editors
return this.Request.CreateResponse(HttpStatusCode.OK, Current.ParameterEditors);
}
/// <summary>
/// Gets the available parameter editors grouped by their group.
/// </summary>
/// <returns>
/// The <see cref="HttpResponseMessage"/>.
/// </returns>
public HttpResponseMessage GetGroupedParameterEditors()
{
var parameterEditors = Current.ParameterEditors.ToArray();
var grouped = parameterEditors
.GroupBy(x => x.Group.IsNullOrWhiteSpace() ? "" : x.Group.ToLower())
.OrderBy(x => x.Key)
.ToDictionary(group => group.Key, group => group.OrderBy(d => d.Name).AsEnumerable());
return this.Request.CreateResponse(HttpStatusCode.OK, grouped);
}
/// <summary>
/// Get parameter editor by alias.
/// </summary>
/// <returns>
/// The <see cref="HttpResponseMessage"/>.
/// </returns>
public HttpResponseMessage GetParameterEditorByAlias(string alias)
{
var parameterEditors = Current.ParameterEditors.ToArray();
var parameterEditor = parameterEditors.FirstOrDefault(x => x.Alias.InvariantEquals(alias));
return this.Request.CreateResponse(HttpStatusCode.OK, parameterEditor);
}
/// <summary>
/// Returns a error response and optionally logs it
/// </summary>