Browse Source

Merge branch 'dev' into Doc-Dynamic-Widget

pull/13269/head
malik masis 4 years ago
parent
commit
eb6f5df7f1
  1. 1
      modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/BlogPosts/Create.cshtml
  2. 1
      modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/BlogPosts/Update.cshtml
  3. 21
      modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/BlogPosts/create.js
  4. 20
      modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/BlogPosts/update.js
  5. 17
      modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Contents/addWidgetModal.js
  6. 1
      modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Pages/Create.cshtml
  7. 1
      modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Pages/Update.cshtml
  8. 25
      modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Pages/create.js
  9. 20
      modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Pages/update.js
  10. 2
      modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/Contents/CmsKitContentWidgetOptions.cs
  11. 27
      modules/cms-kit/test/Volo.CmsKit.Application.Tests/Contents/ContentAdminAppService_Tests.cs
  12. 12
      modules/cms-kit/test/Volo.CmsKit.Application.Tests/Contents/ContentParser_Test.cs

1
modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/BlogPosts/Create.cshtml

@ -98,3 +98,4 @@
} }
</abp-card-footer> </abp-card-footer>
</abp-card> </abp-card>
<input hidden id="GeneratedWidgetText" />

1
modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/BlogPosts/Update.cshtml

@ -95,3 +95,4 @@
<abp-button button-type="Primary" type="submit" text="@L["Submit"].Value" id="button-blog-post-update" /> <abp-button button-type="Primary" type="submit" text="@L["Submit"].Value" id="button-blog-post-update" />
</abp-card-footer> </abp-card-footer>
</abp-card> </abp-card>
<input hidden id="GeneratedWidgetText" />

21
modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/BlogPosts/create.js

@ -7,7 +7,7 @@ $(function () {
Published: 1, Published: 1,
SendToReview: 2 SendToReview: 2
}; };
var $selectBlog = $('#BlogSelectionSelect'); var $selectBlog = $('#BlogSelectionSelect');
var $formCreate = $('#form-blog-post-create'); var $formCreate = $('#form-blog-post-create');
var $title = $('#ViewModel_Title'); var $title = $('#ViewModel_Title');
@ -250,21 +250,17 @@ $(function () {
var fileUploadUri = "/api/cms-kit-admin/media/blogpost"; var fileUploadUri = "/api/cms-kit-admin/media/blogpost";
var fileUriPrefix = "/api/cms-kit/media/"; var fileUriPrefix = "/api/cms-kit/media/";
initAllEditors(); initEditor();
function initAllEditors() { var editor;
$('.content-editor').each(function (i, item) {
initEditor(item);
});
}
function initEditor(element) { function initEditor() {
var $editorContainer = $(element); var $editorContainer = $("#ContentEditor");
var inputName = $editorContainer.data('input-id'); var inputName = $editorContainer.data('input-id');
var $editorInput = $('#' + inputName); var $editorInput = $('#' + inputName);
var initialValue = $editorInput.val(); var initialValue = $editorInput.val();
var editor = new toastui.Editor({ editor = new toastui.Editor({
el: $editorContainer[0], el: $editorContainer[0],
usageStatistics: false, usageStatistics: false,
useCommandShortcut: true, useCommandShortcut: true,
@ -333,6 +329,11 @@ $(function () {
}); });
} }
$('#GeneratedWidgetText').on('change', function () {
var txt = $('#GeneratedWidgetText').val();
editor.insertText(txt);
});
function createAddWidgetButton() { function createAddWidgetButton() {
const button = document.createElement('button'); const button = document.createElement('button');

20
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 fileUploadUri = "/api/cms-kit-admin/media/blogpost";
var fileUriPrefix = "/api/cms-kit/media/"; var fileUriPrefix = "/api/cms-kit/media/";
initAllEditors(); initEditor();
function initAllEditors() { var editor;
$('.content-editor').each(function (i, item) { function initEditor() {
initEditor(item); var $editorContainer = $("#ContentEditor");
});
}
function initEditor(element) {
var $editorContainer = $(element);
var inputName = $editorContainer.data('input-id'); var inputName = $editorContainer.data('input-id');
var $editorInput = $('#' + inputName); var $editorInput = $('#' + inputName);
var initialValue = $editorInput.val(); var initialValue = $editorInput.val();
var editor = new toastui.Editor({ editor = new toastui.Editor({
el: $editorContainer[0], el: $editorContainer[0],
usageStatistics: false, usageStatistics: false,
useCommandShortcut: true, useCommandShortcut: true,
@ -255,6 +250,11 @@ $(function () {
); );
}); });
$('#GeneratedWidgetText').on('change', function () {
var txt = $('#GeneratedWidgetText').val();
editor.insertText(txt);
});
function createAddWidgetButton() { function createAddWidgetButton() {
const button = document.createElement('button'); const button = document.createElement('button');

17
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 = ''; let updatedText = '';
if (widgetType != undefined) { if (widgetType != undefined) {
@ -48,16 +43,8 @@ $(function () {
updatedText += "]"; updatedText += "]";
} }
if (contentEditorText == '\n\n\n') { $('#GeneratedWidgetText').val(updatedText);
//TODO fails event $("#GeneratedWidgetText").trigger("change");
var fixedData = "<div>" + updatedText + "</div>";
var innerHtml = $("#ContentEditor")[0].innerHTML;
var replacedInnerHtml = innerHtml.replace('<div><br></div>', fixedData);
$("#ContentEditor")[0].innerHTML = replacedInnerHtml;
}
else {
$('.ProseMirror div').contents()[0].data = contentEditorText + updatedText;
}
$('#addWidgetModal').modal('hide'); $('#addWidgetModal').modal('hide');
}); });

1
modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Pages/Create.cshtml

@ -76,3 +76,4 @@
<abp-button button-type="Primary" type="submit" text="@L["Submit"].Value" id="button-page-create" /> <abp-button button-type="Primary" type="submit" text="@L["Submit"].Value" id="button-page-create" />
</abp-card-footer> </abp-card-footer>
</abp-card> </abp-card>
<input hidden id="GeneratedWidgetText" />

1
modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Pages/Update.cshtml

@ -83,3 +83,4 @@
<abp-button button-type="Primary" type="submit" text="@L["Submit"].Value" id="button-page-update" /> <abp-button button-type="Primary" type="submit" text="@L["Submit"].Value" id="button-page-update" />
</abp-card-footer> </abp-card-footer>
</abp-card> </abp-card>
<input hidden id="GeneratedWidgetText" />

25
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 fileUploadUri = "/api/cms-kit-admin/media/page";
var fileUriPrefix = "/api/cms-kit/media/"; var fileUriPrefix = "/api/cms-kit/media/";
initAllEditors(); initEditor();
function initAllEditors() { var editor;
$('.content-editor').each(function (i, item) { function initEditor() {
initEditor(item); var $editorContainer = $("#ContentEditor");
});
}
function initEditor(element) {
var $editorContainer = $(element);
var inputName = $editorContainer.data('input-id'); var inputName = $editorContainer.data('input-id');
var $editorInput = $('#' + inputName); var $editorInput = $('#' + inputName);
var initialValue = $editorInput.val(); var initialValue = $editorInput.val();
var editor = new toastui.Editor({ editor = new toastui.Editor({
el: $editorContainer[0], el: $editorContainer[0],
usageStatistics: false, usageStatistics: false,
useCommandShortcut: true, useCommandShortcut: true,
@ -138,7 +133,7 @@ $(function () {
} }
}); });
} }
function uploadFile(blob, callback, source) { function uploadFile(blob, callback, source) {
var UPPY_OPTIONS = { var UPPY_OPTIONS = {
endpoint: fileUploadUri, endpoint: fileUploadUri,
@ -171,8 +166,12 @@ $(function () {
}); });
} }
$('#GeneratedWidgetText').on('change',function () {
var txt = $('#GeneratedWidgetText').val();
editor.insertText(txt);
});
function createAddWidgetButton() { function createAddWidgetButton() {
//TODO add auth
const button = document.createElement('button'); const button = document.createElement('button');
button.className = 'toastui-editor-toolbar-icons last dropdown'; button.className = 'toastui-editor-toolbar-icons last dropdown';

20
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 fileUploadUri = "/api/cms-kit-admin/media/page";
var fileUriPrefix = "/api/cms-kit/media/"; var fileUriPrefix = "/api/cms-kit/media/";
initAllEditors(); initEditor();
function initAllEditors() { var editor;
$('.content-editor').each(function (i, item) { function initEditor() {
initEditor(item); var $editorContainer = $("#ContentEditor");
});
}
function initEditor(element) {
var $editorContainer = $(element);
var inputName = $editorContainer.data('input-id'); var inputName = $editorContainer.data('input-id');
var $editorInput = $('#' + inputName); var $editorInput = $('#' + inputName);
var initialValue = $editorInput.val(); var initialValue = $editorInput.val();
var editor = new toastui.Editor({ editor = new toastui.Editor({
el: $editorContainer[0], el: $editorContainer[0],
usageStatistics: false, usageStatistics: false,
useCommandShortcut: true, useCommandShortcut: true,
@ -141,6 +136,11 @@ $(function () {
}); });
} }
$('#GeneratedWidgetText').on('change', function () {
var txt = $('#GeneratedWidgetText').val();
editor.insertText(txt);
});
function createAddWidgetButton() { function createAddWidgetButton() {
const button = document.createElement('button'); const button = document.createElement('button');

2
modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/Contents/CmsKitContentWidgetOptions.cs

@ -11,7 +11,7 @@ public class CmsKitContentWidgetOptions
WidgetConfigs = new(); 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); var config = new ContentWidgetConfig(widgetName, editorWidgetName);
WidgetConfigs.Add(widgetKey, config); WidgetConfigs.Add(widgetKey, config);

27
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<IContentAdminAppService>();
}
[Fact]
public async Task ShouldGet_PagedListAsync()
{
var widgets = await _contentAdminAppService.GetWidgetsAsync();
widgets.Items.Count.ShouldBe(0);
widgets.Items.Any().ShouldBeFalse();
}
}

12
modules/cms-kit/test/Volo.CmsKit.Application.Tests/Contents/ContentParser_Test.cs

@ -20,8 +20,8 @@ public class ContentParser_Test : CmsKitDomainTestBase
[Fact] [Fact]
public async Task ParseAsync_ShouldWorkWithDifferentWidgetTypes() public async Task ParseAsync_ShouldWorkWithDifferentWidgetTypes()
{ {
_options.Value.AddWidget(testData.PollName, testData.WidgetName); _options.Value.AddWidget(testData.PollName, testData.WidgetName, string.Empty);
_options.Value.AddWidget("ImageGallery", "ImageGallery"); _options.Value.AddWidget("ImageGallery", "ImageGallery", string.Empty);
contentParser = new ContentParser(_options); contentParser = new ContentParser(_options);
var content = @"**ABP Framework** is completely open source and developed in a community-driven manner. 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] [Fact]
public async Task ParseAsync_ShouldWorkWithWrongConfigOptions() 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); contentParser = new ContentParser(_options);
var content = @"**ABP Framework** is completely open source and developed in a community-driven manner. 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] [Fact]
public async Task ParseAsync_ShouldWorkWithWrongWidgetType() 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); contentParser = new ContentParser(_options);
var content = @"**ABP Framework** is completely open source and developed in a community-driven manner. 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] [Fact]
public async Task ParseAsync_ShouldWorkWithWrongPollName() 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); contentParser = new ContentParser(_options);
var content = @"**ABP Framework** is completely open source and developed in a community-driven manner. 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))] [MemberData(nameof(ExampleData))]
public async Task ParseAsync_ShouldWorkProperlyWithCorrectInputs(string content, int expectedLine) 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); contentParser = new ContentParser(_options);
var widgets = await contentParser.ParseAsync(content); var widgets = await contentParser.ParseAsync(content);

Loading…
Cancel
Save