From 5f6f42265323cdfc53a6fbbe57927da02814fca4 Mon Sep 17 00:00:00 2001 From: nikolajlauridsen Date: Tue, 18 Oct 2022 11:20:01 +0200 Subject: [PATCH 1/4] Disable BlockGridEditor --- src/Umbraco.Core/Constants-PropertyEditors.cs | 2 ++ .../Models/Blocks/BlockGridArea.cs | 2 ++ .../Models/Blocks/BlockGridItem.cs | 8 +++++--- .../Models/Blocks/BlockGridModel.cs | 2 ++ .../Blocks/BlockGridEditorDataConverter.cs | 2 ++ .../Models/Blocks/BlockGridLayoutAreaItem.cs | 4 +++- .../Models/Blocks/BlockGridLayoutItem.cs | 2 ++ .../BlockGridPropertyEditor.cs | 19 ++++++++++++------- .../BlockGridPropertyEditorBase.cs | 6 +++++- .../Extensions/BlockGridTemplateExtensions.cs | 2 ++ 10 files changed, 37 insertions(+), 12 deletions(-) diff --git a/src/Umbraco.Core/Constants-PropertyEditors.cs b/src/Umbraco.Core/Constants-PropertyEditors.cs index a42f2d198e7e..d86faa6fdd4f 100644 --- a/src/Umbraco.Core/Constants-PropertyEditors.cs +++ b/src/Umbraco.Core/Constants-PropertyEditors.cs @@ -1,3 +1,4 @@ +using System.ComponentModel; using Umbraco.Cms.Core.PropertyEditors; namespace Umbraco.Cms.Core; @@ -43,6 +44,7 @@ public static class Aliases /// /// Block Grid. /// + [EditorBrowsable(EditorBrowsableState.Never)] // TODO: Remove this for V11/V10.4 public const string BlockGrid = "Umbraco.BlockGrid"; /// diff --git a/src/Umbraco.Core/Models/Blocks/BlockGridArea.cs b/src/Umbraco.Core/Models/Blocks/BlockGridArea.cs index 8cc2e5231b67..3a9f86a606cb 100644 --- a/src/Umbraco.Core/Models/Blocks/BlockGridArea.cs +++ b/src/Umbraco.Core/Models/Blocks/BlockGridArea.cs @@ -1,11 +1,13 @@ // Copyright (c) Umbraco. // See LICENSE for more details. +using System.ComponentModel; using System.Runtime.Serialization; namespace Umbraco.Cms.Core.Models.Blocks; [DataContract(Name = "area", Namespace = "")] +[EditorBrowsable(EditorBrowsableState.Never)] // TODO: Remove this for V11/V10.4 public class BlockGridArea : BlockModelCollection { /// diff --git a/src/Umbraco.Core/Models/Blocks/BlockGridItem.cs b/src/Umbraco.Core/Models/Blocks/BlockGridItem.cs index 59021f5e3876..0fddf47a7863 100644 --- a/src/Umbraco.Core/Models/Blocks/BlockGridItem.cs +++ b/src/Umbraco.Core/Models/Blocks/BlockGridItem.cs @@ -1,6 +1,7 @@ // Copyright (c) Umbraco. // See LICENSE for more details. +using System.ComponentModel; using System.Runtime.Serialization; using Umbraco.Cms.Core.Models.PublishedContent; @@ -9,8 +10,9 @@ namespace Umbraco.Cms.Core.Models.Blocks /// /// Represents a layout item for the Block Grid editor. /// - /// + /// [DataContract(Name = "block", Namespace = "")] + [EditorBrowsable(EditorBrowsableState.Never)] // TODO: Remove this for V11/V10.4 public class BlockGridItem : IBlockReference { /// @@ -116,7 +118,7 @@ public BlockGridItem(Udi contentUdi, IPublishedElement content, Udi settingsUdi, /// Represents a layout item with a generic content type for the Block List editor. /// /// The type of the content. - /// + /// public class BlockGridItem : BlockGridItem where T : IPublishedElement { @@ -149,7 +151,7 @@ public BlockGridItem(Udi contentUdi, T content, Udi settingsUdi, IPublishedEleme /// /// The type of the content. /// The type of the settings. - /// + /// public class BlockGridItem : BlockGridItem where TContent : IPublishedElement where TSettings : IPublishedElement diff --git a/src/Umbraco.Core/Models/Blocks/BlockGridModel.cs b/src/Umbraco.Core/Models/Blocks/BlockGridModel.cs index 5d645a17c9b2..20c41c47449d 100644 --- a/src/Umbraco.Core/Models/Blocks/BlockGridModel.cs +++ b/src/Umbraco.Core/Models/Blocks/BlockGridModel.cs @@ -2,6 +2,7 @@ // See LICENSE for more details. using System.Collections.ObjectModel; +using System.ComponentModel; using System.Runtime.Serialization; namespace Umbraco.Cms.Core.Models.Blocks; @@ -11,6 +12,7 @@ namespace Umbraco.Cms.Core.Models.Blocks; /// /// [DataContract(Name = "blockgrid", Namespace = "")] +[EditorBrowsable(EditorBrowsableState.Never)] // TODO: Remove this for V11/V10.4 public class BlockGridModel : BlockModelCollection { /// diff --git a/src/Umbraco.Infrastructure/Models/Blocks/BlockGridEditorDataConverter.cs b/src/Umbraco.Infrastructure/Models/Blocks/BlockGridEditorDataConverter.cs index b5200c9f244d..016046abff03 100644 --- a/src/Umbraco.Infrastructure/Models/Blocks/BlockGridEditorDataConverter.cs +++ b/src/Umbraco.Infrastructure/Models/Blocks/BlockGridEditorDataConverter.cs @@ -1,6 +1,7 @@ // Copyright (c) Umbraco. // See LICENSE for more details. +using System.ComponentModel; using Newtonsoft.Json.Linq; using Umbraco.Cms.Core.Serialization; @@ -9,6 +10,7 @@ namespace Umbraco.Cms.Core.Models.Blocks; /// /// Data converter for the block grid property editor /// +[EditorBrowsable(EditorBrowsableState.Never)] // TODO: Remove this for V11/V10.4 public class BlockGridEditorDataConverter : BlockEditorDataConverter { private readonly IJsonSerializer _jsonSerializer; diff --git a/src/Umbraco.Infrastructure/Models/Blocks/BlockGridLayoutAreaItem.cs b/src/Umbraco.Infrastructure/Models/Blocks/BlockGridLayoutAreaItem.cs index 3a4d1ba135fb..473482f0284f 100644 --- a/src/Umbraco.Infrastructure/Models/Blocks/BlockGridLayoutAreaItem.cs +++ b/src/Umbraco.Infrastructure/Models/Blocks/BlockGridLayoutAreaItem.cs @@ -1,7 +1,9 @@ -using Newtonsoft.Json; +using System.ComponentModel; +using Newtonsoft.Json; namespace Umbraco.Cms.Core.Models.Blocks; +[EditorBrowsable(EditorBrowsableState.Never)] // TODO: Remove this for V11/V10.4 public class BlockGridLayoutAreaItem { [JsonProperty("key", NullValueHandling = NullValueHandling.Ignore)] diff --git a/src/Umbraco.Infrastructure/Models/Blocks/BlockGridLayoutItem.cs b/src/Umbraco.Infrastructure/Models/Blocks/BlockGridLayoutItem.cs index 9014e2789a97..c06942822e21 100644 --- a/src/Umbraco.Infrastructure/Models/Blocks/BlockGridLayoutItem.cs +++ b/src/Umbraco.Infrastructure/Models/Blocks/BlockGridLayoutItem.cs @@ -1,6 +1,7 @@ // Copyright (c) Umbraco. // See LICENSE for more details. +using System.ComponentModel; using Newtonsoft.Json; using Umbraco.Cms.Infrastructure.Serialization; @@ -9,6 +10,7 @@ namespace Umbraco.Cms.Core.Models.Blocks; /// /// Used for deserializing the block grid layout /// +[EditorBrowsable(EditorBrowsableState.Never)] // TODO: Remove this for V11/V10.4 public class BlockGridLayoutItem : IBlockLayoutItem { [JsonProperty("contentUdi", Required = Required.Always)] diff --git a/src/Umbraco.Infrastructure/PropertyEditors/BlockGridPropertyEditor.cs b/src/Umbraco.Infrastructure/PropertyEditors/BlockGridPropertyEditor.cs index 8881ce82a953..0b465499f8ee 100644 --- a/src/Umbraco.Infrastructure/PropertyEditors/BlockGridPropertyEditor.cs +++ b/src/Umbraco.Infrastructure/PropertyEditors/BlockGridPropertyEditor.cs @@ -1,6 +1,8 @@ // Copyright (c) Umbraco. // See LICENSE for more details. +using System.ComponentModel; +using Umbraco.Cms.Core.Composing; using Umbraco.Cms.Core.IO; namespace Umbraco.Cms.Core.PropertyEditors; @@ -8,13 +10,16 @@ namespace Umbraco.Cms.Core.PropertyEditors; /// /// Represents a block list property editor. /// -[DataEditor( - Constants.PropertyEditors.Aliases.BlockGrid, - "Block Grid", - "blockgrid", - ValueType = ValueTypes.Json, - Group = Constants.PropertyEditors.Groups.RichContent, - Icon = "icon-layout")] +// TODO: Re-add this DataEditor attribute to re-enable the BlockGridEditor for V11/V10.4 +// [DataEditor( +// Constants.PropertyEditors.Aliases.BlockGrid, +// "Block Grid", +// "blockgrid", +// ValueType = ValueTypes.Json, +// Group = Constants.PropertyEditors.Groups.RichContent, +// Icon = "icon-layout")] +[HideFromTypeFinder] +[EditorBrowsable(EditorBrowsableState.Never)] public class BlockGridPropertyEditor : BlockGridPropertyEditorBase { private readonly IIOHelper _ioHelper; diff --git a/src/Umbraco.Infrastructure/PropertyEditors/BlockGridPropertyEditorBase.cs b/src/Umbraco.Infrastructure/PropertyEditors/BlockGridPropertyEditorBase.cs index 42a5931a2b60..138c3b7320b7 100644 --- a/src/Umbraco.Infrastructure/PropertyEditors/BlockGridPropertyEditorBase.cs +++ b/src/Umbraco.Infrastructure/PropertyEditors/BlockGridPropertyEditorBase.cs @@ -1,8 +1,10 @@ // Copyright (c) Umbraco. // See LICENSE for more details. +using System.ComponentModel; using System.ComponentModel.DataAnnotations; using Microsoft.Extensions.Logging; +using Umbraco.Cms.Core.Composing; using Umbraco.Cms.Core.IO; using Umbraco.Cms.Core.Models; using Umbraco.Cms.Core.Models.Blocks; @@ -16,7 +18,9 @@ namespace Umbraco.Cms.Core.PropertyEditors; /// /// Abstract base class for block grid based editors. -/// +// /// +[HideFromTypeFinder] +[EditorBrowsable(EditorBrowsableState.Never)] public abstract class BlockGridPropertyEditorBase : DataEditor { protected BlockGridPropertyEditorBase(IDataValueEditorFactory dataValueEditorFactory) diff --git a/src/Umbraco.Web.Common/Extensions/BlockGridTemplateExtensions.cs b/src/Umbraco.Web.Common/Extensions/BlockGridTemplateExtensions.cs index ee0375da4f1c..ed40a3076648 100644 --- a/src/Umbraco.Web.Common/Extensions/BlockGridTemplateExtensions.cs +++ b/src/Umbraco.Web.Common/Extensions/BlockGridTemplateExtensions.cs @@ -1,6 +1,7 @@ // Copyright (c) Umbraco. // See LICENSE for more details. +using System.ComponentModel; using Microsoft.AspNetCore.Html; using Microsoft.AspNetCore.Mvc.Rendering; using Umbraco.Cms.Core.Models.Blocks; @@ -8,6 +9,7 @@ namespace Umbraco.Extensions; +[EditorBrowsable(EditorBrowsableState.Never)] public static class BlockGridTemplateExtensions { public const string DefaultFolder = "blockgrid/"; From 96a54fe32ed57814bd2ea00a13f8d77f35954c51 Mon Sep 17 00:00:00 2001 From: nikolajlauridsen Date: Tue, 18 Oct 2022 11:37:39 +0200 Subject: [PATCH 2/4] Fix typeloader test --- .../Umbraco.Core/Composing/TypeLoaderTests.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/Umbraco.Tests.UnitTests/Umbraco.Core/Composing/TypeLoaderTests.cs b/tests/Umbraco.Tests.UnitTests/Umbraco.Core/Composing/TypeLoaderTests.cs index af6dbb1f1c07..4d098b5992c1 100644 --- a/tests/Umbraco.Tests.UnitTests/Umbraco.Core/Composing/TypeLoaderTests.cs +++ b/tests/Umbraco.Tests.UnitTests/Umbraco.Core/Composing/TypeLoaderTests.cs @@ -174,7 +174,8 @@ public void Resolves_Types() public void GetDataEditors() { var types = _typeLoader.GetDataEditors(); - Assert.AreEqual(42, types.Count()); + // TODO: Increase this to 42 when BlockGridEditor is re-added + Assert.AreEqual(41, types.Count()); } /// From f41ce43e20f25ece16156b443a63501aec16cbe5 Mon Sep 17 00:00:00 2001 From: Mole Date: Tue, 18 Oct 2022 12:15:40 +0200 Subject: [PATCH 3/4] Update src/Umbraco.Core/Models/Blocks/BlockGridItem.cs Co-authored-by: Kenn Jacobsen --- src/Umbraco.Core/Models/Blocks/BlockGridItem.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Umbraco.Core/Models/Blocks/BlockGridItem.cs b/src/Umbraco.Core/Models/Blocks/BlockGridItem.cs index 0fddf47a7863..1e8e41043160 100644 --- a/src/Umbraco.Core/Models/Blocks/BlockGridItem.cs +++ b/src/Umbraco.Core/Models/Blocks/BlockGridItem.cs @@ -10,7 +10,7 @@ namespace Umbraco.Cms.Core.Models.Blocks /// /// Represents a layout item for the Block Grid editor. /// - /// + /// [DataContract(Name = "block", Namespace = "")] [EditorBrowsable(EditorBrowsableState.Never)] // TODO: Remove this for V11/V10.4 public class BlockGridItem : IBlockReference From 4884fd170131e3bcc905e0e13daffb340c4a6efb Mon Sep 17 00:00:00 2001 From: Mole Date: Tue, 18 Oct 2022 12:20:21 +0200 Subject: [PATCH 4/4] Apply suggestions from code review Co-authored-by: Kenn Jacobsen --- src/Umbraco.Core/Models/Blocks/BlockGridItem.cs | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/Umbraco.Core/Models/Blocks/BlockGridItem.cs b/src/Umbraco.Core/Models/Blocks/BlockGridItem.cs index 1e8e41043160..86e0c4087472 100644 --- a/src/Umbraco.Core/Models/Blocks/BlockGridItem.cs +++ b/src/Umbraco.Core/Models/Blocks/BlockGridItem.cs @@ -118,7 +118,6 @@ public BlockGridItem(Udi contentUdi, IPublishedElement content, Udi settingsUdi, /// Represents a layout item with a generic content type for the Block List editor. /// /// The type of the content. - /// public class BlockGridItem : BlockGridItem where T : IPublishedElement { @@ -151,7 +150,6 @@ public BlockGridItem(Udi contentUdi, T content, Udi settingsUdi, IPublishedEleme /// /// The type of the content. /// The type of the settings. - /// public class BlockGridItem : BlockGridItem where TContent : IPublishedElement where TSettings : IPublishedElement