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