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 159bd66b5f..27a5be8083 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 @@ -98,3 +98,4 @@ } + \ No newline at end of file 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 04a41ffe5a..fc7987cc5b 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 @@ -95,3 +95,4 @@ + \ No newline at end of file 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 9fd95b0e14..375b7ad41b 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 @@ -7,7 +7,7 @@ $(function () { Published: 1, SendToReview: 2 }; - + var $selectBlog = $('#BlogSelectionSelect'); var $formCreate = $('#form-blog-post-create'); var $title = $('#ViewModel_Title'); @@ -250,21 +250,17 @@ $(function () { var fileUploadUri = "/api/cms-kit-admin/media/blogpost"; var fileUriPrefix = "/api/cms-kit/media/"; - initAllEditors(); + initEditor(); - function initAllEditors() { - $('.content-editor').each(function (i, item) { - initEditor(item); - }); - } + var editor; - function initEditor(element) { - var $editorContainer = $(element); + function initEditor() { + var $editorContainer = $("#ContentEditor"); var inputName = $editorContainer.data('input-id'); var $editorInput = $('#' + inputName); var initialValue = $editorInput.val(); - var editor = new toastui.Editor({ + editor = new toastui.Editor({ el: $editorContainer[0], usageStatistics: false, useCommandShortcut: true, @@ -333,6 +329,11 @@ $(function () { }); } + $('#GeneratedWidgetText').on('change', function () { + var txt = $('#GeneratedWidgetText').val(); + editor.insertText(txt); + }); + function createAddWidgetButton() { const button = document.createElement('button'); 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 98505c479e..51e3eda96c 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 @@ -161,21 +161,16 @@ $(function () { var fileUploadUri = "/api/cms-kit-admin/media/blogpost"; var fileUriPrefix = "/api/cms-kit/media/"; - initAllEditors(); + initEditor(); - function initAllEditors() { - $('.content-editor').each(function (i, item) { - initEditor(item); - }); - } - - function initEditor(element) { - var $editorContainer = $(element); + var editor; + function initEditor() { + var $editorContainer = $("#ContentEditor"); var inputName = $editorContainer.data('input-id'); var $editorInput = $('#' + inputName); var initialValue = $editorInput.val(); - var editor = new toastui.Editor({ + editor = new toastui.Editor({ el: $editorContainer[0], usageStatistics: false, useCommandShortcut: true, @@ -255,6 +250,11 @@ $(function () { ); }); + $('#GeneratedWidgetText').on('change', function () { + var txt = $('#GeneratedWidgetText').val(); + editor.insertText(txt); + }); + function createAddWidgetButton() { const button = document.createElement('button'); 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 02539d377a..2c307c8faf 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 @@ -30,11 +30,6 @@ $(function () { } }); - var contentEditorText = $("#ContentEditor")[0].innerText - .replace('WritePreview', '') - .replace('MarkdownWYSIWYG', '') - .replace('W', ''); - let updatedText = ''; if (widgetType != undefined) { @@ -48,16 +43,8 @@ $(function () { 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; - } + $('#GeneratedWidgetText').val(updatedText); + $("#GeneratedWidgetText").trigger("change"); $('#addWidgetModal').modal('hide'); }); 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 9348b07507..da3226420f 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 @@ -76,3 +76,4 @@ + \ No newline at end of file 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 ea6f8c9a1b..d24ad8bc06 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 @@ -83,3 +83,4 @@ + \ 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 8dc2ab9eb4..49a482bf33 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 @@ -89,21 +89,16 @@ $(function () { var fileUploadUri = "/api/cms-kit-admin/media/page"; var fileUriPrefix = "/api/cms-kit/media/"; - initAllEditors(); - - function initAllEditors() { - $('.content-editor').each(function (i, item) { - initEditor(item); - }); - } - - function initEditor(element) { - var $editorContainer = $(element); + initEditor(); + + var editor; + function initEditor() { + var $editorContainer = $("#ContentEditor"); var inputName = $editorContainer.data('input-id'); var $editorInput = $('#' + inputName); var initialValue = $editorInput.val(); - var editor = new toastui.Editor({ + editor = new toastui.Editor({ el: $editorContainer[0], usageStatistics: false, useCommandShortcut: true, @@ -138,7 +133,7 @@ $(function () { } }); } - + function uploadFile(blob, callback, source) { var UPPY_OPTIONS = { endpoint: fileUploadUri, @@ -171,8 +166,12 @@ $(function () { }); } + $('#GeneratedWidgetText').on('change',function () { + var txt = $('#GeneratedWidgetText').val(); + editor.insertText(txt); + }); + function createAddWidgetButton() { - //TODO add auth const button = document.createElement('button'); button.className = 'toastui-editor-toolbar-icons last dropdown'; 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 f8b837cc1f..565f758552 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 @@ -59,21 +59,16 @@ $(function () { var fileUploadUri = "/api/cms-kit-admin/media/page"; var fileUriPrefix = "/api/cms-kit/media/"; - initAllEditors(); + initEditor(); - function initAllEditors() { - $('.content-editor').each(function (i, item) { - initEditor(item); - }); - } - - function initEditor(element) { - var $editorContainer = $(element); + var editor; + function initEditor() { + var $editorContainer = $("#ContentEditor"); var inputName = $editorContainer.data('input-id'); var $editorInput = $('#' + inputName); var initialValue = $editorInput.val(); - var editor = new toastui.Editor({ + editor = new toastui.Editor({ el: $editorContainer[0], usageStatistics: false, useCommandShortcut: true, @@ -141,6 +136,11 @@ $(function () { }); } + $('#GeneratedWidgetText').on('change', function () { + var txt = $('#GeneratedWidgetText').val(); + editor.insertText(txt); + }); + function createAddWidgetButton() { const button = document.createElement('button'); 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 1ff76acf79..b87f286b5c 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,7 +11,7 @@ public class CmsKitContentWidgetOptions WidgetConfigs = new(); } - public void AddWidget(string widgetKey, string widgetName, string editorWidgetName = null) + public void AddWidget(string widgetKey, string widgetName, string editorWidgetName) { var config = new ContentWidgetConfig(widgetName, editorWidgetName); WidgetConfigs.Add(widgetKey, config); diff --git a/modules/cms-kit/test/Volo.CmsKit.Application.Tests/Contents/ContentAdminAppService_Tests.cs b/modules/cms-kit/test/Volo.CmsKit.Application.Tests/Contents/ContentAdminAppService_Tests.cs new file mode 100644 index 0000000000..f338d3d7d1 --- /dev/null +++ b/modules/cms-kit/test/Volo.CmsKit.Application.Tests/Contents/ContentAdminAppService_Tests.cs @@ -0,0 +1,27 @@ +using System.Linq; +using System.Threading.Tasks; +using Shouldly; +using Volo.CmsKit.Admin.Contents; +using Xunit; + +namespace Volo.CmsKit.Contents; + +public class ContentAdminAppService_Tests : CmsKitApplicationTestBase +{ + private readonly IContentAdminAppService _contentAdminAppService; + + public ContentAdminAppService_Tests() + { + _contentAdminAppService = GetRequiredService(); + } + + [Fact] + public async Task ShouldGet_PagedListAsync() + { + var widgets = await _contentAdminAppService.GetWidgetsAsync(); + + widgets.Items.Count.ShouldBe(0); + widgets.Items.Any().ShouldBeFalse(); + } + +} diff --git a/modules/cms-kit/test/Volo.CmsKit.Application.Tests/Contents/ContentParser_Test.cs b/modules/cms-kit/test/Volo.CmsKit.Application.Tests/Contents/ContentParser_Test.cs index 108d883a70..b08a127111 100644 --- a/modules/cms-kit/test/Volo.CmsKit.Application.Tests/Contents/ContentParser_Test.cs +++ b/modules/cms-kit/test/Volo.CmsKit.Application.Tests/Contents/ContentParser_Test.cs @@ -20,8 +20,8 @@ public class ContentParser_Test : CmsKitDomainTestBase [Fact] public async Task ParseAsync_ShouldWorkWithDifferentWidgetTypes() { - _options.Value.AddWidget(testData.PollName, testData.WidgetName); - _options.Value.AddWidget("ImageGallery", "ImageGallery"); + _options.Value.AddWidget(testData.PollName, testData.WidgetName, string.Empty); + _options.Value.AddWidget("ImageGallery", "ImageGallery", string.Empty); contentParser = new ContentParser(_options); var content = @"**ABP Framework** is completely open source and developed in a community-driven manner. @@ -54,7 +54,7 @@ public class ContentParser_Test : CmsKitDomainTestBase [Fact] public async Task ParseAsync_ShouldWorkWithWrongConfigOptions() { - _options.Value.AddWidget(testData.WidgetName, testData.PollName); + _options.Value.AddWidget(testData.WidgetName, testData.PollName, string.Empty); contentParser = new ContentParser(_options); var content = @"**ABP Framework** is completely open source and developed in a community-driven manner. @@ -70,7 +70,7 @@ public class ContentParser_Test : CmsKitDomainTestBase [Fact] public async Task ParseAsync_ShouldWorkWithWrongWidgetType() { - _options.Value.AddWidget(testData.PollName, testData.WidgetName); + _options.Value.AddWidget(testData.PollName, testData.WidgetName, string.Empty); contentParser = new ContentParser(_options); var content = @"**ABP Framework** is completely open source and developed in a community-driven manner. @@ -86,7 +86,7 @@ public class ContentParser_Test : CmsKitDomainTestBase [Fact] public async Task ParseAsync_ShouldWorkWithWrongPollName() { - _options.Value.AddWidget(testData.PollName, testData.WidgetName); + _options.Value.AddWidget(testData.PollName, testData.WidgetName, string.Empty); contentParser = new ContentParser(_options); var content = @"**ABP Framework** is completely open source and developed in a community-driven manner. @@ -103,7 +103,7 @@ public class ContentParser_Test : CmsKitDomainTestBase [MemberData(nameof(ExampleData))] public async Task ParseAsync_ShouldWorkProperlyWithCorrectInputs(string content, int expectedLine) { - _options.Value.AddWidget(testData.PollName, testData.WidgetName); + _options.Value.AddWidget(testData.PollName, testData.WidgetName, string.Empty); contentParser = new ContentParser(_options); var widgets = await contentParser.ParseAsync(content);