From 437186f687e8a328006f8638e15ce74d82a05a6f Mon Sep 17 00:00:00 2001 From: enisn Date: Mon, 15 Mar 2021 16:04:29 +0300 Subject: [PATCH] CmsKit - Add Script & Style to Page --- .../CmsKit/Admin/Pages/CreatePageInputDto.cs | 6 +++++ .../Volo/CmsKit/Admin/Pages/PageDto.cs | 4 +++ .../CmsKit/Admin/Pages/UpdatePageInputDto.cs | 6 +++++ .../CmsKit/Admin/Pages/PageAdminAppService.cs | 4 ++- .../Volo/CmsKit/Pages/PageConsts.cs | 4 +++ .../Volo/CmsKit/Pages/Page.cs | 27 +++++++++++++++++-- .../Volo/CmsKit/Pages/PageManager.cs | 8 ++++-- .../Volo/CmsKit/Public/Pages/PageDto.cs | 4 +++ 8 files changed, 58 insertions(+), 5 deletions(-) diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Pages/CreatePageInputDto.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Pages/CreatePageInputDto.cs index 24d5c1d894..fae53e429a 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Pages/CreatePageInputDto.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Pages/CreatePageInputDto.cs @@ -18,5 +18,11 @@ namespace Volo.CmsKit.Admin.Pages [DynamicMaxLength(typeof(PageConsts), nameof(PageConsts.MaxContentLength))] public string Content { get; set; } + + [DynamicMaxLength(typeof(PageConsts), nameof(PageConsts.MaxScriptLength))] + public string Script { get; set; } + + [DynamicMaxLength(typeof(PageConsts), nameof(PageConsts.MaxStyleLength))] + public string Style { get; set; } } } \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Pages/PageDto.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Pages/PageDto.cs index 5297e9b7d0..a996ebb584 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Pages/PageDto.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Pages/PageDto.cs @@ -11,5 +11,9 @@ namespace Volo.CmsKit.Admin.Pages public string Slug { get; set; } public string Content { get; set; } + + public string Script { get; set; } + + public string Style { get; set; } } } \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Pages/UpdatePageInputDto.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Pages/UpdatePageInputDto.cs index 58dbd71516..1c4d8373fa 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Pages/UpdatePageInputDto.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Pages/UpdatePageInputDto.cs @@ -18,5 +18,11 @@ namespace Volo.CmsKit.Admin.Pages [DynamicMaxLength(typeof(PageConsts), nameof(PageConsts.MaxContentLength))] public string Content { get; set; } + + [DynamicMaxLength(typeof(PageConsts), nameof(PageConsts.MaxScriptLength))] + public string Script { get; set; } + + [DynamicMaxLength(typeof(PageConsts), nameof(PageConsts.MaxStyleLength))] + public string Style { get; set; } } } \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Pages/PageAdminAppService.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Pages/PageAdminAppService.cs index 3d025d1463..e8c203e39d 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Pages/PageAdminAppService.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Pages/PageAdminAppService.cs @@ -53,7 +53,7 @@ namespace Volo.CmsKit.Admin.Pages [Authorize(CmsKitAdminPermissions.Pages.Create)] public virtual async Task CreateAsync(CreatePageInputDto input) { - var page = await PageManager.CreateAsync(input.Title, input.Slug, input.Content); + var page = await PageManager.CreateAsync(input.Title, input.Slug, input.Content, input.Script, input.Style); await PageRepository.InsertAsync(page); @@ -69,6 +69,8 @@ namespace Volo.CmsKit.Admin.Pages page.SetTitle(input.Title); page.SetContent(input.Content); + page.SetScript(input.Script); + page.SetStyle(input.Style); await PageRepository.UpdateAsync(page); diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Pages/PageConsts.cs b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Pages/PageConsts.cs index 7b9b8a1f5c..22f284884f 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Pages/PageConsts.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Pages/PageConsts.cs @@ -9,5 +9,9 @@ public static int MaxSlugLength { get; set; } = 256; public static int MaxContentLength { get; set; } = int.MaxValue; + + public static int MaxScriptLength { get; set; } = int.MaxValue; + + public static int MaxStyleLength { get; set; } = int.MaxValue; } } \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Pages/Page.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Pages/Page.cs index 409d504952..7c3356a98b 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Pages/Page.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Pages/Page.cs @@ -15,18 +15,31 @@ namespace Volo.CmsKit.Pages public virtual string Slug { get; protected set; } public virtual string Content { get; protected set; } - + + public virtual string Script { get; protected set; } + + public virtual string Style { get; protected set; } + protected Page() { } - internal Page(Guid id, [NotNull] string title, [NotNull] string slug, string content = null, Guid? tenantId = null) : base(id) + internal Page( + Guid id, + [NotNull] string title, + [NotNull] string slug, + string content = null, + string script = null, + string style = null, + Guid? tenantId = null) : base(id) { TenantId = tenantId; SetTitle(title); SetSlug(slug); SetContent(content); + SetScript(script); + SetStyle(style); } public virtual void SetTitle(string title) @@ -43,5 +56,15 @@ namespace Volo.CmsKit.Pages { Content = Check.Length(content, nameof(content), PageConsts.MaxContentLength); } + + public virtual void SetScript(string script) + { + Script = Check.Length(script, nameof(script), PageConsts.MaxScriptLength); + } + + public virtual void SetStyle(string style) + { + Style = Check.Length(style, nameof(style), PageConsts.MaxStyleLength); + } } } \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Pages/PageManager.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Pages/PageManager.cs index c150e69e52..6c0df936ba 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Pages/PageManager.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Pages/PageManager.cs @@ -21,7 +21,9 @@ namespace Volo.CmsKit.Pages public virtual async Task CreateAsync( [NotNull] string title, [NotNull] string slug, - [CanBeNull] string content = null) + [CanBeNull] string content = null, + [CanBeNull] string script = null, + [CanBeNull] string style = null) { Check.NotNullOrEmpty(title, nameof(title)); Check.NotNullOrEmpty(slug, nameof(slug)); @@ -32,7 +34,9 @@ namespace Volo.CmsKit.Pages GuidGenerator.Create(), title, slug, - content, + content, + script, + style, CurrentTenant.Id); } diff --git a/modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo/CmsKit/Public/Pages/PageDto.cs b/modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo/CmsKit/Public/Pages/PageDto.cs index 682c90b8c8..5f6d984b88 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo/CmsKit/Public/Pages/PageDto.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo/CmsKit/Public/Pages/PageDto.cs @@ -11,5 +11,9 @@ namespace Volo.CmsKit.Public.Pages public string Slug { get; set; } public string Content { get; set; } + + public string Script { get; set; } + + public string Style { get; set; } } } \ No newline at end of file