mirror of https://github.com/abpframework/abp.git
24 changed files with 535 additions and 46 deletions
@ -0,0 +1,56 @@ |
|||
using AutoMapper; |
|||
using Volo.CmsKit.Admin.Blogs; |
|||
using Volo.CmsKit.Admin.Menus; |
|||
using Volo.CmsKit.Admin.Pages; |
|||
using Volo.CmsKit.Admin.Tags; |
|||
using Volo.CmsKit.Menus; |
|||
using Volo.CmsKit.Tags; |
|||
|
|||
namespace Volo.CmsKit.Admin.Web; |
|||
|
|||
public class CmsKitAdminWebAutoMapperProfile : Profile |
|||
{ |
|||
public CmsKitAdminWebAutoMapperProfile() |
|||
{ |
|||
CreateBlogPostMappings(); |
|||
CreateBlogMappings(); |
|||
CreateMenuMappings(); |
|||
CreatePageMappings(); |
|||
CreateTagMappings(); |
|||
} |
|||
|
|||
protected virtual void CreateBlogPostMappings() |
|||
{ |
|||
CreateMap<Volo.CmsKit.Admin.Web.Pages.CmsKit.BlogPosts.CreateModel.CreateBlogPostViewModel, CreateBlogPostDto>().MapExtraProperties(); |
|||
CreateMap<Volo.CmsKit.Admin.Web.Pages.CmsKit.BlogPosts.UpdateModel.UpdateBlogPostViewModel, UpdateBlogPostDto>().MapExtraProperties(); |
|||
CreateMap<BlogPostDto, Volo.CmsKit.Admin.Web.Pages.CmsKit.BlogPosts.UpdateModel.UpdateBlogPostViewModel>().MapExtraProperties(); |
|||
} |
|||
|
|||
protected virtual void CreateBlogMappings() |
|||
{ |
|||
CreateMap<Volo.CmsKit.Admin.Web.Pages.CmsKit.Blogs.CreateModalModel.CreateBlogViewModel, CreateBlogDto>().MapExtraProperties(); |
|||
CreateMap<Volo.CmsKit.Admin.Web.Pages.CmsKit.Blogs.UpdateModalModel.UpdateBlogViewModel, UpdateBlogDto>().MapExtraProperties(); |
|||
CreateMap<BlogDto, Volo.CmsKit.Admin.Web.Pages.CmsKit.Blogs.UpdateModalModel.UpdateBlogViewModel>().MapExtraProperties(); |
|||
} |
|||
|
|||
protected virtual void CreateMenuMappings() |
|||
{ |
|||
CreateMap<Volo.CmsKit.Admin.Web.Pages.CmsKit.Menus.MenuItems.CreateModalModel.MenuItemCreateViewModel, MenuItemCreateInput>().MapExtraProperties(); |
|||
CreateMap<Volo.CmsKit.Admin.Web.Pages.CmsKit.Menus.MenuItems.UpdateModalModel.MenuItemUpdateViewModel, MenuItemUpdateInput>().MapExtraProperties(); |
|||
CreateMap<MenuItemDto, Volo.CmsKit.Admin.Web.Pages.CmsKit.Menus.MenuItems.UpdateModalModel.MenuItemUpdateViewModel>().MapExtraProperties(); |
|||
} |
|||
|
|||
protected virtual void CreatePageMappings() |
|||
{ |
|||
CreateMap<Volo.CmsKit.Admin.Web.Pages.CmsKit.Pages.CreateModel.CreatePageViewModel, CreatePageInputDto>().MapExtraProperties(); |
|||
CreateMap<Volo.CmsKit.Admin.Web.Pages.CmsKit.Pages.UpdateModel.UpdatePageViewModel, UpdatePageInputDto>().MapExtraProperties(); |
|||
CreateMap<PageDto, Volo.CmsKit.Admin.Web.Pages.CmsKit.Pages.UpdateModel.UpdatePageViewModel>().MapExtraProperties(); |
|||
} |
|||
|
|||
protected virtual void CreateTagMappings() |
|||
{ |
|||
CreateMap<Volo.CmsKit.Admin.Web.Pages.CmsKit.Tags.CreateModalModel.TagCreateViewModel, TagCreateDto>().MapExtraProperties(); |
|||
CreateMap<Volo.CmsKit.Admin.Web.Pages.CmsKit.Tags.EditModalModel.TagEditViewModel, TagUpdateDto>().MapExtraProperties(); |
|||
CreateMap<TagDto, Volo.CmsKit.Admin.Web.Pages.CmsKit.Tags.EditModalModel.TagEditViewModel>().MapExtraProperties(); |
|||
} |
|||
} |
|||
@ -1,24 +1,62 @@ |
|||
@page |
|||
@using Microsoft.AspNetCore.Mvc.Localization |
|||
@using Volo.CmsKit.Admin.Web.Pages |
|||
@using Microsoft.AspNetCore.Mvc.TagHelpers |
|||
@using Microsoft.Extensions.Localization |
|||
@using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form |
|||
@using Volo.CmsKit.Admin.Web.Pages.CmsKit.Tags |
|||
@using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Modal |
|||
@using Volo.Abp.Data |
|||
@using Volo.Abp.Localization |
|||
@using Volo.Abp.ObjectExtending |
|||
@using Volo.CmsKit.Localization |
|||
|
|||
@inject IHtmlLocalizer<CmsKitResource> L |
|||
@inject IStringLocalizerFactory StringLocalizerFactory |
|||
@model EditModalModel |
|||
|
|||
@{ |
|||
Layout = null; |
|||
} |
|||
|
|||
<abp-dynamic-form abp-model="ViewModel" asp-page="/CmsKit/Tags/EditModal"> |
|||
<form asp-page="/CmsKit/Tags/EditModal"> |
|||
<abp-modal> |
|||
<abp-modal-header title="@L["Edit"].Value"></abp-modal-header> |
|||
<abp-modal-body> |
|||
<abp-input asp-for="Id" /> |
|||
<abp-form-content /> |
|||
<abp-input asp-for="Id"/> |
|||
|
|||
<abp-input asp-for="ViewModel.Name" /> |
|||
|
|||
@foreach (var propertyInfo in ObjectExtensionManager.Instance.GetProperties<EditModalModel.TagEditViewModel>()) |
|||
{ |
|||
if (!propertyInfo.Name.EndsWith("_Text")) |
|||
{ |
|||
if (propertyInfo.Type.IsEnum || !propertyInfo.Lookup.Url.IsNullOrEmpty()) |
|||
{ |
|||
if (propertyInfo.Type.IsEnum) |
|||
{ |
|||
Model.ViewModel.ExtraProperties.ToEnum(propertyInfo.Name, propertyInfo.Type); |
|||
} |
|||
<abp-select asp-for="ViewModel.ExtraProperties[propertyInfo.Name]" |
|||
label="@propertyInfo.GetLocalizedDisplayName(StringLocalizerFactory)" |
|||
autocomplete-api-url="@propertyInfo.Lookup.Url" |
|||
autocomplete-selected-item-name="@Model.ViewModel.GetProperty(propertyInfo.Name+"_Text")" |
|||
autocomplete-selected-item-value="@Model.ViewModel.GetProperty(propertyInfo.Name)" |
|||
autocomplete-filter-param-name="@propertyInfo.Lookup.FilterParamName" |
|||
autocomplete-items-property-name="@propertyInfo.Lookup.ResultListPropertyName" |
|||
autocomplete-display-property-name="@propertyInfo.Lookup.DisplayPropertyName" |
|||
autocomplete-value-property-name="@propertyInfo.Lookup.ValuePropertyName"></abp-select> |
|||
} |
|||
else |
|||
{ |
|||
<abp-input type="@propertyInfo.GetInputType()" |
|||
asp-for="ViewModel.ExtraProperties[propertyInfo.Name]" |
|||
label="@propertyInfo.GetLocalizedDisplayName(StringLocalizerFactory)" |
|||
asp-format="@propertyInfo.GetInputFormatOrNull()" |
|||
value="@propertyInfo.GetInputValueOrNull(Model.ViewModel.GetProperty(propertyInfo.Name))" /> |
|||
} |
|||
} |
|||
} |
|||
</abp-modal-body> |
|||
<abp-modal-footer buttons="@(AbpModalButtons.Cancel|AbpModalButtons.Save)"></abp-modal-footer> |
|||
</abp-modal> |
|||
</abp-dynamic-form> |
|||
</form> |
|||
Loading…
Reference in new issue