Initial plumbing, extension methods etc for collection to store IDataValueReferences

This commit is contained in:
Warren Buckley
2019-11-26 11:09:33 +00:00
parent 3ead51ff64
commit 7573d52807
7 changed files with 39 additions and 0 deletions

View File

@@ -154,6 +154,9 @@ namespace Umbraco.Core.Composing
public static DataEditorCollection DataEditors
=> Factory.GetInstance<DataEditorCollection>();
public static DataValueReferenceCollection DataValueReferences
=> Factory.GetInstance<DataValueReferenceCollection>();
public static PropertyEditorCollection PropertyEditors
=> Factory.GetInstance<PropertyEditorCollection>();

View File

@@ -49,6 +49,13 @@ namespace Umbraco.Core
public static DataEditorCollectionBuilder DataEditors(this Composition composition)
=> composition.WithCollectionBuilder<DataEditorCollectionBuilder>();
/// <summary>
/// Gets the data value reference collection builder.
/// </summary>
/// <param name="composition">The composition.</param>
public static DataValueReferenceCollectionBuilder DataValueReferences(this Composition composition)
=> composition.WithCollectionBuilder<DataValueReferenceCollectionBuilder>();
/// <summary>
/// Gets the property value converters collection builder.
/// </summary>

View File

@@ -0,0 +1,12 @@
using System.Collections.Generic;
using Umbraco.Core.Composing;
namespace Umbraco.Core.PropertyEditors
{
public class DataValueReferenceCollection : BuilderCollectionBase<IDataValueReference>
{
public DataValueReferenceCollection(IEnumerable<IDataValueReference> items)
: base(items)
{ }
}
}

View File

@@ -0,0 +1,9 @@
using Umbraco.Core.Composing;
namespace Umbraco.Core.PropertyEditors
{
public class DataValueReferenceCollectionBuilder : LazyCollectionBuilderBase<DataValueReferenceCollectionBuilder, DataValueReferenceCollection, IDataValueReference>
{
protected override DataValueReferenceCollectionBuilder This => this;
}
}

View File

@@ -75,6 +75,10 @@ namespace Umbraco.Core.Runtime
composition.RegisterUnique<PropertyEditorCollection>();
composition.RegisterUnique<ParameterEditorCollection>();
// TODO: WB Add our collection
// Manually register stuff in this collection
composition.DataValueReferences();
// register a server registrar, by default it's the db registrar
composition.RegisterUnique<IServerRegistrar>(f =>
{

View File

@@ -281,6 +281,8 @@
<Compile Include="Models\PublishedContent\IPublishedContentType.cs" />
<Compile Include="Models\PublishedContent\IPublishedPropertyType.cs" />
<Compile Include="PropertyEditors\ConfigurationFieldsExtensions.cs" />
<Compile Include="PropertyEditors\DataValueReferenceCollection.cs" />
<Compile Include="PropertyEditors\DataValueReferenceCollectionBuilder.cs" />
<Compile Include="PropertyEditors\IDataValueReference.cs" />
<Compile Include="PropertyEditors\IIgnoreUserStartNodesConfig.cs" />
<Compile Include="PublishedContentExtensions.cs" />

View File

@@ -182,6 +182,8 @@ namespace Umbraco.Web.Composing
public static DataEditorCollection DataEditors => CoreCurrent.DataEditors;
public static DataValueReferenceCollection DataValueReferences => CoreCurrent.DataValueReferences;
public static PropertyEditorCollection PropertyEditors => CoreCurrent.PropertyEditors;
public static ParameterEditorCollection ParameterEditors => CoreCurrent.ParameterEditors;