diff --git a/src/Umbraco.Core/Constants-PropertyEditors.cs b/src/Umbraco.Core/Constants-PropertyEditors.cs index fa785f152f..b34351d902 100644 --- a/src/Umbraco.Core/Constants-PropertyEditors.cs +++ b/src/Umbraco.Core/Constants-PropertyEditors.cs @@ -1,4 +1,4 @@ -using Umbraco.Cms.Core.PropertyEditors; +using Umbraco.Cms.Core.PropertyEditors; namespace Umbraco.Cms.Core { @@ -52,7 +52,7 @@ namespace Umbraco.Cms.Core public const string ColorPicker = "Umbraco.ColorPicker"; /// - /// EyeDropper Color Picker. + /// Eye Dropper Color Picker. /// public const string ColorPickerEyeDropper = "Umbraco.ColorPicker.EyeDropper"; diff --git a/src/Umbraco.Core/PropertyEditors/ValueConverters/EyeDropperValueConverter.cs b/src/Umbraco.Core/PropertyEditors/ValueConverters/EyeDropperValueConverter.cs new file mode 100644 index 0000000000..69f768ce6d --- /dev/null +++ b/src/Umbraco.Core/PropertyEditors/ValueConverters/EyeDropperValueConverter.cs @@ -0,0 +1,22 @@ +using System; +using Umbraco.Cms.Core.Models.PublishedContent; +using Umbraco.Extensions; + +namespace Umbraco.Cms.Core.PropertyEditors.ValueConverters +{ + [DefaultPropertyValueConverter] + public class EyeDropperValueConverter : PropertyValueConverterBase + { + public override bool IsConverter(IPublishedPropertyType propertyType) + => propertyType.EditorAlias.InvariantEquals(Constants.PropertyEditors.Aliases.ColorPickerEyeDropper); + + public override Type GetPropertyValueType(IPublishedPropertyType propertyType) + => typeof(string); + + public override PropertyCacheLevel GetPropertyCacheLevel(IPublishedPropertyType propertyType) + => PropertyCacheLevel.Element; + + public override object ConvertIntermediateToObject(IPublishedElement owner, IPublishedPropertyType propertyType, PropertyCacheLevel cacheLevel, object source, bool preview) + => source?.ToString() ?? string.Empty; + } +} diff --git a/src/Umbraco.Infrastructure/PropertyEditors/EyeDropperColorPickerConfigurationEditor.cs b/src/Umbraco.Infrastructure/PropertyEditors/EyeDropperColorPickerConfigurationEditor.cs index 514200ff68..7d7957147f 100644 --- a/src/Umbraco.Infrastructure/PropertyEditors/EyeDropperColorPickerConfigurationEditor.cs +++ b/src/Umbraco.Infrastructure/PropertyEditors/EyeDropperColorPickerConfigurationEditor.cs @@ -1,4 +1,4 @@ - + using System.Collections.Generic; using Umbraco.Cms.Core.IO; using Umbraco.Extensions; @@ -25,8 +25,6 @@ namespace Umbraco.Cms.Core.PropertyEditors /// public override EyeDropperColorPickerConfiguration FromConfigurationEditor(IDictionary editorValues, EyeDropperColorPickerConfiguration configuration) { - var output = new EyeDropperColorPickerConfiguration(); - var showAlpha = true; var showPalette = true; diff --git a/src/Umbraco.Infrastructure/PropertyEditors/EyeDropperColorPickerPropertyEditor.cs b/src/Umbraco.Infrastructure/PropertyEditors/EyeDropperColorPickerPropertyEditor.cs index e37a0e62cd..98929bdf4d 100644 --- a/src/Umbraco.Infrastructure/PropertyEditors/EyeDropperColorPickerPropertyEditor.cs +++ b/src/Umbraco.Infrastructure/PropertyEditors/EyeDropperColorPickerPropertyEditor.cs @@ -8,6 +8,7 @@ namespace Umbraco.Cms.Core.PropertyEditors { [DataEditor( Constants.PropertyEditors.Aliases.ColorPickerEyeDropper, + EditorType.PropertyValue | EditorType.MacroParameter, "Eye Dropper Color Picker", "eyedropper", Icon = "icon-colorpicker",