Don't use a hardcoded "image" type in media picker value conversion
This commit is contained in:
committed by
Sebastiaan Janssen
parent
bfc87922cb
commit
3457018fb4
@@ -37,14 +37,8 @@ namespace Umbraco.Web.PropertyEditors.ValueConverters
|
|||||||
public override Type GetPropertyValueType(IPublishedPropertyType propertyType)
|
public override Type GetPropertyValueType(IPublishedPropertyType propertyType)
|
||||||
{
|
{
|
||||||
var isMultiple = IsMultipleDataType(propertyType.DataType);
|
var isMultiple = IsMultipleDataType(propertyType.DataType);
|
||||||
var isOnlyImages = IsOnlyImagesDataType(propertyType.DataType);
|
|
||||||
|
|
||||||
return isMultiple
|
return isMultiple
|
||||||
? isOnlyImages
|
? typeof(IEnumerable<IPublishedContent>)
|
||||||
? typeof(IEnumerable<>).MakeGenericType(ModelType.For(ImageTypeAlias))
|
|
||||||
: typeof(IEnumerable<IPublishedContent>)
|
|
||||||
: isOnlyImages
|
|
||||||
? ModelType.For(ImageTypeAlias)
|
|
||||||
: typeof(IPublishedContent);
|
: typeof(IPublishedContent);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -57,12 +51,6 @@ namespace Umbraco.Web.PropertyEditors.ValueConverters
|
|||||||
return config.Multiple;
|
return config.Multiple;
|
||||||
}
|
}
|
||||||
|
|
||||||
private bool IsOnlyImagesDataType(PublishedDataType dataType)
|
|
||||||
{
|
|
||||||
var config = ConfigurationEditor.ConfigurationAs<MediaPickerConfiguration>(dataType.Configuration);
|
|
||||||
return config.OnlyImages;
|
|
||||||
}
|
|
||||||
|
|
||||||
public override object ConvertSourceToIntermediate(IPublishedElement owner, IPublishedPropertyType propertyType,
|
public override object ConvertSourceToIntermediate(IPublishedElement owner, IPublishedPropertyType propertyType,
|
||||||
object source, bool preview)
|
object source, bool preview)
|
||||||
{
|
{
|
||||||
@@ -79,12 +67,9 @@ namespace Umbraco.Web.PropertyEditors.ValueConverters
|
|||||||
PropertyCacheLevel cacheLevel, object source, bool preview)
|
PropertyCacheLevel cacheLevel, object source, bool preview)
|
||||||
{
|
{
|
||||||
var isMultiple = IsMultipleDataType(propertyType.DataType);
|
var isMultiple = IsMultipleDataType(propertyType.DataType);
|
||||||
var isOnlyImages = IsOnlyImagesDataType(propertyType.DataType);
|
|
||||||
|
|
||||||
var udis = (Udi[]) source;
|
var udis = (Udi[]) source;
|
||||||
var mediaItems = isOnlyImages
|
var mediaItems = new List<IPublishedContent>();
|
||||||
? _publishedModelFactory.CreateModelList(ImageTypeAlias)
|
|
||||||
: new List<IPublishedContent>();
|
|
||||||
|
|
||||||
if (source == null) return isMultiple ? mediaItems : null;
|
if (source == null) return isMultiple ? mediaItems : null;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user