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);