Browse Source

Merge branch 'dev' into maliming/Linked-user-enhancements

pull/7953/head
maliming 6 years ago
parent
commit
f581319d5c
  1. 8
      .github/workflows/angular.yml
  2. 22
      .github/workflows/build-and-test.yml
  3. 42
      abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/en.json
  4. 36
      abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/tr.json
  5. 44
      abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/zh-Hans.json
  6. 3
      abp_io/AbpIoLocalization/AbpIoLocalization/Community/Localization/Resources/en.json
  7. 31
      abp_io/AbpIoLocalization/AbpIoLocalization/Community/Localization/Resources/zh-Hans.json
  8. 7
      abp_io/AbpIoLocalization/AbpIoLocalization/Www/Localization/Resources/zh-Hans.json
  9. 2
      docs/en/Community-Articles/2020-10-08-How-To-Add-Custom-Property-To-The-User-Entity/How-To-Add-Custom-Property-To-The-User-Entity.md
  10. 97
      docs/en/Community-Articles/2021-03-12-Simple-SignalR-Notification/POST.md
  11. BIN
      docs/en/Community-Articles/2021-03-12-Simple-SignalR-Notification/add-endpoint.jpg
  12. BIN
      docs/en/Community-Articles/2021-03-12-Simple-SignalR-Notification/add-script-bundles.jpg
  13. BIN
      docs/en/Community-Articles/2021-03-12-Simple-SignalR-Notification/notification-hub.jpg
  14. BIN
      docs/en/Community-Articles/2021-03-12-Simple-SignalR-Notification/preconfigureservices.jpg
  15. BIN
      docs/en/Community-Articles/2021-03-12-Simple-SignalR-Notification/resource-mappings.jpg
  16. BIN
      docs/en/Community-Articles/2021-03-12-Simple-SignalR-Notification/result.jpg
  17. BIN
      docs/en/Community-Articles/2021-03-12-Simple-SignalR-Notification/signalr-architecture.png
  18. BIN
      docs/en/Community-Articles/2021-03-12-Simple-SignalR-Notification/signalr-folder.jpg
  19. BIN
      docs/en/Community-Articles/2021-03-12-Simple-SignalR-Notification/signalr-package.jpg
  20. 101
      docs/en/UI/Angular/HTTP-Requests.md
  21. BIN
      docs/en/UI/Angular/images/custom-error-handler-404-component.jpg
  22. BIN
      docs/en/UI/Angular/images/custom-error-handler-toaster-message.jpg
  23. 20
      docs/en/UI/AspNetCore/Navigation-Menu.md
  24. 17
      docs/en/UI/AspNetCore/Toolbars.md
  25. 2
      docs/zh-Hans/Domain-Driven-Design-Implementation-Guide.md
  26. 6
      framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/AbpController.cs
  27. 24
      framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/Authentication/ChallengeAccountController.cs
  28. 10
      framework/src/Volo.Abp.Authorization/Volo/Abp/Authorization/Localization/zh-Hant.json
  29. 2
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/Steps/RemoveEfCoreRelatedCodeStep.cs
  30. 54
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/Steps/RemoveProjectFromPrometheusStep.cs
  31. 4
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/Steps/RemoveProjectFromTyeStep.cs
  32. 6
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/App/AppTemplateBase.cs
  33. 3
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/Microservice/MicroserviceTemplateBase.cs
  34. 9
      framework/src/Volo.Abp.Core/Microsoft/Extensions/DependencyInjection/ServiceCollectionLoggingExtensions.cs
  35. 18
      framework/src/Volo.Abp.Core/Volo/Abp/AbpApplicationBase.cs
  36. 6
      framework/src/Volo.Abp.Core/Volo/Abp/Internal/InternalServiceCollectionExtensions.cs
  37. 30
      framework/src/Volo.Abp.Core/Volo/Abp/Logging/AbpInitLogEntry.cs
  38. 30
      framework/src/Volo.Abp.Core/Volo/Abp/Logging/DefaultInitLogger.cs
  39. 15
      framework/src/Volo.Abp.Core/Volo/Abp/Logging/DefaultInitLoggerFactory.cs
  40. 12
      framework/src/Volo.Abp.Core/Volo/Abp/Logging/IInitLogger.cs
  41. 7
      framework/src/Volo.Abp.Core/Volo/Abp/Logging/IInitLoggerFactory.cs
  42. 5
      framework/src/Volo.Abp.Core/Volo/Abp/Modularity/AbpModuleHelper.cs
  43. 13
      framework/src/Volo.Abp.Core/Volo/Abp/Modularity/ModuleLoader.cs
  44. 5
      framework/src/Volo.Abp.Core/Volo/Abp/Modularity/PlugIns/PlugInSourceExtensions.cs
  45. 6
      framework/src/Volo.Abp.Core/Volo/Abp/Modularity/PlugIns/PlugInSourceList.cs
  46. 6
      framework/src/Volo.Abp.ExceptionHandling/Volo/Abp/ExceptionHandling/Localization/zh-Hans.json
  47. 6
      framework/src/Volo.Abp.ExceptionHandling/Volo/Abp/ExceptionHandling/Localization/zh-Hant.json
  48. 8
      framework/src/Volo.Abp.Features/Volo/Abp/Features/Localization/zh-Hant.json
  49. 2
      framework/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/package.json
  50. 224
      framework/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/yarn.lock
  51. 4
      framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/package.json
  52. 260
      framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/yarn.lock
  53. 4
      framework/test/Volo.Abp.Core.Tests/Volo/Abp/Modularity/ModuleLoader_Tests.cs
  54. 6
      framework/test/Volo.Abp.Emailing.Tests/Volo/Abp/Emailing/Localization/zh-Hant.json
  55. 7
      framework/test/Volo.Abp.TextTemplating.Tests/Volo/Abp/TextTemplating/Localization/zh-Hant.json
  56. 2
      global.json
  57. 3
      modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/zh-Hant.json
  58. 4
      modules/blogging/app/Volo.BloggingTestApp/package.json
  59. 332
      modules/blogging/app/Volo.BloggingTestApp/yarn.lock
  60. 2
      modules/client-simulation/demo/Volo.ClientSimulation.Demo/package.json
  61. 238
      modules/client-simulation/demo/Volo.ClientSimulation.Demo/yarn.lock
  62. 8
      modules/cms-kit/angular/package.json
  63. 4
      modules/cms-kit/angular/projects/cms-kit/package.json
  64. 2
      modules/cms-kit/host/Volo.CmsKit.IdentityServer/package.json
  65. 238
      modules/cms-kit/host/Volo.CmsKit.IdentityServer/yarn.lock
  66. 2
      modules/cms-kit/host/Volo.CmsKit.Web.Host/package.json
  67. 238
      modules/cms-kit/host/Volo.CmsKit.Web.Host/yarn.lock
  68. 36
      modules/cms-kit/host/Volo.CmsKit.Web.Unified/CmsKitWebUnifiedModule.cs
  69. 1951
      modules/cms-kit/host/Volo.CmsKit.Web.Unified/Migrations/20210305122554_BlogPost_CoverImage.Designer.cs
  70. 56
      modules/cms-kit/host/Volo.CmsKit.Web.Unified/Migrations/20210305122554_BlogPost_CoverImage.cs
  71. 75
      modules/cms-kit/host/Volo.CmsKit.Web.Unified/Migrations/UnifiedDbContextModelSnapshot.cs
  72. 18
      modules/cms-kit/host/Volo.CmsKit.Web.Unified/Pages/Index.cshtml
  73. 4
      modules/cms-kit/host/Volo.CmsKit.Web.Unified/Volo.CmsKit.Web.Unified.csproj
  74. 8
      modules/cms-kit/host/Volo.CmsKit.Web.Unified/package.json
  75. 7
      modules/cms-kit/host/Volo.CmsKit.Web.Unified/wwwroot/libs/tui-editor/tui-editor-jquery-patch.js
  76. 226
      modules/cms-kit/host/Volo.CmsKit.Web.Unified/yarn.lock
  77. 2
      modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Blogs/BlogPostDto.cs
  78. 12
      modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Blogs/BlogPostGetListInput.cs
  79. 2
      modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Blogs/CreateBlogPostDto.cs
  80. 8
      modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Blogs/IBlogPostAdminAppService.cs
  81. 2
      modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Blogs/UpdateBlogPostDto.cs
  82. 1
      modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Pages/CreatePageInputDto.cs
  83. 1
      modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Pages/UpdatePageInputDto.cs
  84. 15
      modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Blogs/BlogAdminAppService.cs
  85. 8
      modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Blogs/BlogFeatureAdminAppService.cs
  86. 54
      modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Blogs/BlogPostAdminAppService.cs
  87. 2
      modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/MediaDescriptors/MediaDescriptorAdminAppService.cs
  88. 27
      modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Pages/PageAdminAppService.cs
  89. 46
      modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Blogs/BlogPostAdminController.cs
  90. 3
      modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/BlogPosts/Create.cshtml.cs
  91. 9
      modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/BlogPosts/Index.cshtml
  92. 2
      modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/BlogPosts/Update.cshtml
  93. 3
      modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/BlogPosts/Update.cshtml.cs
  94. 37
      modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/BlogPosts/create.js
  95. 15
      modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/BlogPosts/index.js
  96. 46
      modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/BlogPosts/update.js
  97. 2
      modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/CmsKitCommonApplicationAutoMapperProfile.cs
  98. 7
      modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/CmsKitErrorCodes.cs
  99. 1
      modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Comments/CommentConsts.cs
  100. 15
      modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Contents/ContentConsts.cs

8
.github/workflows/angular.yml

@ -2,8 +2,14 @@ name: 'Angular'
on:
pull_request:
paths:
- 'npm/ng-packs/**'
- 'npm/ng-packs/**/*.ts'
- 'npm/ng-packs/**/*.html'
- 'npm/ng-packs/*.json'
- '!npm/ng-packs/scripts/**'
- '!npm/ng-packs/packages/schematics/**'
branches:
- 'rel-*'
- 'dev'
jobs:
build-test-lint:
runs-on: ubuntu-18.04

22
.github/workflows/build-and-test.yml

@ -2,14 +2,18 @@ name: "build and test"
on:
pull_request:
paths:
- "framework/**"
- "modules/**"
- "templates/**"
push:
paths:
- "framework/**"
- "modules/**"
- "templates/**"
- 'framework/**/*.cs'
- 'framework/**/*.cshtml'
- 'framework/**/*.csproj'
- 'framework/**/*.razor'
- 'modules/**/*.cs'
- 'modules/**/*.cshtml'
- 'modules/**/*.csproj'
- 'modules/**/*.razor'
- 'templates/**/*.cs'
- 'templates/**/*.cshtml'
- 'templates/**/*.csproj'
- 'templates/**/*.razor'
jobs:
build-test:
runs-on: windows-latest
@ -17,7 +21,7 @@ jobs:
- uses: actions/checkout@v2
- uses: actions/setup-dotnet@master
with:
dotnet-version: 5.0.100
dotnet-version: 5.0.201
- name: Build All
run: .\build-all.ps1

42
abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/en.json

@ -207,7 +207,7 @@
"DeleteCoverImageConfirmationMessage": "Are you sure you want to delete the cover image for \"{0}\"?",
"DeleteCoverImageSuccessMessage": "Cover image successfully deleted",
"PaymentsOf": "Payments of",
"ShowPaymentsOfOrganization": "Show payments",
"ShowPaymentsOfOrganization": "Payments",
"Date": "Date",
"Products": "Products",
"TotalAmount": "Total amount",
@ -215,8 +215,42 @@
"Gateway": "Gateway",
"State": "State",
"FailReason": "Fail reason",
"ReIndexAllPosts": "ReIndex All Posts",
"ReIndexAllPostsConfirmationMessage": "Are you sure to reindex all posts?",
"SuccessfullyReIndexAllPosts": "Successfully reindex for all posts"
"ReIndexAllPosts": "Reindex All Posts",
"ReIndexAllPostsConfirmationMessage": "Are you sure you want to reindex all posts?",
"SuccessfullyReIndexAllPosts": "All posts have been successfully reindexed.",
"Permission:FullSearch": "Full text search",
"Menu:CliAnalytics": "Cli Analytics",
"TemplateName": "Template name",
"TemplateVersion": "Template version",
"DatabaseProvider": "Database provider",
"IsTiered": "Is Tiered",
"ProjectName": "Project name",
"Username": "User name",
"Tool": "Tool",
"Command": "Command",
"UiFramework": "Ui framework",
"Options": "Options",
"CliAnalytics": "Cli Analytics",
"Permission:CliAnalyticses": "Cli Analyticses",
"Permission:CliAnalytics": "Cli Analytics",
"Search": "Search",
"ClearFilter": "Clear filter",
"LicensePrivateKey": "License private key",
"LicensePublicKey": "License public key",
"ApiKey": "NuGet API key",
"ShowInvoiceRequestsOfOrganization": "Invoice requests",
"ShowQuestionsOfOrganization": "Questions",
"Question": "Question",
"Open": "Open",
"Questions": "Questions",
"InvoiceRequests": "Invoice Requests",
"Address": "Address",
"TaxNo": "Tax No",
"Permission:InvoiceRequest": "Invoice Request",
"Permission:Question": "Question",
"AddNoteSuccessMessage": "Note successfully added",
"NameSurname": "Name Surname",
"Note": "Note",
"Add": "Add"
}
}

36
abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/tr.json

@ -166,6 +166,40 @@
"DeleteCoverImageSuccessMessage": "Kapak fotoğrafı başarılı bir şekilde silinmiştir",
"ReIndexAllPosts": "Yeniden indeksle",
"ReIndexAllPostsConfirmationMessage": "Tüm gönderileri yeniden indeksleyeceğinizden emin misiniz?",
"SuccessfullyReIndexAllPosts": "Tüm gönderiler başarıyla yeniden indekslendi"
"SuccessfullyReIndexAllPosts": "Tüm gönderiler başarıyla yeniden indekslendi",
"Menu:CliAnalytics": "Cli Analitik",
"TemplateName": "Şablon ismi",
"TemplateVersion": "Şablon versiyon",
"DatabaseProvider": "Veritabanı sağlayıcı",
"IsTiered": "Katmanlı mı",
"ProjectName": "Proje ismi",
"Username": "Kullanıcı adı",
"Tool": "Araç",
"Command": "Komut",
"UiFramework": "Ui çerçevesi",
"Options": "Seçenekler",
"CliAnalytics": "Cli Analitik",
"Permission:CliAnalyticses": "Cli Analitikleri",
"Permission:CliAnalytics": "Cli Analitik",
"Search": "Ara",
"ShowPaymentsOfOrganization": "Ödemeler",
"ClearFilter": "Filtreyi temizle",
"LicensePrivateKey": "Lisans özel anahtar",
"LicensePublicKey": "Lisans genel key",
"ApiKey": "NuGet API anahatar",
"ShowInvoiceRequestsOfOrganization": "Fatura talepleri",
"ShowQuestionsOfOrganization": "Sorular",
"Question": "Soru",
"Open": "Aç",
"Questions": "Sorular",
"InvoiceRequests": "Fatura talepleri",
"Address": "Adres",
"TaxNo": "Vergi no",
"Permission:InvoiceRequest": "Fatura Talebi",
"Permission:Question": "Soru",
"AddNoteSuccessMessage": "Not başarıyla eklendi",
"NameSurname": "Adı Soyadı",
"Note": "Not",
"Add": "Ekle"
}
}

44
abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/zh-Hans.json

@ -35,6 +35,7 @@
"NameFilter": "名称",
"CreationTime": "创建时间",
"IsPro": "是否为专业版",
"IsFreeToActiveLicenseOwners": "许可证所有者免费",
"ShowOnModuleList": "展示模块列表",
"EfCoreConfigureMethodName": "配置方法法",
"IsProFilter": "是否为专业版",
@ -90,6 +91,7 @@
"UserNotFound": "用户不存在",
"{0}WillBeRemovedFromDevelopers": "{0} 将从开发者中移除, 你确定吗?",
"{0}WillBeRemovedFromOwners": "{0} 将从所有者中移除, 你确定吗?",
"{0}WillBeRemovedFromMembers": "{0} 将从成员中删除, 你确定吗?",
"Computers": "计算机",
"UniqueComputerId": "计算机唯一ID",
"LastSeenDate": "上次查看日期",
@ -194,6 +196,46 @@
"CoverImage": "封面图片",
"RemoveCacheConfirmationMessage": "你确定要删除\"{0}\" 文章缓存?",
"SuccessfullyRemoved": "清除成功",
"RemoveCache": "删除缓存"
"RemoveCache": "删除缓存",
"Language": "语言",
"Optional": "可选的",
"CreateArticleLanguageInfo": "发帖所用的语言",
"Enum:ContentSource:2": "视频发布",
"VideoPreview": "视频预览",
"VideoPreviewErrorMessage": "无法从YouTube获取给定的视频网址. 可能是由于视频是私有视频,或者给定的URL不可用.",
"DeleteCoverImage": "删除封面图片",
"DeleteCoverImageConfirmationMessage": "你确定要删除封面图片吗",
"DeleteCoverImageSuccessMessage": "成功删除封面图片",
"PaymentsOf": "付款的",
"ShowPaymentsOfOrganization": "显示付款",
"Date": "日期",
"Products": "商品",
"TotalAmount": "总金额",
"Currency": "货币",
"Gateway": "网关",
"State": "状态",
"FailReason": "失败原因",
"ReIndexAllPosts": "重新索引所有帖子",
"ReIndexAllPostsConfirmationMessage": "你确定要重新索引所有的帖子吗",
"SuccessfullyReIndexAllPosts": "成功索引所有的帖子",
"ClearFilter": "清除过滤",
"LicensePrivateKey": "许可私有密钥",
"LicensePublicKey": "许可公有密钥",
"ApiKey": "NuGet API密钥",
"ShowInvoiceRequestsOfOrganization": "发票请求",
"ShowQuestionsOfOrganization": "问题",
"Question": "问题",
"Open": "打开",
"Questions": "问题",
"InvoiceRequests": "发票请求",
"Address": "地址",
"TaxNo": "税号",
"Permission:InvoiceRequest": "发票请求",
"Permission:Question": "问题",
"AddNoteSuccessMessage": "注释添加成功",
"NameSurname": "姓",
"Note": "注释",
"Add": "添加"
}
}

3
abp_io/AbpIoLocalization/AbpIoLocalization/Community/Localization/Resources/en.json

@ -138,6 +138,7 @@
"TwitterUserNameValidationMessage": "Your Twitter username can not include whitespace, please be sure your Twitter username is correct.",
"LinkedinUrlValidationMessage": "Your Linkedin URL can not include whitespace, please be sure your Linkedin URL is correct.",
"NoPostsFound": "No posts found!",
"SearchInPosts": "Search in posts..."
"SearchInPosts": "Search in posts...",
"MinimumSearchContent": "You must enter at least 3 characters!"
}
}

31
abp_io/AbpIoLocalization/AbpIoLocalization/Community/Localization/Resources/zh-Hans.json

@ -110,7 +110,34 @@
"VideoContentForm": "视频内容来源",
"GithubPostForm": "Github文章来源",
"ExternalPostForm": "外部文章来源",
"PostSourceTypeChooses": "我们接受文章的三种来源类型;",
"Posts": "文章"
"HowToPost": "如何发布",
"Posts": "文章",
"VideoUrl": "视频Url",
"GithubArticleUrl": "Github文章Url",
"ExternalArticleUrl": "外部文章Url",
"CreatePostCoverInfo": "要创建一个有效的帖子,需要添加封面图片. 上传16:9的图片获取最佳视觉效果. 文件最大支持: 1MB",
"ThankYouForContribution": "感谢你对ABP社区的贡献",
"GithubArticle": "Github文章",
"GithubArticleSubmitStepOne": "<span class=\"font-weight-bold\">1.</span> 用Markdown格式在GitHub的任何公共存储库上写一篇文章. <a target=\"_blank\" href=\"https://github.com/abpframework/abp/blob/dev/docs/en/Community-Articles/2020-12-04-Event-Organizer/Post.md\">示例</a>",
"GithubArticleSubmitStepTwo": "<span class=\"font-weight-bold\">2.</span> 使用表单提交你的文章URL.",
"GithubArticleSubmitStepThree": "<span class=\"font-weight-bold\">3.</span> 你的文章将在这个网站中呈现.",
"YoutubeVideo": "Youtube视频",
"YoutubeVideoSubmitStepOne": "<span class=\"font-weight-bold\">1.</span> 在YouTube上发布你的视频.",
"YoutubeVideoSubmitStepTwo": "<span class=\"font-weight-bold\">2.</span> 使用表单提交视频URL.",
"YoutubeVideoSubmitStepThree": "<span class=\"font-weight-bold\">3.</span> 访客将能够在这个网站上直接观看你的视频内容.",
"ExternalContent": "外部内容",
"ExternalContentSubmitStepOne": "<span class=\"font-weight-bold\">1.</span> 在任何公开的平台创建内容(medium, 你自己的博客或者任何你喜欢的).",
"ExternalContentSubmitStepTwo": "<span class=\"font-weight-bold\">2.</span> 使用表单提交内容URL.",
"ExternalContentSubmitStepThree": "<span class=\"font-weight-bold\">3.</span> 访客被重定向到原网站的内容.",
"ChooseYourContentType": "请选择你想要添加内容的方式",
"PostContentViaGithub": "我想要使用<span class=\"font-weight-bold\"><i class=\"fa fa-github\"></i> GitHub</span>提交markdown格式的文章",
"PostContentViaYoutube": "我想要分享我在<span class=\"font-weight-bold\"><i class=\"fa fa-youtube\"></i> Youtube</span>的可用视频",
"PostContentViaExternalSource": "我想要添加我在<span class=\"font-weight-bold\">其他平台</span>发布的内容",
"GitHubUserNameValidationMessage": "您的Github用户名不能包含空格, 请确认你的Github用户名是正确的.",
"PersonalSiteUrlValidationMessage": "你的个人网站URL不能包含空格, 请确定你的个人网站URL是正确的.",
"TwitterUserNameValidationMessage": "你的Twitter用户名不能包含空格, 请确认你的Twitter用户名是正确的.",
"LinkedinUrlValidationMessage": "你的领英URL不能包含空格, 请确认你的领英URL是正确的",
"NoPostsFound": "没有发现帖子",
"SearchInPosts": "搜索帖子…"
}
}

7
abp_io/AbpIoLocalization/AbpIoLocalization/Www/Localization/Resources/zh-Hans.json

@ -8,6 +8,7 @@
"ProjectName": "项目名称",
"ProjectType": "项目类型",
"DatabaseProvider": "数据库提供者",
"DatabaseManagementSystem": "数据库管理系统",
"NTier": "N层",
"IncludeUserInterface": "包含用户界面",
"CreateNow": "现在创建",
@ -194,7 +195,7 @@
"MultipleUIOptionsExplanation": "核心框架设计为独立与UI,可以和任何类型的UI系统一起使用. 同时提供了多个开箱即用的预构建集成选项.",
"MultipleDBOptionsExplanation": "该框架可以使用任何数据源,并且以下提供程序已得到正式开发和支持;",
"SelectLanguage": "选择语言",
"LatestArticleOnCommunity": "关于ABP社区的最新文章",
"Register": "寄存器"
"LatestArticleOnCommunity": "关于ABP社区的最新文章",
"Register": "寄存器"
}
}
}

2
docs/en/Community-Articles/2020-10-08-How-To-Add-Custom-Property-To-The-User-Entity/How-To-Add-Custom-Property-To-The-User-Entity.md

@ -78,7 +78,7 @@ public static class CustomizeUserDemoEfCoreEntityExtensionMappings
nameof(AppUser.Title),
(entityBuilder, propertyBuilder) =>
{
propertyBuilder.IsRequired();
propertyBuilder.HasDefaultValue();
propertyBuilder.HasMaxLength(UserConsts.MaxTitleLength);
}
).MapEfCoreProperty<IdentityUser, int>(

97
docs/en/Community-Articles/2021-03-12-Simple-SignalR-Notification/POST.md

@ -0,0 +1,97 @@
# Send Real-time Notifications via SignalR in ABP Project
SignalR is an open source library that adds real-time operation functionality to applications. Real-time web functionality enables server-side code to instantly send content to clients without refreshing the page. I'll show you how to add SignalR and use it to send notifications from backend. I'll implement this functionality in MVC template of ABP Framework.
![signalr-architecture](signalr-architecture.png)
## Implement Backend
### Create Notification Hub
Create a new folder named `SignalR` in your root directory of your Web project.
![SignalR Folder](signalr-folder.jpg)
Then add the following classes to the folder:
1. [INotificationClient.cs](https://gist.github.com/ebicoglu/f7dc22cca2d353f8bf7f68a03e3395b8#file-inotificationclient-cs)
2. [UiNotificationClient.cs](https://gist.github.com/ebicoglu/f7dc22cca2d353f8bf7f68a03e3395b8#file-uinotificationclient-cs)
3. [UiNotificationHub.cs](https://gist.github.com/ebicoglu/f7dc22cca2d353f8bf7f68a03e3395b8#file-uinotificationhub-cs)
### Configure Module
These 3 steps will be done in your web module class.
#### 1- Add SignalR
Open `YourProjectWebModule.cs` class and add the following line to the `PreConfigureServices` method:
```csharp
context.Services.AddSignalR();
```
![PreConfigureServices](preconfigureservices.jpg)
#### 2- Add Client Scripts
2- In the `ConfigureServices` method of your web module add the following code to add the `signalr.js` and `notification-hub.js`. We'll add these packages in the next steps.
![Script Bundles](add-script-bundles.jpg)
#### 3- Add Hub Endpoint
Add the following code to add the notification hub endpoint in `OnApplicationInitialization` method:
```csharp
app.UseEndpoints(endpoints =>
{
endpoints.MapHub<UiNotificationHub>("/notification-hub");
});
```
![Add endpoint](add-endpoint.jpg)
### Implement Frontend
We'll write the client-side code to be able to handle the SignalR response.
#### 1- Add Notification Hub
Add the following JavaScript class into your `Pages` folder in your Web project. We already added this script to our global scripts.
[notification-hub.js](https://gist.github.com/ebicoglu/f7dc22cca2d353f8bf7f68a03e3395b8#file-notification-hub-js)
![notification-hub.js](notification-hub.jpg)
#### 2- Add SignalR NPM package
Add [Microsoft.SignalR](https://www.npmjs.com/package/@microsoft/signalr) JavaScript package to the `package.json` which is located in your root folder of the Web project. After you add it, run `yarn` command in your Web directory to be able to install this package.
![Add SignalR package](signalr-package.jpg)
#### 3- Add resource Mapping
We added SignalR to the `package.json` but it comes into your `node_modules` folder. We need to copy the related files to `wwwroot/libs` folder. To do this copy the content of the following file to your `abp.resourcemappings.js` file. It's in your root directory of Web folder. After you do this, go to your web directory and run `gulp` command. By doing this, it'll copy the related files into your `wwwroot/libs` folder.
[abp.resourcemappings.js](https://gist.github.com/ebicoglu/f7dc22cca2d353f8bf7f68a03e3395b8#file-abp-resourcemapping-js)
![Resource mappings](resource-mappings.jpg)
#### 4- Usage
We have completed the implementation part. Let's check if it's running...
To do this easily, open your `Index.cshtml` which is in the Pages folder of your Web project. And replace the content with the following. Also replace the `Index.cshtml.cs` as well.
[Index.cshtml](https://gist.github.com/ebicoglu/f7dc22cca2d353f8bf7f68a03e3395b8#file-index-cshtml)
[Index.cshtml.cs](https://gist.github.com/ebicoglu/f7dc22cca2d353f8bf7f68a03e3395b8#file-index-cshtml-cs)
#### 5- See it in action
Run your web project and in the Index page you'll see a button named as "Get Notification". Click the button and see the notification that comes from SignalR. This is a basic usage of SignalR notification system. You can implement it according to your own requirements.
![Result](result.jpg)

BIN
docs/en/Community-Articles/2021-03-12-Simple-SignalR-Notification/add-endpoint.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB

BIN
docs/en/Community-Articles/2021-03-12-Simple-SignalR-Notification/add-script-bundles.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

BIN
docs/en/Community-Articles/2021-03-12-Simple-SignalR-Notification/notification-hub.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

BIN
docs/en/Community-Articles/2021-03-12-Simple-SignalR-Notification/preconfigureservices.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 100 KiB

BIN
docs/en/Community-Articles/2021-03-12-Simple-SignalR-Notification/resource-mappings.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

BIN
docs/en/Community-Articles/2021-03-12-Simple-SignalR-Notification/result.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 188 KiB

BIN
docs/en/Community-Articles/2021-03-12-Simple-SignalR-Notification/signalr-architecture.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.1 KiB

BIN
docs/en/Community-Articles/2021-03-12-Simple-SignalR-Notification/signalr-folder.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

BIN
docs/en/Community-Articles/2021-03-12-Simple-SignalR-Notification/signalr-package.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 75 KiB

101
docs/en/UI/Angular/HTTP-Requests.md

@ -27,13 +27,13 @@ An `HttpInterceptor` is able to catch `HttpErrorResponse`  and can be used for
## RestService
ABP core module has a utility service for HTTP requests: `RestService`. Unless explicitly configured otherwise, it catches HTTP errors and dispatches a `RestOccurError` action. This action is then captured by the `ErrorHandler` introduced by the `ThemeSharedModule`. Since you should already import this module in your app, when the `RestService` is used, all HTTP errors get automatically handled by deafult.
ABP core module has a utility service for HTTP requests: `RestService`. Unless explicitly configured otherwise, it catches HTTP errors and dispatches a `RestOccurError` action. This action is then captured by the `ErrorHandler` introduced by the `ThemeSharedModule`. Since you should already import this module in your app, when the `RestService` is used, all HTTP errors get automatically handled by default.
### Getting Started with RestService
In order to use the `RestService`, you must inject it in your class as a dependency.
In order to use the `RestService`, you must inject it in your class as a dependency.
```js
import { RestService } from '@abp/ng.core';
@ -200,6 +200,101 @@ getSomeCustomHeaderValue() {
}
```
You may find `Rest.Observe` enum [here](https://github.com/abpframework/abp/blob/dev/npm/ng-packs/packages/core/src/lib/models/rest.ts#L10).
You may find `Rest.Observe` enum [here](https://github.com/abpframework/abp/blob/dev/npm/ng-packs/packages/core/src/lib/models/rest.ts#L10).
## HTTP Error Handling
When the `RestService` is used, all HTTP errors are automatically handled by `ErrorHandler` which is a service that exposed by the `@abp/ng.theme.shared` package.
### Custom HTTP Error Handler
A custom HTTP error handler can be registered to an injection token named `HTTP_ERROR_HANDLER`. If a custom handler function is registered, the `ErrorHandler` executes that function.
See an example:
```js
// http-error-handler.ts
import { ContentProjectionService, PROJECTION_STRATEGY } from '@abp/ng.core';
import { ToasterService } from '@abp/ng.theme.shared';
import { HttpErrorResponse } from '@angular/common/http';
import { Injector } from '@angular/core';
import { throwError } from 'rxjs';
import { Error404Component } from './error404/error404.component';
export function handleHttpErrors(injector: Injector, httpError: HttpErrorResponse) {
if (httpError.status === 400) {
const toaster = injector.get(ToasterService);
toaster.error(httpError.error?.error?.message || 'Bad request!', '400');
return;
}
if (httpError.status === 404) {
const contentProjection = injector.get(ContentProjectionService);
contentProjection.projectContent(PROJECTION_STRATEGY.AppendComponentToBody(Error404Component));
return;
}
return throwError(httpError);
}
// app.module.ts
import { Error404Component } from './error404/error404.component';
import { handleHttpErrors } from './http-error-handling';
import { HTTP_ERROR_HANDLER, ... } from '@abp/ng.theme.shared';
@NgModule({
// ...
providers: [
// ...
{ provide: HTTP_ERROR_HANDLER, useValue: handleHttpErrors }
],
declarations: [
//...
Error404Component],
})
export class AppModule {}
```
In the example above:
- Created a function named `handleHttpErrors` and defined as value of the `HTTP_ERROR_HANDLER` provider in app.module. After this, the function executes when an HTTP error occurs.
- 400 bad request errors is handled. When a 400 error occurs, backend error message will be displayed as shown below:
![custom-error-handler-toaster-message](images/custom-error-handler-toaster-message.jpg)
- 404 not found errors is handled. When a 404 error occurs, `Error404Component` will be appended to the `<body>` as shown below:
![custom-error-handler-404-component](images/custom-error-handler-404-component.jpg)
- Since `throwError(httpError)` is returned at bottom of the `handleHttpErrors`, the `ErrorHandler` will handle the HTTP errors except 400 and 404 errors.
**Note 1:** If you put `return` to next line of handling an error, default error handling will not work for that error.
```js
export function handleHttpErrors(injector: Injector, httpError: HttpErrorResponse) {
if (httpError.status === 403) {
// handle 403 errors here
return; // put return to skip default error handling
}
}
```
**Note 2:** If you put `return throwError(httpError)`, default error handling will work.
- `throwError` is a function. It can be imported from `rxjs`.
- `httpError` is the second parameter of the error handler function which is registered to the `HTTP_ERROR_HANDLER` provider. Type of the `httpError` is `HttpErrorResponse`.
```js
import { throwError } from 'rxjs';
export function handleHttpErrors(injector: Injector, httpError: HttpErrorResponse) {
if (httpError.status === 500) {
// handle 500 errors here
return;
}
// you can return the throwError(httpError) at bottom of the function to run the default handler of ABP for HTTP errors that you didn't handle above.
return throwError(httpError)
}
```

BIN
docs/en/UI/Angular/images/custom-error-handler-404-component.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

BIN
docs/en/UI/Angular/images/custom-error-handler-toaster-message.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

20
docs/en/UI/AspNetCore/Navigation-Menu.md

@ -104,6 +104,7 @@ There are more options of a menu item (the constructor of the `ApplicationMenuIt
* `target` (`string`): Target of the menu item. Can be `null` (default), "\_*blank*", "\_*self*", "\_*parent*", "\_*top*" or a frame name for web applications.
* `elementId` (`string`): Can be used to render the element with a specific HTML `id` attribute.
* `cssClass` (`string`): Additional string classes for the menu item.
* `RequiredPermissionName` (`string`): The required permission name, this menu item will be removed if this permission is not granted.
### Authorization
@ -120,6 +121,25 @@ if (await context.IsGrantedAsync("MyPermissionName"))
}
````
For the authorization, you can use `RequiredPermissionName` as a shortcut. It is also more performant, ABP optimizes the permission check for all the items.
````csharp
context.Menu.AddItem(
new ApplicationMenuItem("MyProject.Crm", l["Menu:CRM"])
.AddItem(new ApplicationMenuItem(
name: "MyProject.Crm.Customers",
displayName: l["Menu:Customers"],
url: "/crm/customers",
requiredPermissionName: "MyProject.Crm.Customers")
).AddItem(new ApplicationMenuItem(
name: "MyProject.Crm.Orders",
displayName: l["Menu:Orders"],
url: "/crm/orders",
requiredPermissionName: "MyProject.Crm.Orders")
)
);
````
> You can use `context.AuthorizationService` to directly access to the `IAuthorizationService`.
### Resolving Dependencies

17
docs/en/UI/AspNetCore/Toolbars.md

@ -52,6 +52,21 @@ public class MyToolbarContributor : IToolbarContributor
}
````
You can use the [authorization](../../Authorization.md) to decide whether to add a `ToolbarItem`.
````csharp
if (await context.IsGrantedAsync("MyPermissionName"))
{
//...add Toolbar items
}
````
You can use `RequiredPermissionName` as a shortcut. It is also more performant, ABP optimizes the permission check for all the items.
````csharp
context.Toolbar.Items.Insert(0, new ToolbarItem(typeof(NotificationViewComponent), requiredPermissionName: "MyPermissionName"));
````
This class adds the `NotificationViewComponent` as the first item in the `Main` toolbar.
Finally, you need to add this contributor to the `AbpToolbarOptions`, in the `ConfigureServices` of your [module](../../Module-Development-Basics.md):
@ -71,4 +86,4 @@ That's all, you will see the notification icon on the toolbar when you run the a
## IToolbarManager
`IToolbarManager` is used to render the toolbar. It returns the toolbar items by a toolbar name. This is generally used by the [themes](Theming.md) to render the toolbar on the layout.
`IToolbarManager` is used to render the toolbar. It returns the toolbar items by a toolbar name. This is generally used by the [themes](Theming.md) to render the toolbar on the layout.

2
docs/zh-Hans/Domain-Driven-Design-Implementation-Guide.md

@ -781,7 +781,7 @@ namespace IssueTracking.Issues
- 创建时间大于30天
- 最近30天没有评论
这个业务逻辑就被实现了仓储内部,当我们需要重用这个业务规则时就会出现问题.
这个业务逻辑就被实现了仓储内部,当我们需要重用这个业务规则时就会出现问题.
例如:我们需要再实体`Issue`上添加一个方法来判断是否非活动`bool IsInActive()`,以方便我们在`Issue`实例上获取.

6
framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/AbpController.cs

@ -108,12 +108,12 @@ namespace Volo.Abp.AspNetCore.Mvc
return localizer;
}
protected RedirectResult RedirectSafely(string returnUrl, string returnUrlHash = null)
protected virtual RedirectResult RedirectSafely(string returnUrl, string returnUrlHash = null)
{
return Redirect(GetRedirectUrl(returnUrl, returnUrlHash));
}
private string GetRedirectUrl(string returnUrl, string returnUrlHash = null)
protected virtual string GetRedirectUrl(string returnUrl, string returnUrlHash = null)
{
returnUrl = NormalizeReturnUrl(returnUrl);
@ -125,7 +125,7 @@ namespace Volo.Abp.AspNetCore.Mvc
return returnUrl;
}
private string NormalizeReturnUrl(string returnUrl)
protected virtual string NormalizeReturnUrl(string returnUrl)
{
if (returnUrl.IsNullOrEmpty())
{

24
framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/Authentication/ChallengeAccountController.cs

@ -23,20 +23,8 @@ namespace Volo.Abp.AspNetCore.Mvc.Authentication
{
return RedirectSafely(returnUrl, returnUrlHash);
}
else
{
return Challenge(
new AuthenticationProperties
{
Parameters =
{
{"returnUrl", returnUrl},
{"returnUrlHash", returnUrlHash}
}
},
ChallengeAuthenticationSchemas
);
}
return Challenge(new AuthenticationProperties {RedirectUri = GetRedirectUrl(returnUrl, returnUrlHash)}, ChallengeAuthenticationSchemas);
}
[HttpGet]
@ -44,20 +32,20 @@ namespace Volo.Abp.AspNetCore.Mvc.Authentication
{
await HttpContext.SignOutAsync();
if (HttpContext.User.Identity.AuthenticationType == AuthenticationType)
if (HttpContext.User.Identity?.AuthenticationType == AuthenticationType)
{
return RedirectSafely(returnUrl, returnUrlHash);
}
return new SignOutResult(ChallengeAuthenticationSchemas);
return SignOut(new AuthenticationProperties {RedirectUri = GetRedirectUrl(returnUrl, returnUrlHash)}, ChallengeAuthenticationSchemas);
}
[HttpGet]
public async Task<IActionResult> FrontChannelLogout(string sid)
{
if (User.Identity.IsAuthenticated)
if (User.Identity != null && User.Identity.IsAuthenticated)
{
var currentSid = User.FindFirst("sid").Value ?? string.Empty;
var currentSid = User.FindFirst("sid")?.Value ?? string.Empty;
if (string.Equals(currentSid, sid, StringComparison.Ordinal))
{
await Logout();

10
framework/src/Volo.Abp.Authorization/Volo/Abp/Authorization/Localization/zh-Hant.json

@ -0,0 +1,10 @@
{
"culture": "zh-Hant",
"texts": {
"Volo.Authorization:010001": "認證失敗! Given policy has not granted.",
"Volo.Authorization:010002": "認證失敗! Given policy has not granted: {PolicyName}",
"Volo.Authorization:010003": "認證失敗! Given policy has not granted for given resource: {ResourceName}",
"Volo.Authorization:010004": "認證失敗! Given requirement has not granted for given resource: {ResourceName}",
"Volo.Authorization:010005": "認證失敗! Given requirements has not granted for given resource: {ResourceName}"
}
}

2
framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/Steps/RemoveEfCoreDependencyFromPublicStep.cs → framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/Steps/RemoveEfCoreRelatedCodeStep.cs

@ -3,7 +3,7 @@ using Volo.Abp.Cli.ProjectBuilding.Files;
namespace Volo.Abp.Cli.ProjectBuilding.Building.Steps
{
public class RemoveEfCoreDependencyFromPublicStep : ProjectBuildPipelineStep
public class RemoveEfCoreRelatedCodeStep : ProjectBuildPipelineStep
{
public override void Execute(ProjectBuildContext context)
{

54
framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/Steps/RemoveProjectFromPrometheusStep.cs

@ -0,0 +1,54 @@
using System;
using System.Collections.Generic;
using System.Linq;
namespace Volo.Abp.Cli.ProjectBuilding.Building.Steps
{
public class RemoveProjectFromPrometheusStep : ProjectBuildPipelineStep
{
private readonly string _name;
public RemoveProjectFromPrometheusStep(string name)
{
_name = name;
}
public override void Execute(ProjectBuildContext context)
{
var tyeFile = context.Files.FirstOrDefault(f => f.Name == "/etc/prometheus/prometheus.yml");
if (tyeFile == null)
{
return;
}
var lines = tyeFile.GetLines();
var newLines = new List<string>();
var nameLine = $"- job_name:";
var isOneOfTargetLines = false;
foreach (var line in lines)
{
if (line.Trim().Equals($"{nameLine} '{_name}'"))
{
isOneOfTargetLines = true;
continue;
}
if (line.Trim().StartsWith(nameLine))
{
isOneOfTargetLines = false;
}
if (!isOneOfTargetLines)
{
newLines.Add(line);
}
}
tyeFile.SetContent(String.Join(Environment.NewLine, newLines));
}
}
}

4
framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/Steps/RemoveProjectFromTyeStep.cs

@ -30,13 +30,13 @@ namespace Volo.Abp.Cli.ProjectBuilding.Building.Steps
foreach (var line in lines)
{
if (line.Equals($"{nameLine} {_name}"))
if (line.Trim().Equals($"{nameLine} {_name}"))
{
isOneOfTargetLines = true;
continue;
}
if (line.StartsWith(nameLine))
if (line.Trim().StartsWith(nameLine))
{
isOneOfTargetLines = false;
}

6
framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/App/AppTemplateBase.cs

@ -64,6 +64,7 @@ namespace Volo.Abp.Cli.ProjectBuilding.Templates.App
steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.EntityFrameworkCore"));
steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.EntityFrameworkCore.DbMigrations"));
steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.EntityFrameworkCore.Tests", projectFolderPath: "/aspnet-core/test/MyCompanyName.MyProjectName.EntityFrameworkCore.Tests"));
steps.Add(new RemoveEfCoreRelatedCodeStep());
}
if (context.BuildArgs.DatabaseProvider != DatabaseProvider.MongoDb)
@ -154,11 +155,6 @@ namespace Volo.Abp.Cli.ProjectBuilding.Templates.App
steps.Add(new ChangePublicAuthPortStep());
}
if (context.BuildArgs.DatabaseProvider != DatabaseProvider.NotSpecified && context.BuildArgs.DatabaseProvider != DatabaseProvider.EntityFrameworkCore)
{
steps.Add(new RemoveEfCoreDependencyFromPublicStep());
}
// We disabled cms-kit for v4.2 release.
if (true || context.BuildArgs.ExtraProperties.ContainsKey("without-cms-kit"))
{

3
framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/Microservice/MicroserviceTemplateBase.cs

@ -37,6 +37,7 @@ namespace Volo.Abp.Cli.ProjectBuilding.Templates.Microservice
"/applications/web/src/MyCompanyName.MyProjectName.Web"));
steps.Add(new RemoveFolderStep("/applications/web"));
steps.Add(new RemoveProjectFromTyeStep("web"));
steps.Add(new RemoveProjectFromPrometheusStep("web"));
steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Blazor",null,
"/applications/blazor/src/MyCompanyName.MyProjectName.Blazor"));
@ -51,6 +52,7 @@ namespace Volo.Abp.Cli.ProjectBuilding.Templates.Microservice
"/applications/web/src/MyCompanyName.MyProjectName.Web"));
steps.Add(new RemoveFolderStep("/applications/web"));
steps.Add(new RemoveProjectFromTyeStep("web"));
steps.Add(new RemoveProjectFromPrometheusStep("web"));
steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Blazor",null,
"/applications/blazor/src/MyCompanyName.MyProjectName.Blazor"));
@ -64,6 +66,7 @@ namespace Volo.Abp.Cli.ProjectBuilding.Templates.Microservice
steps.Add(new RemoveFolderStep("/applications/web"));
steps.Add(new RemoveFolderStep("/angular"));
steps.Add(new RemoveProjectFromTyeStep("web"));
steps.Add(new RemoveProjectFromPrometheusStep("web"));
break;
case UiFramework.Mvc:

9
framework/src/Volo.Abp.Core/Microsoft/Extensions/DependencyInjection/ServiceCollectionLoggingExtensions.cs

@ -1,12 +1,13 @@
using Volo.Abp.Logging;
using Microsoft.Extensions.Logging;
using Volo.Abp.Logging;
namespace Microsoft.Extensions.DependencyInjection
{
public static class ServiceCollectionLoggingExtensions
{
public static IInitLogger GetInitLogger(this IServiceCollection services)
public static ILogger<T> GetInitLogger<T>(this IServiceCollection services)
{
return services.GetSingletonInstance<IInitLogger>();
return services.GetSingletonInstance<IInitLoggerFactory>().Create<T>();
}
}
}
}

18
framework/src/Volo.Abp.Core/Volo/Abp/AbpApplicationBase.cs

@ -62,7 +62,7 @@ namespace Volo.Abp
{
//TODO: Shutdown if not done before?
}
protected virtual void SetServiceProvider(IServiceProvider serviceProvider)
{
ServiceProvider = serviceProvider;
@ -79,7 +79,7 @@ namespace Volo.Abp
.InitializeModules(new ApplicationInitializationContext(scope.ServiceProvider));
}
}
protected virtual void WriteInitLogs(IServiceProvider serviceProvider)
{
var logger = serviceProvider.GetService<ILogger<AbpApplicationBase>>();
@ -87,14 +87,14 @@ namespace Volo.Abp
{
return;
}
var initLogger = serviceProvider.GetRequiredService<IInitLogger>();
var initLogger = serviceProvider.GetRequiredService<IInitLoggerFactory>().Create<AbpApplicationBase>();
foreach (var entry in initLogger.Entries)
{
logger.LogWithLevel(entry.Level, entry.Message, entry.Exception);
logger.Log(entry.LogLevel, entry.EventId, entry.State, entry.Exception, entry.Formatter);
}
initLogger.Entries.Clear();
}
@ -108,7 +108,7 @@ namespace Volo.Abp
options.PlugInSources
);
}
//TODO: We can extract a new class for this
protected virtual void ConfigureServices()
{
@ -179,4 +179,4 @@ namespace Volo.Abp
}
}
}
}
}

6
framework/src/Volo.Abp.Core/Volo/Abp/Internal/InternalServiceCollectionExtensions.cs

@ -17,7 +17,7 @@ namespace Volo.Abp.Internal
}
internal static void AddCoreAbpServices(this IServiceCollection services,
IAbpApplication abpApplication,
IAbpApplication abpApplication,
AbpApplicationCreationOptions applicationCreationOptions)
{
var moduleLoader = new ModuleLoader();
@ -36,7 +36,7 @@ namespace Volo.Abp.Internal
services.TryAddSingleton<IModuleLoader>(moduleLoader);
services.TryAddSingleton<IAssemblyFinder>(assemblyFinder);
services.TryAddSingleton<ITypeFinder>(typeFinder);
services.TryAddSingleton<IInitLogger>(new DefaultInitLogger());
services.TryAddSingleton<IInitLoggerFactory>(new DefaultInitLoggerFactory());
services.AddAssemblyOf<IAbpApplication>();
@ -49,4 +49,4 @@ namespace Volo.Abp.Internal
});
}
}
}
}

30
framework/src/Volo.Abp.Core/Volo/Abp/Logging/AbpInitLogEntry.cs

@ -1,26 +1,20 @@
using System;
using JetBrains.Annotations;
using Microsoft.Extensions.Logging;
namespace Volo.Abp.Logging
{
public class AbpInitLogEntry
{
public LogLevel Level { get; }
public string Message { get; }
[CanBeNull]
public Exception Exception { get; }
public AbpInitLogEntry(
LogLevel level,
string message,
Exception exception)
{
Level = level;
Message = message;
Exception = exception;
}
public LogLevel LogLevel { get; set; }
public EventId EventId { get; set; }
public object State { get; set; }
public Exception Exception { get; set; }
public Func<object, Exception, string> Formatter { get; set; }
public string Message => Formatter(State, Exception);
}
}
}

30
framework/src/Volo.Abp.Core/Volo/Abp/Logging/DefaultInitLogger.cs

@ -4,7 +4,7 @@ using Microsoft.Extensions.Logging;
namespace Volo.Abp.Logging
{
public class DefaultInitLogger : IInitLogger
public class DefaultInitLogger<T> : IInitLogger<T>
{
public List<AbpInitLogEntry> Entries { get; }
@ -12,13 +12,27 @@ namespace Volo.Abp.Logging
{
Entries = new List<AbpInitLogEntry>();
}
public void Log(
LogLevel logLevel,
string message,
Exception exception = null)
public virtual void Log<TState>(LogLevel logLevel, EventId eventId, TState state, Exception exception, Func<TState, Exception, string> formatter)
{
Entries.Add(new AbpInitLogEntry
{
LogLevel = logLevel,
EventId = eventId,
State = state,
Exception = exception,
Formatter = (s, e) => formatter((TState)s, e),
});
}
public virtual bool IsEnabled(LogLevel logLevel)
{
return logLevel != LogLevel.None;
}
public virtual IDisposable BeginScope<TState>(TState state)
{
Entries.Add(new AbpInitLogEntry(logLevel, message, exception));
return NullDisposable.Instance;
}
}
}
}

15
framework/src/Volo.Abp.Core/Volo/Abp/Logging/DefaultInitLoggerFactory.cs

@ -0,0 +1,15 @@
using System;
using System.Collections.Generic;
namespace Volo.Abp.Logging
{
public class DefaultInitLoggerFactory : IInitLoggerFactory
{
private readonly Dictionary<Type, object> _cache = new Dictionary<Type, object>();
public virtual IInitLogger<T> Create<T>()
{
return (IInitLogger<T>)_cache.GetOrAdd(typeof(T), () => new DefaultInitLogger<T>());;
}
}
}

12
framework/src/Volo.Abp.Core/Volo/Abp/Logging/IInitLogger.cs

@ -1,16 +1,10 @@
using System;
using System.Collections.Generic;
using System.Collections.Generic;
using Microsoft.Extensions.Logging;
namespace Volo.Abp.Logging
{
public interface IInitLogger
public interface IInitLogger<out T> : ILogger<T>
{
public List<AbpInitLogEntry> Entries { get; }
void Log(
LogLevel logLevel,
string message,
Exception exception = null);
}
}
}

7
framework/src/Volo.Abp.Core/Volo/Abp/Logging/IInitLoggerFactory.cs

@ -0,0 +1,7 @@
namespace Volo.Abp.Logging
{
public interface IInitLoggerFactory
{
IInitLogger<T> Create<T>();
}
}

5
framework/src/Volo.Abp.Core/Volo/Abp/Modularity/AbpModuleHelper.cs

@ -3,13 +3,12 @@ using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using Microsoft.Extensions.Logging;
using Volo.Abp.Logging;
namespace Volo.Abp.Modularity
{
internal static class AbpModuleHelper
{
public static List<Type> FindAllModuleTypes(Type startupModuleType, IInitLogger logger)
public static List<Type> FindAllModuleTypes(Type startupModuleType, ILogger logger)
{
var moduleTypes = new List<Type>();
logger.Log(LogLevel.Information, "Loaded ABP modules:");
@ -41,7 +40,7 @@ namespace Volo.Abp.Modularity
private static void AddModuleAndDependenciesResursively(
List<Type> moduleTypes,
Type moduleType,
IInitLogger logger,
ILogger logger,
int depth = 0)
{
AbpModule.CheckAbpModuleType(moduleType);

13
framework/src/Volo.Abp.Core/Volo/Abp/Modularity/ModuleLoader.cs

@ -2,7 +2,6 @@
using System.Collections.Generic;
using System.Linq;
using Microsoft.Extensions.DependencyInjection;
using Volo.Abp.Logging;
using Volo.Abp.Modularity.PlugIns;
namespace Volo.Abp.Modularity
@ -26,7 +25,7 @@ namespace Volo.Abp.Modularity
}
private List<IAbpModuleDescriptor> GetDescriptors(
IServiceCollection services,
IServiceCollection services,
Type startupModuleType,
PlugInSourceList plugInSources)
{
@ -44,16 +43,16 @@ namespace Volo.Abp.Modularity
Type startupModuleType,
PlugInSourceList plugInSources)
{
var initLogger = services.GetInitLogger();
var logger = services.GetInitLogger<AbpApplicationBase>();
//All modules starting from the startup module
foreach (var moduleType in AbpModuleHelper.FindAllModuleTypes(startupModuleType, initLogger))
foreach (var moduleType in AbpModuleHelper.FindAllModuleTypes(startupModuleType, logger))
{
modules.Add(CreateModuleDescriptor(services, moduleType));
}
//Plugin modules
foreach (var moduleType in plugInSources.GetAllModules(initLogger))
foreach (var moduleType in plugInSources.GetAllModules(logger))
{
if (modules.Any(m => m.Type == moduleType))
{
@ -105,4 +104,4 @@ namespace Volo.Abp.Modularity
}
}
}
}
}

5
framework/src/Volo.Abp.Core/Volo/Abp/Modularity/PlugIns/PlugInSourceExtensions.cs

@ -1,6 +1,7 @@
using System;
using System.Linq;
using JetBrains.Annotations;
using Microsoft.Extensions.Logging;
using Volo.Abp.Logging;
namespace Volo.Abp.Modularity.PlugIns
@ -8,7 +9,7 @@ namespace Volo.Abp.Modularity.PlugIns
public static class PlugInSourceExtensions
{
[NotNull]
public static Type[] GetModulesWithAllDependencies([NotNull] this IPlugInSource plugInSource, IInitLogger logger)
public static Type[] GetModulesWithAllDependencies([NotNull] this IPlugInSource plugInSource, ILogger logger)
{
Check.NotNull(plugInSource, nameof(plugInSource));
@ -19,4 +20,4 @@ namespace Volo.Abp.Modularity.PlugIns
.ToArray();
}
}
}
}

6
framework/src/Volo.Abp.Core/Volo/Abp/Modularity/PlugIns/PlugInSourceList.cs

@ -2,14 +2,14 @@
using System.Collections.Generic;
using System.Linq;
using JetBrains.Annotations;
using Volo.Abp.Logging;
using Microsoft.Extensions.Logging;
namespace Volo.Abp.Modularity.PlugIns
{
public class PlugInSourceList : List<IPlugInSource>
{
[NotNull]
internal Type[] GetAllModules(IInitLogger logger)
internal Type[] GetAllModules(ILogger logger)
{
return this
.SelectMany(pluginSource => pluginSource.GetModulesWithAllDependencies(logger))
@ -17,4 +17,4 @@ namespace Volo.Abp.Modularity.PlugIns
.ToArray();
}
}
}
}

6
framework/src/Volo.Abp.ExceptionHandling/Volo/Abp/ExceptionHandling/Localization/zh-Hans.json

@ -18,6 +18,8 @@
"401Message": "未授权",
"403Message": "禁止访问",
"404Message": "网页未找到",
"500Message": "内部服务器错误"
"500Message": "内部服务器错误",
"403MessageDetail": "您没有权限执行此操作",
"404MessageDetail": "抱歉, 这个地址是空的"
}
}
}

6
framework/src/Volo.Abp.ExceptionHandling/Volo/Abp/ExceptionHandling/Localization/zh-Hant.json

@ -18,6 +18,8 @@
"401Message": "未授權",
"403Message": "禁止訪問",
"404Message": "網頁未找到",
"500Message": "內部伺服器錯誤"
"500Message": "內部伺服器錯誤",
"403MessageDetail": "你不被授權執行此操作",
"404MessageDetail": "對不起,地址是空的"
}
}
}

8
framework/src/Volo.Abp.Features/Volo/Abp/Features/Localization/zh-Hant.json

@ -0,0 +1,8 @@
{
"culture": "zh-Hant",
"texts": {
"Volo.Feature:010001": "功能尚未啟用: {FeatureName}",
"Volo.Feature:010002": "請求的功能尚未啟用。這些功能被須全部啟用: {FeatureNames}",
"Volo.Feature:010003": "請求的功能尚未啟用。這些功能至少需啟用一個: {FeatureNames}"
}
}

2
framework/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/package.json

@ -3,7 +3,7 @@
"name": "asp.net",
"private": true,
"dependencies": {
"@abp/aspnetcore.mvc.ui.theme.shared": "^4.2.1",
"@abp/aspnetcore.mvc.ui.theme.shared": "^4.2.2",
"highlight.js": "^9.13.1"
},
"devDependencies": {}

224
framework/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/yarn.lock

@ -2,30 +2,30 @@
# yarn lockfile v1
"@abp/aspnetcore.mvc.ui.theme.shared@^4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-4.2.1.tgz#18205c13f137dad9876c4153f34273a7c8e69854"
integrity sha512-+f54CysWpEKfxjIIjhnTKW0jJ0Rg+wS6yxb9Rg3qxA5iEUkxp3B+NB5wA9rT5YcY9APrwVpiw1miNRmq5ZvFXg==
dependencies:
"@abp/aspnetcore.mvc.ui" "~4.2.1"
"@abp/bootstrap" "~4.2.1"
"@abp/bootstrap-datepicker" "~4.2.1"
"@abp/datatables.net-bs4" "~4.2.1"
"@abp/font-awesome" "~4.2.1"
"@abp/jquery-form" "~4.2.1"
"@abp/jquery-validation-unobtrusive" "~4.2.1"
"@abp/lodash" "~4.2.1"
"@abp/luxon" "~4.2.1"
"@abp/malihu-custom-scrollbar-plugin" "~4.2.1"
"@abp/select2" "~4.2.1"
"@abp/sweetalert" "~4.2.1"
"@abp/timeago" "~4.2.1"
"@abp/toastr" "~4.2.1"
"@abp/aspnetcore.mvc.ui@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-4.2.1.tgz#2ad368af731678213ff3d8448a3dd30a2f1f66c9"
integrity sha512-/a/KDVQ3EuETSSe+KqmsR24w6RWHvaokvmmOjL+tCpFQyeaYAZ88E9pvM5hC9HVR24FCHTiARiXwgMTw2eZFyQ==
"@abp/aspnetcore.mvc.ui.theme.shared@^4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-4.2.2.tgz#3902475befccfb27b35c37a3372c4c56a7f09588"
integrity sha512-lyLKyM6tzspdEYzGqK2hM6d2cqgG9ju3MUa2Hu3BD92WCavy+7eyQV+iwjS9zwltMHHTZnDm6PdhudKAgheNxw==
dependencies:
"@abp/aspnetcore.mvc.ui" "~4.2.2"
"@abp/bootstrap" "~4.2.2"
"@abp/bootstrap-datepicker" "~4.2.2"
"@abp/datatables.net-bs4" "~4.2.2"
"@abp/font-awesome" "~4.2.2"
"@abp/jquery-form" "~4.2.2"
"@abp/jquery-validation-unobtrusive" "~4.2.2"
"@abp/lodash" "~4.2.2"
"@abp/luxon" "~4.2.2"
"@abp/malihu-custom-scrollbar-plugin" "~4.2.2"
"@abp/select2" "~4.2.2"
"@abp/sweetalert" "~4.2.2"
"@abp/timeago" "~4.2.2"
"@abp/toastr" "~4.2.2"
"@abp/aspnetcore.mvc.ui@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-4.2.2.tgz#df4640836f460c590574c61607f5a023f2e3f510"
integrity sha512-uiTy6pIw+GQ27YlCa1gPG5sSnlQy/LCMNbXTHCMxoNu+V/m4A9rFC1Ujp1U2BicMQrfNKX7t72GK23BJJwSsrg==
dependencies:
ansi-colors "^4.1.1"
extend-object "^1.0.0"
@ -36,145 +36,145 @@
micromatch "^4.0.2"
path "^0.12.7"
"@abp/bootstrap-datepicker@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-4.2.1.tgz#87fe913aa6923a39206f4481af3b02309e2cebd5"
integrity sha512-35uaM+OBUqsBBIF08NUu7XBVIgwVQIjJard92Px7eR0EJ2AW6f5hNlJQYfPkYVdmkPIpG16qWctICB+L2W3ZKA==
"@abp/bootstrap-datepicker@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-4.2.2.tgz#1a553fb6824f2e795aecb0e803b8f5984a6f5ac6"
integrity sha512-9xRPNmQLjHGypC8hQ6xaMkdZOeT4DRhEiUfbtp+Avv9x8WE16AQO+m7rI+QNjjQEpnF9HwIzOYMFJBTES4SVvQ==
dependencies:
bootstrap-datepicker "^1.9.0"
"@abp/bootstrap@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-4.2.1.tgz#12d8b0cddb5fca55888e01644ff49ed7d78069e9"
integrity sha512-1Z4atDgHDxesjBh5uPb442NALcUucS2Lt56CaN5UPBXQvAPr72cw4hfKbW08KJ0ab7WME0uCi1vYZFM28/zqTg==
"@abp/bootstrap@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-4.2.2.tgz#3ae98e695edc32b2acb106bffc612c02627021b3"
integrity sha512-/NXBhLXuOi/AaCFfu0Y/ujvEQctVhc47xY/o50n8CyRaq3kK8Y9a3WhOVoZmAhsHDhNj3hXy98KMhy5P7A4lyw==
dependencies:
"@abp/core" "~4.2.1"
"@abp/core" "~4.2.2"
bootstrap "^4.5.0"
bootstrap-v4-rtl "4.4.1-2"
"@abp/core@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-4.2.1.tgz#1e74b0ffbc8c938e8de2f320594637910a09cbab"
integrity sha512-EiJSgUytS9Mrv8GZr9pwIzxwlrP82hEcS67cAgDxBc4QOhtMXhGZBMjDBHoIkOt6Db/ua0iPC700w0Utt5kWZQ==
"@abp/core@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-4.2.2.tgz#a375404dec4f5b1e3f7496c2d5c92b18ab561fb6"
integrity sha512-DuTlzblv//bffrdH7Xs6w4uw2/1AEDYh35qtxXHbFQq2m0aNZapcMk2nRAXJOTJeU7X0d+5k5+Ee9PZWjba3UA==
dependencies:
"@abp/utils" "^4.2.1"
"@abp/utils" "^4.2.2"
"@abp/datatables.net-bs4@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-4.2.1.tgz#fa6d711e6af352672879130a931fc2d27e5fd9e7"
integrity sha512-T66P74F58n4P5xwfhekriSr66A35okrXw61mlMXqeet8ACtxiM55MhXw89qvsL0qo5qG/a9d9MWPYNmZgXvKSQ==
"@abp/datatables.net-bs4@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-4.2.2.tgz#d74f738b79e87f7b8b9f8c5d8d4b84c7a56d6ac4"
integrity sha512-xuZ1BZwz09u7fnuQcBv35prCsl7bgGajzbMGECCwQfy+k1BJjyXy51Ay1+nz7uVwaWPp+U/pbxj4dFy+HFjVkA==
dependencies:
"@abp/datatables.net" "~4.2.1"
"@abp/datatables.net" "~4.2.2"
datatables.net-bs4 "^1.10.21"
"@abp/datatables.net@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-4.2.1.tgz#a5f3549b7b581619bbffb398b2172ed7789d0486"
integrity sha512-ZxpSW6PhJupjecTC25MEKTdjePvg2xNouqioL9L7V3lPJ6S3fsqNs9QFjFjpv0vltzXMaZgJTSuxilmR6s6piw==
"@abp/datatables.net@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-4.2.2.tgz#5e3ac4f9b40b35696e065ef8ba206ce0aa25973a"
integrity sha512-CvDFFpgwfncMBULRTNXnAy5K/rcBDcdzCujDs9kgQtme6kMpAoq+XVQFE3YztGRBlXboFtoJBv1c2b0LFPmhXw==
dependencies:
"@abp/jquery" "~4.2.1"
"@abp/jquery" "~4.2.2"
datatables.net "^1.10.21"
"@abp/font-awesome@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-4.2.1.tgz#81d718b08a1f08bf35dd0887f9c6c9f1ea5416ee"
integrity sha512-kWAOqN7OtiBA7gd3VLH7pft1A5KYnJGJCn56xoqWIqLyHrSapwI5IMOojRDr+WhQJXk5EGE+rnmqRP51MYo4NQ==
"@abp/font-awesome@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-4.2.2.tgz#d6babe704b44bf3902d896a1342569069d6c07e0"
integrity sha512-1EVwG9gFT1vMCuSRfzsqYDDoelHTXhPTnThu7J1LyR99DsFk1IVi+bMADOAsO9Wdov3/t3GuXIHQnuP+/uDVzA==
dependencies:
"@abp/core" "~4.2.1"
"@abp/core" "~4.2.2"
"@fortawesome/fontawesome-free" "^5.13.0"
"@abp/jquery-form@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-4.2.1.tgz#bbc21aafd88aa0f89619ce72fbafc917812d15e4"
integrity sha512-xnxaaOExhz7/8/P6XGvQuKitpuVjzoZz+r1Kr+W9gVy0dWZcCOfeVi4kdpxDFpqUmQJQJi0tvdVkFHx/hAkB7g==
"@abp/jquery-form@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-4.2.2.tgz#a35c3eb8c2f4f0fa535fd020469273ce301c4941"
integrity sha512-VgSE6O8RIcfll8Jz6qby6LGE3Uq3gCjd5BPkHXwY5KJFOWYgzQZg1yS9P1UwzT7xnznigElx1U+2tKV1DskxCA==
dependencies:
"@abp/jquery" "~4.2.1"
"@abp/jquery" "~4.2.2"
jquery-form "^4.3.0"
"@abp/jquery-validation-unobtrusive@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-4.2.1.tgz#36681e75e43e8f708bbd5d6e359eefd8dcce86df"
integrity sha512-STuVKdSUNjrW3q30GcszgzecHDdPmL3aA0jPsRJr0S2Wp5CQOe0dB7d5xyAnADIL68cPXjZWlz1OyXSQ2LixeQ==
"@abp/jquery-validation-unobtrusive@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-4.2.2.tgz#f05298475d263b0f82c59bce23a8a9470782f718"
integrity sha512-E+YDNJNaOa+wOSVMn+Mcvc6fD2nTBzkik+DMvTo8T4VndUYMNxgQiLzO38M/kAuyXtHzyOx8ppHVLuNnB1oc5A==
dependencies:
"@abp/jquery-validation" "~4.2.1"
"@abp/jquery-validation" "~4.2.2"
jquery-validation-unobtrusive "^3.2.11"
"@abp/jquery-validation@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-4.2.1.tgz#209b0acb500ac301bb66b3f04bc18b9c574e2fcf"
integrity sha512-g87I0nO7Jk2d4Jt7PlLk/bHu5xQFH4+mbHwH4oRLAzflDhRNtNB+uVF35HK/1shprmSlZt6X+bHz652SEqD81g==
"@abp/jquery-validation@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-4.2.2.tgz#fe245a903c06baaae08222164cb1299af0ecf23b"
integrity sha512-5fGuCJNm4H+eElfpLc65X4e5+G4VZtuwSd5U8LH8uyl/gIjgTG9bAnOq2rfp+Hymgra3AJScDA7KFKdXb8ESyg==
dependencies:
"@abp/jquery" "~4.2.1"
"@abp/jquery" "~4.2.2"
jquery-validation "^1.19.2"
"@abp/jquery@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-4.2.1.tgz#b8ed11cbc02d33cdc99cacbaf5089343a0f164c5"
integrity sha512-xcoSu/2qc2AEF+dCTNHTCWjAo1dIcohHVPM3Yh36bb+JEcnruYYRokqZc4pzkh0GQamE1eMVGi3QOAmuURtbCg==
"@abp/jquery@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-4.2.2.tgz#9caf1692cf7153a6166332b72e8f3108b1990268"
integrity sha512-7kvO3ESqZqRynLvXaaeXZ4fM3PErGATja5EYj9G1mNR8xG/uuBhnD/lIfS10Gkh8BNyP+lWVpjXCARPl1aFPVQ==
dependencies:
"@abp/core" "~4.2.1"
"@abp/core" "~4.2.2"
jquery "~3.5.1"
"@abp/lodash@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-4.2.1.tgz#87b7f48cf494553f7cd43dddf625a90581555ae7"
integrity sha512-hDwzR/Q9GqXPdQaijQ3B4GIWZ8z9clCW9vU59qbELD8xBZIJalTSrUGnIT8YNB9O5tNFb2FWJJbw5Nh8K7lu1A==
"@abp/lodash@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-4.2.2.tgz#537808a7c062eed62a2f057bd68c80721398e490"
integrity sha512-BC7yImby+Izq+6ybtF30oVVLDBj9aIQbuRzm9AhmqysI5MDhQmHaUriCUxh9gK6KUpfpan6b9Q7WoOCBJn/u6Q==
dependencies:
"@abp/core" "~4.2.1"
"@abp/core" "~4.2.2"
lodash "^4.17.15"
"@abp/luxon@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-4.2.1.tgz#e29c1fe9903beb0fc4d32cab90a5de4ebc768e43"
integrity sha512-Sussnocvw75EbJ1j0Ohn7F+SBQy9xPbiG6RJExdDFzxhUNsVp5wJF2Jm8hOZB3DYkeGAOskY5RoIG0abfE/j3w==
"@abp/luxon@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-4.2.2.tgz#29d79ee76e97c148d5d015d7c05cd2eb6f03cde6"
integrity sha512-CnmE1bihzB2CmkBpSnM8n2pApHSkiVFLqLpr3p46AYTjDV92wE7nr48ey8GMmqrhDCFziIu41RBSYSUw5utdQA==
dependencies:
"@abp/core" "~4.2.1"
"@abp/core" "~4.2.2"
luxon "^1.24.1"
"@abp/malihu-custom-scrollbar-plugin@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-4.2.1.tgz#0c491d772ab0bb03d7eead0b9715bddb44252d56"
integrity sha512-qBnBMzj4G/dAMShmF4EXr55hkMehC1+cB6Jjl1wPHgMV8QPafznBKGyM6KWxGhrl8K6nCErBbidgQKpYqtWhNA==
"@abp/malihu-custom-scrollbar-plugin@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-4.2.2.tgz#41a50143d576b6a6d90cdf555f37071b80198e0c"
integrity sha512-2VL0C1GKACxgHK44Q0sERlOAFiZ8M3wiqVwQxnkTyjTxg0k+MPvDFp+H8QZwec7duoexgwBP/Mc5Xc3U1dq5mA==
dependencies:
"@abp/core" "~4.2.1"
"@abp/core" "~4.2.2"
malihu-custom-scrollbar-plugin "^3.1.5"
"@abp/select2@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-4.2.1.tgz#2f397cc1754135642385333bf47a1a106dd9b165"
integrity sha512-g1AUGof5daULbVFCokR9JS1/4gIpEWKB5/+rRJBmnje2hUgBA3llD5PCOh5WRHA7urJJOD/5BjWlFdozluUAyg==
"@abp/select2@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-4.2.2.tgz#cff05d9d8078de237a6ce83642583a9fd1418b7c"
integrity sha512-ddWDN5usydki5UAm1WCTsPZfWYSjwhkdRNJx5i+9c6B0t5BwXRMPqhpetM6M2IZgGgBScqPTqj6R6TogT9OPpw==
dependencies:
"@abp/core" "~4.2.1"
"@abp/core" "~4.2.2"
select2 "^4.0.13"
"@abp/sweetalert@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-4.2.1.tgz#bdbc28c3f73b314b8ca792ea73390fe9f558c03f"
integrity sha512-xTi0oSjAkFMIDHgF8YB+oqFCl4gNfnt7mGHvEjJwpCEQSkuML9QsiGvw1TpXyHP7npOWSjjVpoyEBS2HXC778Q==
"@abp/sweetalert@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-4.2.2.tgz#227459cfdac1ef4095c71d08bc2cd52dd49a5390"
integrity sha512-aITz7Ns6ZjVlz8rF2E0f1ZwDRnjoeP0eJo4UCr2L3RnauWAoHPcskczOA/fIHf3hKYpsKzWGaMiIkjS9vNmrlw==
dependencies:
"@abp/core" "~4.2.1"
"@abp/core" "~4.2.2"
sweetalert "^2.1.2"
"@abp/timeago@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-4.2.1.tgz#38474ed4455e94c687a3124e1a6e77c3b29a87d3"
integrity sha512-46+2plKizUcRn2VWN5WPWvwEVz+xoKOmsH1tEJ8WKKNxjeNRAsfeOslbfIEks89hTXLQemP3txAbq9V3E8pwQw==
"@abp/timeago@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-4.2.2.tgz#8b9731fb070f71a7e0a833c771cc527bcbfb937d"
integrity sha512-4Q2Ic6TJPIapcnwXdYoUnAxZ9z/JyUqoGi0nVWGLW5AzDVxRlY/AC6zlkJscHLts/H6KTngi0bZWytuYwnfMRg==
dependencies:
"@abp/jquery" "~4.2.1"
"@abp/jquery" "~4.2.2"
timeago "^1.6.7"
"@abp/toastr@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-4.2.1.tgz#9e30607f7ff7067588d0a660226d338003c37707"
integrity sha512-fdlMZjffEO/05aeG8BjTspARKGtUu2SpoFViTeHGhSPsCW55BvuehIgRhyOEQNfMqJz8m0cVR0R2q+WPFWf1XA==
"@abp/toastr@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-4.2.2.tgz#9d9fc8cc131e49cf2ed1cdfeead2a6fc30d16deb"
integrity sha512-rWGplHHMdHqLM5m8cVJmP5jo7uiUSKIl0oVGZqjBxKP3bjdx/SHTjeRvMRIkrLS685te6COyFbokOgUpiRkxsg==
dependencies:
"@abp/jquery" "~4.2.1"
"@abp/jquery" "~4.2.2"
toastr "^2.1.4"
"@abp/utils@^4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-4.2.1.tgz#1f5bfa7aae0065ec4dc38f1f5dc393b664c92d5c"
integrity sha512-V7XYC38u4C+UpXQr28KA1KHL5nNgDsFHfZULPnkwPxV8DuhzemmPYN3qmSXi5hfSfp+psNCX3GYZRMCI57kHgQ==
"@abp/utils@^4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-4.2.2.tgz#7afdbbd14246ce06c074109c51d01588596805a9"
integrity sha512-fyPCe5BcS8b88qQd8Ns1D65TdlaOoOryL7mgkYAwBTTpmADLNJQ7R2L4VZxDybkMN2lou+ckCx7qlFIlQmWa7g==
dependencies:
just-compare "^1.3.0"

4
framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/package.json

@ -3,8 +3,8 @@
"name": "asp.net",
"private": true,
"dependencies": {
"@abp/aspnetcore.mvc.ui.theme.basic": "^4.2.1",
"@abp/prismjs": "^4.2.1"
"@abp/aspnetcore.mvc.ui.theme.basic": "^4.2.2",
"@abp/prismjs": "^4.2.2"
},
"devDependencies": {}
}

260
framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/yarn.lock

@ -2,37 +2,37 @@
# yarn lockfile v1
"@abp/aspnetcore.mvc.ui.theme.basic@^4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-4.2.1.tgz#78b465ab8fcd68a38e2b868717d00e5f5d3b0c61"
integrity sha512-Tb0g4mtdSsjQkadvnjjRjObEhweUvigto0BTv5SzRNi0oQLW8ZVUcFmuMWB09nJAIPrbuA3QuPUlXzFcv2gsdg==
dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~4.2.1"
"@abp/aspnetcore.mvc.ui.theme.shared@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-4.2.1.tgz#18205c13f137dad9876c4153f34273a7c8e69854"
integrity sha512-+f54CysWpEKfxjIIjhnTKW0jJ0Rg+wS6yxb9Rg3qxA5iEUkxp3B+NB5wA9rT5YcY9APrwVpiw1miNRmq5ZvFXg==
dependencies:
"@abp/aspnetcore.mvc.ui" "~4.2.1"
"@abp/bootstrap" "~4.2.1"
"@abp/bootstrap-datepicker" "~4.2.1"
"@abp/datatables.net-bs4" "~4.2.1"
"@abp/font-awesome" "~4.2.1"
"@abp/jquery-form" "~4.2.1"
"@abp/jquery-validation-unobtrusive" "~4.2.1"
"@abp/lodash" "~4.2.1"
"@abp/luxon" "~4.2.1"
"@abp/malihu-custom-scrollbar-plugin" "~4.2.1"
"@abp/select2" "~4.2.1"
"@abp/sweetalert" "~4.2.1"
"@abp/timeago" "~4.2.1"
"@abp/toastr" "~4.2.1"
"@abp/aspnetcore.mvc.ui@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-4.2.1.tgz#2ad368af731678213ff3d8448a3dd30a2f1f66c9"
integrity sha512-/a/KDVQ3EuETSSe+KqmsR24w6RWHvaokvmmOjL+tCpFQyeaYAZ88E9pvM5hC9HVR24FCHTiARiXwgMTw2eZFyQ==
"@abp/aspnetcore.mvc.ui.theme.basic@^4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-4.2.2.tgz#7de6a36c8e6d0a60b8dbd13d1fd15e31b4ea91c3"
integrity sha512-LpxRorrFZFb1RGdb5uuMhp9Vn8wqgwYK6eAKf9SgLKf19+8oOLLoC6DMz/DwscOicukSSMngNdLZ/iiIofEEWA==
dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~4.2.2"
"@abp/aspnetcore.mvc.ui.theme.shared@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-4.2.2.tgz#3902475befccfb27b35c37a3372c4c56a7f09588"
integrity sha512-lyLKyM6tzspdEYzGqK2hM6d2cqgG9ju3MUa2Hu3BD92WCavy+7eyQV+iwjS9zwltMHHTZnDm6PdhudKAgheNxw==
dependencies:
"@abp/aspnetcore.mvc.ui" "~4.2.2"
"@abp/bootstrap" "~4.2.2"
"@abp/bootstrap-datepicker" "~4.2.2"
"@abp/datatables.net-bs4" "~4.2.2"
"@abp/font-awesome" "~4.2.2"
"@abp/jquery-form" "~4.2.2"
"@abp/jquery-validation-unobtrusive" "~4.2.2"
"@abp/lodash" "~4.2.2"
"@abp/luxon" "~4.2.2"
"@abp/malihu-custom-scrollbar-plugin" "~4.2.2"
"@abp/select2" "~4.2.2"
"@abp/sweetalert" "~4.2.2"
"@abp/timeago" "~4.2.2"
"@abp/toastr" "~4.2.2"
"@abp/aspnetcore.mvc.ui@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-4.2.2.tgz#df4640836f460c590574c61607f5a023f2e3f510"
integrity sha512-uiTy6pIw+GQ27YlCa1gPG5sSnlQy/LCMNbXTHCMxoNu+V/m4A9rFC1Ujp1U2BicMQrfNKX7t72GK23BJJwSsrg==
dependencies:
ansi-colors "^4.1.1"
extend-object "^1.0.0"
@ -43,162 +43,162 @@
micromatch "^4.0.2"
path "^0.12.7"
"@abp/bootstrap-datepicker@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-4.2.1.tgz#87fe913aa6923a39206f4481af3b02309e2cebd5"
integrity sha512-35uaM+OBUqsBBIF08NUu7XBVIgwVQIjJard92Px7eR0EJ2AW6f5hNlJQYfPkYVdmkPIpG16qWctICB+L2W3ZKA==
"@abp/bootstrap-datepicker@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-4.2.2.tgz#1a553fb6824f2e795aecb0e803b8f5984a6f5ac6"
integrity sha512-9xRPNmQLjHGypC8hQ6xaMkdZOeT4DRhEiUfbtp+Avv9x8WE16AQO+m7rI+QNjjQEpnF9HwIzOYMFJBTES4SVvQ==
dependencies:
bootstrap-datepicker "^1.9.0"
"@abp/bootstrap@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-4.2.1.tgz#12d8b0cddb5fca55888e01644ff49ed7d78069e9"
integrity sha512-1Z4atDgHDxesjBh5uPb442NALcUucS2Lt56CaN5UPBXQvAPr72cw4hfKbW08KJ0ab7WME0uCi1vYZFM28/zqTg==
"@abp/bootstrap@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-4.2.2.tgz#3ae98e695edc32b2acb106bffc612c02627021b3"
integrity sha512-/NXBhLXuOi/AaCFfu0Y/ujvEQctVhc47xY/o50n8CyRaq3kK8Y9a3WhOVoZmAhsHDhNj3hXy98KMhy5P7A4lyw==
dependencies:
"@abp/core" "~4.2.1"
"@abp/core" "~4.2.2"
bootstrap "^4.5.0"
bootstrap-v4-rtl "4.4.1-2"
"@abp/clipboard@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-4.2.1.tgz#93132b1f3009883da00d074e9ce2a45fdb368fea"
integrity sha512-yMbBbiPdm187XtPX0unfdjSTd5Lmh9U527kw/suq0NqFwMEOVQkdW7gA1Xm1Ierit5OwvNP3vE6sHqTk7LhLWw==
"@abp/clipboard@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-4.2.2.tgz#79b21df149c4e83dc50f7f7d135836d203e418dc"
integrity sha512-8o3wXKuA9Tw3OW6Cjt8yzNmZLl0WfeBTjREIjSOglQ9j9vpmTXhJgPPfERhlRuaevAnY2hMaZx1GlfNVDpFvvQ==
dependencies:
"@abp/core" "~4.2.1"
"@abp/core" "~4.2.2"
clipboard "^2.0.6"
"@abp/core@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-4.2.1.tgz#1e74b0ffbc8c938e8de2f320594637910a09cbab"
integrity sha512-EiJSgUytS9Mrv8GZr9pwIzxwlrP82hEcS67cAgDxBc4QOhtMXhGZBMjDBHoIkOt6Db/ua0iPC700w0Utt5kWZQ==
"@abp/core@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-4.2.2.tgz#a375404dec4f5b1e3f7496c2d5c92b18ab561fb6"
integrity sha512-DuTlzblv//bffrdH7Xs6w4uw2/1AEDYh35qtxXHbFQq2m0aNZapcMk2nRAXJOTJeU7X0d+5k5+Ee9PZWjba3UA==
dependencies:
"@abp/utils" "^4.2.1"
"@abp/utils" "^4.2.2"
"@abp/datatables.net-bs4@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-4.2.1.tgz#fa6d711e6af352672879130a931fc2d27e5fd9e7"
integrity sha512-T66P74F58n4P5xwfhekriSr66A35okrXw61mlMXqeet8ACtxiM55MhXw89qvsL0qo5qG/a9d9MWPYNmZgXvKSQ==
"@abp/datatables.net-bs4@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-4.2.2.tgz#d74f738b79e87f7b8b9f8c5d8d4b84c7a56d6ac4"
integrity sha512-xuZ1BZwz09u7fnuQcBv35prCsl7bgGajzbMGECCwQfy+k1BJjyXy51Ay1+nz7uVwaWPp+U/pbxj4dFy+HFjVkA==
dependencies:
"@abp/datatables.net" "~4.2.1"
"@abp/datatables.net" "~4.2.2"
datatables.net-bs4 "^1.10.21"
"@abp/datatables.net@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-4.2.1.tgz#a5f3549b7b581619bbffb398b2172ed7789d0486"
integrity sha512-ZxpSW6PhJupjecTC25MEKTdjePvg2xNouqioL9L7V3lPJ6S3fsqNs9QFjFjpv0vltzXMaZgJTSuxilmR6s6piw==
"@abp/datatables.net@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-4.2.2.tgz#5e3ac4f9b40b35696e065ef8ba206ce0aa25973a"
integrity sha512-CvDFFpgwfncMBULRTNXnAy5K/rcBDcdzCujDs9kgQtme6kMpAoq+XVQFE3YztGRBlXboFtoJBv1c2b0LFPmhXw==
dependencies:
"@abp/jquery" "~4.2.1"
"@abp/jquery" "~4.2.2"
datatables.net "^1.10.21"
"@abp/font-awesome@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-4.2.1.tgz#81d718b08a1f08bf35dd0887f9c6c9f1ea5416ee"
integrity sha512-kWAOqN7OtiBA7gd3VLH7pft1A5KYnJGJCn56xoqWIqLyHrSapwI5IMOojRDr+WhQJXk5EGE+rnmqRP51MYo4NQ==
"@abp/font-awesome@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-4.2.2.tgz#d6babe704b44bf3902d896a1342569069d6c07e0"
integrity sha512-1EVwG9gFT1vMCuSRfzsqYDDoelHTXhPTnThu7J1LyR99DsFk1IVi+bMADOAsO9Wdov3/t3GuXIHQnuP+/uDVzA==
dependencies:
"@abp/core" "~4.2.1"
"@abp/core" "~4.2.2"
"@fortawesome/fontawesome-free" "^5.13.0"
"@abp/jquery-form@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-4.2.1.tgz#bbc21aafd88aa0f89619ce72fbafc917812d15e4"
integrity sha512-xnxaaOExhz7/8/P6XGvQuKitpuVjzoZz+r1Kr+W9gVy0dWZcCOfeVi4kdpxDFpqUmQJQJi0tvdVkFHx/hAkB7g==
"@abp/jquery-form@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-4.2.2.tgz#a35c3eb8c2f4f0fa535fd020469273ce301c4941"
integrity sha512-VgSE6O8RIcfll8Jz6qby6LGE3Uq3gCjd5BPkHXwY5KJFOWYgzQZg1yS9P1UwzT7xnznigElx1U+2tKV1DskxCA==
dependencies:
"@abp/jquery" "~4.2.1"
"@abp/jquery" "~4.2.2"
jquery-form "^4.3.0"
"@abp/jquery-validation-unobtrusive@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-4.2.1.tgz#36681e75e43e8f708bbd5d6e359eefd8dcce86df"
integrity sha512-STuVKdSUNjrW3q30GcszgzecHDdPmL3aA0jPsRJr0S2Wp5CQOe0dB7d5xyAnADIL68cPXjZWlz1OyXSQ2LixeQ==
"@abp/jquery-validation-unobtrusive@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-4.2.2.tgz#f05298475d263b0f82c59bce23a8a9470782f718"
integrity sha512-E+YDNJNaOa+wOSVMn+Mcvc6fD2nTBzkik+DMvTo8T4VndUYMNxgQiLzO38M/kAuyXtHzyOx8ppHVLuNnB1oc5A==
dependencies:
"@abp/jquery-validation" "~4.2.1"
"@abp/jquery-validation" "~4.2.2"
jquery-validation-unobtrusive "^3.2.11"
"@abp/jquery-validation@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-4.2.1.tgz#209b0acb500ac301bb66b3f04bc18b9c574e2fcf"
integrity sha512-g87I0nO7Jk2d4Jt7PlLk/bHu5xQFH4+mbHwH4oRLAzflDhRNtNB+uVF35HK/1shprmSlZt6X+bHz652SEqD81g==
"@abp/jquery-validation@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-4.2.2.tgz#fe245a903c06baaae08222164cb1299af0ecf23b"
integrity sha512-5fGuCJNm4H+eElfpLc65X4e5+G4VZtuwSd5U8LH8uyl/gIjgTG9bAnOq2rfp+Hymgra3AJScDA7KFKdXb8ESyg==
dependencies:
"@abp/jquery" "~4.2.1"
"@abp/jquery" "~4.2.2"
jquery-validation "^1.19.2"
"@abp/jquery@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-4.2.1.tgz#b8ed11cbc02d33cdc99cacbaf5089343a0f164c5"
integrity sha512-xcoSu/2qc2AEF+dCTNHTCWjAo1dIcohHVPM3Yh36bb+JEcnruYYRokqZc4pzkh0GQamE1eMVGi3QOAmuURtbCg==
"@abp/jquery@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-4.2.2.tgz#9caf1692cf7153a6166332b72e8f3108b1990268"
integrity sha512-7kvO3ESqZqRynLvXaaeXZ4fM3PErGATja5EYj9G1mNR8xG/uuBhnD/lIfS10Gkh8BNyP+lWVpjXCARPl1aFPVQ==
dependencies:
"@abp/core" "~4.2.1"
"@abp/core" "~4.2.2"
jquery "~3.5.1"
"@abp/lodash@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-4.2.1.tgz#87b7f48cf494553f7cd43dddf625a90581555ae7"
integrity sha512-hDwzR/Q9GqXPdQaijQ3B4GIWZ8z9clCW9vU59qbELD8xBZIJalTSrUGnIT8YNB9O5tNFb2FWJJbw5Nh8K7lu1A==
"@abp/lodash@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-4.2.2.tgz#537808a7c062eed62a2f057bd68c80721398e490"
integrity sha512-BC7yImby+Izq+6ybtF30oVVLDBj9aIQbuRzm9AhmqysI5MDhQmHaUriCUxh9gK6KUpfpan6b9Q7WoOCBJn/u6Q==
dependencies:
"@abp/core" "~4.2.1"
"@abp/core" "~4.2.2"
lodash "^4.17.15"
"@abp/luxon@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-4.2.1.tgz#e29c1fe9903beb0fc4d32cab90a5de4ebc768e43"
integrity sha512-Sussnocvw75EbJ1j0Ohn7F+SBQy9xPbiG6RJExdDFzxhUNsVp5wJF2Jm8hOZB3DYkeGAOskY5RoIG0abfE/j3w==
"@abp/luxon@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-4.2.2.tgz#29d79ee76e97c148d5d015d7c05cd2eb6f03cde6"
integrity sha512-CnmE1bihzB2CmkBpSnM8n2pApHSkiVFLqLpr3p46AYTjDV92wE7nr48ey8GMmqrhDCFziIu41RBSYSUw5utdQA==
dependencies:
"@abp/core" "~4.2.1"
"@abp/core" "~4.2.2"
luxon "^1.24.1"
"@abp/malihu-custom-scrollbar-plugin@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-4.2.1.tgz#0c491d772ab0bb03d7eead0b9715bddb44252d56"
integrity sha512-qBnBMzj4G/dAMShmF4EXr55hkMehC1+cB6Jjl1wPHgMV8QPafznBKGyM6KWxGhrl8K6nCErBbidgQKpYqtWhNA==
"@abp/malihu-custom-scrollbar-plugin@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-4.2.2.tgz#41a50143d576b6a6d90cdf555f37071b80198e0c"
integrity sha512-2VL0C1GKACxgHK44Q0sERlOAFiZ8M3wiqVwQxnkTyjTxg0k+MPvDFp+H8QZwec7duoexgwBP/Mc5Xc3U1dq5mA==
dependencies:
"@abp/core" "~4.2.1"
"@abp/core" "~4.2.2"
malihu-custom-scrollbar-plugin "^3.1.5"
"@abp/prismjs@^4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-4.2.1.tgz#4029e69efe88a24903760cb3031c90ae1ddb0d3c"
integrity sha512-QxSQ4l8Bdpl8sntZWlPdSb2YQwSMtFPqudod/4atC0ttZKK1DZNMW3HRInsRo3gZDc9XzwMAazci4BPaJHG6eA==
"@abp/prismjs@^4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-4.2.2.tgz#35e50636e37b20cb774a69aac2c07471b6c3c5a0"
integrity sha512-Lndu4I/3tX3wHcRlBa0qLqbltDhFy0EvKNxL6P83hADI7tm60gq2TVG+KSosODzdqL3r875Ab8H6T6EkJWWshQ==
dependencies:
"@abp/clipboard" "~4.2.1"
"@abp/core" "~4.2.1"
"@abp/clipboard" "~4.2.2"
"@abp/core" "~4.2.2"
prismjs "^1.20.0"
"@abp/select2@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-4.2.1.tgz#2f397cc1754135642385333bf47a1a106dd9b165"
integrity sha512-g1AUGof5daULbVFCokR9JS1/4gIpEWKB5/+rRJBmnje2hUgBA3llD5PCOh5WRHA7urJJOD/5BjWlFdozluUAyg==
"@abp/select2@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-4.2.2.tgz#cff05d9d8078de237a6ce83642583a9fd1418b7c"
integrity sha512-ddWDN5usydki5UAm1WCTsPZfWYSjwhkdRNJx5i+9c6B0t5BwXRMPqhpetM6M2IZgGgBScqPTqj6R6TogT9OPpw==
dependencies:
"@abp/core" "~4.2.1"
"@abp/core" "~4.2.2"
select2 "^4.0.13"
"@abp/sweetalert@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-4.2.1.tgz#bdbc28c3f73b314b8ca792ea73390fe9f558c03f"
integrity sha512-xTi0oSjAkFMIDHgF8YB+oqFCl4gNfnt7mGHvEjJwpCEQSkuML9QsiGvw1TpXyHP7npOWSjjVpoyEBS2HXC778Q==
"@abp/sweetalert@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-4.2.2.tgz#227459cfdac1ef4095c71d08bc2cd52dd49a5390"
integrity sha512-aITz7Ns6ZjVlz8rF2E0f1ZwDRnjoeP0eJo4UCr2L3RnauWAoHPcskczOA/fIHf3hKYpsKzWGaMiIkjS9vNmrlw==
dependencies:
"@abp/core" "~4.2.1"
"@abp/core" "~4.2.2"
sweetalert "^2.1.2"
"@abp/timeago@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-4.2.1.tgz#38474ed4455e94c687a3124e1a6e77c3b29a87d3"
integrity sha512-46+2plKizUcRn2VWN5WPWvwEVz+xoKOmsH1tEJ8WKKNxjeNRAsfeOslbfIEks89hTXLQemP3txAbq9V3E8pwQw==
"@abp/timeago@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-4.2.2.tgz#8b9731fb070f71a7e0a833c771cc527bcbfb937d"
integrity sha512-4Q2Ic6TJPIapcnwXdYoUnAxZ9z/JyUqoGi0nVWGLW5AzDVxRlY/AC6zlkJscHLts/H6KTngi0bZWytuYwnfMRg==
dependencies:
"@abp/jquery" "~4.2.1"
"@abp/jquery" "~4.2.2"
timeago "^1.6.7"
"@abp/toastr@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-4.2.1.tgz#9e30607f7ff7067588d0a660226d338003c37707"
integrity sha512-fdlMZjffEO/05aeG8BjTspARKGtUu2SpoFViTeHGhSPsCW55BvuehIgRhyOEQNfMqJz8m0cVR0R2q+WPFWf1XA==
"@abp/toastr@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-4.2.2.tgz#9d9fc8cc131e49cf2ed1cdfeead2a6fc30d16deb"
integrity sha512-rWGplHHMdHqLM5m8cVJmP5jo7uiUSKIl0oVGZqjBxKP3bjdx/SHTjeRvMRIkrLS685te6COyFbokOgUpiRkxsg==
dependencies:
"@abp/jquery" "~4.2.1"
"@abp/jquery" "~4.2.2"
toastr "^2.1.4"
"@abp/utils@^4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-4.2.1.tgz#1f5bfa7aae0065ec4dc38f1f5dc393b664c92d5c"
integrity sha512-V7XYC38u4C+UpXQr28KA1KHL5nNgDsFHfZULPnkwPxV8DuhzemmPYN3qmSXi5hfSfp+psNCX3GYZRMCI57kHgQ==
"@abp/utils@^4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-4.2.2.tgz#7afdbbd14246ce06c074109c51d01588596805a9"
integrity sha512-fyPCe5BcS8b88qQd8Ns1D65TdlaOoOryL7mgkYAwBTTpmADLNJQ7R2L4VZxDybkMN2lou+ckCx7qlFIlQmWa7g==
dependencies:
just-compare "^1.3.0"

4
framework/test/Volo.Abp.Core.Tests/Volo/Abp/Modularity/ModuleLoader_Tests.cs

@ -14,7 +14,7 @@ namespace Volo.Abp.Modularity
var moduleLoader = new ModuleLoader();
var modules = moduleLoader.LoadModules(
new ServiceCollection()
.AddSingleton<IInitLogger>(new DefaultInitLogger()),
.AddSingleton<IInitLoggerFactory>(new DefaultInitLoggerFactory()),
typeof(MyStartupModule),
new PlugInSourceList()
);
@ -28,7 +28,7 @@ namespace Volo.Abp.Modularity
{
public override void ConfigureServices(ServiceConfigurationContext context)
{
}
}
}

6
framework/test/Volo.Abp.Emailing.Tests/Volo/Abp/Emailing/Localization/zh-Hant.json

@ -0,0 +1,6 @@
{
"culture": "zh-Hant",
"texts": {
"hello": "嗨"
}
}

7
framework/test/Volo.Abp.TextTemplating.Tests/Volo/Abp/TextTemplating/Localization/zh-Hant.json

@ -0,0 +1,7 @@
{
"culture": "zh-Hant",
"texts": {
"HelloText": "嗨 {0}",
"HowAreYou": "你好嗎?"
}
}

2
global.json

@ -1,6 +1,6 @@
{
"sdk": {
"version": "5.0.100",
"version": "5.0.201",
"rollForward": "latestFeature"
}
}

3
modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/zh-Hant.json

@ -44,6 +44,7 @@
"LoggedOutTitle": "註銷",
"LoggedOutText": "你已成功註銷並將馬上返回.",
"ReturnToText": "點擊此處返回到 {0}",
"OrLoginWith": "或是登入用:",
"ForgotPassword": "忘記密碼?",
"SendPasswordResetLink_Information": "密碼重置鏈接將發送到您的電子郵件以重置密碼. 如果您在幾分鐘內沒有收到電子郵件,請重試.",
"PasswordResetMailSentMessage": "帳戶恢復電子郵件已發送到您的電子郵件地址. 如果您在15分鐘內未在收件箱中看到此電子郵件,請檢查垃圾郵件,並標記為非垃圾郵件.",
@ -62,4 +63,4 @@
"AccessDenied": "拒絕訪問!",
"AccessDeniedMessage": "您無權訪問此資源."
}
}
}

4
modules/blogging/app/Volo.BloggingTestApp/package.json

@ -3,7 +3,7 @@
"name": "volo.blogtestapp",
"private": true,
"dependencies": {
"@abp/aspnetcore.mvc.ui.theme.basic": "^4.2.1",
"@abp/blogging": "^4.2.1"
"@abp/aspnetcore.mvc.ui.theme.basic": "^4.2.2",
"@abp/blogging": "^4.2.2"
}
}

332
modules/blogging/app/Volo.BloggingTestApp/yarn.lock

@ -2,37 +2,37 @@
# yarn lockfile v1
"@abp/aspnetcore.mvc.ui.theme.basic@^4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-4.2.1.tgz#78b465ab8fcd68a38e2b868717d00e5f5d3b0c61"
integrity sha512-Tb0g4mtdSsjQkadvnjjRjObEhweUvigto0BTv5SzRNi0oQLW8ZVUcFmuMWB09nJAIPrbuA3QuPUlXzFcv2gsdg==
dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~4.2.1"
"@abp/aspnetcore.mvc.ui.theme.shared@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-4.2.1.tgz#18205c13f137dad9876c4153f34273a7c8e69854"
integrity sha512-+f54CysWpEKfxjIIjhnTKW0jJ0Rg+wS6yxb9Rg3qxA5iEUkxp3B+NB5wA9rT5YcY9APrwVpiw1miNRmq5ZvFXg==
dependencies:
"@abp/aspnetcore.mvc.ui" "~4.2.1"
"@abp/bootstrap" "~4.2.1"
"@abp/bootstrap-datepicker" "~4.2.1"
"@abp/datatables.net-bs4" "~4.2.1"
"@abp/font-awesome" "~4.2.1"
"@abp/jquery-form" "~4.2.1"
"@abp/jquery-validation-unobtrusive" "~4.2.1"
"@abp/lodash" "~4.2.1"
"@abp/luxon" "~4.2.1"
"@abp/malihu-custom-scrollbar-plugin" "~4.2.1"
"@abp/select2" "~4.2.1"
"@abp/sweetalert" "~4.2.1"
"@abp/timeago" "~4.2.1"
"@abp/toastr" "~4.2.1"
"@abp/aspnetcore.mvc.ui@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-4.2.1.tgz#2ad368af731678213ff3d8448a3dd30a2f1f66c9"
integrity sha512-/a/KDVQ3EuETSSe+KqmsR24w6RWHvaokvmmOjL+tCpFQyeaYAZ88E9pvM5hC9HVR24FCHTiARiXwgMTw2eZFyQ==
"@abp/aspnetcore.mvc.ui.theme.basic@^4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-4.2.2.tgz#7de6a36c8e6d0a60b8dbd13d1fd15e31b4ea91c3"
integrity sha512-LpxRorrFZFb1RGdb5uuMhp9Vn8wqgwYK6eAKf9SgLKf19+8oOLLoC6DMz/DwscOicukSSMngNdLZ/iiIofEEWA==
dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~4.2.2"
"@abp/aspnetcore.mvc.ui.theme.shared@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-4.2.2.tgz#3902475befccfb27b35c37a3372c4c56a7f09588"
integrity sha512-lyLKyM6tzspdEYzGqK2hM6d2cqgG9ju3MUa2Hu3BD92WCavy+7eyQV+iwjS9zwltMHHTZnDm6PdhudKAgheNxw==
dependencies:
"@abp/aspnetcore.mvc.ui" "~4.2.2"
"@abp/bootstrap" "~4.2.2"
"@abp/bootstrap-datepicker" "~4.2.2"
"@abp/datatables.net-bs4" "~4.2.2"
"@abp/font-awesome" "~4.2.2"
"@abp/jquery-form" "~4.2.2"
"@abp/jquery-validation-unobtrusive" "~4.2.2"
"@abp/lodash" "~4.2.2"
"@abp/luxon" "~4.2.2"
"@abp/malihu-custom-scrollbar-plugin" "~4.2.2"
"@abp/select2" "~4.2.2"
"@abp/sweetalert" "~4.2.2"
"@abp/timeago" "~4.2.2"
"@abp/toastr" "~4.2.2"
"@abp/aspnetcore.mvc.ui@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-4.2.2.tgz#df4640836f460c590574c61607f5a023f2e3f510"
integrity sha512-uiTy6pIw+GQ27YlCa1gPG5sSnlQy/LCMNbXTHCMxoNu+V/m4A9rFC1Ujp1U2BicMQrfNKX7t72GK23BJJwSsrg==
dependencies:
ansi-colors "^4.1.1"
extend-object "^1.0.0"
@ -43,214 +43,214 @@
micromatch "^4.0.2"
path "^0.12.7"
"@abp/blogging@^4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/blogging/-/blogging-4.2.1.tgz#9276cdced0e33bd3118824ffab2653d9487d159e"
integrity sha512-zRAZqgdn7e+DpTwh8eMhVnx6utkMpUtUoMW4eA0DESQB1qQ1E2fEAKl1NjzJ2CinhvNty1psCsI+k2gVHQUYeA==
"@abp/blogging@^4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/blogging/-/blogging-4.2.2.tgz#9a57caa631a75b7fde1e1f5cbbe26931d31966c1"
integrity sha512-GOsmOMl+MyWLqM/Xf8Uci1oyR9lHLdhpB8gUcieVhoNEpBfunw8XwpTWpEwwJy8HBbrXUkxFAhmBAXhqM/RZqQ==
dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~4.2.1"
"@abp/owl.carousel" "~4.2.1"
"@abp/prismjs" "~4.2.1"
"@abp/tui-editor" "~4.2.1"
"@abp/aspnetcore.mvc.ui.theme.shared" "~4.2.2"
"@abp/owl.carousel" "~4.2.2"
"@abp/prismjs" "~4.2.2"
"@abp/tui-editor" "~4.2.2"
"@abp/bootstrap-datepicker@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-4.2.1.tgz#87fe913aa6923a39206f4481af3b02309e2cebd5"
integrity sha512-35uaM+OBUqsBBIF08NUu7XBVIgwVQIjJard92Px7eR0EJ2AW6f5hNlJQYfPkYVdmkPIpG16qWctICB+L2W3ZKA==
"@abp/bootstrap-datepicker@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-4.2.2.tgz#1a553fb6824f2e795aecb0e803b8f5984a6f5ac6"
integrity sha512-9xRPNmQLjHGypC8hQ6xaMkdZOeT4DRhEiUfbtp+Avv9x8WE16AQO+m7rI+QNjjQEpnF9HwIzOYMFJBTES4SVvQ==
dependencies:
bootstrap-datepicker "^1.9.0"
"@abp/bootstrap@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-4.2.1.tgz#12d8b0cddb5fca55888e01644ff49ed7d78069e9"
integrity sha512-1Z4atDgHDxesjBh5uPb442NALcUucS2Lt56CaN5UPBXQvAPr72cw4hfKbW08KJ0ab7WME0uCi1vYZFM28/zqTg==
"@abp/bootstrap@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-4.2.2.tgz#3ae98e695edc32b2acb106bffc612c02627021b3"
integrity sha512-/NXBhLXuOi/AaCFfu0Y/ujvEQctVhc47xY/o50n8CyRaq3kK8Y9a3WhOVoZmAhsHDhNj3hXy98KMhy5P7A4lyw==
dependencies:
"@abp/core" "~4.2.1"
"@abp/core" "~4.2.2"
bootstrap "^4.5.0"
bootstrap-v4-rtl "4.4.1-2"
"@abp/clipboard@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-4.2.1.tgz#93132b1f3009883da00d074e9ce2a45fdb368fea"
integrity sha512-yMbBbiPdm187XtPX0unfdjSTd5Lmh9U527kw/suq0NqFwMEOVQkdW7gA1Xm1Ierit5OwvNP3vE6sHqTk7LhLWw==
"@abp/clipboard@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-4.2.2.tgz#79b21df149c4e83dc50f7f7d135836d203e418dc"
integrity sha512-8o3wXKuA9Tw3OW6Cjt8yzNmZLl0WfeBTjREIjSOglQ9j9vpmTXhJgPPfERhlRuaevAnY2hMaZx1GlfNVDpFvvQ==
dependencies:
"@abp/core" "~4.2.1"
"@abp/core" "~4.2.2"
clipboard "^2.0.6"
"@abp/codemirror@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/codemirror/-/codemirror-4.2.1.tgz#33614bf789da88ccb1521f93527c7bf8e6d519bc"
integrity sha512-kY7KiFDQiVHPIKxumJszPXJlZIyOUpKxh8zmZiOvPm4ixUb4pOZZrPJ1u0HPpADU0RTFdB3Hq3AMzfwaXR2CGw==
"@abp/codemirror@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/codemirror/-/codemirror-4.2.2.tgz#2f125af5f622a30eaa5d7120c4576bbdbebea8dc"
integrity sha512-Wxe1I4nn2urdwP8UEzKRaDzXWlTlSx5lfAWmP5uXaXpfobSmD8xs+joHh2mb2lxClgoAOd/7gmVSvzoz34TWeA==
dependencies:
"@abp/core" "~4.2.1"
"@abp/core" "~4.2.2"
codemirror "^5.54.0"
"@abp/core@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-4.2.1.tgz#1e74b0ffbc8c938e8de2f320594637910a09cbab"
integrity sha512-EiJSgUytS9Mrv8GZr9pwIzxwlrP82hEcS67cAgDxBc4QOhtMXhGZBMjDBHoIkOt6Db/ua0iPC700w0Utt5kWZQ==
"@abp/core@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-4.2.2.tgz#a375404dec4f5b1e3f7496c2d5c92b18ab561fb6"
integrity sha512-DuTlzblv//bffrdH7Xs6w4uw2/1AEDYh35qtxXHbFQq2m0aNZapcMk2nRAXJOTJeU7X0d+5k5+Ee9PZWjba3UA==
dependencies:
"@abp/utils" "^4.2.1"
"@abp/utils" "^4.2.2"
"@abp/datatables.net-bs4@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-4.2.1.tgz#fa6d711e6af352672879130a931fc2d27e5fd9e7"
integrity sha512-T66P74F58n4P5xwfhekriSr66A35okrXw61mlMXqeet8ACtxiM55MhXw89qvsL0qo5qG/a9d9MWPYNmZgXvKSQ==
"@abp/datatables.net-bs4@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-4.2.2.tgz#d74f738b79e87f7b8b9f8c5d8d4b84c7a56d6ac4"
integrity sha512-xuZ1BZwz09u7fnuQcBv35prCsl7bgGajzbMGECCwQfy+k1BJjyXy51Ay1+nz7uVwaWPp+U/pbxj4dFy+HFjVkA==
dependencies:
"@abp/datatables.net" "~4.2.1"
"@abp/datatables.net" "~4.2.2"
datatables.net-bs4 "^1.10.21"
"@abp/datatables.net@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-4.2.1.tgz#a5f3549b7b581619bbffb398b2172ed7789d0486"
integrity sha512-ZxpSW6PhJupjecTC25MEKTdjePvg2xNouqioL9L7V3lPJ6S3fsqNs9QFjFjpv0vltzXMaZgJTSuxilmR6s6piw==
"@abp/datatables.net@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-4.2.2.tgz#5e3ac4f9b40b35696e065ef8ba206ce0aa25973a"
integrity sha512-CvDFFpgwfncMBULRTNXnAy5K/rcBDcdzCujDs9kgQtme6kMpAoq+XVQFE3YztGRBlXboFtoJBv1c2b0LFPmhXw==
dependencies:
"@abp/jquery" "~4.2.1"
"@abp/jquery" "~4.2.2"
datatables.net "^1.10.21"
"@abp/font-awesome@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-4.2.1.tgz#81d718b08a1f08bf35dd0887f9c6c9f1ea5416ee"
integrity sha512-kWAOqN7OtiBA7gd3VLH7pft1A5KYnJGJCn56xoqWIqLyHrSapwI5IMOojRDr+WhQJXk5EGE+rnmqRP51MYo4NQ==
"@abp/font-awesome@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-4.2.2.tgz#d6babe704b44bf3902d896a1342569069d6c07e0"
integrity sha512-1EVwG9gFT1vMCuSRfzsqYDDoelHTXhPTnThu7J1LyR99DsFk1IVi+bMADOAsO9Wdov3/t3GuXIHQnuP+/uDVzA==
dependencies:
"@abp/core" "~4.2.1"
"@abp/core" "~4.2.2"
"@fortawesome/fontawesome-free" "^5.13.0"
"@abp/highlight.js@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/highlight.js/-/highlight.js-4.2.1.tgz#85702403328a36ad3a15347b566e11aa5bafeda0"
integrity sha512-3Tn4xqenO+LyB5mPgCbGmX+hoRwQwoQcfKG41upkr1jwn2M6+ljTo9NgB53wqaeJZsbhOPPfknKkLJzOl4UeRg==
"@abp/highlight.js@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/highlight.js/-/highlight.js-4.2.2.tgz#4799b2c4ef0f9af3f7bb8446824da61f3cc4b798"
integrity sha512-m68vZzU7ccngRef9c4eG6WV35e8Z2E75P8AxTfvuyJ9e6ctdOXZ6Viwg+ucbpXCw69CytW+Etwga/2wM7Z9xiw==
dependencies:
"@abp/core" "~4.2.1"
"@abp/core" "~4.2.2"
"@abp/jquery-form@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-4.2.1.tgz#bbc21aafd88aa0f89619ce72fbafc917812d15e4"
integrity sha512-xnxaaOExhz7/8/P6XGvQuKitpuVjzoZz+r1Kr+W9gVy0dWZcCOfeVi4kdpxDFpqUmQJQJi0tvdVkFHx/hAkB7g==
"@abp/jquery-form@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-4.2.2.tgz#a35c3eb8c2f4f0fa535fd020469273ce301c4941"
integrity sha512-VgSE6O8RIcfll8Jz6qby6LGE3Uq3gCjd5BPkHXwY5KJFOWYgzQZg1yS9P1UwzT7xnznigElx1U+2tKV1DskxCA==
dependencies:
"@abp/jquery" "~4.2.1"
"@abp/jquery" "~4.2.2"
jquery-form "^4.3.0"
"@abp/jquery-validation-unobtrusive@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-4.2.1.tgz#36681e75e43e8f708bbd5d6e359eefd8dcce86df"
integrity sha512-STuVKdSUNjrW3q30GcszgzecHDdPmL3aA0jPsRJr0S2Wp5CQOe0dB7d5xyAnADIL68cPXjZWlz1OyXSQ2LixeQ==
"@abp/jquery-validation-unobtrusive@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-4.2.2.tgz#f05298475d263b0f82c59bce23a8a9470782f718"
integrity sha512-E+YDNJNaOa+wOSVMn+Mcvc6fD2nTBzkik+DMvTo8T4VndUYMNxgQiLzO38M/kAuyXtHzyOx8ppHVLuNnB1oc5A==
dependencies:
"@abp/jquery-validation" "~4.2.1"
"@abp/jquery-validation" "~4.2.2"
jquery-validation-unobtrusive "^3.2.11"
"@abp/jquery-validation@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-4.2.1.tgz#209b0acb500ac301bb66b3f04bc18b9c574e2fcf"
integrity sha512-g87I0nO7Jk2d4Jt7PlLk/bHu5xQFH4+mbHwH4oRLAzflDhRNtNB+uVF35HK/1shprmSlZt6X+bHz652SEqD81g==
"@abp/jquery-validation@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-4.2.2.tgz#fe245a903c06baaae08222164cb1299af0ecf23b"
integrity sha512-5fGuCJNm4H+eElfpLc65X4e5+G4VZtuwSd5U8LH8uyl/gIjgTG9bAnOq2rfp+Hymgra3AJScDA7KFKdXb8ESyg==
dependencies:
"@abp/jquery" "~4.2.1"
"@abp/jquery" "~4.2.2"
jquery-validation "^1.19.2"
"@abp/jquery@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-4.2.1.tgz#b8ed11cbc02d33cdc99cacbaf5089343a0f164c5"
integrity sha512-xcoSu/2qc2AEF+dCTNHTCWjAo1dIcohHVPM3Yh36bb+JEcnruYYRokqZc4pzkh0GQamE1eMVGi3QOAmuURtbCg==
"@abp/jquery@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-4.2.2.tgz#9caf1692cf7153a6166332b72e8f3108b1990268"
integrity sha512-7kvO3ESqZqRynLvXaaeXZ4fM3PErGATja5EYj9G1mNR8xG/uuBhnD/lIfS10Gkh8BNyP+lWVpjXCARPl1aFPVQ==
dependencies:
"@abp/core" "~4.2.1"
"@abp/core" "~4.2.2"
jquery "~3.5.1"
"@abp/lodash@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-4.2.1.tgz#87b7f48cf494553f7cd43dddf625a90581555ae7"
integrity sha512-hDwzR/Q9GqXPdQaijQ3B4GIWZ8z9clCW9vU59qbELD8xBZIJalTSrUGnIT8YNB9O5tNFb2FWJJbw5Nh8K7lu1A==
"@abp/lodash@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-4.2.2.tgz#537808a7c062eed62a2f057bd68c80721398e490"
integrity sha512-BC7yImby+Izq+6ybtF30oVVLDBj9aIQbuRzm9AhmqysI5MDhQmHaUriCUxh9gK6KUpfpan6b9Q7WoOCBJn/u6Q==
dependencies:
"@abp/core" "~4.2.1"
"@abp/core" "~4.2.2"
lodash "^4.17.15"
"@abp/luxon@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-4.2.1.tgz#e29c1fe9903beb0fc4d32cab90a5de4ebc768e43"
integrity sha512-Sussnocvw75EbJ1j0Ohn7F+SBQy9xPbiG6RJExdDFzxhUNsVp5wJF2Jm8hOZB3DYkeGAOskY5RoIG0abfE/j3w==
"@abp/luxon@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-4.2.2.tgz#29d79ee76e97c148d5d015d7c05cd2eb6f03cde6"
integrity sha512-CnmE1bihzB2CmkBpSnM8n2pApHSkiVFLqLpr3p46AYTjDV92wE7nr48ey8GMmqrhDCFziIu41RBSYSUw5utdQA==
dependencies:
"@abp/core" "~4.2.1"
"@abp/core" "~4.2.2"
luxon "^1.24.1"
"@abp/malihu-custom-scrollbar-plugin@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-4.2.1.tgz#0c491d772ab0bb03d7eead0b9715bddb44252d56"
integrity sha512-qBnBMzj4G/dAMShmF4EXr55hkMehC1+cB6Jjl1wPHgMV8QPafznBKGyM6KWxGhrl8K6nCErBbidgQKpYqtWhNA==
"@abp/malihu-custom-scrollbar-plugin@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-4.2.2.tgz#41a50143d576b6a6d90cdf555f37071b80198e0c"
integrity sha512-2VL0C1GKACxgHK44Q0sERlOAFiZ8M3wiqVwQxnkTyjTxg0k+MPvDFp+H8QZwec7duoexgwBP/Mc5Xc3U1dq5mA==
dependencies:
"@abp/core" "~4.2.1"
"@abp/core" "~4.2.2"
malihu-custom-scrollbar-plugin "^3.1.5"
"@abp/markdown-it@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/markdown-it/-/markdown-it-4.2.1.tgz#7f33fdbaebafcadc5dd7b39d13b27fcda9ebbd43"
integrity sha512-nhN0SrsQ2fqy0yM2p7+jE96K7qSxc794uZc2xxngbsIGGShxwBx9dDOlQaE4TA44Fu7PoE6jQCYsdzXbakP9iQ==
"@abp/markdown-it@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/markdown-it/-/markdown-it-4.2.2.tgz#f22943d26d54dd4ca4572bf488373d5c0080f150"
integrity sha512-GL7CXLtzLTa6OxSjoHf3qxQx2rrTOtI2Ea3ifN4Rifa9vbN5sFyRMGJDbxbEve+AeVQrI5MI7e0uwWmPKI1+fA==
dependencies:
"@abp/core" "~4.2.1"
"@abp/core" "~4.2.2"
markdown-it "^11.0.0"
"@abp/owl.carousel@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/owl.carousel/-/owl.carousel-4.2.1.tgz#f6ae488649038d8e0272712be60b9fcd529fa54c"
integrity sha512-uOLM90DaMeYiwRAff5UrlaCty1sTmLkYALw4aOpJRo4+cXlXeEP4RkVbe/nLU3DMxFndll2MINllPuXs2GPCQQ==
"@abp/owl.carousel@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/owl.carousel/-/owl.carousel-4.2.2.tgz#aefc0ca40f828fbe81cf8283e1cae09f9edc37df"
integrity sha512-SZsy8ePepGj1yDVDJLomGim/t/sd3ZyqnVlJ5tDlYRK76aYuImAwVqLKZE+LdjScrxi+t3Yn8ppa5G15TjA3fA==
dependencies:
"@abp/core" "~4.2.1"
"@abp/core" "~4.2.2"
owl.carousel "^2.3.4"
"@abp/prismjs@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-4.2.1.tgz#4029e69efe88a24903760cb3031c90ae1ddb0d3c"
integrity sha512-QxSQ4l8Bdpl8sntZWlPdSb2YQwSMtFPqudod/4atC0ttZKK1DZNMW3HRInsRo3gZDc9XzwMAazci4BPaJHG6eA==
"@abp/prismjs@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-4.2.2.tgz#35e50636e37b20cb774a69aac2c07471b6c3c5a0"
integrity sha512-Lndu4I/3tX3wHcRlBa0qLqbltDhFy0EvKNxL6P83hADI7tm60gq2TVG+KSosODzdqL3r875Ab8H6T6EkJWWshQ==
dependencies:
"@abp/clipboard" "~4.2.1"
"@abp/core" "~4.2.1"
"@abp/clipboard" "~4.2.2"
"@abp/core" "~4.2.2"
prismjs "^1.20.0"
"@abp/select2@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-4.2.1.tgz#2f397cc1754135642385333bf47a1a106dd9b165"
integrity sha512-g1AUGof5daULbVFCokR9JS1/4gIpEWKB5/+rRJBmnje2hUgBA3llD5PCOh5WRHA7urJJOD/5BjWlFdozluUAyg==
"@abp/select2@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-4.2.2.tgz#cff05d9d8078de237a6ce83642583a9fd1418b7c"
integrity sha512-ddWDN5usydki5UAm1WCTsPZfWYSjwhkdRNJx5i+9c6B0t5BwXRMPqhpetM6M2IZgGgBScqPTqj6R6TogT9OPpw==
dependencies:
"@abp/core" "~4.2.1"
"@abp/core" "~4.2.2"
select2 "^4.0.13"
"@abp/sweetalert@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-4.2.1.tgz#bdbc28c3f73b314b8ca792ea73390fe9f558c03f"
integrity sha512-xTi0oSjAkFMIDHgF8YB+oqFCl4gNfnt7mGHvEjJwpCEQSkuML9QsiGvw1TpXyHP7npOWSjjVpoyEBS2HXC778Q==
"@abp/sweetalert@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-4.2.2.tgz#227459cfdac1ef4095c71d08bc2cd52dd49a5390"
integrity sha512-aITz7Ns6ZjVlz8rF2E0f1ZwDRnjoeP0eJo4UCr2L3RnauWAoHPcskczOA/fIHf3hKYpsKzWGaMiIkjS9vNmrlw==
dependencies:
"@abp/core" "~4.2.1"
"@abp/core" "~4.2.2"
sweetalert "^2.1.2"
"@abp/timeago@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-4.2.1.tgz#38474ed4455e94c687a3124e1a6e77c3b29a87d3"
integrity sha512-46+2plKizUcRn2VWN5WPWvwEVz+xoKOmsH1tEJ8WKKNxjeNRAsfeOslbfIEks89hTXLQemP3txAbq9V3E8pwQw==
"@abp/timeago@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-4.2.2.tgz#8b9731fb070f71a7e0a833c771cc527bcbfb937d"
integrity sha512-4Q2Ic6TJPIapcnwXdYoUnAxZ9z/JyUqoGi0nVWGLW5AzDVxRlY/AC6zlkJscHLts/H6KTngi0bZWytuYwnfMRg==
dependencies:
"@abp/jquery" "~4.2.1"
"@abp/jquery" "~4.2.2"
timeago "^1.6.7"
"@abp/toastr@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-4.2.1.tgz#9e30607f7ff7067588d0a660226d338003c37707"
integrity sha512-fdlMZjffEO/05aeG8BjTspARKGtUu2SpoFViTeHGhSPsCW55BvuehIgRhyOEQNfMqJz8m0cVR0R2q+WPFWf1XA==
"@abp/toastr@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-4.2.2.tgz#9d9fc8cc131e49cf2ed1cdfeead2a6fc30d16deb"
integrity sha512-rWGplHHMdHqLM5m8cVJmP5jo7uiUSKIl0oVGZqjBxKP3bjdx/SHTjeRvMRIkrLS685te6COyFbokOgUpiRkxsg==
dependencies:
"@abp/jquery" "~4.2.1"
"@abp/jquery" "~4.2.2"
toastr "^2.1.4"
"@abp/tui-editor@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/tui-editor/-/tui-editor-4.2.1.tgz#8db0872bfd555b0a5db93b4cd5ef045e5313cb27"
integrity sha512-jxdCU7g3q5HMb+8ZgaeZ5Ub2YtHzdJv+StISwVpt+6zGDyIQjjcHGz3zQn0R4tovFk8gC1G8SJD267OezrynVQ==
"@abp/tui-editor@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/tui-editor/-/tui-editor-4.2.2.tgz#d22e3450aa6d28516fa27f1352a8152643b2545c"
integrity sha512-Ux9rOvY8JE8l6ca4c0KWrS3usHoVUcxSAn7q0QnklqJe7Mq69nL0kHcEEC1c6x7h3xK9nDN3PPylMtG9FmWBGQ==
dependencies:
"@abp/codemirror" "~4.2.1"
"@abp/highlight.js" "~4.2.1"
"@abp/jquery" "~4.2.1"
"@abp/markdown-it" "~4.2.1"
"@abp/codemirror" "~4.2.2"
"@abp/highlight.js" "~4.2.2"
"@abp/jquery" "~4.2.2"
"@abp/markdown-it" "~4.2.2"
tui-editor "^1.4.10"
"@abp/utils@^4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-4.2.1.tgz#1f5bfa7aae0065ec4dc38f1f5dc393b664c92d5c"
integrity sha512-V7XYC38u4C+UpXQr28KA1KHL5nNgDsFHfZULPnkwPxV8DuhzemmPYN3qmSXi5hfSfp+psNCX3GYZRMCI57kHgQ==
"@abp/utils@^4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-4.2.2.tgz#7afdbbd14246ce06c074109c51d01588596805a9"
integrity sha512-fyPCe5BcS8b88qQd8Ns1D65TdlaOoOryL7mgkYAwBTTpmADLNJQ7R2L4VZxDybkMN2lou+ckCx7qlFIlQmWa7g==
dependencies:
just-compare "^1.3.0"

2
modules/client-simulation/demo/Volo.ClientSimulation.Demo/package.json

@ -3,6 +3,6 @@
"name": "client-simulation-web",
"private": true,
"dependencies": {
"@abp/aspnetcore.mvc.ui.theme.basic": "^4.2.1"
"@abp/aspnetcore.mvc.ui.theme.basic": "^4.2.2"
}
}

238
modules/client-simulation/demo/Volo.ClientSimulation.Demo/yarn.lock

@ -2,37 +2,37 @@
# yarn lockfile v1
"@abp/aspnetcore.mvc.ui.theme.basic@^4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-4.2.1.tgz#78b465ab8fcd68a38e2b868717d00e5f5d3b0c61"
integrity sha512-Tb0g4mtdSsjQkadvnjjRjObEhweUvigto0BTv5SzRNi0oQLW8ZVUcFmuMWB09nJAIPrbuA3QuPUlXzFcv2gsdg==
dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~4.2.1"
"@abp/aspnetcore.mvc.ui.theme.shared@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-4.2.1.tgz#18205c13f137dad9876c4153f34273a7c8e69854"
integrity sha512-+f54CysWpEKfxjIIjhnTKW0jJ0Rg+wS6yxb9Rg3qxA5iEUkxp3B+NB5wA9rT5YcY9APrwVpiw1miNRmq5ZvFXg==
dependencies:
"@abp/aspnetcore.mvc.ui" "~4.2.1"
"@abp/bootstrap" "~4.2.1"
"@abp/bootstrap-datepicker" "~4.2.1"
"@abp/datatables.net-bs4" "~4.2.1"
"@abp/font-awesome" "~4.2.1"
"@abp/jquery-form" "~4.2.1"
"@abp/jquery-validation-unobtrusive" "~4.2.1"
"@abp/lodash" "~4.2.1"
"@abp/luxon" "~4.2.1"
"@abp/malihu-custom-scrollbar-plugin" "~4.2.1"
"@abp/select2" "~4.2.1"
"@abp/sweetalert" "~4.2.1"
"@abp/timeago" "~4.2.1"
"@abp/toastr" "~4.2.1"
"@abp/aspnetcore.mvc.ui@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-4.2.1.tgz#2ad368af731678213ff3d8448a3dd30a2f1f66c9"
integrity sha512-/a/KDVQ3EuETSSe+KqmsR24w6RWHvaokvmmOjL+tCpFQyeaYAZ88E9pvM5hC9HVR24FCHTiARiXwgMTw2eZFyQ==
"@abp/aspnetcore.mvc.ui.theme.basic@^4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-4.2.2.tgz#7de6a36c8e6d0a60b8dbd13d1fd15e31b4ea91c3"
integrity sha512-LpxRorrFZFb1RGdb5uuMhp9Vn8wqgwYK6eAKf9SgLKf19+8oOLLoC6DMz/DwscOicukSSMngNdLZ/iiIofEEWA==
dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~4.2.2"
"@abp/aspnetcore.mvc.ui.theme.shared@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-4.2.2.tgz#3902475befccfb27b35c37a3372c4c56a7f09588"
integrity sha512-lyLKyM6tzspdEYzGqK2hM6d2cqgG9ju3MUa2Hu3BD92WCavy+7eyQV+iwjS9zwltMHHTZnDm6PdhudKAgheNxw==
dependencies:
"@abp/aspnetcore.mvc.ui" "~4.2.2"
"@abp/bootstrap" "~4.2.2"
"@abp/bootstrap-datepicker" "~4.2.2"
"@abp/datatables.net-bs4" "~4.2.2"
"@abp/font-awesome" "~4.2.2"
"@abp/jquery-form" "~4.2.2"
"@abp/jquery-validation-unobtrusive" "~4.2.2"
"@abp/lodash" "~4.2.2"
"@abp/luxon" "~4.2.2"
"@abp/malihu-custom-scrollbar-plugin" "~4.2.2"
"@abp/select2" "~4.2.2"
"@abp/sweetalert" "~4.2.2"
"@abp/timeago" "~4.2.2"
"@abp/toastr" "~4.2.2"
"@abp/aspnetcore.mvc.ui@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-4.2.2.tgz#df4640836f460c590574c61607f5a023f2e3f510"
integrity sha512-uiTy6pIw+GQ27YlCa1gPG5sSnlQy/LCMNbXTHCMxoNu+V/m4A9rFC1Ujp1U2BicMQrfNKX7t72GK23BJJwSsrg==
dependencies:
ansi-colors "^4.1.1"
extend-object "^1.0.0"
@ -43,145 +43,145 @@
micromatch "^4.0.2"
path "^0.12.7"
"@abp/bootstrap-datepicker@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-4.2.1.tgz#87fe913aa6923a39206f4481af3b02309e2cebd5"
integrity sha512-35uaM+OBUqsBBIF08NUu7XBVIgwVQIjJard92Px7eR0EJ2AW6f5hNlJQYfPkYVdmkPIpG16qWctICB+L2W3ZKA==
"@abp/bootstrap-datepicker@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-4.2.2.tgz#1a553fb6824f2e795aecb0e803b8f5984a6f5ac6"
integrity sha512-9xRPNmQLjHGypC8hQ6xaMkdZOeT4DRhEiUfbtp+Avv9x8WE16AQO+m7rI+QNjjQEpnF9HwIzOYMFJBTES4SVvQ==
dependencies:
bootstrap-datepicker "^1.9.0"
"@abp/bootstrap@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-4.2.1.tgz#12d8b0cddb5fca55888e01644ff49ed7d78069e9"
integrity sha512-1Z4atDgHDxesjBh5uPb442NALcUucS2Lt56CaN5UPBXQvAPr72cw4hfKbW08KJ0ab7WME0uCi1vYZFM28/zqTg==
"@abp/bootstrap@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-4.2.2.tgz#3ae98e695edc32b2acb106bffc612c02627021b3"
integrity sha512-/NXBhLXuOi/AaCFfu0Y/ujvEQctVhc47xY/o50n8CyRaq3kK8Y9a3WhOVoZmAhsHDhNj3hXy98KMhy5P7A4lyw==
dependencies:
"@abp/core" "~4.2.1"
"@abp/core" "~4.2.2"
bootstrap "^4.5.0"
bootstrap-v4-rtl "4.4.1-2"
"@abp/core@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-4.2.1.tgz#1e74b0ffbc8c938e8de2f320594637910a09cbab"
integrity sha512-EiJSgUytS9Mrv8GZr9pwIzxwlrP82hEcS67cAgDxBc4QOhtMXhGZBMjDBHoIkOt6Db/ua0iPC700w0Utt5kWZQ==
"@abp/core@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-4.2.2.tgz#a375404dec4f5b1e3f7496c2d5c92b18ab561fb6"
integrity sha512-DuTlzblv//bffrdH7Xs6w4uw2/1AEDYh35qtxXHbFQq2m0aNZapcMk2nRAXJOTJeU7X0d+5k5+Ee9PZWjba3UA==
dependencies:
"@abp/utils" "^4.2.1"
"@abp/utils" "^4.2.2"
"@abp/datatables.net-bs4@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-4.2.1.tgz#fa6d711e6af352672879130a931fc2d27e5fd9e7"
integrity sha512-T66P74F58n4P5xwfhekriSr66A35okrXw61mlMXqeet8ACtxiM55MhXw89qvsL0qo5qG/a9d9MWPYNmZgXvKSQ==
"@abp/datatables.net-bs4@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-4.2.2.tgz#d74f738b79e87f7b8b9f8c5d8d4b84c7a56d6ac4"
integrity sha512-xuZ1BZwz09u7fnuQcBv35prCsl7bgGajzbMGECCwQfy+k1BJjyXy51Ay1+nz7uVwaWPp+U/pbxj4dFy+HFjVkA==
dependencies:
"@abp/datatables.net" "~4.2.1"
"@abp/datatables.net" "~4.2.2"
datatables.net-bs4 "^1.10.21"
"@abp/datatables.net@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-4.2.1.tgz#a5f3549b7b581619bbffb398b2172ed7789d0486"
integrity sha512-ZxpSW6PhJupjecTC25MEKTdjePvg2xNouqioL9L7V3lPJ6S3fsqNs9QFjFjpv0vltzXMaZgJTSuxilmR6s6piw==
"@abp/datatables.net@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-4.2.2.tgz#5e3ac4f9b40b35696e065ef8ba206ce0aa25973a"
integrity sha512-CvDFFpgwfncMBULRTNXnAy5K/rcBDcdzCujDs9kgQtme6kMpAoq+XVQFE3YztGRBlXboFtoJBv1c2b0LFPmhXw==
dependencies:
"@abp/jquery" "~4.2.1"
"@abp/jquery" "~4.2.2"
datatables.net "^1.10.21"
"@abp/font-awesome@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-4.2.1.tgz#81d718b08a1f08bf35dd0887f9c6c9f1ea5416ee"
integrity sha512-kWAOqN7OtiBA7gd3VLH7pft1A5KYnJGJCn56xoqWIqLyHrSapwI5IMOojRDr+WhQJXk5EGE+rnmqRP51MYo4NQ==
"@abp/font-awesome@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-4.2.2.tgz#d6babe704b44bf3902d896a1342569069d6c07e0"
integrity sha512-1EVwG9gFT1vMCuSRfzsqYDDoelHTXhPTnThu7J1LyR99DsFk1IVi+bMADOAsO9Wdov3/t3GuXIHQnuP+/uDVzA==
dependencies:
"@abp/core" "~4.2.1"
"@abp/core" "~4.2.2"
"@fortawesome/fontawesome-free" "^5.13.0"
"@abp/jquery-form@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-4.2.1.tgz#bbc21aafd88aa0f89619ce72fbafc917812d15e4"
integrity sha512-xnxaaOExhz7/8/P6XGvQuKitpuVjzoZz+r1Kr+W9gVy0dWZcCOfeVi4kdpxDFpqUmQJQJi0tvdVkFHx/hAkB7g==
"@abp/jquery-form@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-4.2.2.tgz#a35c3eb8c2f4f0fa535fd020469273ce301c4941"
integrity sha512-VgSE6O8RIcfll8Jz6qby6LGE3Uq3gCjd5BPkHXwY5KJFOWYgzQZg1yS9P1UwzT7xnznigElx1U+2tKV1DskxCA==
dependencies:
"@abp/jquery" "~4.2.1"
"@abp/jquery" "~4.2.2"
jquery-form "^4.3.0"
"@abp/jquery-validation-unobtrusive@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-4.2.1.tgz#36681e75e43e8f708bbd5d6e359eefd8dcce86df"
integrity sha512-STuVKdSUNjrW3q30GcszgzecHDdPmL3aA0jPsRJr0S2Wp5CQOe0dB7d5xyAnADIL68cPXjZWlz1OyXSQ2LixeQ==
"@abp/jquery-validation-unobtrusive@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-4.2.2.tgz#f05298475d263b0f82c59bce23a8a9470782f718"
integrity sha512-E+YDNJNaOa+wOSVMn+Mcvc6fD2nTBzkik+DMvTo8T4VndUYMNxgQiLzO38M/kAuyXtHzyOx8ppHVLuNnB1oc5A==
dependencies:
"@abp/jquery-validation" "~4.2.1"
"@abp/jquery-validation" "~4.2.2"
jquery-validation-unobtrusive "^3.2.11"
"@abp/jquery-validation@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-4.2.1.tgz#209b0acb500ac301bb66b3f04bc18b9c574e2fcf"
integrity sha512-g87I0nO7Jk2d4Jt7PlLk/bHu5xQFH4+mbHwH4oRLAzflDhRNtNB+uVF35HK/1shprmSlZt6X+bHz652SEqD81g==
"@abp/jquery-validation@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-4.2.2.tgz#fe245a903c06baaae08222164cb1299af0ecf23b"
integrity sha512-5fGuCJNm4H+eElfpLc65X4e5+G4VZtuwSd5U8LH8uyl/gIjgTG9bAnOq2rfp+Hymgra3AJScDA7KFKdXb8ESyg==
dependencies:
"@abp/jquery" "~4.2.1"
"@abp/jquery" "~4.2.2"
jquery-validation "^1.19.2"
"@abp/jquery@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-4.2.1.tgz#b8ed11cbc02d33cdc99cacbaf5089343a0f164c5"
integrity sha512-xcoSu/2qc2AEF+dCTNHTCWjAo1dIcohHVPM3Yh36bb+JEcnruYYRokqZc4pzkh0GQamE1eMVGi3QOAmuURtbCg==
"@abp/jquery@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-4.2.2.tgz#9caf1692cf7153a6166332b72e8f3108b1990268"
integrity sha512-7kvO3ESqZqRynLvXaaeXZ4fM3PErGATja5EYj9G1mNR8xG/uuBhnD/lIfS10Gkh8BNyP+lWVpjXCARPl1aFPVQ==
dependencies:
"@abp/core" "~4.2.1"
"@abp/core" "~4.2.2"
jquery "~3.5.1"
"@abp/lodash@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-4.2.1.tgz#87b7f48cf494553f7cd43dddf625a90581555ae7"
integrity sha512-hDwzR/Q9GqXPdQaijQ3B4GIWZ8z9clCW9vU59qbELD8xBZIJalTSrUGnIT8YNB9O5tNFb2FWJJbw5Nh8K7lu1A==
"@abp/lodash@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-4.2.2.tgz#537808a7c062eed62a2f057bd68c80721398e490"
integrity sha512-BC7yImby+Izq+6ybtF30oVVLDBj9aIQbuRzm9AhmqysI5MDhQmHaUriCUxh9gK6KUpfpan6b9Q7WoOCBJn/u6Q==
dependencies:
"@abp/core" "~4.2.1"
"@abp/core" "~4.2.2"
lodash "^4.17.15"
"@abp/luxon@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-4.2.1.tgz#e29c1fe9903beb0fc4d32cab90a5de4ebc768e43"
integrity sha512-Sussnocvw75EbJ1j0Ohn7F+SBQy9xPbiG6RJExdDFzxhUNsVp5wJF2Jm8hOZB3DYkeGAOskY5RoIG0abfE/j3w==
"@abp/luxon@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-4.2.2.tgz#29d79ee76e97c148d5d015d7c05cd2eb6f03cde6"
integrity sha512-CnmE1bihzB2CmkBpSnM8n2pApHSkiVFLqLpr3p46AYTjDV92wE7nr48ey8GMmqrhDCFziIu41RBSYSUw5utdQA==
dependencies:
"@abp/core" "~4.2.1"
"@abp/core" "~4.2.2"
luxon "^1.24.1"
"@abp/malihu-custom-scrollbar-plugin@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-4.2.1.tgz#0c491d772ab0bb03d7eead0b9715bddb44252d56"
integrity sha512-qBnBMzj4G/dAMShmF4EXr55hkMehC1+cB6Jjl1wPHgMV8QPafznBKGyM6KWxGhrl8K6nCErBbidgQKpYqtWhNA==
"@abp/malihu-custom-scrollbar-plugin@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-4.2.2.tgz#41a50143d576b6a6d90cdf555f37071b80198e0c"
integrity sha512-2VL0C1GKACxgHK44Q0sERlOAFiZ8M3wiqVwQxnkTyjTxg0k+MPvDFp+H8QZwec7duoexgwBP/Mc5Xc3U1dq5mA==
dependencies:
"@abp/core" "~4.2.1"
"@abp/core" "~4.2.2"
malihu-custom-scrollbar-plugin "^3.1.5"
"@abp/select2@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-4.2.1.tgz#2f397cc1754135642385333bf47a1a106dd9b165"
integrity sha512-g1AUGof5daULbVFCokR9JS1/4gIpEWKB5/+rRJBmnje2hUgBA3llD5PCOh5WRHA7urJJOD/5BjWlFdozluUAyg==
"@abp/select2@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-4.2.2.tgz#cff05d9d8078de237a6ce83642583a9fd1418b7c"
integrity sha512-ddWDN5usydki5UAm1WCTsPZfWYSjwhkdRNJx5i+9c6B0t5BwXRMPqhpetM6M2IZgGgBScqPTqj6R6TogT9OPpw==
dependencies:
"@abp/core" "~4.2.1"
"@abp/core" "~4.2.2"
select2 "^4.0.13"
"@abp/sweetalert@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-4.2.1.tgz#bdbc28c3f73b314b8ca792ea73390fe9f558c03f"
integrity sha512-xTi0oSjAkFMIDHgF8YB+oqFCl4gNfnt7mGHvEjJwpCEQSkuML9QsiGvw1TpXyHP7npOWSjjVpoyEBS2HXC778Q==
"@abp/sweetalert@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-4.2.2.tgz#227459cfdac1ef4095c71d08bc2cd52dd49a5390"
integrity sha512-aITz7Ns6ZjVlz8rF2E0f1ZwDRnjoeP0eJo4UCr2L3RnauWAoHPcskczOA/fIHf3hKYpsKzWGaMiIkjS9vNmrlw==
dependencies:
"@abp/core" "~4.2.1"
"@abp/core" "~4.2.2"
sweetalert "^2.1.2"
"@abp/timeago@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-4.2.1.tgz#38474ed4455e94c687a3124e1a6e77c3b29a87d3"
integrity sha512-46+2plKizUcRn2VWN5WPWvwEVz+xoKOmsH1tEJ8WKKNxjeNRAsfeOslbfIEks89hTXLQemP3txAbq9V3E8pwQw==
"@abp/timeago@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-4.2.2.tgz#8b9731fb070f71a7e0a833c771cc527bcbfb937d"
integrity sha512-4Q2Ic6TJPIapcnwXdYoUnAxZ9z/JyUqoGi0nVWGLW5AzDVxRlY/AC6zlkJscHLts/H6KTngi0bZWytuYwnfMRg==
dependencies:
"@abp/jquery" "~4.2.1"
"@abp/jquery" "~4.2.2"
timeago "^1.6.7"
"@abp/toastr@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-4.2.1.tgz#9e30607f7ff7067588d0a660226d338003c37707"
integrity sha512-fdlMZjffEO/05aeG8BjTspARKGtUu2SpoFViTeHGhSPsCW55BvuehIgRhyOEQNfMqJz8m0cVR0R2q+WPFWf1XA==
"@abp/toastr@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-4.2.2.tgz#9d9fc8cc131e49cf2ed1cdfeead2a6fc30d16deb"
integrity sha512-rWGplHHMdHqLM5m8cVJmP5jo7uiUSKIl0oVGZqjBxKP3bjdx/SHTjeRvMRIkrLS685te6COyFbokOgUpiRkxsg==
dependencies:
"@abp/jquery" "~4.2.1"
"@abp/jquery" "~4.2.2"
toastr "^2.1.4"
"@abp/utils@^4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-4.2.1.tgz#1f5bfa7aae0065ec4dc38f1f5dc393b664c92d5c"
integrity sha512-V7XYC38u4C+UpXQr28KA1KHL5nNgDsFHfZULPnkwPxV8DuhzemmPYN3qmSXi5hfSfp+psNCX3GYZRMCI57kHgQ==
"@abp/utils@^4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-4.2.2.tgz#7afdbbd14246ce06c074109c51d01588596805a9"
integrity sha512-fyPCe5BcS8b88qQd8Ns1D65TdlaOoOryL7mgkYAwBTTpmADLNJQ7R2L4VZxDybkMN2lou+ckCx7qlFIlQmWa7g==
dependencies:
just-compare "^1.3.0"

8
modules/cms-kit/angular/package.json

@ -16,10 +16,10 @@
"private": true,
"dependencies": {
"@abp/ng.account": "~3.3.2",
"@abp/ng.identity": "~4.2.1",
"@abp/ng.setting-management": "~4.2.1",
"@abp/ng.tenant-management": "~4.2.1",
"@abp/ng.theme.basic": "~4.2.1",
"@abp/ng.identity": "~4.2.2",
"@abp/ng.setting-management": "~4.2.2",
"@abp/ng.tenant-management": "~4.2.2",
"@abp/ng.theme.basic": "~4.2.2",
"@angular/animations": "~10.0.0",
"@angular/common": "~10.0.0",
"@angular/compiler": "~10.0.0",

4
modules/cms-kit/angular/projects/cms-kit/package.json

@ -4,8 +4,8 @@
"peerDependencies": {
"@angular/common": "^9.1.11",
"@angular/core": "^9.1.11",
"@abp/ng.core": ">=4.2.1",
"@abp/ng.theme.shared": ">=4.2.1"
"@abp/ng.core": ">=4.2.2",
"@abp/ng.theme.shared": ">=4.2.2"
},
"dependencies": {
"tslib": "^2.0.0"

2
modules/cms-kit/host/Volo.CmsKit.IdentityServer/package.json

@ -3,6 +3,6 @@
"name": "my-app-identityserver",
"private": true,
"dependencies": {
"@abp/aspnetcore.mvc.ui.theme.basic": "^4.2.1"
"@abp/aspnetcore.mvc.ui.theme.basic": "^4.2.2"
}
}

238
modules/cms-kit/host/Volo.CmsKit.IdentityServer/yarn.lock

@ -2,37 +2,37 @@
# yarn lockfile v1
"@abp/aspnetcore.mvc.ui.theme.basic@^4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-4.2.1.tgz#78b465ab8fcd68a38e2b868717d00e5f5d3b0c61"
integrity sha512-Tb0g4mtdSsjQkadvnjjRjObEhweUvigto0BTv5SzRNi0oQLW8ZVUcFmuMWB09nJAIPrbuA3QuPUlXzFcv2gsdg==
dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~4.2.1"
"@abp/aspnetcore.mvc.ui.theme.shared@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-4.2.1.tgz#18205c13f137dad9876c4153f34273a7c8e69854"
integrity sha512-+f54CysWpEKfxjIIjhnTKW0jJ0Rg+wS6yxb9Rg3qxA5iEUkxp3B+NB5wA9rT5YcY9APrwVpiw1miNRmq5ZvFXg==
dependencies:
"@abp/aspnetcore.mvc.ui" "~4.2.1"
"@abp/bootstrap" "~4.2.1"
"@abp/bootstrap-datepicker" "~4.2.1"
"@abp/datatables.net-bs4" "~4.2.1"
"@abp/font-awesome" "~4.2.1"
"@abp/jquery-form" "~4.2.1"
"@abp/jquery-validation-unobtrusive" "~4.2.1"
"@abp/lodash" "~4.2.1"
"@abp/luxon" "~4.2.1"
"@abp/malihu-custom-scrollbar-plugin" "~4.2.1"
"@abp/select2" "~4.2.1"
"@abp/sweetalert" "~4.2.1"
"@abp/timeago" "~4.2.1"
"@abp/toastr" "~4.2.1"
"@abp/aspnetcore.mvc.ui@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-4.2.1.tgz#2ad368af731678213ff3d8448a3dd30a2f1f66c9"
integrity sha512-/a/KDVQ3EuETSSe+KqmsR24w6RWHvaokvmmOjL+tCpFQyeaYAZ88E9pvM5hC9HVR24FCHTiARiXwgMTw2eZFyQ==
"@abp/aspnetcore.mvc.ui.theme.basic@^4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-4.2.2.tgz#7de6a36c8e6d0a60b8dbd13d1fd15e31b4ea91c3"
integrity sha512-LpxRorrFZFb1RGdb5uuMhp9Vn8wqgwYK6eAKf9SgLKf19+8oOLLoC6DMz/DwscOicukSSMngNdLZ/iiIofEEWA==
dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~4.2.2"
"@abp/aspnetcore.mvc.ui.theme.shared@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-4.2.2.tgz#3902475befccfb27b35c37a3372c4c56a7f09588"
integrity sha512-lyLKyM6tzspdEYzGqK2hM6d2cqgG9ju3MUa2Hu3BD92WCavy+7eyQV+iwjS9zwltMHHTZnDm6PdhudKAgheNxw==
dependencies:
"@abp/aspnetcore.mvc.ui" "~4.2.2"
"@abp/bootstrap" "~4.2.2"
"@abp/bootstrap-datepicker" "~4.2.2"
"@abp/datatables.net-bs4" "~4.2.2"
"@abp/font-awesome" "~4.2.2"
"@abp/jquery-form" "~4.2.2"
"@abp/jquery-validation-unobtrusive" "~4.2.2"
"@abp/lodash" "~4.2.2"
"@abp/luxon" "~4.2.2"
"@abp/malihu-custom-scrollbar-plugin" "~4.2.2"
"@abp/select2" "~4.2.2"
"@abp/sweetalert" "~4.2.2"
"@abp/timeago" "~4.2.2"
"@abp/toastr" "~4.2.2"
"@abp/aspnetcore.mvc.ui@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-4.2.2.tgz#df4640836f460c590574c61607f5a023f2e3f510"
integrity sha512-uiTy6pIw+GQ27YlCa1gPG5sSnlQy/LCMNbXTHCMxoNu+V/m4A9rFC1Ujp1U2BicMQrfNKX7t72GK23BJJwSsrg==
dependencies:
ansi-colors "^4.1.1"
extend-object "^1.0.0"
@ -43,145 +43,145 @@
micromatch "^4.0.2"
path "^0.12.7"
"@abp/bootstrap-datepicker@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-4.2.1.tgz#87fe913aa6923a39206f4481af3b02309e2cebd5"
integrity sha512-35uaM+OBUqsBBIF08NUu7XBVIgwVQIjJard92Px7eR0EJ2AW6f5hNlJQYfPkYVdmkPIpG16qWctICB+L2W3ZKA==
"@abp/bootstrap-datepicker@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-4.2.2.tgz#1a553fb6824f2e795aecb0e803b8f5984a6f5ac6"
integrity sha512-9xRPNmQLjHGypC8hQ6xaMkdZOeT4DRhEiUfbtp+Avv9x8WE16AQO+m7rI+QNjjQEpnF9HwIzOYMFJBTES4SVvQ==
dependencies:
bootstrap-datepicker "^1.9.0"
"@abp/bootstrap@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-4.2.1.tgz#12d8b0cddb5fca55888e01644ff49ed7d78069e9"
integrity sha512-1Z4atDgHDxesjBh5uPb442NALcUucS2Lt56CaN5UPBXQvAPr72cw4hfKbW08KJ0ab7WME0uCi1vYZFM28/zqTg==
"@abp/bootstrap@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-4.2.2.tgz#3ae98e695edc32b2acb106bffc612c02627021b3"
integrity sha512-/NXBhLXuOi/AaCFfu0Y/ujvEQctVhc47xY/o50n8CyRaq3kK8Y9a3WhOVoZmAhsHDhNj3hXy98KMhy5P7A4lyw==
dependencies:
"@abp/core" "~4.2.1"
"@abp/core" "~4.2.2"
bootstrap "^4.5.0"
bootstrap-v4-rtl "4.4.1-2"
"@abp/core@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-4.2.1.tgz#1e74b0ffbc8c938e8de2f320594637910a09cbab"
integrity sha512-EiJSgUytS9Mrv8GZr9pwIzxwlrP82hEcS67cAgDxBc4QOhtMXhGZBMjDBHoIkOt6Db/ua0iPC700w0Utt5kWZQ==
"@abp/core@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-4.2.2.tgz#a375404dec4f5b1e3f7496c2d5c92b18ab561fb6"
integrity sha512-DuTlzblv//bffrdH7Xs6w4uw2/1AEDYh35qtxXHbFQq2m0aNZapcMk2nRAXJOTJeU7X0d+5k5+Ee9PZWjba3UA==
dependencies:
"@abp/utils" "^4.2.1"
"@abp/utils" "^4.2.2"
"@abp/datatables.net-bs4@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-4.2.1.tgz#fa6d711e6af352672879130a931fc2d27e5fd9e7"
integrity sha512-T66P74F58n4P5xwfhekriSr66A35okrXw61mlMXqeet8ACtxiM55MhXw89qvsL0qo5qG/a9d9MWPYNmZgXvKSQ==
"@abp/datatables.net-bs4@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-4.2.2.tgz#d74f738b79e87f7b8b9f8c5d8d4b84c7a56d6ac4"
integrity sha512-xuZ1BZwz09u7fnuQcBv35prCsl7bgGajzbMGECCwQfy+k1BJjyXy51Ay1+nz7uVwaWPp+U/pbxj4dFy+HFjVkA==
dependencies:
"@abp/datatables.net" "~4.2.1"
"@abp/datatables.net" "~4.2.2"
datatables.net-bs4 "^1.10.21"
"@abp/datatables.net@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-4.2.1.tgz#a5f3549b7b581619bbffb398b2172ed7789d0486"
integrity sha512-ZxpSW6PhJupjecTC25MEKTdjePvg2xNouqioL9L7V3lPJ6S3fsqNs9QFjFjpv0vltzXMaZgJTSuxilmR6s6piw==
"@abp/datatables.net@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-4.2.2.tgz#5e3ac4f9b40b35696e065ef8ba206ce0aa25973a"
integrity sha512-CvDFFpgwfncMBULRTNXnAy5K/rcBDcdzCujDs9kgQtme6kMpAoq+XVQFE3YztGRBlXboFtoJBv1c2b0LFPmhXw==
dependencies:
"@abp/jquery" "~4.2.1"
"@abp/jquery" "~4.2.2"
datatables.net "^1.10.21"
"@abp/font-awesome@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-4.2.1.tgz#81d718b08a1f08bf35dd0887f9c6c9f1ea5416ee"
integrity sha512-kWAOqN7OtiBA7gd3VLH7pft1A5KYnJGJCn56xoqWIqLyHrSapwI5IMOojRDr+WhQJXk5EGE+rnmqRP51MYo4NQ==
"@abp/font-awesome@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-4.2.2.tgz#d6babe704b44bf3902d896a1342569069d6c07e0"
integrity sha512-1EVwG9gFT1vMCuSRfzsqYDDoelHTXhPTnThu7J1LyR99DsFk1IVi+bMADOAsO9Wdov3/t3GuXIHQnuP+/uDVzA==
dependencies:
"@abp/core" "~4.2.1"
"@abp/core" "~4.2.2"
"@fortawesome/fontawesome-free" "^5.13.0"
"@abp/jquery-form@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-4.2.1.tgz#bbc21aafd88aa0f89619ce72fbafc917812d15e4"
integrity sha512-xnxaaOExhz7/8/P6XGvQuKitpuVjzoZz+r1Kr+W9gVy0dWZcCOfeVi4kdpxDFpqUmQJQJi0tvdVkFHx/hAkB7g==
"@abp/jquery-form@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-4.2.2.tgz#a35c3eb8c2f4f0fa535fd020469273ce301c4941"
integrity sha512-VgSE6O8RIcfll8Jz6qby6LGE3Uq3gCjd5BPkHXwY5KJFOWYgzQZg1yS9P1UwzT7xnznigElx1U+2tKV1DskxCA==
dependencies:
"@abp/jquery" "~4.2.1"
"@abp/jquery" "~4.2.2"
jquery-form "^4.3.0"
"@abp/jquery-validation-unobtrusive@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-4.2.1.tgz#36681e75e43e8f708bbd5d6e359eefd8dcce86df"
integrity sha512-STuVKdSUNjrW3q30GcszgzecHDdPmL3aA0jPsRJr0S2Wp5CQOe0dB7d5xyAnADIL68cPXjZWlz1OyXSQ2LixeQ==
"@abp/jquery-validation-unobtrusive@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-4.2.2.tgz#f05298475d263b0f82c59bce23a8a9470782f718"
integrity sha512-E+YDNJNaOa+wOSVMn+Mcvc6fD2nTBzkik+DMvTo8T4VndUYMNxgQiLzO38M/kAuyXtHzyOx8ppHVLuNnB1oc5A==
dependencies:
"@abp/jquery-validation" "~4.2.1"
"@abp/jquery-validation" "~4.2.2"
jquery-validation-unobtrusive "^3.2.11"
"@abp/jquery-validation@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-4.2.1.tgz#209b0acb500ac301bb66b3f04bc18b9c574e2fcf"
integrity sha512-g87I0nO7Jk2d4Jt7PlLk/bHu5xQFH4+mbHwH4oRLAzflDhRNtNB+uVF35HK/1shprmSlZt6X+bHz652SEqD81g==
"@abp/jquery-validation@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-4.2.2.tgz#fe245a903c06baaae08222164cb1299af0ecf23b"
integrity sha512-5fGuCJNm4H+eElfpLc65X4e5+G4VZtuwSd5U8LH8uyl/gIjgTG9bAnOq2rfp+Hymgra3AJScDA7KFKdXb8ESyg==
dependencies:
"@abp/jquery" "~4.2.1"
"@abp/jquery" "~4.2.2"
jquery-validation "^1.19.2"
"@abp/jquery@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-4.2.1.tgz#b8ed11cbc02d33cdc99cacbaf5089343a0f164c5"
integrity sha512-xcoSu/2qc2AEF+dCTNHTCWjAo1dIcohHVPM3Yh36bb+JEcnruYYRokqZc4pzkh0GQamE1eMVGi3QOAmuURtbCg==
"@abp/jquery@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-4.2.2.tgz#9caf1692cf7153a6166332b72e8f3108b1990268"
integrity sha512-7kvO3ESqZqRynLvXaaeXZ4fM3PErGATja5EYj9G1mNR8xG/uuBhnD/lIfS10Gkh8BNyP+lWVpjXCARPl1aFPVQ==
dependencies:
"@abp/core" "~4.2.1"
"@abp/core" "~4.2.2"
jquery "~3.5.1"
"@abp/lodash@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-4.2.1.tgz#87b7f48cf494553f7cd43dddf625a90581555ae7"
integrity sha512-hDwzR/Q9GqXPdQaijQ3B4GIWZ8z9clCW9vU59qbELD8xBZIJalTSrUGnIT8YNB9O5tNFb2FWJJbw5Nh8K7lu1A==
"@abp/lodash@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-4.2.2.tgz#537808a7c062eed62a2f057bd68c80721398e490"
integrity sha512-BC7yImby+Izq+6ybtF30oVVLDBj9aIQbuRzm9AhmqysI5MDhQmHaUriCUxh9gK6KUpfpan6b9Q7WoOCBJn/u6Q==
dependencies:
"@abp/core" "~4.2.1"
"@abp/core" "~4.2.2"
lodash "^4.17.15"
"@abp/luxon@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-4.2.1.tgz#e29c1fe9903beb0fc4d32cab90a5de4ebc768e43"
integrity sha512-Sussnocvw75EbJ1j0Ohn7F+SBQy9xPbiG6RJExdDFzxhUNsVp5wJF2Jm8hOZB3DYkeGAOskY5RoIG0abfE/j3w==
"@abp/luxon@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-4.2.2.tgz#29d79ee76e97c148d5d015d7c05cd2eb6f03cde6"
integrity sha512-CnmE1bihzB2CmkBpSnM8n2pApHSkiVFLqLpr3p46AYTjDV92wE7nr48ey8GMmqrhDCFziIu41RBSYSUw5utdQA==
dependencies:
"@abp/core" "~4.2.1"
"@abp/core" "~4.2.2"
luxon "^1.24.1"
"@abp/malihu-custom-scrollbar-plugin@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-4.2.1.tgz#0c491d772ab0bb03d7eead0b9715bddb44252d56"
integrity sha512-qBnBMzj4G/dAMShmF4EXr55hkMehC1+cB6Jjl1wPHgMV8QPafznBKGyM6KWxGhrl8K6nCErBbidgQKpYqtWhNA==
"@abp/malihu-custom-scrollbar-plugin@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-4.2.2.tgz#41a50143d576b6a6d90cdf555f37071b80198e0c"
integrity sha512-2VL0C1GKACxgHK44Q0sERlOAFiZ8M3wiqVwQxnkTyjTxg0k+MPvDFp+H8QZwec7duoexgwBP/Mc5Xc3U1dq5mA==
dependencies:
"@abp/core" "~4.2.1"
"@abp/core" "~4.2.2"
malihu-custom-scrollbar-plugin "^3.1.5"
"@abp/select2@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-4.2.1.tgz#2f397cc1754135642385333bf47a1a106dd9b165"
integrity sha512-g1AUGof5daULbVFCokR9JS1/4gIpEWKB5/+rRJBmnje2hUgBA3llD5PCOh5WRHA7urJJOD/5BjWlFdozluUAyg==
"@abp/select2@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-4.2.2.tgz#cff05d9d8078de237a6ce83642583a9fd1418b7c"
integrity sha512-ddWDN5usydki5UAm1WCTsPZfWYSjwhkdRNJx5i+9c6B0t5BwXRMPqhpetM6M2IZgGgBScqPTqj6R6TogT9OPpw==
dependencies:
"@abp/core" "~4.2.1"
"@abp/core" "~4.2.2"
select2 "^4.0.13"
"@abp/sweetalert@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-4.2.1.tgz#bdbc28c3f73b314b8ca792ea73390fe9f558c03f"
integrity sha512-xTi0oSjAkFMIDHgF8YB+oqFCl4gNfnt7mGHvEjJwpCEQSkuML9QsiGvw1TpXyHP7npOWSjjVpoyEBS2HXC778Q==
"@abp/sweetalert@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-4.2.2.tgz#227459cfdac1ef4095c71d08bc2cd52dd49a5390"
integrity sha512-aITz7Ns6ZjVlz8rF2E0f1ZwDRnjoeP0eJo4UCr2L3RnauWAoHPcskczOA/fIHf3hKYpsKzWGaMiIkjS9vNmrlw==
dependencies:
"@abp/core" "~4.2.1"
"@abp/core" "~4.2.2"
sweetalert "^2.1.2"
"@abp/timeago@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-4.2.1.tgz#38474ed4455e94c687a3124e1a6e77c3b29a87d3"
integrity sha512-46+2plKizUcRn2VWN5WPWvwEVz+xoKOmsH1tEJ8WKKNxjeNRAsfeOslbfIEks89hTXLQemP3txAbq9V3E8pwQw==
"@abp/timeago@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-4.2.2.tgz#8b9731fb070f71a7e0a833c771cc527bcbfb937d"
integrity sha512-4Q2Ic6TJPIapcnwXdYoUnAxZ9z/JyUqoGi0nVWGLW5AzDVxRlY/AC6zlkJscHLts/H6KTngi0bZWytuYwnfMRg==
dependencies:
"@abp/jquery" "~4.2.1"
"@abp/jquery" "~4.2.2"
timeago "^1.6.7"
"@abp/toastr@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-4.2.1.tgz#9e30607f7ff7067588d0a660226d338003c37707"
integrity sha512-fdlMZjffEO/05aeG8BjTspARKGtUu2SpoFViTeHGhSPsCW55BvuehIgRhyOEQNfMqJz8m0cVR0R2q+WPFWf1XA==
"@abp/toastr@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-4.2.2.tgz#9d9fc8cc131e49cf2ed1cdfeead2a6fc30d16deb"
integrity sha512-rWGplHHMdHqLM5m8cVJmP5jo7uiUSKIl0oVGZqjBxKP3bjdx/SHTjeRvMRIkrLS685te6COyFbokOgUpiRkxsg==
dependencies:
"@abp/jquery" "~4.2.1"
"@abp/jquery" "~4.2.2"
toastr "^2.1.4"
"@abp/utils@^4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-4.2.1.tgz#1f5bfa7aae0065ec4dc38f1f5dc393b664c92d5c"
integrity sha512-V7XYC38u4C+UpXQr28KA1KHL5nNgDsFHfZULPnkwPxV8DuhzemmPYN3qmSXi5hfSfp+psNCX3GYZRMCI57kHgQ==
"@abp/utils@^4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-4.2.2.tgz#7afdbbd14246ce06c074109c51d01588596805a9"
integrity sha512-fyPCe5BcS8b88qQd8Ns1D65TdlaOoOryL7mgkYAwBTTpmADLNJQ7R2L4VZxDybkMN2lou+ckCx7qlFIlQmWa7g==
dependencies:
just-compare "^1.3.0"

2
modules/cms-kit/host/Volo.CmsKit.Web.Host/package.json

@ -3,6 +3,6 @@
"name": "my-app",
"private": true,
"dependencies": {
"@abp/aspnetcore.mvc.ui.theme.basic": "^4.2.1"
"@abp/aspnetcore.mvc.ui.theme.basic": "^4.2.2"
}
}

238
modules/cms-kit/host/Volo.CmsKit.Web.Host/yarn.lock

@ -2,37 +2,37 @@
# yarn lockfile v1
"@abp/aspnetcore.mvc.ui.theme.basic@^4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-4.2.1.tgz#78b465ab8fcd68a38e2b868717d00e5f5d3b0c61"
integrity sha512-Tb0g4mtdSsjQkadvnjjRjObEhweUvigto0BTv5SzRNi0oQLW8ZVUcFmuMWB09nJAIPrbuA3QuPUlXzFcv2gsdg==
dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~4.2.1"
"@abp/aspnetcore.mvc.ui.theme.shared@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-4.2.1.tgz#18205c13f137dad9876c4153f34273a7c8e69854"
integrity sha512-+f54CysWpEKfxjIIjhnTKW0jJ0Rg+wS6yxb9Rg3qxA5iEUkxp3B+NB5wA9rT5YcY9APrwVpiw1miNRmq5ZvFXg==
dependencies:
"@abp/aspnetcore.mvc.ui" "~4.2.1"
"@abp/bootstrap" "~4.2.1"
"@abp/bootstrap-datepicker" "~4.2.1"
"@abp/datatables.net-bs4" "~4.2.1"
"@abp/font-awesome" "~4.2.1"
"@abp/jquery-form" "~4.2.1"
"@abp/jquery-validation-unobtrusive" "~4.2.1"
"@abp/lodash" "~4.2.1"
"@abp/luxon" "~4.2.1"
"@abp/malihu-custom-scrollbar-plugin" "~4.2.1"
"@abp/select2" "~4.2.1"
"@abp/sweetalert" "~4.2.1"
"@abp/timeago" "~4.2.1"
"@abp/toastr" "~4.2.1"
"@abp/aspnetcore.mvc.ui@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-4.2.1.tgz#2ad368af731678213ff3d8448a3dd30a2f1f66c9"
integrity sha512-/a/KDVQ3EuETSSe+KqmsR24w6RWHvaokvmmOjL+tCpFQyeaYAZ88E9pvM5hC9HVR24FCHTiARiXwgMTw2eZFyQ==
"@abp/aspnetcore.mvc.ui.theme.basic@^4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-4.2.2.tgz#7de6a36c8e6d0a60b8dbd13d1fd15e31b4ea91c3"
integrity sha512-LpxRorrFZFb1RGdb5uuMhp9Vn8wqgwYK6eAKf9SgLKf19+8oOLLoC6DMz/DwscOicukSSMngNdLZ/iiIofEEWA==
dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~4.2.2"
"@abp/aspnetcore.mvc.ui.theme.shared@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-4.2.2.tgz#3902475befccfb27b35c37a3372c4c56a7f09588"
integrity sha512-lyLKyM6tzspdEYzGqK2hM6d2cqgG9ju3MUa2Hu3BD92WCavy+7eyQV+iwjS9zwltMHHTZnDm6PdhudKAgheNxw==
dependencies:
"@abp/aspnetcore.mvc.ui" "~4.2.2"
"@abp/bootstrap" "~4.2.2"
"@abp/bootstrap-datepicker" "~4.2.2"
"@abp/datatables.net-bs4" "~4.2.2"
"@abp/font-awesome" "~4.2.2"
"@abp/jquery-form" "~4.2.2"
"@abp/jquery-validation-unobtrusive" "~4.2.2"
"@abp/lodash" "~4.2.2"
"@abp/luxon" "~4.2.2"
"@abp/malihu-custom-scrollbar-plugin" "~4.2.2"
"@abp/select2" "~4.2.2"
"@abp/sweetalert" "~4.2.2"
"@abp/timeago" "~4.2.2"
"@abp/toastr" "~4.2.2"
"@abp/aspnetcore.mvc.ui@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-4.2.2.tgz#df4640836f460c590574c61607f5a023f2e3f510"
integrity sha512-uiTy6pIw+GQ27YlCa1gPG5sSnlQy/LCMNbXTHCMxoNu+V/m4A9rFC1Ujp1U2BicMQrfNKX7t72GK23BJJwSsrg==
dependencies:
ansi-colors "^4.1.1"
extend-object "^1.0.0"
@ -43,145 +43,145 @@
micromatch "^4.0.2"
path "^0.12.7"
"@abp/bootstrap-datepicker@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-4.2.1.tgz#87fe913aa6923a39206f4481af3b02309e2cebd5"
integrity sha512-35uaM+OBUqsBBIF08NUu7XBVIgwVQIjJard92Px7eR0EJ2AW6f5hNlJQYfPkYVdmkPIpG16qWctICB+L2W3ZKA==
"@abp/bootstrap-datepicker@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-4.2.2.tgz#1a553fb6824f2e795aecb0e803b8f5984a6f5ac6"
integrity sha512-9xRPNmQLjHGypC8hQ6xaMkdZOeT4DRhEiUfbtp+Avv9x8WE16AQO+m7rI+QNjjQEpnF9HwIzOYMFJBTES4SVvQ==
dependencies:
bootstrap-datepicker "^1.9.0"
"@abp/bootstrap@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-4.2.1.tgz#12d8b0cddb5fca55888e01644ff49ed7d78069e9"
integrity sha512-1Z4atDgHDxesjBh5uPb442NALcUucS2Lt56CaN5UPBXQvAPr72cw4hfKbW08KJ0ab7WME0uCi1vYZFM28/zqTg==
"@abp/bootstrap@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-4.2.2.tgz#3ae98e695edc32b2acb106bffc612c02627021b3"
integrity sha512-/NXBhLXuOi/AaCFfu0Y/ujvEQctVhc47xY/o50n8CyRaq3kK8Y9a3WhOVoZmAhsHDhNj3hXy98KMhy5P7A4lyw==
dependencies:
"@abp/core" "~4.2.1"
"@abp/core" "~4.2.2"
bootstrap "^4.5.0"
bootstrap-v4-rtl "4.4.1-2"
"@abp/core@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-4.2.1.tgz#1e74b0ffbc8c938e8de2f320594637910a09cbab"
integrity sha512-EiJSgUytS9Mrv8GZr9pwIzxwlrP82hEcS67cAgDxBc4QOhtMXhGZBMjDBHoIkOt6Db/ua0iPC700w0Utt5kWZQ==
"@abp/core@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-4.2.2.tgz#a375404dec4f5b1e3f7496c2d5c92b18ab561fb6"
integrity sha512-DuTlzblv//bffrdH7Xs6w4uw2/1AEDYh35qtxXHbFQq2m0aNZapcMk2nRAXJOTJeU7X0d+5k5+Ee9PZWjba3UA==
dependencies:
"@abp/utils" "^4.2.1"
"@abp/utils" "^4.2.2"
"@abp/datatables.net-bs4@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-4.2.1.tgz#fa6d711e6af352672879130a931fc2d27e5fd9e7"
integrity sha512-T66P74F58n4P5xwfhekriSr66A35okrXw61mlMXqeet8ACtxiM55MhXw89qvsL0qo5qG/a9d9MWPYNmZgXvKSQ==
"@abp/datatables.net-bs4@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-4.2.2.tgz#d74f738b79e87f7b8b9f8c5d8d4b84c7a56d6ac4"
integrity sha512-xuZ1BZwz09u7fnuQcBv35prCsl7bgGajzbMGECCwQfy+k1BJjyXy51Ay1+nz7uVwaWPp+U/pbxj4dFy+HFjVkA==
dependencies:
"@abp/datatables.net" "~4.2.1"
"@abp/datatables.net" "~4.2.2"
datatables.net-bs4 "^1.10.21"
"@abp/datatables.net@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-4.2.1.tgz#a5f3549b7b581619bbffb398b2172ed7789d0486"
integrity sha512-ZxpSW6PhJupjecTC25MEKTdjePvg2xNouqioL9L7V3lPJ6S3fsqNs9QFjFjpv0vltzXMaZgJTSuxilmR6s6piw==
"@abp/datatables.net@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-4.2.2.tgz#5e3ac4f9b40b35696e065ef8ba206ce0aa25973a"
integrity sha512-CvDFFpgwfncMBULRTNXnAy5K/rcBDcdzCujDs9kgQtme6kMpAoq+XVQFE3YztGRBlXboFtoJBv1c2b0LFPmhXw==
dependencies:
"@abp/jquery" "~4.2.1"
"@abp/jquery" "~4.2.2"
datatables.net "^1.10.21"
"@abp/font-awesome@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-4.2.1.tgz#81d718b08a1f08bf35dd0887f9c6c9f1ea5416ee"
integrity sha512-kWAOqN7OtiBA7gd3VLH7pft1A5KYnJGJCn56xoqWIqLyHrSapwI5IMOojRDr+WhQJXk5EGE+rnmqRP51MYo4NQ==
"@abp/font-awesome@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-4.2.2.tgz#d6babe704b44bf3902d896a1342569069d6c07e0"
integrity sha512-1EVwG9gFT1vMCuSRfzsqYDDoelHTXhPTnThu7J1LyR99DsFk1IVi+bMADOAsO9Wdov3/t3GuXIHQnuP+/uDVzA==
dependencies:
"@abp/core" "~4.2.1"
"@abp/core" "~4.2.2"
"@fortawesome/fontawesome-free" "^5.13.0"
"@abp/jquery-form@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-4.2.1.tgz#bbc21aafd88aa0f89619ce72fbafc917812d15e4"
integrity sha512-xnxaaOExhz7/8/P6XGvQuKitpuVjzoZz+r1Kr+W9gVy0dWZcCOfeVi4kdpxDFpqUmQJQJi0tvdVkFHx/hAkB7g==
"@abp/jquery-form@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-4.2.2.tgz#a35c3eb8c2f4f0fa535fd020469273ce301c4941"
integrity sha512-VgSE6O8RIcfll8Jz6qby6LGE3Uq3gCjd5BPkHXwY5KJFOWYgzQZg1yS9P1UwzT7xnznigElx1U+2tKV1DskxCA==
dependencies:
"@abp/jquery" "~4.2.1"
"@abp/jquery" "~4.2.2"
jquery-form "^4.3.0"
"@abp/jquery-validation-unobtrusive@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-4.2.1.tgz#36681e75e43e8f708bbd5d6e359eefd8dcce86df"
integrity sha512-STuVKdSUNjrW3q30GcszgzecHDdPmL3aA0jPsRJr0S2Wp5CQOe0dB7d5xyAnADIL68cPXjZWlz1OyXSQ2LixeQ==
"@abp/jquery-validation-unobtrusive@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-4.2.2.tgz#f05298475d263b0f82c59bce23a8a9470782f718"
integrity sha512-E+YDNJNaOa+wOSVMn+Mcvc6fD2nTBzkik+DMvTo8T4VndUYMNxgQiLzO38M/kAuyXtHzyOx8ppHVLuNnB1oc5A==
dependencies:
"@abp/jquery-validation" "~4.2.1"
"@abp/jquery-validation" "~4.2.2"
jquery-validation-unobtrusive "^3.2.11"
"@abp/jquery-validation@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-4.2.1.tgz#209b0acb500ac301bb66b3f04bc18b9c574e2fcf"
integrity sha512-g87I0nO7Jk2d4Jt7PlLk/bHu5xQFH4+mbHwH4oRLAzflDhRNtNB+uVF35HK/1shprmSlZt6X+bHz652SEqD81g==
"@abp/jquery-validation@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-4.2.2.tgz#fe245a903c06baaae08222164cb1299af0ecf23b"
integrity sha512-5fGuCJNm4H+eElfpLc65X4e5+G4VZtuwSd5U8LH8uyl/gIjgTG9bAnOq2rfp+Hymgra3AJScDA7KFKdXb8ESyg==
dependencies:
"@abp/jquery" "~4.2.1"
"@abp/jquery" "~4.2.2"
jquery-validation "^1.19.2"
"@abp/jquery@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-4.2.1.tgz#b8ed11cbc02d33cdc99cacbaf5089343a0f164c5"
integrity sha512-xcoSu/2qc2AEF+dCTNHTCWjAo1dIcohHVPM3Yh36bb+JEcnruYYRokqZc4pzkh0GQamE1eMVGi3QOAmuURtbCg==
"@abp/jquery@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-4.2.2.tgz#9caf1692cf7153a6166332b72e8f3108b1990268"
integrity sha512-7kvO3ESqZqRynLvXaaeXZ4fM3PErGATja5EYj9G1mNR8xG/uuBhnD/lIfS10Gkh8BNyP+lWVpjXCARPl1aFPVQ==
dependencies:
"@abp/core" "~4.2.1"
"@abp/core" "~4.2.2"
jquery "~3.5.1"
"@abp/lodash@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-4.2.1.tgz#87b7f48cf494553f7cd43dddf625a90581555ae7"
integrity sha512-hDwzR/Q9GqXPdQaijQ3B4GIWZ8z9clCW9vU59qbELD8xBZIJalTSrUGnIT8YNB9O5tNFb2FWJJbw5Nh8K7lu1A==
"@abp/lodash@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-4.2.2.tgz#537808a7c062eed62a2f057bd68c80721398e490"
integrity sha512-BC7yImby+Izq+6ybtF30oVVLDBj9aIQbuRzm9AhmqysI5MDhQmHaUriCUxh9gK6KUpfpan6b9Q7WoOCBJn/u6Q==
dependencies:
"@abp/core" "~4.2.1"
"@abp/core" "~4.2.2"
lodash "^4.17.15"
"@abp/luxon@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-4.2.1.tgz#e29c1fe9903beb0fc4d32cab90a5de4ebc768e43"
integrity sha512-Sussnocvw75EbJ1j0Ohn7F+SBQy9xPbiG6RJExdDFzxhUNsVp5wJF2Jm8hOZB3DYkeGAOskY5RoIG0abfE/j3w==
"@abp/luxon@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-4.2.2.tgz#29d79ee76e97c148d5d015d7c05cd2eb6f03cde6"
integrity sha512-CnmE1bihzB2CmkBpSnM8n2pApHSkiVFLqLpr3p46AYTjDV92wE7nr48ey8GMmqrhDCFziIu41RBSYSUw5utdQA==
dependencies:
"@abp/core" "~4.2.1"
"@abp/core" "~4.2.2"
luxon "^1.24.1"
"@abp/malihu-custom-scrollbar-plugin@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-4.2.1.tgz#0c491d772ab0bb03d7eead0b9715bddb44252d56"
integrity sha512-qBnBMzj4G/dAMShmF4EXr55hkMehC1+cB6Jjl1wPHgMV8QPafznBKGyM6KWxGhrl8K6nCErBbidgQKpYqtWhNA==
"@abp/malihu-custom-scrollbar-plugin@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-4.2.2.tgz#41a50143d576b6a6d90cdf555f37071b80198e0c"
integrity sha512-2VL0C1GKACxgHK44Q0sERlOAFiZ8M3wiqVwQxnkTyjTxg0k+MPvDFp+H8QZwec7duoexgwBP/Mc5Xc3U1dq5mA==
dependencies:
"@abp/core" "~4.2.1"
"@abp/core" "~4.2.2"
malihu-custom-scrollbar-plugin "^3.1.5"
"@abp/select2@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-4.2.1.tgz#2f397cc1754135642385333bf47a1a106dd9b165"
integrity sha512-g1AUGof5daULbVFCokR9JS1/4gIpEWKB5/+rRJBmnje2hUgBA3llD5PCOh5WRHA7urJJOD/5BjWlFdozluUAyg==
"@abp/select2@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-4.2.2.tgz#cff05d9d8078de237a6ce83642583a9fd1418b7c"
integrity sha512-ddWDN5usydki5UAm1WCTsPZfWYSjwhkdRNJx5i+9c6B0t5BwXRMPqhpetM6M2IZgGgBScqPTqj6R6TogT9OPpw==
dependencies:
"@abp/core" "~4.2.1"
"@abp/core" "~4.2.2"
select2 "^4.0.13"
"@abp/sweetalert@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-4.2.1.tgz#bdbc28c3f73b314b8ca792ea73390fe9f558c03f"
integrity sha512-xTi0oSjAkFMIDHgF8YB+oqFCl4gNfnt7mGHvEjJwpCEQSkuML9QsiGvw1TpXyHP7npOWSjjVpoyEBS2HXC778Q==
"@abp/sweetalert@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-4.2.2.tgz#227459cfdac1ef4095c71d08bc2cd52dd49a5390"
integrity sha512-aITz7Ns6ZjVlz8rF2E0f1ZwDRnjoeP0eJo4UCr2L3RnauWAoHPcskczOA/fIHf3hKYpsKzWGaMiIkjS9vNmrlw==
dependencies:
"@abp/core" "~4.2.1"
"@abp/core" "~4.2.2"
sweetalert "^2.1.2"
"@abp/timeago@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-4.2.1.tgz#38474ed4455e94c687a3124e1a6e77c3b29a87d3"
integrity sha512-46+2plKizUcRn2VWN5WPWvwEVz+xoKOmsH1tEJ8WKKNxjeNRAsfeOslbfIEks89hTXLQemP3txAbq9V3E8pwQw==
"@abp/timeago@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-4.2.2.tgz#8b9731fb070f71a7e0a833c771cc527bcbfb937d"
integrity sha512-4Q2Ic6TJPIapcnwXdYoUnAxZ9z/JyUqoGi0nVWGLW5AzDVxRlY/AC6zlkJscHLts/H6KTngi0bZWytuYwnfMRg==
dependencies:
"@abp/jquery" "~4.2.1"
"@abp/jquery" "~4.2.2"
timeago "^1.6.7"
"@abp/toastr@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-4.2.1.tgz#9e30607f7ff7067588d0a660226d338003c37707"
integrity sha512-fdlMZjffEO/05aeG8BjTspARKGtUu2SpoFViTeHGhSPsCW55BvuehIgRhyOEQNfMqJz8m0cVR0R2q+WPFWf1XA==
"@abp/toastr@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-4.2.2.tgz#9d9fc8cc131e49cf2ed1cdfeead2a6fc30d16deb"
integrity sha512-rWGplHHMdHqLM5m8cVJmP5jo7uiUSKIl0oVGZqjBxKP3bjdx/SHTjeRvMRIkrLS685te6COyFbokOgUpiRkxsg==
dependencies:
"@abp/jquery" "~4.2.1"
"@abp/jquery" "~4.2.2"
toastr "^2.1.4"
"@abp/utils@^4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-4.2.1.tgz#1f5bfa7aae0065ec4dc38f1f5dc393b664c92d5c"
integrity sha512-V7XYC38u4C+UpXQr28KA1KHL5nNgDsFHfZULPnkwPxV8DuhzemmPYN3qmSXi5hfSfp+psNCX3GYZRMCI57kHgQ==
"@abp/utils@^4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-4.2.2.tgz#7afdbbd14246ce06c074109c51d01588596805a9"
integrity sha512-fyPCe5BcS8b88qQd8Ns1D65TdlaOoOryL7mgkYAwBTTpmADLNJQ7R2L4VZxDybkMN2lou+ckCx7qlFIlQmWa7g==
dependencies:
just-compare "^1.3.0"

36
modules/cms-kit/host/Volo.CmsKit.Web.Unified/CmsKitWebUnifiedModule.cs

@ -39,6 +39,11 @@ using Volo.Abp.Threading;
using Volo.Abp.VirtualFileSystem;
using Volo.CmsKit.Admin.Web;
using Volo.CmsKit.Public.Web;
using System;
using Volo.CmsKit.Tags;
using Volo.CmsKit.Comments;
using Volo.CmsKit.MediaDescriptors;
using Volo.CmsKit.Reactions;
namespace Volo.CmsKit
{
@ -81,6 +86,8 @@ namespace Volo.CmsKit
var hostingEnvironment = context.Services.GetHostingEnvironment();
var configuration = context.Services.GetConfiguration();
ConfigureCmsKit(context);
Configure<AbpDbContextOptions>(options =>
{
options.UseSqlServer();
@ -131,6 +138,35 @@ namespace Volo.CmsKit
});
}
private void ConfigureCmsKit(ServiceConfigurationContext context)
{
Configure<CmsKitTagOptions>(options =>
{
options.EntityTypes.Add(new TagEntityTypeDefiniton("quote"));
});
Configure<CmsKitCommentOptions>(options =>
{
options.EntityTypes.Add(new CommentEntityTypeDefinition("quote"));
});
Configure<CmsKitMediaOptions>(options =>
{
options.EntityTypes.Add(new MediaDescriptorDefinition("quote"));
});
Configure<CmsKitReactionOptions>(options =>
{
options.EntityTypes.Add(
new ReactionEntityTypeDefinition("quote",
reactions: new[]
{
new ReactionDefinition(StandardReactions.ThumbsUp),
new ReactionDefinition(StandardReactions.ThumbsDown),
}));
});
}
public override void OnApplicationInitialization(ApplicationInitializationContext context)
{
var app = context.GetApplicationBuilder();

1951
modules/cms-kit/host/Volo.CmsKit.Web.Unified/Migrations/20210305122554_BlogPost_CoverImage.Designer.cs

File diff suppressed because it is too large

56
modules/cms-kit/host/Volo.CmsKit.Web.Unified/Migrations/20210305122554_BlogPost_CoverImage.cs

@ -0,0 +1,56 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
namespace Volo.CmsKit.Migrations
{
public partial class BlogPost_CoverImage : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "CmsContents");
migrationBuilder.AddColumn<Guid>(
name: "CoverImageMediaId",
table: "CmsBlogPosts",
type: "uniqueidentifier",
nullable: true);
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropColumn(
name: "CoverImageMediaId",
table: "CmsBlogPosts");
migrationBuilder.CreateTable(
name: "CmsContents",
columns: table => new
{
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
ConcurrencyStamp = table.Column<string>(type: "nvarchar(40)", maxLength: 40, nullable: true),
CreationTime = table.Column<DateTime>(type: "datetime2", nullable: false),
CreatorId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
DeleterId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
DeletionTime = table.Column<DateTime>(type: "datetime2", nullable: true),
EntityId = table.Column<string>(type: "nvarchar(64)", maxLength: 64, nullable: false),
EntityType = table.Column<string>(type: "nvarchar(64)", maxLength: 64, nullable: false),
ExtraProperties = table.Column<string>(type: "nvarchar(max)", nullable: true),
IsDeleted = table.Column<bool>(type: "bit", nullable: false, defaultValue: false),
LastModificationTime = table.Column<DateTime>(type: "datetime2", nullable: true),
LastModifierId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
TenantId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
Value = table.Column<string>(type: "nvarchar(max)", maxLength: 2147483647, nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_CmsContents", x => x.Id);
});
migrationBuilder.CreateIndex(
name: "IX_CmsContents_TenantId_EntityType_EntityId",
table: "CmsContents",
columns: new[] { "TenantId", "EntityType", "EntityId" });
}
}
}

75
modules/cms-kit/host/Volo.CmsKit.Web.Unified/Migrations/UnifiedDbContextModelSnapshot.cs

@ -1273,6 +1273,9 @@ namespace Volo.CmsKit.Migrations
.HasMaxLength(2147483647)
.HasColumnType("nvarchar(max)");
b.Property<Guid?>("CoverImageMediaId")
.HasColumnType("uniqueidentifier");
b.Property<DateTime>("CreationTime")
.HasColumnType("datetime2")
.HasColumnName("CreationTime");
@ -1379,78 +1382,6 @@ namespace Volo.CmsKit.Migrations
b.ToTable("CmsComments");
});
modelBuilder.Entity("Volo.CmsKit.Contents.Content", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uniqueidentifier");
b.Property<string>("ConcurrencyStamp")
.IsConcurrencyToken()
.HasMaxLength(40)
.HasColumnType("nvarchar(40)")
.HasColumnName("ConcurrencyStamp");
b.Property<DateTime>("CreationTime")
.HasColumnType("datetime2")
.HasColumnName("CreationTime");
b.Property<Guid?>("CreatorId")
.HasColumnType("uniqueidentifier")
.HasColumnName("CreatorId");
b.Property<Guid?>("DeleterId")
.HasColumnType("uniqueidentifier")
.HasColumnName("DeleterId");
b.Property<DateTime?>("DeletionTime")
.HasColumnType("datetime2")
.HasColumnName("DeletionTime");
b.Property<string>("EntityId")
.IsRequired()
.HasMaxLength(64)
.HasColumnType("nvarchar(64)");
b.Property<string>("EntityType")
.IsRequired()
.HasMaxLength(64)
.HasColumnType("nvarchar(64)");
b.Property<string>("ExtraProperties")
.HasColumnType("nvarchar(max)")
.HasColumnName("ExtraProperties");
b.Property<bool>("IsDeleted")
.ValueGeneratedOnAdd()
.HasColumnType("bit")
.HasDefaultValue(false)
.HasColumnName("IsDeleted");
b.Property<DateTime?>("LastModificationTime")
.HasColumnType("datetime2")
.HasColumnName("LastModificationTime");
b.Property<Guid?>("LastModifierId")
.HasColumnType("uniqueidentifier")
.HasColumnName("LastModifierId");
b.Property<Guid?>("TenantId")
.HasColumnType("uniqueidentifier")
.HasColumnName("TenantId");
b.Property<string>("Value")
.IsRequired()
.HasMaxLength(2147483647)
.HasColumnType("nvarchar(max)");
b.HasKey("Id");
b.HasIndex("TenantId", "EntityType", "EntityId");
b.ToTable("CmsContents");
});
modelBuilder.Entity("Volo.CmsKit.MediaDescriptors.MediaDescriptor", b =>
{
b.Property<Guid>("Id")

18
modules/cms-kit/host/Volo.CmsKit.Web.Unified/Pages/Index.cshtml

@ -43,24 +43,6 @@
</abp-card>
<hr />
<h3>Media added content editor</h3>
<abp-card>
<abp-card-body>
@if (CurrentUser.Id != null)
{
@if (GlobalFeatureManager.Instance.IsEnabled<MediaFeature>())
{
<div id="content-editor"></div>
}
}
else
{
<span>Please Login</span>
}
</abp-card-body>
</abp-card>
<abp-row>
<abp-column size-md="_6">

4
modules/cms-kit/host/Volo.CmsKit.Web.Unified/Volo.CmsKit.Web.Unified.csproj

@ -62,8 +62,4 @@
</None>
</ItemGroup>
<ItemGroup>
<Folder Include="Migrations" />
</ItemGroup>
</Project>

8
modules/cms-kit/host/Volo.CmsKit.Web.Unified/package.json

@ -3,11 +3,11 @@
"name": "my-app",
"private": true,
"dependencies": {
"@abp/aspnetcore.mvc.ui.theme.basic": "^4.2.1",
"@abp/cms-kit": "4.2.1",
"@abp/tui-editor": "^4.2.1",
"@abp/aspnetcore.mvc.ui.theme.basic": "^4.2.2",
"@abp/cms-kit": "4.2.2",
"@abp/tui-editor": "^4.2.2",
"tui-code-snippet": "1.5.2",
"@abp/uppy": "^4.2.1",
"@abp/uppy": "^4.2.2",
"slugify": "1.4.6"
}
}

7
modules/cms-kit/host/Volo.CmsKit.Web.Unified/wwwroot/libs/tui-editor/tui-editor-jquery-patch.js

@ -0,0 +1,7 @@
/*
https://jquery.com/upgrade-guide/3.5/#jquery-htmlprefilter-changes
*/
var rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi;
jQuery.htmlPrefilter = function (html) {
return html.replace(rxhtmlTag, "<$1></$2>");
};

226
modules/cms-kit/host/Volo.CmsKit.Web.Unified/yarn.lock

@ -2,37 +2,37 @@
# yarn lockfile v1
"@abp/aspnetcore.mvc.ui.theme.basic@^4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-4.2.1.tgz#78b465ab8fcd68a38e2b868717d00e5f5d3b0c61"
integrity sha512-Tb0g4mtdSsjQkadvnjjRjObEhweUvigto0BTv5SzRNi0oQLW8ZVUcFmuMWB09nJAIPrbuA3QuPUlXzFcv2gsdg==
dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~4.2.1"
"@abp/aspnetcore.mvc.ui.theme.shared@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-4.2.1.tgz#18205c13f137dad9876c4153f34273a7c8e69854"
integrity sha512-+f54CysWpEKfxjIIjhnTKW0jJ0Rg+wS6yxb9Rg3qxA5iEUkxp3B+NB5wA9rT5YcY9APrwVpiw1miNRmq5ZvFXg==
dependencies:
"@abp/aspnetcore.mvc.ui" "~4.2.1"
"@abp/bootstrap" "~4.2.1"
"@abp/bootstrap-datepicker" "~4.2.1"
"@abp/datatables.net-bs4" "~4.2.1"
"@abp/font-awesome" "~4.2.1"
"@abp/jquery-form" "~4.2.1"
"@abp/jquery-validation-unobtrusive" "~4.2.1"
"@abp/lodash" "~4.2.1"
"@abp/luxon" "~4.2.1"
"@abp/malihu-custom-scrollbar-plugin" "~4.2.1"
"@abp/select2" "~4.2.1"
"@abp/sweetalert" "~4.2.1"
"@abp/timeago" "~4.2.1"
"@abp/toastr" "~4.2.1"
"@abp/aspnetcore.mvc.ui@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-4.2.1.tgz#2ad368af731678213ff3d8448a3dd30a2f1f66c9"
integrity sha512-/a/KDVQ3EuETSSe+KqmsR24w6RWHvaokvmmOjL+tCpFQyeaYAZ88E9pvM5hC9HVR24FCHTiARiXwgMTw2eZFyQ==
"@abp/aspnetcore.mvc.ui.theme.basic@^4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-4.2.2.tgz#7de6a36c8e6d0a60b8dbd13d1fd15e31b4ea91c3"
integrity sha512-LpxRorrFZFb1RGdb5uuMhp9Vn8wqgwYK6eAKf9SgLKf19+8oOLLoC6DMz/DwscOicukSSMngNdLZ/iiIofEEWA==
dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~4.2.2"
"@abp/aspnetcore.mvc.ui.theme.shared@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-4.2.2.tgz#3902475befccfb27b35c37a3372c4c56a7f09588"
integrity sha512-lyLKyM6tzspdEYzGqK2hM6d2cqgG9ju3MUa2Hu3BD92WCavy+7eyQV+iwjS9zwltMHHTZnDm6PdhudKAgheNxw==
dependencies:
"@abp/aspnetcore.mvc.ui" "~4.2.2"
"@abp/bootstrap" "~4.2.2"
"@abp/bootstrap-datepicker" "~4.2.2"
"@abp/datatables.net-bs4" "~4.2.2"
"@abp/font-awesome" "~4.2.2"
"@abp/jquery-form" "~4.2.2"
"@abp/jquery-validation-unobtrusive" "~4.2.2"
"@abp/lodash" "~4.2.2"
"@abp/luxon" "~4.2.2"
"@abp/malihu-custom-scrollbar-plugin" "~4.2.2"
"@abp/select2" "~4.2.2"
"@abp/sweetalert" "~4.2.2"
"@abp/timeago" "~4.2.2"
"@abp/toastr" "~4.2.2"
"@abp/aspnetcore.mvc.ui@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-4.2.2.tgz#df4640836f460c590574c61607f5a023f2e3f510"
integrity sha512-uiTy6pIw+GQ27YlCa1gPG5sSnlQy/LCMNbXTHCMxoNu+V/m4A9rFC1Ujp1U2BicMQrfNKX7t72GK23BJJwSsrg==
dependencies:
ansi-colors "^4.1.1"
extend-object "^1.0.0"
@ -43,28 +43,28 @@
micromatch "^4.0.2"
path "^0.12.7"
"@abp/bootstrap-datepicker@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-4.2.1.tgz#87fe913aa6923a39206f4481af3b02309e2cebd5"
integrity sha512-35uaM+OBUqsBBIF08NUu7XBVIgwVQIjJard92Px7eR0EJ2AW6f5hNlJQYfPkYVdmkPIpG16qWctICB+L2W3ZKA==
"@abp/bootstrap-datepicker@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-4.2.2.tgz#1a553fb6824f2e795aecb0e803b8f5984a6f5ac6"
integrity sha512-9xRPNmQLjHGypC8hQ6xaMkdZOeT4DRhEiUfbtp+Avv9x8WE16AQO+m7rI+QNjjQEpnF9HwIzOYMFJBTES4SVvQ==
dependencies:
bootstrap-datepicker "^1.9.0"
"@abp/bootstrap@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-4.2.1.tgz#12d8b0cddb5fca55888e01644ff49ed7d78069e9"
integrity sha512-1Z4atDgHDxesjBh5uPb442NALcUucS2Lt56CaN5UPBXQvAPr72cw4hfKbW08KJ0ab7WME0uCi1vYZFM28/zqTg==
"@abp/bootstrap@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-4.2.2.tgz#3ae98e695edc32b2acb106bffc612c02627021b3"
integrity sha512-/NXBhLXuOi/AaCFfu0Y/ujvEQctVhc47xY/o50n8CyRaq3kK8Y9a3WhOVoZmAhsHDhNj3hXy98KMhy5P7A4lyw==
dependencies:
"@abp/core" "~4.2.1"
"@abp/core" "~4.2.2"
bootstrap "^4.5.0"
bootstrap-v4-rtl "4.4.1-2"
"@abp/cms-kit@4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/cms-kit/-/cms-kit-4.2.1.tgz#27895c4df8bdd9a4c1f8072a991ed1e98c2e805c"
integrity sha512-zfsqFfdJ32eWIsXrgNTCCfAWztrmUXLkr1rYQtqImYMMllNLFj9Qk4foeNi6JBJZcEkPMI5Kov3ZFgIcbET+wA==
"@abp/cms-kit@4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/cms-kit/-/cms-kit-4.2.2.tgz#95eeadb110271e6c169236254b4a53641b30e47f"
integrity sha512-Ly2UkTuPRJuaIiFDF/y0jbOdX07BHKzdOspPWYG+UDmKAkGlN6H70Ey781e67LKIBnOsLz2OpPvUU4N/jJLhaQ==
dependencies:
"@abp/star-rating-svg" "~4.2.1"
"@abp/star-rating-svg" "~4.2.2"
"@abp/codemirror@~4.2.1":
version "4.2.1"
@ -79,30 +79,30 @@
resolved "https://registry.yarnpkg.com/@abp/core/-/core-4.2.1.tgz#1e74b0ffbc8c938e8de2f320594637910a09cbab"
integrity sha512-EiJSgUytS9Mrv8GZr9pwIzxwlrP82hEcS67cAgDxBc4QOhtMXhGZBMjDBHoIkOt6Db/ua0iPC700w0Utt5kWZQ==
dependencies:
"@abp/utils" "^4.2.1"
"@abp/utils" "^4.2.2"
"@abp/datatables.net-bs4@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-4.2.1.tgz#fa6d711e6af352672879130a931fc2d27e5fd9e7"
integrity sha512-T66P74F58n4P5xwfhekriSr66A35okrXw61mlMXqeet8ACtxiM55MhXw89qvsL0qo5qG/a9d9MWPYNmZgXvKSQ==
"@abp/datatables.net-bs4@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-4.2.2.tgz#d74f738b79e87f7b8b9f8c5d8d4b84c7a56d6ac4"
integrity sha512-xuZ1BZwz09u7fnuQcBv35prCsl7bgGajzbMGECCwQfy+k1BJjyXy51Ay1+nz7uVwaWPp+U/pbxj4dFy+HFjVkA==
dependencies:
"@abp/datatables.net" "~4.2.1"
"@abp/datatables.net" "~4.2.2"
datatables.net-bs4 "^1.10.21"
"@abp/datatables.net@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-4.2.1.tgz#a5f3549b7b581619bbffb398b2172ed7789d0486"
integrity sha512-ZxpSW6PhJupjecTC25MEKTdjePvg2xNouqioL9L7V3lPJ6S3fsqNs9QFjFjpv0vltzXMaZgJTSuxilmR6s6piw==
"@abp/datatables.net@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-4.2.2.tgz#5e3ac4f9b40b35696e065ef8ba206ce0aa25973a"
integrity sha512-CvDFFpgwfncMBULRTNXnAy5K/rcBDcdzCujDs9kgQtme6kMpAoq+XVQFE3YztGRBlXboFtoJBv1c2b0LFPmhXw==
dependencies:
"@abp/jquery" "~4.2.1"
"@abp/jquery" "~4.2.2"
datatables.net "^1.10.21"
"@abp/font-awesome@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-4.2.1.tgz#81d718b08a1f08bf35dd0887f9c6c9f1ea5416ee"
integrity sha512-kWAOqN7OtiBA7gd3VLH7pft1A5KYnJGJCn56xoqWIqLyHrSapwI5IMOojRDr+WhQJXk5EGE+rnmqRP51MYo4NQ==
"@abp/font-awesome@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-4.2.2.tgz#d6babe704b44bf3902d896a1342569069d6c07e0"
integrity sha512-1EVwG9gFT1vMCuSRfzsqYDDoelHTXhPTnThu7J1LyR99DsFk1IVi+bMADOAsO9Wdov3/t3GuXIHQnuP+/uDVzA==
dependencies:
"@abp/core" "~4.2.1"
"@abp/core" "~4.2.2"
"@fortawesome/fontawesome-free" "^5.13.0"
"@abp/highlight.js@~4.2.1":
@ -117,55 +117,55 @@
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-4.2.1.tgz#bbc21aafd88aa0f89619ce72fbafc917812d15e4"
integrity sha512-xnxaaOExhz7/8/P6XGvQuKitpuVjzoZz+r1Kr+W9gVy0dWZcCOfeVi4kdpxDFpqUmQJQJi0tvdVkFHx/hAkB7g==
dependencies:
"@abp/jquery" "~4.2.1"
"@abp/jquery" "~4.2.2"
jquery-form "^4.3.0"
"@abp/jquery-validation-unobtrusive@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-4.2.1.tgz#36681e75e43e8f708bbd5d6e359eefd8dcce86df"
integrity sha512-STuVKdSUNjrW3q30GcszgzecHDdPmL3aA0jPsRJr0S2Wp5CQOe0dB7d5xyAnADIL68cPXjZWlz1OyXSQ2LixeQ==
"@abp/jquery-validation-unobtrusive@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-4.2.2.tgz#f05298475d263b0f82c59bce23a8a9470782f718"
integrity sha512-E+YDNJNaOa+wOSVMn+Mcvc6fD2nTBzkik+DMvTo8T4VndUYMNxgQiLzO38M/kAuyXtHzyOx8ppHVLuNnB1oc5A==
dependencies:
"@abp/jquery-validation" "~4.2.1"
"@abp/jquery-validation" "~4.2.2"
jquery-validation-unobtrusive "^3.2.11"
"@abp/jquery-validation@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-4.2.1.tgz#209b0acb500ac301bb66b3f04bc18b9c574e2fcf"
integrity sha512-g87I0nO7Jk2d4Jt7PlLk/bHu5xQFH4+mbHwH4oRLAzflDhRNtNB+uVF35HK/1shprmSlZt6X+bHz652SEqD81g==
"@abp/jquery-validation@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-4.2.2.tgz#fe245a903c06baaae08222164cb1299af0ecf23b"
integrity sha512-5fGuCJNm4H+eElfpLc65X4e5+G4VZtuwSd5U8LH8uyl/gIjgTG9bAnOq2rfp+Hymgra3AJScDA7KFKdXb8ESyg==
dependencies:
"@abp/jquery" "~4.2.1"
"@abp/jquery" "~4.2.2"
jquery-validation "^1.19.2"
"@abp/jquery@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-4.2.1.tgz#b8ed11cbc02d33cdc99cacbaf5089343a0f164c5"
integrity sha512-xcoSu/2qc2AEF+dCTNHTCWjAo1dIcohHVPM3Yh36bb+JEcnruYYRokqZc4pzkh0GQamE1eMVGi3QOAmuURtbCg==
"@abp/jquery@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-4.2.2.tgz#9caf1692cf7153a6166332b72e8f3108b1990268"
integrity sha512-7kvO3ESqZqRynLvXaaeXZ4fM3PErGATja5EYj9G1mNR8xG/uuBhnD/lIfS10Gkh8BNyP+lWVpjXCARPl1aFPVQ==
dependencies:
"@abp/core" "~4.2.1"
"@abp/core" "~4.2.2"
jquery "~3.5.1"
"@abp/lodash@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-4.2.1.tgz#87b7f48cf494553f7cd43dddf625a90581555ae7"
integrity sha512-hDwzR/Q9GqXPdQaijQ3B4GIWZ8z9clCW9vU59qbELD8xBZIJalTSrUGnIT8YNB9O5tNFb2FWJJbw5Nh8K7lu1A==
"@abp/lodash@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-4.2.2.tgz#537808a7c062eed62a2f057bd68c80721398e490"
integrity sha512-BC7yImby+Izq+6ybtF30oVVLDBj9aIQbuRzm9AhmqysI5MDhQmHaUriCUxh9gK6KUpfpan6b9Q7WoOCBJn/u6Q==
dependencies:
"@abp/core" "~4.2.1"
"@abp/core" "~4.2.2"
lodash "^4.17.15"
"@abp/luxon@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-4.2.1.tgz#e29c1fe9903beb0fc4d32cab90a5de4ebc768e43"
integrity sha512-Sussnocvw75EbJ1j0Ohn7F+SBQy9xPbiG6RJExdDFzxhUNsVp5wJF2Jm8hOZB3DYkeGAOskY5RoIG0abfE/j3w==
"@abp/luxon@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-4.2.2.tgz#29d79ee76e97c148d5d015d7c05cd2eb6f03cde6"
integrity sha512-CnmE1bihzB2CmkBpSnM8n2pApHSkiVFLqLpr3p46AYTjDV92wE7nr48ey8GMmqrhDCFziIu41RBSYSUw5utdQA==
dependencies:
"@abp/core" "~4.2.1"
"@abp/core" "~4.2.2"
luxon "^1.24.1"
"@abp/malihu-custom-scrollbar-plugin@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-4.2.1.tgz#0c491d772ab0bb03d7eead0b9715bddb44252d56"
integrity sha512-qBnBMzj4G/dAMShmF4EXr55hkMehC1+cB6Jjl1wPHgMV8QPafznBKGyM6KWxGhrl8K6nCErBbidgQKpYqtWhNA==
"@abp/malihu-custom-scrollbar-plugin@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-4.2.2.tgz#41a50143d576b6a6d90cdf555f37071b80198e0c"
integrity sha512-2VL0C1GKACxgHK44Q0sERlOAFiZ8M3wiqVwQxnkTyjTxg0k+MPvDFp+H8QZwec7duoexgwBP/Mc5Xc3U1dq5mA==
dependencies:
"@abp/core" "~4.2.1"
"@abp/core" "~4.2.2"
malihu-custom-scrollbar-plugin "^3.1.5"
"@abp/markdown-it@~4.2.1":
@ -181,39 +181,39 @@
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-4.2.1.tgz#2f397cc1754135642385333bf47a1a106dd9b165"
integrity sha512-g1AUGof5daULbVFCokR9JS1/4gIpEWKB5/+rRJBmnje2hUgBA3llD5PCOh5WRHA7urJJOD/5BjWlFdozluUAyg==
dependencies:
"@abp/core" "~4.2.1"
"@abp/core" "~4.2.2"
select2 "^4.0.13"
"@abp/star-rating-svg@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/star-rating-svg/-/star-rating-svg-4.2.1.tgz#b92a8323d73ae4af0517ad8c1c09bfe24b061687"
integrity sha512-y1zSGwZlSuFCMBTd9ht4yjY5EAaKzEbxSh92/lceaTWB4p6OA6Nj+EJyC369wvfB/R/Jn7SYu3YLmz86Bvj86A==
"@abp/star-rating-svg@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/star-rating-svg/-/star-rating-svg-4.2.2.tgz#9d671eeb2510271c6367f2cb4fd31bf78a721670"
integrity sha512-wLHGg6mCHfY5aXUhktPEX8Xo8T05HcTHXGceGviBNZXJolZM/+63y+BsXWmwv/ntapL/sye2LYfNGxxv8rY+Ww==
dependencies:
"@abp/jquery" "~4.2.1"
"@abp/jquery" "~4.2.2"
star-rating-svg "^3.5.0"
"@abp/sweetalert@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-4.2.1.tgz#bdbc28c3f73b314b8ca792ea73390fe9f558c03f"
integrity sha512-xTi0oSjAkFMIDHgF8YB+oqFCl4gNfnt7mGHvEjJwpCEQSkuML9QsiGvw1TpXyHP7npOWSjjVpoyEBS2HXC778Q==
"@abp/sweetalert@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-4.2.2.tgz#227459cfdac1ef4095c71d08bc2cd52dd49a5390"
integrity sha512-aITz7Ns6ZjVlz8rF2E0f1ZwDRnjoeP0eJo4UCr2L3RnauWAoHPcskczOA/fIHf3hKYpsKzWGaMiIkjS9vNmrlw==
dependencies:
"@abp/core" "~4.2.1"
"@abp/core" "~4.2.2"
sweetalert "^2.1.2"
"@abp/timeago@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-4.2.1.tgz#38474ed4455e94c687a3124e1a6e77c3b29a87d3"
integrity sha512-46+2plKizUcRn2VWN5WPWvwEVz+xoKOmsH1tEJ8WKKNxjeNRAsfeOslbfIEks89hTXLQemP3txAbq9V3E8pwQw==
"@abp/timeago@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-4.2.2.tgz#8b9731fb070f71a7e0a833c771cc527bcbfb937d"
integrity sha512-4Q2Ic6TJPIapcnwXdYoUnAxZ9z/JyUqoGi0nVWGLW5AzDVxRlY/AC6zlkJscHLts/H6KTngi0bZWytuYwnfMRg==
dependencies:
"@abp/jquery" "~4.2.1"
"@abp/jquery" "~4.2.2"
timeago "^1.6.7"
"@abp/toastr@~4.2.1":
version "4.2.1"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-4.2.1.tgz#9e30607f7ff7067588d0a660226d338003c37707"
integrity sha512-fdlMZjffEO/05aeG8BjTspARKGtUu2SpoFViTeHGhSPsCW55BvuehIgRhyOEQNfMqJz8m0cVR0R2q+WPFWf1XA==
"@abp/toastr@~4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-4.2.2.tgz#9d9fc8cc131e49cf2ed1cdfeead2a6fc30d16deb"
integrity sha512-rWGplHHMdHqLM5m8cVJmP5jo7uiUSKIl0oVGZqjBxKP3bjdx/SHTjeRvMRIkrLS685te6COyFbokOgUpiRkxsg==
dependencies:
"@abp/jquery" "~4.2.1"
"@abp/jquery" "~4.2.2"
toastr "^2.1.4"
"@abp/tui-editor@^4.2.1":

2
modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Blogs/BlogPostDto.cs

@ -15,5 +15,7 @@ namespace Volo.CmsKit.Admin.Blogs
public string ShortDescription { get; set; }
public string Content { get; set; }
public Guid? CoverImageMediaId { get; set; }
}
}

12
modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Blogs/BlogPostGetListInput.cs

@ -0,0 +1,12 @@
using System;
using Volo.Abp.Application.Dtos;
namespace Volo.CmsKit.Admin.Blogs
{
public class BlogPostGetListInput : PagedAndSortedResultRequestDto
{
public string Filter { get; set; }
public Guid? BlogId { get; set; }
}
}

2
modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Blogs/CreateBlogPostDto.cs

@ -24,5 +24,7 @@ namespace Volo.CmsKit.Admin.Blogs
[DynamicMaxLength(typeof(BlogPostConsts), nameof(BlogPostConsts.MaxContentLength))]
public string Content { get; set; }
public Guid? CoverImageMediaId { get; set; }
}
}

8
modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Blogs/IBlogPostAdminAppService.cs

@ -1,8 +1,5 @@
using System;
using System.Threading.Tasks;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Application.Services;
using Volo.Abp.Content;
namespace Volo.CmsKit.Admin.Blogs
{
@ -10,12 +7,9 @@ namespace Volo.CmsKit.Admin.Blogs
: ICrudAppService<
BlogPostDto,
Guid,
PagedAndSortedResultRequestDto,
BlogPostGetListInput,
CreateBlogPostDto,
UpdateBlogPostDto>
{
Task SetCoverImageAsync(Guid id, RemoteStreamContent streamContent);
Task<RemoteStreamContent> GetCoverImageAsync(Guid id);
}
}

2
modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Blogs/UpdateBlogPostDto.cs

@ -21,5 +21,7 @@ namespace Volo.CmsKit.Admin.Blogs
[DynamicMaxLength(typeof(BlogPostConsts), nameof(BlogPostConsts.MaxContentLength))]
public string Content { get; set; }
public Guid? CoverImageMediaId { get; set; }
}
}

1
modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Pages/CreatePageInputDto.cs

@ -1,7 +1,6 @@
using System;
using System.ComponentModel.DataAnnotations;
using Volo.Abp.Validation;
using Volo.CmsKit.Contents;
using Volo.CmsKit.Pages;
namespace Volo.CmsKit.Admin.Pages

1
modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Pages/UpdatePageInputDto.cs

@ -1,7 +1,6 @@
using System;
using System.ComponentModel.DataAnnotations;
using Volo.Abp.Validation;
using Volo.CmsKit.Contents;
using Volo.CmsKit.Pages;
namespace Volo.CmsKit.Admin.Pages

15
modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Blogs/BlogAdminAppService.cs

@ -16,13 +16,18 @@ namespace Volo.CmsKit.Admin.Blogs
{
protected IBlogRepository BlogRepository { get; }
protected BlogManager BlogManager { get; }
public BlogAdminAppService(IBlogRepository blogRepository, BlogManager blogManager)
protected BlogFeatureManager BlogFeatureManager{ get; }
public BlogAdminAppService(
IBlogRepository blogRepository,
BlogManager blogManager,
BlogFeatureManager blogFeatureManager = null)
{
BlogRepository = blogRepository;
BlogManager = blogManager;
BlogFeatureManager = blogFeatureManager;
}
public virtual async Task<BlogDto> GetAsync(Guid id)
{
var blog = await BlogRepository.GetAsync(id);
@ -48,7 +53,9 @@ namespace Volo.CmsKit.Admin.Blogs
{
var blog = await BlogManager.CreateAsync(input.Name, input.Slug);
await BlogRepository.InsertAsync(blog);
await BlogRepository.InsertAsync(blog, autoSave: true);
await BlogFeatureManager.SetDefaultsAsync(blog.Id);
return ObjectMapper.Map<Blog, BlogDto>(blog);
}

8
modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Blogs/BlogFeatureAdminAppService.cs

@ -1,12 +1,9 @@
using Microsoft.AspNetCore.Authorization;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Volo.Abp.EventBus.Distributed;
using Volo.Abp.GlobalFeatures;
using Volo.CmsKit.Admin.Blogs;
using Volo.CmsKit.Blogs;
using Volo.CmsKit.GlobalFeatures;
using Volo.CmsKit.Permissions;
@ -14,6 +11,7 @@ using Volo.CmsKit.Permissions;
namespace Volo.CmsKit.Admin.Blogs
{
[RequiresGlobalFeature(typeof(BlogsFeature))]
[Authorize(CmsKitAdminPermissions.Blogs.Features)]
public class BlogFeatureAdminAppService : CmsKitAdminAppServiceBase, IBlogFeatureAdminAppService
{
protected IBlogFeatureRepository BlogFeatureRepository { get; }
@ -32,15 +30,13 @@ namespace Volo.CmsKit.Admin.Blogs
EventBus = eventBus;
}
[Authorize(CmsKitAdminPermissions.Blogs.Features)]
public virtual async Task<List<BlogFeatureDto>> GetListAsync(Guid blogId)
{
var blogFeatures = await BlogFeatureManager.GetListAsync(blogId);
var blogFeatures = await BlogFeatureRepository.GetListAsync(blogId);
return ObjectMapper.Map<List<BlogFeature>, List<BlogFeatureDto>>(blogFeatures);
}
[Authorize(CmsKitAdminPermissions.Blogs.Features)]
public virtual Task SetAsync(Guid blogId, BlogFeatureInputDto dto)
{
return BlogFeatureManager.SetAsync(blogId, dto.FeatureName, dto.IsEnabled);

54
modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Blogs/BlogPostAdminAppService.cs

@ -3,10 +3,6 @@ using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Application.Services;
using Volo.Abp.BlobStoring;
using Volo.Abp.Content;
using Volo.Abp.Domain.Repositories;
using Volo.Abp.GlobalFeatures;
using Volo.Abp.Users;
using Volo.CmsKit.Blogs;
@ -18,27 +14,23 @@ namespace Volo.CmsKit.Admin.Blogs
{
[RequiresGlobalFeature(typeof(BlogsFeature))]
[Authorize(CmsKitAdminPermissions.BlogPosts.Default)]
public class BlogPostAdminAppService: CmsKitAppServiceBase, IBlogPostAdminAppService
public class BlogPostAdminAppService : CmsKitAppServiceBase, IBlogPostAdminAppService
{
protected BlogPostManager BlogPostManager { get; }
protected IBlogPostRepository BlogPostRepository { get; }
protected IBlogRepository BlogRepository { get; }
protected IBlobContainer<BlogPostCoverImageContainer> BlobContainer { get; }
protected ICmsUserLookupService UserLookupService { get; }
public BlogPostAdminAppService(
BlogPostManager blogPostManager,
IBlogPostRepository blogPostRepository,
IBlogRepository blogRepository,
IBlobContainer<BlogPostCoverImageContainer> blobContainer,
ICmsUserLookupService userLookupService)
{
BlogPostManager = blogPostManager;
BlogPostRepository = blogPostRepository;
BlogRepository = blogRepository;
BlobContainer = blobContainer;
UserLookupService = userLookupService;
}
[Authorize(CmsKitAdminPermissions.BlogPosts.Create)]
@ -54,7 +46,8 @@ namespace Volo.CmsKit.Admin.Blogs
input.Title,
input.Slug,
input.ShortDescription,
input.Content);
input.Content,
input.CoverImageMediaId);
await BlogPostRepository.InsertAsync(blogPost);
@ -69,7 +62,8 @@ namespace Volo.CmsKit.Admin.Blogs
blogPost.SetTitle(input.Title);
blogPost.SetShortDescription(input.ShortDescription);
blogPost.SetContent(input.Content);
blogPost.CoverImageMediaId = input.CoverImageMediaId;
if (blogPost.Slug != input.Slug)
{
await BlogPostManager.SetSlugUrlAsync(blogPost, input.Slug);
@ -77,26 +71,7 @@ namespace Volo.CmsKit.Admin.Blogs
await BlogPostRepository.UpdateAsync(blogPost);
return ObjectMapper.Map<BlogPost,BlogPostDto>(blogPost);
}
[Authorize(CmsKitAdminPermissions.BlogPosts.Update)]
public virtual async Task SetCoverImageAsync(Guid id, RemoteStreamContent streamContent)
{
await BlogPostRepository.GetAsync(id);
using (var stream = streamContent.GetStream())
{
await BlobContainer.SaveAsync(id.ToString(), stream, overrideExisting: true);
}
}
[Authorize(CmsKitAdminPermissions.BlogPosts.Default)]
public virtual async Task<RemoteStreamContent> GetCoverImageAsync(Guid id)
{
var stream = await BlobContainer.GetAsync(id.ToString());
return new RemoteStreamContent(stream);
return ObjectMapper.Map<BlogPost, BlogPostDto>(blogPost);
}
[Authorize(CmsKitAdminPermissions.BlogPosts.Default)]
@ -108,20 +83,15 @@ namespace Volo.CmsKit.Admin.Blogs
}
[Authorize(CmsKitAdminPermissions.BlogPosts.Default)]
public virtual async Task<PagedResultDto<BlogPostDto>> GetListAsync(PagedAndSortedResultRequestDto input)
public virtual async Task<PagedResultDto<BlogPostDto>> GetListAsync(BlogPostGetListInput input)
{
if (input.Sorting.IsNullOrEmpty())
{
input.Sorting = nameof(BlogPost.CreationTime) + " desc";
}
var blogPosts = await BlogPostRepository.GetListAsync(input.Filter, input.BlogId, input.MaxResultCount, input.SkipCount, input.Sorting);
var blogPosts = await BlogPostRepository.GetPagedListAsync(input.SkipCount, input.MaxResultCount, input.Sorting, includeDetails: true);
var count = await BlogPostRepository.GetCountAsync(input.Filter);
var count = await BlogPostRepository.GetCountAsync();
return new PagedResultDto<BlogPostDto>(
count,
ObjectMapper.Map<List<BlogPost>, List<BlogPostDto>>(blogPosts));
var dtoList = ObjectMapper.Map<List<BlogPost>, List<BlogPostDto>>(blogPosts);
return new PagedResultDto<BlogPostDto>(count, dtoList);
}
[Authorize(CmsKitAdminPermissions.BlogPosts.Delete)]

2
modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/MediaDescriptors/MediaDescriptorAdminAppService.cs

@ -33,6 +33,7 @@ namespace Volo.CmsKit.Admin.MediaDescriptors
{
var definition = await MediaDescriptorDefinitionStore.GetDefinitionAsync(inputStream.EntityType);
/* TODO: Shouldn't CreatePolicies be a dictionary and we check for inputStream.EntityType? */
await CheckAnyOfPoliciesAsync(definition.CreatePolicies);
using (var stream = inputStream.GetStream())
@ -52,6 +53,7 @@ namespace Volo.CmsKit.Admin.MediaDescriptors
var definition = await MediaDescriptorDefinitionStore.GetDefinitionAsync(mediaDescriptor.EntityType);
/* TODO: Shouldn't DeletePolicies be a dictionary and we check for inputStream.EntityType? */
await CheckAnyOfPoliciesAsync(definition.DeletePolicies);
await MediaContainer.DeleteAsync(id.ToString());

27
modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Pages/PageAdminAppService.cs

@ -16,10 +16,15 @@ namespace Volo.CmsKit.Admin.Pages
public class PageAdminAppService : CmsKitAdminAppServiceBase, IPageAdminAppService
{
protected IPageRepository PageRepository { get; }
public PageAdminAppService(IPageRepository pageRepository)
protected PageManager PageManager { get; }
public PageAdminAppService(
IPageRepository pageRepository,
PageManager pageManager)
{
PageRepository = pageRepository;
PageManager = pageManager;
}
public virtual async Task<PageDto> GetAsync(Guid id)
@ -48,9 +53,7 @@ namespace Volo.CmsKit.Admin.Pages
[Authorize(CmsKitAdminPermissions.Pages.Create)]
public virtual async Task<PageDto> CreateAsync(CreatePageInputDto input)
{
await CheckPageSlugAsync(input.Slug);
var page = new Page(GuidGenerator.Create(), input.Title, input.Slug, input.Content, CurrentTenant.Id);
var page = await PageManager.CreateAsync(input.Title, input.Slug, input.Content);
await PageRepository.InsertAsync(page);
@ -62,13 +65,9 @@ namespace Volo.CmsKit.Admin.Pages
{
var page = await PageRepository.GetAsync(id);
if (page.Slug != input.Slug)
{
await CheckPageSlugAsync(input.Slug);
}
await PageManager.SetSlugAsync(page, input.Slug);
page.SetTitle(input.Title);
page.SetSlug(input.Slug);
page.SetContent(input.Content);
await PageRepository.UpdateAsync(page);
@ -81,13 +80,5 @@ namespace Volo.CmsKit.Admin.Pages
{
await PageRepository.DeleteAsync(id);
}
protected virtual async Task CheckPageSlugAsync(string slug)
{
if (await PageRepository.ExistsAsync(slug))
{
throw new PageSlugAlreadyExistsException(slug);
}
}
}
}

46
modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Blogs/BlogPostAdminController.cs

@ -1,14 +1,9 @@
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Volo.Abp;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Content;
using Volo.Abp.GlobalFeatures;
using Volo.CmsKit.GlobalFeatures;
using Volo.CmsKit.Permissions;
@ -53,49 +48,12 @@ namespace Volo.CmsKit.Admin.Blogs
}
[HttpGet]
[Route("{id}/cover-image")]
[Authorize(CmsKitAdminPermissions.BlogPosts.Default)]
public virtual Task<RemoteStreamContent> GetCoverImageAsync(Guid id)
{
Response.Headers.Add("Content-Disposition", $"inline;filename=\"{id}\"");
Response.Headers.Add("Accept-Ranges", "bytes");
Response.Headers.Add("Cache-Control", "max-age=120");
Response.ContentType = "image";
return BlogPostAdminAppService.GetCoverImageAsync(id);
}
[HttpGet]
[Authorize(CmsKitAdminPermissions.BlogPosts.Default)]
public virtual Task<PagedResultDto<BlogPostDto>> GetListAsync(PagedAndSortedResultRequestDto input)
public virtual Task<PagedResultDto<BlogPostDto>> GetListAsync(BlogPostGetListInput input)
{
return BlogPostAdminAppService.GetListAsync(input);
}
[NonAction]
public virtual Task SetCoverImageAsync(Guid id, RemoteStreamContent streamContent)
{
return BlogPostAdminAppService.SetCoverImageAsync(id, streamContent);
}
[HttpPost]
[Route("{id}/cover-image")]
[Authorize(CmsKitAdminPermissions.BlogPosts.Update)]
public virtual async Task<IActionResult> UploadCoverImageAsync(Guid id, IFormFile file)
{
if (file == null)
{
return BadRequest();
}
using (var stream = file.OpenReadStream())
{
await BlogPostAdminAppService.SetCoverImageAsync(id, new RemoteStreamContent(stream));
}
return CreatedAtAction(nameof(GetCoverImageAsync), new { id });
}
[HttpPut]
[Route("{id}")]
[Authorize(CmsKitAdminPermissions.BlogPosts.Update)]

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

@ -62,6 +62,9 @@ namespace Volo.CmsKit.Admin.Web.Pages.CmsKit.BlogPosts
[HiddenInput]
[DynamicMaxLength(typeof(BlogPostConsts), nameof(BlogPostConsts.MaxContentLength))]
public string Content { get; set; }
[HiddenInput]
public Guid? CoverImageMediaId { get; set; }
}
}
}

9
modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/BlogPosts/Index.cshtml

@ -1,5 +1,6 @@
@page
@using Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.Pages.Shared.Components.AbpPageSearchBox
@using Volo.CmsKit.Admin.Web.Pages.CmsKit.BlogPosts
@using Volo.CmsKit.Admin.Web.Pages
@using Volo.CmsKit.Admin.Web.Menus
@ -27,7 +28,13 @@
<div id="CmsKitBlogPostsWrapper">
<abp-card>
<abp-card-body>
<abp-table striped-rows="true" id="BlogPostsTable" class="nowrap"></abp-table>
<abp-row>
<abp-column>
@await Component.InvokeAsync(typeof(AbpPageSearchBoxViewComponent))
</abp-column>
</abp-row>
</abp-card-body>
</abp-card>
<abp-table striped-rows="true" id="BlogPostsTable" class="nowrap"></abp-table>
</div>

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

@ -45,7 +45,7 @@
<abp-card-body>
<div class="form-group">
<img height="120" src="/api/cms-kit-admin/blogs/blog-posts/@Model.Id/cover-image" />
<img height="120" src="/api/cms-kit/media/@Model.ViewModel.CoverImageMediaId" />
<label>@L["CoverImage"]</label>
<input type="file" id="BlogPostCoverImage" class="form-control" />
</div>

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

@ -76,6 +76,9 @@ namespace Volo.CmsKit.Admin.Web.Pages.CmsKit.BlogPosts
[HiddenInput]
[DynamicMaxLength(typeof(BlogPostConsts), nameof(BlogPostConsts.MaxContentLength))]
public string Content { get; set; }
[HiddenInput]
public Guid? CoverImageMediaId { get; set; }
}
}
}

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

@ -6,6 +6,7 @@
var $formCreate = $('#form-blog-post-create');
var $title = $('#ViewModel_Title');
var $shortDescription = $('#ViewModel_ShortDescription');
var $coverImage = $('#ViewModel_CoverImageMediaId');
var $url = $('#ViewModel_Slug');
var $buttonSubmit = $('#button-blog-post-create');
var $pageContentInput = $('#ViewModel_Content');
@ -13,7 +14,6 @@
var $fileInput = $('#BlogPostCoverImage');
var $tagsWrapper = $('#blog-post-tags-wrapper');
var UPPY_UPLOAD_ENDPOINT = "/api/cms-kit-admin/blogs/blog-posts/{0}/cover-image";
var UPPY_FILE_ID = "uppy-upload-file";
var isTagsEnabled = true;
@ -37,15 +37,13 @@
if ($formCreate.valid()) {
abp.ui.setBusy();
$formCreate.ajaxSubmit({
success: function (result) {
if (isTagsEnabled) {
submitEntityTags(result.id);
}
else {
submitCoverImage(result.id);
finishSaving();
}
},
error: function (result) {
@ -54,22 +52,25 @@
}
});
}
else {
abp.ui.clearBusy();
}
});
$buttonSubmit.click(function (e) {
e.preventDefault();
$formCreate.submit();
submitCoverImage();
});
function submitEntityTags(blogPostId) {
var tags = $tagsInput.val().split(',').map(x => x.trim()).filter(x => x);
if(tags.length === 0){
submitCoverImage(blogPostId);
if (tags.length === 0) {
finishSaving();
return;
}
volo.cmsKit.admin.tags.entityTagAdmin
.setEntityTags({
entityType: 'BlogPost',
@ -77,7 +78,7 @@
tags: tags
})
.then(function (result) {
submitCoverImage(blogPostId);
finishSaving(result);
});
}
@ -88,9 +89,11 @@
return headers;
}
function submitCoverImage(blogPostId) {
function submitCoverImage() {
abp.ui.setBusy();
var UPPY_OPTIONS = {
endpoint: UPPY_UPLOAD_ENDPOINT.replace("{0}", blogPostId),
endpoint: fileUploadUri,
formData: true,
fieldName: "file",
method: "post",
@ -116,12 +119,14 @@
if (result.failed.length > 0) {
abp.message.error(l("UploadFailedMessage"));
} else {
finishSaving();
$coverImage.val(result.successful[0].response.body.id);
$formCreate.submit();
}
});
}
else {
finishSaving();
$formCreate.submit();
}
}
@ -201,7 +206,7 @@
}
});
});
// -----------------------------------
var fileUploadUri = "/api/cms-kit-admin/media/blogpost";
var fileUriPrefix = "/api/cms-kit/media/";

15
modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/BlogPosts/index.js

@ -4,8 +4,12 @@ $(function () {
var blogsService = volo.cmsKit.admin.blogs.blogPostAdmin;
var $blogPostWrapper = $('#CmsKitBlogPostsWrapper');
var getFilter = function () {
return {
filter: $('#CmsKitBlogPostsWrapper input.page-search-filter-text').val()
};
};
var dataTable = $("#BlogPostsTable").DataTable(abp.libs.datatables.normalizeConfiguration({
processing: true,
serverSide: true,
@ -16,7 +20,7 @@ $(function () {
scrollX: true,
ordering: true,
order: [[1, "desc"]],
ajax: abp.libs.datatables.createAjax(blogsService.getList),
ajax: abp.libs.datatables.createAjax(blogsService.getList, getFilter),
columnDefs: [
{
title: l("Details"),
@ -61,6 +65,11 @@ $(function () {
]
}));
$('#CmsKitBlogPostsWrapper form.page-search-form').submit(function (e) {
e.preventDefault();
dataTable.ajax.reload();
});
$('#AbpContentToolbar button[name=CreateBlogPost]').on('click', function (e) {
e.preventDefault();
window.location.href = "BlogPosts/Create"

46
modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/BlogPosts/update.js

@ -4,21 +4,19 @@
var $selectBlog = $('#BlogSelectionSelect');
var $formUpdate = $('#form-blog-post-update');
var $title = $('#ViewModel_Title');
var $titleClone = $('#title-clone');
var $coverImage = $('#ViewModel_CoverImageMediaId');
var $slug = $('#ViewModel_Slug');
var $buttonSubmit = $('#button-blog-post-update');
var $blogPostIdInput = $('#Id');
var $tagsInput = $('.tag-editor-form input[name=tags]');
var $fileInput = $('#BlogPostCoverImage');
var UPPY_UPLOAD_ENDPOINT = "/api/cms-kit-admin/blogs/blog-posts/{0}/cover-image";
var UPPY_FILE_ID = "uppy-upload-file";
var isTagsEnabled = true;
$formUpdate.data('validator').settings.ignore = ":hidden, [contenteditable='true']:not([name]), .tui-popup-wrapper";
function initSelectBlog() {
$selectBlog.data('autocompleteApiUrl', '/api/cms-kit-admin/blogs/blogs');
$selectBlog.data('autocompleteDisplayProperty', 'name');
@ -44,30 +42,34 @@
submitEntityTags($blogPostIdInput.val());
}
else {
submitCoverImage($blogPostIdInput.val());
finishSaving(result);
}
},
error: function (result) {
abp.ui.clearBusy(); abp.notify.error(result.responseJSON.error.message);
abp.ui.clearBusy();
abp.notify.error(result.responseJSON.error.message);
}
});
}
else {
abp.ui.clearBusy();
}
});
$buttonSubmit.click(function (e) {
e.preventDefault();
$formUpdate.submit();
submitCoverImage();
});
function submitEntityTags(blogPostId) {
function submitEntityTags(blogPostId) {
var tags = $tagsInput.val().split(',').map(x => x.trim()).filter(x => x);
if(tags.length === 0){
submitCoverImage(blogPostId);
if (tags.length === 0) {
finishSaving();
return;
}
volo.cmsKit.admin.tags.entityTagAdmin
.setEntityTags({
entityType: 'BlogPost',
@ -75,7 +77,7 @@
tags: tags
})
.then(function (result) {
submitCoverImage(blogPostId);
finishSaving(result);
});
}
@ -86,9 +88,11 @@
return headers;
}
function submitCoverImage(blogPostId) {
function submitCoverImage() {
abp.ui.setBusy();
var UPPY_OPTIONS = {
endpoint: UPPY_UPLOAD_ENDPOINT.replace("{0}", blogPostId),
endpoint: fileUploadUri,
formData: true,
fieldName: "file",
method: "post",
@ -114,12 +118,14 @@
if (result.failed.length > 0) {
abp.message.error(l("UploadFailedMessage"));
} else {
finishSaving();
$coverImage.val(result.successful[0].response.body.id);
$formUpdate.submit();
}
});
}
else {
finishSaving();
$formUpdate.submit();
}
}
@ -129,10 +135,6 @@
location.href = "../../BlogPosts";
}
$titleClone.on('change paste keyup', function () {
$title.val($titleClone.val());
});
$slug.on('change', function () {
reflectUrlChanges();
});

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

@ -1,7 +1,5 @@
using AutoMapper;
using Volo.CmsKit.Blogs;
using Volo.CmsKit.Contents;
using Volo.CmsKit.Pages;
using Volo.CmsKit.Tags;
using Volo.CmsKit.Users;

7
modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/CmsKitErrorCodes.cs

@ -8,13 +8,16 @@
public const string EntityNotTaggable = "CmsKit:Tag:0002";
}
public const string ContentAlreadyExist = "CmsKit:0002";
public static class Pages
{
public const string SlugAlreadyExist = "CmsKit:Page:0001";
}
public static class Reactions
{
public const string EntityCantHaveReaction = "CmsKit:Reaction:0001";
}
public static class Blogs
{
public const string SlugAlreadyExists = "CmsKit:Blog:0001";

1
modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Comments/CommentConsts.cs

@ -4,6 +4,7 @@ namespace Volo.CmsKit.Comments
{
public static class CommentConsts
{
public const string EntityType = "Comment";
public static int MaxEntityTypeLength { get; set; } = CmsEntityConsts.MaxEntityTypeLength;
public static int MaxEntityIdLength { get; set; } = CmsEntityConsts.MaxEntityIdLength;

15
modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Contents/ContentConsts.cs

@ -1,15 +0,0 @@
using System;
using Volo.CmsKit.Entities;
namespace Volo.CmsKit.Contents
{
public static class ContentConsts
{
public static int MaxEntityTypeLength { get; set; } = CmsEntityConsts.MaxEntityTypeLength;
public static int MaxEntityIdLength { get; set; } = CmsEntityConsts.MaxEntityIdLength;
// TODO: consider
public static int MaxValueLength { get; set; } = int.MaxValue;
}
}

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save