From 88761b34d4a3f1048afd0e26c92bb2db94023145 Mon Sep 17 00:00:00 2001 From: Bjarne Fyrstenborg Date: Fri, 13 Aug 2021 16:34:38 +0200 Subject: [PATCH 1/3] Add Eye Dropper property value converter --- src/Umbraco.Core/Constants-PropertyEditors.cs | 4 ++-- .../EyeDropperValueConverter.cs | 22 +++++++++++++++++++ ...yeDropperColorPickerConfigurationEditor.cs | 4 +--- 3 files changed, 25 insertions(+), 5 deletions(-) create mode 100644 src/Umbraco.Core/PropertyEditors/ValueConverters/EyeDropperValueConverter.cs 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..af11c2c1c5 --- /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; From 6eec48167260a31618719d66b11d5d49eb9e30bd Mon Sep 17 00:00:00 2001 From: Bjarne Fyrstenborg Date: Fri, 13 Aug 2021 16:35:10 +0200 Subject: [PATCH 2/3] Allow Eye Dropper to be used as macro parameter editor --- .../PropertyEditors/EyeDropperColorPickerPropertyEditor.cs | 1 + 1 file changed, 1 insertion(+) 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", From a3c6947082f4528195be354e669b4c764f4f9416 Mon Sep 17 00:00:00 2001 From: Bjarne Fyrstenborg Date: Fri, 13 Aug 2021 16:42:36 +0200 Subject: [PATCH 3/3] Remove space --- .../PropertyEditors/ValueConverters/EyeDropperValueConverter.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Umbraco.Core/PropertyEditors/ValueConverters/EyeDropperValueConverter.cs b/src/Umbraco.Core/PropertyEditors/ValueConverters/EyeDropperValueConverter.cs index af11c2c1c5..69f768ce6d 100644 --- a/src/Umbraco.Core/PropertyEditors/ValueConverters/EyeDropperValueConverter.cs +++ b/src/Umbraco.Core/PropertyEditors/ValueConverters/EyeDropperValueConverter.cs @@ -11,7 +11,7 @@ namespace Umbraco.Cms.Core.PropertyEditors.ValueConverters => propertyType.EditorAlias.InvariantEquals(Constants.PropertyEditors.Aliases.ColorPickerEyeDropper); public override Type GetPropertyValueType(IPublishedPropertyType propertyType) - => typeof (string); + => typeof(string); public override PropertyCacheLevel GetPropertyCacheLevel(IPublishedPropertyType propertyType) => PropertyCacheLevel.Element;