From fad710364c540f4a833bd60d00e6686d40d74d95 Mon Sep 17 00:00:00 2001 From: Kenn Jacobsen Date: Fri, 30 Jun 2023 07:26:31 +0200 Subject: [PATCH] Add additional preview URLs option (#14479) --- .../ContentEditing/ContentVariationDisplay.cs | 4 ++++ src/Umbraco.Core/Models/ContentEditing/NamedUrl.cs | 13 +++++++++++++ .../Mapping/ContentMapDefinition.cs | 4 +++- 3 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 src/Umbraco.Core/Models/ContentEditing/NamedUrl.cs diff --git a/src/Umbraco.Core/Models/ContentEditing/ContentVariationDisplay.cs b/src/Umbraco.Core/Models/ContentEditing/ContentVariationDisplay.cs index 6418a7bca7..0d359b640f 100644 --- a/src/Umbraco.Core/Models/ContentEditing/ContentVariationDisplay.cs +++ b/src/Umbraco.Core/Models/ContentEditing/ContentVariationDisplay.cs @@ -14,6 +14,7 @@ public class ContentVariantDisplay : ITabbedContent, ICo Tabs = new List>(); Notifications = new List(); AllowedActions = Enumerable.Empty(); + AdditionalPreviewUrls = Enumerable.Empty(); } [DataMember(Name = "allowedActions", IsRequired = true)] @@ -72,6 +73,9 @@ public class ContentVariantDisplay : ITabbedContent, ICo /// [DataMember(Name = "tabs")] public IEnumerable> Tabs { get; set; } + + [DataMember(Name = "additionalPreviewUrls")] + public IEnumerable AdditionalPreviewUrls { get; set; } } public class ContentVariantScheduleDisplay : ContentVariantDisplay diff --git a/src/Umbraco.Core/Models/ContentEditing/NamedUrl.cs b/src/Umbraco.Core/Models/ContentEditing/NamedUrl.cs new file mode 100644 index 0000000000..8c71f86cbf --- /dev/null +++ b/src/Umbraco.Core/Models/ContentEditing/NamedUrl.cs @@ -0,0 +1,13 @@ +using System.Runtime.Serialization; + +namespace Umbraco.Cms.Core.Models.ContentEditing; + +[DataContract(Name = "namedUrl", Namespace = "")] +public class NamedUrl +{ + [DataMember(Name = "name")] + public required string Name { get; set; } + + [DataMember(Name = "url")] + public required string Url { get; set; } +} diff --git a/src/Umbraco.Web.BackOffice/Mapping/ContentMapDefinition.cs b/src/Umbraco.Web.BackOffice/Mapping/ContentMapDefinition.cs index e91384f86a..21961acb45 100644 --- a/src/Umbraco.Web.BackOffice/Mapping/ContentMapDefinition.cs +++ b/src/Umbraco.Web.BackOffice/Mapping/ContentMapDefinition.cs @@ -127,6 +127,7 @@ internal class ContentMapDefinition : IMapDefinition target.Tabs = source.Tabs; target.UpdateDate = source.UpdateDate; target.AllowedActions = source.AllowedActions; + target.AdditionalPreviewUrls = source.AdditionalPreviewUrls; } // Umbraco.Code.MapAll @@ -189,6 +190,7 @@ internal class ContentMapDefinition : IMapDefinition target.Tabs = source.Tabs; target.UpdateDate = source.UpdateDate; target.AllowedActions = source.AllowedActions; + target.AdditionalPreviewUrls = source.AdditionalPreviewUrls; // We'll only try and map the ReleaseDate/ExpireDate if the "old" ContentVariantScheduleDisplay is in the context, otherwise we'll just skip it quietly. _ = context.Items.TryGetValue(nameof(ContentItemDisplayWithSchedule.Variants), out var variants); @@ -352,7 +354,7 @@ internal class ContentMapDefinition : IMapDefinition return result; } - // Umbraco.Code.MapAll -Segment -Language -DisplayName + // Umbraco.Code.MapAll -Segment -Language -DisplayName -AdditionalPreviewUrls private void Map(IContent source, ContentVariantDisplay target, MapperContext context) { target.CreateDate = source.CreateDate;