From b275fd5d4061dc3446fd0b48493d37906994596e Mon Sep 17 00:00:00 2001 From: malik masis Date: Wed, 22 Jun 2022 15:50:06 +0300 Subject: [PATCH 01/27] Init commit --- .../CmsKit/Contents/AddWidgetModal.cshtml | 29 +++++++++++++ .../CmsKit/Contents/AddWidgetModal.cshtml.cs | 30 +++++++++++++ .../Pages/CmsKit/Contents/addWidgetModal.js | 14 ++++++ .../Pages/CmsKit/Pages/create.js | 43 ++++++++++++++++++- 4 files changed, 115 insertions(+), 1 deletion(-) create mode 100644 modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/AddWidgetModal.cshtml create mode 100644 modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/AddWidgetModal.cshtml.cs create mode 100644 modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/addWidgetModal.js diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/AddWidgetModal.cshtml b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/AddWidgetModal.cshtml new file mode 100644 index 0000000000..a70d738c13 --- /dev/null +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/AddWidgetModal.cshtml @@ -0,0 +1,29 @@ +@page +@using Microsoft.AspNetCore.Mvc.Localization +@using Volo.CmsKit.Admin.Web.Pages +@using Volo.CmsKit.Localization +@using Volo.CmsKit.Admin.Web.Pages.CmsKit.Contents; +@inject IHtmlLocalizer L + + +@model AddWidgetModal; +@{ + Layout = null; +} + +@section scripts +{ + +} + + + + + +
+ Text + + +
+
+
diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/AddWidgetModal.cshtml.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/AddWidgetModal.cshtml.cs new file mode 100644 index 0000000000..8c2f25a2ad --- /dev/null +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/AddWidgetModal.cshtml.cs @@ -0,0 +1,30 @@ +using System; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Mvc; +using Volo.Abp.AspNetCore.Mvc.UI.RazorPages; + +namespace Volo.CmsKit.Admin.Web.Pages.CmsKit.Contents; + +public class AddWidgetModal : AbpPageModel +{ + [BindProperty(SupportsGet = true)] + public Guid Id { get; set; } + + [BindProperty(SupportsGet = true)] + public string Text { get; set; } + + + public AddWidgetModal() + { + } + + public async Task OnGetAsync() + { + + } + + public async Task OnPostAsync() + { + + } +} diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/addWidgetModal.js b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/addWidgetModal.js new file mode 100644 index 0000000000..b59bbc0c8b --- /dev/null +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/addWidgetModal.js @@ -0,0 +1,14 @@ +var abp = abp || {}; +$(function () { + alert("hello guys1"); + abp.modals.addWidgetModal = function () { + + var initModal = function () { + alert("hello guys"); + }; + + return { + initModal: initModal + }; + }; +}); \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Pages/create.js b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Pages/create.js index 1de6021a7d..a3583bfe0a 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Pages/create.js +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Pages/create.js @@ -6,6 +6,8 @@ $(function () { var $slug = $('#ViewModel_Slug'); var $buttonSubmit = $('#button-page-create'); + var widgetModal = new abp.ModalManager({ viewUrl: abp.appPath + "CmsKit/Contents/AddWidgetModal", modalClass: "addWidgetModal" }); + var scriptEditor = CodeMirror.fromTextArea(document.getElementById("ViewModel_Script"), { mode: "javascript", lineNumbers: true @@ -25,7 +27,7 @@ $(function () { $createForm.on('submit', function (e) { e.preventDefault(); - + if ($createForm.valid()) { abp.ui.setBusy(); @@ -112,6 +114,19 @@ $(function () { minHeight: "25em", initialEditType: 'markdown', language: $editorContainer.data("language"), + toolbarItems: [ + ['heading', 'bold', 'italic', 'strike'], + ['hr', 'quote'], + ['ul', 'ol', 'task', 'indent', 'outdent'], + ['table', 'image', 'link'], + ['code', 'codeblock'], + // Using Option: Customize the last button + [{ + el: createLastButton(), + command: 'bold', + tooltip: 'Add Widget' + }] + ], hooks: { addImageBlobHook: uploadFile, }, @@ -122,6 +137,15 @@ $(function () { } } }); + + editor.insertToolbarItem({ groupIndex: 0, itemIndex: 0 }, { + name: 'myItem', + tooltip: 'Custom Button', + command: 'bold', + text: '@', + className: 'toastui-editor-toolbar-icons first', + style: { backgroundImage: 'none' } + }); } function uploadFile(blob, callback, source) { @@ -155,4 +179,21 @@ $(function () { } }); } + + function createLastButton() { + const button = document.createElement('button'); + + button.className = 'toastui-editor-toolbar-icons last dropdown'; + button.style.backgroundImage = 'none'; + button.style.margin = '0'; + button.innerHTML = `AW`; + button.addEventListener('click', (event) => { + //editor.exec('bold'); + event.preventDefault(); + alert("ye"); + widgetModal.open(); + }); + + return button; + } }); From 62c597e50d54469176747b5a27e281a19e0d50c7 Mon Sep 17 00:00:00 2001 From: malik masis Date: Thu, 23 Jun 2022 13:51:51 +0300 Subject: [PATCH 02/27] Included js files to the modal --- .../Pages/CmsKit/Contents/AddWidgetModal.cshtml | 2 +- .../Pages/CmsKit/Contents/addWidgetModal.js | 5 +++-- .../Volo.CmsKit.Admin.Web/Pages/CmsKit/Pages/Create.cshtml | 1 + 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/AddWidgetModal.cshtml b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/AddWidgetModal.cshtml index a70d738c13..00ec2f251d 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/AddWidgetModal.cshtml +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/AddWidgetModal.cshtml @@ -23,7 +23,7 @@
Text - +
diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/addWidgetModal.js b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/addWidgetModal.js index b59bbc0c8b..6d7aa1430a 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/addWidgetModal.js +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/addWidgetModal.js @@ -1,10 +1,11 @@ var abp = abp || {}; $(function () { - alert("hello guys1"); abp.modals.addWidgetModal = function () { var initModal = function () { - alert("hello guys"); + $("#save-changes").click(function () { + alert("works"); + }); }; return { diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Pages/Create.cshtml b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Pages/Create.cshtml index 4671cb2ca2..9348b07507 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Pages/Create.cshtml +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Pages/Create.cshtml @@ -29,6 +29,7 @@ + } From 840b7fb96f06575fc0099cacccaa3e557f7fa988 Mon Sep 17 00:00:00 2001 From: malik masis Date: Fri, 24 Jun 2022 17:19:35 +0300 Subject: [PATCH 03/27] Appended the popup's text to the editor --- .../Pages/CmsKit/Contents/addWidgetModal.js | 8 +++++++- .../Pages/CmsKit/Pages/create.js | 11 ----------- 2 files changed, 7 insertions(+), 12 deletions(-) diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/addWidgetModal.js b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/addWidgetModal.js index 6d7aa1430a..54a1c8b869 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/addWidgetModal.js +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/addWidgetModal.js @@ -4,7 +4,13 @@ $(function () { var initModal = function () { $("#save-changes").click(function () { - alert("works"); + var updatedText = $("#textId").val(); + + var contentEditorText = $("#ContentEditor")[0].innerText.split("\n")[2]; + + $('.ProseMirror div').contents()[0].data = contentEditorText + updatedText; + + $('#addWidgetModal').modal('hide'); }); }; diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Pages/create.js b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Pages/create.js index a3583bfe0a..3fd4df2c06 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Pages/create.js +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Pages/create.js @@ -137,15 +137,6 @@ $(function () { } } }); - - editor.insertToolbarItem({ groupIndex: 0, itemIndex: 0 }, { - name: 'myItem', - tooltip: 'Custom Button', - command: 'bold', - text: '@', - className: 'toastui-editor-toolbar-icons first', - style: { backgroundImage: 'none' } - }); } function uploadFile(blob, callback, source) { @@ -188,9 +179,7 @@ $(function () { button.style.margin = '0'; button.innerHTML = `AW`; button.addEventListener('click', (event) => { - //editor.exec('bold'); event.preventDefault(); - alert("ye"); widgetModal.open(); }); From c0311b1fe038027fb34ba44afcbe8b0e0cb16a84 Mon Sep 17 00:00:00 2001 From: malik masis Date: Mon, 27 Jun 2022 10:56:35 +0300 Subject: [PATCH 04/27] Configured widget type list --- .../CmsKit/Admin/Contents/ContentWidgetDto.cs | 9 ++++++ .../Admin/Contents/IContentAdminAppService.cs | 9 ++++++ .../Admin/Contents/ContentAdminAppService.cs | 32 +++++++++++++++++++ .../CmsKit/Contents/AddWidgetModal.cshtml | 6 ++-- .../CmsKit/Contents/AddWidgetModal.cshtml.cs | 29 +++++++++++------ 5 files changed, 73 insertions(+), 12 deletions(-) create mode 100644 modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Contents/ContentWidgetDto.cs create mode 100644 modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Contents/IContentAdminAppService.cs create mode 100644 modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Contents/ContentAdminAppService.cs diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Contents/ContentWidgetDto.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Contents/ContentWidgetDto.cs new file mode 100644 index 0000000000..e55c98b5a2 --- /dev/null +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Contents/ContentWidgetDto.cs @@ -0,0 +1,9 @@ +using System; + +namespace Volo.CmsKit.Admin.Contents; + +[Serializable] +public class ContentWidgetDto +{ + public string Key { get; set; } +} diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Contents/IContentAdminAppService.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Contents/IContentAdminAppService.cs new file mode 100644 index 0000000000..28a1e7d992 --- /dev/null +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Contents/IContentAdminAppService.cs @@ -0,0 +1,9 @@ +using System.Threading.Tasks; +using Volo.Abp.Application.Dtos; +using Volo.Abp.Application.Services; + +namespace Volo.CmsKit.Admin.Contents; +public interface IContentAdminAppService : IApplicationService +{ + Task> GetWidgetsAsync(); +} diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Contents/ContentAdminAppService.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Contents/ContentAdminAppService.cs new file mode 100644 index 0000000000..5a96b71c61 --- /dev/null +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Contents/ContentAdminAppService.cs @@ -0,0 +1,32 @@ +using System.Linq; +using System.Threading.Tasks; +using Microsoft.Extensions.Options; +using Volo.Abp.Application.Dtos; +using Volo.CmsKit.Contents; + +namespace Volo.CmsKit.Admin.Contents; + +public class ContentAdminAppService : CmsKitAdminAppServiceBase, IContentAdminAppService +{ + private readonly CmsKitContentWidgetOptions _options; + + public ContentAdminAppService(IOptions options) + { + _options = options.Value; + } + + public Task> GetWidgetsAsync() + { + var aa = _options.WidgetConfigs.ToList(); + return Task.FromResult(new ListResultDto() + { + Items = _options.WidgetConfigs + .Select(n => + new ContentWidgetDto + { + Key = n.Key + + }).ToList() + }); + } +} diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/AddWidgetModal.cshtml b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/AddWidgetModal.cshtml index 00ec2f251d..654fd89b1a 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/AddWidgetModal.cshtml +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/AddWidgetModal.cshtml @@ -20,9 +20,9 @@ -
- Text - +
+ +
diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/AddWidgetModal.cshtml.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/AddWidgetModal.cshtml.cs index 8c2f25a2ad..c6f13aa85a 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/AddWidgetModal.cshtml.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/AddWidgetModal.cshtml.cs @@ -1,30 +1,41 @@ -using System; +using System.Collections.Generic; +using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Mvc.Rendering; +using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form; using Volo.Abp.AspNetCore.Mvc.UI.RazorPages; +using Volo.CmsKit.Admin.Contents; namespace Volo.CmsKit.Admin.Web.Pages.CmsKit.Contents; public class AddWidgetModal : AbpPageModel { - [BindProperty(SupportsGet = true)] - public Guid Id { get; set; } + protected IContentAdminAppService ContentAdminAppService { get; } - [BindProperty(SupportsGet = true)] - public string Text { get; set; } + [BindProperty] + public ContentViewModel ViewModel { get; set; } - public AddWidgetModal() + public List Widgets { get; set; } = new(); + + public AddWidgetModal(IContentAdminAppService contentAdminAppService) { + ContentAdminAppService = contentAdminAppService; } public async Task OnGetAsync() { - + Widgets = new List() { new("", "") }; + Widgets.AddRange((await ContentAdminAppService.GetWidgetsAsync()) + .Items + .Select(w => new SelectListItem(w.Key, w.Key)) + .ToList()); } - public async Task OnPostAsync() + public class ContentViewModel { - + [SelectItems(nameof(Widgets))] + public string Widget { get; set; } } } From c0c78c90ae1dd77da2b19d147ddc58d27c349f27 Mon Sep 17 00:00:00 2001 From: malik masis Date: Mon, 27 Jun 2022 16:53:20 +0300 Subject: [PATCH 05/27] Added dynamic properties for hard-coded definition --- .../CmsKit/Admin/Contents/ContentWidgetDto.cs | 2 ++ .../Admin/Contents/ContentAdminAppService.cs | 9 ++++++-- .../CmsKit/Contents/AddWidgetModal.cshtml | 14 +++++++++-- .../CmsKit/Contents/AddWidgetModal.cshtml.cs | 14 +++++++++-- .../Pages/CmsKit/Contents/addWidgetModal.js | 23 ++++++++++++++++++- .../CmsKit/Contents/ContentWidgetConfig.cs | 6 ++++- 6 files changed, 60 insertions(+), 8 deletions(-) diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Contents/ContentWidgetDto.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Contents/ContentWidgetDto.cs index e55c98b5a2..09e631ee62 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Contents/ContentWidgetDto.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Contents/ContentWidgetDto.cs @@ -1,4 +1,5 @@ using System; +using System.Collections.Generic; namespace Volo.CmsKit.Admin.Contents; @@ -6,4 +7,5 @@ namespace Volo.CmsKit.Admin.Contents; public class ContentWidgetDto { public string Key { get; set; } + public List Properties { get; set; } = new(); } diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Contents/ContentAdminAppService.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Contents/ContentAdminAppService.cs index 5a96b71c61..fb9243e96d 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Contents/ContentAdminAppService.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Contents/ContentAdminAppService.cs @@ -17,14 +17,19 @@ public class ContentAdminAppService : CmsKitAdminAppServiceBase, IContentAdminAp public Task> GetWidgetsAsync() { - var aa = _options.WidgetConfigs.ToList(); + //TODO remove + if (!_options.WidgetConfigs.Any()) + { + _options.AddWidget("Poll", "CmsPollByCode"); + } return Task.FromResult(new ListResultDto() { Items = _options.WidgetConfigs .Select(n => new ContentWidgetDto { - Key = n.Key + Key = n.Key, + Properties = n.Value.Properties }).ToList() }); diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/AddWidgetModal.cshtml b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/AddWidgetModal.cshtml index 654fd89b1a..83cb016c5c 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/AddWidgetModal.cshtml +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/AddWidgetModal.cshtml @@ -17,13 +17,23 @@ } + -
+
- +
+ @foreach (var item in Model.ViewModel.Properties.FirstOrDefault(p=>p.Key == "Poll").Properties) + { +
+ + +
+ } +
+ diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/AddWidgetModal.cshtml.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/AddWidgetModal.cshtml.cs index c6f13aa85a..4d2ac7a459 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/AddWidgetModal.cshtml.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/AddWidgetModal.cshtml.cs @@ -1,4 +1,5 @@ -using System.Collections.Generic; +using System; +using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.Mvc; @@ -26,8 +27,14 @@ public class AddWidgetModal : AbpPageModel public async Task OnGetAsync() { + ViewModel = new ContentViewModel(); + + var widgets = await ContentAdminAppService.GetWidgetsAsync(); + ViewModel.Properties = widgets.Items.ToArray(); + + Widgets = new List() { new("", "") }; - Widgets.AddRange((await ContentAdminAppService.GetWidgetsAsync()) + Widgets.AddRange(widgets .Items .Select(w => new SelectListItem(w.Key, w.Key)) .ToList()); @@ -37,5 +44,8 @@ public class AddWidgetModal : AbpPageModel { [SelectItems(nameof(Widgets))] public string Widget { get; set; } + + public ContentWidgetDto[] Properties { get; set; } = Array.Empty(); + } } diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/addWidgetModal.js b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/addWidgetModal.js index 54a1c8b869..ee2659d598 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/addWidgetModal.js +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/addWidgetModal.js @@ -3,11 +3,32 @@ $(function () { abp.modals.addWidgetModal = function () { var initModal = function () { + + $('#PropertySideId').hide(); + + $("#ViewModel_Widget").change(function () { + $('#PropertySideId').show(); + }); + $("#save-changes").click(function () { - var updatedText = $("#textId").val(); + var keys = []; + var values = []; + $(".properties").each(function () { + if (($.trim($(this).val()).length > 0)) { + keys.push(this.id); + values.push($(this).val()); + } + }); var contentEditorText = $("#ContentEditor")[0].innerText.split("\n")[2]; + var updatedText = "[Widget "; + + for (var i = 0; i < keys.length; i++) { + updatedText += keys[i] + "=\"" + values[i] + "\" "; + } + + updatedText += "]"; $('.ProseMirror div').contents()[0].data = contentEditorText + updatedText; $('#addWidgetModal').modal('hide'); diff --git a/modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/Contents/ContentWidgetConfig.cs b/modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/Contents/ContentWidgetConfig.cs index a5eab5930a..1b4591628c 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/Contents/ContentWidgetConfig.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/Contents/ContentWidgetConfig.cs @@ -1,8 +1,12 @@ -namespace Volo.CmsKit.Contents; +using System.Collections.Generic; + +namespace Volo.CmsKit.Contents; public class ContentWidgetConfig { public string Name { get; } + //TODO remove - just for example + public List Properties { get; } = new() { "Type", "Code" }; public ContentWidgetConfig(string widgetName) { From b81a87dfa7e9a4828a63be907217c909d6820f21 Mon Sep 17 00:00:00 2001 From: malik masis Date: Tue, 28 Jun 2022 15:19:59 +0300 Subject: [PATCH 06/27] Completed adding widget config --- .../CmsKit/Admin/Contents/ContentWidgetDto.cs | 3 +- .../Admin/Contents/ContentAdminAppService.cs | 8 +++- .../CmsKit/Contents/AddWidgetModal.cshtml | 18 +++++--- .../CmsKit/Contents/AddWidgetModal.cshtml.cs | 6 +-- .../Pages/CmsKit/Contents/addWidgetModal.js | 43 +++++++++++++++++-- .../Volo/CmsKit/Contents/PropertyDto.cs | 10 +++++ .../Contents/CmsKitContentWidgetOptions.cs | 6 ++- .../CmsKit/Contents/ContentWidgetConfig.cs | 10 ++++- 8 files changed, 84 insertions(+), 20 deletions(-) create mode 100644 modules/cms-kit/src/Volo.CmsKit.Common.Application.Contracts/Volo/CmsKit/Contents/PropertyDto.cs diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Contents/ContentWidgetDto.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Contents/ContentWidgetDto.cs index 09e631ee62..0292108185 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Contents/ContentWidgetDto.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Contents/ContentWidgetDto.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using Volo.CmsKit.Contents; namespace Volo.CmsKit.Admin.Contents; @@ -7,5 +8,5 @@ namespace Volo.CmsKit.Admin.Contents; public class ContentWidgetDto { public string Key { get; set; } - public List Properties { get; set; } = new(); + public List Properties { get; set; } = new(); } diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Contents/ContentAdminAppService.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Contents/ContentAdminAppService.cs index fb9243e96d..bdb6502fbe 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Contents/ContentAdminAppService.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Contents/ContentAdminAppService.cs @@ -1,4 +1,5 @@ -using System.Linq; +using System.Collections.Generic; +using System.Linq; using System.Threading.Tasks; using Microsoft.Extensions.Options; using Volo.Abp.Application.Dtos; @@ -20,7 +21,10 @@ public class ContentAdminAppService : CmsKitAdminAppServiceBase, IContentAdminAp //TODO remove if (!_options.WidgetConfigs.Any()) { - _options.AddWidget("Poll", "CmsPollByCode"); + _options.AddWidget("Poll", "CmsPollByCode", new List() + { + new PropertyDto() { Key = "Code", Name = "Code" } + }); } return Task.FromResult(new ListResultDto() { diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/AddWidgetModal.cshtml b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/AddWidgetModal.cshtml index 83cb016c5c..9370b37b49 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/AddWidgetModal.cshtml +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/AddWidgetModal.cshtml @@ -5,7 +5,6 @@ @using Volo.CmsKit.Admin.Web.Pages.CmsKit.Contents; @inject IHtmlLocalizer L - @model AddWidgetModal; @{ Layout = null; @@ -23,12 +22,21 @@
-
- @foreach (var item in Model.ViewModel.Properties.FirstOrDefault(p=>p.Key == "Poll").Properties) +
+ @foreach (var item in Model.ViewModel.ContentWidgets.FirstOrDefault(p=>p.Key == "Poll").Properties) + { +
+ + +
+ } +
+
+ @foreach (var item in Model.ViewModel.ContentWidgets.FirstOrDefault(p=>p.Key == "Comment").Properties) {
- - + +
}
diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/AddWidgetModal.cshtml.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/AddWidgetModal.cshtml.cs index 4d2ac7a459..8b38b79f3b 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/AddWidgetModal.cshtml.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/AddWidgetModal.cshtml.cs @@ -17,7 +17,6 @@ public class AddWidgetModal : AbpPageModel [BindProperty] public ContentViewModel ViewModel { get; set; } - public List Widgets { get; set; } = new(); public AddWidgetModal(IContentAdminAppService contentAdminAppService) @@ -30,8 +29,7 @@ public class AddWidgetModal : AbpPageModel ViewModel = new ContentViewModel(); var widgets = await ContentAdminAppService.GetWidgetsAsync(); - ViewModel.Properties = widgets.Items.ToArray(); - + ViewModel.ContentWidgets = widgets.Items.ToArray(); Widgets = new List() { new("", "") }; Widgets.AddRange(widgets @@ -45,7 +43,7 @@ public class AddWidgetModal : AbpPageModel [SelectItems(nameof(Widgets))] public string Widget { get; set; } - public ContentWidgetDto[] Properties { get; set; } = Array.Empty(); + public ContentWidgetDto[] ContentWidgets { get; set; } = Array.Empty(); } } diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/addWidgetModal.js b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/addWidgetModal.js index ee2659d598..25fdc1e811 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/addWidgetModal.js +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/addWidgetModal.js @@ -4,10 +4,45 @@ $(function () { var initModal = function () { - $('#PropertySideId').hide(); + $('#PropertySideIdPoll').hide(); + $('#PropertySideIdComment').hide(); + + //var getRelatedProperties = function () { + // var html = ""; + + // for (var i = 0; i < 2; i++) { + // html += "
" + + // " " + + // " " + + // "
"; + // } + + // $("#ye").each(function () { + // debugger + // alert("a"); + // }); + + // return html; + //} + + let widgetType; $("#ViewModel_Widget").change(function () { - $('#PropertySideId').show(); + widgetType = this.value; + debugger + if (widgetType == "Poll") { + $('#PropertySideIdPoll').show(); + $('#PropertySideIdComment').hide(); + } + else { + $('#PropertySideIdPoll').hide(); + $('#PropertySideIdComment').show(); + } + + //var newHtml = getRelatedProperties(); + + //$("#PropertySideId").append(newHtml); + }); $("#save-changes").click(function () { @@ -20,9 +55,9 @@ $(function () { } }); - var contentEditorText = $("#ContentEditor")[0].innerText.split("\n")[2]; + var contentEditorText = $("#ContentEditor")[0].innerText.split("\n")[1]; - var updatedText = "[Widget "; + var updatedText = "[Widget Type=\"" + widgetType + "\" "; for (var i = 0; i < keys.length; i++) { updatedText += keys[i] + "=\"" + values[i] + "\" "; diff --git a/modules/cms-kit/src/Volo.CmsKit.Common.Application.Contracts/Volo/CmsKit/Contents/PropertyDto.cs b/modules/cms-kit/src/Volo.CmsKit.Common.Application.Contracts/Volo/CmsKit/Contents/PropertyDto.cs new file mode 100644 index 0000000000..4e0a1a700c --- /dev/null +++ b/modules/cms-kit/src/Volo.CmsKit.Common.Application.Contracts/Volo/CmsKit/Contents/PropertyDto.cs @@ -0,0 +1,10 @@ +using System; + +namespace Volo.CmsKit.Contents; + +[Serializable] +public class PropertyDto +{ + public string Key { get; set; } + public string Name { get; set; } +} diff --git a/modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/Contents/CmsKitContentWidgetOptions.cs b/modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/Contents/CmsKitContentWidgetOptions.cs index 1f9dae60ab..1a480a18a2 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/Contents/CmsKitContentWidgetOptions.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/Contents/CmsKitContentWidgetOptions.cs @@ -11,8 +11,10 @@ public class CmsKitContentWidgetOptions WidgetConfigs = new(); } - public void AddWidget(string widgetName, string widgetKey) + public void AddWidget(string widgetName, string widgetKey, List properties = null) { - WidgetConfigs.Add(widgetName, new ContentWidgetConfig(widgetKey)); + var conf = new ContentWidgetConfig(widgetKey); + conf.Properties.AddRange(properties); + WidgetConfigs.Add(widgetName, conf); } } \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/Contents/ContentWidgetConfig.cs b/modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/Contents/ContentWidgetConfig.cs index 1b4591628c..507024956a 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/Contents/ContentWidgetConfig.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/Contents/ContentWidgetConfig.cs @@ -5,11 +5,17 @@ namespace Volo.CmsKit.Contents; public class ContentWidgetConfig { public string Name { get; } - //TODO remove - just for example - public List Properties { get; } = new() { "Type", "Code" }; + public List Properties { get; } public ContentWidgetConfig(string widgetName) { + Properties = new(); Name = widgetName; } + + public void AddProperty(string key, string name) + { + Properties.Add(new PropertyDto() { Key = key, Name = name }); + } + } \ No newline at end of file From 5f2185f4292e15bbde74c8c13110e8f3ba1179b7 Mon Sep 17 00:00:00 2001 From: malik masis Date: Tue, 28 Jun 2022 17:07:45 +0300 Subject: [PATCH 07/27] Made dynamic the code using ajax call --- modules/cms-kit/Volo.CmsKit.sln | 54 +++++++++---------- .../Admin/Contents/ContentAdminAppService.cs | 8 ++- .../ContentAdminClientProxy.Generated.cs | 22 ++++++++ .../ClientProxies/ContentAdminClientProxy.cs | 7 +++ .../cms-kit-admin-generate-proxy.json | 41 ++++++++++++++ .../Admin/Contents/ContentAdminController.cs | 25 +++++++++ .../CmsKit/Contents/AddWidgetModal.cshtml | 18 +------ .../Pages/CmsKit/Contents/addWidgetModal.js | 53 ++++++------------ .../client-proxies/cms-kit-admin-proxy.js | 17 +++++- 9 files changed, 161 insertions(+), 84 deletions(-) create mode 100644 modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi.Client/ClientProxies/ContentAdminClientProxy.Generated.cs create mode 100644 modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi.Client/ClientProxies/ContentAdminClientProxy.cs create mode 100644 modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Contents/ContentAdminController.cs diff --git a/modules/cms-kit/Volo.CmsKit.sln b/modules/cms-kit/Volo.CmsKit.sln index 080ccbcf7f..e35e143c92 100644 --- a/modules/cms-kit/Volo.CmsKit.sln +++ b/modules/cms-kit/Volo.CmsKit.sln @@ -1,7 +1,7 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 16 -VisualStudioVersion = 16.0.29001.49 +# Visual Studio Version 17 +VisualStudioVersion = 17.2.32616.157 MinimumVisualStudioVersion = 10.0.40219.1 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.CmsKit.Domain.Shared", "src\Volo.CmsKit.Domain.Shared\Volo.CmsKit.Domain.Shared.csproj", "{D64C1577-4929-4B60-939E-96DE1534891A}" EndProject @@ -57,37 +57,37 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "public", "public", "{3C74B8 EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "admin", "admin", "{E737206B-FA99-4460-861D-82902ECE93DB}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.CmsKit.Admin.Application", "src\Volo.CmsKit.Admin.Application\Volo.CmsKit.Admin.Application.csproj", "{A5363215-BF61-467F-80D0-40D93590F509}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.CmsKit.Admin.Application", "src\Volo.CmsKit.Admin.Application\Volo.CmsKit.Admin.Application.csproj", "{A5363215-BF61-467F-80D0-40D93590F509}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.CmsKit.Admin.Application.Contracts", "src\Volo.CmsKit.Admin.Application.Contracts\Volo.CmsKit.Admin.Application.Contracts.csproj", "{AE000591-86E3-4AD4-AA86-C47FED4A3ACB}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.CmsKit.Admin.Application.Contracts", "src\Volo.CmsKit.Admin.Application.Contracts\Volo.CmsKit.Admin.Application.Contracts.csproj", "{AE000591-86E3-4AD4-AA86-C47FED4A3ACB}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.CmsKit.Admin.HttpApi", "src\Volo.CmsKit.Admin.HttpApi\Volo.CmsKit.Admin.HttpApi.csproj", "{A402371A-B714-4BBC-AC22-9C0BD7679F25}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.CmsKit.Admin.HttpApi", "src\Volo.CmsKit.Admin.HttpApi\Volo.CmsKit.Admin.HttpApi.csproj", "{A402371A-B714-4BBC-AC22-9C0BD7679F25}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.CmsKit.Admin.HttpApi.Client", "src\Volo.CmsKit.Admin.HttpApi.Client\Volo.CmsKit.Admin.HttpApi.Client.csproj", "{97D7BB7A-1D45-4E54-B327-3718F62E8A86}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.CmsKit.Admin.HttpApi.Client", "src\Volo.CmsKit.Admin.HttpApi.Client\Volo.CmsKit.Admin.HttpApi.Client.csproj", "{97D7BB7A-1D45-4E54-B327-3718F62E8A86}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.CmsKit.Admin.Web", "src\Volo.CmsKit.Admin.Web\Volo.CmsKit.Admin.Web.csproj", "{CA6A7FAF-0EF9-42D9-B7A3-5CA690687045}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.CmsKit.Admin.Web", "src\Volo.CmsKit.Admin.Web\Volo.CmsKit.Admin.Web.csproj", "{CA6A7FAF-0EF9-42D9-B7A3-5CA690687045}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.CmsKit.Public.Application", "src\Volo.CmsKit.Public.Application\Volo.CmsKit.Public.Application.csproj", "{E3963E05-9645-4AFD-AC99-C5E9F9153B61}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.CmsKit.Public.Application", "src\Volo.CmsKit.Public.Application\Volo.CmsKit.Public.Application.csproj", "{E3963E05-9645-4AFD-AC99-C5E9F9153B61}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.CmsKit.Public.Application.Contracts", "src\Volo.CmsKit.Public.Application.Contracts\Volo.CmsKit.Public.Application.Contracts.csproj", "{50147423-F37D-46D3-A25D-C51CD48A7DA7}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.CmsKit.Public.Application.Contracts", "src\Volo.CmsKit.Public.Application.Contracts\Volo.CmsKit.Public.Application.Contracts.csproj", "{50147423-F37D-46D3-A25D-C51CD48A7DA7}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.CmsKit.Public.HttpApi", "src\Volo.CmsKit.Public.HttpApi\Volo.CmsKit.Public.HttpApi.csproj", "{37C03B72-5FD8-4B67-8090-8A20CD8095A6}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.CmsKit.Public.HttpApi", "src\Volo.CmsKit.Public.HttpApi\Volo.CmsKit.Public.HttpApi.csproj", "{37C03B72-5FD8-4B67-8090-8A20CD8095A6}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.CmsKit.Public.HttpApi.Client", "src\Volo.CmsKit.Public.HttpApi.Client\Volo.CmsKit.Public.HttpApi.Client.csproj", "{E790C2C6-39AC-4068-AA7D-309DC9AA1437}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.CmsKit.Public.HttpApi.Client", "src\Volo.CmsKit.Public.HttpApi.Client\Volo.CmsKit.Public.HttpApi.Client.csproj", "{E790C2C6-39AC-4068-AA7D-309DC9AA1437}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.CmsKit.Public.Web", "src\Volo.CmsKit.Public.Web\Volo.CmsKit.Public.Web.csproj", "{BE2572ED-F505-435D-9A90-30DBC6C2DC1D}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.CmsKit.Public.Web", "src\Volo.CmsKit.Public.Web\Volo.CmsKit.Public.Web.csproj", "{BE2572ED-F505-435D-9A90-30DBC6C2DC1D}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.CmsKit.Common.Web", "src\Volo.CmsKit.Common.Web\Volo.CmsKit.Common.Web.csproj", "{4B2C2431-7351-41F0-B5E1-F8A9859FA838}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.CmsKit.Common.Web", "src\Volo.CmsKit.Common.Web\Volo.CmsKit.Common.Web.csproj", "{4B2C2431-7351-41F0-B5E1-F8A9859FA838}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.CmsKit.Common.Application.Contracts", "src\Volo.CmsKit.Common.Application.Contracts\Volo.CmsKit.Common.Application.Contracts.csproj", "{A0D38C5B-047F-49C1-9A6D-B41E4FB9B323}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.CmsKit.Common.Application.Contracts", "src\Volo.CmsKit.Common.Application.Contracts\Volo.CmsKit.Common.Application.Contracts.csproj", "{A0D38C5B-047F-49C1-9A6D-B41E4FB9B323}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.CmsKit.Common.Application", "src\Volo.CmsKit.Common.Application\Volo.CmsKit.Common.Application.csproj", "{5D9BD65D-353E-4618-BE49-E1DF4CFF2393}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.CmsKit.Common.Application", "src\Volo.CmsKit.Common.Application\Volo.CmsKit.Common.Application.csproj", "{5D9BD65D-353E-4618-BE49-E1DF4CFF2393}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.CmsKit.Common.HttpApi", "src\Volo.CmsKit.Common.HttpApi\Volo.CmsKit.Common.HttpApi.csproj", "{E8CC280A-D049-4564-9C71-2F5657C17937}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.CmsKit.Common.HttpApi", "src\Volo.CmsKit.Common.HttpApi\Volo.CmsKit.Common.HttpApi.csproj", "{E8CC280A-D049-4564-9C71-2F5657C17937}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.CmsKit.Common.HttpApi.Client", "src\Volo.CmsKit.Common.HttpApi.Client\Volo.CmsKit.Common.HttpApi.Client.csproj", "{EC98F006-2002-4CE2-AA62-5EBB589ACD79}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.CmsKit.Common.HttpApi.Client", "src\Volo.CmsKit.Common.HttpApi.Client\Volo.CmsKit.Common.HttpApi.Client.csproj", "{EC98F006-2002-4CE2-AA62-5EBB589ACD79}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.CmsKit.Installer", "src\Volo.CmsKit.Installer\Volo.CmsKit.Installer.csproj", "{908C157E-2352-4373-BF5D-E5DA19913390}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.CmsKit.Installer", "src\Volo.CmsKit.Installer\Volo.CmsKit.Installer.csproj", "{908C157E-2352-4373-BF5D-E5DA19913390}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -244,28 +244,28 @@ Global HideSolutionNode = FALSE EndGlobalSection GlobalSection(NestedProjects) = preSolution + {D64C1577-4929-4B60-939E-96DE1534891A} = {DDE20914-DD1B-4C7B-86FF-F21E6B5DF1D1} + {F2840BC7-0188-4606-9126-DADD0F5ABF7A} = {DDE20914-DD1B-4C7B-86FF-F21E6B5DF1D1} + {BD65D04F-08D5-40C1-8C24-77CA0BACB877} = {963FBC0A-1FBA-47DA-8A61-8F57D3EC8D49} + {78040F9E-3501-4A40-82DF-00A597710F35} = {963FBC0A-1FBA-47DA-8A61-8F57D3EC8D49} + {0CE86223-D31D-4315-A1F5-87BA3EE1B844} = {DDE20914-DD1B-4C7B-86FF-F21E6B5DF1D1} + {F1C58097-4C08-4D88-8976-6B3389391481} = {DDE20914-DD1B-4C7B-86FF-F21E6B5DF1D1} + {077AA5F8-8B61-420C-A6B5-0150A66FDB34} = {963FBC0A-1FBA-47DA-8A61-8F57D3EC8D49} + {36E2735F-CEAB-44C8-A6D1-2CDAFF399751} = {963FBC0A-1FBA-47DA-8A61-8F57D3EC8D49} {C5BB573D-3030-4BCB-88B7-F6A85C32766C} = {CCD2960C-23CC-4AB4-B84D-60C7AAA52F4D} {527F645C-C1FC-406E-8479-81386C8ECF13} = {CCD2960C-23CC-4AB4-B84D-60C7AAA52F4D} {D0AD9179-125C-40B2-A8EE-CD4C1EE24BB6} = {CCD2960C-23CC-4AB4-B84D-60C7AAA52F4D} {E60895E5-79C4-447D-88B7-85CB5BA336A4} = {CCD2960C-23CC-4AB4-B84D-60C7AAA52F4D} {90CB5DC4-C040-45C7-8900-9688B26405BC} = {CCD2960C-23CC-4AB4-B84D-60C7AAA52F4D} {37B135B0-DAFE-4616-B25C-1BDF32FC44A2} = {E400416D-2895-4512-9D17-90681EEC7E0A} + {3B7B6317-1B85-4164-8E11-75574F80AE17} = {963FBC0A-1FBA-47DA-8A61-8F57D3EC8D49} {1EDCD6D4-DF3A-4E3B-ABB6-C0D0B373EAB8} = {CCD2960C-23CC-4AB4-B84D-60C7AAA52F4D} {73513786-B6C6-4A21-89C5-0FBDD0A46107} = {E400416D-2895-4512-9D17-90681EEC7E0A} {690203F4-3CD5-4569-88D9-EE831EEA5F5F} = {E400416D-2895-4512-9D17-90681EEC7E0A} {F6AC8D4A-EDD7-4514-8E8A-5BCB019864DB} = {E400416D-2895-4512-9D17-90681EEC7E0A} {3D872C41-E226-45C8-89C1-9D3DBD7C73F2} = {E400416D-2895-4512-9D17-90681EEC7E0A} {DDE20914-DD1B-4C7B-86FF-F21E6B5DF1D1} = {649A3FFA-182F-4E56-9717-E6A9A2BEC545} - {F2840BC7-0188-4606-9126-DADD0F5ABF7A} = {DDE20914-DD1B-4C7B-86FF-F21E6B5DF1D1} - {D64C1577-4929-4B60-939E-96DE1534891A} = {DDE20914-DD1B-4C7B-86FF-F21E6B5DF1D1} - {F1C58097-4C08-4D88-8976-6B3389391481} = {DDE20914-DD1B-4C7B-86FF-F21E6B5DF1D1} - {0CE86223-D31D-4315-A1F5-87BA3EE1B844} = {DDE20914-DD1B-4C7B-86FF-F21E6B5DF1D1} {963FBC0A-1FBA-47DA-8A61-8F57D3EC8D49} = {649A3FFA-182F-4E56-9717-E6A9A2BEC545} - {78040F9E-3501-4A40-82DF-00A597710F35} = {963FBC0A-1FBA-47DA-8A61-8F57D3EC8D49} - {BD65D04F-08D5-40C1-8C24-77CA0BACB877} = {963FBC0A-1FBA-47DA-8A61-8F57D3EC8D49} - {077AA5F8-8B61-420C-A6B5-0150A66FDB34} = {963FBC0A-1FBA-47DA-8A61-8F57D3EC8D49} - {36E2735F-CEAB-44C8-A6D1-2CDAFF399751} = {963FBC0A-1FBA-47DA-8A61-8F57D3EC8D49} - {3B7B6317-1B85-4164-8E11-75574F80AE17} = {963FBC0A-1FBA-47DA-8A61-8F57D3EC8D49} {3C74B8E8-CB34-49C8-B02A-05E959601FEE} = {649A3FFA-182F-4E56-9717-E6A9A2BEC545} {E737206B-FA99-4460-861D-82902ECE93DB} = {649A3FFA-182F-4E56-9717-E6A9A2BEC545} {A5363215-BF61-467F-80D0-40D93590F509} = {E737206B-FA99-4460-861D-82902ECE93DB} diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Contents/ContentAdminAppService.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Contents/ContentAdminAppService.cs index bdb6502fbe..f8a76cabc8 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Contents/ContentAdminAppService.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Contents/ContentAdminAppService.cs @@ -16,7 +16,7 @@ public class ContentAdminAppService : CmsKitAdminAppServiceBase, IContentAdminAp _options = options.Value; } - public Task> GetWidgetsAsync() + public virtual Task> GetWidgetsAsync() { //TODO remove if (!_options.WidgetConfigs.Any()) @@ -25,6 +25,12 @@ public class ContentAdminAppService : CmsKitAdminAppServiceBase, IContentAdminAp { new PropertyDto() { Key = "Code", Name = "Code" } }); + + _options.AddWidget("Comment", "CmsCommenting", new List() + { + new PropertyDto() { Key = "EntityType", Name = "EntityType" }, + new PropertyDto() { Key = "EntityId", Name = "EntityId" } + }); } return Task.FromResult(new ListResultDto() { diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi.Client/ClientProxies/ContentAdminClientProxy.Generated.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi.Client/ClientProxies/ContentAdminClientProxy.Generated.cs new file mode 100644 index 0000000000..30c6052af3 --- /dev/null +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi.Client/ClientProxies/ContentAdminClientProxy.Generated.cs @@ -0,0 +1,22 @@ +// This file is automatically generated by ABP framework to use MVC Controllers from CSharp +using System; +using System.Threading.Tasks; +using Volo.Abp.Application.Dtos; +using Volo.Abp.Http.Client; +using Volo.Abp.Http.Modeling; +using Volo.Abp.DependencyInjection; +using Volo.Abp.Http.Client.ClientProxying; +using Volo.CmsKit.Admin.Contents; + +// ReSharper disable once CheckNamespace +namespace Volo.CmsKit.Admin.Contents.ClientProxies; + +[Dependency(ReplaceServices = true)] +[ExposeServices(typeof(IContentAdminAppService), typeof(ContentAdminClientProxy))] +public partial class ContentAdminClientProxy : ClientProxyBase, IContentAdminAppService +{ + public virtual async Task> GetWidgetsAsync() + { + return await RequestAsync>(nameof(GetWidgetsAsync)); + } +} diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi.Client/ClientProxies/ContentAdminClientProxy.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi.Client/ClientProxies/ContentAdminClientProxy.cs new file mode 100644 index 0000000000..d2caea5777 --- /dev/null +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi.Client/ClientProxies/ContentAdminClientProxy.cs @@ -0,0 +1,7 @@ +// This file is part of ContentAdminClientProxy, you can customize it here +// ReSharper disable once CheckNamespace +namespace Volo.CmsKit.Admin.Contents.ClientProxies; + +public partial class ContentAdminClientProxy +{ +} diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi.Client/ClientProxies/cms-kit-admin-generate-proxy.json b/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi.Client/ClientProxies/cms-kit-admin-generate-proxy.json index 0e93081b39..32a833e884 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi.Client/ClientProxies/cms-kit-admin-generate-proxy.json +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi.Client/ClientProxies/cms-kit-admin-generate-proxy.json @@ -1191,6 +1191,35 @@ } } }, + "Volo.CmsKit.Admin.Contents.ContentAdminController": { + "controllerName": "ContentAdmin", + "controllerGroupName": "ContentAdmin", + "isRemoteService": true, + "apiVersion": null, + "type": "Volo.CmsKit.Admin.Contents.ContentAdminController", + "interfaces": [ + { + "type": "Volo.CmsKit.Admin.Contents.IContentAdminAppService" + } + ], + "actions": { + "GetWidgetsAsync": { + "uniqueName": "GetWidgetsAsync", + "name": "GetWidgetsAsync", + "httpMethod": "GET", + "url": "api/cms-kit-admin/contents", + "supportedVersions": [], + "parametersOnMethod": [], + "parameters": [], + "returnValue": { + "type": "Volo.Abp.Application.Dtos.ListResultDto", + "typeSimple": "Volo.Abp.Application.Dtos.ListResultDto" + }, + "allowAnonymous": null, + "implementFrom": "Volo.CmsKit.Admin.Contents.IContentAdminAppService" + } + } + }, "Volo.CmsKit.Admin.Comments.CommentAdminController": { "controllerName": "CommentAdmin", "controllerGroupName": "CommentAdmin", @@ -1953,6 +1982,18 @@ "bindingSourceId": "ModelBinding", "descriptorName": "input" }, + { + "nameOnMethod": "input", + "name": "TagId", + "jsonName": null, + "type": "System.Guid?", + "typeSimple": "string?", + "isOptional": false, + "defaultValue": null, + "constraintTypes": null, + "bindingSourceId": "ModelBinding", + "descriptorName": "input" + }, { "nameOnMethod": "input", "name": "Status", diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Contents/ContentAdminController.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Contents/ContentAdminController.cs new file mode 100644 index 0000000000..83bfcde600 --- /dev/null +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Contents/ContentAdminController.cs @@ -0,0 +1,25 @@ +using System.Threading.Tasks; +using Microsoft.AspNetCore.Mvc; +using Volo.Abp; +using Volo.Abp.Application.Dtos; + +namespace Volo.CmsKit.Admin.Contents; + +[RemoteService(Name = CmsKitAdminRemoteServiceConsts.RemoteServiceName)] +[Area(CmsKitAdminRemoteServiceConsts.ModuleName)] +[Route("api/cms-kit-admin/contents")] +public class ContentAdminController : CmsKitAdminController, IContentAdminAppService +{ + protected IContentAdminAppService ContentAdminAppService { get; } + + public ContentAdminController(IContentAdminAppService contentAdminAppService) + { + ContentAdminAppService = contentAdminAppService; + } + + [HttpGet] + public virtual Task> GetWidgetsAsync() + { + return ContentAdminAppService.GetWidgetsAsync(); + } +} diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/AddWidgetModal.cshtml b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/AddWidgetModal.cshtml index 9370b37b49..6c50455781 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/AddWidgetModal.cshtml +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/AddWidgetModal.cshtml @@ -22,23 +22,7 @@
-
- @foreach (var item in Model.ViewModel.ContentWidgets.FirstOrDefault(p=>p.Key == "Poll").Properties) - { -
- - -
- } -
-
- @foreach (var item in Model.ViewModel.ContentWidgets.FirstOrDefault(p=>p.Key == "Comment").Properties) - { -
- - -
- } +
diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/addWidgetModal.js b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/addWidgetModal.js index 25fdc1e811..711c940db9 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/addWidgetModal.js +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/addWidgetModal.js @@ -4,45 +4,23 @@ $(function () { var initModal = function () { - $('#PropertySideIdPoll').hide(); - $('#PropertySideIdComment').hide(); - - //var getRelatedProperties = function () { - // var html = ""; - - // for (var i = 0; i < 2; i++) { - // html += "
" + - // " " + - // " " + - // "
"; - // } - - // $("#ye").each(function () { - // debugger - // alert("a"); - // }); - - // return html; - //} - let widgetType; - $("#ViewModel_Widget").change(function () { widgetType = this.value; - debugger - if (widgetType == "Poll") { - $('#PropertySideIdPoll').show(); - $('#PropertySideIdComment').hide(); - } - else { - $('#PropertySideIdPoll').hide(); - $('#PropertySideIdComment').show(); - } - - //var newHtml = getRelatedProperties(); - - //$("#PropertySideId").append(newHtml); + $("#PropertySideId").html(''); + volo.cmsKit.admin.contents.contentAdmin.getWidgets().then(function (data) { + var widgetTypes = data.items.filter(v => v.key === widgetType); + //TODO null check + var firstWidgetType = widgetTypes[0]; + for (const property of firstWidgetType.properties) { + let html = "
" + + " " + + " " + + "
"; + $("#PropertySideId").append(html); + } + }); }); $("#save-changes").click(function () { @@ -54,15 +32,14 @@ $(function () { values.push($(this).val()); } }); - - var contentEditorText = $("#ContentEditor")[0].innerText.split("\n")[1]; + //TODO review here + var contentEditorText = $("#ContentEditor")[0].innerText.split("\n")[2]; var updatedText = "[Widget Type=\"" + widgetType + "\" "; for (var i = 0; i < keys.length; i++) { updatedText += keys[i] + "=\"" + values[i] + "\" "; } - updatedText += "]"; $('.ProseMirror div').contents()[0].data = contentEditorText + updatedText; diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/wwwroot/client-proxies/cms-kit-admin-proxy.js b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/wwwroot/client-proxies/cms-kit-admin-proxy.js index 228ffb907b..94017ec7e2 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/wwwroot/client-proxies/cms-kit-admin-proxy.js +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/wwwroot/client-proxies/cms-kit-admin-proxy.js @@ -247,6 +247,21 @@ })(); + // controller volo.cmsKit.admin.contents.contentAdmin + + (function(){ + + abp.utils.createNamespace(window, 'volo.cmsKit.admin.contents.contentAdmin'); + + volo.cmsKit.admin.contents.contentAdmin.getWidgets = function(ajaxParams) { + return abp.ajax($.extend(true, { + url: abp.appPath + 'api/cms-kit-admin/contents', + type: 'GET' + }, ajaxParams)); + }; + + })(); + // controller volo.cmsKit.admin.comments.commentAdmin (function(){ @@ -378,7 +393,7 @@ volo.cmsKit.admin.blogs.blogPostAdmin.getList = function(input, ajaxParams) { return abp.ajax($.extend(true, { - url: abp.appPath + 'api/cms-kit-admin/blogs/blog-posts' + abp.utils.buildQueryString([{ name: 'filter', value: input.filter }, { name: 'blogId', value: input.blogId }, { name: 'authorId', value: input.authorId }, { name: 'status', value: input.status }, { name: 'sorting', value: input.sorting }, { name: 'skipCount', value: input.skipCount }, { name: 'maxResultCount', value: input.maxResultCount }]) + '', + url: abp.appPath + 'api/cms-kit-admin/blogs/blog-posts' + abp.utils.buildQueryString([{ name: 'filter', value: input.filter }, { name: 'blogId', value: input.blogId }, { name: 'authorId', value: input.authorId }, { name: 'tagId', value: input.tagId }, { name: 'status', value: input.status }, { name: 'sorting', value: input.sorting }, { name: 'skipCount', value: input.skipCount }, { name: 'maxResultCount', value: input.maxResultCount }]) + '', type: 'GET' }, ajaxParams)); }; From 6e20185a67b4f7ac41e9724dea7d868d92855848 Mon Sep 17 00:00:00 2001 From: malik masis Date: Wed, 29 Jun 2022 14:14:27 +0300 Subject: [PATCH 08/27] Removed contentWidgets --- .../Pages/CmsKit/Contents/AddWidgetModal.cshtml.cs | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/AddWidgetModal.cshtml.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/AddWidgetModal.cshtml.cs index 8b38b79f3b..6614c40d27 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/AddWidgetModal.cshtml.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/AddWidgetModal.cshtml.cs @@ -1,5 +1,4 @@ -using System; -using System.Collections.Generic; +using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.Mvc; @@ -26,13 +25,8 @@ public class AddWidgetModal : AbpPageModel public async Task OnGetAsync() { - ViewModel = new ContentViewModel(); - - var widgets = await ContentAdminAppService.GetWidgetsAsync(); - ViewModel.ContentWidgets = widgets.Items.ToArray(); - Widgets = new List() { new("", "") }; - Widgets.AddRange(widgets + Widgets.AddRange((await ContentAdminAppService.GetWidgetsAsync()) .Items .Select(w => new SelectListItem(w.Key, w.Key)) .ToList()); @@ -42,8 +36,5 @@ public class AddWidgetModal : AbpPageModel { [SelectItems(nameof(Widgets))] public string Widget { get; set; } - - public ContentWidgetDto[] ContentWidgets { get; set; } = Array.Empty(); - } } From 1d2dc38ff88a4aa93ee1fdc4347a44748b4ecbb8 Mon Sep 17 00:00:00 2001 From: malik masis Date: Wed, 29 Jun 2022 14:16:12 +0300 Subject: [PATCH 09/27] Adding widget even editor is empty --- .../Pages/CmsKit/Contents/addWidgetModal.js | 22 ++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/addWidgetModal.js b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/addWidgetModal.js index 711c940db9..c57dd4f2aa 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/addWidgetModal.js +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/addWidgetModal.js @@ -32,16 +32,32 @@ $(function () { values.push($(this).val()); } }); - //TODO review here - var contentEditorText = $("#ContentEditor")[0].innerText.split("\n")[2]; + + var contentEditorText = $("#ContentEditor")[0].innerText + .replace('WritePreview', '') + .replace('MarkdownWYSIWYG', '') + .replace('AW', ''); var updatedText = "[Widget Type=\"" + widgetType + "\" "; for (var i = 0; i < keys.length; i++) { updatedText += keys[i] + "=\"" + values[i] + "\" "; } + updatedText += "]"; - $('.ProseMirror div').contents()[0].data = contentEditorText + updatedText; + + if (contentEditorText == '\n\n\n') { + //TODO fails event + var fixedData = "
" + updatedText + "
"; + var innerHtml = $("#ContentEditor")[0].innerHTML; + var replacedInnerHtml = innerHtml.replace('

', fixedData); + $("#ContentEditor")[0].innerHTML = replacedInnerHtml; + } + else { + + $('.ProseMirror div').contents()[0].data = contentEditorText + updatedText; + } + $('#addWidgetModal').modal('hide'); }); From 0b162335a8237043cf4b7895fa2fa72c7559c297 Mon Sep 17 00:00:00 2001 From: malik masis Date: Wed, 29 Jun 2022 15:07:49 +0300 Subject: [PATCH 10/27] Added validation once widget is empty --- .../Pages/CmsKit/Contents/addWidgetModal.js | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/addWidgetModal.js b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/addWidgetModal.js index c57dd4f2aa..8785add3b7 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/addWidgetModal.js +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/addWidgetModal.js @@ -11,7 +11,6 @@ $(function () { $("#PropertySideId").html(''); volo.cmsKit.admin.contents.contentAdmin.getWidgets().then(function (data) { var widgetTypes = data.items.filter(v => v.key === widgetType); - //TODO null check var firstWidgetType = widgetTypes[0]; for (const property of firstWidgetType.properties) { let html = "
" + @@ -38,13 +37,17 @@ $(function () { .replace('MarkdownWYSIWYG', '') .replace('AW', ''); - var updatedText = "[Widget Type=\"" + widgetType + "\" "; + let updatedText = ''; + if (widgetType != undefined) { - for (var i = 0; i < keys.length; i++) { - updatedText += keys[i] + "=\"" + values[i] + "\" "; - } + updatedText = "[Widget Type=\"" + widgetType + "\" "; + + for (var i = 0; i < keys.length; i++) { + updatedText += keys[i] + "=\"" + values[i] + "\" "; + } - updatedText += "]"; + updatedText += "]"; + } if (contentEditorText == '\n\n\n') { //TODO fails event @@ -54,11 +57,9 @@ $(function () { $("#ContentEditor")[0].innerHTML = replacedInnerHtml; } else { - $('.ProseMirror div').contents()[0].data = contentEditorText + updatedText; } - $('#addWidgetModal').modal('hide'); }); }; From f2ea8335bdb96dfc020c219a94edf6125f4ad0be Mon Sep 17 00:00:00 2001 From: malik masis Date: Wed, 29 Jun 2022 15:08:04 +0300 Subject: [PATCH 11/27] Added language --- .../Pages/CmsKit/Contents/AddWidgetModal.cshtml | 10 ++++++++-- .../Volo/CmsKit/Localization/Resources/en.json | 5 ++++- .../Volo/CmsKit/Localization/Resources/tr.json | 5 ++++- 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/AddWidgetModal.cshtml b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/AddWidgetModal.cshtml index 6c50455781..2b402c9353 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/AddWidgetModal.cshtml +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/AddWidgetModal.cshtml @@ -17,14 +17,20 @@ - +
+ @if(Model.Widgets.Count() > 1){
- + + } + else + { +

@L["PleaseConfigureWidgets"].Value

+ }
diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/en.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/en.json index 6926fdb771..b98319f51b 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/en.json +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/en.json @@ -181,6 +181,9 @@ "HasBlogPostWaitingForReviewMessage": "You have a blog post waiting for review. Click to list.", "SelectAStatus": "Select a status", "Status": "Status", - "CmsKit.BlogPost.ScrollIndex": "Quick navigation bar in blog posts" + "CmsKit.BlogPost.ScrollIndex": "Quick navigation bar in blog posts", + "Add": "Add", + "AddWidget": "Add Widget", + "PleaseConfigureWidgets": "Please configure widgets" } } \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/tr.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/tr.json index b49f1f8326..431c50596c 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/tr.json +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/tr.json @@ -187,6 +187,9 @@ "InThisDocument": "Bu belgede", "RemoveCoverImageConfirmationMessage": "Kapak resmini kaldırmak istediğinize emin misiniz?", "RemoveCoverImage": "Kapak resmini kaldır", - "CmsKit.BlogPost.ScrollIndex": "Blog yazılarında hızlı gezinme çubuğu" + "CmsKit.BlogPost.ScrollIndex": "Blog yazılarında hızlı gezinme çubuğu", + "Add": "Ekle", + "AddWidget": "Widget Ekle", + "PleaseConfigureWidgets": "Lütfen widget'leri yapılandırın" } } From daa4f69b5055389234a2da4665c5bebef3693019 Mon Sep 17 00:00:00 2001 From: malik masis Date: Thu, 30 Jun 2022 11:17:16 +0300 Subject: [PATCH 12/27] Added select-box instead on input --- .../CmsKit/Contents/AddWidgetModal.cshtml | 14 +++++------ .../Pages/CmsKit/Contents/addWidgetModal.js | 25 +++++++++++++++---- 2 files changed, 27 insertions(+), 12 deletions(-) diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/AddWidgetModal.cshtml b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/AddWidgetModal.cshtml index 2b402c9353..7b50394b02 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/AddWidgetModal.cshtml +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/AddWidgetModal.cshtml @@ -16,15 +16,16 @@ } - -
- @if(Model.Widgets.Count() > 1){ - -
-
+ @if(Model.Widgets.Count() > 1) + { + + + @**@ +
+
} else @@ -33,5 +34,4 @@ }
-
diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/addWidgetModal.js b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/addWidgetModal.js index 8785add3b7..16a79d127e 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/addWidgetModal.js +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/addWidgetModal.js @@ -12,16 +12,31 @@ $(function () { volo.cmsKit.admin.contents.contentAdmin.getWidgets().then(function (data) { var widgetTypes = data.items.filter(v => v.key === widgetType); var firstWidgetType = widgetTypes[0]; - for (const property of firstWidgetType.properties) { - let html = "
" + - " " + - " " + - "
"; + if (firstWidgetType.key == "Poll") { + $("#polls").removeAttr("hidden"); + let widgetKey = $('#Widget').find('option:selected').val(); + let html = " " $("#PropertySideId").append(html); } + else { + for (const property of firstWidgetType.properties) { + let html = "
" + + " " + + " " + + "
"; + $("#PropertySideId").append(html); + } + } }); }); + $("#Widget").change(function () { + $("#PropertySideId").html(''); + let widgetKey = $(this).find('option:selected').val(); + let html = " " + $("#PropertySideId").append(html); + }); + $("#save-changes").click(function () { var keys = []; var values = []; From c8131f8bc6c2c2cd3cd579e70eceb9f548b55795 Mon Sep 17 00:00:00 2001 From: malik masis Date: Fri, 1 Jul 2022 17:01:28 +0300 Subject: [PATCH 13/27] changed select to autocompleted --- .../Pages/CmsKit/Contents/AddWidgetModal.cshtml | 15 +++++++-------- .../Pages/CmsKit/Contents/addWidgetModal.js | 7 ++----- 2 files changed, 9 insertions(+), 13 deletions(-) diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/AddWidgetModal.cshtml b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/AddWidgetModal.cshtml index 7b50394b02..04c4cbc2ae 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/AddWidgetModal.cshtml +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/AddWidgetModal.cshtml @@ -11,19 +11,18 @@ } @section scripts -{ + { } - - - -
- @if(Model.Widgets.Count() > 1) + + + +
+ @if (Model.Widgets.Count() > 1) { - - @**@ +
@await Component.InvokeAsync("CmsPolls")
diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/addWidgetModal.js b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/addWidgetModal.js index 16a79d127e..acb44044c5 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/addWidgetModal.js +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/addWidgetModal.js @@ -14,9 +14,6 @@ $(function () { var firstWidgetType = widgetTypes[0]; if (firstWidgetType.key == "Poll") { $("#polls").removeAttr("hidden"); - let widgetKey = $('#Widget').find('option:selected').val(); - let html = " " - $("#PropertySideId").append(html); } else { for (const property of firstWidgetType.properties) { @@ -30,9 +27,9 @@ $(function () { }); }); - $("#Widget").change(function () { + $("#WidgetCode").keyup(function (e) { $("#PropertySideId").html(''); - let widgetKey = $(this).find('option:selected').val(); + let widgetKey = $(this).val(); let html = " " $("#PropertySideId").append(html); }); From 2b9ee2cd202a548f1f422a78a05c65f37111caf9 Mon Sep 17 00:00:00 2001 From: malik masis Date: Sat, 2 Jul 2022 11:19:27 +0300 Subject: [PATCH 14/27] Added dynamic js files --- .../Pages/CmsKit/Contents/addWidgetModal.js | 5 +++++ .../src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Pages/create.js | 1 + 2 files changed, 6 insertions(+) diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/addWidgetModal.js b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/addWidgetModal.js index acb44044c5..83fe4c3685 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/addWidgetModal.js +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/addWidgetModal.js @@ -4,6 +4,11 @@ $(function () { var initModal = function () { + + $('head').append(''); + $('head').append(''); + $('head').append(''); + let widgetType; $("#ViewModel_Widget").change(function () { widgetType = this.value; diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Pages/create.js b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Pages/create.js index 3fd4df2c06..be705d6316 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Pages/create.js +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Pages/create.js @@ -172,6 +172,7 @@ $(function () { } function createLastButton() { + //TODO add auth const button = document.createElement('button'); button.className = 'toastui-editor-toolbar-icons last dropdown'; From 9a2b28a412c53d016c0160b4f31507b6246a5edd Mon Sep 17 00:00:00 2001 From: malik masis Date: Sun, 3 Jul 2022 13:26:45 +0300 Subject: [PATCH 15/27] Removed the unnecessary event for widget keyup --- .../Pages/CmsKit/Contents/AddWidgetModal.cshtml | 2 +- .../Pages/CmsKit/Contents/addWidgetModal.js | 14 ++++++-------- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/AddWidgetModal.cshtml b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/AddWidgetModal.cshtml index 04c4cbc2ae..3c4286dd8f 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/AddWidgetModal.cshtml +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/AddWidgetModal.cshtml @@ -22,7 +22,7 @@ @if (Model.Widgets.Count() > 1) { -
@await Component.InvokeAsync("CmsPolls")
+
diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/addWidgetModal.js b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/addWidgetModal.js index 83fe4c3685..58764af867 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/addWidgetModal.js +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/addWidgetModal.js @@ -4,7 +4,6 @@ $(function () { var initModal = function () { - $('head').append(''); $('head').append(''); $('head').append(''); @@ -32,14 +31,13 @@ $(function () { }); }); - $("#WidgetCode").keyup(function (e) { - $("#PropertySideId").html(''); - let widgetKey = $(this).val(); - let html = " " - $("#PropertySideId").append(html); - }); - $("#save-changes").click(function () { + var widgetKey = $('#WidgetCodes option').attr("data-key"); + if (widgetKey != undefined) { + let html = " " + $("#PropertySideId").append(html); + } + var keys = []; var values = []; $(".properties").each(function () { From 4c947ddd591d04bbe528170007386fe0363f4ff9 Mon Sep 17 00:00:00 2001 From: malik masis Date: Mon, 4 Jul 2022 09:48:48 +0300 Subject: [PATCH 16/27] Added some hiding/showing elements --- .../Pages/CmsKit/Contents/addWidgetModal.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/addWidgetModal.js b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/addWidgetModal.js index 58764af867..fa1a1ad92d 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/addWidgetModal.js +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/addWidgetModal.js @@ -13,14 +13,21 @@ $(function () { widgetType = this.value; $("#PropertySideId").html(''); + $("#WidgetCode").attr("hidden", "true"); + volo.cmsKit.admin.contents.contentAdmin.getWidgets().then(function (data) { var widgetTypes = data.items.filter(v => v.key === widgetType); var firstWidgetType = widgetTypes[0]; if (firstWidgetType.key == "Poll") { $("#polls").removeAttr("hidden"); + $("#WidgetCode").removeAttr("hidden"); } else { + + $("#WidgetCode").attr("hidden", "true"); + for (const property of firstWidgetType.properties) { + let html = "
" + " " + " " + From 2163620a0e91a9bbefbea7f8739a11b41b557e0f Mon Sep 17 00:00:00 2001 From: malik masis Date: Mon, 4 Jul 2022 13:37:25 +0300 Subject: [PATCH 17/27] Removed loading the manual script files --- .../Pages/CmsKit/Contents/addWidgetModal.js | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/addWidgetModal.js b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/addWidgetModal.js index fa1a1ad92d..3d15ed060d 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/addWidgetModal.js +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/addWidgetModal.js @@ -4,27 +4,23 @@ $(function () { var initModal = function () { - $('head').append(''); - $('head').append(''); - $('head').append(''); - let widgetType; $("#ViewModel_Widget").change(function () { widgetType = this.value; $("#PropertySideId").html(''); - $("#WidgetCode").attr("hidden", "true"); + $("#WidgetCodeDiv").hide(); volo.cmsKit.admin.contents.contentAdmin.getWidgets().then(function (data) { var widgetTypes = data.items.filter(v => v.key === widgetType); var firstWidgetType = widgetTypes[0]; if (firstWidgetType.key == "Poll") { $("#polls").removeAttr("hidden"); - $("#WidgetCode").removeAttr("hidden"); + $("#WidgetCodeDiv").show(); } else { - $("#WidgetCode").attr("hidden", "true"); + $("#WidgetCodeDiv").hide(); for (const property of firstWidgetType.properties) { @@ -39,7 +35,7 @@ $(function () { }); $("#save-changes").click(function () { - var widgetKey = $('#WidgetCodes option').attr("data-key"); + var widgetKey = $("#WidgetCode").val(); if (widgetKey != undefined) { let html = " " $("#PropertySideId").append(html); From 95fd9df6db241c666683c0449a78c5d59ba0af43 Mon Sep 17 00:00:00 2001 From: malik masis Date: Tue, 5 Jul 2022 09:41:32 +0300 Subject: [PATCH 18/27] Edited the design for AddWidgetModal --- .../Pages/CmsKit/Contents/AddWidgetModal.cshtml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/AddWidgetModal.cshtml b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/AddWidgetModal.cshtml index 3c4286dd8f..4614c347c4 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/AddWidgetModal.cshtml +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/AddWidgetModal.cshtml @@ -18,12 +18,12 @@ -
+
@if (Model.Widgets.Count() > 1) { -
+
} From 34dca9a45c1a30260bdd2be1260255b36e179fa9 Mon Sep 17 00:00:00 2001 From: malik masis Date: Tue, 5 Jul 2022 09:55:01 +0300 Subject: [PATCH 19/27] Removed the unnecessary space char --- .../Pages/CmsKit/Contents/addWidgetModal.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/addWidgetModal.js b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/addWidgetModal.js index 3d15ed060d..108167afa6 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/addWidgetModal.js +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/addWidgetModal.js @@ -61,7 +61,8 @@ $(function () { updatedText = "[Widget Type=\"" + widgetType + "\" "; for (var i = 0; i < keys.length; i++) { - updatedText += keys[i] + "=\"" + values[i] + "\" "; + updatedText += keys[i] + "=\"" + values[i]; + updatedText += i == (keys.length - 1) ? "\"" : "\" "; } updatedText += "]"; From 9243b5128c3411392103bdfafbc2e6f9a0463eb2 Mon Sep 17 00:00:00 2001 From: malik masis Date: Tue, 5 Jul 2022 16:28:17 +0300 Subject: [PATCH 20/27] Changed structure of CmsKitContentWidgetOptions --- .../CmsKit/Admin/Contents/ContentWidgetDto.cs | 6 +++--- .../Admin/Contents/ContentAdminAppService.cs | 13 ++----------- .../Pages/CmsKit/Contents/AddWidgetModal.cshtml | 8 +++++--- .../CmsKit/Contents/AddWidgetModal.cshtml.cs | 13 +++++++++++-- .../Pages/CmsKit/Contents/addWidgetModal.js | 6 +++--- .../{PropertyDto.cs => WidgetDetailDto.cs} | 4 ++-- .../CmsKit/Contents/CmsKitContentWidgetOptions.cs | 7 +++---- .../Volo/CmsKit/Contents/ContentWidgetConfig.cs | 15 ++++----------- 8 files changed, 33 insertions(+), 39 deletions(-) rename modules/cms-kit/src/Volo.CmsKit.Common.Application.Contracts/Volo/CmsKit/Contents/{PropertyDto.cs => WidgetDetailDto.cs} (59%) diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Contents/ContentWidgetDto.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Contents/ContentWidgetDto.cs index 0292108185..dd6a54722e 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Contents/ContentWidgetDto.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Contents/ContentWidgetDto.cs @@ -1,5 +1,4 @@ using System; -using System.Collections.Generic; using Volo.CmsKit.Contents; namespace Volo.CmsKit.Admin.Contents; @@ -8,5 +7,6 @@ namespace Volo.CmsKit.Admin.Contents; public class ContentWidgetDto { public string Key { get; set; } - public List Properties { get; set; } = new(); -} + + public WidgetDetailDto Details { get; set; } +} \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Contents/ContentAdminAppService.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Contents/ContentAdminAppService.cs index f8a76cabc8..72f4e444d2 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Contents/ContentAdminAppService.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Contents/ContentAdminAppService.cs @@ -21,16 +21,7 @@ public class ContentAdminAppService : CmsKitAdminAppServiceBase, IContentAdminAp //TODO remove if (!_options.WidgetConfigs.Any()) { - _options.AddWidget("Poll", "CmsPollByCode", new List() - { - new PropertyDto() { Key = "Code", Name = "Code" } - }); - - _options.AddWidget("Comment", "CmsCommenting", new List() - { - new PropertyDto() { Key = "EntityType", Name = "EntityType" }, - new PropertyDto() { Key = "EntityId", Name = "EntityId" } - }); + _options.AddWidget("CmsPollByCode", "Poll", "CmsPolls"); } return Task.FromResult(new ListResultDto() { @@ -39,7 +30,7 @@ public class ContentAdminAppService : CmsKitAdminAppServiceBase, IContentAdminAp new ContentWidgetDto { Key = n.Key, - Properties = n.Value.Properties + Details = new WidgetDetailDto() { InternalName = n.Value.InternalName, Name = n.Value.Name }, }).ToList() }); diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/AddWidgetModal.cshtml b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/AddWidgetModal.cshtml index 4614c347c4..10597f19d7 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/AddWidgetModal.cshtml +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/AddWidgetModal.cshtml @@ -10,8 +10,7 @@ Layout = null; } -@section scripts - { +@section scripts { } @@ -22,7 +21,10 @@ @if (Model.Widgets.Count() > 1) { - + foreach (var item in Model.ViewModel.Details) + { + + }
diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/AddWidgetModal.cshtml.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/AddWidgetModal.cshtml.cs index 6614c40d27..f7ed5f5b24 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/AddWidgetModal.cshtml.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/AddWidgetModal.cshtml.cs @@ -6,6 +6,7 @@ using Microsoft.AspNetCore.Mvc.Rendering; using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form; using Volo.Abp.AspNetCore.Mvc.UI.RazorPages; using Volo.CmsKit.Admin.Contents; +using Volo.CmsKit.Contents; namespace Volo.CmsKit.Admin.Web.Pages.CmsKit.Contents; @@ -25,10 +26,16 @@ public class AddWidgetModal : AbpPageModel public async Task OnGetAsync() { + var widgets = await ContentAdminAppService.GetWidgetsAsync(); + ViewModel = new ContentViewModel() + { + Details = widgets.Items.Select(p => p.Details).ToList() + }; + Widgets = new List() { new("", "") }; - Widgets.AddRange((await ContentAdminAppService.GetWidgetsAsync()) + Widgets.AddRange(widgets .Items - .Select(w => new SelectListItem(w.Key, w.Key)) + .Select(w => new SelectListItem(w.Details.Name, w.Key)) .ToList()); } @@ -36,5 +43,7 @@ public class AddWidgetModal : AbpPageModel { [SelectItems(nameof(Widgets))] public string Widget { get; set; } + + public List Details { get; set; } } } diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/addWidgetModal.js b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/addWidgetModal.js index 108167afa6..6191c54da7 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/addWidgetModal.js +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/addWidgetModal.js @@ -6,15 +6,15 @@ $(function () { let widgetType; $("#ViewModel_Widget").change(function () { - widgetType = this.value; + widgetType = $("#ViewModel_Widget").find(":selected").text(); $("#PropertySideId").html(''); $("#WidgetCodeDiv").hide(); volo.cmsKit.admin.contents.contentAdmin.getWidgets().then(function (data) { - var widgetTypes = data.items.filter(v => v.key === widgetType); + var widgetTypes = data.items.filter(v => v.details.name === widgetType); var firstWidgetType = widgetTypes[0]; - if (firstWidgetType.key == "Poll") { + if (firstWidgetType.key == "CmsPollByCode") { $("#polls").removeAttr("hidden"); $("#WidgetCodeDiv").show(); } diff --git a/modules/cms-kit/src/Volo.CmsKit.Common.Application.Contracts/Volo/CmsKit/Contents/PropertyDto.cs b/modules/cms-kit/src/Volo.CmsKit.Common.Application.Contracts/Volo/CmsKit/Contents/WidgetDetailDto.cs similarity index 59% rename from modules/cms-kit/src/Volo.CmsKit.Common.Application.Contracts/Volo/CmsKit/Contents/PropertyDto.cs rename to modules/cms-kit/src/Volo.CmsKit.Common.Application.Contracts/Volo/CmsKit/Contents/WidgetDetailDto.cs index 4e0a1a700c..5d67ed15cc 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Common.Application.Contracts/Volo/CmsKit/Contents/PropertyDto.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Common.Application.Contracts/Volo/CmsKit/Contents/WidgetDetailDto.cs @@ -3,8 +3,8 @@ namespace Volo.CmsKit.Contents; [Serializable] -public class PropertyDto +public class WidgetDetailDto { - public string Key { get; set; } public string Name { get; set; } + public string InternalName { get; set; } } diff --git a/modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/Contents/CmsKitContentWidgetOptions.cs b/modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/Contents/CmsKitContentWidgetOptions.cs index 1a480a18a2..8af6f1f2d0 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/Contents/CmsKitContentWidgetOptions.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/Contents/CmsKitContentWidgetOptions.cs @@ -11,10 +11,9 @@ public class CmsKitContentWidgetOptions WidgetConfigs = new(); } - public void AddWidget(string widgetName, string widgetKey, List properties = null) + public void AddWidget(string widgetKey, string widgetName, string internalWidgetName = null) { - var conf = new ContentWidgetConfig(widgetKey); - conf.Properties.AddRange(properties); - WidgetConfigs.Add(widgetName, conf); + var config = new ContentWidgetConfig(widgetName, internalWidgetName); + WidgetConfigs.Add(widgetKey, config); } } \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/Contents/ContentWidgetConfig.cs b/modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/Contents/ContentWidgetConfig.cs index 507024956a..cbeed83c86 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/Contents/ContentWidgetConfig.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/Contents/ContentWidgetConfig.cs @@ -1,21 +1,14 @@ -using System.Collections.Generic; - -namespace Volo.CmsKit.Contents; +namespace Volo.CmsKit.Contents; public class ContentWidgetConfig { public string Name { get; } - public List Properties { get; } + public string InternalName { get; } - public ContentWidgetConfig(string widgetName) + public ContentWidgetConfig(string widgetName, string internalName) { - Properties = new(); Name = widgetName; - } - - public void AddProperty(string key, string name) - { - Properties.Add(new PropertyDto() { Key = key, Name = name }); + InternalName = internalName; } } \ No newline at end of file From e273c27d47c4e1f2d936f6a0cbb8b8f4b1e8f61f Mon Sep 17 00:00:00 2001 From: malik masis Date: Tue, 5 Jul 2022 16:59:12 +0300 Subject: [PATCH 21/27] Changed key name places --- .../Pages/CmsKit/Contents/AddWidgetModal.cshtml.cs | 2 +- .../Pages/CmsKit/Contents/addWidgetModal.js | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/AddWidgetModal.cshtml.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/AddWidgetModal.cshtml.cs index f7ed5f5b24..932a91dd37 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/AddWidgetModal.cshtml.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/AddWidgetModal.cshtml.cs @@ -35,7 +35,7 @@ public class AddWidgetModal : AbpPageModel Widgets = new List() { new("", "") }; Widgets.AddRange(widgets .Items - .Select(w => new SelectListItem(w.Details.Name, w.Key)) + .Select(w => new SelectListItem(w.Key, w.Details.Name)) .ToList()); } diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/addWidgetModal.js b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/addWidgetModal.js index 6191c54da7..8e6dfefd91 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/addWidgetModal.js +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/addWidgetModal.js @@ -12,9 +12,9 @@ $(function () { $("#WidgetCodeDiv").hide(); volo.cmsKit.admin.contents.contentAdmin.getWidgets().then(function (data) { - var widgetTypes = data.items.filter(v => v.details.name === widgetType); + var widgetTypes = data.items.filter(v => v.key === widgetType); var firstWidgetType = widgetTypes[0]; - if (firstWidgetType.key == "CmsPollByCode") { + if (firstWidgetType.key == "Poll") { $("#polls").removeAttr("hidden"); $("#WidgetCodeDiv").show(); } From fcec87c5e4a7ebe869e9b98fc55de3e6b8762c5b Mon Sep 17 00:00:00 2001 From: malik masis Date: Tue, 5 Jul 2022 16:59:53 +0300 Subject: [PATCH 22/27] Added the AddWidget button to Page/Update --- .../Pages/CmsKit/Pages/Update.cshtml | 1 + .../Pages/CmsKit/Pages/create.js | 4 +-- .../Pages/CmsKit/Pages/update.js | 29 +++++++++++++++++++ 3 files changed, 32 insertions(+), 2 deletions(-) diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Pages/Update.cshtml b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Pages/Update.cshtml index 499ad1b633..ea6f8c9a1b 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Pages/Update.cshtml +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Pages/Update.cshtml @@ -30,6 +30,7 @@ + } diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Pages/create.js b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Pages/create.js index be705d6316..f511cfc1cd 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Pages/create.js +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Pages/create.js @@ -122,7 +122,7 @@ $(function () { ['code', 'codeblock'], // Using Option: Customize the last button [{ - el: createLastButton(), + el: createAddWidgetButton(), command: 'bold', tooltip: 'Add Widget' }] @@ -171,7 +171,7 @@ $(function () { }); } - function createLastButton() { + function createAddWidgetButton() { //TODO add auth const button = document.createElement('button'); diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Pages/update.js b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Pages/update.js index 6bd90dd934..9b42338854 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Pages/update.js +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Pages/update.js @@ -4,6 +4,7 @@ $(function () { var $formUpdate = $('#form-page-update'); var $buttonSubmit = $('#button-page-update'); + var widgetModal = new abp.ModalManager({ viewUrl: abp.appPath + "CmsKit/Contents/AddWidgetModal", modalClass: "addWidgetModal" }); $formUpdate.data('validator').settings.ignore = ":hidden, [contenteditable='true']:not([name]), .tui-popup-wrapper"; @@ -83,6 +84,19 @@ $(function () { minHeight: "25em", initialEditType: 'markdown', language: $editorContainer.data("language"), + toolbarItems: [ + ['heading', 'bold', 'italic', 'strike'], + ['hr', 'quote'], + ['ul', 'ol', 'task', 'indent', 'outdent'], + ['table', 'image', 'link'], + ['code', 'codeblock'], + // Using Option: Customize the last button + [{ + el: createAddWidgetButton(), + command: 'bold', + tooltip: 'Add Widget' + }] + ], hooks: { addImageBlobHook: uploadFile, }, @@ -126,4 +140,19 @@ $(function () { } }); } + + function createAddWidgetButton() { + const button = document.createElement('button'); + + button.className = 'toastui-editor-toolbar-icons last dropdown'; + button.style.backgroundImage = 'none'; + button.style.margin = '0'; + button.innerHTML = `AW`; + button.addEventListener('click', (event) => { + event.preventDefault(); + widgetModal.open(); + }); + + return button; + } }); From 0c0783059f8cd60858ce4f937eb072278873012f Mon Sep 17 00:00:00 2001 From: malik masis Date: Tue, 5 Jul 2022 17:10:38 +0300 Subject: [PATCH 23/27] Added `AddWidget` button to Blogpost\Create --- .../Pages/CmsKit/BlogPosts/Create.cshtml | 1 + .../Pages/CmsKit/BlogPosts/create.js | 29 +++++++++++++++++++ 2 files changed, 30 insertions(+) diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/BlogPosts/Create.cshtml b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/BlogPosts/Create.cshtml index eefc59e849..159bd66b5f 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/BlogPosts/Create.cshtml +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/BlogPosts/Create.cshtml @@ -31,6 +31,7 @@ + } diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/BlogPosts/create.js b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/BlogPosts/create.js index ab46438fbb..86825be7e2 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/BlogPosts/create.js +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/BlogPosts/create.js @@ -22,6 +22,7 @@ $(function () { var $tagsInput = $('.tag-editor-form input[name=tags]'); var $fileInput = $('#BlogPostCoverImage'); var $tagsWrapper = $('#blog-post-tags-wrapper'); + var widgetModal = new abp.ModalManager({ viewUrl: abp.appPath + "CmsKit/Contents/AddWidgetModal", modalClass: "addWidgetModal" }); var UPPY_FILE_ID = "uppy-upload-file"; @@ -274,6 +275,19 @@ $(function () { minHeight: "25em", initialEditType: 'markdown', language: $editorContainer.data("language"), + toolbarItems: [ + ['heading', 'bold', 'italic', 'strike'], + ['hr', 'quote'], + ['ul', 'ol', 'task', 'indent', 'outdent'], + ['table', 'image', 'link'], + ['code', 'codeblock'], + // Using Option: Customize the last button + [{ + el: createAddWidgetButton(), + command: 'bold', + tooltip: 'Add Widget' + }] + ], hooks: { addImageBlobHook: uploadFile, }, @@ -318,4 +332,19 @@ $(function () { } }); } + + function createAddWidgetButton() { + const button = document.createElement('button'); + + button.className = 'toastui-editor-toolbar-icons last dropdown'; + button.style.backgroundImage = 'none'; + button.style.margin = '0'; + button.innerHTML = `AW`; + button.addEventListener('click', (event) => { + event.preventDefault(); + widgetModal.open(); + }); + + return button; + } }); From 55681e44e905f668b8329d5592b73f8566abd7b6 Mon Sep 17 00:00:00 2001 From: malik masis Date: Tue, 5 Jul 2022 17:10:44 +0300 Subject: [PATCH 24/27] Added `AddWidget` button to Blogpost\Update --- .../Pages/CmsKit/BlogPosts/Update.cshtml | 1 + .../Pages/CmsKit/BlogPosts/update.js | 29 +++++++++++++++++++ 2 files changed, 30 insertions(+) diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/BlogPosts/Update.cshtml b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/BlogPosts/Update.cshtml index f48f5e7bd0..04a41ffe5a 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/BlogPosts/Update.cshtml +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/BlogPosts/Update.cshtml @@ -29,6 +29,7 @@ + } diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/BlogPosts/update.js b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/BlogPosts/update.js index 732578f3fb..0762f70891 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/BlogPosts/update.js +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/BlogPosts/update.js @@ -11,6 +11,7 @@ $(function () { var $tagsInput = $('.tag-editor-form input[name=tags]'); var $fileInput = $('#BlogPostCoverImage'); var $buttonRemoveCoverImage = $('#button-remove-cover-image'); + var widgetModal = new abp.ModalManager({ viewUrl: abp.appPath + "CmsKit/Contents/AddWidgetModal", modalClass: "addWidgetModal" }); var UPPY_FILE_ID = "uppy-upload-file"; @@ -185,6 +186,19 @@ $(function () { minHeight: "25em", initialEditType: 'markdown', language: $editorContainer.data("language"), + toolbarItems: [ + ['heading', 'bold', 'italic', 'strike'], + ['hr', 'quote'], + ['ul', 'ol', 'task', 'indent', 'outdent'], + ['table', 'image', 'link'], + ['code', 'codeblock'], + // Using Option: Customize the last button + [{ + el: createAddWidgetButton(), + command: 'bold', + tooltip: 'Add Widget' + }] + ], hooks: { addImageBlobHook: uploadFile, }, @@ -240,4 +254,19 @@ $(function () { } ); }); + + function createAddWidgetButton() { + const button = document.createElement('button'); + + button.className = 'toastui-editor-toolbar-icons last dropdown'; + button.style.backgroundImage = 'none'; + button.style.margin = '0'; + button.innerHTML = `AW`; + button.addEventListener('click', (event) => { + event.preventDefault(); + widgetModal.open(); + }); + + return button; + } }); From ee470c4a7302c36b943d1ef3fc9108a40dca622b Mon Sep 17 00:00:00 2001 From: malik masis Date: Wed, 6 Jul 2022 09:34:56 +0300 Subject: [PATCH 25/27] Removed the example hard coded data --- .../Volo/CmsKit/Admin/Contents/ContentAdminAppService.cs | 5 ----- 1 file changed, 5 deletions(-) diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Contents/ContentAdminAppService.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Contents/ContentAdminAppService.cs index 72f4e444d2..98cd979dd5 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Contents/ContentAdminAppService.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Contents/ContentAdminAppService.cs @@ -18,11 +18,6 @@ public class ContentAdminAppService : CmsKitAdminAppServiceBase, IContentAdminAp public virtual Task> GetWidgetsAsync() { - //TODO remove - if (!_options.WidgetConfigs.Any()) - { - _options.AddWidget("CmsPollByCode", "Poll", "CmsPolls"); - } return Task.FromResult(new ListResultDto() { Items = _options.WidgetConfigs From 0a6c531bd9d35421ef95b3f0a2ba64e0868244c3 Mon Sep 17 00:00:00 2001 From: enisn Date: Wed, 6 Jul 2022 10:34:06 +0300 Subject: [PATCH 26/27] Review Refactors --- .../Admin/Contents/ContentAdminAppService.cs | 2 +- .../CmsKit/Contents/AddWidgetModal.cshtml | 3 ++- .../CmsKit/Contents/AddWidgetModal.cshtml.cs | 2 +- .../Pages/CmsKit/Contents/addWidgetModal.js | 27 +++---------------- .../Volo/CmsKit/Contents/WidgetDetailDto.cs | 2 +- .../Contents/CmsKitContentWidgetOptions.cs | 4 +-- 6 files changed, 10 insertions(+), 30 deletions(-) diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Contents/ContentAdminAppService.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Contents/ContentAdminAppService.cs index 98cd979dd5..f784b296f8 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Contents/ContentAdminAppService.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Contents/ContentAdminAppService.cs @@ -25,7 +25,7 @@ public class ContentAdminAppService : CmsKitAdminAppServiceBase, IContentAdminAp new ContentWidgetDto { Key = n.Key, - Details = new WidgetDetailDto() { InternalName = n.Value.InternalName, Name = n.Value.Name }, + Details = new WidgetDetailDto() { EditorComponentName = n.Value.InternalName, Name = n.Value.Name }, }).ToList() }); diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/AddWidgetModal.cshtml b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/AddWidgetModal.cshtml index 10597f19d7..3219538d46 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/AddWidgetModal.cshtml +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/AddWidgetModal.cshtml @@ -21,9 +21,10 @@ @if (Model.Widgets.Count() > 1) { + foreach (var item in Model.ViewModel.Details) { - + }
diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/AddWidgetModal.cshtml.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/AddWidgetModal.cshtml.cs index 932a91dd37..5b1e8e5ea7 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/AddWidgetModal.cshtml.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/AddWidgetModal.cshtml.cs @@ -32,7 +32,7 @@ public class AddWidgetModal : AbpPageModel Details = widgets.Items.Select(p => p.Details).ToList() }; - Widgets = new List() { new("", "") }; + Widgets = new List() { new(string.Empty, string.Empty) }; Widgets.AddRange(widgets .Items .Select(w => new SelectListItem(w.Key, w.Details.Name)) diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/addWidgetModal.js b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/addWidgetModal.js index 8e6dfefd91..4cc242c613 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/addWidgetModal.js +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/addWidgetModal.js @@ -6,32 +6,11 @@ $(function () { let widgetType; $("#ViewModel_Widget").change(function () { - widgetType = $("#ViewModel_Widget").find(":selected").text(); + widgetType = $("#ViewModel_Widget").val(); - $("#PropertySideId").html(''); - $("#WidgetCodeDiv").hide(); + $('.widget-detail').attr('hidden', 'true'); - volo.cmsKit.admin.contents.contentAdmin.getWidgets().then(function (data) { - var widgetTypes = data.items.filter(v => v.key === widgetType); - var firstWidgetType = widgetTypes[0]; - if (firstWidgetType.key == "Poll") { - $("#polls").removeAttr("hidden"); - $("#WidgetCodeDiv").show(); - } - else { - - $("#WidgetCodeDiv").hide(); - - for (const property of firstWidgetType.properties) { - - let html = "
" + - " " + - " " + - "
"; - $("#PropertySideId").append(html); - } - } - }); + $('#editor-' + widgetType).removeAttr('hidden'); }); $("#save-changes").click(function () { diff --git a/modules/cms-kit/src/Volo.CmsKit.Common.Application.Contracts/Volo/CmsKit/Contents/WidgetDetailDto.cs b/modules/cms-kit/src/Volo.CmsKit.Common.Application.Contracts/Volo/CmsKit/Contents/WidgetDetailDto.cs index 5d67ed15cc..d9e00712ff 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Common.Application.Contracts/Volo/CmsKit/Contents/WidgetDetailDto.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Common.Application.Contracts/Volo/CmsKit/Contents/WidgetDetailDto.cs @@ -6,5 +6,5 @@ namespace Volo.CmsKit.Contents; public class WidgetDetailDto { public string Name { get; set; } - public string InternalName { get; set; } + public string EditorComponentName { get; set; } } diff --git a/modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/Contents/CmsKitContentWidgetOptions.cs b/modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/Contents/CmsKitContentWidgetOptions.cs index 8af6f1f2d0..1ff76acf79 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/Contents/CmsKitContentWidgetOptions.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/Contents/CmsKitContentWidgetOptions.cs @@ -11,9 +11,9 @@ public class CmsKitContentWidgetOptions WidgetConfigs = new(); } - public void AddWidget(string widgetKey, string widgetName, string internalWidgetName = null) + public void AddWidget(string widgetKey, string widgetName, string editorWidgetName = null) { - var config = new ContentWidgetConfig(widgetName, internalWidgetName); + var config = new ContentWidgetConfig(widgetName, editorWidgetName); WidgetConfigs.Add(widgetKey, config); } } \ No newline at end of file From 43aeec3cb621116a219f4ce86bd7d8914005bd9a Mon Sep 17 00:00:00 2001 From: malik masis Date: Wed, 6 Jul 2022 11:29:38 +0300 Subject: [PATCH 27/27] Used EditorComponentName istead of InternalName --- .../Volo/CmsKit/Admin/Contents/ContentAdminAppService.cs | 7 +++---- .../Volo/CmsKit/Contents/ContentWidgetConfig.cs | 6 +++--- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Contents/ContentAdminAppService.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Contents/ContentAdminAppService.cs index f784b296f8..8d06586e29 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Contents/ContentAdminAppService.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Contents/ContentAdminAppService.cs @@ -1,5 +1,4 @@ -using System.Collections.Generic; -using System.Linq; +using System.Linq; using System.Threading.Tasks; using Microsoft.Extensions.Options; using Volo.Abp.Application.Dtos; @@ -25,9 +24,9 @@ public class ContentAdminAppService : CmsKitAdminAppServiceBase, IContentAdminAp new ContentWidgetDto { Key = n.Key, - Details = new WidgetDetailDto() { EditorComponentName = n.Value.InternalName, Name = n.Value.Name }, + Details = new WidgetDetailDto() { EditorComponentName = n.Value.EditorComponentName, Name = n.Value.Name }, }).ToList() }); } -} +} \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/Contents/ContentWidgetConfig.cs b/modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/Contents/ContentWidgetConfig.cs index cbeed83c86..e14c1888ac 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/Contents/ContentWidgetConfig.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/Contents/ContentWidgetConfig.cs @@ -3,12 +3,12 @@ public class ContentWidgetConfig { public string Name { get; } - public string InternalName { get; } + public string EditorComponentName { get; } - public ContentWidgetConfig(string widgetName, string internalName) + public ContentWidgetConfig(string widgetName, string editorComponentName) { Name = widgetName; - InternalName = internalName; + EditorComponentName = editorComponentName; } } \ No newline at end of file