feature: update expression browser and add plugin expression extensions
This commit is contained in:
@@ -1,24 +1,42 @@
|
||||
using Disco.Services.Authorization;
|
||||
using Disco.Models.Repository;
|
||||
using Disco.Models.UI.Config.Expressions;
|
||||
using Disco.Services.Authorization;
|
||||
using Disco.Services.Expressions;
|
||||
using Disco.Services.Plugins.Features.ExpressionExtensionProvider;
|
||||
using Disco.Services.Plugins.Features.UIExtension;
|
||||
using Disco.Services.Web;
|
||||
using Disco.Web.Areas.Config.Models.Expressions;
|
||||
using System;
|
||||
using System.Linq;
|
||||
using System.Web.Mvc;
|
||||
|
||||
namespace Disco.Web.Areas.Config.Controllers
|
||||
{
|
||||
[DiscoAuthorize(Claims.DiscoAdminAccount)]
|
||||
public partial class ExpressionsController : AuthorizedDatabaseController
|
||||
{
|
||||
// Under Construction - Not In Production
|
||||
|
||||
[DiscoAuthorize(Claims.DiscoAdminAccount)]
|
||||
public virtual ActionResult Index()
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
|
||||
//return View(Views.Editor, new Models.Expressions.EditorModel()
|
||||
//{
|
||||
// Expression = @"JobComponentsTotalCost() < 100 ? JobComponentsTotalCost().ToString('c') : '$100.00'"
|
||||
//});
|
||||
}
|
||||
|
||||
[DiscoAuthorize(Claims.Config.Show)]
|
||||
public virtual ActionResult Browser()
|
||||
{
|
||||
var m = new BrowserModel()
|
||||
{
|
||||
DeviceType = typeof(Device).AssemblyQualifiedName,
|
||||
JobType = typeof(Job).AssemblyQualifiedName,
|
||||
UserType = typeof(User).AssemblyQualifiedName,
|
||||
Variables = Expression.StandardVariableTypes(),
|
||||
ExtensionLibraries = Expression.ExtensionLibraryTypes(),
|
||||
PluginExtensionLibraries = ExpressionExtensionProviderFeature.GetExpressionExtensionRegistrations().ToDictionary(r => r.Alias, r => r.ExtensionType.AssemblyQualifiedName)
|
||||
};
|
||||
|
||||
// UI Extensions
|
||||
UIExtensions.ExecuteExtensions<ConfigExpressionsBrowserModel>(ControllerContext, m);
|
||||
|
||||
return View(m);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user