Browse Source

Merge branch 'dev' into maliming/multiple-template-engine

pull/8673/head
maliming 5 years ago
parent
commit
c2fbb7df2b
  1. 21
      .github/workflows/image-compression.yml
  2. 26
      docs/en/Authorization.md
  3. 53
      docs/en/Blog-Posts/2021-04-26 v4_3_Release_Stable/POST.md
  4. 25
      docs/en/CLI.md
  5. 4
      docs/en/Index.md
  6. 4
      docs/en/Modules/Docs.md
  7. 4
      docs/en/Multi-Tenancy.md
  8. 4
      docs/en/Repositories.md
  9. 1
      docs/en/Tutorials/Part-3.md
  10. 1
      docs/en/Tutorials/Part-9.md
  11. 2
      docs/en/Tutorials/Todo/Index.md
  12. 822
      docs/zh-Hans/Tutorials/todo/Index.md
  13. BIN
      docs/zh-Hans/Tutorials/todo/run-without-iisexpress.png
  14. BIN
      docs/zh-Hans/Tutorials/todo/todo-api.png
  15. BIN
      docs/zh-Hans/Tutorials/todo/todo-efcore-migration.png
  16. BIN
      docs/zh-Hans/Tutorials/todo/todo-list.png
  17. BIN
      docs/zh-Hans/Tutorials/todo/todo-swagger-ui-initial.png
  18. BIN
      docs/zh-Hans/Tutorials/todo/todo-ui-initial.png
  19. 11
      framework/src/Volo.Abp.AspNetCore.Components.Web/Volo/Abp/AspNetCore/Components/Web/Security/AbpComponentsClaimsCache.cs
  20. 10
      framework/src/Volo.Abp.AspNetCore.Components.WebAssembly.BasicTheme/Themes/Basic/LoginDisplay.razor.cs
  21. 21
      framework/src/Volo.Abp.AspNetCore.Components.WebAssembly/Microsoft/AspNetCore/Components/WebAssembly/Hosting/AbpWebAssemblyHostBuilderExtensions.cs
  22. 5
      framework/src/Volo.Abp.AspNetCore.Components.WebAssembly/Volo/Abp/AspNetCore/Components/WebAssembly/WebAssemblyCurrentPrincipalAccessor.cs
  23. 6
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Collapse/AbpAccordionItemTagHelperService.cs
  24. 4
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Collapse/AbpCollapseBodyTagHelperService.cs
  25. 2
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Dropdown/AbpDropdownButtonTagHelperService.cs
  26. 19
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpDynamicformTagHelperService.cs
  27. 2
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpInputTagHelperService.cs
  28. 1
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpSelectTagHelper.cs
  29. 11
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpSelectTagHelperService.cs
  30. 6
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Tab/AbpTabTagHelperService.cs
  31. 8
      framework/src/Volo.Abp.BlazoriseUI/Volo.Abp.BlazoriseUI.csproj
  32. 12
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Bundling/BundlingService.cs
  33. 25
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/Services/SourceCodeDownloadService.cs
  34. 3
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/SuiteCommand.cs
  35. 7
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/App/AppTemplateBase.cs
  36. 21
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/App/AppTemplateSwitchEntityFrameworkCoreToMongoDbStep.cs
  37. 6
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/AngularSourceCodeAdder.cs
  38. 34
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/DbContextFileBuilderConfigureAdder.cs
  39. 6
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/NpmPackageInfo.cs
  40. 90
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/SolutionModuleAdder.cs
  41. 4
      framework/src/Volo.Abp.Cli/Volo/Abp/Cli/Program.cs
  42. 0
      framework/src/Volo.Abp.Data/Volo/Abp/Domain/Entities/IHasConcurrencyStamp.cs
  43. 15
      framework/src/Volo.Abp.Ddd.Domain/Volo/Abp/DependencyInjection/IAbpCommonDbContextRegistrationOptionsBuilder.cs
  44. 27
      framework/src/Volo.Abp.GlobalFeatures/Volo/Abp/GlobalFeatures/GlobalFeatureDefinitionExtensions.cs
  45. 6
      framework/src/Volo.Abp.GlobalFeatures/Volo/Abp/GlobalFeatures/Localization/nl.json
  46. 15
      framework/src/Volo.Abp.GlobalFeatures/Volo/Abp/GlobalFeatures/RequireGlobalFeaturesPermissionStateProvider.cs
  47. 2
      framework/src/Volo.Abp.Swashbuckle/Volo.Abp.Swashbuckle.csproj
  48. 48
      framework/src/Volo.Abp.UI.Navigation/Volo/Abp/Ui/Navigation/Urls/AppUrlProvider.cs
  49. 2
      framework/src/Volo.Abp.UI.Navigation/Volo/Abp/Ui/Navigation/Urls/IAppUrlProvider.cs
  50. 2
      framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/nl.json
  51. 4
      framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/zh-Hans.json
  52. 9
      framework/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/Pages/Components/FormElements.cshtml
  53. 2
      framework/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/package.json
  54. 224
      framework/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/yarn.lock
  55. 4
      framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/package.json
  56. 0
      framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/prismjs/components/prism-n4js.js
  57. 0
      framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/prismjs/components/prism-n4js.min.js
  58. 0
      framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/prismjs/package.json
  59. 260
      framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/yarn.lock
  60. 65
      modules/account/Volo.Abp.Account.abpmdl.json
  61. 7
      modules/account/Volo.Abp.Account.abpsln.json
  62. 4
      modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/nl.json
  63. 4
      modules/blogging/app/Volo.BloggingTestApp/package.json
  64. 332
      modules/blogging/app/Volo.BloggingTestApp/yarn.lock
  65. 1
      modules/blogging/src/Volo.Blogging.Admin.Application/Volo.Blogging.Admin.Application.csproj
  66. 5
      modules/blogging/src/Volo.Blogging.Admin.Application/Volo/Blogging/Admin/BloggingAdminApplicationModule.cs
  67. 1
      modules/blogging/src/Volo.Blogging.Admin.Web/Pages/Blogging/Admin/Blogs/Create.cshtml
  68. 3
      modules/blogging/src/Volo.Blogging.Application.Contracts.Shared/Volo.Blogging.Application.Contracts.Shared.csproj
  69. 8
      modules/blogging/src/Volo.Blogging.Application.Contracts.Shared/Volo/Blogging/BloggingApplicationContractsSharedModule.cs
  70. 1
      modules/blogging/src/Volo.Blogging.Application/Volo.Blogging.Application.csproj
  71. 5
      modules/blogging/src/Volo.Blogging.Application/Volo/Blogging/BloggingApplicationModule.cs
  72. 33
      modules/blogging/src/Volo.Blogging.Domain.Shared/Volo/Blogging/Localization/Resources/nl.json
  73. 2
      modules/client-simulation/demo/Volo.ClientSimulation.Demo/package.json
  74. 238
      modules/client-simulation/demo/Volo.ClientSimulation.Demo/yarn.lock
  75. 10
      modules/cms-kit/angular/package.json
  76. 4
      modules/cms-kit/angular/projects/cms-kit/package.json
  77. 2
      modules/cms-kit/host/Volo.CmsKit.IdentityServer/package.json
  78. 238
      modules/cms-kit/host/Volo.CmsKit.IdentityServer/yarn.lock
  79. 2
      modules/cms-kit/host/Volo.CmsKit.Web.Host/package.json
  80. 238
      modules/cms-kit/host/Volo.CmsKit.Web.Host/yarn.lock
  81. 8
      modules/cms-kit/host/Volo.CmsKit.Web.Unified/package.json
  82. 74
      modules/cms-kit/host/Volo.CmsKit.Web.Unified/wwwroot/libs/star-rating-svg/css/star-rating-svg.css
  83. 42211
      modules/cms-kit/host/Volo.CmsKit.Web.Unified/wwwroot/libs/tui-editor/tui-editor-Editor-all.js
  84. 167497
      modules/cms-kit/host/Volo.CmsKit.Web.Unified/wwwroot/libs/tui-editor/tui-editor-Editor-full.js
  85. 29529
      modules/cms-kit/host/Volo.CmsKit.Web.Unified/wwwroot/libs/tui-editor/tui-editor-Editor.js
  86. 166357
      modules/cms-kit/host/Volo.CmsKit.Web.Unified/wwwroot/libs/tui-editor/tui-editor-Viewer-full.js
  87. 2846
      modules/cms-kit/host/Volo.CmsKit.Web.Unified/wwwroot/libs/uppy/uppy.js
  88. 350
      modules/cms-kit/host/Volo.CmsKit.Web.Unified/yarn.lock
  89. 71
      modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Permissions/CmsKitAdminPermissionDefinitionProvider.cs
  90. 114
      modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/nl.json
  91. 4
      modules/docs/app/VoloDocs.Web/package.json
  92. 298
      modules/docs/app/VoloDocs.Web/yarn.lock
  93. 3
      modules/docs/src/Volo.Docs.Admin.Application.Contracts/Volo.Docs.Admin.Application.Contracts.csproj
  94. 4
      modules/docs/src/Volo.Docs.Admin.Application.Contracts/Volo/Docs/Admin/DocsAdminApplicationContractsModule.cs
  95. 1
      modules/docs/src/Volo.Docs.Admin.Application/Volo.Docs.Admin.Application.csproj
  96. 5
      modules/docs/src/Volo.Docs.Admin.Application/Volo/Docs/Admin/DocsAdminApplicationModule.cs
  97. 2
      modules/docs/src/Volo.Docs.Application.Contracts/Volo.Docs.Application.Contracts.csproj
  98. 2
      modules/docs/src/Volo.Docs.Application.Contracts/Volo/Docs/DocsApplicationContractsModule.cs
  99. 1
      modules/docs/src/Volo.Docs.Application/Volo.Docs.Application.csproj
  100. 5
      modules/docs/src/Volo.Docs.Application/Volo/Docs/DocsApplicationModule.cs

21
.github/workflows/image-compression.yml

@ -0,0 +1,21 @@
name: Compress Images
on:
pull_request:
paths:
- '**.jpg'
- '**.jpeg'
- '**.png'
- '**.webp'
jobs:
build:
if: github.event.pull_request.head.repo.full_name == github.repository
name: calibreapp/image-actions
runs-on: ubuntu-latest
steps:
- name: Checkout Repo
uses: actions/checkout@v2
- name: Compress Images
uses: calibreapp/image-actions@main
with:
githubToken: ${{ secrets.GITHUB_TOKEN }}

26
docs/en/Authorization.md

@ -393,6 +393,32 @@ public override void ConfigureServices(ServiceConfigurationContext context)
This is already done for the startup template integration tests.
### Claims Principal Factory
Claims are important elements of authentication and authorization. ABP uses the `IAbpClaimsPrincipalFactory` service to create claims on authentication. This service was designed as extensible. If you need to add your custom claims to the authentication ticket, you can implement the `IAbpClaimsPrincipalContributor` in your application.
**Example: Add a `SocialSecurityNumber` claim:**
```csharp
public class SocialSecurityNumberClaimsPrincipalContributor : IAbpClaimsPrincipalContributor, ITransientDependency
{
public async Task ContributeAsync(AbpClaimsPrincipalContributorContext context)
{
var identity = context.ClaimsPrincipal.Identities.FirstOrDefault();
var userId = identity?.FindUserId();
if (userId.HasValue)
{
var userService = context.ServiceProvider.GetRequiredService<IUserService>(); //Your custom service
var socialSecurityNumber = await userService.GetSocialSecurityNumberAsync(userId.Value);
if (socialSecurityNumber != null)
{
identity.AddOrReplace(new Claim("SocialSecurityNumber", socialSecurityNumber));
}
}
}
}
```
## See Also
* [Permission Management Module](Modules/Permission-Management.md)

53
docs/en/Blog-Posts/2021-04-26 v4_3_Release_Stable/POST.md

@ -0,0 +1,53 @@
# ABP.IO Platform 4.3 Final Has Been Released!
[ABP Framework](https://abp.io/) and [ABP Commercial](https://commercial.abp.io/) 4.3 versions have been released today.
## What's New With 4.3?
Since all the new features are already explained in details with the 4.3 RC announcement posts, I will not repeat all the details again. See the related blog posts for all the features and enhancements;
* [What's New with the ABP Framework 4.3](https://blog.abp.io/abp/ABP-Framework-4.3-RC-Has-Been-Published)
* [What's new with the ABP Commercial 4.3](https://blog.abp.io/abp/ABP-Commercial-4.3-RC-Has-Been-Published)
## The Quick Start Tutorial
With this version, we've created a minimalist [quick start tutorial](https://docs.abp.io/en/abp/latest/Tutorials/Todo/Index) for developers who are new to the ABP Framework.
## How to Upgrade an Existing Solution
### Install/Update the ABP CLI
First of all, install the ABP CLI or upgrade to the latest version.
If you haven't installed yet:
```bash
dotnet tool install -g Volo.Abp.Cli
```
To update an existing installation:
```bash
dotnet tool update -g Volo.Abp.Cli
```
### ABP UPDATE Command
[ABP CLI](https://docs.abp.io/en/abp/latest/CLI) provides a handy command to update all the ABP related NuGet and NPM packages in your solution with a single command:
```bash
abp update
```
Run this command in the root folder of your solution.
## Migration Guides
**Check the migration guides ([for ABP Framework](https://docs.abp.io/en/abp/latest/Migration-Guides/Abp-4_3) & for [ABP Commercial](https://docs.abp.io/en/commercial/latest/migration-guides/v4_3)) for the applications with the version 4.2.x upgrading to the version 4.3.0.**
## The Road Map
The next feature version will be 4.4. It is planned to release the 4.4 RC (Release Candidate) at the end of Quarter 2, 2021. See the updated road maps;
* [ABP Framework Road Map](https://docs.abp.io/en/abp/latest/Road-Map)
* [ABP Commercial Road Map](https://docs.abp.io/en/commercial/latest/road-map)

25
docs/en/CLI.md

@ -41,7 +41,6 @@ Here, the list of all available commands before explaining their details:
* **`translate`**: Simplifies to translate localization files when you have multiple JSON [localization](Localization.md) files in a source control repository.
* **`login`**: Authenticates on your computer with your [abp.io](https://abp.io/) username and password.
* **`logout`**: Logouts from your computer if you've authenticated before.
* **`build`**: Builds a GIT repository and depending repositories or a single .NET solution.
* **`bundle`**: Generates script and style references for an ABP Blazor project.
### help
@ -113,6 +112,7 @@ For more samples, go to [ABP CLI Create Solution Samples](CLI-New-Command-Sample
* `SqlServer`
* `MySQL`
* `SQLite`
* `Oracle`
* `Oracle-Devart`
* `PostgreSQL`
* `--local-framework-ref --abp-path`: Uses local projects references to the ABP framework instead of using the NuGet packages. This can be useful if you download the ABP Framework source code and have a local reference to the framework from your application.
@ -406,25 +406,6 @@ Logs you out by removing the session token from your computer.
abp logout
```
### build
This command builds a GIT repository and it's depending repositories or a single .NET solution File. In order ```build``` command to work, its **executing directory** or passed ```--working-directory``` parameter's directory must contain one of;
* A .NET solution file (*.sln)
* abp-build-config.json (suggested to add this to .gitignore)
Usage:
````bash
abp build [options]
````
Example:
```
abp build --build-name "prod" --dotnet-build-arguments "\"--no-dependencies\""
```
#### Options
* ```--working-directory``` or ```-wd```: Specifies the working directory. This option is useful when the command is executed outside of a GIT repository or when executing directory doesn't contain a .NET solution file.
@ -435,9 +416,9 @@ abp build --build-name "prod" --dotnet-build-arguments "\"--no-dependencies\""
For more details, see [build command documentation](CLI-BuildCommand.md).
#### bundle
### bundle
This command generates script and style references for an ABP Blazor project and updates the **index.html** file. It helps developers to manage dependencies required by ABP modules easily. In order ```bundle``` command to work, its **executing directory** or passed ```--working-directory``` parameter's directory must contain a Blazor project file(*.csproj).
This command generates script and style references for an ABP Blazor WebAssembly project and updates the **index.html** file. It helps developers to manage dependencies required by ABP modules easily. In order ```bundle``` command to work, its **executing directory** or passed ```--working-directory``` parameter's directory must contain a Blazor project file(*.csproj).
Usage:

4
docs/en/Index.md

@ -10,10 +10,14 @@ ABP Framework is a complete **infrastructure** based on the **ASP.NET Core** to
### UI Framework Options
ABP Framework can work with any UI framework, while the following frameworks are supported out of the box:
<img width="500" src="images/ui-options.png">
### Database Provider Options
ABP Framework can work with any database provider, while the following providers are supported out of the box:
<img width="500" src="images/db-options.png">
## Exploring the Documentation

4
docs/en/Modules/Docs.md

@ -320,7 +320,7 @@ Open `DocsProjects` in your database, and insert a new record with the following
* **ShortName**: A short and URL friendly name that will be used in your docs URL.
* **Format**: The format of the document (for Markdown: `md`, for HTML: `html`)
* **DefaultDocumentName**: The document for the initial page.
* **NavigationDocumentName**: The document to be used for the navigation menu (index).
* **NavigationDocumentName**: The document to be used for the navigation menu (Index).
* **MinimumVersion**: The minimum version to show the docs. Below version will not be listed.
* **DocumentStoreType**: The source of the documents (for GitHub:`GitHub`, for file system`FileSystem`)
* **ExtraProperties**: A serialized `JSON` that stores special configuration for the selected `DocumentStoreType`.
@ -625,4 +625,4 @@ If your `IElasticClient` needs additional configuration, please use override `IE
## Next
Docs Module is also available as a standalone application. Check out [VoloDocs](../Apps/VoloDocs).
Docs Module is also available as a standalone application. Check out [VoloDocs](../Apps/VoloDocs).

4
docs/en/Multi-Tenancy.md

@ -315,6 +315,8 @@ Configure<AbpTenantResolveOptions>(options =>
* Add this code to the `ConfigureServices` method of your [module](Module-Development-Basics.md).
* This should be done in the *Web/API Layer* since the URL is a web related stuff.
> There is an [example](https://github.com/abpframework/abp-samples/tree/master/DomainTenantResolver) that uses the subdomain to determining the current tenant.
##### Custom Tenant Resolvers
You can add implement your custom tenant resolver and configure the `AbpTenantResolveOptions` in your module's `ConfigureServices` method as like below:
@ -407,4 +409,4 @@ The [Tenant Management module](Modules/Tenant-Management.md) provides a basic UI
## See Also
* [Features](Features.md)
* [Features](Features.md)

4
docs/en/Repositories.md

@ -70,8 +70,8 @@ Generic Repositories provides some standard CRUD features out of the box:
There are overloads of these methods.
* Provides `Update` and `Delete` methods to update or delete an entity by entity object or it's id.
* Provides `Delete` method to delete multiple entities by a filter.
* Provides `UpdateAsync` and `DeleteAsync` methods to update or delete an entity by entity object or it's id.
* Provides `DeleteAsync` method to delete multiple entities by a filter.
### Querying / LINQ over the Repositories

1
docs/en/Tutorials/Part-3.md

@ -1408,6 +1408,7 @@ Here the complete code to create the book management CRUD page, that has been de
@using Acme.BookStore.Books
@using Acme.BookStore.Localization
@using Microsoft.Extensions.Localization
@using Volo.Abp.AspNetCore.Components.Web
@inject IStringLocalizer<BookStoreResource> L
@inject AbpBlazorMessageLocalizerHelper<BookStoreResource> LH
@inherits AbpCrudPageBase<IBookAppService, BookDto, Guid, PagedAndSortedResultRequestDto, CreateUpdateBookDto>

1
docs/en/Tutorials/Part-9.md

@ -844,6 +844,7 @@ Create a new Razor Component Page, `/Pages/Authors.razor`, in the `Acme.BookStor
@page "/authors"
@using Acme.BookStore.Authors
@using Acme.BookStore.Localization
@using Volo.Abp.AspNetCore.Components.Web
@inherits BookStoreComponentBase
@inject IAuthorAppService AuthorAppService
@inject AbpBlazorMessageLocalizerHelper<BookStoreResource> LH

2
docs/en/Tutorials/Todo/Index.md

@ -428,7 +428,7 @@ Open the `Index.cshtml` file in the `Pages` folder of the *TodoApp.Web* project
</div>
````
We are using ABP's [card tag helper](../../UI/AspNetCore/Tag-Helpers/Cards.md) to create a simple card view. You could directly use the standard bootstrap HTML structure, however the ABP [tag helpers]() make it much easier and type safe.
We are using ABP's [card tag helper](../../UI/AspNetCore/Tag-Helpers/Cards.md) to create a simple card view. You could directly use the standard bootstrap HTML structure, however the ABP [tag helpers](../../UI/AspNetCore/Tag-Helpers/Index.md) make it much easier and type safe.
This page imports a CSS and a JavaScript file, so we should also create them.

822
docs/zh-Hans/Tutorials/todo/Index.md

@ -0,0 +1,822 @@
# 快速入门
````json
//[doc-params]
{
"UI": ["MVC", "Blazor", "BlazorServer", "NG"],
"DB": ["EF", "Mongo"]
}
````
这是一个单独的部分,使用ABP框架构建简单待办事项应用程序的快速入门教程.这是一个最终应用的截图:
![todo-list](todo-list.png)
你可以在[这里](https://github.com/abpframework/abp-samples/tree/master/TodoApp)找到已完成的项目源代码.
## 先决条件
* 一个集成开发环境 (比如: [Visual Studio](https://visualstudio.microsoft.com/vs/)) 它需要支持 [.NET 5.0+](https://dotnet.microsoft.com/download/dotnet) 的开发.
{{if DB=="Mongo"}}
* [MongoDB Server 4.0+](https://docs.mongodb.com/manual/administration/install-community/)
{{end}}
{{if UI=="NG"}}
* [Node v14.x](https://nodejs.org/)
{{end}}
## 创建新的解决方案
我们将使用[ABP CLI](../../CLI.md) 创建带有ABP框架的新解决方案. 你可以在命令行终端中运行以下命令来安装它:
````bash
dotnet tool install -g Volo.Abp.Cli
````
然后创建一个空文件夹,打开命令行终端并以打开的文件夹为路径在终端中执行以下命令:
````bash
abp new TodoApp{{if UI=="Blazor"}} -u blazor{{else if UI=="BlazorServer"}} -u blazor-server{{else if UI=="NG"}} -u angular{{end}}{{if DB=="Mongo"}} -d mongodb{{end}}
````
{{if UI=="NG"}}
这将创建一个名为*TodoApp*的新解决方案,其中包含`angular`和`aspnet core`文件夹.解决方案就绪后,在你的IDE中打开ASP.NET Core 解决方案.
{{else}}
这将创建一个名为*TodoApp*的新解决方案.解决方案准备好后,在你的IDE中打开它.
{{end}}
### 创建数据库
如果你使用的是visual studio,请右键单击`TodoApp.DbMigrator`项目,选择*设置为启动项目*,然后按*Ctrl+F5*运行它而不进行调试.它将创建初始数据库并播种初始数据.
{{if DB=="EF"}}
> 由于*DbMigrator*添加初始迁移并重新编译项目,一些ide(例如Rider)在第一次运行时可能会出现问题.在这种情况下,请打开`.DbMigrator`项目文件夹中的命令行终端,然后执行`dotnet run`命令.
{{end}}
### 运行应用程序
{{if UI=="MVC" || UI=="BlazorServer"}}
最好在开始开发之前运行一下应用程序.确保 {{if UI=="BlazorServer"}}`TodoApp.Blazor`{{else}}`TodoApp.Web`{{end}} 是启动项目,然后运行应用程序(Visual Studio中是Ctrl+F5)以查看查看初始UI:
{{else if UI=="Blazor"}}
最好在开始开发之前运行一下应用程序.该解决方案有两个主要应用:
* `TodoApp.HttpApi.Host` 托管服务器端的 HTTP API.
* `TodoApp.Blazor` 客户端托管的 Blazor WebAssembly 应用.
确保 `TodoApp.HttpApi.Host` 是启动项目,然后运行应用程序(Visual Studio中的Ctrl+F5)以查看[Swagger UI](https://swagger.io/tools/swagger-ui/)上server-side 的 HTTP API:
![todo-swagger-ui-initial](todo-swagger-ui-initial.png)
你可以使用此UI查看和测试你的HTTP API.现在,我们可以将 `TodoApp.Blazor` 设置为启动项目,并运行它来打开实际的Blazor应用程序UI:
{{else if UI=="NG"}}
最好在开始开发之前运行应用程序.该解决方案有两个主要应用:
* `TodoApp.HttpApi.Host` (在.NET解决方案中)承载服务器端HTTP API.
* `angular` 文件夹包含 Angular 应用程序.
确保`TodoApp.HttpApi.Host`project是启动项目,然后运行应用程序(visual studio中是Ctrl+F5)以查看[Swagger UI](https://swagger.io/tools/swagger-ui/)上server-side HTTP API:
![todo-swagger-ui-initial](todo-swagger-ui-initial.png)
你可以使用这个UI查看和测试你的HTTP API.如果可以的话,我们可以运行Angular客户端应用程序.
首先,运行以下命令来还原NPM包:
````bash
npm install
````
安装所有软件包需要一些时间.然后可以使用以下命令运行应用程序:
````bash
npm start
````
此命令需要一点时间,但最终会在默认浏览器中运行并打开应用程序:
{{end}}
![todo-ui-initial](todo-ui-initial.png)
你可以单击 *登录* 按钮,以`admin`作为用户名,`1q2w3E*` 作为密码登录到应用程序.
一切就绪.我们可以开始编码了!
## 领域层
此应用程序只有一个 [实体](../../Entities.md) 我们开始创建它. 在*TodoApp.Domain*项目中创建一个新的 `TodoItem` 类:
````csharp
using System;
using Volo.Abp.Domain.Entities;
namespace TodoApp
{
public class TodoItem : BasicAggregateRoot<Guid>
{
public string Text { get; set; }
}
}
````
`BasicAggregateRoot` 是创建根实体的最简单的基类之一,`Guid` 是这里实体的主键 (`Id`).
## Database Integration 数据库集成
{{if DB=="EF"}}
下一步是配置 [Entity Framework Core](../../Entity-Framework-Core.md).
### Mapping Configuration 映射配置
*TodoApp.EntityFrameworkCore* 项目的 `EntityFrameworkCore` 文件夹中打开 `TodoAppDbContext` 类,并向该类添加一个新的 `DbSet` 属性:
````csharp
public DbSet<TodoItem> TodoItems { get; set; }
````
然后在同一文件夹中打开 `TodoAppDbContextModelCreatingExtensions` 类,并为 `TodoItem` 类添加映射配置,如下所示:
````csharp
public static void ConfigureTodoApp(this ModelBuilder builder)
{
Check.NotNull(builder, nameof(builder));
builder.Entity<TodoItem>(b =>
{
b.ToTable("TodoItems");
});
}
````
我们已经将 `TodoItem` 实体映射到数据库中的 `TodoItems` 表.
### 代码优先迁移
解决方案启动模版已经配置为使用Entity Framework Core [Code First 迁移](https://docs.microsoft.com/en-us/ef/core/managing-schemas/migrations).由于我们已经更改了数据库映射配置,因此我们应该创建一个新的迁移并将更改应用于数据库.
*TodoApp.EntityFrameworkCore.DbMigrations* 项目的目录中打开一个命令行终端,然后键入以下命令:
````bash
dotnet ef migrations add Added_TodoItem
````
这将向项目添加一个新的迁移类:
![todo-efcore-migration](todo-efcore-migration.png)
你可以在同一命令行终端中使用以下命令将更改应用于数据库:
````bash
dotnet ef database update
````
> 如果你使用的是Visual Studio,*则可能希望在包管理器控制台 (PMC)* 中使用 `Add-Migration Added_TodoItem``Update-Database` 命令.在这种情况下,请确保 {{if UI=="MVC"}}`TodoApp.Web`{{else if UI=="BlazorServer"}}`TodoApp.Blazor`{{else if UI=="Blazor" || UI=="NG"}}`TodoApp.HttpApi.Host`{{end}} 是启动项目,并且 `TodoApp.EntityFrameworkCore.DbMigrations` 是PMC中的 *默认项目*.
{{else if DB=="Mongo"}}
下一步是设置 [MongoDB](../MongoDB.md) 配置.在 *TodoApp.MongoDB* 项目的 `MongoDb` 文件夹中打开 `TodoAppMongoDbContext` 类,并进行以下更改;
1. 向类添加新属性:
````csharp
public IMongoCollection<TodoItem> TodoItems => Collection<TodoItem>();
````
2. 在 `CreateModel` 方法中添加以下代码:
````csharp
modelBuilder.Entity<TodoItem>(b =>
{
b.CollectionName = "TodoItems";
});
````
{{end}}
现在,我们可以使用ABP仓储来保存和检索待办事项列表项了,就像我们将在下一节中做的那样.
## 应用层
[应用服务](../../Application-Services.md) 用于执行应用程序的用例.我们需要执行以下用例;
* 获取待办事项列表
* 创建新的待办事项
* 删除现有的待办事项
### 应用服务接口
我们可以从为应用程序服务定义一个接口开始.在 *TodoApp.Application.Contracts* 项目中创建一个新的 `ITodoAppService` 接口,如下所示:
````csharp
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Volo.Abp.Application.Services;
namespace TodoApp
{
public interface ITodoAppService : IApplicationService
{
Task<List<TodoItemDto>> GetListAsync();
Task<TodoItemDto> CreateAsync(string text);
Task DeleteAsync(Guid id);
}
}
````
### 数据传输对象
`GetListAsync``CreateAsync` 方法返回 `TodoItemDto`. 通常应用服务获取或返回的是 DTO ([数据传输对象](../../Data-Transfer-Objects.md)) 而不是直接获取或返回实体对象. 所以,我们应该在此定义 DTO(数据传输对象) 类. 在 *TodoApp.Application.Contracts* 项目中创建一个名为 `TodoItemDto` 的类:
````csharp
using System;
namespace TodoApp
{
public class TodoItemDto
{
public Guid Id { get; set; }
public string Text { get; set; }
}
}
````
这是一个非常简单的DTO类,与我们的 `TodoItem` 实体相对应.我们接下来实现 `ITodoAppService` 接口.
### 应用服务实现
*TodoApp.Application* 项目内部创建一个 `TodoAppService` 类,如下所示:
````csharp
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Volo.Abp.Application.Services;
using Volo.Abp.Domain.Repositories;
namespace TodoApp
{
public class TodoAppService : ApplicationService, ITodoAppService
{
private readonly IRepository<TodoItem, Guid> _todoItemRepository;
public TodoAppService(IRepository<TodoItem, Guid> todoItemRepository)
{
_todoItemRepository = todoItemRepository;
}
// TODO: Implement the methods here...
}
}
````
该类继承自ABP框架的 `ApplicationService` 类,并实现了之前定义的 `ITodoAppService`接口.ABP为实体提供默认的通用的 [仓储](../repositories.md).我们可以使用它们来执行基本的数据库操作. 这个类 [注入](../Dependency-Injection.md) `IRepository<TodoItem, Guid>` 它是 `TodoItem` 实体的默认存储库.我们将使用它来实现之前描述的用例.
#### 获取所有待办事项列表
让我们开始实现 `GetListAsync` 方法:
````csharp
public async Task<List<TodoItemDto>> GetListAsync()
{
var items = await _todoItemRepository.GetListAsync();
return items
.Select(item => new TodoItemDto
{
Id = item.Id,
Text = item.Text
}).ToList();
}
````
我们只是简单的从数据库中获取完整的 `TodoItem` 列表,将它们映射到 `TodoItemDto` 对象并作为结果返回.
#### 创建一个新的待办事项
下一个方法是 `CreateAsync`,我们可以像如下所示来实现:
````csharp
public async Task<TodoItemDto> CreateAsync(string text)
{
var todoItem = await _todoItemRepository.InsertAsync(
new TodoItem {Text = text}
);
return new TodoItemDto
{
Id = todoItem.Id,
Text = todoItem.Text
};
}
````
仓储的 `InsertAsync` 方法将给定的 `TodoItem` 插入数据库,并返回相同的 `TodoItem` 对象.它还设置了 `Id`,因此我们可以在返回对象上使用它.我们只是通过从新的 `TodoItem` 实体创建和返回 `TodoItemDto`.
#### 删除待办事项
最后,我们可以将 `DeleteAsync` 实现为以下代码块:
````csharp
public async Task DeleteAsync(Guid id)
{
await _todoItemRepository.DeleteAsync(id);
}
````
至此,应用程序服务已准备好了让UI层来使用.
## 用户界面层
是时候在UI上显示待办事项了!在开始编写代码之前,最好记住我们正在尝试构建的内容.这是最终UI的示例屏幕截图:
![todo-list](todo-list.png)
> **我们将在本教程中保持最简洁轻量的UI端,以使本教程简单且重点突出.请参阅[web应用程序开发教程](../Part-1.md) 以构建包含各个方面的真实页面.**
{{if UI=="MVC"}}
### Index.cshtml.cs
*TodoApp.Web* 项目的 `Pages` 文件夹中打开 `Index.cshtml.cs` 文件,并用以下代码块替换它的默认内容:
````csharp
using System.Collections.Generic;
using System.Threading.Tasks;
namespace TodoApp.Web.Pages
{
public class IndexModel : TodoAppPageModel
{
public List<TodoItemDto> TodoItems { get; set; }
private readonly ITodoAppService _todoAppService;
public IndexModel(ITodoAppService todoAppService)
{
_todoAppService = todoAppService;
}
public async Task OnGetAsync()
{
TodoItems = await _todoAppService.GetListAsync();
}
}
}
````
此类使用 `ITodoAppService` 获取待办事项目列表并将它赋值给 `TodoItems` 属性.我们将用它来渲染razor页面上的待办事项目列表.
### Index.cshtml
*TodoApp.Web* 项目的 `Pages` 文件夹中打开 `Index.cshtml` 文件,并替换为以下内容:
````xml
@page
@model TodoApp.Web.Pages.IndexModel
@section styles {
<abp-style src="/Pages/Index.css" />
}
@section scripts {
<abp-script src="/Pages/Index.js" />
}
<div class="container">
<abp-card>
<abp-card-header>
<abp-card-title>
TODO LIST
</abp-card-title>
</abp-card-header>
<abp-card-body>
<!-- FORM FOR NEW TODO ITEMS -->
<form id="NewItemForm" class="form-inline">
<input id="NewItemText"
type="text"
class="form-control mr-2"
placeholder="enter text...">
<button type="submit" class="btn btn-primary">Submit</button>
</form>
<!-- TODO ITEMS LIST -->
<ul id="TodoList">
@foreach (var todoItem in Model.TodoItems)
{
<li data-id="@todoItem.Id">
<i class="fa fa-trash-o"></i> @todoItem.Text
</li>
}
</ul>
</abp-card-body>
</abp-card>
</div>
````
我们使用ABP的 [卡片标签助手](../../UI/AspNetCore/Tag-Helpers/Cards.md) 创建一个简单的卡片视图.你可以直接使用标准的bootstrap HTML, 不过ABP的[标签助手](../../UI/AspNetCore/Tag-Helpers/Index.md) 使它更简单并且类型安全.
这个页面要导入一个CSS和一个JavaScript文件,所以我们也应该创建它们.
### Index.js
*TodoApp.Web* 项目的 `Pages` 文件夹中打开 `Index.js` 文件,并替换为以下内容:
````js
$(function () {
// DELETING ITEMS /////////////////////////////////////////
$('#TodoList').on('click', 'li i', function(){
var $li = $(this).parent();
var id = $li.attr('data-id');
todoApp.todo.delete(id).then(function(){
$li.remove();
abp.notify.info('Deleted the todo item.');
});
});
// CREATING NEW ITEMS /////////////////////////////////////
$('#NewItemForm').submit(function(e){
e.preventDefault();
var todoText = $('#NewItemText').val();
todoApp.todo.create(todoText).then(function(result){
$('<li data-id="' + result.id + '">')
.html('<i class="fa fa-trash-o"></i> ' + result.text)
.appendTo($('#TodoList'));
$('#NewItemText').val('');
});
});
});
````
在第一部分中,我们在待办事项目附近注册点击删除图标所要触发的事件,删除服务器上的相关待办事项并在UI上显示通知.另外,我们从DOM中删除已删除的项,因此我们不需要刷新页面.
在第二部分中,我们在服务器上创建一个新的待办事项.如果成功,我们将操纵DOM以将新的 `<li>` 元素插入todo列表.这样,创建新的待办事项后就不用刷新整个页面了.
这里有趣的部分是我们如何与服务器通信.请参阅 *动态JavaScript代理和自动API控制器* 部分,以了解其工作原理.但是现在让我们继续并完成这个应用程序.
### Index.css
来到最后要做的工作,请打开 *TodoApp.Web* 项目的 `Pages` 文件夹中的 `Index.css` 文件,并替换为以下内容:
````css
#TodoList{
list-style: none;
margin: 0;
padding: 0;
}
#TodoList li {
padding: 5px;
margin: 5px 0px;
border: 1px solid #cccccc;
background-color: #f5f5f5;
}
#TodoList li i
{
opacity: 0.5;
}
#TodoList li i:hover
{
opacity: 1;
color: #ff0000;
cursor: pointer;
}
````
这是待办事项页面的简单样式.我们相信你可以做得更好 :)
现在,你可以再次运行应用程序以查看结果.
### Dynamic JavaScript Proxies & Auto API Controllers 动态JavaScript代理和自动应用编程接口控制器
`Index.js` 文件中,我们使用了 `todoApp.todo.delete(...)``todoApp.todo.create(...)` 函数与服务器通信.这些函数是由ABP框架动态创建的,这要归功于 [动态JavaScript客户端代理](../UI/AspNetCore/Dynamic-JavaScript-Proxies.md) 系统.他们对服务器执行HTTP API调用并返回承诺,因此你可以像上面所做的那样注册对 `then` 函数的回调.
但是,你可能会问我们还没有创建任何API控制器,那么服务器如何处理这些请求呢? 这个问题为我们引出了ABP框架的 [自动API控制器](../API/Auto-API-Controllers.md) 功能.它通过约定自动将应用程序服务转换为API Controllers(API控制器).
如果通过在应用程序中输入 `/swagger` URL来打开 [swagger UI](https://swagger.io/tools/ Swagger-ui/),则可以看到Todo API:
![todo-api](todo-api.png)
{{else if UI=="Blazor" || UI=="BlazorServer"}}
### Index.razor.cs
*TodoApp.Blazor* 项目的 `Pages` 文件夹中打开 `Index.razor.cs` 文件,并用以下代码块替换内容:
````csharp
using Microsoft.AspNetCore.Components;
using System.Collections.Generic;
using System.Threading.Tasks;
namespace TodoApp.Blazor.Pages
{
public partial class Index
{
[Inject]
private ITodoAppService TodoAppService { get; set; }
private List<TodoItemDto> TodoItems { get; set; } = new List<TodoItemDto>();
private string NewTodoText { get; set; }
protected async override Task OnInitializedAsync()
{
TodoItems = await TodoAppService.GetListAsync();
}
private async Task Create()
{
var result = await TodoAppService.CreateAsync(NewTodoText);
TodoItems.Add(result);
NewTodoText = null;
}
private async Task Delete(TodoItemDto todoItem)
{
await TodoAppService.DeleteAsync(todoItem.Id);
await Notify.Info("Deleted the todo item.");
TodoItems.Remove(todoItem);
}
}
}
````
这个类使用 `ITodoAppService` 对待办事项执行操作.它在创建和删除操作后操纵 `TodoItems` 列表.这样,我们不需要从服务器刷新整个todo列表.
{{if UI=="Blazor"}}
请参阅下面的 *动态C # 代理和自动API控制器* 部分,了解如何从浏览器上运行的Blazor应用程序注入和使用应用程序服务接口!但是现在,让我们继续并完成这个应用.
{{end # Blazor}}
### Index.razor
*TodoApp.Blazor* 项目的 `Pages` 文件夹中打开 `Index.razor` 文件,并用以下代码块替换内容:
````xml
@page "/"
@inherits TodoAppComponentBase
<div class="container">
<Card>
<CardHeader>
<CardTitle>
TODO LIST
</CardTitle>
</CardHeader>
<CardBody>
<!-- FORM FOR NEW TODO ITEMS -->
<form id="NewItemForm"
@onsubmit:preventDefault
@onsubmit="() => Create()"
class="form-inline">
<input type="text"
@bind-value="@NewTodoText"
class="form-control mr-2"
placeholder="enter text...">
<button type="submit" class="btn btn-primary">Submit</button>
</form>
<!-- TODO ITEMS LIST -->
<ul id="TodoList">
@foreach (var todoItem in TodoItems)
{
<li data-id="@todoItem.Id">
<i class="far fa-trash-alt"
@onclick="() => Delete(todoItem)"
></i> @todoItem.Text
</li>
}
</ul>
</CardBody>
</Card>
</div>
````
### Index.razor.css
最后,请在 *TodoApp.Web* 项目的 `Pages` 文件夹中打开 `Index.razor.css` 文件,并替换为以下内容:
````css
#TodoList{
list-style: none;
margin: 0;
padding: 0;
}
#TodoList li {
padding: 5px;
margin: 5px 0px;
border: 1px solid #cccccc;
background-color: #f5f5f5;
}
#TodoList li i
{
opacity: 0.5;
}
#TodoList li i:hover
{
opacity: 1;
color: #ff0000;
cursor: pointer;
}
````
这是待办事项页面的简单样式.我们相信你可以做得更好 :)
现在,你可以再次运行应用程序以查看结果.
{{if UI=="Blazor"}}
### Dynamic C# Proxies & Auto API Controllers 动态C#代理和自动应用编程接口控制器
`Index.razor.cs` 文件中,我们已经注入(使用 `[Inject]` 特性)并像使用本地服务一样使用 `ITodoAppService`.请记住,当此应用程序服务的实例在服务器上运行的同时,Blazor应用程序正在浏览器上运行.
这个神奇的过程是由ABP框架的 [动态C#客户端代理](../API/Dynamic-CSharp-API-Clients.md) 系统完成的.它使用标准的 `HttpClient` 并向远程服务器执行HTTP API请求.它还为我们处理所有标准任务,包括授权,JSON序列化和异常处理.
但是,你可能会问我们还没有创建任何API控制器,那么服务器如何处理这些请求呢? 这个问题为我们引出了ABP框架的 [自动API控制器](../API/Auto-API-Controllers.md) 功能.它通过约定自动将应用程序服务转换为API控制器.
如果你运行 `TodoApp.HttpApi.Host` 应用程序,你可以看到Todo API:
![todo-api](todo-api.png)
{{end # Blazor}}
{{else if UI=="NG"}}
### 服务代理生成
ABP提供了一个方便的功能,可以自动创建客户端服务,轻松使用服务器提供的HTTP APIs.
你首先需要运行 `TodoApp.HttpApi.Host` 项目,因为代理生成器从服务器应用程序读取API定义.
> **请注意**: IIS Express有问题; 它不允许从另一个进程连接到应用程序.如果你使用的是Visual Studio,请在 “运行” 按钮下拉列表中选择 `TodoApp.HttpApi.Host` 而不是IIS Express,如下图所示:
![run-without-iisexpress](run-without-iisexpress.png)
运行 `TodoApp.HttpApi.Host` 项目后,在 `angular` 文件夹中打开命令行终端,然后键入以下命令:
````bash
abp generate-proxy
````
如果一切顺利,应该生成如下所示的输出:
````bash
CREATE src/app/proxy/generate-proxy.json (170978 bytes)
CREATE src/app/proxy/README.md (1000 bytes)
CREATE src/app/proxy/todo.service.ts (794 bytes)
CREATE src/app/proxy/models.ts (66 bytes)
CREATE src/app/proxy/index.ts (58 bytes)
````
然后,我们可以使用 `todoService` 来使用服务器端HTTP APIs,就像我们将在下一节中做的那样.
### home.component.ts
打开 `/angular/src/app/home/home.component.ts` 文件,并用以下代码块替换其内容:
````js
import { ToasterService } from '@abp/ng.theme.shared';
import { Component, OnInit } from '@angular/core';
import { TodoItemDto, TodoService } from '@proxy';
@Component({
selector: 'app-home',
templateUrl: './home.component.html',
styleUrls: ['./home.component.scss']
})
export class HomeComponent implements OnInit {
todoItems: TodoItemDto[];
newTodoText: string;
constructor(
private todoService: TodoService,
private toasterService: ToasterService)
{ }
ngOnInit(): void {
this.todoService.getList().subscribe(response => {
this.todoItems = response;
});
}
create(): void{
this.todoService.create(this.newTodoText).subscribe((result) => {
this.todoItems = this.todoItems.concat(result);
this.newTodoText = null;
});
}
delete(id: string): void {
this.todoService.delete(id).subscribe(() => {
this.todoItems = this.todoItems.filter(item => item.id !== id);
this.toasterService.info('Deleted the todo item.');
});
}
}
````
我们已经实现了使用 `todoService` 来获取待办事项目列表,并将返回值赋值给 `todoItems` 数组.我们还添加了 `create``delete` 方法.这些方法将在视图端使用.
### home.component.html
打开 `/angular/src/app/home/home.component.html` 文件,并用以下代码块替换其内容:
````html
<div class="container">
<div class="card">
<div class="card-header">
<div class="card-title">TODO LIST</div>
</div>
<div class="card-body">
<!-- FORM FOR NEW TODO ITEMS -->
<form class="form-inline" (ngSubmit)="create()">
<input
name="NewTodoText"
type="text"
[(ngModel)]="newTodoText"
class="form-control mr-2"
placeholder="enter text..."
/>
<button type="submit" class="btn btn-primary">Submit</button>
</form>
<!-- TODO ITEMS LIST -->
<ul id="TodoList">
<li *ngFor="let todoItem of todoItems">
<i class="fa fa-trash-o" (click)="delete(todoItem.id)"></i> {%{{{ todoItem.text }}}%}
</li>
</ul>
</div>
</div>
</div>
````
### home.component.scss
最后的最后,打开 `/angular/src/app/home/home.component.scss` 文件,并用以下代码块替换其内容:
````css
#TodoList{
list-style: none;
margin: 0;
padding: 0;
}
#TodoList li {
padding: 5px;
margin: 5px 0px;
border: 1px solid #cccccc;
background-color: #f5f5f5;
}
#TodoList li i
{
opacity: 0.5;
}
#TodoList li i:hover
{
opacity: 1;
color: #ff0000;
cursor: pointer;
}
````
这是待办事项页面的简单样式.我们相信你可以做得更好 :)
现在,你可以再次运行应用程序以查看结果.
{{end}}
## 总结
在本教程中,我们构建了一个非常简单的应用程序来抢先探究ABP框架的新特性.如果你想构建一个实际场景的应用程序,请查看 [应用程序开发教程](../Part-1.md),其中涵盖了实际web应用程序开发的所有方面.
## 源代码
你可以在[这里](https://github.com/abpframework/abp-samples/tree/master/TodoApp)获取到完整的应用程序源代码.
## 另请参见
* [Web应用程序开发教程](../Part-1.md)

BIN
docs/zh-Hans/Tutorials/todo/run-without-iisexpress.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

BIN
docs/zh-Hans/Tutorials/todo/todo-api.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

BIN
docs/zh-Hans/Tutorials/todo/todo-efcore-migration.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.3 KiB

BIN
docs/zh-Hans/Tutorials/todo/todo-list.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

BIN
docs/zh-Hans/Tutorials/todo/todo-swagger-ui-initial.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

BIN
docs/zh-Hans/Tutorials/todo/todo-ui-initial.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

11
framework/src/Volo.Abp.AspNetCore.Components.Web/Volo/Abp/AspNetCore/Components/Web/Security/AbpComponentsClaimsCache.cs

@ -1,6 +1,7 @@
using System.Security.Claims;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Components.Authorization;
using Microsoft.Extensions.DependencyInjection;
using Volo.Abp.DependencyInjection;
namespace Volo.Abp.AspNetCore.Components.Web.Security
@ -9,15 +10,19 @@ namespace Volo.Abp.AspNetCore.Components.Web.Security
typeof(AbpComponentsClaimsCache),
typeof(IAsyncInitialize)
)]
public class AbpComponentsClaimsCache : ISingletonDependency, IAsyncInitialize
public class AbpComponentsClaimsCache : IScopedDependency, IAsyncInitialize
{
public ClaimsPrincipal Principal { get; private set; }
private readonly AuthenticationStateProvider _authenticationStateProvider;
public AbpComponentsClaimsCache(AuthenticationStateProvider authenticationStateProvider)
public AbpComponentsClaimsCache(IClientScopeServiceProviderAccessor clientScopeServiceProviderAccessor)
{
_authenticationStateProvider = authenticationStateProvider;
_authenticationStateProvider = clientScopeServiceProviderAccessor.ServiceProvider.GetRequiredService<AuthenticationStateProvider>();
_authenticationStateProvider.AuthenticationStateChanged += async (task) =>
{
Principal = (await task).User;
};
}
public virtual async Task InitializeAsync()

10
framework/src/Volo.Abp.AspNetCore.Components.WebAssembly.BasicTheme/Themes/Basic/LoginDisplay.razor.cs

@ -1,6 +1,7 @@
using System;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Components;
using Microsoft.AspNetCore.Components.Authorization;
using Microsoft.AspNetCore.Components.Routing;
using Volo.Abp.UI.Navigation;
@ -10,6 +11,9 @@ namespace Volo.Abp.AspNetCore.Components.WebAssembly.BasicTheme.Themes.Basic
{
[Inject]
protected IMenuManager MenuManager { get; set; }
[Inject]
protected AuthenticationStateProvider AuthenticationStateProvider { get; set; }
protected ApplicationMenu Menu { get; set; }
@ -18,6 +22,12 @@ namespace Volo.Abp.AspNetCore.Components.WebAssembly.BasicTheme.Themes.Basic
Menu = await MenuManager.GetAsync(StandardMenus.User);
Navigation.LocationChanged += OnLocationChanged;
AuthenticationStateProvider.AuthenticationStateChanged += async (task) =>
{
Menu = await MenuManager.GetAsync(StandardMenus.User);
await InvokeAsync(StateHasChanged);
};
}
protected virtual void OnLocationChanged(object sender, LocationChangedEventArgs e)

21
framework/src/Volo.Abp.AspNetCore.Components.WebAssembly/Microsoft/AspNetCore/Components/WebAssembly/Hosting/AbpWebAssemblyHostBuilderExtensions.cs

@ -48,17 +48,12 @@ namespace Microsoft.AspNetCore.Components.WebAssembly.Hosting
Check.NotNull(application, nameof(application));
Check.NotNull(serviceProvider, nameof(serviceProvider));
var serviceProviderAccessor = (ComponentsClientScopeServiceProviderAccessor)
serviceProvider.GetRequiredService<IClientScopeServiceProviderAccessor>();
serviceProviderAccessor.ServiceProvider = serviceProvider;
((ComponentsClientScopeServiceProviderAccessor) serviceProvider
.GetRequiredService<IClientScopeServiceProviderAccessor>()).ServiceProvider = serviceProvider;
application.Initialize(serviceProvider);
using (var scope = serviceProvider.CreateScope())
{
await InitializeModulesAsync(scope.ServiceProvider);
await SetCurrentLanguageAsync(scope);
}
await InitializeModulesAsync(serviceProvider);
await SetCurrentLanguageAsync(serviceProvider);
}
private static async Task InitializeModulesAsync(IServiceProvider serviceProvider)
@ -69,11 +64,11 @@ namespace Microsoft.AspNetCore.Components.WebAssembly.Hosting
}
}
private static async Task SetCurrentLanguageAsync(IServiceScope scope)
private static async Task SetCurrentLanguageAsync(IServiceProvider serviceProvider)
{
var configurationClient = scope.ServiceProvider.GetRequiredService<ICachedApplicationConfigurationClient>();
var utilsService = scope.ServiceProvider.GetRequiredService<IAbpUtilsService>();
var configuration = configurationClient.Get();
var configurationClient = serviceProvider.GetRequiredService<ICachedApplicationConfigurationClient>();
var utilsService = serviceProvider.GetRequiredService<IAbpUtilsService>();
var configuration = await configurationClient.GetAsync();
var cultureName = configuration.Localization?.CurrentCulture?.CultureName;
if (!cultureName.IsNullOrEmpty())
{

5
framework/src/Volo.Abp.AspNetCore.Components.WebAssembly/Volo/Abp/AspNetCore/Components/WebAssembly/WebAssemblyCurrentPrincipalAccessor.cs

@ -1,4 +1,5 @@
using System.Security.Claims;
using Microsoft.Extensions.DependencyInjection;
using Volo.Abp.AspNetCore.Components.Web.Security;
using Volo.Abp.DependencyInjection;
using Volo.Abp.Security.Claims;
@ -10,9 +11,9 @@ namespace Volo.Abp.AspNetCore.Components.WebAssembly
protected AbpComponentsClaimsCache ClaimsCache { get; }
public WebAssemblyCurrentPrincipalAccessor(
AbpComponentsClaimsCache claimsCache)
IClientScopeServiceProviderAccessor clientScopeServiceProviderAccessor)
{
ClaimsCache = claimsCache;
ClaimsCache = clientScopeServiceProviderAccessor.ServiceProvider.GetRequiredService<AbpComponentsClaimsCache>();
}
protected override ClaimsPrincipal GetClaimsPrincipal()

6
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Collapse/AbpAccordionItemTagHelperService.cs

@ -13,9 +13,9 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Collapse
{
SetRandomIdIfNotProvided();
var innerContent = (await output.GetChildContentAsync()).GetContent();
var childContent = await output.GetChildContentAsync();
var html = GetAccordionHeaderItem(context, output) + GetAccordionContentItem(context, output, innerContent);
var html = GetAccordionHeaderItem(context, output) + GetAccordionContentItem(context, output, childContent);
var tabHeaderItems = context.GetValue<List<string>>(AccordionItems);
tabHeaderItems.Add(html);
@ -46,7 +46,7 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Collapse
return header.ToHtmlString();
}
protected virtual string GetAccordionContentItem(TagHelperContext context, TagHelperOutput output, string content)
protected virtual string GetAccordionContentItem(TagHelperContext context, TagHelperOutput output, TagHelperContent content)
{
var show = (TagHelper.Active ?? false) ? " show" : "";

4
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Collapse/AbpCollapseBodyTagHelperService.cs

@ -22,9 +22,9 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Collapse
output.Attributes.AddClass("multi-collapse");
}
var innerContent = (await output.GetChildContentAsync()).GetContent();
var childContent = await output.GetChildContentAsync();
output.Content.SetHtmlContent(innerContent);
output.Content.SetHtmlContent(childContent);
}
}
}

2
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Dropdown/AbpDropdownButtonTagHelperService.cs

@ -70,7 +70,7 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Dropdown
var buttonTag = await abpButtonTagHelper.ProcessAndGetOutputAsync(attributes, context, "button", TagMode.StartTagAndEndTag);
buttonTag.PreContent.SetHtmlContent(content.GetContent());
buttonTag.PreContent.SetHtmlContent(content);
if ((TagHelper.NavLink ?? false) || (TagHelper.Link ?? false))
{

19
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpDynamicformTagHelperService.cs

@ -42,7 +42,7 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form
NormalizeTagMode(context, output);
var childContent = (await output.GetChildContentAsync()).GetContent();
var childContent = await output.GetChildContentAsync();
await ConvertToMvcForm(context, output);
@ -78,8 +78,8 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form
await formTagOutput.GetChildContentAsync();
output.PostContent.SetHtmlContent(output.PostContent.GetContent() + formTagOutput.PostContent.GetContent());
output.PreContent.SetHtmlContent(output.PreContent.GetContent() + formTagOutput.PreContent.GetContent());
output.PostContent.AppendHtml(formTagOutput.PostContent);
output.PreContent.AppendHtml(formTagOutput.PreContent);
}
protected virtual void NormalizeTagMode(TagHelperContext context, TagHelperOutput output)
@ -93,7 +93,7 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form
output.Attributes.AddIfNotContains("method", "post");
}
protected virtual void SetContent(TagHelperContext context, TagHelperOutput output, List<FormGroupItem> items, string childContent)
protected virtual void SetContent(TagHelperContext context, TagHelperOutput output, List<FormGroupItem> items, TagHelperContent childContent)
{
var contentBuilder = new StringBuilder("");
@ -102,16 +102,17 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form
contentBuilder.AppendLine(item.HtmlContent);
}
if (childContent.Contains(AbpFormContentPlaceHolder))
var content = childContent.GetContent();
if (content.Contains(AbpFormContentPlaceHolder))
{
childContent = childContent.Replace(AbpFormContentPlaceHolder, contentBuilder.ToString());
content = content.Replace(AbpFormContentPlaceHolder, contentBuilder.ToString());
}
else
{
childContent = contentBuilder + childContent;
content = contentBuilder + content;
}
output.Content.SetHtmlContent(childContent);
output.Content.SetHtmlContent(content);
}
protected virtual async Task SetSubmitButton(TagHelperContext context, TagHelperOutput output)
@ -123,7 +124,7 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form
var buttonHtml = await ProcessSubmitButtonAndGetContentAsync(context, output);
output.PostContent.SetHtmlContent(output.PostContent.GetContent() + buttonHtml);
output.PostContent.AppendHtml(buttonHtml);
}
protected virtual List<FormGroupItem> InitilizeFormGroupContentsContext(TagHelperContext context, TagHelperOutput output)

2
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpInputTagHelperService.cs

@ -52,7 +52,7 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form
output.Attributes.AddClass(isCheckBox ? "custom-checkbox" : "form-group");
output.Attributes.AddClass(isCheckBox ? "custom-control" : "");
output.Attributes.AddClass(isCheckBox ? "mb-2" : "");
output.Content.SetHtmlContent(output.Content.GetContent() + innerHtml);
output.Content.AppendHtml(innerHtml);
}
}

1
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpSelectTagHelper.cs

@ -5,6 +5,7 @@ using Microsoft.AspNetCore.Razor.TagHelpers;
namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form
{
[OutputElementHint("select")]
public class AbpSelectTagHelper : AbpTagHelper<AbpSelectTagHelper, AbpSelectTagHelperService>
{
public ModelExpression AspFor { get; set; }

11
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpSelectTagHelperService.cs

@ -38,7 +38,9 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form
public override async Task ProcessAsync(TagHelperContext context, TagHelperOutput output)
{
var innerHtml = await GetFormInputGroupAsHtmlAsync(context, output);
var childContent = await output.GetChildContentAsync();
var innerHtml = await GetFormInputGroupAsHtmlAsync(context, output, childContent);
var order = TagHelper.AspFor.ModelExplorer.GetDisplayOrder();
@ -58,9 +60,9 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form
}
}
protected virtual async Task<string> GetFormInputGroupAsHtmlAsync(TagHelperContext context, TagHelperOutput output)
protected virtual async Task<string> GetFormInputGroupAsHtmlAsync(TagHelperContext context, TagHelperOutput output, TagHelperContent childContent)
{
var selectTag = await GetSelectTagAsync(context, output);
var selectTag = await GetSelectTagAsync(context, output, childContent);
var selectAsHtml = selectTag.Render(_encoder);
var label = await GetLabelAsHtmlAsync(context, output, selectTag);
var validation = await GetValidationAsHtmlAsync(context, output, selectTag);
@ -74,7 +76,7 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form
return "<div class=\"form-group\">" + Environment.NewLine + innerHtml + Environment.NewLine + "</div>";
}
protected virtual async Task<TagHelperOutput> GetSelectTagAsync(TagHelperContext context, TagHelperOutput output)
protected virtual async Task<TagHelperOutput> GetSelectTagAsync(TagHelperContext context, TagHelperOutput output, TagHelperContent childContent)
{
var selectTagHelper = new SelectTagHelper(_generator)
{
@ -97,6 +99,7 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form
var selectTagHelperOutput = await selectTagHelper.ProcessAndGetOutputAsync(GetInputAttributes(context, output), context, "select", TagMode.StartTagAndEndTag);
selectTagHelperOutput.Content.SetHtmlContent(childContent);
selectTagHelperOutput.Attributes.AddClass("form-control");
selectTagHelperOutput.Attributes.AddClass(GetSize(context, output));
AddDisabledAttribute(selectTagHelperOutput);

6
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Tab/AbpTabTagHelperService.cs

@ -13,9 +13,9 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Tab
{
SetPlaceholderForNameIfNotProvided();
var innerContent = await output.GetChildContentAsync();
var childContent = await output.GetChildContentAsync();
var tabHeader = GetTabHeaderItem(context, output);
var tabContent = GetTabContentItem(context, output, innerContent.GetContent());
var tabContent = GetTabContentItem(context, output, childContent);
var tabHeaderItems = context.GetValue<List<TabItem>>(TabItems);
@ -83,7 +83,7 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Tab
}
}
protected virtual string GetTabContentItem(TagHelperContext context, TagHelperOutput output, string content)
protected virtual string GetTabContentItem(TagHelperContext context, TagHelperOutput output, TagHelperContent content)
{
var headerId = TagHelper.Name + "-tab";
var id = TagHelper.Name;

8
framework/src/Volo.Abp.BlazoriseUI/Volo.Abp.BlazoriseUI.csproj

@ -14,10 +14,10 @@
</ItemGroup>
<ItemGroup>
<PackageReference Include="Blazorise" Version="0.9.3.4" />
<PackageReference Include="Blazorise.DataGrid" Version="0.9.3.4" />
<PackageReference Include="Blazorise.Snackbar" Version="0.9.3.4" />
<PackageReference Include="Blazorise.Components" Version="0.9.3.4" />
<PackageReference Include="Blazorise" Version="0.9.3.5" />
<PackageReference Include="Blazorise.DataGrid" Version="0.9.3.5" />
<PackageReference Include="Blazorise.Snackbar" Version="0.9.3.5" />
<PackageReference Include="Blazorise.Components" Version="0.9.3.5" />
</ItemGroup>
</Project>

12
framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Bundling/BundlingService.cs

@ -77,17 +77,25 @@ namespace Volo.Abp.Cli.Bundling
BundleName = bundleConfig.Name.IsNullOrEmpty() ? "global" : bundleConfig.Name,
Minify = bundleConfig.Mode == BundlingMode.BundleAndMinify
};
Logger.LogInformation("Generating style bundle...");
styleDefinitions = StyleBundler.Bundle(options, styleContext);
Logger.LogInformation($"Style bundle has been generated successfully.");
Logger.LogInformation("Generating script bundle...");
scriptDefinitions = ScriptBundler.Bundle(options, scriptContext);
Logger.LogInformation($"Script bundle has been generated successfully.");
}
else
{
Logger.LogInformation("Generating style references...");
styleDefinitions = GenerateStyleDefinitions(styleContext);
Logger.LogInformation("Generating script references...");
scriptDefinitions = GenerateScriptDefinitions(scriptContext);
}
await UpdateDependenciesInHtmlFileAsync(directory, styleDefinitions, scriptDefinitions);
Logger.LogInformation("Script and style references in the index.html file have been updated.");
}
private BundleContext GetScriptContext(List<BundleTypeDefinition> bundleDefinitions,

25
framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/Services/SourceCodeDownloadService.cs

@ -203,30 +203,7 @@ namespace Volo.Abp.Cli.Commands.Services
return false;
}
if (zipEntryName.Contains(Path.Combine("angular/e2e")))
{
return true;
}
if (zipEntryName.Contains(Path.Combine("angular/src")))
{
return true;
}
if (zipEntryName.Contains(Path.Combine("angular/node_modules")))
{
return true;
}
if (zipEntryName.Contains(Path.Combine("angular/scripts")))
{
return true;
}
if (zipEntryName.Contains(Path.Combine("angular/source-code-requirements")))
{
return true;
}
var fileName = Path.GetFileName(zipEntryName);
if (!string.IsNullOrEmpty(fileName) && zipEntryName.Equals("angular/" + fileName))
if (zipEntryName.StartsWith("angular/") && !zipEntryName.StartsWith("angular/projects"))
{
return true;
}

3
framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/SuiteCommand.cs

@ -275,6 +275,7 @@ namespace Volo.Abp.Cli.Commands
sb.AppendLine(" abp suite");
sb.AppendLine(" abp suite install");
sb.AppendLine(" abp suite install --preview");
sb.AppendLine(" abp suite install --version 4.2.2");
sb.AppendLine(" abp suite update");
sb.AppendLine(" abp suite update --preview");
sb.AppendLine(" abp suite remove");
@ -303,4 +304,4 @@ namespace Volo.Abp.Cli.Commands
}
}
}
}
}

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

@ -169,7 +169,7 @@ namespace Volo.Abp.Cli.ProjectBuilding.Templates.App
steps.Add(new ChangePublicAuthPortStep());
}
if (!context.BuildArgs.ExtraProperties.ContainsKey("without-cms-kit") && IsCmsKitSupportedForTargetVersion(context))
if (context.BuildArgs.PublicWebSite && !context.BuildArgs.ExtraProperties.ContainsKey("without-cms-kit") && IsCmsKitSupportedForTargetVersion(context))
{
context.Symbols.Add("CMS-KIT");
}
@ -210,10 +210,7 @@ namespace Volo.Abp.Cli.ProjectBuilding.Templates.App
{
if (string.IsNullOrWhiteSpace(context.BuildArgs.Version))
{
// We'll return true after 4.3.0 stable release. see https://github.com/abpframework/abp/issues/8394
// return true;
return context.BuildArgs.ExtraProperties.ContainsKey(NewCommand.Options.Preview.Long);
return true;
}
return SemanticVersion.Parse(context.BuildArgs.Version) > SemanticVersion.Parse("4.2.9");

21
framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/App/AppTemplateSwitchEntityFrameworkCoreToMongoDbStep.cs

@ -227,7 +227,12 @@ namespace Volo.Abp.Cli.ProjectBuilding.Templates.App
string oldReference,
string newReference)
{
var file = context.GetFile(targetProjectFilePath);
var file = context.FindFile(targetProjectFilePath);
if (file == null)
{
return;
}
file.NormalizeLineEndings();
@ -253,7 +258,12 @@ namespace Volo.Abp.Cli.ProjectBuilding.Templates.App
string oldKeyword,
string newKeyword)
{
var file = context.GetFile(targetModuleFilePath);
var file = context.FindFile(targetModuleFilePath);
if (file == null)
{
return;
}
file.NormalizeLineEndings();
@ -278,7 +288,12 @@ namespace Volo.Abp.Cli.ProjectBuilding.Templates.App
ProjectBuildContext context,
string appsettingFilePath)
{
var file = context.GetFile(appsettingFilePath);
var file = context.FindFile(appsettingFilePath);
if (file == null)
{
return;
}
file.NormalizeLineEndings();

6
framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/AngularSourceCodeAdder.cs

@ -246,6 +246,12 @@ namespace Volo.Abp.Cli.ProjectModification
var foldersUnderProject = Directory.GetDirectories(Path.Combine(folder, "projects"));
foreach (var folderUnderProject in foldersUnderProject)
{
if (Path.GetFileName(folderUnderProject) == "dev-app")
{
Directory.Delete(folderUnderProject, true);
continue;
}
if (Directory.Exists(Path.Combine(folder, Path.GetFileName(folderUnderProject))))
{
continue;

34
framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/DbContextFileBuilderConfigureAdder.cs

@ -1,5 +1,6 @@
using System;
using System.IO;
using System.Linq;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Logging.Abstractions;
using Volo.Abp.DependencyInjection;
@ -22,26 +23,34 @@ namespace Volo.Abp.Cli.ProjectModification
{
var file = File.ReadAllText(path);
file = UsingStatementAdder.Add(file, GetNamespace(moduleConfiguration));
var parsedModuleConfiguration = moduleConfiguration.Split(", ");
var stringToAdd = GetLineToAdd(moduleConfiguration);
if (!file.Contains(stringToAdd))
var namespaces = parsedModuleConfiguration.Select(GetNamespace);
var configurationLines = parsedModuleConfiguration.Select(GetLineToAdd);
var indexToInsert = FindIndexToInsert(file);
if (indexToInsert <= 0 || indexToInsert >= file.Length)
{
var indexToInsert = FindIndexToInsert(file);
Logger.LogWarning($"\"OnModelCreating(ModelBuilder builder)\" method couldn't be found in {path}");
return false;
}
if (indexToInsert <= 0 || indexToInsert >= file.Length)
foreach (var configurationLine in configurationLines)
{
if (file.Contains(configurationLine))
{
Logger.LogWarning($"\"OnModelCreating(ModelBuilder builder)\" method couldn't be found in {path}");
return false;
continue;
}
file = file.Insert(indexToInsert, " " + stringToAdd + Environment.NewLine + " ");
file = file.Insert(indexToInsert, " " + configurationLine + Environment.NewLine + " ");
}
else
foreach (var namespaceOfConfiguration in namespaces)
{
return false;
file = UsingStatementAdder.Add(file, namespaceOfConfiguration);
}
File.WriteAllText(path, file);
return true;
}
@ -49,7 +58,8 @@ namespace Volo.Abp.Cli.ProjectModification
protected int FindIndexToInsert(string file)
{
var indexOfMethodDeclaration = file.IndexOf("OnModelCreating(", StringComparison.Ordinal);
var indexOfOpeningBracket = indexOfMethodDeclaration + file.Substring(indexOfMethodDeclaration).IndexOf('{');
var indexOfOpeningBracket =
indexOfMethodDeclaration + file.Substring(indexOfMethodDeclaration).IndexOf('{');
var stack = 1;
var index = indexOfOpeningBracket;

6
framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/NpmPackageInfo.cs

@ -5,5 +5,9 @@
public string Name { get; set; }
public NpmApplicationType ApplicationType { get; set; }
public string MinVersion { get; set; }
public string MaxVersion { get; set; }
}
}
}

90
framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/SolutionModuleAdder.cs

@ -135,24 +135,25 @@ namespace Volo.Abp.Cli.ProjectModification
private ModuleWithMastersInfo RemoveIncompatiblePackages(ModuleWithMastersInfo module, string version)
{
module.NugetPackages.RemoveAll(np => IsPackageInCompatible(np, version));
module.NugetPackages.RemoveAll(np => IsPackageInCompatible(np.MinVersion, np.MaxVersion, version));
module.NpmPackages.RemoveAll(np => IsPackageInCompatible(np.MinVersion, np.MaxVersion, version));
return module;
}
private bool IsPackageInCompatible(NugetPackageInfo package, string version)
private bool IsPackageInCompatible(string minVersion, string maxVersion, string version)
{
try
{
if (!string.IsNullOrWhiteSpace(package.MinVersion))
if (!string.IsNullOrWhiteSpace(minVersion))
{
if (SemanticVersion.Parse(package.MinVersion) > SemanticVersion.Parse(version))
if (SemanticVersion.Parse(minVersion) > SemanticVersion.Parse(version))
{
return true;
}
}
if (!string.IsNullOrWhiteSpace(package.MaxVersion))
if (!string.IsNullOrWhiteSpace(maxVersion))
{
if (SemanticVersion.Parse(package.MaxVersion) < SemanticVersion.Parse(version))
if (SemanticVersion.Parse(maxVersion) < SemanticVersion.Parse(version))
{
return true;
}
@ -186,6 +187,7 @@ namespace Volo.Abp.Cli.ProjectModification
private async Task RemoveUnnecessaryProjectsAsync(string solutionDirectory, ModuleWithMastersInfo module,
string[] projectFiles)
{
var projectsToRemove = new List<string>();
var moduleDirectory = Path.Combine(solutionDirectory, "modules", module.Name);
var moduleSolutionFile = Directory.GetFiles(moduleDirectory, "*.sln", SearchOption.TopDirectoryOnly).First();
var isProjectTiered = await IsProjectTiered(projectFiles);
@ -194,10 +196,10 @@ namespace Volo.Abp.Cli.ProjectModification
var blazorProject = projectFiles.FirstOrDefault(p => p.EndsWith(".Blazor.csproj"));
if (blazorProject == null)
{
await RemoveProjectByTarget(module, moduleSolutionFile, NuGetPackageTarget.Blazor, isProjectTiered);
await RemoveProjectByTarget(module, moduleSolutionFile, NuGetPackageTarget.BlazorServer, isProjectTiered);
await RemoveProjectByTarget(module, moduleSolutionFile, NuGetPackageTarget.BlazorWebAssembly, isProjectTiered);
await RemoveProjectByPostFix(module, moduleSolutionFile, "src", ".Blazor");
projectsToRemove.AddRange(await FindProjectsToRemoveByTarget(module, NuGetPackageTarget.Blazor, isProjectTiered));
projectsToRemove.AddRange(await FindProjectsToRemoveByTarget(module, NuGetPackageTarget.BlazorServer, isProjectTiered));
projectsToRemove.AddRange(await FindProjectsToRemoveByTarget(module, NuGetPackageTarget.BlazorWebAssembly, isProjectTiered));
projectsToRemove.AddRange(await FindProjectsToRemoveByPostFix(moduleDirectory, "src", ".Blazor"));
}
else
{
@ -205,39 +207,58 @@ namespace Volo.Abp.Cli.ProjectModification
if (isBlazorServer)
{
await RemoveProjectByTarget(module, moduleSolutionFile, NuGetPackageTarget.BlazorWebAssembly, isProjectTiered);
projectsToRemove.AddRange(await FindProjectsToRemoveByTarget(module, NuGetPackageTarget.BlazorWebAssembly, isProjectTiered));
webPackagesWillBeAddedToBlazorServerProject = module.NugetPackages.All(np=> np.Target != NuGetPackageTarget.BlazorServer && np.TieredTarget != NuGetPackageTarget.BlazorServer);
}
else
{
await RemoveProjectByTarget(module, moduleSolutionFile, NuGetPackageTarget.BlazorServer, isProjectTiered);
projectsToRemove.AddRange(await FindProjectsToRemoveByTarget(module, NuGetPackageTarget.BlazorServer, isProjectTiered));
}
}
if (!projectFiles.Any(p => p.EndsWith(".Web.csproj")) && !webPackagesWillBeAddedToBlazorServerProject)
{
await RemoveProjectByTarget(module, moduleSolutionFile, NuGetPackageTarget.Web, isProjectTiered);
projectsToRemove.AddRange(await FindProjectsToRemoveByTarget(module, NuGetPackageTarget.Web, isProjectTiered));
}
if (!projectFiles.Any(p => p.EndsWith(".MongoDB.csproj")))
{
await RemoveProjectByTarget(module, moduleSolutionFile, NuGetPackageTarget.MongoDB, isProjectTiered);
await RemoveProjectByPostFix(module, moduleSolutionFile, "test", ".MongoDB.Tests");
projectsToRemove.AddRange(await FindProjectsToRemoveByTarget(module, NuGetPackageTarget.MongoDB, isProjectTiered));
projectsToRemove.AddRange(await FindProjectsToRemoveByPostFix(moduleDirectory, "test", ".MongoDB.Tests"));
}
if (!projectFiles.Any(p => p.EndsWith(".EntityFrameworkCore.csproj")))
{
await RemoveProjectByTarget(module, moduleSolutionFile, NuGetPackageTarget.EntityFrameworkCore, isProjectTiered);
await RemoveProjectByPostFix(module, moduleSolutionFile, "test", ".EntityFrameworkCore.Tests");
await RemoveProjectByPostFix(module, moduleSolutionFile, "test", ".Application.Tests");
projectsToRemove.AddRange(await FindProjectsToRemoveByTarget(module, NuGetPackageTarget.EntityFrameworkCore, isProjectTiered));
projectsToRemove.AddRange(await FindProjectsToRemoveByPostFix(moduleDirectory, "test", ".EntityFrameworkCore.Tests"));
projectsToRemove.AddRange(await FindProjectsToRemoveByPostFix(moduleDirectory, "test", ".Application.Tests"));
ChangeDomainTestReferenceToMongoDB(module, moduleSolutionFile);
}
foreach (var projectToRemove in projectsToRemove)
{
if (IsReferencedByAnotherModuleProject(moduleDirectory, projectsToRemove, projectToRemove))
{
continue;
}
RemoveProjectFromSolutionAsync(moduleSolutionFile, projectToRemove);
}
}
private async Task RemoveProjectByTarget(ModuleWithMastersInfo module, string moduleSolutionFile,
private bool IsReferencedByAnotherModuleProject(string moduleDirectory, List<string> projectsToRemove, string projectToRemove)
{
var moduleProjects = Directory.GetFiles(moduleDirectory, "*.csproj", SearchOption.AllDirectories);
var projectsToKeep = moduleProjects.Where(mp=> !projectsToRemove.Contains(Path.GetFileName(mp).RemovePostFix(".csproj"))).ToList();
return projectsToKeep.Select(File.ReadAllText).Any(content => content.Contains($"\"{projectToRemove}\""));
}
private async Task<List<string>> FindProjectsToRemoveByTarget(ModuleWithMastersInfo module,
NuGetPackageTarget target, bool isTieredProject)
{
var projectsToRemove = new List<string>();
var packages = module.NugetPackages.Where(n =>
(isTieredProject && n.TieredTarget != NuGetPackageTarget.Undefined
? n.TieredTarget
@ -251,37 +272,42 @@ namespace Volo.Abp.Cli.ProjectModification
continue;
}
await SolutionFileModifier.RemoveProjectFromSolutionFileAsync(moduleSolutionFile, package.Name);
var projectPath = Path.Combine(Path.GetDirectoryName(moduleSolutionFile), "src", package.Name);
if (Directory.Exists(projectPath))
{
Directory.Delete(projectPath, true);
}
projectsToRemove.Add(package.Name);
}
return projectsToRemove;
}
private async Task RemoveProjectByPostFix(ModuleWithMastersInfo module, string moduleSolutionFile, string targetFolder,
private async Task<List<string>> FindProjectsToRemoveByPostFix(string moduleDirectory, string targetFolder,
string postFix)
{
var srcPath = Path.Combine(Path.GetDirectoryName(moduleSolutionFile), targetFolder);
var projectsToRemove = new List<string>();
var srcPath = Path.Combine(moduleDirectory, targetFolder);
if (!Directory.Exists(srcPath))
{
return;
return projectsToRemove;
}
var projectFolderPaths = Directory.GetDirectories(srcPath).Where(d => d.EndsWith(postFix)).ToList();
foreach (var projectFolderPath in projectFolderPaths)
{
await SolutionFileModifier.RemoveProjectFromSolutionFileAsync(moduleSolutionFile, new DirectoryInfo(projectFolderPath).Name);
projectsToRemove.Add(new DirectoryInfo(projectFolderPath).Name);
}
return projectsToRemove;
}
private async Task RemoveProjectFromSolutionAsync(string moduleSolutionFile, string projectName)
{
await SolutionFileModifier.RemoveProjectFromSolutionFileAsync(moduleSolutionFile, projectName);
var projectFolderPath = Path.Combine(Path.GetDirectoryName(moduleSolutionFile), "src", projectName);
if (Directory.Exists(projectFolderPath))
{
Directory.Delete(projectFolderPath, true);
}
}
}
private void ChangeDomainTestReferenceToMongoDB(ModuleWithMastersInfo module, string moduleSolutionFile)
@ -500,7 +526,7 @@ namespace Volo.Abp.Cli.ProjectModification
{
foreach (var npmPackage in mvcNpmPackages)
{
await ProjectNpmPackageAdder.AddMvcPackageAsync(Path.GetDirectoryName(targetProject), npmPackage, null, true);
await ProjectNpmPackageAdder.AddMvcPackageAsync(Path.GetDirectoryName(targetProject), npmPackage);
}
}
}

4
framework/src/Volo.Abp.Cli/Volo/Abp/Cli/Program.cs

@ -40,8 +40,10 @@ namespace Volo.Abp.Cli
await application.ServiceProvider
.GetRequiredService<CliService>()
.RunAsync(args);
application.Shutdown();
Log.CloseAndFlush();
}
}
}

0
framework/src/Volo.Abp.Ddd.Domain/Volo/Abp/Domain/Entities/IHasConcurrencyStamp.cs → framework/src/Volo.Abp.Data/Volo/Abp/Domain/Entities/IHasConcurrencyStamp.cs

15
framework/src/Volo.Abp.Ddd.Domain/Volo/Abp/DependencyInjection/IAbpCommonDbContextRegistrationOptionsBuilder.cs

@ -9,43 +9,42 @@ namespace Volo.Abp.DependencyInjection
IServiceCollection Services { get; }
/// <summary>
/// Registers default repositories for this DbContext.
/// Registers default repositories for all the entities in this DbContext.
/// </summary>
/// <param name="includeAllEntities">
/// Registers repositories only for aggregate root entities by default.
/// set <paramref name="includeAllEntities"/> to true to include all entities.
/// Set <paramref name="includeAllEntities"/> to true to include all entities.
/// </param>
IAbpCommonDbContextRegistrationOptionsBuilder AddDefaultRepositories(bool includeAllEntities = false);
/// <summary>
/// Registers default repositories for this DbContext.
/// Registers default repositories for all the entities in this DbContext.
/// Default repositories will use given <see cref="TDefaultRepositoryDbContext"/>.
/// </summary>
/// <typeparam name="TDefaultRepositoryDbContext">DbContext type that will be used by default repositories</typeparam>
/// <param name="includeAllEntities">
/// Registers repositories only for aggregate root entities by default.
/// set <see cref="includeAllEntities"/> to true to include all entities.
/// Set <see cref="includeAllEntities"/> to true to include all entities.
/// </param>
IAbpCommonDbContextRegistrationOptionsBuilder AddDefaultRepositories<TDefaultRepositoryDbContext>(bool includeAllEntities = false);
/// <summary>
/// Registers default repositories for this DbContext.
/// Registers default repositories for all the entities in this DbContext.
/// Default repositories will use given <see cref="defaultRepositoryDbContextType"/>.
/// </summary>
/// <param name="defaultRepositoryDbContextType">DbContext type that will be used by default repositories</param>
/// <param name="includeAllEntities">
/// Registers repositories only for aggregate root entities by default.
/// set <see cref="includeAllEntities"/> to true to include all entities.
/// Set <see cref="includeAllEntities"/> to true to include all entities.
/// </param>
IAbpCommonDbContextRegistrationOptionsBuilder AddDefaultRepositories(Type defaultRepositoryDbContextType, bool includeAllEntities = false);
/// <summary>
/// Registers custom repository for a specific entity.
/// Registers default repository for a specific entity.
/// </summary>
/// <typeparam name="TEntity">Entity type</typeparam>
IAbpCommonDbContextRegistrationOptionsBuilder AddDefaultRepository<TEntity>();
/// <summary>
/// Registers default repository for a specific entity.
/// </summary>

27
framework/src/Volo.Abp.GlobalFeatures/Volo/Abp/GlobalFeatures/GlobalFeatureDefinitionExtensions.cs

@ -1,4 +1,5 @@
using JetBrains.Annotations;
using System;
using JetBrains.Annotations;
using Volo.Abp.Authorization.Permissions;
namespace Volo.Abp.GlobalFeatures
@ -6,12 +7,12 @@ namespace Volo.Abp.GlobalFeatures
public static class GlobalFeatureDefinitionExtensions
{
public static PermissionDefinition RequireGlobalFeatures(
this PermissionDefinition permissionDefinition,
this PermissionDefinition permissionDefinition,
params string[] globalFeatures)
{
return permissionDefinition.RequireGlobalFeatures(true, globalFeatures);
}
public static PermissionDefinition RequireGlobalFeatures(
[NotNull] this PermissionDefinition permissionDefinition,
bool requiresAll,
@ -25,5 +26,25 @@ namespace Volo.Abp.GlobalFeatures
);
}
public static PermissionDefinition RequireGlobalFeatures(
this PermissionDefinition permissionDefinition,
params Type[] globalFeatures)
{
return permissionDefinition.RequireGlobalFeatures(true, globalFeatures);
}
public static PermissionDefinition RequireGlobalFeatures(
[NotNull] this PermissionDefinition permissionDefinition,
bool requiresAll,
params Type[] globalFeatures)
{
Check.NotNull(permissionDefinition, nameof(permissionDefinition));
Check.NotNullOrEmpty(globalFeatures, nameof(globalFeatures));
return permissionDefinition.AddStateProviders(
new RequireGlobalFeaturesPermissionStateProvider(requiresAll, globalFeatures)
);
}
}
}

6
framework/src/Volo.Abp.GlobalFeatures/Volo/Abp/GlobalFeatures/Localization/nl.json

@ -0,0 +1,6 @@
{
"culture": "nl",
"texts": {
"Volo.GlobalFeature:010001": "De service '{ServiceName}' moet de functie '{GlobalFeatureName}' inschakelen."
}
}

15
framework/src/Volo.Abp.GlobalFeatures/Volo/Abp/GlobalFeatures/RequireGlobalFeaturesPermissionStateProvider.cs

@ -1,4 +1,5 @@
using System.Linq;
using System;
using System.Linq;
using System.Threading.Tasks;
using Volo.Abp.Authorization.Permissions;
@ -13,7 +14,7 @@ namespace Volo.Abp.GlobalFeatures
: this(true, globalFeatureNames)
{
}
public RequireGlobalFeaturesPermissionStateProvider(bool requiresAll, params string[] globalFeatureNames)
{
Check.NotNullOrEmpty(globalFeatureNames, nameof(globalFeatureNames));
@ -22,12 +23,20 @@ namespace Volo.Abp.GlobalFeatures
_globalFeatureNames = globalFeatureNames;
}
public RequireGlobalFeaturesPermissionStateProvider(bool requiresAll, params Type[] globalFeatureNames)
{
Check.NotNullOrEmpty(globalFeatureNames, nameof(globalFeatureNames));
_requiresAll = requiresAll;
_globalFeatureNames = globalFeatureNames.Select(GlobalFeatureNameAttribute.GetName).ToArray();
}
public Task<bool> IsEnabledAsync(PermissionStateContext context)
{
bool isEnabled = _requiresAll
? _globalFeatureNames.All(x => GlobalFeatureManager.Instance.IsEnabled(x))
: _globalFeatureNames.Any(x => GlobalFeatureManager.Instance.IsEnabled(x));
return Task.FromResult(isEnabled);
}
}

2
framework/src/Volo.Abp.Swashbuckle/Volo.Abp.Swashbuckle.csproj

@ -15,7 +15,7 @@
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.1.1" />
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.1.3" />
</ItemGroup>
<ItemGroup>

48
framework/src/Volo.Abp.UI.Navigation/Volo/Abp/Ui/Navigation/Urls/AppUrlProvider.cs

@ -2,6 +2,7 @@
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using JetBrains.Annotations;
using Microsoft.Extensions.Options;
using Volo.Abp.DependencyInjection;
using Volo.Abp.MultiTenancy;
@ -42,36 +43,24 @@ namespace Volo.Abp.UI.Navigation.Urls
return Options.RedirectAllowedUrls.Any(url.StartsWith);
}
protected virtual Task<string> GetConfiguredUrl(string appName, string urlName)
protected virtual async Task<string> GetConfiguredUrl(string appName, string urlName)
{
var app = Options.Applications[appName];
if (urlName.IsNullOrEmpty())
var url = await GetUrlOrNullAsync(appName, urlName);
if (!url.IsNullOrEmpty())
{
if (app.RootUrl.IsNullOrEmpty())
{
throw new AbpException(
$"RootUrl for the application '{appName}' was not configured. Use {nameof(AppUrlOptions)} to configure it!"
);
}
return Task.FromResult(app.RootUrl);
return url;
}
var url = app.Urls.GetOrDefault(urlName);
if (url.IsNullOrEmpty())
if (!urlName.IsNullOrEmpty())
{
throw new AbpException(
$"Url, named '{urlName}', for the application '{appName}' was not configured. Use {nameof(AppUrlOptions)} to configure it!"
);
}
if (app.RootUrl == null)
{
return Task.FromResult(url);
}
return Task.FromResult(app.RootUrl.EnsureEndsWith('/') + url);
throw new AbpException(
$"RootUrl for the application '{appName}' was not configured. Use {nameof(AppUrlOptions)} to configure it!"
);
}
protected virtual async Task<string> ReplacePlaceHoldersAsync(string url)
@ -118,5 +107,24 @@ namespace Volo.Abp.UI.Navigation.Urls
return CurrentTenant.Name;
}
public Task<string> GetUrlOrNullAsync([NotNull] string appName, [CanBeNull] string urlName = null)
{
var app = Options.Applications[appName];
if (urlName.IsNullOrEmpty())
{
return Task.FromResult(app.RootUrl);
}
var url = app.Urls.GetOrDefault(urlName);
if (app.RootUrl == null)
{
return Task.FromResult(url);
}
return Task.FromResult(app.RootUrl.EnsureEndsWith('/') + url);
}
}
}

2
framework/src/Volo.Abp.UI.Navigation/Volo/Abp/Ui/Navigation/Urls/IAppUrlProvider.cs

@ -7,6 +7,8 @@ namespace Volo.Abp.UI.Navigation.Urls
{
Task<string> GetUrlAsync([NotNull] string appName, [CanBeNull] string urlName = null);
Task<string> GetUrlOrNullAsync([NotNull] string appName, [CanBeNull] string urlName = null);
bool IsRedirectAllowedUrl(string url);
}
}

2
framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/nl.json

@ -7,7 +7,7 @@
"Clear": "Wissen",
"Yes": "Ja",
"No": "Nee",
"Ok": "Ok",
"Ok": "Oké",
"Close": "Sluiten",
"Save": "Opslaan",
"SavingWithThreeDot": "Opslaan...",

4
framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/zh-Hans.json

@ -4,7 +4,7 @@
"Languages": "语言",
"AreYouSure": "你确定吗?",
"Cancel": "取消",
"Clear": "清",
"Clear": "清",
"Yes": "是",
"No": "否",
"Ok": "Ok",
@ -49,4 +49,4 @@
"ItemWillBeDeletedMessage": "此项将被删除!",
"ManageYourAccount": "管理你的账户"
}
}
}

9
framework/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/Pages/Components/FormElements.cshtml

@ -97,7 +97,9 @@
<div class="demo-with-code">
<div class="demo-area">
<abp-input asp-for="@Model.MyModel.EmailAddress" label="Email Address" placeholder="name@example.com" />
<abp-select asp-for="@Model.MyModel.City" asp-items="@Model.CityList" label="City" />
<abp-select asp-for="@Model.MyModel.City" asp-items="@Model.CityList" label="City">
<option value="">Choose a city</option>
</abp-select>
<abp-select asp-for="@Model.MyModel.Cities" asp-items="@Model.CityList" label="Cities" />
<abp-input asp-for="@Model.MyModel.Description" label="Description" />
</div>
@ -140,7 +142,9 @@
<abp-tab title="Tag Helper" active="true">
<pre><code>
&lt;abp-input asp-for=&quot;@@Model.MyModel.EmailAddress&quot; label=&quot;Email Address&quot; placeholder=&quot;name@example.com&quot; /&gt;
&lt;abp-select asp-for=&quot;@@Model.MyModel.City&quot; asp-items=&quot;@@Model.CityList&quot; label=&quot;City&quot; /&gt;
&lt;abp-select asp-for=&quot;@@Model.MyModel.City&quot; asp-items=&quot;@@Model.CityList&quot; label=&quot;City&quot;&gt;
&lt;option value=&quot;&quot;&gt;Choose a city&lt;/option&gt;
&lt;/abp-select&gt;
&lt;abp-select asp-for=&quot;@@Model.MyModel.Cities&quot; asp-items=&quot;@@Model.CityList&quot; label=&quot;Cities&quot; /&gt;
&lt;abp-input asp-for=&quot;@@Model.MyModel.Description&quot; label=&quot;Description&quot; /&gt;
</code></pre>
@ -155,6 +159,7 @@
&lt;div class=&quot;form-group&quot;&gt;
&lt;label for=&quot;MyModel_City&quot;&gt;City&lt;/label&gt;
&lt;select id=&quot;MyModel_City&quot; name=&quot;MyModel.City&quot; class=&quot;form-control&quot;&gt;
&lt;option value=&quot;&quot;&gt;Choose a city&lt;/option&gt;
&lt;option value=&quot;NY&quot;&gt;New York&lt;/option&gt;
&lt;option value=&quot;LDN&quot;&gt;London&lt;/option&gt;
&lt;option value=&quot;IST&quot;&gt;Istanbul&lt;/option&gt;

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.3.0-rc.2",
"@abp/aspnetcore.mvc.ui.theme.shared": "^4.3.0",
"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.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-4.3.0-rc.2.tgz#d3bf79929c55c5380d7ca7b913a23031d7a6bd12"
integrity sha512-pz86bIV4wNeG7/UPYzNCXlJ/MdOdIygc+Com7C9Ld7gzsyER7VD9h5U/hkytvL4FBFLJn4DU+xuZNECjv0HS0A==
dependencies:
"@abp/aspnetcore.mvc.ui" "~4.3.0-rc.2"
"@abp/bootstrap" "~4.3.0-rc.2"
"@abp/bootstrap-datepicker" "~4.3.0-rc.2"
"@abp/datatables.net-bs4" "~4.3.0-rc.2"
"@abp/font-awesome" "~4.3.0-rc.2"
"@abp/jquery-form" "~4.3.0-rc.2"
"@abp/jquery-validation-unobtrusive" "~4.3.0-rc.2"
"@abp/lodash" "~4.3.0-rc.2"
"@abp/luxon" "~4.3.0-rc.2"
"@abp/malihu-custom-scrollbar-plugin" "~4.3.0-rc.2"
"@abp/select2" "~4.3.0-rc.2"
"@abp/sweetalert" "~4.3.0-rc.2"
"@abp/timeago" "~4.3.0-rc.2"
"@abp/toastr" "~4.3.0-rc.2"
"@abp/aspnetcore.mvc.ui@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-4.3.0-rc.2.tgz#6ff41be179c8d1089778a51ffa54a1f3d7614278"
integrity sha512-2L5zvuqUwPwNPcMauiiJZD1ft0QycqINz+bXEQ8t0EwbB+dzcsukL/rpOQfpeRHWWYy4nIN4C2bTvXhNgQbPqQ==
"@abp/aspnetcore.mvc.ui.theme.shared@^4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-4.3.0.tgz#6150c87f848e3cee36c217b01304b76aaa7991bb"
integrity sha512-urL7zQZu3jceXoSDBHQpzP/uhFYGZtreW22ohVINw2QTonCCd/ojRIVOZvf+GtMSRBqeecBqtdOjr9aoah+z9Q==
dependencies:
"@abp/aspnetcore.mvc.ui" "~4.3.0"
"@abp/bootstrap" "~4.3.0"
"@abp/bootstrap-datepicker" "~4.3.0"
"@abp/datatables.net-bs4" "~4.3.0"
"@abp/font-awesome" "~4.3.0"
"@abp/jquery-form" "~4.3.0"
"@abp/jquery-validation-unobtrusive" "~4.3.0"
"@abp/lodash" "~4.3.0"
"@abp/luxon" "~4.3.0"
"@abp/malihu-custom-scrollbar-plugin" "~4.3.0"
"@abp/select2" "~4.3.0"
"@abp/sweetalert" "~4.3.0"
"@abp/timeago" "~4.3.0"
"@abp/toastr" "~4.3.0"
"@abp/aspnetcore.mvc.ui@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-4.3.0.tgz#0098e528a929eb87da5c661cf3edf062bf2cb8c7"
integrity sha512-k0cXjDk33wDhr0tqjCG7UYJU5y2UJW+uCAp5cQTFqK9HqeYW1huGfRydECh3m8jqPGRmZRx4aJGQo6Te92bjcw==
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.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-4.3.0-rc.2.tgz#29a686c3d2bce356967f646d7334cd83c4257b4c"
integrity sha512-3+B7SJRi7DQJe0aNgv0H0zu1BfvMZcwgt06N3ALR9+o3TSJcOqcYrEMed3aG+ASH++CltnohTYnLkVXaxshioA==
"@abp/bootstrap-datepicker@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-4.3.0.tgz#a4246b06d41ad39bf8a84b310227b0b44c2ca4f4"
integrity sha512-f/M7rpr87BPyk47RDUobWBbkMUwRlY+riRnWaoHkSAOwwSMBkkXsAxyEAkbRlIiYFBfNkrVl1OpTOliinhvWjQ==
dependencies:
bootstrap-datepicker "^1.9.0"
"@abp/bootstrap@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-4.3.0-rc.2.tgz#1416fe639c88b7d958435e45fe19692268a7f932"
integrity sha512-E6svmDhNQlT5nd65VgshexyedRWhbvi9o1oYo/dLTUpJDzR7M9ptDqxFLVB9vVDva3HgxUoEvgRJgb9fXvq4zw==
"@abp/bootstrap@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-4.3.0.tgz#9dc88066bbb19ee50eb27460ab06f1593fae76cd"
integrity sha512-tV/K6nNl7Rt4BEQFlbPUtXMSTC+Usc1ArP6JMNL++1xOOT2Kyye172WEWnTcT7RRnveq7kid090Dxk9g3IyprA==
dependencies:
"@abp/core" "~4.3.0-rc.2"
"@abp/core" "~4.3.0"
bootstrap "^4.6.0"
bootstrap-v4-rtl "4.6.0-1"
"@abp/core@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-4.3.0-rc.2.tgz#3c9ea339624ae3b6cbee13e048268d48269ea6a9"
integrity sha512-/89xH+IVSmTOLWeUO4yVB7Hg64uHTbR7bHjgl+b94cFdtITH9Nvr2EGdXUJbHGUK7L6lSDziqiMcG/ic0061+Q==
"@abp/core@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-4.3.0.tgz#77945a62daae70b5f9f348036ab7c5a308d95a94"
integrity sha512-k+6BemPsencQasN+8W9sVYXdSOjea61ng2MIaPVTuCCjLWnReg4pQQ4QoJWsja+W36C8bratzT5ePwP6ZrCnMg==
dependencies:
"@abp/utils" "^4.3.0-rc.2"
"@abp/utils" "^4.3.0"
"@abp/datatables.net-bs4@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-4.3.0-rc.2.tgz#bbfc0d9d0ed86cdb14b38849fb78b2b1911c4a35"
integrity sha512-PRKYi2NU41KpckJ/d0buHoFbyKVuW5NCQNpUdYzDsPS2riyeXccCsLFJM1bT01TdR4Idla3vx9Fkb+HoJOiDeQ==
"@abp/datatables.net-bs4@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-4.3.0.tgz#49470ef1f1a7b57cb9cfd1b47095d2e865ce74ce"
integrity sha512-tJ49688P8hjlxKYxqP2a6PUYrYX7qhm8jIc6MZrKWQyZbRbAwF0glUYa7MO73Us9Z3HRyPczedGQ3qK9pCu0Mg==
dependencies:
"@abp/datatables.net" "~4.3.0-rc.2"
"@abp/datatables.net" "~4.3.0"
datatables.net-bs4 "^1.10.21"
"@abp/datatables.net@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-4.3.0-rc.2.tgz#1923e60db261366a7d2f284b0274d13e253567ca"
integrity sha512-rp53+5Xj1jhjpCj7UBA9+nSNbaTQ4Vc1NWCg1e5aI5tWiyZprUS44dRszIQIDV86XKorfFhog5ihOZyzl1HDyg==
"@abp/datatables.net@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-4.3.0.tgz#fa5f01eb32b60176f5bef669abd898c0778ebb2c"
integrity sha512-ZRDIeAMc9buIGuMSO8WkMm16qYS8xYljj6NxDpGTdqP/+BOnhtw3/fbH1LOLj+If38rP+Q6ANbnZp7MXzqNlig==
dependencies:
"@abp/jquery" "~4.3.0-rc.2"
"@abp/jquery" "~4.3.0"
datatables.net "^1.10.21"
"@abp/font-awesome@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-4.3.0-rc.2.tgz#437d3d6bbd8f52e5091251932d6a494d0164694b"
integrity sha512-FeHHtEQwrJBwD5PkFYqjKouCLwNjjRqTNseaN+s/r7gNjv0PgKytfRoqEb+O/BkZg/DwEuMz9jFX/RXCCNa2xA==
"@abp/font-awesome@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-4.3.0.tgz#4a372ed9294df32d477a3b08aa080b39d9b44d6a"
integrity sha512-Ny9bFIN9EZGWU2DGQeURlJmH9iYo9N7GYBluNFunmftN+K2G+2739otg06qGoLmoxF8hGzyYvKmwhykjxY9pYw==
dependencies:
"@abp/core" "~4.3.0-rc.2"
"@abp/core" "~4.3.0"
"@fortawesome/fontawesome-free" "^5.13.0"
"@abp/jquery-form@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-4.3.0-rc.2.tgz#999910deaf46330477b6ed487a771a2123d69f92"
integrity sha512-+fdEIOTlxDOdYXMtc/ujhYeuP2qiI4bmL3TQQWQxSTlW8q5jB6dHLBnHiXXltO8HxX9+7ZsjN3tsV7+Div5joA==
"@abp/jquery-form@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-4.3.0.tgz#98b9937bb258abbe306f03d5ac4e0b2b60022c4d"
integrity sha512-f4IPJnSA5v2DBEmf/XAqCqsZJR9AKzOsCCBH3GEct1VzJd4GYr9CL4qMc5jDjfCZ4PWN4SgqBd3mHQRB+yo0pA==
dependencies:
"@abp/jquery" "~4.3.0-rc.2"
"@abp/jquery" "~4.3.0"
jquery-form "^4.3.0"
"@abp/jquery-validation-unobtrusive@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-4.3.0-rc.2.tgz#0635e0c77da269e8367c3d7c388613249ce9221d"
integrity sha512-ubmPjVJatAW3AJWjWtT+ZbNLhu+HHNgcxYkFGVNusNuboTGsoBs5G45Cjzp/q5FnggWoPvkllpf8CGuaYUbpUQ==
"@abp/jquery-validation-unobtrusive@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-4.3.0.tgz#e6dc6cc94780c7db9b556f2f991d2d992dbfee38"
integrity sha512-AmvI9kOJQ9f+fTwqDMvODMSvkMgMN3XvBF0v/EbZpF86tMtQTWfCHf+gofmq9WjM96QJjhCjLRl0hirQfSBfbg==
dependencies:
"@abp/jquery-validation" "~4.3.0-rc.2"
"@abp/jquery-validation" "~4.3.0"
jquery-validation-unobtrusive "^3.2.11"
"@abp/jquery-validation@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-4.3.0-rc.2.tgz#ee145f8c4a633218ccfa50cca0bed503a0ca8dc6"
integrity sha512-SLWzN6jxVqKaHYs/d6Mku8CfhB1vWgfMbFma14upiJ+/VDkTF4Rh27iMCWKYVOS3bukh2ltBp6kPFplrjCAGSg==
"@abp/jquery-validation@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-4.3.0.tgz#89a8bc2196dfabed57ef6a754c9da4b77b0cc44f"
integrity sha512-gwvRR6117JJTRGEk1zxdR0toVsfRLekaW/YDw4DsE3iwdhBTS05DyoEpl+4kUflWrjmRSKsVhWeoyndCDMi8Qw==
dependencies:
"@abp/jquery" "~4.3.0-rc.2"
"@abp/jquery" "~4.3.0"
jquery-validation "^1.19.2"
"@abp/jquery@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-4.3.0-rc.2.tgz#f620628ea0739888cbcb360c058d09bff10d553b"
integrity sha512-+rfyLVJn7E8wJ1oQ9GiCR63Yk6wah1Hqnj4XpsRDMkIaOXKaqrnVHAZd4W2DUunQSe95wqHfkNH/wkvTyNEwUg==
"@abp/jquery@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-4.3.0.tgz#8c6dab7b0a657a7d89faee18157d6111c55d3df3"
integrity sha512-+3SCUjQjT6WQ9pYJCu3PUhgCrFPgTOD3Q/cTNbzTL5a6J3bpp+U26L5qwFhoQ0j+FH+VNAZGDsL/UtT9/Lwa1A==
dependencies:
"@abp/core" "~4.3.0-rc.2"
"@abp/core" "~4.3.0"
jquery "~3.5.1"
"@abp/lodash@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-4.3.0-rc.2.tgz#9b5429d3976b34022aaf8cab4afef57479b66821"
integrity sha512-sE2dyofYbiIy4xhL85diZWkfqBcQl1q61T0DbYDOHgaejZAJxk4bVyFpEuMiC2HwWAZ656IN1bzyQIyE1RKzQA==
"@abp/lodash@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-4.3.0.tgz#44c194c07031e162d7d8f90d7225ef4b3834c068"
integrity sha512-p+wG99Ze0+Kqee588mFkYGYbyVtdWk49eVujjHA1KdPXNC+rEco0pH1943pbSqni5VzJCIkY9PvG40If5CZykQ==
dependencies:
"@abp/core" "~4.3.0-rc.2"
"@abp/core" "~4.3.0"
lodash "^4.17.15"
"@abp/luxon@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-4.3.0-rc.2.tgz#6fdbf1624462615dcb1f5ce85c07fc3bc4065e3f"
integrity sha512-C4aT0aN3/TVtTE3m0AZyhFSeeg+RxXpUO+nffAZoM/cH5NL8tir+O1hd+dhtCb7AELaqQNx5+qgXoJLYdWMYVg==
"@abp/luxon@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-4.3.0.tgz#930ed60b19c2ad1e86e817fe10861f042b2eb08a"
integrity sha512-gusXqRmHMOqmlHRe4N9CQL4Ncr3qazwWvi8QUdEity4a2mofgVPvn7F/E7uBVFjRL1EBp+nAUfohBPwQJECy5w==
dependencies:
"@abp/core" "~4.3.0-rc.2"
"@abp/core" "~4.3.0"
luxon "^1.24.1"
"@abp/malihu-custom-scrollbar-plugin@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-4.3.0-rc.2.tgz#28fc1f216c1d84b20acaf8c8c5cf5c3b33e1aeb1"
integrity sha512-LYMXKkPVyBLWV4Qnom2MW8JJ/rZmVg1CyOFxM6JiL+dpsN1Ogw0hRG33CCHQveqUmf2cr3vf96qk5Et5DyDDIg==
"@abp/malihu-custom-scrollbar-plugin@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-4.3.0.tgz#a6ce99cf29c36985b3268fa6309aad38438d7d2d"
integrity sha512-swip33gDRAWGIdyJmD+SrNBv2uyq6PJwG9RKnpFLaUiqbU8NhtnTl+bGCkO2BTTjBrP6dOPe7bmu3B8EO/zrMQ==
dependencies:
"@abp/core" "~4.3.0-rc.2"
"@abp/core" "~4.3.0"
malihu-custom-scrollbar-plugin "^3.1.5"
"@abp/select2@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-4.3.0-rc.2.tgz#42d62daff9e50b1fe211a1560794625ba3f52107"
integrity sha512-okiIXmFaqx0uy/UMcpMKWKjrwop1JINyzN4FS5tafUpWhx6KcYYHudLWJvnPbsdsOeBQx91kw8jjERRJIqfEOA==
"@abp/select2@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-4.3.0.tgz#0a63ab0f740f36644017024865a4f1f4038a7bc9"
integrity sha512-uRNdTTOx5US4bOWcSDrHJt3WgWT5mroxXWooPOBirqhPVx7gvqVYDoGhXpyyoE80Hs+a/ISW/vJUIp8gsOKwEw==
dependencies:
"@abp/core" "~4.3.0-rc.2"
"@abp/core" "~4.3.0"
select2 "^4.0.13"
"@abp/sweetalert@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-4.3.0-rc.2.tgz#dfb20dfca8449ed3c3f6599d99b51746019eb664"
integrity sha512-NRKOgT80JVQrwI1FRqpbCzALvnLAFKdPwKKNDgm0L7r/5DL0+JbkKCI1AIPl/yiM8MBrCaQqNms+9JES5mjiUQ==
"@abp/sweetalert@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-4.3.0.tgz#080b1133b5b6a67593bf7ebda8e9f6042ac2f24e"
integrity sha512-hkWvmqPk0foRA44k+2VjVoyRwwaPQMBayyRocc66+XwwGU5xSwR4VosLd8xxXW8la69rhDvQdoECguXKnHPYRA==
dependencies:
"@abp/core" "~4.3.0-rc.2"
"@abp/core" "~4.3.0"
sweetalert "^2.1.2"
"@abp/timeago@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-4.3.0-rc.2.tgz#22943e219facd7fa0efddb63017198474b5cef89"
integrity sha512-TjKyuli+SpVjTgVJmraBpqJK112I+1DYHPJfso7QAH48Ra4gceGj9EVS0i/420YyLZyJSMtZOruxzYkyJeR/6w==
"@abp/timeago@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-4.3.0.tgz#79a75895781248cf7e5035204d19de7f55cbf685"
integrity sha512-R219V16eRhp4BjcmNzHHK078LF/QHr219hG7dmVtRIooNt4J8nEGDj3C5Ll1S0NjO5sM/78PhC6gLD1FQGMkaQ==
dependencies:
"@abp/jquery" "~4.3.0-rc.2"
"@abp/jquery" "~4.3.0"
timeago "^1.6.7"
"@abp/toastr@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-4.3.0-rc.2.tgz#143a344b00bbfaa858fe267fb6d627952bf7b3c0"
integrity sha512-cQV9UFWb9zarkb/CbrqkF9RXqn1Fc/TFKKM5mxpUEcYjx52NuM0d+KawdEMoN2y3y2U4ciY44kbTP2W1y+NlBg==
"@abp/toastr@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-4.3.0.tgz#3e14e461bdaf5c43548b86799062bac150e9d1bc"
integrity sha512-9g1A4U3Svp4oesB5UGmfVGb8BmXZ9PPka3OWxYh0g9UNUvBsOqfxz1MH9Ho20Gz7wQ+dTce2XWPA6VbAMfwwvQ==
dependencies:
"@abp/jquery" "~4.3.0-rc.2"
"@abp/jquery" "~4.3.0"
toastr "^2.1.4"
"@abp/utils@^4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-4.3.0-rc.2.tgz#6d051f98772e5642c2e3bc2f68e73d6f24f4694c"
integrity sha512-9qYo8OMTxIUG+qQBWXEpkURS6FUrx+J5s3SwC/eerp46hYr72GQ8L38Wq566a+xiLCn7Duxt6oJ/BxhTfQQxdw==
"@abp/utils@^4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-4.3.0.tgz#5fe44ae9a76ba8760bfd54dc6cfc64c96acc4b67"
integrity sha512-FFPSn/cL+b7/wYoRjvQLNJ3KrTiqng2gKPGf+jtMZer92fcVZtsF21ew/z+yxgj+9DRYtWbvn5iu9/ZPKL5hiw==
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.3.0-rc.2",
"@abp/prismjs": "^4.3.0-rc.2"
"@abp/aspnetcore.mvc.ui.theme.basic": "^4.3.0",
"@abp/prismjs": "^4.3.0"
},
"devDependencies": {}
}

0
framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/prismjs/components/prism-n4js.js

0
framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/prismjs/components/prism-n4js.min.js

0
framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/prismjs/package.json

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.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-4.3.0-rc.2.tgz#4ebafbaade6610e3d405877a148d72d57569c3e3"
integrity sha512-Q3QqxKDFC04gaaj30Rk+9zGNfNxC8FX0jciARATceFV6pdA3F3PgT5EMDSlo6NoGniFVjHPRgay9N09zT6Htyw==
dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~4.3.0-rc.2"
"@abp/aspnetcore.mvc.ui.theme.shared@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-4.3.0-rc.2.tgz#d3bf79929c55c5380d7ca7b913a23031d7a6bd12"
integrity sha512-pz86bIV4wNeG7/UPYzNCXlJ/MdOdIygc+Com7C9Ld7gzsyER7VD9h5U/hkytvL4FBFLJn4DU+xuZNECjv0HS0A==
dependencies:
"@abp/aspnetcore.mvc.ui" "~4.3.0-rc.2"
"@abp/bootstrap" "~4.3.0-rc.2"
"@abp/bootstrap-datepicker" "~4.3.0-rc.2"
"@abp/datatables.net-bs4" "~4.3.0-rc.2"
"@abp/font-awesome" "~4.3.0-rc.2"
"@abp/jquery-form" "~4.3.0-rc.2"
"@abp/jquery-validation-unobtrusive" "~4.3.0-rc.2"
"@abp/lodash" "~4.3.0-rc.2"
"@abp/luxon" "~4.3.0-rc.2"
"@abp/malihu-custom-scrollbar-plugin" "~4.3.0-rc.2"
"@abp/select2" "~4.3.0-rc.2"
"@abp/sweetalert" "~4.3.0-rc.2"
"@abp/timeago" "~4.3.0-rc.2"
"@abp/toastr" "~4.3.0-rc.2"
"@abp/aspnetcore.mvc.ui@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-4.3.0-rc.2.tgz#6ff41be179c8d1089778a51ffa54a1f3d7614278"
integrity sha512-2L5zvuqUwPwNPcMauiiJZD1ft0QycqINz+bXEQ8t0EwbB+dzcsukL/rpOQfpeRHWWYy4nIN4C2bTvXhNgQbPqQ==
"@abp/aspnetcore.mvc.ui.theme.basic@^4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-4.3.0.tgz#33d6f72b698e5b8f399fb648817ed1fce070d482"
integrity sha512-jZNRm+R207KGs+0KvbLSGjvjm0i7y6ktHqH0tJ5nJ51B4xwOSxC64xmZXMQyazyqeGTKxpWVzIhqiFPb+q41Vg==
dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~4.3.0"
"@abp/aspnetcore.mvc.ui.theme.shared@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-4.3.0.tgz#6150c87f848e3cee36c217b01304b76aaa7991bb"
integrity sha512-urL7zQZu3jceXoSDBHQpzP/uhFYGZtreW22ohVINw2QTonCCd/ojRIVOZvf+GtMSRBqeecBqtdOjr9aoah+z9Q==
dependencies:
"@abp/aspnetcore.mvc.ui" "~4.3.0"
"@abp/bootstrap" "~4.3.0"
"@abp/bootstrap-datepicker" "~4.3.0"
"@abp/datatables.net-bs4" "~4.3.0"
"@abp/font-awesome" "~4.3.0"
"@abp/jquery-form" "~4.3.0"
"@abp/jquery-validation-unobtrusive" "~4.3.0"
"@abp/lodash" "~4.3.0"
"@abp/luxon" "~4.3.0"
"@abp/malihu-custom-scrollbar-plugin" "~4.3.0"
"@abp/select2" "~4.3.0"
"@abp/sweetalert" "~4.3.0"
"@abp/timeago" "~4.3.0"
"@abp/toastr" "~4.3.0"
"@abp/aspnetcore.mvc.ui@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-4.3.0.tgz#0098e528a929eb87da5c661cf3edf062bf2cb8c7"
integrity sha512-k0cXjDk33wDhr0tqjCG7UYJU5y2UJW+uCAp5cQTFqK9HqeYW1huGfRydECh3m8jqPGRmZRx4aJGQo6Te92bjcw==
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.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-4.3.0-rc.2.tgz#29a686c3d2bce356967f646d7334cd83c4257b4c"
integrity sha512-3+B7SJRi7DQJe0aNgv0H0zu1BfvMZcwgt06N3ALR9+o3TSJcOqcYrEMed3aG+ASH++CltnohTYnLkVXaxshioA==
"@abp/bootstrap-datepicker@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-4.3.0.tgz#a4246b06d41ad39bf8a84b310227b0b44c2ca4f4"
integrity sha512-f/M7rpr87BPyk47RDUobWBbkMUwRlY+riRnWaoHkSAOwwSMBkkXsAxyEAkbRlIiYFBfNkrVl1OpTOliinhvWjQ==
dependencies:
bootstrap-datepicker "^1.9.0"
"@abp/bootstrap@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-4.3.0-rc.2.tgz#1416fe639c88b7d958435e45fe19692268a7f932"
integrity sha512-E6svmDhNQlT5nd65VgshexyedRWhbvi9o1oYo/dLTUpJDzR7M9ptDqxFLVB9vVDva3HgxUoEvgRJgb9fXvq4zw==
"@abp/bootstrap@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-4.3.0.tgz#9dc88066bbb19ee50eb27460ab06f1593fae76cd"
integrity sha512-tV/K6nNl7Rt4BEQFlbPUtXMSTC+Usc1ArP6JMNL++1xOOT2Kyye172WEWnTcT7RRnveq7kid090Dxk9g3IyprA==
dependencies:
"@abp/core" "~4.3.0-rc.2"
"@abp/core" "~4.3.0"
bootstrap "^4.6.0"
bootstrap-v4-rtl "4.6.0-1"
"@abp/clipboard@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-4.3.0-rc.2.tgz#63670e869b09f9e10ec9a2e7f8ffcc097ce1efc7"
integrity sha512-jTHzum4h5TQqAKJKEHwJ88NLFmby92hJ8byOBl/HAjOHb8LhWuw/ktTwl2knd0/63KpiCKYZGQPV3kk5JXVQ6w==
"@abp/clipboard@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-4.3.0.tgz#71ddeda84a4977c19aaeec94cbc6410d5142ab68"
integrity sha512-S2QX+Yk6f1k+X0ghEbzDI8/l6nJkeLACPVfSg0TAxbF6LES7i9YOLdfKYRvacfLheN0nQQJeWalCNsjaQXwuwA==
dependencies:
"@abp/core" "~4.3.0-rc.2"
"@abp/core" "~4.3.0"
clipboard "^2.0.6"
"@abp/core@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-4.3.0-rc.2.tgz#3c9ea339624ae3b6cbee13e048268d48269ea6a9"
integrity sha512-/89xH+IVSmTOLWeUO4yVB7Hg64uHTbR7bHjgl+b94cFdtITH9Nvr2EGdXUJbHGUK7L6lSDziqiMcG/ic0061+Q==
"@abp/core@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-4.3.0.tgz#77945a62daae70b5f9f348036ab7c5a308d95a94"
integrity sha512-k+6BemPsencQasN+8W9sVYXdSOjea61ng2MIaPVTuCCjLWnReg4pQQ4QoJWsja+W36C8bratzT5ePwP6ZrCnMg==
dependencies:
"@abp/utils" "^4.3.0-rc.2"
"@abp/utils" "^4.3.0"
"@abp/datatables.net-bs4@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-4.3.0-rc.2.tgz#bbfc0d9d0ed86cdb14b38849fb78b2b1911c4a35"
integrity sha512-PRKYi2NU41KpckJ/d0buHoFbyKVuW5NCQNpUdYzDsPS2riyeXccCsLFJM1bT01TdR4Idla3vx9Fkb+HoJOiDeQ==
"@abp/datatables.net-bs4@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-4.3.0.tgz#49470ef1f1a7b57cb9cfd1b47095d2e865ce74ce"
integrity sha512-tJ49688P8hjlxKYxqP2a6PUYrYX7qhm8jIc6MZrKWQyZbRbAwF0glUYa7MO73Us9Z3HRyPczedGQ3qK9pCu0Mg==
dependencies:
"@abp/datatables.net" "~4.3.0-rc.2"
"@abp/datatables.net" "~4.3.0"
datatables.net-bs4 "^1.10.21"
"@abp/datatables.net@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-4.3.0-rc.2.tgz#1923e60db261366a7d2f284b0274d13e253567ca"
integrity sha512-rp53+5Xj1jhjpCj7UBA9+nSNbaTQ4Vc1NWCg1e5aI5tWiyZprUS44dRszIQIDV86XKorfFhog5ihOZyzl1HDyg==
"@abp/datatables.net@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-4.3.0.tgz#fa5f01eb32b60176f5bef669abd898c0778ebb2c"
integrity sha512-ZRDIeAMc9buIGuMSO8WkMm16qYS8xYljj6NxDpGTdqP/+BOnhtw3/fbH1LOLj+If38rP+Q6ANbnZp7MXzqNlig==
dependencies:
"@abp/jquery" "~4.3.0-rc.2"
"@abp/jquery" "~4.3.0"
datatables.net "^1.10.21"
"@abp/font-awesome@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-4.3.0-rc.2.tgz#437d3d6bbd8f52e5091251932d6a494d0164694b"
integrity sha512-FeHHtEQwrJBwD5PkFYqjKouCLwNjjRqTNseaN+s/r7gNjv0PgKytfRoqEb+O/BkZg/DwEuMz9jFX/RXCCNa2xA==
"@abp/font-awesome@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-4.3.0.tgz#4a372ed9294df32d477a3b08aa080b39d9b44d6a"
integrity sha512-Ny9bFIN9EZGWU2DGQeURlJmH9iYo9N7GYBluNFunmftN+K2G+2739otg06qGoLmoxF8hGzyYvKmwhykjxY9pYw==
dependencies:
"@abp/core" "~4.3.0-rc.2"
"@abp/core" "~4.3.0"
"@fortawesome/fontawesome-free" "^5.13.0"
"@abp/jquery-form@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-4.3.0-rc.2.tgz#999910deaf46330477b6ed487a771a2123d69f92"
integrity sha512-+fdEIOTlxDOdYXMtc/ujhYeuP2qiI4bmL3TQQWQxSTlW8q5jB6dHLBnHiXXltO8HxX9+7ZsjN3tsV7+Div5joA==
"@abp/jquery-form@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-4.3.0.tgz#98b9937bb258abbe306f03d5ac4e0b2b60022c4d"
integrity sha512-f4IPJnSA5v2DBEmf/XAqCqsZJR9AKzOsCCBH3GEct1VzJd4GYr9CL4qMc5jDjfCZ4PWN4SgqBd3mHQRB+yo0pA==
dependencies:
"@abp/jquery" "~4.3.0-rc.2"
"@abp/jquery" "~4.3.0"
jquery-form "^4.3.0"
"@abp/jquery-validation-unobtrusive@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-4.3.0-rc.2.tgz#0635e0c77da269e8367c3d7c388613249ce9221d"
integrity sha512-ubmPjVJatAW3AJWjWtT+ZbNLhu+HHNgcxYkFGVNusNuboTGsoBs5G45Cjzp/q5FnggWoPvkllpf8CGuaYUbpUQ==
"@abp/jquery-validation-unobtrusive@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-4.3.0.tgz#e6dc6cc94780c7db9b556f2f991d2d992dbfee38"
integrity sha512-AmvI9kOJQ9f+fTwqDMvODMSvkMgMN3XvBF0v/EbZpF86tMtQTWfCHf+gofmq9WjM96QJjhCjLRl0hirQfSBfbg==
dependencies:
"@abp/jquery-validation" "~4.3.0-rc.2"
"@abp/jquery-validation" "~4.3.0"
jquery-validation-unobtrusive "^3.2.11"
"@abp/jquery-validation@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-4.3.0-rc.2.tgz#ee145f8c4a633218ccfa50cca0bed503a0ca8dc6"
integrity sha512-SLWzN6jxVqKaHYs/d6Mku8CfhB1vWgfMbFma14upiJ+/VDkTF4Rh27iMCWKYVOS3bukh2ltBp6kPFplrjCAGSg==
"@abp/jquery-validation@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-4.3.0.tgz#89a8bc2196dfabed57ef6a754c9da4b77b0cc44f"
integrity sha512-gwvRR6117JJTRGEk1zxdR0toVsfRLekaW/YDw4DsE3iwdhBTS05DyoEpl+4kUflWrjmRSKsVhWeoyndCDMi8Qw==
dependencies:
"@abp/jquery" "~4.3.0-rc.2"
"@abp/jquery" "~4.3.0"
jquery-validation "^1.19.2"
"@abp/jquery@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-4.3.0-rc.2.tgz#f620628ea0739888cbcb360c058d09bff10d553b"
integrity sha512-+rfyLVJn7E8wJ1oQ9GiCR63Yk6wah1Hqnj4XpsRDMkIaOXKaqrnVHAZd4W2DUunQSe95wqHfkNH/wkvTyNEwUg==
"@abp/jquery@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-4.3.0.tgz#8c6dab7b0a657a7d89faee18157d6111c55d3df3"
integrity sha512-+3SCUjQjT6WQ9pYJCu3PUhgCrFPgTOD3Q/cTNbzTL5a6J3bpp+U26L5qwFhoQ0j+FH+VNAZGDsL/UtT9/Lwa1A==
dependencies:
"@abp/core" "~4.3.0-rc.2"
"@abp/core" "~4.3.0"
jquery "~3.5.1"
"@abp/lodash@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-4.3.0-rc.2.tgz#9b5429d3976b34022aaf8cab4afef57479b66821"
integrity sha512-sE2dyofYbiIy4xhL85diZWkfqBcQl1q61T0DbYDOHgaejZAJxk4bVyFpEuMiC2HwWAZ656IN1bzyQIyE1RKzQA==
"@abp/lodash@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-4.3.0.tgz#44c194c07031e162d7d8f90d7225ef4b3834c068"
integrity sha512-p+wG99Ze0+Kqee588mFkYGYbyVtdWk49eVujjHA1KdPXNC+rEco0pH1943pbSqni5VzJCIkY9PvG40If5CZykQ==
dependencies:
"@abp/core" "~4.3.0-rc.2"
"@abp/core" "~4.3.0"
lodash "^4.17.15"
"@abp/luxon@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-4.3.0-rc.2.tgz#6fdbf1624462615dcb1f5ce85c07fc3bc4065e3f"
integrity sha512-C4aT0aN3/TVtTE3m0AZyhFSeeg+RxXpUO+nffAZoM/cH5NL8tir+O1hd+dhtCb7AELaqQNx5+qgXoJLYdWMYVg==
"@abp/luxon@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-4.3.0.tgz#930ed60b19c2ad1e86e817fe10861f042b2eb08a"
integrity sha512-gusXqRmHMOqmlHRe4N9CQL4Ncr3qazwWvi8QUdEity4a2mofgVPvn7F/E7uBVFjRL1EBp+nAUfohBPwQJECy5w==
dependencies:
"@abp/core" "~4.3.0-rc.2"
"@abp/core" "~4.3.0"
luxon "^1.24.1"
"@abp/malihu-custom-scrollbar-plugin@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-4.3.0-rc.2.tgz#28fc1f216c1d84b20acaf8c8c5cf5c3b33e1aeb1"
integrity sha512-LYMXKkPVyBLWV4Qnom2MW8JJ/rZmVg1CyOFxM6JiL+dpsN1Ogw0hRG33CCHQveqUmf2cr3vf96qk5Et5DyDDIg==
"@abp/malihu-custom-scrollbar-plugin@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-4.3.0.tgz#a6ce99cf29c36985b3268fa6309aad38438d7d2d"
integrity sha512-swip33gDRAWGIdyJmD+SrNBv2uyq6PJwG9RKnpFLaUiqbU8NhtnTl+bGCkO2BTTjBrP6dOPe7bmu3B8EO/zrMQ==
dependencies:
"@abp/core" "~4.3.0-rc.2"
"@abp/core" "~4.3.0"
malihu-custom-scrollbar-plugin "^3.1.5"
"@abp/prismjs@^4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-4.3.0-rc.2.tgz#ecb98291898ba0c2fd4317be022d1a3e281c8bea"
integrity sha512-LA2pmTDhB3NwM4hEkZSW1xBXsixIXY2FVnEHS7ATkyRr36W/Gqb5fchv0ILBD7Gce40pAiPO2dMs4SUWT8qk0Q==
"@abp/prismjs@^4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-4.3.0.tgz#b970bdbe5a799dad62c91dab2232e0f68c0bc1fa"
integrity sha512-/WCbvEXxbwA/PrgakaJQz+i/7BfTuvAN6ncHmRv25KtqZrGEtlEcbbrBTyZ3/FjGWiT0RZmFk9tP7bafs0y7sg==
dependencies:
"@abp/clipboard" "~4.3.0-rc.2"
"@abp/core" "~4.3.0-rc.2"
"@abp/clipboard" "~4.3.0"
"@abp/core" "~4.3.0"
prismjs "^1.20.0"
"@abp/select2@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-4.3.0-rc.2.tgz#42d62daff9e50b1fe211a1560794625ba3f52107"
integrity sha512-okiIXmFaqx0uy/UMcpMKWKjrwop1JINyzN4FS5tafUpWhx6KcYYHudLWJvnPbsdsOeBQx91kw8jjERRJIqfEOA==
"@abp/select2@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-4.3.0.tgz#0a63ab0f740f36644017024865a4f1f4038a7bc9"
integrity sha512-uRNdTTOx5US4bOWcSDrHJt3WgWT5mroxXWooPOBirqhPVx7gvqVYDoGhXpyyoE80Hs+a/ISW/vJUIp8gsOKwEw==
dependencies:
"@abp/core" "~4.3.0-rc.2"
"@abp/core" "~4.3.0"
select2 "^4.0.13"
"@abp/sweetalert@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-4.3.0-rc.2.tgz#dfb20dfca8449ed3c3f6599d99b51746019eb664"
integrity sha512-NRKOgT80JVQrwI1FRqpbCzALvnLAFKdPwKKNDgm0L7r/5DL0+JbkKCI1AIPl/yiM8MBrCaQqNms+9JES5mjiUQ==
"@abp/sweetalert@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-4.3.0.tgz#080b1133b5b6a67593bf7ebda8e9f6042ac2f24e"
integrity sha512-hkWvmqPk0foRA44k+2VjVoyRwwaPQMBayyRocc66+XwwGU5xSwR4VosLd8xxXW8la69rhDvQdoECguXKnHPYRA==
dependencies:
"@abp/core" "~4.3.0-rc.2"
"@abp/core" "~4.3.0"
sweetalert "^2.1.2"
"@abp/timeago@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-4.3.0-rc.2.tgz#22943e219facd7fa0efddb63017198474b5cef89"
integrity sha512-TjKyuli+SpVjTgVJmraBpqJK112I+1DYHPJfso7QAH48Ra4gceGj9EVS0i/420YyLZyJSMtZOruxzYkyJeR/6w==
"@abp/timeago@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-4.3.0.tgz#79a75895781248cf7e5035204d19de7f55cbf685"
integrity sha512-R219V16eRhp4BjcmNzHHK078LF/QHr219hG7dmVtRIooNt4J8nEGDj3C5Ll1S0NjO5sM/78PhC6gLD1FQGMkaQ==
dependencies:
"@abp/jquery" "~4.3.0-rc.2"
"@abp/jquery" "~4.3.0"
timeago "^1.6.7"
"@abp/toastr@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-4.3.0-rc.2.tgz#143a344b00bbfaa858fe267fb6d627952bf7b3c0"
integrity sha512-cQV9UFWb9zarkb/CbrqkF9RXqn1Fc/TFKKM5mxpUEcYjx52NuM0d+KawdEMoN2y3y2U4ciY44kbTP2W1y+NlBg==
"@abp/toastr@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-4.3.0.tgz#3e14e461bdaf5c43548b86799062bac150e9d1bc"
integrity sha512-9g1A4U3Svp4oesB5UGmfVGb8BmXZ9PPka3OWxYh0g9UNUvBsOqfxz1MH9Ho20Gz7wQ+dTce2XWPA6VbAMfwwvQ==
dependencies:
"@abp/jquery" "~4.3.0-rc.2"
"@abp/jquery" "~4.3.0"
toastr "^2.1.4"
"@abp/utils@^4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-4.3.0-rc.2.tgz#6d051f98772e5642c2e3bc2f68e73d6f24f4694c"
integrity sha512-9qYo8OMTxIUG+qQBWXEpkURS6FUrx+J5s3SwC/eerp46hYr72GQ8L38Wq566a+xiLCn7Duxt6oJ/BxhTfQQxdw==
"@abp/utils@^4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-4.3.0.tgz#5fe44ae9a76ba8760bfd54dc6cfc64c96acc4b67"
integrity sha512-FFPSn/cL+b7/wYoRjvQLNJ3KrTiqng2gKPGf+jtMZer92fcVZtsF21ew/z+yxgj+9DRYtWbvn5iu9/ZPKL5hiw==
dependencies:
just-compare "^1.3.0"

65
modules/account/Volo.Abp.Account.abpmdl.json

@ -0,0 +1,65 @@
{
"folders": {
"src": {},
"test": {}
},
"imports": {
"Volo.Abp.Identity": {
"path": "../identity/Volo.Abp.Identity.abpmdl.json"
},
"Volo.Abp.PermissionManagement": {
"path": "../permission-management/Volo.Abp.PermissionManagement.abpmdl.json"
}
},
"packages": {
"Volo.Abp.Account.Application.Contracts": {
"path": "src/Volo.Abp.Account.Application.Contracts/Volo.Abp.Account.Application.Contracts.csproj",
"folder": "src",
"includes": {
"lib.application.contracts": {}
}
},
"Volo.Abp.Account.Application": {
"path": "src/Volo.Abp.Account.Application/Volo.Abp.Account.Application.csproj",
"folder": "src",
"includes": {
"lib.application": {}
}
},
"Volo.Abp.Account.HttpApi": {
"path": "src/Volo.Abp.Account.HttpApi/Volo.Abp.Account.HttpApi.csproj",
"folder": "src",
"includes": {
"lib.http-api": {}
}
},
"Volo.Abp.Account.HttpApi.Client": {
"path": "src/Volo.Abp.Account.HttpApi.Client/Volo.Abp.Account.HttpApi.Client.csproj",
"folder": "src",
"includes": {
"lib.http-api-client": {}
}
},
"Volo.Abp.Account.Web": {
"path": "src/Volo.Abp.Account.Web/Volo.Abp.Account.Web.csproj",
"folder": "src",
"includes": {
"lib.ui.mvc": {}
}
},
"Volo.Abp.Account.Web.IdentityServer": {
"path": "src/Volo.Abp.Account.IdentityServer/Volo.Abp.Account.IdentityServer.csproj",
"folder": "src",
"includes": {
"lib.ui.mvc": {}
}
},
"Volo.Abp.Account.Application.Tests": {
"path": "test/Volo.Abp.Account.Application.Tests/Volo.Abp.Account.Application.Tests.csproj",
"folder": "test",
"includes": {
"lib.test": {}
}
}
}
}

7
modules/account/Volo.Abp.Account.abpsln.json

@ -0,0 +1,7 @@
{
"modules": {
"Volo.Abp.Account": {
"path": "Volo.Abp.Account.abpmdl.json"
}
}
}

4
modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/nl.json

@ -60,6 +60,8 @@
"Volo.Account:InvalidEmailAddress": "Kan het opgegeven e-mailadres '{0}' niet vinden",
"PasswordReset": "Wachtwoord opnieuw instellen",
"PasswordResetInfoInEmail": "We hebben een verzoek ontvangen om uw wachtwoord opnieuw in te stellen. Als u dit verzoek heeft ingediend, klikt u op de volgende link om een nieuw wachtwoord in te stellen.",
"ResetMyPassword": "Reset mijn wachtwoord"
"ResetMyPassword": "Reset mijn wachtwoord",
"AccessDenied": "Toegang geweigerd!",
"AccessDeniedMessage": "U heeft geen toegang tot deze bron."
}
}

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.3.0-rc.2",
"@abp/blogging": "^4.3.0-rc.2"
"@abp/aspnetcore.mvc.ui.theme.basic": "^4.3.0",
"@abp/blogging": "^4.3.0"
}
}

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

@ -2,37 +2,37 @@
# yarn lockfile v1
"@abp/aspnetcore.mvc.ui.theme.basic@^4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-4.3.0-rc.2.tgz#4ebafbaade6610e3d405877a148d72d57569c3e3"
integrity sha512-Q3QqxKDFC04gaaj30Rk+9zGNfNxC8FX0jciARATceFV6pdA3F3PgT5EMDSlo6NoGniFVjHPRgay9N09zT6Htyw==
dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~4.3.0-rc.2"
"@abp/aspnetcore.mvc.ui.theme.shared@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-4.3.0-rc.2.tgz#d3bf79929c55c5380d7ca7b913a23031d7a6bd12"
integrity sha512-pz86bIV4wNeG7/UPYzNCXlJ/MdOdIygc+Com7C9Ld7gzsyER7VD9h5U/hkytvL4FBFLJn4DU+xuZNECjv0HS0A==
dependencies:
"@abp/aspnetcore.mvc.ui" "~4.3.0-rc.2"
"@abp/bootstrap" "~4.3.0-rc.2"
"@abp/bootstrap-datepicker" "~4.3.0-rc.2"
"@abp/datatables.net-bs4" "~4.3.0-rc.2"
"@abp/font-awesome" "~4.3.0-rc.2"
"@abp/jquery-form" "~4.3.0-rc.2"
"@abp/jquery-validation-unobtrusive" "~4.3.0-rc.2"
"@abp/lodash" "~4.3.0-rc.2"
"@abp/luxon" "~4.3.0-rc.2"
"@abp/malihu-custom-scrollbar-plugin" "~4.3.0-rc.2"
"@abp/select2" "~4.3.0-rc.2"
"@abp/sweetalert" "~4.3.0-rc.2"
"@abp/timeago" "~4.3.0-rc.2"
"@abp/toastr" "~4.3.0-rc.2"
"@abp/aspnetcore.mvc.ui@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-4.3.0-rc.2.tgz#6ff41be179c8d1089778a51ffa54a1f3d7614278"
integrity sha512-2L5zvuqUwPwNPcMauiiJZD1ft0QycqINz+bXEQ8t0EwbB+dzcsukL/rpOQfpeRHWWYy4nIN4C2bTvXhNgQbPqQ==
"@abp/aspnetcore.mvc.ui.theme.basic@^4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-4.3.0.tgz#33d6f72b698e5b8f399fb648817ed1fce070d482"
integrity sha512-jZNRm+R207KGs+0KvbLSGjvjm0i7y6ktHqH0tJ5nJ51B4xwOSxC64xmZXMQyazyqeGTKxpWVzIhqiFPb+q41Vg==
dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~4.3.0"
"@abp/aspnetcore.mvc.ui.theme.shared@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-4.3.0.tgz#6150c87f848e3cee36c217b01304b76aaa7991bb"
integrity sha512-urL7zQZu3jceXoSDBHQpzP/uhFYGZtreW22ohVINw2QTonCCd/ojRIVOZvf+GtMSRBqeecBqtdOjr9aoah+z9Q==
dependencies:
"@abp/aspnetcore.mvc.ui" "~4.3.0"
"@abp/bootstrap" "~4.3.0"
"@abp/bootstrap-datepicker" "~4.3.0"
"@abp/datatables.net-bs4" "~4.3.0"
"@abp/font-awesome" "~4.3.0"
"@abp/jquery-form" "~4.3.0"
"@abp/jquery-validation-unobtrusive" "~4.3.0"
"@abp/lodash" "~4.3.0"
"@abp/luxon" "~4.3.0"
"@abp/malihu-custom-scrollbar-plugin" "~4.3.0"
"@abp/select2" "~4.3.0"
"@abp/sweetalert" "~4.3.0"
"@abp/timeago" "~4.3.0"
"@abp/toastr" "~4.3.0"
"@abp/aspnetcore.mvc.ui@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-4.3.0.tgz#0098e528a929eb87da5c661cf3edf062bf2cb8c7"
integrity sha512-k0cXjDk33wDhr0tqjCG7UYJU5y2UJW+uCAp5cQTFqK9HqeYW1huGfRydECh3m8jqPGRmZRx4aJGQo6Te92bjcw==
dependencies:
ansi-colors "^4.1.1"
extend-object "^1.0.0"
@ -43,215 +43,215 @@
micromatch "^4.0.2"
path "^0.12.7"
"@abp/blogging@^4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/blogging/-/blogging-4.3.0-rc.2.tgz#4123557055737297c83970bfa4d5ddeb7d8ab8e7"
integrity sha512-yMaMYet5Y7Rfpm84zzhTNL3b8pU3CHoxRuWFGYveMz03v4lqzmHxi39GLa8Tciimth2r/6SROVpPClcLGuuNLw==
"@abp/blogging@^4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/blogging/-/blogging-4.3.0.tgz#3a0041c2e01017b9fd88eb0a7ccdac57df22a586"
integrity sha512-Syy4Y/YJTLhPJtHGvToLf+kMycu50+fkaGONKV8bAC3x+4h9z046/uWa4MHRQA6y8W3QP0fXaUa+pNzjsnL2MQ==
dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~4.3.0-rc.2"
"@abp/owl.carousel" "~4.3.0-rc.2"
"@abp/prismjs" "~4.3.0-rc.2"
"@abp/tui-editor" "~4.3.0-rc.2"
"@abp/aspnetcore.mvc.ui.theme.shared" "~4.3.0"
"@abp/owl.carousel" "~4.3.0"
"@abp/prismjs" "~4.3.0"
"@abp/tui-editor" "~4.3.0"
"@abp/bootstrap-datepicker@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-4.3.0-rc.2.tgz#29a686c3d2bce356967f646d7334cd83c4257b4c"
integrity sha512-3+B7SJRi7DQJe0aNgv0H0zu1BfvMZcwgt06N3ALR9+o3TSJcOqcYrEMed3aG+ASH++CltnohTYnLkVXaxshioA==
"@abp/bootstrap-datepicker@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-4.3.0.tgz#a4246b06d41ad39bf8a84b310227b0b44c2ca4f4"
integrity sha512-f/M7rpr87BPyk47RDUobWBbkMUwRlY+riRnWaoHkSAOwwSMBkkXsAxyEAkbRlIiYFBfNkrVl1OpTOliinhvWjQ==
dependencies:
bootstrap-datepicker "^1.9.0"
"@abp/bootstrap@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-4.3.0-rc.2.tgz#1416fe639c88b7d958435e45fe19692268a7f932"
integrity sha512-E6svmDhNQlT5nd65VgshexyedRWhbvi9o1oYo/dLTUpJDzR7M9ptDqxFLVB9vVDva3HgxUoEvgRJgb9fXvq4zw==
"@abp/bootstrap@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-4.3.0.tgz#9dc88066bbb19ee50eb27460ab06f1593fae76cd"
integrity sha512-tV/K6nNl7Rt4BEQFlbPUtXMSTC+Usc1ArP6JMNL++1xOOT2Kyye172WEWnTcT7RRnveq7kid090Dxk9g3IyprA==
dependencies:
"@abp/core" "~4.3.0-rc.2"
"@abp/core" "~4.3.0"
bootstrap "^4.6.0"
bootstrap-v4-rtl "4.6.0-1"
"@abp/clipboard@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-4.3.0-rc.2.tgz#63670e869b09f9e10ec9a2e7f8ffcc097ce1efc7"
integrity sha512-jTHzum4h5TQqAKJKEHwJ88NLFmby92hJ8byOBl/HAjOHb8LhWuw/ktTwl2knd0/63KpiCKYZGQPV3kk5JXVQ6w==
"@abp/clipboard@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-4.3.0.tgz#71ddeda84a4977c19aaeec94cbc6410d5142ab68"
integrity sha512-S2QX+Yk6f1k+X0ghEbzDI8/l6nJkeLACPVfSg0TAxbF6LES7i9YOLdfKYRvacfLheN0nQQJeWalCNsjaQXwuwA==
dependencies:
"@abp/core" "~4.3.0-rc.2"
"@abp/core" "~4.3.0"
clipboard "^2.0.6"
"@abp/codemirror@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/codemirror/-/codemirror-4.3.0-rc.2.tgz#672d43fe99b74ed5b4e85a0ba79ba70e261a8e31"
integrity sha512-ZGGg8wkxRF9ZypEfmXFHTAg+dNn7uklfsBH4PJBB7CRpI5m3qth5ZQeIoUFbdoJHFWXl/UevmM9yzI1P05jZFA==
"@abp/codemirror@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/codemirror/-/codemirror-4.3.0.tgz#d41c999b696b5db9eedc3b71f52e23b85dc26808"
integrity sha512-9uvUSRsm7vj1Qu0RxQMcMaOLo5LrUC+hFOOkNyg0Pt+PeT+tO6Jm5A2DtcVMB7s+dpP3c56LhGwMnbXkC+4ExQ==
dependencies:
"@abp/core" "~4.3.0-rc.2"
"@abp/core" "~4.3.0"
codemirror "^5.54.0"
"@abp/core@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-4.3.0-rc.2.tgz#3c9ea339624ae3b6cbee13e048268d48269ea6a9"
integrity sha512-/89xH+IVSmTOLWeUO4yVB7Hg64uHTbR7bHjgl+b94cFdtITH9Nvr2EGdXUJbHGUK7L6lSDziqiMcG/ic0061+Q==
"@abp/core@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-4.3.0.tgz#77945a62daae70b5f9f348036ab7c5a308d95a94"
integrity sha512-k+6BemPsencQasN+8W9sVYXdSOjea61ng2MIaPVTuCCjLWnReg4pQQ4QoJWsja+W36C8bratzT5ePwP6ZrCnMg==
dependencies:
"@abp/utils" "^4.3.0-rc.2"
"@abp/utils" "^4.3.0"
"@abp/datatables.net-bs4@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-4.3.0-rc.2.tgz#bbfc0d9d0ed86cdb14b38849fb78b2b1911c4a35"
integrity sha512-PRKYi2NU41KpckJ/d0buHoFbyKVuW5NCQNpUdYzDsPS2riyeXccCsLFJM1bT01TdR4Idla3vx9Fkb+HoJOiDeQ==
"@abp/datatables.net-bs4@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-4.3.0.tgz#49470ef1f1a7b57cb9cfd1b47095d2e865ce74ce"
integrity sha512-tJ49688P8hjlxKYxqP2a6PUYrYX7qhm8jIc6MZrKWQyZbRbAwF0glUYa7MO73Us9Z3HRyPczedGQ3qK9pCu0Mg==
dependencies:
"@abp/datatables.net" "~4.3.0-rc.2"
"@abp/datatables.net" "~4.3.0"
datatables.net-bs4 "^1.10.21"
"@abp/datatables.net@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-4.3.0-rc.2.tgz#1923e60db261366a7d2f284b0274d13e253567ca"
integrity sha512-rp53+5Xj1jhjpCj7UBA9+nSNbaTQ4Vc1NWCg1e5aI5tWiyZprUS44dRszIQIDV86XKorfFhog5ihOZyzl1HDyg==
"@abp/datatables.net@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-4.3.0.tgz#fa5f01eb32b60176f5bef669abd898c0778ebb2c"
integrity sha512-ZRDIeAMc9buIGuMSO8WkMm16qYS8xYljj6NxDpGTdqP/+BOnhtw3/fbH1LOLj+If38rP+Q6ANbnZp7MXzqNlig==
dependencies:
"@abp/jquery" "~4.3.0-rc.2"
"@abp/jquery" "~4.3.0"
datatables.net "^1.10.21"
"@abp/font-awesome@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-4.3.0-rc.2.tgz#437d3d6bbd8f52e5091251932d6a494d0164694b"
integrity sha512-FeHHtEQwrJBwD5PkFYqjKouCLwNjjRqTNseaN+s/r7gNjv0PgKytfRoqEb+O/BkZg/DwEuMz9jFX/RXCCNa2xA==
"@abp/font-awesome@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-4.3.0.tgz#4a372ed9294df32d477a3b08aa080b39d9b44d6a"
integrity sha512-Ny9bFIN9EZGWU2DGQeURlJmH9iYo9N7GYBluNFunmftN+K2G+2739otg06qGoLmoxF8hGzyYvKmwhykjxY9pYw==
dependencies:
"@abp/core" "~4.3.0-rc.2"
"@abp/core" "~4.3.0"
"@fortawesome/fontawesome-free" "^5.13.0"
"@abp/highlight.js@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/highlight.js/-/highlight.js-4.3.0-rc.2.tgz#a7c51e826b2a7e25c84af7ecbb38c5abe1d35dfb"
integrity sha512-oIGSsyAxdYm3ow/LbUwyYqtRvIOLQbsLQgP2+8FatnUdgFTKJRqG1RJXyPINDb3ldJlyQMFlgGlxlUV8cyqNzw==
"@abp/highlight.js@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/highlight.js/-/highlight.js-4.3.0.tgz#b55bde899dd042b279e3998c09364c77e729467a"
integrity sha512-GLy/P1STt2/DjgUStyyw8THJ89Iap4lPfHu2h/nrzZT9Qi4Gg+KbA7DWMgOEnX0ZnAS1Sk6SUnWB5UPm2CyP1A==
dependencies:
"@abp/core" "~4.3.0-rc.2"
"@abp/core" "~4.3.0"
"@abp/jquery-form@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-4.3.0-rc.2.tgz#999910deaf46330477b6ed487a771a2123d69f92"
integrity sha512-+fdEIOTlxDOdYXMtc/ujhYeuP2qiI4bmL3TQQWQxSTlW8q5jB6dHLBnHiXXltO8HxX9+7ZsjN3tsV7+Div5joA==
"@abp/jquery-form@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-4.3.0.tgz#98b9937bb258abbe306f03d5ac4e0b2b60022c4d"
integrity sha512-f4IPJnSA5v2DBEmf/XAqCqsZJR9AKzOsCCBH3GEct1VzJd4GYr9CL4qMc5jDjfCZ4PWN4SgqBd3mHQRB+yo0pA==
dependencies:
"@abp/jquery" "~4.3.0-rc.2"
"@abp/jquery" "~4.3.0"
jquery-form "^4.3.0"
"@abp/jquery-validation-unobtrusive@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-4.3.0-rc.2.tgz#0635e0c77da269e8367c3d7c388613249ce9221d"
integrity sha512-ubmPjVJatAW3AJWjWtT+ZbNLhu+HHNgcxYkFGVNusNuboTGsoBs5G45Cjzp/q5FnggWoPvkllpf8CGuaYUbpUQ==
"@abp/jquery-validation-unobtrusive@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-4.3.0.tgz#e6dc6cc94780c7db9b556f2f991d2d992dbfee38"
integrity sha512-AmvI9kOJQ9f+fTwqDMvODMSvkMgMN3XvBF0v/EbZpF86tMtQTWfCHf+gofmq9WjM96QJjhCjLRl0hirQfSBfbg==
dependencies:
"@abp/jquery-validation" "~4.3.0-rc.2"
"@abp/jquery-validation" "~4.3.0"
jquery-validation-unobtrusive "^3.2.11"
"@abp/jquery-validation@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-4.3.0-rc.2.tgz#ee145f8c4a633218ccfa50cca0bed503a0ca8dc6"
integrity sha512-SLWzN6jxVqKaHYs/d6Mku8CfhB1vWgfMbFma14upiJ+/VDkTF4Rh27iMCWKYVOS3bukh2ltBp6kPFplrjCAGSg==
"@abp/jquery-validation@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-4.3.0.tgz#89a8bc2196dfabed57ef6a754c9da4b77b0cc44f"
integrity sha512-gwvRR6117JJTRGEk1zxdR0toVsfRLekaW/YDw4DsE3iwdhBTS05DyoEpl+4kUflWrjmRSKsVhWeoyndCDMi8Qw==
dependencies:
"@abp/jquery" "~4.3.0-rc.2"
"@abp/jquery" "~4.3.0"
jquery-validation "^1.19.2"
"@abp/jquery@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-4.3.0-rc.2.tgz#f620628ea0739888cbcb360c058d09bff10d553b"
integrity sha512-+rfyLVJn7E8wJ1oQ9GiCR63Yk6wah1Hqnj4XpsRDMkIaOXKaqrnVHAZd4W2DUunQSe95wqHfkNH/wkvTyNEwUg==
"@abp/jquery@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-4.3.0.tgz#8c6dab7b0a657a7d89faee18157d6111c55d3df3"
integrity sha512-+3SCUjQjT6WQ9pYJCu3PUhgCrFPgTOD3Q/cTNbzTL5a6J3bpp+U26L5qwFhoQ0j+FH+VNAZGDsL/UtT9/Lwa1A==
dependencies:
"@abp/core" "~4.3.0-rc.2"
"@abp/core" "~4.3.0"
jquery "~3.5.1"
"@abp/lodash@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-4.3.0-rc.2.tgz#9b5429d3976b34022aaf8cab4afef57479b66821"
integrity sha512-sE2dyofYbiIy4xhL85diZWkfqBcQl1q61T0DbYDOHgaejZAJxk4bVyFpEuMiC2HwWAZ656IN1bzyQIyE1RKzQA==
"@abp/lodash@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-4.3.0.tgz#44c194c07031e162d7d8f90d7225ef4b3834c068"
integrity sha512-p+wG99Ze0+Kqee588mFkYGYbyVtdWk49eVujjHA1KdPXNC+rEco0pH1943pbSqni5VzJCIkY9PvG40If5CZykQ==
dependencies:
"@abp/core" "~4.3.0-rc.2"
"@abp/core" "~4.3.0"
lodash "^4.17.15"
"@abp/luxon@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-4.3.0-rc.2.tgz#6fdbf1624462615dcb1f5ce85c07fc3bc4065e3f"
integrity sha512-C4aT0aN3/TVtTE3m0AZyhFSeeg+RxXpUO+nffAZoM/cH5NL8tir+O1hd+dhtCb7AELaqQNx5+qgXoJLYdWMYVg==
"@abp/luxon@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-4.3.0.tgz#930ed60b19c2ad1e86e817fe10861f042b2eb08a"
integrity sha512-gusXqRmHMOqmlHRe4N9CQL4Ncr3qazwWvi8QUdEity4a2mofgVPvn7F/E7uBVFjRL1EBp+nAUfohBPwQJECy5w==
dependencies:
"@abp/core" "~4.3.0-rc.2"
"@abp/core" "~4.3.0"
luxon "^1.24.1"
"@abp/malihu-custom-scrollbar-plugin@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-4.3.0-rc.2.tgz#28fc1f216c1d84b20acaf8c8c5cf5c3b33e1aeb1"
integrity sha512-LYMXKkPVyBLWV4Qnom2MW8JJ/rZmVg1CyOFxM6JiL+dpsN1Ogw0hRG33CCHQveqUmf2cr3vf96qk5Et5DyDDIg==
"@abp/malihu-custom-scrollbar-plugin@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-4.3.0.tgz#a6ce99cf29c36985b3268fa6309aad38438d7d2d"
integrity sha512-swip33gDRAWGIdyJmD+SrNBv2uyq6PJwG9RKnpFLaUiqbU8NhtnTl+bGCkO2BTTjBrP6dOPe7bmu3B8EO/zrMQ==
dependencies:
"@abp/core" "~4.3.0-rc.2"
"@abp/core" "~4.3.0"
malihu-custom-scrollbar-plugin "^3.1.5"
"@abp/markdown-it@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/markdown-it/-/markdown-it-4.3.0-rc.2.tgz#4f1d039812e7efc8032b8542cd9d48dad136bf0d"
integrity sha512-fTMj0FFjMZcBevFWWrfnyxV5XZZYrD5Guq+cICMBYtKVqfbsy/ILpnznApXMuLxNukqIvGa8I3SdWaWO6CVhgQ==
"@abp/markdown-it@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/markdown-it/-/markdown-it-4.3.0.tgz#a75074d3f17e8dc049f77e95cdd7f22ef04b6f50"
integrity sha512-7Un4z98gZewp/ZuX4QXHFW6Wnid0sXKGl2HUHEOxGlqo4BuNWgGGVv0jG0JQ4+3jPY6A9YpUMck5eox2TrZWvQ==
dependencies:
"@abp/core" "~4.3.0-rc.2"
"@abp/core" "~4.3.0"
markdown-it "^11.0.0"
"@abp/owl.carousel@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/owl.carousel/-/owl.carousel-4.3.0-rc.2.tgz#e13a568575a3d1c0b1f9c03c215792dd5320fb2a"
integrity sha512-pu87oxJjU0wA7bcxeTd0XUPYBqXV/0/9br79nhqeK4Qz8tsI1mC4mF4LW1GmTgNDKNrNydAEAenErFzG0GOwvA==
"@abp/owl.carousel@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/owl.carousel/-/owl.carousel-4.3.0.tgz#826da153b30c2ad2588128fd0f75dd0f3f75f55a"
integrity sha512-s2c2e6y+LkkY6Y93LqLgKuUMhTez699vJboS+BFuH1D0Olnlw+b6dCWjO7jiBTWJZcuA//HiQR67vQ0HbufmHA==
dependencies:
"@abp/core" "~4.3.0-rc.2"
"@abp/core" "~4.3.0"
owl.carousel "^2.3.4"
"@abp/prismjs@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-4.3.0-rc.2.tgz#ecb98291898ba0c2fd4317be022d1a3e281c8bea"
integrity sha512-LA2pmTDhB3NwM4hEkZSW1xBXsixIXY2FVnEHS7ATkyRr36W/Gqb5fchv0ILBD7Gce40pAiPO2dMs4SUWT8qk0Q==
"@abp/prismjs@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-4.3.0.tgz#b970bdbe5a799dad62c91dab2232e0f68c0bc1fa"
integrity sha512-/WCbvEXxbwA/PrgakaJQz+i/7BfTuvAN6ncHmRv25KtqZrGEtlEcbbrBTyZ3/FjGWiT0RZmFk9tP7bafs0y7sg==
dependencies:
"@abp/clipboard" "~4.3.0-rc.2"
"@abp/core" "~4.3.0-rc.2"
"@abp/clipboard" "~4.3.0"
"@abp/core" "~4.3.0"
prismjs "^1.20.0"
"@abp/select2@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-4.3.0-rc.2.tgz#42d62daff9e50b1fe211a1560794625ba3f52107"
integrity sha512-okiIXmFaqx0uy/UMcpMKWKjrwop1JINyzN4FS5tafUpWhx6KcYYHudLWJvnPbsdsOeBQx91kw8jjERRJIqfEOA==
"@abp/select2@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-4.3.0.tgz#0a63ab0f740f36644017024865a4f1f4038a7bc9"
integrity sha512-uRNdTTOx5US4bOWcSDrHJt3WgWT5mroxXWooPOBirqhPVx7gvqVYDoGhXpyyoE80Hs+a/ISW/vJUIp8gsOKwEw==
dependencies:
"@abp/core" "~4.3.0-rc.2"
"@abp/core" "~4.3.0"
select2 "^4.0.13"
"@abp/sweetalert@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-4.3.0-rc.2.tgz#dfb20dfca8449ed3c3f6599d99b51746019eb664"
integrity sha512-NRKOgT80JVQrwI1FRqpbCzALvnLAFKdPwKKNDgm0L7r/5DL0+JbkKCI1AIPl/yiM8MBrCaQqNms+9JES5mjiUQ==
"@abp/sweetalert@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-4.3.0.tgz#080b1133b5b6a67593bf7ebda8e9f6042ac2f24e"
integrity sha512-hkWvmqPk0foRA44k+2VjVoyRwwaPQMBayyRocc66+XwwGU5xSwR4VosLd8xxXW8la69rhDvQdoECguXKnHPYRA==
dependencies:
"@abp/core" "~4.3.0-rc.2"
"@abp/core" "~4.3.0"
sweetalert "^2.1.2"
"@abp/timeago@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-4.3.0-rc.2.tgz#22943e219facd7fa0efddb63017198474b5cef89"
integrity sha512-TjKyuli+SpVjTgVJmraBpqJK112I+1DYHPJfso7QAH48Ra4gceGj9EVS0i/420YyLZyJSMtZOruxzYkyJeR/6w==
"@abp/timeago@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-4.3.0.tgz#79a75895781248cf7e5035204d19de7f55cbf685"
integrity sha512-R219V16eRhp4BjcmNzHHK078LF/QHr219hG7dmVtRIooNt4J8nEGDj3C5Ll1S0NjO5sM/78PhC6gLD1FQGMkaQ==
dependencies:
"@abp/jquery" "~4.3.0-rc.2"
"@abp/jquery" "~4.3.0"
timeago "^1.6.7"
"@abp/toastr@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-4.3.0-rc.2.tgz#143a344b00bbfaa858fe267fb6d627952bf7b3c0"
integrity sha512-cQV9UFWb9zarkb/CbrqkF9RXqn1Fc/TFKKM5mxpUEcYjx52NuM0d+KawdEMoN2y3y2U4ciY44kbTP2W1y+NlBg==
"@abp/toastr@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-4.3.0.tgz#3e14e461bdaf5c43548b86799062bac150e9d1bc"
integrity sha512-9g1A4U3Svp4oesB5UGmfVGb8BmXZ9PPka3OWxYh0g9UNUvBsOqfxz1MH9Ho20Gz7wQ+dTce2XWPA6VbAMfwwvQ==
dependencies:
"@abp/jquery" "~4.3.0-rc.2"
"@abp/jquery" "~4.3.0"
toastr "^2.1.4"
"@abp/tui-editor@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/tui-editor/-/tui-editor-4.3.0-rc.2.tgz#4d4de602faa2f1093752aa148df3fa3f5523d918"
integrity sha512-NuuQTiqYue+gJosVNzVTdx1HvuyfjoTzk1ih1uo8hkUWxcDuaK7LK/p4ZId8q10ZPeek5rhi2W9LgEj3EHkMBw==
"@abp/tui-editor@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/tui-editor/-/tui-editor-4.3.0.tgz#352e6277293b805aebdb52879f9952c37180c7ed"
integrity sha512-wYaoWP3rsK3GqGDQnXi2LimGGzbgUdfOKjuRr3R/VrLw3ZRSzfRwav/lo7vL3G0d/kjqMzdVTvYaB1xEfidVJA==
dependencies:
"@abp/codemirror" "~4.3.0-rc.2"
"@abp/highlight.js" "~4.3.0-rc.2"
"@abp/jquery" "~4.3.0-rc.2"
"@abp/markdown-it" "~4.3.0-rc.2"
"@abp/codemirror" "~4.3.0"
"@abp/highlight.js" "~4.3.0"
"@abp/jquery" "~4.3.0"
"@abp/markdown-it" "~4.3.0"
tui-code-snippet "1.5.2"
tui-editor "^1.4.10"
"@abp/utils@^4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-4.3.0-rc.2.tgz#6d051f98772e5642c2e3bc2f68e73d6f24f4694c"
integrity sha512-9qYo8OMTxIUG+qQBWXEpkURS6FUrx+J5s3SwC/eerp46hYr72GQ8L38Wq566a+xiLCn7Duxt6oJ/BxhTfQQxdw==
"@abp/utils@^4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-4.3.0.tgz#5fe44ae9a76ba8760bfd54dc6cfc64c96acc4b67"
integrity sha512-FFPSn/cL+b7/wYoRjvQLNJ3KrTiqng2gKPGf+jtMZer92fcVZtsF21ew/z+yxgj+9DRYtWbvn5iu9/ZPKL5hiw==
dependencies:
just-compare "^1.3.0"

1
modules/blogging/src/Volo.Blogging.Admin.Application/Volo.Blogging.Admin.Application.csproj

@ -16,5 +16,6 @@
<ProjectReference Include="..\Volo.Blogging.Domain\Volo.Blogging.Domain.csproj" />
<ProjectReference Include="..\..\..\..\framework\src\Volo.Abp.AutoMapper\Volo.Abp.AutoMapper.csproj" />
<ProjectReference Include="..\..\..\..\framework\src\Volo.Abp.Caching\Volo.Abp.Caching.csproj" />
<ProjectReference Include="..\..\..\..\framework\src\Volo.Abp.Ddd.Application\Volo.Abp.Ddd.Application.csproj" />
</ItemGroup>
</Project>

5
modules/blogging/src/Volo.Blogging.Admin.Application/Volo/Blogging/Admin/BloggingAdminApplicationModule.cs

@ -1,5 +1,6 @@
using Microsoft.AspNetCore.Authorization;
using Microsoft.Extensions.DependencyInjection;
using Volo.Abp.Application;
using Volo.Abp.AutoMapper;
using Volo.Abp.Caching;
using Volo.Abp.Modularity;
@ -12,7 +13,9 @@ namespace Volo.Blogging.Admin
typeof(BloggingDomainModule),
typeof(BloggingAdminApplicationContractsModule),
typeof(AbpCachingModule),
typeof(AbpAutoMapperModule))]
typeof(AbpAutoMapperModule),
typeof(AbpDddApplicationModule)
)]
public class BloggingAdminApplicationModule : AbpModule
{
public override void ConfigureServices(ServiceConfigurationContext context)

1
modules/blogging/src/Volo.Blogging.Admin.Web/Pages/Blogging/Admin/Blogs/Create.cshtml

@ -9,7 +9,6 @@
Layout = null;
}
<abp-dynamic-form submit-button="false" abp-model="Blog" asp-page="/Blogging/Admin/Blogs/Create">
<abp-modal size="@(AbpModalSize.Large)">
<abp-modal-header title="@L["Create"].Value"></abp-modal-header>

3
modules/blogging/src/Volo.Blogging.Application.Contracts.Shared/Volo.Blogging.Application.Contracts.Shared.csproj

@ -12,7 +12,8 @@
<ItemGroup>
<ProjectReference Include="..\Volo.Blogging.Domain.Shared\Volo.Blogging.Domain.Shared.csproj" />
<ProjectReference Include="..\..\..\..\framework\src\Volo.Abp.Ddd.Application\Volo.Abp.Ddd.Application.csproj" />
<ProjectReference Include="..\..\..\..\framework\src\Volo.Abp.Ddd.Application.Contracts\Volo.Abp.Ddd.Application.Contracts.csproj" />
<ProjectReference Include="..\..\..\..\framework\src\Volo.Abp.Authorization.Abstractions\Volo.Abp.Authorization.Abstractions.csproj" />
</ItemGroup>
</Project>

8
modules/blogging/src/Volo.Blogging.Application.Contracts.Shared/Volo/Blogging/BloggingApplicationContractsSharedModule.cs

@ -1,10 +1,14 @@
using Volo.Abp.Application;
using Volo.Abp.Authorization;
using Volo.Abp.Modularity;
namespace Volo.Blogging
{
[DependsOn(typeof(BloggingDomainSharedModule),
typeof(AbpDddApplicationModule))]
[DependsOn(
typeof(BloggingDomainSharedModule),
typeof(AbpDddApplicationContractsModule),
typeof(AbpAuthorizationAbstractionsModule)
)]
public class BloggingApplicationContractsSharedModule : AbpModule
{
public override void ConfigureServices(ServiceConfigurationContext context)

1
modules/blogging/src/Volo.Blogging.Application/Volo.Blogging.Application.csproj

@ -17,6 +17,7 @@
<ProjectReference Include="..\..\..\..\framework\src\Volo.Abp.AutoMapper\Volo.Abp.AutoMapper.csproj" />
<ProjectReference Include="..\..\..\..\framework\src\Volo.Abp.Caching\Volo.Abp.Caching.csproj" />
<ProjectReference Include="..\..\..\..\framework\src\Volo.Abp.BlobStoring\Volo.Abp.BlobStoring.csproj" />
<ProjectReference Include="..\..\..\..\framework\src\Volo.Abp.Ddd.Application\Volo.Abp.Ddd.Application.csproj" />
</ItemGroup>
</Project>

5
modules/blogging/src/Volo.Blogging.Application/Volo/Blogging/BloggingApplicationModule.cs

@ -1,5 +1,6 @@
using Microsoft.AspNetCore.Authorization;
using Microsoft.Extensions.DependencyInjection;
using Volo.Abp.Application;
using Volo.Abp.AutoMapper;
using Volo.Abp.BlobStoring;
using Volo.Abp.Caching;
@ -14,7 +15,9 @@ namespace Volo.Blogging
typeof(BloggingApplicationContractsModule),
typeof(AbpCachingModule),
typeof(AbpAutoMapperModule),
typeof(AbpBlobStoringModule))]
typeof(AbpBlobStoringModule),
typeof(AbpDddApplicationModule)
)]
public class BloggingApplicationModule : AbpModule
{
public override void ConfigureServices(ServiceConfigurationContext context)

33
modules/blogging/src/Volo.Blogging.Domain.Shared/Volo/Blogging/Localization/Resources/nl.json

@ -2,16 +2,17 @@
"culture": "nl",
"texts": {
"Menu:Blogs": "Blogs",
"Menu:BlogManagement": "Blog Beheer",
"Menu:BlogManagement": "Blogbeheer",
"Permission:Management": "Beheer",
"Permission:Edit": "Bewerk",
"Permission:Create": "Maak aan",
"Permission:Delete": "Verwijder",
"Permission:Edit": "Wijzigen",
"Permission:Create": "Toevoegen",
"Permission:Delete": "Verwijderen",
"Permission:Blogging": "Blog",
"Permission:Blogs": "Blogs",
"Permission:Posts": "Posts",
"Permission:Posts": "Berichten",
"Permission:Tags": "Tags",
"Permission:Comments": "Kommentaar",
"Permission:Comments": "Opmerkingen",
"Permission:ClearCache": "Cache wissen",
"Title": "Titel",
"Delete": "Verwijder",
"Reply": "Antwoord",
@ -30,17 +31,17 @@
"PopularTags": "Populaire tags",
"WiewsWithCount": "{0} keer bekeken",
"LastPosts": "Laatste berichten",
"LeaveComment": "Laat commentaar achter",
"LeaveComment": "Laat opmerking achter",
"TagsInThisArticle": "Tags in dit artikel",
"Posts": "Berichten",
"Edit": "Bewerk",
"Edit": "Wijzigen",
"BLOG": "BLOG",
"CommentDeletionWarningMessage": "Reactie wordt verwijderd.",
"PostDeletionWarningMessage": "Berich wordt verwijderd.",
"CommentDeletionWarningMessage": "Opmerking wordt verwijderd.",
"PostDeletionWarningMessage": "Bericht wordt verwijderd.",
"BlogDeletionWarningMessage": "Blog wordt verwijderd.",
"AreYouSure": "Weet u het zeker?",
"CommentWithCount": "{0} reacties",
"Comment": "Reactie",
"CommentWithCount": "{0} opmerkingen",
"Comment": "Opmerking",
"ShareOnTwitter": "Delen op Twitter",
"CoverImage": "Omslagfoto",
"CreateANewPost": "Maak een nieuw bericht",
@ -48,11 +49,13 @@
"WhatIsNew": "Wat is nieuw?",
"Name": "Naam",
"ShortName": "Korte naam",
"CreationTime": "Creatie tijd",
"CreationTime": "aanmaak tijd",
"Description": "Beschrijving",
"Blogs": "Blogs",
"Tags": "Tags",
"ShareOn": "Delen op",
"TitleLengthWarning": "Houd uw titel kleiner dan 60 tekens om SEO-vriendelijk te zijn!"
"TitleLengthWarning": "Houd uw titel kleiner dan 60 tekens om SEO-vriendelijk te zijn!",
"ClearCache": "Cache wissen",
"ClearCacheConfirmationMessage": "Weet u zeker dat u de cache wilt wissen?"
}
}
}

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.3.0-rc.2"
"@abp/aspnetcore.mvc.ui.theme.basic": "^4.3.0"
}
}

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

@ -2,37 +2,37 @@
# yarn lockfile v1
"@abp/aspnetcore.mvc.ui.theme.basic@^4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-4.3.0-rc.2.tgz#4ebafbaade6610e3d405877a148d72d57569c3e3"
integrity sha512-Q3QqxKDFC04gaaj30Rk+9zGNfNxC8FX0jciARATceFV6pdA3F3PgT5EMDSlo6NoGniFVjHPRgay9N09zT6Htyw==
dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~4.3.0-rc.2"
"@abp/aspnetcore.mvc.ui.theme.shared@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-4.3.0-rc.2.tgz#d3bf79929c55c5380d7ca7b913a23031d7a6bd12"
integrity sha512-pz86bIV4wNeG7/UPYzNCXlJ/MdOdIygc+Com7C9Ld7gzsyER7VD9h5U/hkytvL4FBFLJn4DU+xuZNECjv0HS0A==
dependencies:
"@abp/aspnetcore.mvc.ui" "~4.3.0-rc.2"
"@abp/bootstrap" "~4.3.0-rc.2"
"@abp/bootstrap-datepicker" "~4.3.0-rc.2"
"@abp/datatables.net-bs4" "~4.3.0-rc.2"
"@abp/font-awesome" "~4.3.0-rc.2"
"@abp/jquery-form" "~4.3.0-rc.2"
"@abp/jquery-validation-unobtrusive" "~4.3.0-rc.2"
"@abp/lodash" "~4.3.0-rc.2"
"@abp/luxon" "~4.3.0-rc.2"
"@abp/malihu-custom-scrollbar-plugin" "~4.3.0-rc.2"
"@abp/select2" "~4.3.0-rc.2"
"@abp/sweetalert" "~4.3.0-rc.2"
"@abp/timeago" "~4.3.0-rc.2"
"@abp/toastr" "~4.3.0-rc.2"
"@abp/aspnetcore.mvc.ui@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-4.3.0-rc.2.tgz#6ff41be179c8d1089778a51ffa54a1f3d7614278"
integrity sha512-2L5zvuqUwPwNPcMauiiJZD1ft0QycqINz+bXEQ8t0EwbB+dzcsukL/rpOQfpeRHWWYy4nIN4C2bTvXhNgQbPqQ==
"@abp/aspnetcore.mvc.ui.theme.basic@^4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-4.3.0.tgz#33d6f72b698e5b8f399fb648817ed1fce070d482"
integrity sha512-jZNRm+R207KGs+0KvbLSGjvjm0i7y6ktHqH0tJ5nJ51B4xwOSxC64xmZXMQyazyqeGTKxpWVzIhqiFPb+q41Vg==
dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~4.3.0"
"@abp/aspnetcore.mvc.ui.theme.shared@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-4.3.0.tgz#6150c87f848e3cee36c217b01304b76aaa7991bb"
integrity sha512-urL7zQZu3jceXoSDBHQpzP/uhFYGZtreW22ohVINw2QTonCCd/ojRIVOZvf+GtMSRBqeecBqtdOjr9aoah+z9Q==
dependencies:
"@abp/aspnetcore.mvc.ui" "~4.3.0"
"@abp/bootstrap" "~4.3.0"
"@abp/bootstrap-datepicker" "~4.3.0"
"@abp/datatables.net-bs4" "~4.3.0"
"@abp/font-awesome" "~4.3.0"
"@abp/jquery-form" "~4.3.0"
"@abp/jquery-validation-unobtrusive" "~4.3.0"
"@abp/lodash" "~4.3.0"
"@abp/luxon" "~4.3.0"
"@abp/malihu-custom-scrollbar-plugin" "~4.3.0"
"@abp/select2" "~4.3.0"
"@abp/sweetalert" "~4.3.0"
"@abp/timeago" "~4.3.0"
"@abp/toastr" "~4.3.0"
"@abp/aspnetcore.mvc.ui@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-4.3.0.tgz#0098e528a929eb87da5c661cf3edf062bf2cb8c7"
integrity sha512-k0cXjDk33wDhr0tqjCG7UYJU5y2UJW+uCAp5cQTFqK9HqeYW1huGfRydECh3m8jqPGRmZRx4aJGQo6Te92bjcw==
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.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-4.3.0-rc.2.tgz#29a686c3d2bce356967f646d7334cd83c4257b4c"
integrity sha512-3+B7SJRi7DQJe0aNgv0H0zu1BfvMZcwgt06N3ALR9+o3TSJcOqcYrEMed3aG+ASH++CltnohTYnLkVXaxshioA==
"@abp/bootstrap-datepicker@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-4.3.0.tgz#a4246b06d41ad39bf8a84b310227b0b44c2ca4f4"
integrity sha512-f/M7rpr87BPyk47RDUobWBbkMUwRlY+riRnWaoHkSAOwwSMBkkXsAxyEAkbRlIiYFBfNkrVl1OpTOliinhvWjQ==
dependencies:
bootstrap-datepicker "^1.9.0"
"@abp/bootstrap@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-4.3.0-rc.2.tgz#1416fe639c88b7d958435e45fe19692268a7f932"
integrity sha512-E6svmDhNQlT5nd65VgshexyedRWhbvi9o1oYo/dLTUpJDzR7M9ptDqxFLVB9vVDva3HgxUoEvgRJgb9fXvq4zw==
"@abp/bootstrap@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-4.3.0.tgz#9dc88066bbb19ee50eb27460ab06f1593fae76cd"
integrity sha512-tV/K6nNl7Rt4BEQFlbPUtXMSTC+Usc1ArP6JMNL++1xOOT2Kyye172WEWnTcT7RRnveq7kid090Dxk9g3IyprA==
dependencies:
"@abp/core" "~4.3.0-rc.2"
"@abp/core" "~4.3.0"
bootstrap "^4.6.0"
bootstrap-v4-rtl "4.6.0-1"
"@abp/core@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-4.3.0-rc.2.tgz#3c9ea339624ae3b6cbee13e048268d48269ea6a9"
integrity sha512-/89xH+IVSmTOLWeUO4yVB7Hg64uHTbR7bHjgl+b94cFdtITH9Nvr2EGdXUJbHGUK7L6lSDziqiMcG/ic0061+Q==
"@abp/core@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-4.3.0.tgz#77945a62daae70b5f9f348036ab7c5a308d95a94"
integrity sha512-k+6BemPsencQasN+8W9sVYXdSOjea61ng2MIaPVTuCCjLWnReg4pQQ4QoJWsja+W36C8bratzT5ePwP6ZrCnMg==
dependencies:
"@abp/utils" "^4.3.0-rc.2"
"@abp/utils" "^4.3.0"
"@abp/datatables.net-bs4@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-4.3.0-rc.2.tgz#bbfc0d9d0ed86cdb14b38849fb78b2b1911c4a35"
integrity sha512-PRKYi2NU41KpckJ/d0buHoFbyKVuW5NCQNpUdYzDsPS2riyeXccCsLFJM1bT01TdR4Idla3vx9Fkb+HoJOiDeQ==
"@abp/datatables.net-bs4@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-4.3.0.tgz#49470ef1f1a7b57cb9cfd1b47095d2e865ce74ce"
integrity sha512-tJ49688P8hjlxKYxqP2a6PUYrYX7qhm8jIc6MZrKWQyZbRbAwF0glUYa7MO73Us9Z3HRyPczedGQ3qK9pCu0Mg==
dependencies:
"@abp/datatables.net" "~4.3.0-rc.2"
"@abp/datatables.net" "~4.3.0"
datatables.net-bs4 "^1.10.21"
"@abp/datatables.net@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-4.3.0-rc.2.tgz#1923e60db261366a7d2f284b0274d13e253567ca"
integrity sha512-rp53+5Xj1jhjpCj7UBA9+nSNbaTQ4Vc1NWCg1e5aI5tWiyZprUS44dRszIQIDV86XKorfFhog5ihOZyzl1HDyg==
"@abp/datatables.net@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-4.3.0.tgz#fa5f01eb32b60176f5bef669abd898c0778ebb2c"
integrity sha512-ZRDIeAMc9buIGuMSO8WkMm16qYS8xYljj6NxDpGTdqP/+BOnhtw3/fbH1LOLj+If38rP+Q6ANbnZp7MXzqNlig==
dependencies:
"@abp/jquery" "~4.3.0-rc.2"
"@abp/jquery" "~4.3.0"
datatables.net "^1.10.21"
"@abp/font-awesome@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-4.3.0-rc.2.tgz#437d3d6bbd8f52e5091251932d6a494d0164694b"
integrity sha512-FeHHtEQwrJBwD5PkFYqjKouCLwNjjRqTNseaN+s/r7gNjv0PgKytfRoqEb+O/BkZg/DwEuMz9jFX/RXCCNa2xA==
"@abp/font-awesome@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-4.3.0.tgz#4a372ed9294df32d477a3b08aa080b39d9b44d6a"
integrity sha512-Ny9bFIN9EZGWU2DGQeURlJmH9iYo9N7GYBluNFunmftN+K2G+2739otg06qGoLmoxF8hGzyYvKmwhykjxY9pYw==
dependencies:
"@abp/core" "~4.3.0-rc.2"
"@abp/core" "~4.3.0"
"@fortawesome/fontawesome-free" "^5.13.0"
"@abp/jquery-form@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-4.3.0-rc.2.tgz#999910deaf46330477b6ed487a771a2123d69f92"
integrity sha512-+fdEIOTlxDOdYXMtc/ujhYeuP2qiI4bmL3TQQWQxSTlW8q5jB6dHLBnHiXXltO8HxX9+7ZsjN3tsV7+Div5joA==
"@abp/jquery-form@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-4.3.0.tgz#98b9937bb258abbe306f03d5ac4e0b2b60022c4d"
integrity sha512-f4IPJnSA5v2DBEmf/XAqCqsZJR9AKzOsCCBH3GEct1VzJd4GYr9CL4qMc5jDjfCZ4PWN4SgqBd3mHQRB+yo0pA==
dependencies:
"@abp/jquery" "~4.3.0-rc.2"
"@abp/jquery" "~4.3.0"
jquery-form "^4.3.0"
"@abp/jquery-validation-unobtrusive@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-4.3.0-rc.2.tgz#0635e0c77da269e8367c3d7c388613249ce9221d"
integrity sha512-ubmPjVJatAW3AJWjWtT+ZbNLhu+HHNgcxYkFGVNusNuboTGsoBs5G45Cjzp/q5FnggWoPvkllpf8CGuaYUbpUQ==
"@abp/jquery-validation-unobtrusive@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-4.3.0.tgz#e6dc6cc94780c7db9b556f2f991d2d992dbfee38"
integrity sha512-AmvI9kOJQ9f+fTwqDMvODMSvkMgMN3XvBF0v/EbZpF86tMtQTWfCHf+gofmq9WjM96QJjhCjLRl0hirQfSBfbg==
dependencies:
"@abp/jquery-validation" "~4.3.0-rc.2"
"@abp/jquery-validation" "~4.3.0"
jquery-validation-unobtrusive "^3.2.11"
"@abp/jquery-validation@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-4.3.0-rc.2.tgz#ee145f8c4a633218ccfa50cca0bed503a0ca8dc6"
integrity sha512-SLWzN6jxVqKaHYs/d6Mku8CfhB1vWgfMbFma14upiJ+/VDkTF4Rh27iMCWKYVOS3bukh2ltBp6kPFplrjCAGSg==
"@abp/jquery-validation@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-4.3.0.tgz#89a8bc2196dfabed57ef6a754c9da4b77b0cc44f"
integrity sha512-gwvRR6117JJTRGEk1zxdR0toVsfRLekaW/YDw4DsE3iwdhBTS05DyoEpl+4kUflWrjmRSKsVhWeoyndCDMi8Qw==
dependencies:
"@abp/jquery" "~4.3.0-rc.2"
"@abp/jquery" "~4.3.0"
jquery-validation "^1.19.2"
"@abp/jquery@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-4.3.0-rc.2.tgz#f620628ea0739888cbcb360c058d09bff10d553b"
integrity sha512-+rfyLVJn7E8wJ1oQ9GiCR63Yk6wah1Hqnj4XpsRDMkIaOXKaqrnVHAZd4W2DUunQSe95wqHfkNH/wkvTyNEwUg==
"@abp/jquery@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-4.3.0.tgz#8c6dab7b0a657a7d89faee18157d6111c55d3df3"
integrity sha512-+3SCUjQjT6WQ9pYJCu3PUhgCrFPgTOD3Q/cTNbzTL5a6J3bpp+U26L5qwFhoQ0j+FH+VNAZGDsL/UtT9/Lwa1A==
dependencies:
"@abp/core" "~4.3.0-rc.2"
"@abp/core" "~4.3.0"
jquery "~3.5.1"
"@abp/lodash@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-4.3.0-rc.2.tgz#9b5429d3976b34022aaf8cab4afef57479b66821"
integrity sha512-sE2dyofYbiIy4xhL85diZWkfqBcQl1q61T0DbYDOHgaejZAJxk4bVyFpEuMiC2HwWAZ656IN1bzyQIyE1RKzQA==
"@abp/lodash@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-4.3.0.tgz#44c194c07031e162d7d8f90d7225ef4b3834c068"
integrity sha512-p+wG99Ze0+Kqee588mFkYGYbyVtdWk49eVujjHA1KdPXNC+rEco0pH1943pbSqni5VzJCIkY9PvG40If5CZykQ==
dependencies:
"@abp/core" "~4.3.0-rc.2"
"@abp/core" "~4.3.0"
lodash "^4.17.15"
"@abp/luxon@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-4.3.0-rc.2.tgz#6fdbf1624462615dcb1f5ce85c07fc3bc4065e3f"
integrity sha512-C4aT0aN3/TVtTE3m0AZyhFSeeg+RxXpUO+nffAZoM/cH5NL8tir+O1hd+dhtCb7AELaqQNx5+qgXoJLYdWMYVg==
"@abp/luxon@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-4.3.0.tgz#930ed60b19c2ad1e86e817fe10861f042b2eb08a"
integrity sha512-gusXqRmHMOqmlHRe4N9CQL4Ncr3qazwWvi8QUdEity4a2mofgVPvn7F/E7uBVFjRL1EBp+nAUfohBPwQJECy5w==
dependencies:
"@abp/core" "~4.3.0-rc.2"
"@abp/core" "~4.3.0"
luxon "^1.24.1"
"@abp/malihu-custom-scrollbar-plugin@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-4.3.0-rc.2.tgz#28fc1f216c1d84b20acaf8c8c5cf5c3b33e1aeb1"
integrity sha512-LYMXKkPVyBLWV4Qnom2MW8JJ/rZmVg1CyOFxM6JiL+dpsN1Ogw0hRG33CCHQveqUmf2cr3vf96qk5Et5DyDDIg==
"@abp/malihu-custom-scrollbar-plugin@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-4.3.0.tgz#a6ce99cf29c36985b3268fa6309aad38438d7d2d"
integrity sha512-swip33gDRAWGIdyJmD+SrNBv2uyq6PJwG9RKnpFLaUiqbU8NhtnTl+bGCkO2BTTjBrP6dOPe7bmu3B8EO/zrMQ==
dependencies:
"@abp/core" "~4.3.0-rc.2"
"@abp/core" "~4.3.0"
malihu-custom-scrollbar-plugin "^3.1.5"
"@abp/select2@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-4.3.0-rc.2.tgz#42d62daff9e50b1fe211a1560794625ba3f52107"
integrity sha512-okiIXmFaqx0uy/UMcpMKWKjrwop1JINyzN4FS5tafUpWhx6KcYYHudLWJvnPbsdsOeBQx91kw8jjERRJIqfEOA==
"@abp/select2@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-4.3.0.tgz#0a63ab0f740f36644017024865a4f1f4038a7bc9"
integrity sha512-uRNdTTOx5US4bOWcSDrHJt3WgWT5mroxXWooPOBirqhPVx7gvqVYDoGhXpyyoE80Hs+a/ISW/vJUIp8gsOKwEw==
dependencies:
"@abp/core" "~4.3.0-rc.2"
"@abp/core" "~4.3.0"
select2 "^4.0.13"
"@abp/sweetalert@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-4.3.0-rc.2.tgz#dfb20dfca8449ed3c3f6599d99b51746019eb664"
integrity sha512-NRKOgT80JVQrwI1FRqpbCzALvnLAFKdPwKKNDgm0L7r/5DL0+JbkKCI1AIPl/yiM8MBrCaQqNms+9JES5mjiUQ==
"@abp/sweetalert@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-4.3.0.tgz#080b1133b5b6a67593bf7ebda8e9f6042ac2f24e"
integrity sha512-hkWvmqPk0foRA44k+2VjVoyRwwaPQMBayyRocc66+XwwGU5xSwR4VosLd8xxXW8la69rhDvQdoECguXKnHPYRA==
dependencies:
"@abp/core" "~4.3.0-rc.2"
"@abp/core" "~4.3.0"
sweetalert "^2.1.2"
"@abp/timeago@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-4.3.0-rc.2.tgz#22943e219facd7fa0efddb63017198474b5cef89"
integrity sha512-TjKyuli+SpVjTgVJmraBpqJK112I+1DYHPJfso7QAH48Ra4gceGj9EVS0i/420YyLZyJSMtZOruxzYkyJeR/6w==
"@abp/timeago@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-4.3.0.tgz#79a75895781248cf7e5035204d19de7f55cbf685"
integrity sha512-R219V16eRhp4BjcmNzHHK078LF/QHr219hG7dmVtRIooNt4J8nEGDj3C5Ll1S0NjO5sM/78PhC6gLD1FQGMkaQ==
dependencies:
"@abp/jquery" "~4.3.0-rc.2"
"@abp/jquery" "~4.3.0"
timeago "^1.6.7"
"@abp/toastr@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-4.3.0-rc.2.tgz#143a344b00bbfaa858fe267fb6d627952bf7b3c0"
integrity sha512-cQV9UFWb9zarkb/CbrqkF9RXqn1Fc/TFKKM5mxpUEcYjx52NuM0d+KawdEMoN2y3y2U4ciY44kbTP2W1y+NlBg==
"@abp/toastr@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-4.3.0.tgz#3e14e461bdaf5c43548b86799062bac150e9d1bc"
integrity sha512-9g1A4U3Svp4oesB5UGmfVGb8BmXZ9PPka3OWxYh0g9UNUvBsOqfxz1MH9Ho20Gz7wQ+dTce2XWPA6VbAMfwwvQ==
dependencies:
"@abp/jquery" "~4.3.0-rc.2"
"@abp/jquery" "~4.3.0"
toastr "^2.1.4"
"@abp/utils@^4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-4.3.0-rc.2.tgz#6d051f98772e5642c2e3bc2f68e73d6f24f4694c"
integrity sha512-9qYo8OMTxIUG+qQBWXEpkURS6FUrx+J5s3SwC/eerp46hYr72GQ8L38Wq566a+xiLCn7Duxt6oJ/BxhTfQQxdw==
"@abp/utils@^4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-4.3.0.tgz#5fe44ae9a76ba8760bfd54dc6cfc64c96acc4b67"
integrity sha512-FFPSn/cL+b7/wYoRjvQLNJ3KrTiqng2gKPGf+jtMZer92fcVZtsF21ew/z+yxgj+9DRYtWbvn5iu9/ZPKL5hiw==
dependencies:
just-compare "^1.3.0"

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

@ -15,11 +15,11 @@
},
"private": true,
"dependencies": {
"@abp/ng.account": "~4.3.0-rc.2",
"@abp/ng.identity": "~4.3.0-rc.2",
"@abp/ng.setting-management": "~4.3.0-rc.2",
"@abp/ng.tenant-management": "~4.3.0-rc.2",
"@abp/ng.theme.basic": "~4.3.0-rc.2",
"@abp/ng.account": "~4.3.0",
"@abp/ng.identity": "~4.3.0",
"@abp/ng.setting-management": "~4.3.0",
"@abp/ng.tenant-management": "~4.3.0",
"@abp/ng.theme.basic": "~4.3.0",
"@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.3.0-rc.2",
"@abp/ng.theme.shared": ">=4.3.0-rc.2"
"@abp/ng.core": ">=4.3.0",
"@abp/ng.theme.shared": ">=4.3.0"
},
"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.3.0-rc.2"
"@abp/aspnetcore.mvc.ui.theme.basic": "^4.3.0"
}
}

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

@ -2,37 +2,37 @@
# yarn lockfile v1
"@abp/aspnetcore.mvc.ui.theme.basic@^4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-4.3.0-rc.2.tgz#4ebafbaade6610e3d405877a148d72d57569c3e3"
integrity sha512-Q3QqxKDFC04gaaj30Rk+9zGNfNxC8FX0jciARATceFV6pdA3F3PgT5EMDSlo6NoGniFVjHPRgay9N09zT6Htyw==
dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~4.3.0-rc.2"
"@abp/aspnetcore.mvc.ui.theme.shared@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-4.3.0-rc.2.tgz#d3bf79929c55c5380d7ca7b913a23031d7a6bd12"
integrity sha512-pz86bIV4wNeG7/UPYzNCXlJ/MdOdIygc+Com7C9Ld7gzsyER7VD9h5U/hkytvL4FBFLJn4DU+xuZNECjv0HS0A==
dependencies:
"@abp/aspnetcore.mvc.ui" "~4.3.0-rc.2"
"@abp/bootstrap" "~4.3.0-rc.2"
"@abp/bootstrap-datepicker" "~4.3.0-rc.2"
"@abp/datatables.net-bs4" "~4.3.0-rc.2"
"@abp/font-awesome" "~4.3.0-rc.2"
"@abp/jquery-form" "~4.3.0-rc.2"
"@abp/jquery-validation-unobtrusive" "~4.3.0-rc.2"
"@abp/lodash" "~4.3.0-rc.2"
"@abp/luxon" "~4.3.0-rc.2"
"@abp/malihu-custom-scrollbar-plugin" "~4.3.0-rc.2"
"@abp/select2" "~4.3.0-rc.2"
"@abp/sweetalert" "~4.3.0-rc.2"
"@abp/timeago" "~4.3.0-rc.2"
"@abp/toastr" "~4.3.0-rc.2"
"@abp/aspnetcore.mvc.ui@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-4.3.0-rc.2.tgz#6ff41be179c8d1089778a51ffa54a1f3d7614278"
integrity sha512-2L5zvuqUwPwNPcMauiiJZD1ft0QycqINz+bXEQ8t0EwbB+dzcsukL/rpOQfpeRHWWYy4nIN4C2bTvXhNgQbPqQ==
"@abp/aspnetcore.mvc.ui.theme.basic@^4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-4.3.0.tgz#33d6f72b698e5b8f399fb648817ed1fce070d482"
integrity sha512-jZNRm+R207KGs+0KvbLSGjvjm0i7y6ktHqH0tJ5nJ51B4xwOSxC64xmZXMQyazyqeGTKxpWVzIhqiFPb+q41Vg==
dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~4.3.0"
"@abp/aspnetcore.mvc.ui.theme.shared@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-4.3.0.tgz#6150c87f848e3cee36c217b01304b76aaa7991bb"
integrity sha512-urL7zQZu3jceXoSDBHQpzP/uhFYGZtreW22ohVINw2QTonCCd/ojRIVOZvf+GtMSRBqeecBqtdOjr9aoah+z9Q==
dependencies:
"@abp/aspnetcore.mvc.ui" "~4.3.0"
"@abp/bootstrap" "~4.3.0"
"@abp/bootstrap-datepicker" "~4.3.0"
"@abp/datatables.net-bs4" "~4.3.0"
"@abp/font-awesome" "~4.3.0"
"@abp/jquery-form" "~4.3.0"
"@abp/jquery-validation-unobtrusive" "~4.3.0"
"@abp/lodash" "~4.3.0"
"@abp/luxon" "~4.3.0"
"@abp/malihu-custom-scrollbar-plugin" "~4.3.0"
"@abp/select2" "~4.3.0"
"@abp/sweetalert" "~4.3.0"
"@abp/timeago" "~4.3.0"
"@abp/toastr" "~4.3.0"
"@abp/aspnetcore.mvc.ui@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-4.3.0.tgz#0098e528a929eb87da5c661cf3edf062bf2cb8c7"
integrity sha512-k0cXjDk33wDhr0tqjCG7UYJU5y2UJW+uCAp5cQTFqK9HqeYW1huGfRydECh3m8jqPGRmZRx4aJGQo6Te92bjcw==
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.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-4.3.0-rc.2.tgz#29a686c3d2bce356967f646d7334cd83c4257b4c"
integrity sha512-3+B7SJRi7DQJe0aNgv0H0zu1BfvMZcwgt06N3ALR9+o3TSJcOqcYrEMed3aG+ASH++CltnohTYnLkVXaxshioA==
"@abp/bootstrap-datepicker@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-4.3.0.tgz#a4246b06d41ad39bf8a84b310227b0b44c2ca4f4"
integrity sha512-f/M7rpr87BPyk47RDUobWBbkMUwRlY+riRnWaoHkSAOwwSMBkkXsAxyEAkbRlIiYFBfNkrVl1OpTOliinhvWjQ==
dependencies:
bootstrap-datepicker "^1.9.0"
"@abp/bootstrap@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-4.3.0-rc.2.tgz#1416fe639c88b7d958435e45fe19692268a7f932"
integrity sha512-E6svmDhNQlT5nd65VgshexyedRWhbvi9o1oYo/dLTUpJDzR7M9ptDqxFLVB9vVDva3HgxUoEvgRJgb9fXvq4zw==
"@abp/bootstrap@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-4.3.0.tgz#9dc88066bbb19ee50eb27460ab06f1593fae76cd"
integrity sha512-tV/K6nNl7Rt4BEQFlbPUtXMSTC+Usc1ArP6JMNL++1xOOT2Kyye172WEWnTcT7RRnveq7kid090Dxk9g3IyprA==
dependencies:
"@abp/core" "~4.3.0-rc.2"
"@abp/core" "~4.3.0"
bootstrap "^4.6.0"
bootstrap-v4-rtl "4.6.0-1"
"@abp/core@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-4.3.0-rc.2.tgz#3c9ea339624ae3b6cbee13e048268d48269ea6a9"
integrity sha512-/89xH+IVSmTOLWeUO4yVB7Hg64uHTbR7bHjgl+b94cFdtITH9Nvr2EGdXUJbHGUK7L6lSDziqiMcG/ic0061+Q==
"@abp/core@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-4.3.0.tgz#77945a62daae70b5f9f348036ab7c5a308d95a94"
integrity sha512-k+6BemPsencQasN+8W9sVYXdSOjea61ng2MIaPVTuCCjLWnReg4pQQ4QoJWsja+W36C8bratzT5ePwP6ZrCnMg==
dependencies:
"@abp/utils" "^4.3.0-rc.2"
"@abp/utils" "^4.3.0"
"@abp/datatables.net-bs4@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-4.3.0-rc.2.tgz#bbfc0d9d0ed86cdb14b38849fb78b2b1911c4a35"
integrity sha512-PRKYi2NU41KpckJ/d0buHoFbyKVuW5NCQNpUdYzDsPS2riyeXccCsLFJM1bT01TdR4Idla3vx9Fkb+HoJOiDeQ==
"@abp/datatables.net-bs4@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-4.3.0.tgz#49470ef1f1a7b57cb9cfd1b47095d2e865ce74ce"
integrity sha512-tJ49688P8hjlxKYxqP2a6PUYrYX7qhm8jIc6MZrKWQyZbRbAwF0glUYa7MO73Us9Z3HRyPczedGQ3qK9pCu0Mg==
dependencies:
"@abp/datatables.net" "~4.3.0-rc.2"
"@abp/datatables.net" "~4.3.0"
datatables.net-bs4 "^1.10.21"
"@abp/datatables.net@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-4.3.0-rc.2.tgz#1923e60db261366a7d2f284b0274d13e253567ca"
integrity sha512-rp53+5Xj1jhjpCj7UBA9+nSNbaTQ4Vc1NWCg1e5aI5tWiyZprUS44dRszIQIDV86XKorfFhog5ihOZyzl1HDyg==
"@abp/datatables.net@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-4.3.0.tgz#fa5f01eb32b60176f5bef669abd898c0778ebb2c"
integrity sha512-ZRDIeAMc9buIGuMSO8WkMm16qYS8xYljj6NxDpGTdqP/+BOnhtw3/fbH1LOLj+If38rP+Q6ANbnZp7MXzqNlig==
dependencies:
"@abp/jquery" "~4.3.0-rc.2"
"@abp/jquery" "~4.3.0"
datatables.net "^1.10.21"
"@abp/font-awesome@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-4.3.0-rc.2.tgz#437d3d6bbd8f52e5091251932d6a494d0164694b"
integrity sha512-FeHHtEQwrJBwD5PkFYqjKouCLwNjjRqTNseaN+s/r7gNjv0PgKytfRoqEb+O/BkZg/DwEuMz9jFX/RXCCNa2xA==
"@abp/font-awesome@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-4.3.0.tgz#4a372ed9294df32d477a3b08aa080b39d9b44d6a"
integrity sha512-Ny9bFIN9EZGWU2DGQeURlJmH9iYo9N7GYBluNFunmftN+K2G+2739otg06qGoLmoxF8hGzyYvKmwhykjxY9pYw==
dependencies:
"@abp/core" "~4.3.0-rc.2"
"@abp/core" "~4.3.0"
"@fortawesome/fontawesome-free" "^5.13.0"
"@abp/jquery-form@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-4.3.0-rc.2.tgz#999910deaf46330477b6ed487a771a2123d69f92"
integrity sha512-+fdEIOTlxDOdYXMtc/ujhYeuP2qiI4bmL3TQQWQxSTlW8q5jB6dHLBnHiXXltO8HxX9+7ZsjN3tsV7+Div5joA==
"@abp/jquery-form@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-4.3.0.tgz#98b9937bb258abbe306f03d5ac4e0b2b60022c4d"
integrity sha512-f4IPJnSA5v2DBEmf/XAqCqsZJR9AKzOsCCBH3GEct1VzJd4GYr9CL4qMc5jDjfCZ4PWN4SgqBd3mHQRB+yo0pA==
dependencies:
"@abp/jquery" "~4.3.0-rc.2"
"@abp/jquery" "~4.3.0"
jquery-form "^4.3.0"
"@abp/jquery-validation-unobtrusive@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-4.3.0-rc.2.tgz#0635e0c77da269e8367c3d7c388613249ce9221d"
integrity sha512-ubmPjVJatAW3AJWjWtT+ZbNLhu+HHNgcxYkFGVNusNuboTGsoBs5G45Cjzp/q5FnggWoPvkllpf8CGuaYUbpUQ==
"@abp/jquery-validation-unobtrusive@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-4.3.0.tgz#e6dc6cc94780c7db9b556f2f991d2d992dbfee38"
integrity sha512-AmvI9kOJQ9f+fTwqDMvODMSvkMgMN3XvBF0v/EbZpF86tMtQTWfCHf+gofmq9WjM96QJjhCjLRl0hirQfSBfbg==
dependencies:
"@abp/jquery-validation" "~4.3.0-rc.2"
"@abp/jquery-validation" "~4.3.0"
jquery-validation-unobtrusive "^3.2.11"
"@abp/jquery-validation@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-4.3.0-rc.2.tgz#ee145f8c4a633218ccfa50cca0bed503a0ca8dc6"
integrity sha512-SLWzN6jxVqKaHYs/d6Mku8CfhB1vWgfMbFma14upiJ+/VDkTF4Rh27iMCWKYVOS3bukh2ltBp6kPFplrjCAGSg==
"@abp/jquery-validation@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-4.3.0.tgz#89a8bc2196dfabed57ef6a754c9da4b77b0cc44f"
integrity sha512-gwvRR6117JJTRGEk1zxdR0toVsfRLekaW/YDw4DsE3iwdhBTS05DyoEpl+4kUflWrjmRSKsVhWeoyndCDMi8Qw==
dependencies:
"@abp/jquery" "~4.3.0-rc.2"
"@abp/jquery" "~4.3.0"
jquery-validation "^1.19.2"
"@abp/jquery@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-4.3.0-rc.2.tgz#f620628ea0739888cbcb360c058d09bff10d553b"
integrity sha512-+rfyLVJn7E8wJ1oQ9GiCR63Yk6wah1Hqnj4XpsRDMkIaOXKaqrnVHAZd4W2DUunQSe95wqHfkNH/wkvTyNEwUg==
"@abp/jquery@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-4.3.0.tgz#8c6dab7b0a657a7d89faee18157d6111c55d3df3"
integrity sha512-+3SCUjQjT6WQ9pYJCu3PUhgCrFPgTOD3Q/cTNbzTL5a6J3bpp+U26L5qwFhoQ0j+FH+VNAZGDsL/UtT9/Lwa1A==
dependencies:
"@abp/core" "~4.3.0-rc.2"
"@abp/core" "~4.3.0"
jquery "~3.5.1"
"@abp/lodash@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-4.3.0-rc.2.tgz#9b5429d3976b34022aaf8cab4afef57479b66821"
integrity sha512-sE2dyofYbiIy4xhL85diZWkfqBcQl1q61T0DbYDOHgaejZAJxk4bVyFpEuMiC2HwWAZ656IN1bzyQIyE1RKzQA==
"@abp/lodash@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-4.3.0.tgz#44c194c07031e162d7d8f90d7225ef4b3834c068"
integrity sha512-p+wG99Ze0+Kqee588mFkYGYbyVtdWk49eVujjHA1KdPXNC+rEco0pH1943pbSqni5VzJCIkY9PvG40If5CZykQ==
dependencies:
"@abp/core" "~4.3.0-rc.2"
"@abp/core" "~4.3.0"
lodash "^4.17.15"
"@abp/luxon@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-4.3.0-rc.2.tgz#6fdbf1624462615dcb1f5ce85c07fc3bc4065e3f"
integrity sha512-C4aT0aN3/TVtTE3m0AZyhFSeeg+RxXpUO+nffAZoM/cH5NL8tir+O1hd+dhtCb7AELaqQNx5+qgXoJLYdWMYVg==
"@abp/luxon@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-4.3.0.tgz#930ed60b19c2ad1e86e817fe10861f042b2eb08a"
integrity sha512-gusXqRmHMOqmlHRe4N9CQL4Ncr3qazwWvi8QUdEity4a2mofgVPvn7F/E7uBVFjRL1EBp+nAUfohBPwQJECy5w==
dependencies:
"@abp/core" "~4.3.0-rc.2"
"@abp/core" "~4.3.0"
luxon "^1.24.1"
"@abp/malihu-custom-scrollbar-plugin@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-4.3.0-rc.2.tgz#28fc1f216c1d84b20acaf8c8c5cf5c3b33e1aeb1"
integrity sha512-LYMXKkPVyBLWV4Qnom2MW8JJ/rZmVg1CyOFxM6JiL+dpsN1Ogw0hRG33CCHQveqUmf2cr3vf96qk5Et5DyDDIg==
"@abp/malihu-custom-scrollbar-plugin@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-4.3.0.tgz#a6ce99cf29c36985b3268fa6309aad38438d7d2d"
integrity sha512-swip33gDRAWGIdyJmD+SrNBv2uyq6PJwG9RKnpFLaUiqbU8NhtnTl+bGCkO2BTTjBrP6dOPe7bmu3B8EO/zrMQ==
dependencies:
"@abp/core" "~4.3.0-rc.2"
"@abp/core" "~4.3.0"
malihu-custom-scrollbar-plugin "^3.1.5"
"@abp/select2@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-4.3.0-rc.2.tgz#42d62daff9e50b1fe211a1560794625ba3f52107"
integrity sha512-okiIXmFaqx0uy/UMcpMKWKjrwop1JINyzN4FS5tafUpWhx6KcYYHudLWJvnPbsdsOeBQx91kw8jjERRJIqfEOA==
"@abp/select2@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-4.3.0.tgz#0a63ab0f740f36644017024865a4f1f4038a7bc9"
integrity sha512-uRNdTTOx5US4bOWcSDrHJt3WgWT5mroxXWooPOBirqhPVx7gvqVYDoGhXpyyoE80Hs+a/ISW/vJUIp8gsOKwEw==
dependencies:
"@abp/core" "~4.3.0-rc.2"
"@abp/core" "~4.3.0"
select2 "^4.0.13"
"@abp/sweetalert@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-4.3.0-rc.2.tgz#dfb20dfca8449ed3c3f6599d99b51746019eb664"
integrity sha512-NRKOgT80JVQrwI1FRqpbCzALvnLAFKdPwKKNDgm0L7r/5DL0+JbkKCI1AIPl/yiM8MBrCaQqNms+9JES5mjiUQ==
"@abp/sweetalert@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-4.3.0.tgz#080b1133b5b6a67593bf7ebda8e9f6042ac2f24e"
integrity sha512-hkWvmqPk0foRA44k+2VjVoyRwwaPQMBayyRocc66+XwwGU5xSwR4VosLd8xxXW8la69rhDvQdoECguXKnHPYRA==
dependencies:
"@abp/core" "~4.3.0-rc.2"
"@abp/core" "~4.3.0"
sweetalert "^2.1.2"
"@abp/timeago@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-4.3.0-rc.2.tgz#22943e219facd7fa0efddb63017198474b5cef89"
integrity sha512-TjKyuli+SpVjTgVJmraBpqJK112I+1DYHPJfso7QAH48Ra4gceGj9EVS0i/420YyLZyJSMtZOruxzYkyJeR/6w==
"@abp/timeago@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-4.3.0.tgz#79a75895781248cf7e5035204d19de7f55cbf685"
integrity sha512-R219V16eRhp4BjcmNzHHK078LF/QHr219hG7dmVtRIooNt4J8nEGDj3C5Ll1S0NjO5sM/78PhC6gLD1FQGMkaQ==
dependencies:
"@abp/jquery" "~4.3.0-rc.2"
"@abp/jquery" "~4.3.0"
timeago "^1.6.7"
"@abp/toastr@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-4.3.0-rc.2.tgz#143a344b00bbfaa858fe267fb6d627952bf7b3c0"
integrity sha512-cQV9UFWb9zarkb/CbrqkF9RXqn1Fc/TFKKM5mxpUEcYjx52NuM0d+KawdEMoN2y3y2U4ciY44kbTP2W1y+NlBg==
"@abp/toastr@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-4.3.0.tgz#3e14e461bdaf5c43548b86799062bac150e9d1bc"
integrity sha512-9g1A4U3Svp4oesB5UGmfVGb8BmXZ9PPka3OWxYh0g9UNUvBsOqfxz1MH9Ho20Gz7wQ+dTce2XWPA6VbAMfwwvQ==
dependencies:
"@abp/jquery" "~4.3.0-rc.2"
"@abp/jquery" "~4.3.0"
toastr "^2.1.4"
"@abp/utils@^4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-4.3.0-rc.2.tgz#6d051f98772e5642c2e3bc2f68e73d6f24f4694c"
integrity sha512-9qYo8OMTxIUG+qQBWXEpkURS6FUrx+J5s3SwC/eerp46hYr72GQ8L38Wq566a+xiLCn7Duxt6oJ/BxhTfQQxdw==
"@abp/utils@^4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-4.3.0.tgz#5fe44ae9a76ba8760bfd54dc6cfc64c96acc4b67"
integrity sha512-FFPSn/cL+b7/wYoRjvQLNJ3KrTiqng2gKPGf+jtMZer92fcVZtsF21ew/z+yxgj+9DRYtWbvn5iu9/ZPKL5hiw==
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.3.0-rc.2"
"@abp/aspnetcore.mvc.ui.theme.basic": "^4.3.0"
}
}

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.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-4.3.0-rc.2.tgz#4ebafbaade6610e3d405877a148d72d57569c3e3"
integrity sha512-Q3QqxKDFC04gaaj30Rk+9zGNfNxC8FX0jciARATceFV6pdA3F3PgT5EMDSlo6NoGniFVjHPRgay9N09zT6Htyw==
dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~4.3.0-rc.2"
"@abp/aspnetcore.mvc.ui.theme.shared@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-4.3.0-rc.2.tgz#d3bf79929c55c5380d7ca7b913a23031d7a6bd12"
integrity sha512-pz86bIV4wNeG7/UPYzNCXlJ/MdOdIygc+Com7C9Ld7gzsyER7VD9h5U/hkytvL4FBFLJn4DU+xuZNECjv0HS0A==
dependencies:
"@abp/aspnetcore.mvc.ui" "~4.3.0-rc.2"
"@abp/bootstrap" "~4.3.0-rc.2"
"@abp/bootstrap-datepicker" "~4.3.0-rc.2"
"@abp/datatables.net-bs4" "~4.3.0-rc.2"
"@abp/font-awesome" "~4.3.0-rc.2"
"@abp/jquery-form" "~4.3.0-rc.2"
"@abp/jquery-validation-unobtrusive" "~4.3.0-rc.2"
"@abp/lodash" "~4.3.0-rc.2"
"@abp/luxon" "~4.3.0-rc.2"
"@abp/malihu-custom-scrollbar-plugin" "~4.3.0-rc.2"
"@abp/select2" "~4.3.0-rc.2"
"@abp/sweetalert" "~4.3.0-rc.2"
"@abp/timeago" "~4.3.0-rc.2"
"@abp/toastr" "~4.3.0-rc.2"
"@abp/aspnetcore.mvc.ui@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-4.3.0-rc.2.tgz#6ff41be179c8d1089778a51ffa54a1f3d7614278"
integrity sha512-2L5zvuqUwPwNPcMauiiJZD1ft0QycqINz+bXEQ8t0EwbB+dzcsukL/rpOQfpeRHWWYy4nIN4C2bTvXhNgQbPqQ==
"@abp/aspnetcore.mvc.ui.theme.basic@^4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-4.3.0.tgz#33d6f72b698e5b8f399fb648817ed1fce070d482"
integrity sha512-jZNRm+R207KGs+0KvbLSGjvjm0i7y6ktHqH0tJ5nJ51B4xwOSxC64xmZXMQyazyqeGTKxpWVzIhqiFPb+q41Vg==
dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~4.3.0"
"@abp/aspnetcore.mvc.ui.theme.shared@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-4.3.0.tgz#6150c87f848e3cee36c217b01304b76aaa7991bb"
integrity sha512-urL7zQZu3jceXoSDBHQpzP/uhFYGZtreW22ohVINw2QTonCCd/ojRIVOZvf+GtMSRBqeecBqtdOjr9aoah+z9Q==
dependencies:
"@abp/aspnetcore.mvc.ui" "~4.3.0"
"@abp/bootstrap" "~4.3.0"
"@abp/bootstrap-datepicker" "~4.3.0"
"@abp/datatables.net-bs4" "~4.3.0"
"@abp/font-awesome" "~4.3.0"
"@abp/jquery-form" "~4.3.0"
"@abp/jquery-validation-unobtrusive" "~4.3.0"
"@abp/lodash" "~4.3.0"
"@abp/luxon" "~4.3.0"
"@abp/malihu-custom-scrollbar-plugin" "~4.3.0"
"@abp/select2" "~4.3.0"
"@abp/sweetalert" "~4.3.0"
"@abp/timeago" "~4.3.0"
"@abp/toastr" "~4.3.0"
"@abp/aspnetcore.mvc.ui@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-4.3.0.tgz#0098e528a929eb87da5c661cf3edf062bf2cb8c7"
integrity sha512-k0cXjDk33wDhr0tqjCG7UYJU5y2UJW+uCAp5cQTFqK9HqeYW1huGfRydECh3m8jqPGRmZRx4aJGQo6Te92bjcw==
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.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-4.3.0-rc.2.tgz#29a686c3d2bce356967f646d7334cd83c4257b4c"
integrity sha512-3+B7SJRi7DQJe0aNgv0H0zu1BfvMZcwgt06N3ALR9+o3TSJcOqcYrEMed3aG+ASH++CltnohTYnLkVXaxshioA==
"@abp/bootstrap-datepicker@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-4.3.0.tgz#a4246b06d41ad39bf8a84b310227b0b44c2ca4f4"
integrity sha512-f/M7rpr87BPyk47RDUobWBbkMUwRlY+riRnWaoHkSAOwwSMBkkXsAxyEAkbRlIiYFBfNkrVl1OpTOliinhvWjQ==
dependencies:
bootstrap-datepicker "^1.9.0"
"@abp/bootstrap@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-4.3.0-rc.2.tgz#1416fe639c88b7d958435e45fe19692268a7f932"
integrity sha512-E6svmDhNQlT5nd65VgshexyedRWhbvi9o1oYo/dLTUpJDzR7M9ptDqxFLVB9vVDva3HgxUoEvgRJgb9fXvq4zw==
"@abp/bootstrap@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-4.3.0.tgz#9dc88066bbb19ee50eb27460ab06f1593fae76cd"
integrity sha512-tV/K6nNl7Rt4BEQFlbPUtXMSTC+Usc1ArP6JMNL++1xOOT2Kyye172WEWnTcT7RRnveq7kid090Dxk9g3IyprA==
dependencies:
"@abp/core" "~4.3.0-rc.2"
"@abp/core" "~4.3.0"
bootstrap "^4.6.0"
bootstrap-v4-rtl "4.6.0-1"
"@abp/core@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-4.3.0-rc.2.tgz#3c9ea339624ae3b6cbee13e048268d48269ea6a9"
integrity sha512-/89xH+IVSmTOLWeUO4yVB7Hg64uHTbR7bHjgl+b94cFdtITH9Nvr2EGdXUJbHGUK7L6lSDziqiMcG/ic0061+Q==
"@abp/core@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-4.3.0.tgz#77945a62daae70b5f9f348036ab7c5a308d95a94"
integrity sha512-k+6BemPsencQasN+8W9sVYXdSOjea61ng2MIaPVTuCCjLWnReg4pQQ4QoJWsja+W36C8bratzT5ePwP6ZrCnMg==
dependencies:
"@abp/utils" "^4.3.0-rc.2"
"@abp/utils" "^4.3.0"
"@abp/datatables.net-bs4@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-4.3.0-rc.2.tgz#bbfc0d9d0ed86cdb14b38849fb78b2b1911c4a35"
integrity sha512-PRKYi2NU41KpckJ/d0buHoFbyKVuW5NCQNpUdYzDsPS2riyeXccCsLFJM1bT01TdR4Idla3vx9Fkb+HoJOiDeQ==
"@abp/datatables.net-bs4@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-4.3.0.tgz#49470ef1f1a7b57cb9cfd1b47095d2e865ce74ce"
integrity sha512-tJ49688P8hjlxKYxqP2a6PUYrYX7qhm8jIc6MZrKWQyZbRbAwF0glUYa7MO73Us9Z3HRyPczedGQ3qK9pCu0Mg==
dependencies:
"@abp/datatables.net" "~4.3.0-rc.2"
"@abp/datatables.net" "~4.3.0"
datatables.net-bs4 "^1.10.21"
"@abp/datatables.net@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-4.3.0-rc.2.tgz#1923e60db261366a7d2f284b0274d13e253567ca"
integrity sha512-rp53+5Xj1jhjpCj7UBA9+nSNbaTQ4Vc1NWCg1e5aI5tWiyZprUS44dRszIQIDV86XKorfFhog5ihOZyzl1HDyg==
"@abp/datatables.net@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-4.3.0.tgz#fa5f01eb32b60176f5bef669abd898c0778ebb2c"
integrity sha512-ZRDIeAMc9buIGuMSO8WkMm16qYS8xYljj6NxDpGTdqP/+BOnhtw3/fbH1LOLj+If38rP+Q6ANbnZp7MXzqNlig==
dependencies:
"@abp/jquery" "~4.3.0-rc.2"
"@abp/jquery" "~4.3.0"
datatables.net "^1.10.21"
"@abp/font-awesome@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-4.3.0-rc.2.tgz#437d3d6bbd8f52e5091251932d6a494d0164694b"
integrity sha512-FeHHtEQwrJBwD5PkFYqjKouCLwNjjRqTNseaN+s/r7gNjv0PgKytfRoqEb+O/BkZg/DwEuMz9jFX/RXCCNa2xA==
"@abp/font-awesome@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-4.3.0.tgz#4a372ed9294df32d477a3b08aa080b39d9b44d6a"
integrity sha512-Ny9bFIN9EZGWU2DGQeURlJmH9iYo9N7GYBluNFunmftN+K2G+2739otg06qGoLmoxF8hGzyYvKmwhykjxY9pYw==
dependencies:
"@abp/core" "~4.3.0-rc.2"
"@abp/core" "~4.3.0"
"@fortawesome/fontawesome-free" "^5.13.0"
"@abp/jquery-form@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-4.3.0-rc.2.tgz#999910deaf46330477b6ed487a771a2123d69f92"
integrity sha512-+fdEIOTlxDOdYXMtc/ujhYeuP2qiI4bmL3TQQWQxSTlW8q5jB6dHLBnHiXXltO8HxX9+7ZsjN3tsV7+Div5joA==
"@abp/jquery-form@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-4.3.0.tgz#98b9937bb258abbe306f03d5ac4e0b2b60022c4d"
integrity sha512-f4IPJnSA5v2DBEmf/XAqCqsZJR9AKzOsCCBH3GEct1VzJd4GYr9CL4qMc5jDjfCZ4PWN4SgqBd3mHQRB+yo0pA==
dependencies:
"@abp/jquery" "~4.3.0-rc.2"
"@abp/jquery" "~4.3.0"
jquery-form "^4.3.0"
"@abp/jquery-validation-unobtrusive@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-4.3.0-rc.2.tgz#0635e0c77da269e8367c3d7c388613249ce9221d"
integrity sha512-ubmPjVJatAW3AJWjWtT+ZbNLhu+HHNgcxYkFGVNusNuboTGsoBs5G45Cjzp/q5FnggWoPvkllpf8CGuaYUbpUQ==
"@abp/jquery-validation-unobtrusive@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-4.3.0.tgz#e6dc6cc94780c7db9b556f2f991d2d992dbfee38"
integrity sha512-AmvI9kOJQ9f+fTwqDMvODMSvkMgMN3XvBF0v/EbZpF86tMtQTWfCHf+gofmq9WjM96QJjhCjLRl0hirQfSBfbg==
dependencies:
"@abp/jquery-validation" "~4.3.0-rc.2"
"@abp/jquery-validation" "~4.3.0"
jquery-validation-unobtrusive "^3.2.11"
"@abp/jquery-validation@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-4.3.0-rc.2.tgz#ee145f8c4a633218ccfa50cca0bed503a0ca8dc6"
integrity sha512-SLWzN6jxVqKaHYs/d6Mku8CfhB1vWgfMbFma14upiJ+/VDkTF4Rh27iMCWKYVOS3bukh2ltBp6kPFplrjCAGSg==
"@abp/jquery-validation@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-4.3.0.tgz#89a8bc2196dfabed57ef6a754c9da4b77b0cc44f"
integrity sha512-gwvRR6117JJTRGEk1zxdR0toVsfRLekaW/YDw4DsE3iwdhBTS05DyoEpl+4kUflWrjmRSKsVhWeoyndCDMi8Qw==
dependencies:
"@abp/jquery" "~4.3.0-rc.2"
"@abp/jquery" "~4.3.0"
jquery-validation "^1.19.2"
"@abp/jquery@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-4.3.0-rc.2.tgz#f620628ea0739888cbcb360c058d09bff10d553b"
integrity sha512-+rfyLVJn7E8wJ1oQ9GiCR63Yk6wah1Hqnj4XpsRDMkIaOXKaqrnVHAZd4W2DUunQSe95wqHfkNH/wkvTyNEwUg==
"@abp/jquery@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-4.3.0.tgz#8c6dab7b0a657a7d89faee18157d6111c55d3df3"
integrity sha512-+3SCUjQjT6WQ9pYJCu3PUhgCrFPgTOD3Q/cTNbzTL5a6J3bpp+U26L5qwFhoQ0j+FH+VNAZGDsL/UtT9/Lwa1A==
dependencies:
"@abp/core" "~4.3.0-rc.2"
"@abp/core" "~4.3.0"
jquery "~3.5.1"
"@abp/lodash@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-4.3.0-rc.2.tgz#9b5429d3976b34022aaf8cab4afef57479b66821"
integrity sha512-sE2dyofYbiIy4xhL85diZWkfqBcQl1q61T0DbYDOHgaejZAJxk4bVyFpEuMiC2HwWAZ656IN1bzyQIyE1RKzQA==
"@abp/lodash@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-4.3.0.tgz#44c194c07031e162d7d8f90d7225ef4b3834c068"
integrity sha512-p+wG99Ze0+Kqee588mFkYGYbyVtdWk49eVujjHA1KdPXNC+rEco0pH1943pbSqni5VzJCIkY9PvG40If5CZykQ==
dependencies:
"@abp/core" "~4.3.0-rc.2"
"@abp/core" "~4.3.0"
lodash "^4.17.15"
"@abp/luxon@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-4.3.0-rc.2.tgz#6fdbf1624462615dcb1f5ce85c07fc3bc4065e3f"
integrity sha512-C4aT0aN3/TVtTE3m0AZyhFSeeg+RxXpUO+nffAZoM/cH5NL8tir+O1hd+dhtCb7AELaqQNx5+qgXoJLYdWMYVg==
"@abp/luxon@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-4.3.0.tgz#930ed60b19c2ad1e86e817fe10861f042b2eb08a"
integrity sha512-gusXqRmHMOqmlHRe4N9CQL4Ncr3qazwWvi8QUdEity4a2mofgVPvn7F/E7uBVFjRL1EBp+nAUfohBPwQJECy5w==
dependencies:
"@abp/core" "~4.3.0-rc.2"
"@abp/core" "~4.3.0"
luxon "^1.24.1"
"@abp/malihu-custom-scrollbar-plugin@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-4.3.0-rc.2.tgz#28fc1f216c1d84b20acaf8c8c5cf5c3b33e1aeb1"
integrity sha512-LYMXKkPVyBLWV4Qnom2MW8JJ/rZmVg1CyOFxM6JiL+dpsN1Ogw0hRG33CCHQveqUmf2cr3vf96qk5Et5DyDDIg==
"@abp/malihu-custom-scrollbar-plugin@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-4.3.0.tgz#a6ce99cf29c36985b3268fa6309aad38438d7d2d"
integrity sha512-swip33gDRAWGIdyJmD+SrNBv2uyq6PJwG9RKnpFLaUiqbU8NhtnTl+bGCkO2BTTjBrP6dOPe7bmu3B8EO/zrMQ==
dependencies:
"@abp/core" "~4.3.0-rc.2"
"@abp/core" "~4.3.0"
malihu-custom-scrollbar-plugin "^3.1.5"
"@abp/select2@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-4.3.0-rc.2.tgz#42d62daff9e50b1fe211a1560794625ba3f52107"
integrity sha512-okiIXmFaqx0uy/UMcpMKWKjrwop1JINyzN4FS5tafUpWhx6KcYYHudLWJvnPbsdsOeBQx91kw8jjERRJIqfEOA==
"@abp/select2@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-4.3.0.tgz#0a63ab0f740f36644017024865a4f1f4038a7bc9"
integrity sha512-uRNdTTOx5US4bOWcSDrHJt3WgWT5mroxXWooPOBirqhPVx7gvqVYDoGhXpyyoE80Hs+a/ISW/vJUIp8gsOKwEw==
dependencies:
"@abp/core" "~4.3.0-rc.2"
"@abp/core" "~4.3.0"
select2 "^4.0.13"
"@abp/sweetalert@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-4.3.0-rc.2.tgz#dfb20dfca8449ed3c3f6599d99b51746019eb664"
integrity sha512-NRKOgT80JVQrwI1FRqpbCzALvnLAFKdPwKKNDgm0L7r/5DL0+JbkKCI1AIPl/yiM8MBrCaQqNms+9JES5mjiUQ==
"@abp/sweetalert@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-4.3.0.tgz#080b1133b5b6a67593bf7ebda8e9f6042ac2f24e"
integrity sha512-hkWvmqPk0foRA44k+2VjVoyRwwaPQMBayyRocc66+XwwGU5xSwR4VosLd8xxXW8la69rhDvQdoECguXKnHPYRA==
dependencies:
"@abp/core" "~4.3.0-rc.2"
"@abp/core" "~4.3.0"
sweetalert "^2.1.2"
"@abp/timeago@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-4.3.0-rc.2.tgz#22943e219facd7fa0efddb63017198474b5cef89"
integrity sha512-TjKyuli+SpVjTgVJmraBpqJK112I+1DYHPJfso7QAH48Ra4gceGj9EVS0i/420YyLZyJSMtZOruxzYkyJeR/6w==
"@abp/timeago@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-4.3.0.tgz#79a75895781248cf7e5035204d19de7f55cbf685"
integrity sha512-R219V16eRhp4BjcmNzHHK078LF/QHr219hG7dmVtRIooNt4J8nEGDj3C5Ll1S0NjO5sM/78PhC6gLD1FQGMkaQ==
dependencies:
"@abp/jquery" "~4.3.0-rc.2"
"@abp/jquery" "~4.3.0"
timeago "^1.6.7"
"@abp/toastr@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-4.3.0-rc.2.tgz#143a344b00bbfaa858fe267fb6d627952bf7b3c0"
integrity sha512-cQV9UFWb9zarkb/CbrqkF9RXqn1Fc/TFKKM5mxpUEcYjx52NuM0d+KawdEMoN2y3y2U4ciY44kbTP2W1y+NlBg==
"@abp/toastr@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-4.3.0.tgz#3e14e461bdaf5c43548b86799062bac150e9d1bc"
integrity sha512-9g1A4U3Svp4oesB5UGmfVGb8BmXZ9PPka3OWxYh0g9UNUvBsOqfxz1MH9Ho20Gz7wQ+dTce2XWPA6VbAMfwwvQ==
dependencies:
"@abp/jquery" "~4.3.0-rc.2"
"@abp/jquery" "~4.3.0"
toastr "^2.1.4"
"@abp/utils@^4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-4.3.0-rc.2.tgz#6d051f98772e5642c2e3bc2f68e73d6f24f4694c"
integrity sha512-9qYo8OMTxIUG+qQBWXEpkURS6FUrx+J5s3SwC/eerp46hYr72GQ8L38Wq566a+xiLCn7Duxt6oJ/BxhTfQQxdw==
"@abp/utils@^4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-4.3.0.tgz#5fe44ae9a76ba8760bfd54dc6cfc64c96acc4b67"
integrity sha512-FFPSn/cL+b7/wYoRjvQLNJ3KrTiqng2gKPGf+jtMZer92fcVZtsF21ew/z+yxgj+9DRYtWbvn5iu9/ZPKL5hiw==
dependencies:
just-compare "^1.3.0"

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.3.0-rc.2",
"@abp/cms-kit": "4.3.0-rc.2",
"@abp/tui-editor": "^4.3.0-rc.2",
"@abp/aspnetcore.mvc.ui.theme.basic": "^4.3.0",
"@abp/cms-kit": "4.3.0",
"@abp/tui-editor": "^4.3.0",
"tui-code-snippet": "1.5.2",
"@abp/uppy": "^4.3.0-rc.2",
"@abp/uppy": "^4.3.0",
"slugify": "1.4.6"
}
}

74
modules/cms-kit/host/Volo.CmsKit.Web.Unified/wwwroot/libs/star-rating-svg/css/star-rating-svg.css

@ -1,37 +1,37 @@
.jq-stars {
display: inline-block;
}
.jq-rating-label {
font-size: 22px;
display: inline-block;
position: relative;
vertical-align: top;
font-family: helvetica, arial, verdana;
}
.jq-star {
width: 100px;
height: 100px;
display: inline-block;
cursor: pointer;
}
.jq-star-svg {
width: 100%;
height: 100% ;
}
.jq-star:hover .fs-star-svg polygon {
}
.jq-star-svg polygon {
stroke: #000;
stroke-linejoin: round;
}
/* un-used */
.jq-shadow {
-webkit-filter: drop-shadow( -2px -2px 2px #888 );
filter: drop-shadow( -2px -2px 2px #888 );
}
.jq-stars {
display: inline-block;
}
.jq-rating-label {
font-size: 22px;
display: inline-block;
position: relative;
vertical-align: top;
font-family: helvetica, arial, verdana;
}
.jq-star {
width: 100px;
height: 100px;
display: inline-block;
cursor: pointer;
}
.jq-star-svg {
width: 100%;
height: 100% ;
}
.jq-star:hover .fs-star-svg polygon {
}
.jq-star-svg polygon {
stroke: #000;
stroke-linejoin: round;
}
/* un-used */
.jq-shadow {
-webkit-filter: drop-shadow( -2px -2px 2px #888 );
filter: drop-shadow( -2px -2px 2px #888 );
}

42211
modules/cms-kit/host/Volo.CmsKit.Web.Unified/wwwroot/libs/tui-editor/tui-editor-Editor-all.js

File diff suppressed because it is too large

167497
modules/cms-kit/host/Volo.CmsKit.Web.Unified/wwwroot/libs/tui-editor/tui-editor-Editor-full.js

File diff suppressed because one or more lines are too long

29529
modules/cms-kit/host/Volo.CmsKit.Web.Unified/wwwroot/libs/tui-editor/tui-editor-Editor.js

File diff suppressed because it is too large

166357
modules/cms-kit/host/Volo.CmsKit.Web.Unified/wwwroot/libs/tui-editor/tui-editor-Viewer-full.js

File diff suppressed because one or more lines are too long

2846
modules/cms-kit/host/Volo.CmsKit.Web.Unified/wwwroot/libs/uppy/uppy.js

File diff suppressed because it is too large

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

@ -2,37 +2,37 @@
# yarn lockfile v1
"@abp/aspnetcore.mvc.ui.theme.basic@^4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-4.3.0-rc.2.tgz#4ebafbaade6610e3d405877a148d72d57569c3e3"
integrity sha512-Q3QqxKDFC04gaaj30Rk+9zGNfNxC8FX0jciARATceFV6pdA3F3PgT5EMDSlo6NoGniFVjHPRgay9N09zT6Htyw==
dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~4.3.0-rc.2"
"@abp/aspnetcore.mvc.ui.theme.shared@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-4.3.0-rc.2.tgz#d3bf79929c55c5380d7ca7b913a23031d7a6bd12"
integrity sha512-pz86bIV4wNeG7/UPYzNCXlJ/MdOdIygc+Com7C9Ld7gzsyER7VD9h5U/hkytvL4FBFLJn4DU+xuZNECjv0HS0A==
dependencies:
"@abp/aspnetcore.mvc.ui" "~4.3.0-rc.2"
"@abp/bootstrap" "~4.3.0-rc.2"
"@abp/bootstrap-datepicker" "~4.3.0-rc.2"
"@abp/datatables.net-bs4" "~4.3.0-rc.2"
"@abp/font-awesome" "~4.3.0-rc.2"
"@abp/jquery-form" "~4.3.0-rc.2"
"@abp/jquery-validation-unobtrusive" "~4.3.0-rc.2"
"@abp/lodash" "~4.3.0-rc.2"
"@abp/luxon" "~4.3.0-rc.2"
"@abp/malihu-custom-scrollbar-plugin" "~4.3.0-rc.2"
"@abp/select2" "~4.3.0-rc.2"
"@abp/sweetalert" "~4.3.0-rc.2"
"@abp/timeago" "~4.3.0-rc.2"
"@abp/toastr" "~4.3.0-rc.2"
"@abp/aspnetcore.mvc.ui@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-4.3.0-rc.2.tgz#6ff41be179c8d1089778a51ffa54a1f3d7614278"
integrity sha512-2L5zvuqUwPwNPcMauiiJZD1ft0QycqINz+bXEQ8t0EwbB+dzcsukL/rpOQfpeRHWWYy4nIN4C2bTvXhNgQbPqQ==
"@abp/aspnetcore.mvc.ui.theme.basic@^4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-4.3.0.tgz#33d6f72b698e5b8f399fb648817ed1fce070d482"
integrity sha512-jZNRm+R207KGs+0KvbLSGjvjm0i7y6ktHqH0tJ5nJ51B4xwOSxC64xmZXMQyazyqeGTKxpWVzIhqiFPb+q41Vg==
dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~4.3.0"
"@abp/aspnetcore.mvc.ui.theme.shared@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-4.3.0.tgz#6150c87f848e3cee36c217b01304b76aaa7991bb"
integrity sha512-urL7zQZu3jceXoSDBHQpzP/uhFYGZtreW22ohVINw2QTonCCd/ojRIVOZvf+GtMSRBqeecBqtdOjr9aoah+z9Q==
dependencies:
"@abp/aspnetcore.mvc.ui" "~4.3.0"
"@abp/bootstrap" "~4.3.0"
"@abp/bootstrap-datepicker" "~4.3.0"
"@abp/datatables.net-bs4" "~4.3.0"
"@abp/font-awesome" "~4.3.0"
"@abp/jquery-form" "~4.3.0"
"@abp/jquery-validation-unobtrusive" "~4.3.0"
"@abp/lodash" "~4.3.0"
"@abp/luxon" "~4.3.0"
"@abp/malihu-custom-scrollbar-plugin" "~4.3.0"
"@abp/select2" "~4.3.0"
"@abp/sweetalert" "~4.3.0"
"@abp/timeago" "~4.3.0"
"@abp/toastr" "~4.3.0"
"@abp/aspnetcore.mvc.ui@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-4.3.0.tgz#0098e528a929eb87da5c661cf3edf062bf2cb8c7"
integrity sha512-k0cXjDk33wDhr0tqjCG7UYJU5y2UJW+uCAp5cQTFqK9HqeYW1huGfRydECh3m8jqPGRmZRx4aJGQo6Te92bjcw==
dependencies:
ansi-colors "^4.1.1"
extend-object "^1.0.0"
@ -43,228 +43,228 @@
micromatch "^4.0.2"
path "^0.12.7"
"@abp/bootstrap-datepicker@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-4.3.0-rc.2.tgz#29a686c3d2bce356967f646d7334cd83c4257b4c"
integrity sha512-3+B7SJRi7DQJe0aNgv0H0zu1BfvMZcwgt06N3ALR9+o3TSJcOqcYrEMed3aG+ASH++CltnohTYnLkVXaxshioA==
"@abp/bootstrap-datepicker@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-4.3.0.tgz#a4246b06d41ad39bf8a84b310227b0b44c2ca4f4"
integrity sha512-f/M7rpr87BPyk47RDUobWBbkMUwRlY+riRnWaoHkSAOwwSMBkkXsAxyEAkbRlIiYFBfNkrVl1OpTOliinhvWjQ==
dependencies:
bootstrap-datepicker "^1.9.0"
"@abp/bootstrap@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-4.3.0-rc.2.tgz#1416fe639c88b7d958435e45fe19692268a7f932"
integrity sha512-E6svmDhNQlT5nd65VgshexyedRWhbvi9o1oYo/dLTUpJDzR7M9ptDqxFLVB9vVDva3HgxUoEvgRJgb9fXvq4zw==
"@abp/bootstrap@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-4.3.0.tgz#9dc88066bbb19ee50eb27460ab06f1593fae76cd"
integrity sha512-tV/K6nNl7Rt4BEQFlbPUtXMSTC+Usc1ArP6JMNL++1xOOT2Kyye172WEWnTcT7RRnveq7kid090Dxk9g3IyprA==
dependencies:
"@abp/core" "~4.3.0-rc.2"
"@abp/core" "~4.3.0"
bootstrap "^4.6.0"
bootstrap-v4-rtl "4.6.0-1"
"@abp/cms-kit.admin@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/cms-kit.admin/-/cms-kit.admin-4.3.0-rc.2.tgz#353310b5d6f2b812567ef396e61817b7cfee294e"
integrity sha512-NP8Z/GWk2loYEXCMj3k7YrjXy2Ijao4Sd96Rg5O1XKh/J8IrwoYeixJYCibsedOv7ewy+kf5xiISEokfTdaCfw==
"@abp/cms-kit.admin@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/cms-kit.admin/-/cms-kit.admin-4.3.0.tgz#6586e8c7388b4d13e1788273b111ac7b89dd25bd"
integrity sha512-0cXGqMBrEr49jeN1yavfDGdQIm34A6eQ8sduOly9eLWbyMSj4D7elZny61bQ43K+Quv45S1ikPM2+A8oo/NClA==
dependencies:
"@abp/slugify" "~4.3.0-rc.2"
"@abp/tui-editor" "~4.3.0-rc.2"
"@abp/uppy" "~4.3.0-rc.2"
"@abp/slugify" "~4.3.0"
"@abp/tui-editor" "~4.3.0"
"@abp/uppy" "~4.3.0"
"@abp/cms-kit.public@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/cms-kit.public/-/cms-kit.public-4.3.0-rc.2.tgz#41ce3c619ab525031aca11f8c42d55a31e3ccf95"
integrity sha512-3Z+6DFHkurX1ewfMKc/i6iHT24fjV/Dh+u3I4LKJcM3BDEtN8tj3xYpP9kQTcFqKMCEGtjHQpYYDxpJDuYcrJw==
"@abp/cms-kit.public@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/cms-kit.public/-/cms-kit.public-4.3.0.tgz#c9e5cafd8060905718d2354e258edb0ae73174cc"
integrity sha512-3xPakoskfFe/cvzuJo+E/wBhXRVHYchX1PFhN7sETAcziwtepRTOVJKMWWOJ6PYrODxgzKskUajhgO86kbporg==
dependencies:
"@abp/highlight.js" "~4.3.0-rc.2"
"@abp/star-rating-svg" "~4.3.0-rc.2"
"@abp/highlight.js" "~4.3.0"
"@abp/star-rating-svg" "~4.3.0"
"@abp/cms-kit@4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/cms-kit/-/cms-kit-4.3.0-rc.2.tgz#f81345bddafbaff68f0b464b13858fb6dfc2dcae"
integrity sha512-k8jux/6EcWP3MYBkJqeexZ/gAqAXZ1+upNDZ5X81+khSRT/v5s6ZigO+UgZX0uHZtB/clH45iJyCxEPdyRUYaw==
"@abp/cms-kit@4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/cms-kit/-/cms-kit-4.3.0.tgz#f68584758da67be05ae81ce84b4d41dfd1e444cf"
integrity sha512-/8hp0CvvJW9Iiv86FtJbFOTzhtobMRohhxi0qHtoOrltLlgrNqWyOUjI98oGqQUfQQ8Vjvlq+4drffX3Yjw9IA==
dependencies:
"@abp/cms-kit.admin" "~4.3.0-rc.2"
"@abp/cms-kit.public" "~4.3.0-rc.2"
"@abp/cms-kit.admin" "~4.3.0"
"@abp/cms-kit.public" "~4.3.0"
"@abp/codemirror@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/codemirror/-/codemirror-4.3.0-rc.2.tgz#672d43fe99b74ed5b4e85a0ba79ba70e261a8e31"
integrity sha512-ZGGg8wkxRF9ZypEfmXFHTAg+dNn7uklfsBH4PJBB7CRpI5m3qth5ZQeIoUFbdoJHFWXl/UevmM9yzI1P05jZFA==
"@abp/codemirror@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/codemirror/-/codemirror-4.3.0.tgz#d41c999b696b5db9eedc3b71f52e23b85dc26808"
integrity sha512-9uvUSRsm7vj1Qu0RxQMcMaOLo5LrUC+hFOOkNyg0Pt+PeT+tO6Jm5A2DtcVMB7s+dpP3c56LhGwMnbXkC+4ExQ==
dependencies:
"@abp/core" "~4.3.0-rc.2"
"@abp/core" "~4.3.0"
codemirror "^5.54.0"
"@abp/core@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-4.3.0-rc.2.tgz#3c9ea339624ae3b6cbee13e048268d48269ea6a9"
integrity sha512-/89xH+IVSmTOLWeUO4yVB7Hg64uHTbR7bHjgl+b94cFdtITH9Nvr2EGdXUJbHGUK7L6lSDziqiMcG/ic0061+Q==
"@abp/core@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-4.3.0.tgz#77945a62daae70b5f9f348036ab7c5a308d95a94"
integrity sha512-k+6BemPsencQasN+8W9sVYXdSOjea61ng2MIaPVTuCCjLWnReg4pQQ4QoJWsja+W36C8bratzT5ePwP6ZrCnMg==
dependencies:
"@abp/utils" "^4.3.0-rc.2"
"@abp/utils" "^4.3.0"
"@abp/datatables.net-bs4@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-4.3.0-rc.2.tgz#bbfc0d9d0ed86cdb14b38849fb78b2b1911c4a35"
integrity sha512-PRKYi2NU41KpckJ/d0buHoFbyKVuW5NCQNpUdYzDsPS2riyeXccCsLFJM1bT01TdR4Idla3vx9Fkb+HoJOiDeQ==
"@abp/datatables.net-bs4@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-4.3.0.tgz#49470ef1f1a7b57cb9cfd1b47095d2e865ce74ce"
integrity sha512-tJ49688P8hjlxKYxqP2a6PUYrYX7qhm8jIc6MZrKWQyZbRbAwF0glUYa7MO73Us9Z3HRyPczedGQ3qK9pCu0Mg==
dependencies:
"@abp/datatables.net" "~4.3.0-rc.2"
"@abp/datatables.net" "~4.3.0"
datatables.net-bs4 "^1.10.21"
"@abp/datatables.net@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-4.3.0-rc.2.tgz#1923e60db261366a7d2f284b0274d13e253567ca"
integrity sha512-rp53+5Xj1jhjpCj7UBA9+nSNbaTQ4Vc1NWCg1e5aI5tWiyZprUS44dRszIQIDV86XKorfFhog5ihOZyzl1HDyg==
"@abp/datatables.net@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-4.3.0.tgz#fa5f01eb32b60176f5bef669abd898c0778ebb2c"
integrity sha512-ZRDIeAMc9buIGuMSO8WkMm16qYS8xYljj6NxDpGTdqP/+BOnhtw3/fbH1LOLj+If38rP+Q6ANbnZp7MXzqNlig==
dependencies:
"@abp/jquery" "~4.3.0-rc.2"
"@abp/jquery" "~4.3.0"
datatables.net "^1.10.21"
"@abp/font-awesome@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-4.3.0-rc.2.tgz#437d3d6bbd8f52e5091251932d6a494d0164694b"
integrity sha512-FeHHtEQwrJBwD5PkFYqjKouCLwNjjRqTNseaN+s/r7gNjv0PgKytfRoqEb+O/BkZg/DwEuMz9jFX/RXCCNa2xA==
"@abp/font-awesome@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-4.3.0.tgz#4a372ed9294df32d477a3b08aa080b39d9b44d6a"
integrity sha512-Ny9bFIN9EZGWU2DGQeURlJmH9iYo9N7GYBluNFunmftN+K2G+2739otg06qGoLmoxF8hGzyYvKmwhykjxY9pYw==
dependencies:
"@abp/core" "~4.3.0-rc.2"
"@abp/core" "~4.3.0"
"@fortawesome/fontawesome-free" "^5.13.0"
"@abp/highlight.js@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/highlight.js/-/highlight.js-4.3.0-rc.2.tgz#a7c51e826b2a7e25c84af7ecbb38c5abe1d35dfb"
integrity sha512-oIGSsyAxdYm3ow/LbUwyYqtRvIOLQbsLQgP2+8FatnUdgFTKJRqG1RJXyPINDb3ldJlyQMFlgGlxlUV8cyqNzw==
"@abp/highlight.js@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/highlight.js/-/highlight.js-4.3.0.tgz#b55bde899dd042b279e3998c09364c77e729467a"
integrity sha512-GLy/P1STt2/DjgUStyyw8THJ89Iap4lPfHu2h/nrzZT9Qi4Gg+KbA7DWMgOEnX0ZnAS1Sk6SUnWB5UPm2CyP1A==
dependencies:
"@abp/core" "~4.3.0-rc.2"
"@abp/core" "~4.3.0"
"@abp/jquery-form@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-4.3.0-rc.2.tgz#999910deaf46330477b6ed487a771a2123d69f92"
integrity sha512-+fdEIOTlxDOdYXMtc/ujhYeuP2qiI4bmL3TQQWQxSTlW8q5jB6dHLBnHiXXltO8HxX9+7ZsjN3tsV7+Div5joA==
"@abp/jquery-form@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-4.3.0.tgz#98b9937bb258abbe306f03d5ac4e0b2b60022c4d"
integrity sha512-f4IPJnSA5v2DBEmf/XAqCqsZJR9AKzOsCCBH3GEct1VzJd4GYr9CL4qMc5jDjfCZ4PWN4SgqBd3mHQRB+yo0pA==
dependencies:
"@abp/jquery" "~4.3.0-rc.2"
"@abp/jquery" "~4.3.0"
jquery-form "^4.3.0"
"@abp/jquery-validation-unobtrusive@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-4.3.0-rc.2.tgz#0635e0c77da269e8367c3d7c388613249ce9221d"
integrity sha512-ubmPjVJatAW3AJWjWtT+ZbNLhu+HHNgcxYkFGVNusNuboTGsoBs5G45Cjzp/q5FnggWoPvkllpf8CGuaYUbpUQ==
"@abp/jquery-validation-unobtrusive@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-4.3.0.tgz#e6dc6cc94780c7db9b556f2f991d2d992dbfee38"
integrity sha512-AmvI9kOJQ9f+fTwqDMvODMSvkMgMN3XvBF0v/EbZpF86tMtQTWfCHf+gofmq9WjM96QJjhCjLRl0hirQfSBfbg==
dependencies:
"@abp/jquery-validation" "~4.3.0-rc.2"
"@abp/jquery-validation" "~4.3.0"
jquery-validation-unobtrusive "^3.2.11"
"@abp/jquery-validation@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-4.3.0-rc.2.tgz#ee145f8c4a633218ccfa50cca0bed503a0ca8dc6"
integrity sha512-SLWzN6jxVqKaHYs/d6Mku8CfhB1vWgfMbFma14upiJ+/VDkTF4Rh27iMCWKYVOS3bukh2ltBp6kPFplrjCAGSg==
"@abp/jquery-validation@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-4.3.0.tgz#89a8bc2196dfabed57ef6a754c9da4b77b0cc44f"
integrity sha512-gwvRR6117JJTRGEk1zxdR0toVsfRLekaW/YDw4DsE3iwdhBTS05DyoEpl+4kUflWrjmRSKsVhWeoyndCDMi8Qw==
dependencies:
"@abp/jquery" "~4.3.0-rc.2"
"@abp/jquery" "~4.3.0"
jquery-validation "^1.19.2"
"@abp/jquery@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-4.3.0-rc.2.tgz#f620628ea0739888cbcb360c058d09bff10d553b"
integrity sha512-+rfyLVJn7E8wJ1oQ9GiCR63Yk6wah1Hqnj4XpsRDMkIaOXKaqrnVHAZd4W2DUunQSe95wqHfkNH/wkvTyNEwUg==
"@abp/jquery@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-4.3.0.tgz#8c6dab7b0a657a7d89faee18157d6111c55d3df3"
integrity sha512-+3SCUjQjT6WQ9pYJCu3PUhgCrFPgTOD3Q/cTNbzTL5a6J3bpp+U26L5qwFhoQ0j+FH+VNAZGDsL/UtT9/Lwa1A==
dependencies:
"@abp/core" "~4.3.0-rc.2"
"@abp/core" "~4.3.0"
jquery "~3.5.1"
"@abp/lodash@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-4.3.0-rc.2.tgz#9b5429d3976b34022aaf8cab4afef57479b66821"
integrity sha512-sE2dyofYbiIy4xhL85diZWkfqBcQl1q61T0DbYDOHgaejZAJxk4bVyFpEuMiC2HwWAZ656IN1bzyQIyE1RKzQA==
"@abp/lodash@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-4.3.0.tgz#44c194c07031e162d7d8f90d7225ef4b3834c068"
integrity sha512-p+wG99Ze0+Kqee588mFkYGYbyVtdWk49eVujjHA1KdPXNC+rEco0pH1943pbSqni5VzJCIkY9PvG40If5CZykQ==
dependencies:
"@abp/core" "~4.3.0-rc.2"
"@abp/core" "~4.3.0"
lodash "^4.17.15"
"@abp/luxon@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-4.3.0-rc.2.tgz#6fdbf1624462615dcb1f5ce85c07fc3bc4065e3f"
integrity sha512-C4aT0aN3/TVtTE3m0AZyhFSeeg+RxXpUO+nffAZoM/cH5NL8tir+O1hd+dhtCb7AELaqQNx5+qgXoJLYdWMYVg==
"@abp/luxon@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-4.3.0.tgz#930ed60b19c2ad1e86e817fe10861f042b2eb08a"
integrity sha512-gusXqRmHMOqmlHRe4N9CQL4Ncr3qazwWvi8QUdEity4a2mofgVPvn7F/E7uBVFjRL1EBp+nAUfohBPwQJECy5w==
dependencies:
"@abp/core" "~4.3.0-rc.2"
"@abp/core" "~4.3.0"
luxon "^1.24.1"
"@abp/malihu-custom-scrollbar-plugin@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-4.3.0-rc.2.tgz#28fc1f216c1d84b20acaf8c8c5cf5c3b33e1aeb1"
integrity sha512-LYMXKkPVyBLWV4Qnom2MW8JJ/rZmVg1CyOFxM6JiL+dpsN1Ogw0hRG33CCHQveqUmf2cr3vf96qk5Et5DyDDIg==
"@abp/malihu-custom-scrollbar-plugin@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-4.3.0.tgz#a6ce99cf29c36985b3268fa6309aad38438d7d2d"
integrity sha512-swip33gDRAWGIdyJmD+SrNBv2uyq6PJwG9RKnpFLaUiqbU8NhtnTl+bGCkO2BTTjBrP6dOPe7bmu3B8EO/zrMQ==
dependencies:
"@abp/core" "~4.3.0-rc.2"
"@abp/core" "~4.3.0"
malihu-custom-scrollbar-plugin "^3.1.5"
"@abp/markdown-it@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/markdown-it/-/markdown-it-4.3.0-rc.2.tgz#4f1d039812e7efc8032b8542cd9d48dad136bf0d"
integrity sha512-fTMj0FFjMZcBevFWWrfnyxV5XZZYrD5Guq+cICMBYtKVqfbsy/ILpnznApXMuLxNukqIvGa8I3SdWaWO6CVhgQ==
"@abp/markdown-it@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/markdown-it/-/markdown-it-4.3.0.tgz#a75074d3f17e8dc049f77e95cdd7f22ef04b6f50"
integrity sha512-7Un4z98gZewp/ZuX4QXHFW6Wnid0sXKGl2HUHEOxGlqo4BuNWgGGVv0jG0JQ4+3jPY6A9YpUMck5eox2TrZWvQ==
dependencies:
"@abp/core" "~4.3.0-rc.2"
"@abp/core" "~4.3.0"
markdown-it "^11.0.0"
"@abp/select2@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-4.3.0-rc.2.tgz#42d62daff9e50b1fe211a1560794625ba3f52107"
integrity sha512-okiIXmFaqx0uy/UMcpMKWKjrwop1JINyzN4FS5tafUpWhx6KcYYHudLWJvnPbsdsOeBQx91kw8jjERRJIqfEOA==
"@abp/select2@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-4.3.0.tgz#0a63ab0f740f36644017024865a4f1f4038a7bc9"
integrity sha512-uRNdTTOx5US4bOWcSDrHJt3WgWT5mroxXWooPOBirqhPVx7gvqVYDoGhXpyyoE80Hs+a/ISW/vJUIp8gsOKwEw==
dependencies:
"@abp/core" "~4.3.0-rc.2"
"@abp/core" "~4.3.0"
select2 "^4.0.13"
"@abp/slugify@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/slugify/-/slugify-4.3.0-rc.2.tgz#2e35f973d878f13ca1ff71f090d1bdd88b89fd38"
integrity sha512-9okL+PEZhAeF3Vs/vLMnXn1O6qp6U7RQW1HI7j41i+7fHAJ4UZozym6sbYsFAEWT/ph4dcdzPRsxTxpBFiJYVQ==
"@abp/slugify@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/slugify/-/slugify-4.3.0.tgz#ed1675988eb1718a4008b4d51d9aa524b01f0852"
integrity sha512-4PH6UqSNX8fuoAjvDdSMDE3n4UmKmYemRQOlGsf7KpWodOQ+p+uPm2UHNU/2L+XTwPlYM0NQki/HfUlM6CU1Ww==
dependencies:
slugify "^1.4.7"
"@abp/star-rating-svg@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/star-rating-svg/-/star-rating-svg-4.3.0-rc.2.tgz#aeabae6df07d621574b6a4057032e3a2a0cb1e13"
integrity sha512-xDcwIVjP8wkGNuJQn8H9PetHD/YgZ33jrOpPhw+EZAYCMW++e9LkKFSeEfiNT8MW5qyjC2hOISE6n2bz+hHU5w==
"@abp/star-rating-svg@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/star-rating-svg/-/star-rating-svg-4.3.0.tgz#d68131129464cc252ebbc092f33892f4d95c3a13"
integrity sha512-b4dYl0kse5h2X0dq1WOE05SJJT+zxSSqeE2tlE9gUzPrYg5eB6VnaJC8Wo7PQqrCjMsd5RraK4UZQjcI7smAjw==
dependencies:
"@abp/jquery" "~4.3.0-rc.2"
"@abp/jquery" "~4.3.0"
star-rating-svg "^3.5.0"
"@abp/sweetalert@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-4.3.0-rc.2.tgz#dfb20dfca8449ed3c3f6599d99b51746019eb664"
integrity sha512-NRKOgT80JVQrwI1FRqpbCzALvnLAFKdPwKKNDgm0L7r/5DL0+JbkKCI1AIPl/yiM8MBrCaQqNms+9JES5mjiUQ==
"@abp/sweetalert@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-4.3.0.tgz#080b1133b5b6a67593bf7ebda8e9f6042ac2f24e"
integrity sha512-hkWvmqPk0foRA44k+2VjVoyRwwaPQMBayyRocc66+XwwGU5xSwR4VosLd8xxXW8la69rhDvQdoECguXKnHPYRA==
dependencies:
"@abp/core" "~4.3.0-rc.2"
"@abp/core" "~4.3.0"
sweetalert "^2.1.2"
"@abp/timeago@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-4.3.0-rc.2.tgz#22943e219facd7fa0efddb63017198474b5cef89"
integrity sha512-TjKyuli+SpVjTgVJmraBpqJK112I+1DYHPJfso7QAH48Ra4gceGj9EVS0i/420YyLZyJSMtZOruxzYkyJeR/6w==
"@abp/timeago@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-4.3.0.tgz#79a75895781248cf7e5035204d19de7f55cbf685"
integrity sha512-R219V16eRhp4BjcmNzHHK078LF/QHr219hG7dmVtRIooNt4J8nEGDj3C5Ll1S0NjO5sM/78PhC6gLD1FQGMkaQ==
dependencies:
"@abp/jquery" "~4.3.0-rc.2"
"@abp/jquery" "~4.3.0"
timeago "^1.6.7"
"@abp/toastr@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-4.3.0-rc.2.tgz#143a344b00bbfaa858fe267fb6d627952bf7b3c0"
integrity sha512-cQV9UFWb9zarkb/CbrqkF9RXqn1Fc/TFKKM5mxpUEcYjx52NuM0d+KawdEMoN2y3y2U4ciY44kbTP2W1y+NlBg==
"@abp/toastr@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-4.3.0.tgz#3e14e461bdaf5c43548b86799062bac150e9d1bc"
integrity sha512-9g1A4U3Svp4oesB5UGmfVGb8BmXZ9PPka3OWxYh0g9UNUvBsOqfxz1MH9Ho20Gz7wQ+dTce2XWPA6VbAMfwwvQ==
dependencies:
"@abp/jquery" "~4.3.0-rc.2"
"@abp/jquery" "~4.3.0"
toastr "^2.1.4"
"@abp/tui-editor@^4.3.0-rc.2", "@abp/tui-editor@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/tui-editor/-/tui-editor-4.3.0-rc.2.tgz#4d4de602faa2f1093752aa148df3fa3f5523d918"
integrity sha512-NuuQTiqYue+gJosVNzVTdx1HvuyfjoTzk1ih1uo8hkUWxcDuaK7LK/p4ZId8q10ZPeek5rhi2W9LgEj3EHkMBw==
"@abp/tui-editor@^4.3.0", "@abp/tui-editor@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/tui-editor/-/tui-editor-4.3.0.tgz#352e6277293b805aebdb52879f9952c37180c7ed"
integrity sha512-wYaoWP3rsK3GqGDQnXi2LimGGzbgUdfOKjuRr3R/VrLw3ZRSzfRwav/lo7vL3G0d/kjqMzdVTvYaB1xEfidVJA==
dependencies:
"@abp/codemirror" "~4.3.0-rc.2"
"@abp/highlight.js" "~4.3.0-rc.2"
"@abp/jquery" "~4.3.0-rc.2"
"@abp/markdown-it" "~4.3.0-rc.2"
"@abp/codemirror" "~4.3.0"
"@abp/highlight.js" "~4.3.0"
"@abp/jquery" "~4.3.0"
"@abp/markdown-it" "~4.3.0"
tui-code-snippet "1.5.2"
tui-editor "^1.4.10"
"@abp/uppy@^4.3.0-rc.2", "@abp/uppy@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/uppy/-/uppy-4.3.0-rc.2.tgz#abb39dacf2f5c88dbec124e449ebcfaf66a1aead"
integrity sha512-C+bZ7GnSUFGIEZVeLfh5ruPkh6PvlsYLsTJaykzcMSDS5FQugVWRAw4OaCnELtDePmHUa+m3ppQw+e1TzuSAUQ==
"@abp/uppy@^4.3.0", "@abp/uppy@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/uppy/-/uppy-4.3.0.tgz#c7a2ab55d414ffd7e110a268fdcc371039bd1d58"
integrity sha512-S/yjF4RBjYyf2FyiQS2Rfeht4FBdWUvZFs09O+2xcsuri5DM9c6MdgvamRXO6uEIXsaprKYGAPyIWjnnqWjsdg==
dependencies:
"@abp/core" "~4.3.0-rc.2"
"@abp/core" "~4.3.0"
uppy "^1.16.1"
"@abp/utils@^4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-4.3.0-rc.2.tgz#6d051f98772e5642c2e3bc2f68e73d6f24f4694c"
integrity sha512-9qYo8OMTxIUG+qQBWXEpkURS6FUrx+J5s3SwC/eerp46hYr72GQ8L38Wq566a+xiLCn7Duxt6oJ/BxhTfQQxdw==
"@abp/utils@^4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-4.3.0.tgz#5fe44ae9a76ba8760bfd54dc6cfc64c96acc4b67"
integrity sha512-FFPSn/cL+b7/wYoRjvQLNJ3KrTiqng2gKPGf+jtMZer92fcVZtsF21ew/z+yxgj+9DRYtWbvn5iu9/ZPKL5hiw==
dependencies:
just-compare "^1.3.0"

71
modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Permissions/CmsKitAdminPermissionDefinitionProvider.cs

@ -13,41 +13,48 @@ namespace Volo.CmsKit.Permissions
{
var cmsGroup = context.GetGroupOrNull(CmsKitAdminPermissions.GroupName) ?? context.AddGroup(CmsKitAdminPermissions.GroupName, L("Permission:CmsKit"));
if (GlobalFeatureManager.Instance.IsEnabled<CommentsFeature>())
{
var contentGroup = cmsGroup.AddPermission(CmsKitAdminPermissions.Comments.Default, L("Permission:Comments"));
contentGroup.AddChild(CmsKitAdminPermissions.Comments.Delete, L("Permission:Comments.Delete"));
}
if (GlobalFeatureManager.Instance.IsEnabled<TagsFeature>())
{
var tagGroup = cmsGroup.AddPermission(CmsKitAdminPermissions.Tags.Default, L("Permission:TagManagement"));
tagGroup.AddChild(CmsKitAdminPermissions.Tags.Create, L("Permission:TagManagement.Create"));
tagGroup.AddChild(CmsKitAdminPermissions.Tags.Update, L("Permission:TagManagement.Update"));
tagGroup.AddChild(CmsKitAdminPermissions.Tags.Delete, L("Permission:TagManagement.Delete"));
}
var contentGroup = cmsGroup.AddPermission(CmsKitAdminPermissions.Comments.Default, L("Permission:Comments"))
.RequireGlobalFeatures(typeof(CommentsFeature));
contentGroup.AddChild(CmsKitAdminPermissions.Comments.Delete, L("Permission:Comments.Delete"))
.RequireGlobalFeatures(typeof(CommentsFeature));
if (GlobalFeatureManager.Instance.IsEnabled<PagesFeature>())
{
var pageManagement = cmsGroup.AddPermission(CmsKitAdminPermissions.Pages.Default, L("Permission:PageManagement"));
pageManagement.AddChild(CmsKitAdminPermissions.Pages.Create, L("Permission:PageManagement:Create"));
pageManagement.AddChild(CmsKitAdminPermissions.Pages.Update, L("Permission:PageManagement:Update"));
pageManagement.AddChild(CmsKitAdminPermissions.Pages.Delete, L("Permission:PageManagement:Delete"));
}
var tagGroup = cmsGroup.AddPermission(CmsKitAdminPermissions.Tags.Default, L("Permission:TagManagement"))
.RequireGlobalFeatures(typeof(TagsFeature));
tagGroup.AddChild(CmsKitAdminPermissions.Tags.Create, L("Permission:TagManagement.Create"))
.RequireGlobalFeatures(typeof(TagsFeature));
tagGroup.AddChild(CmsKitAdminPermissions.Tags.Update, L("Permission:TagManagement.Update"))
.RequireGlobalFeatures(typeof(TagsFeature));
tagGroup.AddChild(CmsKitAdminPermissions.Tags.Delete, L("Permission:TagManagement.Delete"))
.RequireGlobalFeatures(typeof(TagsFeature));
if (GlobalFeatureManager.Instance.IsEnabled<BlogsFeature>())
{
var blogManagement = cmsGroup.AddPermission(CmsKitAdminPermissions.Blogs.Default, L("Permission:BlogManagement"));
blogManagement.AddChild(CmsKitAdminPermissions.Blogs.Create, L("Permission:BlogManagement.Create"));
blogManagement.AddChild(CmsKitAdminPermissions.Blogs.Update, L("Permission:BlogManagement.Update"));
blogManagement.AddChild(CmsKitAdminPermissions.Blogs.Delete, L("Permission:BlogManagement.Delete"));
blogManagement.AddChild(CmsKitAdminPermissions.Blogs.Features, L("Permission:BlogManagement.Features"));
var pageManagement = cmsGroup.AddPermission(CmsKitAdminPermissions.Pages.Default, L("Permission:PageManagement"))
.RequireGlobalFeatures(typeof(PagesFeature));
pageManagement.AddChild(CmsKitAdminPermissions.Pages.Create, L("Permission:PageManagement:Create"))
.RequireGlobalFeatures(typeof(PagesFeature));
pageManagement.AddChild(CmsKitAdminPermissions.Pages.Update, L("Permission:PageManagement:Update"))
.RequireGlobalFeatures(typeof(PagesFeature));
pageManagement.AddChild(CmsKitAdminPermissions.Pages.Delete, L("Permission:PageManagement:Delete"))
.RequireGlobalFeatures(typeof(PagesFeature));
var blogPostManagement = cmsGroup.AddPermission(CmsKitAdminPermissions.BlogPosts.Default, L("Permission:BlogPostManagement"));
blogPostManagement.AddChild(CmsKitAdminPermissions.BlogPosts.Create, L("Permission:BlogPostManagement.Create"));
blogPostManagement.AddChild(CmsKitAdminPermissions.BlogPosts.Update, L("Permission:BlogPostManagement.Update"));
blogPostManagement.AddChild(CmsKitAdminPermissions.BlogPosts.Delete, L("Permission:BlogPostManagement.Delete"));
}
var blogManagement = cmsGroup.AddPermission(CmsKitAdminPermissions.Blogs.Default, L("Permission:BlogManagement"))
.RequireGlobalFeatures(typeof(BlogsFeature));
blogManagement.AddChild(CmsKitAdminPermissions.Blogs.Create, L("Permission:BlogManagement.Create"))
.RequireGlobalFeatures(typeof(BlogsFeature));
blogManagement.AddChild(CmsKitAdminPermissions.Blogs.Update, L("Permission:BlogManagement.Update"))
.RequireGlobalFeatures(typeof(BlogsFeature));
blogManagement.AddChild(CmsKitAdminPermissions.Blogs.Delete, L("Permission:BlogManagement.Delete"))
.RequireGlobalFeatures(typeof(BlogsFeature));
blogManagement.AddChild(CmsKitAdminPermissions.Blogs.Features, L("Permission:BlogManagement.Features"))
.RequireGlobalFeatures(typeof(BlogsFeature));
var blogPostManagement = cmsGroup.AddPermission(CmsKitAdminPermissions.BlogPosts.Default, L("Permission:BlogPostManagement"))
.RequireGlobalFeatures(typeof(BlogsFeature));
blogPostManagement.AddChild(CmsKitAdminPermissions.BlogPosts.Create, L("Permission:BlogPostManagement.Create"))
.RequireGlobalFeatures(typeof(BlogsFeature));
blogPostManagement.AddChild(CmsKitAdminPermissions.BlogPosts.Update, L("Permission:BlogPostManagement.Update"))
.RequireGlobalFeatures(typeof(BlogsFeature));
blogPostManagement.AddChild(CmsKitAdminPermissions.BlogPosts.Delete, L("Permission:BlogPostManagement.Delete"))
.RequireGlobalFeatures(typeof(BlogsFeature));
}
private static LocalizableString L(string name)

114
modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/nl.json

@ -1,35 +1,135 @@
{
"culture": "nl",
"texts": {
"BlogDeletionConfirmationMessage": "De blog '{0}' wordt verwijderd. Weet je het zeker?",
"BlogFeatureNotAvailable": "Deze functie is momenteel niet beschikbaar. Schakel deze functie in met de 'Globale functiemanager' om te gebruiken.",
"BlogId": "Blog",
"BlogPostDeletionConfirmationMessage": "het bericht '{0}' wordt verwijderd. Weet u het zeker?",
"BlogPosts": "Berichten",
"Blogs": "Blogs",
"ChoosePreference": "Kies Voorkeur ...",
"Cms": "Cms",
"CmsKit.Comments": "Opmerkingen",
"CmsKit.Ratings": "Beoordelingen",
"CmsKit.Reactions": "Reacties",
"CmsKit.Tags": "Tags",
"CmsKit:0002": "Inhoud bestaat al!",
"CmsKit:0003": "De entiteit {0} kan niet worden getagd.",
"CmsKit:Blog:0001": "De opgegeven slug ({Slug}) bestaat al!",
"CmsKit:BlogPost:0001": "De opgegeven slug bestaat al!",
"CmsKit:Comments:0001": "De entiteit {EntityType} kan geen opmerkingen hebben.",
"CmsKit:Media:0001": "'{Name}' is geen geldige medianaam.",
"CmsKit:Media:0002": "De entiteit kan geen media hebben.",
"CmsKit:Page:0001": "De opgegeven url ({Slug}) bestaat al. Probeer het met een andere url.",
"CmsKit:Rating:0001": "De entiteit {EntityType} kan niet worden beoordeeld.",
"CmsKit:Reaction:0001": "De entiteit {EntityType} kan geen reacties hebben.",
"CmsKit:Tag:0002": "De entiteit kan niet worden getagd!",
"CommentAuthorizationExceptionMessage": "Die opmerkingen zijn niet toegestaan voor openbare vertoning.",
"CommentDeletionConfirmationMessage": "Deze opmerking en alle reacties worden verwijderd!",
"Comments": "Opmerkingen",
"Content": "Inhoud",
"ContentDeletionConfirmationMessage": "Weet u zeker dat u deze inhoud wilt verwijderen?",
"Contents": "Inhoud",
"CoverImage": "Omslagfoto",
"CreateBlogPostPage": "Nieuw bericht",
"CreationTime": "Aanmaak tijd",
"Delete": "Verwijderen",
"Edit": "Bewerken",
"Detail": "Detail",
"Details": "Details",
"DoYouPreferAdditionalEmails": "Wilt u extra e-mails?",
"Edit": "Wijzigen",
"EndDate": "Einddatum",
"EntityId": "Entiteit Id",
"EntityType": "Entiteitstype",
"ExportCSV": "CSV exporteren",
"Features": "Functies",
"GenericDeletionConfirmationMessage": "Weet u zeker dat u '{0}' wilt verwijderen?",
"LastModification": "Laatste aanpassing",
"LoginToAddComment": "Log in om een opmerking toe te voegen",
"LoginToRate": "Log in om te beoordelen",
"LoginToReact": "Log in om te reageren",
"LoginToReply": "Log in om te antwoorden",
"Menu:CMS": "CMS",
"Message": "Bericht",
"MessageDeletionConfirmationMessage": "Deze opmerking wordt volledig verwijderd.",
"NewPage": "Nieuwe pagina",
"NewBlog": "Nieuwe blog",
"NewBlogPost": "Nieuw bericht",
"NewTag": "Nieuwe tag",
"OK": "Oké",
"PageDeletionConfirmationMessage": "Weet u zeker dat u deze pagina wilt verwijderen?",
"Pages": "Pagina's",
"PageSlugInformation": "Slug wordt gebruikt voor de url. Uw url wordt '/pages/{{slug}}'.",
"Permission:BlogManagement": "Blogbeheer",
"Permission:BlogManagement.Create": "Toevoegen",
"Permission:BlogManagement.Delete": "Verwijderen",
"Permission:BlogManagement.Features": "Functies",
"Permission:BlogManagement.Update": "Wijzigen",
"Permission:BlogPostManagement": "Berichtenbeheer",
"Permission:BlogPostManagement.Create": "Toevoegen",
"Permission:BlogPostManagement.Delete": "Verwijderen",
"Permission:BlogPostManagement.Update": "Wijzigen",
"Permission:CmsKit": "CMS-Kit",
"Permission:Comments": "Reactiebeheer",
"Permission:Comments.Delete": "Verwijderen",
"Permission:Contents": "Inhoud beheer",
"Permission:Contents.Create": "Creëer inhoud",
"Permission:Contents.Create": "Inhoud toevoegen",
"Permission:Contents.Delete": "Inhoud verwijderen",
"Permission:Contents.Update": "Bewerk inhoud",
"Permission:Contents.Update": "Inhoud wijzigen",
"Permission:MediaDescriptorManagement": "Mediabeheer",
"Permission:MediaDescriptorManagement:Create": "Toevoegen",
"Permission:MediaDescriptorManagement:Delete": "Verwijderen",
"Permission:PageManagement": "Paginabeheer",
"Permission:PageManagement:Create": "Toevoegen",
"Permission:PageManagement:Delete": "Verwijderen",
"Permission:PageManagement:Update": "Wijzigen",
"Permission:TagManagement": "Tagbeheer",
"Permission:TagManagement.Create": "Tag Creëer",
"Permission:TagManagement.Create": "Tag toevoegen",
"Permission:TagManagement.Delete": "Tag verwijderen",
"Permission:TagManagement.Update": "Tag bewerken",
"Permission:TagManagement.Update": "Tag wijzigen",
"PickYourReaction": "Kies uw reactie",
"Rating": "Beoordeling",
"RatingUndoMessage": "Uw beoordeling wordt ongedaan gemaakt.",
"Reactions": "Reactions",
"Read": "Gelezen",
"RepliesToThisComment": "Reageert op deze opmerking",
"Reply": "Beantwoorden",
"ReplyTo": "Antwoorden op",
"SamplePageMessage": "Een voorbeeldpagina voor de Pro-module",
"SaveChanges": "Wijzigingen opslaan",
"Script": "Script",
"SelectAll": "Alles selecteren",
"Send": "verzenden",
"SendMessage": "Bericht versturen",
"ShortDescription": "Korte beschrijving",
"Slug": "Slug",
"Source": "Bron",
"SourceUrl": "Bron-URL",
"Star": "Star",
"StartDate": "Startdatum",
"Style": "Stijl",
"Subject": "Onderwerp",
"SubjectPlaceholder": "Typ een onderwerp",
"Submit": "Verzenden",
"Subscribe": "Abonneren",
"SuccessfullySaved": "Succesvol opgeslagen!",
"TagDeletionConfirmationMessage": "Weet u zeker dat u de tag '{0}' wilt verwijderen?",
"Tags": "Tags",
"Text": "Tekst",
"ThankYou": "Dank u",
"Title": "Titel",
"Undo": "Ongedaan maken",
"Update": "Bijwerken",
"YourComment": "Jouw opmerking",
"YourReply": "Uw antwoord"
"UpdatePreferenceSuccessMessage": "Je voorkeuren zijn opgeslagen.",
"UpdateYourEmailPreferences": "Werk uw e-mailvoorkeuren bij",
"UploadFailedMessage": "Upload mislukt.",
"UserId": "Gebruikers Id",
"Username": "Gebruikersnaam",
"YourComment": "Uw opmerking",
"YourEmailAddress": "Uw e-mailadres",
"YourFullName": "Uw volledige naam",
"YourMessage": "Uw bericht",
"YourReply": "Uw antwoord",
"LastModificationTime": "Tijdstip laatste wijziging"
}
}

4
modules/docs/app/VoloDocs.Web/package.json

@ -3,7 +3,7 @@
"name": "volo.docstestapp",
"private": true,
"dependencies": {
"@abp/aspnetcore.mvc.ui.theme.basic": "^4.3.0-rc.2",
"@abp/docs": "^4.3.0-rc.2"
"@abp/aspnetcore.mvc.ui.theme.basic": "^4.3.0",
"@abp/docs": "^4.3.0"
}
}

298
modules/docs/app/VoloDocs.Web/yarn.lock

@ -2,45 +2,45 @@
# yarn lockfile v1
"@abp/anchor-js@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/anchor-js/-/anchor-js-4.3.0-rc.2.tgz#bb25b4b80a8f3c9b4fd281b8d2a8670fd582a59a"
integrity sha512-Rokwf2vSnqfY9Sf4DQzC5b4vMUINXk3mWb9fCTqZfjdiqjnLWJ+JyfsOeXV4qGvLF5NOU0wCbYSLvUdPn/LZwg==
"@abp/anchor-js@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/anchor-js/-/anchor-js-4.3.0.tgz#3d1e12181cc846c0fd08fd76f6297ced5e6c5726"
integrity sha512-M+vetqkrKByu/nfWL3srJmjHJzMIcK4lWBHUBA0XyUKsdnLjF4Ejpixs6a1TAGGN8zIL3yoxdsVp1fDSy2oZew==
dependencies:
"@abp/core" "~4.3.0-rc.2"
"@abp/core" "~4.3.0"
anchor-js "^4.2.2"
"@abp/aspnetcore.mvc.ui.theme.basic@^4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-4.3.0-rc.2.tgz#4ebafbaade6610e3d405877a148d72d57569c3e3"
integrity sha512-Q3QqxKDFC04gaaj30Rk+9zGNfNxC8FX0jciARATceFV6pdA3F3PgT5EMDSlo6NoGniFVjHPRgay9N09zT6Htyw==
dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~4.3.0-rc.2"
"@abp/aspnetcore.mvc.ui.theme.shared@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-4.3.0-rc.2.tgz#d3bf79929c55c5380d7ca7b913a23031d7a6bd12"
integrity sha512-pz86bIV4wNeG7/UPYzNCXlJ/MdOdIygc+Com7C9Ld7gzsyER7VD9h5U/hkytvL4FBFLJn4DU+xuZNECjv0HS0A==
dependencies:
"@abp/aspnetcore.mvc.ui" "~4.3.0-rc.2"
"@abp/bootstrap" "~4.3.0-rc.2"
"@abp/bootstrap-datepicker" "~4.3.0-rc.2"
"@abp/datatables.net-bs4" "~4.3.0-rc.2"
"@abp/font-awesome" "~4.3.0-rc.2"
"@abp/jquery-form" "~4.3.0-rc.2"
"@abp/jquery-validation-unobtrusive" "~4.3.0-rc.2"
"@abp/lodash" "~4.3.0-rc.2"
"@abp/luxon" "~4.3.0-rc.2"
"@abp/malihu-custom-scrollbar-plugin" "~4.3.0-rc.2"
"@abp/select2" "~4.3.0-rc.2"
"@abp/sweetalert" "~4.3.0-rc.2"
"@abp/timeago" "~4.3.0-rc.2"
"@abp/toastr" "~4.3.0-rc.2"
"@abp/aspnetcore.mvc.ui@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-4.3.0-rc.2.tgz#6ff41be179c8d1089778a51ffa54a1f3d7614278"
integrity sha512-2L5zvuqUwPwNPcMauiiJZD1ft0QycqINz+bXEQ8t0EwbB+dzcsukL/rpOQfpeRHWWYy4nIN4C2bTvXhNgQbPqQ==
"@abp/aspnetcore.mvc.ui.theme.basic@^4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-4.3.0.tgz#33d6f72b698e5b8f399fb648817ed1fce070d482"
integrity sha512-jZNRm+R207KGs+0KvbLSGjvjm0i7y6ktHqH0tJ5nJ51B4xwOSxC64xmZXMQyazyqeGTKxpWVzIhqiFPb+q41Vg==
dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~4.3.0"
"@abp/aspnetcore.mvc.ui.theme.shared@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-4.3.0.tgz#6150c87f848e3cee36c217b01304b76aaa7991bb"
integrity sha512-urL7zQZu3jceXoSDBHQpzP/uhFYGZtreW22ohVINw2QTonCCd/ojRIVOZvf+GtMSRBqeecBqtdOjr9aoah+z9Q==
dependencies:
"@abp/aspnetcore.mvc.ui" "~4.3.0"
"@abp/bootstrap" "~4.3.0"
"@abp/bootstrap-datepicker" "~4.3.0"
"@abp/datatables.net-bs4" "~4.3.0"
"@abp/font-awesome" "~4.3.0"
"@abp/jquery-form" "~4.3.0"
"@abp/jquery-validation-unobtrusive" "~4.3.0"
"@abp/lodash" "~4.3.0"
"@abp/luxon" "~4.3.0"
"@abp/malihu-custom-scrollbar-plugin" "~4.3.0"
"@abp/select2" "~4.3.0"
"@abp/sweetalert" "~4.3.0"
"@abp/timeago" "~4.3.0"
"@abp/toastr" "~4.3.0"
"@abp/aspnetcore.mvc.ui@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-4.3.0.tgz#0098e528a929eb87da5c661cf3edf062bf2cb8c7"
integrity sha512-k0cXjDk33wDhr0tqjCG7UYJU5y2UJW+uCAp5cQTFqK9HqeYW1huGfRydECh3m8jqPGRmZRx4aJGQo6Te92bjcw==
dependencies:
ansi-colors "^4.1.1"
extend-object "^1.0.0"
@ -51,181 +51,181 @@
micromatch "^4.0.2"
path "^0.12.7"
"@abp/bootstrap-datepicker@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-4.3.0-rc.2.tgz#29a686c3d2bce356967f646d7334cd83c4257b4c"
integrity sha512-3+B7SJRi7DQJe0aNgv0H0zu1BfvMZcwgt06N3ALR9+o3TSJcOqcYrEMed3aG+ASH++CltnohTYnLkVXaxshioA==
"@abp/bootstrap-datepicker@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-4.3.0.tgz#a4246b06d41ad39bf8a84b310227b0b44c2ca4f4"
integrity sha512-f/M7rpr87BPyk47RDUobWBbkMUwRlY+riRnWaoHkSAOwwSMBkkXsAxyEAkbRlIiYFBfNkrVl1OpTOliinhvWjQ==
dependencies:
bootstrap-datepicker "^1.9.0"
"@abp/bootstrap@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-4.3.0-rc.2.tgz#1416fe639c88b7d958435e45fe19692268a7f932"
integrity sha512-E6svmDhNQlT5nd65VgshexyedRWhbvi9o1oYo/dLTUpJDzR7M9ptDqxFLVB9vVDva3HgxUoEvgRJgb9fXvq4zw==
"@abp/bootstrap@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-4.3.0.tgz#9dc88066bbb19ee50eb27460ab06f1593fae76cd"
integrity sha512-tV/K6nNl7Rt4BEQFlbPUtXMSTC+Usc1ArP6JMNL++1xOOT2Kyye172WEWnTcT7RRnveq7kid090Dxk9g3IyprA==
dependencies:
"@abp/core" "~4.3.0-rc.2"
"@abp/core" "~4.3.0"
bootstrap "^4.6.0"
bootstrap-v4-rtl "4.6.0-1"
"@abp/clipboard@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-4.3.0-rc.2.tgz#63670e869b09f9e10ec9a2e7f8ffcc097ce1efc7"
integrity sha512-jTHzum4h5TQqAKJKEHwJ88NLFmby92hJ8byOBl/HAjOHb8LhWuw/ktTwl2knd0/63KpiCKYZGQPV3kk5JXVQ6w==
"@abp/clipboard@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-4.3.0.tgz#71ddeda84a4977c19aaeec94cbc6410d5142ab68"
integrity sha512-S2QX+Yk6f1k+X0ghEbzDI8/l6nJkeLACPVfSg0TAxbF6LES7i9YOLdfKYRvacfLheN0nQQJeWalCNsjaQXwuwA==
dependencies:
"@abp/core" "~4.3.0-rc.2"
"@abp/core" "~4.3.0"
clipboard "^2.0.6"
"@abp/core@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-4.3.0-rc.2.tgz#3c9ea339624ae3b6cbee13e048268d48269ea6a9"
integrity sha512-/89xH+IVSmTOLWeUO4yVB7Hg64uHTbR7bHjgl+b94cFdtITH9Nvr2EGdXUJbHGUK7L6lSDziqiMcG/ic0061+Q==
"@abp/core@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-4.3.0.tgz#77945a62daae70b5f9f348036ab7c5a308d95a94"
integrity sha512-k+6BemPsencQasN+8W9sVYXdSOjea61ng2MIaPVTuCCjLWnReg4pQQ4QoJWsja+W36C8bratzT5ePwP6ZrCnMg==
dependencies:
"@abp/utils" "^4.3.0-rc.2"
"@abp/utils" "^4.3.0"
"@abp/datatables.net-bs4@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-4.3.0-rc.2.tgz#bbfc0d9d0ed86cdb14b38849fb78b2b1911c4a35"
integrity sha512-PRKYi2NU41KpckJ/d0buHoFbyKVuW5NCQNpUdYzDsPS2riyeXccCsLFJM1bT01TdR4Idla3vx9Fkb+HoJOiDeQ==
"@abp/datatables.net-bs4@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-4.3.0.tgz#49470ef1f1a7b57cb9cfd1b47095d2e865ce74ce"
integrity sha512-tJ49688P8hjlxKYxqP2a6PUYrYX7qhm8jIc6MZrKWQyZbRbAwF0glUYa7MO73Us9Z3HRyPczedGQ3qK9pCu0Mg==
dependencies:
"@abp/datatables.net" "~4.3.0-rc.2"
"@abp/datatables.net" "~4.3.0"
datatables.net-bs4 "^1.10.21"
"@abp/datatables.net@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-4.3.0-rc.2.tgz#1923e60db261366a7d2f284b0274d13e253567ca"
integrity sha512-rp53+5Xj1jhjpCj7UBA9+nSNbaTQ4Vc1NWCg1e5aI5tWiyZprUS44dRszIQIDV86XKorfFhog5ihOZyzl1HDyg==
"@abp/datatables.net@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-4.3.0.tgz#fa5f01eb32b60176f5bef669abd898c0778ebb2c"
integrity sha512-ZRDIeAMc9buIGuMSO8WkMm16qYS8xYljj6NxDpGTdqP/+BOnhtw3/fbH1LOLj+If38rP+Q6ANbnZp7MXzqNlig==
dependencies:
"@abp/jquery" "~4.3.0-rc.2"
"@abp/jquery" "~4.3.0"
datatables.net "^1.10.21"
"@abp/docs@^4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/docs/-/docs-4.3.0-rc.2.tgz#a0871a860a57542de601657b4d41c5ca724adfe2"
integrity sha512-vJW6wTa9la7dwAv909QMIvOwtRlHdZGXRAS4gbyDbuGL2/OrqyIsGOdSfIcRakRNsTs5tuzRNIMCkdIvlJVzmw==
"@abp/docs@^4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/docs/-/docs-4.3.0.tgz#fc612fef54bbb76b34b562eff5c1b6b89df1b740"
integrity sha512-7jfDpAphn5zdSbYKZshfOkIPg0diRVgH8qmYVwksaEi2ZDB/LIgGpHZVQjPSXLsOl+zsFbtYH5Qmxo5Y2DDgBg==
dependencies:
"@abp/anchor-js" "~4.3.0-rc.2"
"@abp/clipboard" "~4.3.0-rc.2"
"@abp/malihu-custom-scrollbar-plugin" "~4.3.0-rc.2"
"@abp/popper.js" "~4.3.0-rc.2"
"@abp/prismjs" "~4.3.0-rc.2"
"@abp/anchor-js" "~4.3.0"
"@abp/clipboard" "~4.3.0"
"@abp/malihu-custom-scrollbar-plugin" "~4.3.0"
"@abp/popper.js" "~4.3.0"
"@abp/prismjs" "~4.3.0"
"@abp/font-awesome@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-4.3.0-rc.2.tgz#437d3d6bbd8f52e5091251932d6a494d0164694b"
integrity sha512-FeHHtEQwrJBwD5PkFYqjKouCLwNjjRqTNseaN+s/r7gNjv0PgKytfRoqEb+O/BkZg/DwEuMz9jFX/RXCCNa2xA==
"@abp/font-awesome@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-4.3.0.tgz#4a372ed9294df32d477a3b08aa080b39d9b44d6a"
integrity sha512-Ny9bFIN9EZGWU2DGQeURlJmH9iYo9N7GYBluNFunmftN+K2G+2739otg06qGoLmoxF8hGzyYvKmwhykjxY9pYw==
dependencies:
"@abp/core" "~4.3.0-rc.2"
"@abp/core" "~4.3.0"
"@fortawesome/fontawesome-free" "^5.13.0"
"@abp/jquery-form@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-4.3.0-rc.2.tgz#999910deaf46330477b6ed487a771a2123d69f92"
integrity sha512-+fdEIOTlxDOdYXMtc/ujhYeuP2qiI4bmL3TQQWQxSTlW8q5jB6dHLBnHiXXltO8HxX9+7ZsjN3tsV7+Div5joA==
"@abp/jquery-form@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-4.3.0.tgz#98b9937bb258abbe306f03d5ac4e0b2b60022c4d"
integrity sha512-f4IPJnSA5v2DBEmf/XAqCqsZJR9AKzOsCCBH3GEct1VzJd4GYr9CL4qMc5jDjfCZ4PWN4SgqBd3mHQRB+yo0pA==
dependencies:
"@abp/jquery" "~4.3.0-rc.2"
"@abp/jquery" "~4.3.0"
jquery-form "^4.3.0"
"@abp/jquery-validation-unobtrusive@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-4.3.0-rc.2.tgz#0635e0c77da269e8367c3d7c388613249ce9221d"
integrity sha512-ubmPjVJatAW3AJWjWtT+ZbNLhu+HHNgcxYkFGVNusNuboTGsoBs5G45Cjzp/q5FnggWoPvkllpf8CGuaYUbpUQ==
"@abp/jquery-validation-unobtrusive@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-4.3.0.tgz#e6dc6cc94780c7db9b556f2f991d2d992dbfee38"
integrity sha512-AmvI9kOJQ9f+fTwqDMvODMSvkMgMN3XvBF0v/EbZpF86tMtQTWfCHf+gofmq9WjM96QJjhCjLRl0hirQfSBfbg==
dependencies:
"@abp/jquery-validation" "~4.3.0-rc.2"
"@abp/jquery-validation" "~4.3.0"
jquery-validation-unobtrusive "^3.2.11"
"@abp/jquery-validation@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-4.3.0-rc.2.tgz#ee145f8c4a633218ccfa50cca0bed503a0ca8dc6"
integrity sha512-SLWzN6jxVqKaHYs/d6Mku8CfhB1vWgfMbFma14upiJ+/VDkTF4Rh27iMCWKYVOS3bukh2ltBp6kPFplrjCAGSg==
"@abp/jquery-validation@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-4.3.0.tgz#89a8bc2196dfabed57ef6a754c9da4b77b0cc44f"
integrity sha512-gwvRR6117JJTRGEk1zxdR0toVsfRLekaW/YDw4DsE3iwdhBTS05DyoEpl+4kUflWrjmRSKsVhWeoyndCDMi8Qw==
dependencies:
"@abp/jquery" "~4.3.0-rc.2"
"@abp/jquery" "~4.3.0"
jquery-validation "^1.19.2"
"@abp/jquery@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-4.3.0-rc.2.tgz#f620628ea0739888cbcb360c058d09bff10d553b"
integrity sha512-+rfyLVJn7E8wJ1oQ9GiCR63Yk6wah1Hqnj4XpsRDMkIaOXKaqrnVHAZd4W2DUunQSe95wqHfkNH/wkvTyNEwUg==
"@abp/jquery@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-4.3.0.tgz#8c6dab7b0a657a7d89faee18157d6111c55d3df3"
integrity sha512-+3SCUjQjT6WQ9pYJCu3PUhgCrFPgTOD3Q/cTNbzTL5a6J3bpp+U26L5qwFhoQ0j+FH+VNAZGDsL/UtT9/Lwa1A==
dependencies:
"@abp/core" "~4.3.0-rc.2"
"@abp/core" "~4.3.0"
jquery "~3.5.1"
"@abp/lodash@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-4.3.0-rc.2.tgz#9b5429d3976b34022aaf8cab4afef57479b66821"
integrity sha512-sE2dyofYbiIy4xhL85diZWkfqBcQl1q61T0DbYDOHgaejZAJxk4bVyFpEuMiC2HwWAZ656IN1bzyQIyE1RKzQA==
"@abp/lodash@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-4.3.0.tgz#44c194c07031e162d7d8f90d7225ef4b3834c068"
integrity sha512-p+wG99Ze0+Kqee588mFkYGYbyVtdWk49eVujjHA1KdPXNC+rEco0pH1943pbSqni5VzJCIkY9PvG40If5CZykQ==
dependencies:
"@abp/core" "~4.3.0-rc.2"
"@abp/core" "~4.3.0"
lodash "^4.17.15"
"@abp/luxon@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-4.3.0-rc.2.tgz#6fdbf1624462615dcb1f5ce85c07fc3bc4065e3f"
integrity sha512-C4aT0aN3/TVtTE3m0AZyhFSeeg+RxXpUO+nffAZoM/cH5NL8tir+O1hd+dhtCb7AELaqQNx5+qgXoJLYdWMYVg==
"@abp/luxon@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-4.3.0.tgz#930ed60b19c2ad1e86e817fe10861f042b2eb08a"
integrity sha512-gusXqRmHMOqmlHRe4N9CQL4Ncr3qazwWvi8QUdEity4a2mofgVPvn7F/E7uBVFjRL1EBp+nAUfohBPwQJECy5w==
dependencies:
"@abp/core" "~4.3.0-rc.2"
"@abp/core" "~4.3.0"
luxon "^1.24.1"
"@abp/malihu-custom-scrollbar-plugin@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-4.3.0-rc.2.tgz#28fc1f216c1d84b20acaf8c8c5cf5c3b33e1aeb1"
integrity sha512-LYMXKkPVyBLWV4Qnom2MW8JJ/rZmVg1CyOFxM6JiL+dpsN1Ogw0hRG33CCHQveqUmf2cr3vf96qk5Et5DyDDIg==
"@abp/malihu-custom-scrollbar-plugin@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-4.3.0.tgz#a6ce99cf29c36985b3268fa6309aad38438d7d2d"
integrity sha512-swip33gDRAWGIdyJmD+SrNBv2uyq6PJwG9RKnpFLaUiqbU8NhtnTl+bGCkO2BTTjBrP6dOPe7bmu3B8EO/zrMQ==
dependencies:
"@abp/core" "~4.3.0-rc.2"
"@abp/core" "~4.3.0"
malihu-custom-scrollbar-plugin "^3.1.5"
"@abp/popper.js@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/popper.js/-/popper.js-4.3.0-rc.2.tgz#9945cb762beb625117c48124bd01fe9356199164"
integrity sha512-Mrf4Y4vy2OB/W+Ce61Lt6CzRFmfCvpGvr8QM8t2mlxtVawQ1AR2J586et5iO6kou0Ku7LX+CFcWP/leDNZYF2Q==
"@abp/popper.js@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/popper.js/-/popper.js-4.3.0.tgz#20fe4c810cd3222c6e123ded7e68ad5d43a89e98"
integrity sha512-FrEwmkE+v6BXncPB72dcW6nn/XZcQSezRAK4NzTrditqkBX+6az0tWJaEFcKzapGqtkXp1E373SSnbICxplJnQ==
dependencies:
"@abp/core" "~4.3.0-rc.2"
"@abp/core" "~4.3.0"
popper.js "^1.16.0"
"@abp/prismjs@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-4.3.0-rc.2.tgz#ecb98291898ba0c2fd4317be022d1a3e281c8bea"
integrity sha512-LA2pmTDhB3NwM4hEkZSW1xBXsixIXY2FVnEHS7ATkyRr36W/Gqb5fchv0ILBD7Gce40pAiPO2dMs4SUWT8qk0Q==
"@abp/prismjs@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-4.3.0.tgz#b970bdbe5a799dad62c91dab2232e0f68c0bc1fa"
integrity sha512-/WCbvEXxbwA/PrgakaJQz+i/7BfTuvAN6ncHmRv25KtqZrGEtlEcbbrBTyZ3/FjGWiT0RZmFk9tP7bafs0y7sg==
dependencies:
"@abp/clipboard" "~4.3.0-rc.2"
"@abp/core" "~4.3.0-rc.2"
"@abp/clipboard" "~4.3.0"
"@abp/core" "~4.3.0"
prismjs "^1.20.0"
"@abp/select2@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-4.3.0-rc.2.tgz#42d62daff9e50b1fe211a1560794625ba3f52107"
integrity sha512-okiIXmFaqx0uy/UMcpMKWKjrwop1JINyzN4FS5tafUpWhx6KcYYHudLWJvnPbsdsOeBQx91kw8jjERRJIqfEOA==
"@abp/select2@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-4.3.0.tgz#0a63ab0f740f36644017024865a4f1f4038a7bc9"
integrity sha512-uRNdTTOx5US4bOWcSDrHJt3WgWT5mroxXWooPOBirqhPVx7gvqVYDoGhXpyyoE80Hs+a/ISW/vJUIp8gsOKwEw==
dependencies:
"@abp/core" "~4.3.0-rc.2"
"@abp/core" "~4.3.0"
select2 "^4.0.13"
"@abp/sweetalert@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-4.3.0-rc.2.tgz#dfb20dfca8449ed3c3f6599d99b51746019eb664"
integrity sha512-NRKOgT80JVQrwI1FRqpbCzALvnLAFKdPwKKNDgm0L7r/5DL0+JbkKCI1AIPl/yiM8MBrCaQqNms+9JES5mjiUQ==
"@abp/sweetalert@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-4.3.0.tgz#080b1133b5b6a67593bf7ebda8e9f6042ac2f24e"
integrity sha512-hkWvmqPk0foRA44k+2VjVoyRwwaPQMBayyRocc66+XwwGU5xSwR4VosLd8xxXW8la69rhDvQdoECguXKnHPYRA==
dependencies:
"@abp/core" "~4.3.0-rc.2"
"@abp/core" "~4.3.0"
sweetalert "^2.1.2"
"@abp/timeago@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-4.3.0-rc.2.tgz#22943e219facd7fa0efddb63017198474b5cef89"
integrity sha512-TjKyuli+SpVjTgVJmraBpqJK112I+1DYHPJfso7QAH48Ra4gceGj9EVS0i/420YyLZyJSMtZOruxzYkyJeR/6w==
"@abp/timeago@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-4.3.0.tgz#79a75895781248cf7e5035204d19de7f55cbf685"
integrity sha512-R219V16eRhp4BjcmNzHHK078LF/QHr219hG7dmVtRIooNt4J8nEGDj3C5Ll1S0NjO5sM/78PhC6gLD1FQGMkaQ==
dependencies:
"@abp/jquery" "~4.3.0-rc.2"
"@abp/jquery" "~4.3.0"
timeago "^1.6.7"
"@abp/toastr@~4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-4.3.0-rc.2.tgz#143a344b00bbfaa858fe267fb6d627952bf7b3c0"
integrity sha512-cQV9UFWb9zarkb/CbrqkF9RXqn1Fc/TFKKM5mxpUEcYjx52NuM0d+KawdEMoN2y3y2U4ciY44kbTP2W1y+NlBg==
"@abp/toastr@~4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-4.3.0.tgz#3e14e461bdaf5c43548b86799062bac150e9d1bc"
integrity sha512-9g1A4U3Svp4oesB5UGmfVGb8BmXZ9PPka3OWxYh0g9UNUvBsOqfxz1MH9Ho20Gz7wQ+dTce2XWPA6VbAMfwwvQ==
dependencies:
"@abp/jquery" "~4.3.0-rc.2"
"@abp/jquery" "~4.3.0"
toastr "^2.1.4"
"@abp/utils@^4.3.0-rc.2":
version "4.3.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-4.3.0-rc.2.tgz#6d051f98772e5642c2e3bc2f68e73d6f24f4694c"
integrity sha512-9qYo8OMTxIUG+qQBWXEpkURS6FUrx+J5s3SwC/eerp46hYr72GQ8L38Wq566a+xiLCn7Duxt6oJ/BxhTfQQxdw==
"@abp/utils@^4.3.0":
version "4.3.0"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-4.3.0.tgz#5fe44ae9a76ba8760bfd54dc6cfc64c96acc4b67"
integrity sha512-FFPSn/cL+b7/wYoRjvQLNJ3KrTiqng2gKPGf+jtMZer92fcVZtsF21ew/z+yxgj+9DRYtWbvn5iu9/ZPKL5hiw==
dependencies:
just-compare "^1.3.0"

3
modules/docs/src/Volo.Docs.Admin.Application.Contracts/Volo.Docs.Admin.Application.Contracts.csproj

@ -18,7 +18,8 @@
<ItemGroup>
<ProjectReference Include="..\Volo.Docs.Domain.Shared\Volo.Docs.Domain.Shared.csproj" />
<ProjectReference Include="..\..\..\..\framework\src\Volo.Abp.Ddd.Application\Volo.Abp.Ddd.Application.csproj" />
<ProjectReference Include="..\..\..\..\framework\src\Volo.Abp.Ddd.Application.Contracts\Volo.Abp.Ddd.Application.Contracts.csproj" />
<ProjectReference Include="..\..\..\..\framework\src\Volo.Abp.Authorization.Abstractions\Volo.Abp.Authorization.Abstractions.csproj" />
</ItemGroup>
<ItemGroup>

4
modules/docs/src/Volo.Docs.Admin.Application.Contracts/Volo/Docs/Admin/DocsAdminApplicationContractsModule.cs

@ -1,4 +1,5 @@
using Volo.Abp.Application;
using Volo.Abp.Authorization;
using Volo.Abp.Authorization.Permissions;
using Volo.Abp.Localization;
using Volo.Abp.Modularity;
@ -9,7 +10,8 @@ namespace Volo.Docs.Admin
{
[DependsOn(
typeof(DocsDomainSharedModule),
typeof(AbpDddApplicationModule)
typeof(AbpDddApplicationContractsModule),
typeof(AbpAuthorizationAbstractionsModule)
)]
public class DocsAdminApplicationContractsModule : AbpModule
{

1
modules/docs/src/Volo.Docs.Admin.Application/Volo.Docs.Admin.Application.csproj

@ -15,6 +15,7 @@
<ProjectReference Include="..\Volo.Docs.Domain\Volo.Docs.Domain.csproj" />
<ProjectReference Include="..\..\..\..\framework\src\Volo.Abp.AutoMapper\Volo.Abp.AutoMapper.csproj" />
<ProjectReference Include="..\..\..\..\framework\src\Volo.Abp.Caching\Volo.Abp.Caching.csproj" />
<ProjectReference Include="..\..\..\..\framework\src\Volo.Abp.Ddd.Application\Volo.Abp.Ddd.Application.csproj" />
</ItemGroup>
</Project>

5
modules/docs/src/Volo.Docs.Admin.Application/Volo/Docs/Admin/DocsAdminApplicationModule.cs

@ -1,4 +1,5 @@
using Microsoft.Extensions.DependencyInjection;
using Volo.Abp.Application;
using Volo.Abp.AutoMapper;
using Volo.Abp.Caching;
using Volo.Abp.Modularity;
@ -9,7 +10,9 @@ namespace Volo.Docs.Admin
typeof(DocsDomainModule),
typeof(DocsAdminApplicationContractsModule),
typeof(AbpCachingModule),
typeof(AbpAutoMapperModule))]
typeof(AbpAutoMapperModule),
typeof(AbpDddApplicationModule)
)]
public class DocsAdminApplicationModule : AbpModule
{
public override void ConfigureServices(ServiceConfigurationContext context)

2
modules/docs/src/Volo.Docs.Application.Contracts/Volo.Docs.Application.Contracts.csproj

@ -12,7 +12,7 @@
<ItemGroup>
<ProjectReference Include="..\Volo.Docs.Domain.Shared\Volo.Docs.Domain.Shared.csproj" />
<ProjectReference Include="..\..\..\..\framework\src\Volo.Abp.Ddd.Application\Volo.Abp.Ddd.Application.csproj" />
<ProjectReference Include="..\..\..\..\framework\src\Volo.Abp.Ddd.Application.Contracts\Volo.Abp.Ddd.Application.Contracts.csproj" />
</ItemGroup>
</Project>

2
modules/docs/src/Volo.Docs.Application.Contracts/Volo/Docs/DocsApplicationContractsModule.cs

@ -5,7 +5,7 @@ namespace Volo.Docs
{
[DependsOn(
typeof(DocsDomainSharedModule),
typeof(AbpDddApplicationModule)
typeof(AbpDddApplicationContractsModule)
)]
public class DocsApplicationContractsModule : AbpModule
{

1
modules/docs/src/Volo.Docs.Application/Volo.Docs.Application.csproj

@ -15,6 +15,7 @@
<ProjectReference Include="..\Volo.Docs.Domain\Volo.Docs.Domain.csproj" />
<ProjectReference Include="..\..\..\..\framework\src\Volo.Abp.AutoMapper\Volo.Abp.AutoMapper.csproj" />
<ProjectReference Include="..\..\..\..\framework\src\Volo.Abp.Caching\Volo.Abp.Caching.csproj" />
<ProjectReference Include="..\..\..\..\framework\src\Volo.Abp.Ddd.Application\Volo.Abp.Ddd.Application.csproj" />
</ItemGroup>
</Project>

5
modules/docs/src/Volo.Docs.Application/Volo/Docs/DocsApplicationModule.cs

@ -1,5 +1,6 @@
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.DependencyInjection.Extensions;
using Volo.Abp.Application;
using Volo.Abp.AutoMapper;
using Volo.Abp.Caching;
using Volo.Abp.Modularity;
@ -11,7 +12,9 @@ namespace Volo.Docs
typeof(DocsDomainModule),
typeof(DocsApplicationContractsModule),
typeof(AbpCachingModule),
typeof(AbpAutoMapperModule))]
typeof(AbpAutoMapperModule),
typeof(AbpDddApplicationModule)
)]
public class DocsApplicationModule : AbpModule
{
public override void ConfigureServices(ServiceConfigurationContext context)

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

Loading…
Cancel
Save