Browse Source

Fix: Make layout key nullable, default to application layout

pull/20911/head
Suhaib 1 year ago
parent
commit
4fbc2037be
  1. 1
      modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Pages/CreatePageInputDto.cs
  2. 1
      modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Pages/UpdatePageInputDto.cs
  3. 2
      modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Pages/Page.cs
  4. 6
      modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Shared/Layouts/LayoutExtensions.cs

1
modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Pages/CreatePageInputDto.cs

@ -17,7 +17,6 @@ public class CreatePageInputDto: ExtensibleObject
[DynamicMaxLength(typeof(PageConsts), nameof(PageConsts.MaxSlugLength))]
public string Slug { get; set; }
[Required]
[DynamicMaxLength(typeof(PageConsts), nameof(PageConsts.MaxLayoutNameLength))]
public string LayoutName { get; set; }

1
modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Pages/UpdatePageInputDto.cs

@ -18,7 +18,6 @@ public class UpdatePageInputDto : ExtensibleObject, IHasConcurrencyStamp
[DynamicMaxLength(typeof(PageConsts), nameof(PageConsts.MaxSlugLength))]
public string Slug { get; set; }
[Required]
[DynamicMaxLength(typeof(PageConsts), nameof(PageConsts.MaxLayoutNameLength))]
public string LayoutName { get; set; }

2
modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Pages/Page.cs

@ -78,7 +78,7 @@ public class Page : FullAuditedAggregateRoot<Guid>, IMultiTenant, IHasEntityVers
public virtual void SetLayoutName(string layoutName)
{
LayoutName = Check.NotNullOrEmpty(layoutName, nameof(layoutName), PageConsts.MaxLayoutNameLength);
LayoutName = Check.Length(layoutName, nameof(layoutName), PageConsts.MaxLayoutNameLength);
}
internal void SetIsHomePage(bool isHomePage)

6
modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Shared/Layouts/LayoutExtensions.cs

@ -15,8 +15,8 @@ public static class LayoutExtensions
public static string GetLayoutByKey(this ITheme theme, string layoutKey)
{
return LayoutFunctions.TryGetValue(layoutKey, out var layoutFunc)
? layoutFunc(theme)
: theme.GetApplicationLayout(); // Application layout is the default
return !string.IsNullOrWhiteSpace(layoutKey) && LayoutFunctions.TryGetValue(layoutKey, out var layoutFunc)
? layoutFunc(theme)
: theme.GetApplicationLayout(); // Application layout is the default
}
}
Loading…
Cancel
Save