diff --git a/src/Umbraco.Community.Contentment/DataEditors/IconPicker/IconPickerConfigurationEditor.cs b/src/Umbraco.Community.Contentment/DataEditors/IconPicker/IconPickerConfigurationEditor.cs index db04e8797..f92e1e924 100644 --- a/src/Umbraco.Community.Contentment/DataEditors/IconPicker/IconPickerConfigurationEditor.cs +++ b/src/Umbraco.Community.Contentment/DataEditors/IconPicker/IconPickerConfigurationEditor.cs @@ -8,6 +8,10 @@ using Umbraco.Core.IO; using Umbraco.Core.PropertyEditors; #else +#if NET7_0_OR_GREATER +using System; +using Umbraco.Cms.Core.Configuration; +#endif using Umbraco.Cms.Core.IO; using Umbraco.Cms.Core.PropertyEditors; using Umbraco.Extensions; @@ -17,7 +21,11 @@ namespace Umbraco.Community.Contentment.DataEditors { internal sealed class IconPickerConfigurationEditor : ConfigurationEditor { +#if NET7_0_OR_GREATER + public IconPickerConfigurationEditor(IIOHelper ioHelper, IUmbracoVersion umbracoVersion) +#else public IconPickerConfigurationEditor(IIOHelper ioHelper) +#endif : base() { Fields.Add(new ConfigurationField @@ -32,6 +40,39 @@ public IconPickerConfigurationEditor(IIOHelper ioHelper) { "size", "large" }, } }); + + Fields.Add(new ConfigurationField + { + Key = "size", + Name = "Size", + Description = "Select the size of icon picker. The default is 'large'.", + View = ioHelper.ResolveRelativeOrVirtualUrl(ButtonsDataListEditor.DataEditorViewPath), + Config = new Dictionary + { + { Constants.Conventions.ConfigurationFieldAliases.Items, new[] + { + new DataListItem { Name = "Small", Value = "small" }, + new DataListItem { Name = "Large", Value = "large" } + } + }, + { Constants.Conventions.ConfigurationFieldAliases.DefaultValue, "large" }, + { "labelStyle", "text" }, + { "size", "m" }, + } + }); + +#if NET7_0_OR_GREATER + if (umbracoVersion.Version >= new Version(11, 2)) + { + Fields.Add(new ConfigurationField + { + Key = "hideColors", + Name = "Hide colors?", + Description = "Select to hide the color options in the icon picker panel.", + View = "boolean", + }); + } +#endif } } } diff --git a/src/Umbraco.Community.Contentment/DataEditors/IconPicker/IconPickerDataEditor.cs b/src/Umbraco.Community.Contentment/DataEditors/IconPicker/IconPickerDataEditor.cs index fd8072fa4..90b576b57 100644 --- a/src/Umbraco.Community.Contentment/DataEditors/IconPicker/IconPickerDataEditor.cs +++ b/src/Umbraco.Community.Contentment/DataEditors/IconPicker/IconPickerDataEditor.cs @@ -9,6 +9,7 @@ using Umbraco.Core.PropertyEditors; using UmbConstants = Umbraco.Core.Constants; #else +using Umbraco.Cms.Core.Configuration; using Umbraco.Cms.Core.IO; using Umbraco.Cms.Core.PropertyEditors; using UmbConstants = Umbraco.Cms.Core.Constants; @@ -33,17 +34,34 @@ public sealed class IconPickerDataEditor : DataEditor private readonly IIOHelper _ioHelper; +#if NET7_0_OR_GREATER + private readonly IUmbracoVersion _umbracoVersion; +#endif + #if NET472 public IconPickerDataEditor(IIOHelper ioHelper, ILogger logger) : base(logger) #else - public IconPickerDataEditor(IIOHelper ioHelper, IDataValueEditorFactory dataValueEditorFactory) + public IconPickerDataEditor( + IIOHelper ioHelper, +#if NET7_0_OR_GREATER + IUmbracoVersion umbracoVersion, +#endif + IDataValueEditorFactory dataValueEditorFactory) : base(dataValueEditorFactory) #endif { _ioHelper = ioHelper; + +#if NET7_0_OR_GREATER + _umbracoVersion = umbracoVersion; +#endif } +#if NET7_0_OR_GREATER + protected override IConfigurationEditor CreateConfigurationEditor() => new IconPickerConfigurationEditor(_ioHelper, _umbracoVersion); +#else protected override IConfigurationEditor CreateConfigurationEditor() => new IconPickerConfigurationEditor(_ioHelper); +#endif } } diff --git a/src/Umbraco.Community.Contentment/DataEditors/IconPicker/icon-picker.html b/src/Umbraco.Community.Contentment/DataEditors/IconPicker/icon-picker.html index 0feadd92f..ca264bd97 100644 --- a/src/Umbraco.Community.Contentment/DataEditors/IconPicker/icon-picker.html +++ b/src/Umbraco.Community.Contentment/DataEditors/IconPicker/icon-picker.html @@ -1,6 +1,7 @@