almost done
This commit is contained in:
28
TorchRemote.Plugin/Refiners/DisplayAttributeRefiner.cs
Normal file
28
TorchRemote.Plugin/Refiners/DisplayAttributeRefiner.cs
Normal file
@@ -0,0 +1,28 @@
|
||||
using Json.Schema.Generation;
|
||||
using Json.Schema.Generation.Intents;
|
||||
using Torch.Views;
|
||||
|
||||
namespace TorchRemote.Plugin.Refiners;
|
||||
|
||||
public class DisplayAttributeRefiner : ISchemaRefiner
|
||||
{
|
||||
public bool ShouldRun(SchemaGenerationContextBase context)
|
||||
{
|
||||
return context.GetAttributes().OfType<DisplayAttribute>().Any();
|
||||
}
|
||||
|
||||
public void Run(SchemaGenerationContextBase context)
|
||||
{
|
||||
foreach (var displayAttribute in context.GetAttributes().OfType<DisplayAttribute>())
|
||||
{
|
||||
if (!string.IsNullOrEmpty(displayAttribute.Name))
|
||||
context.Intents.Add(new TitleIntent(displayAttribute.Name));
|
||||
|
||||
if (!string.IsNullOrEmpty(displayAttribute.Description))
|
||||
context.Intents.Add(new DescriptionIntent(displayAttribute.Description));
|
||||
|
||||
if (displayAttribute.ReadOnly)
|
||||
context.Intents.Add(new ReadOnlyIntent(displayAttribute.ReadOnly));
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user