Browse Source

Merge branch 'dev' into salihozkara/abpUnited

pull/20272/head
Salih 2 years ago
parent
commit
94e7590f3c
  1. 6
      Directory.Packages.props
  2. 101
      README.md
  3. 3
      abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/en.json
  4. 2
      abp_io/AbpIoLocalization/AbpIoLocalization/Community/Localization/Resources/en-GB.json
  5. 20
      abp_io/AbpIoLocalization/AbpIoLocalization/Community/Localization/Resources/en.json
  6. 4
      abp_io/AbpIoLocalization/AbpIoLocalization/Www/Localization/Resources/zh-Hans.json
  7. 4
      docs/en/CLI.md
  8. 83
      docs/en/Data-Filtering.md
  9. 7
      docs/en/Local-Event-Bus.md
  10. 6
      docs/en/Modules/Cms-Kit/Comments.md
  11. 4
      docs/en/UI/AspNetCore/Static-JavaScript-Proxies.md
  12. 4
      docs/en/docs-nav.json
  13. BIN
      docs/en/images/book-mastering-abp-framework.png
  14. BIN
      docs/en/images/cmskit-module-comments-settings.png
  15. BIN
      docs/en/images/db-options.png
  16. BIN
      docs/en/images/ddd-microservice-simple.png
  17. BIN
      docs/en/images/ui-options.png
  18. 83
      docs/zh-Hans/Data-Filtering.md
  19. 8
      docs/zh-Hans/Local-Event-Bus.md
  20. 1
      framework/src/Volo.Abp.AspNetCore.Components.Server.Theming/Bundling/BlazorGlobalScriptContributor.cs
  21. 2
      framework/src/Volo.Abp.AspNetCore.Components.Web/Volo/Abp/AspNetCore/Components/Web/AbpAspNetCoreComponentsWebModule.cs
  22. 2
      framework/src/Volo.Abp.AspNetCore.Components.Web/Volo/Abp/AspNetCore/Components/Web/AbpAspNetCoreComponentsWebOptions.cs
  23. 1
      framework/src/Volo.Abp.AspNetCore.Components.WebAssembly/Volo/Abp/AspNetCore/Components/WebAssembly/AbpAspNetCoreComponentsWebAssemblyModule.cs
  24. 1
      framework/src/Volo.Abp.AspNetCore.Components.WebAssembly/Volo/Abp/AspNetCore/Components/WebAssembly/ClientProxyExceptionEventHandler.cs
  25. 5
      framework/src/Volo.Abp.BackgroundWorkers/Volo/Abp/BackgroundWorkers/BackgroundWorkerBase.cs
  26. 14
      framework/src/Volo.Abp.BlazoriseUI/BlazoriseUiObjectExtensionPropertyInfoExtensions.cs
  27. 9
      framework/src/Volo.Abp.BlazoriseUI/Components/UiPageProgress.razor.cs
  28. 172
      framework/src/Volo.Abp.Caching.StackExchangeRedis/Volo/Abp/Caching/StackExchangeRedis/AbpRedisCache.cs
  29. 16
      framework/src/Volo.Abp.Caching.StackExchangeRedis/Volo/Abp/Caching/StackExchangeRedis/AbpRedisExtensions.cs
  30. 1
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/CliService.cs
  31. 2
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/UpdateCommand.cs
  32. 2
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/ModuleInfo.cs
  33. 13
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/Steps/ChangeThemeStep.cs
  34. 13
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/Steps/RemoveFileStep.cs
  35. 5
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/App/AppNoLayersTemplateBase.cs
  36. 4
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/App/AppTemplateBase.cs
  37. 4
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/Microservice/MicroserviceTemplateBase.cs
  38. 11
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/NpmPackagesUpdater.cs
  39. 10
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Utils/CmdHelper.cs
  40. 2
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Version/PackageVersionCheckerService.cs
  41. 16
      framework/src/Volo.Abp.Core/Volo/Abp/Check.cs
  42. 2
      framework/src/Volo.Abp.Core/Volo/Abp/DependencyInjection/ExposeServicesAttribute.cs
  43. 8
      framework/src/Volo.Abp.EntityFrameworkCore.MySQL/Volo/Abp/EntityFrameworkCore/MySQL/AbpEntityFrameworkCoreMySQLModule.cs
  44. 6
      framework/src/Volo.Abp.EntityFrameworkCore.Oracle.Devart/Volo/Abp/EntityFrameworkCore/Oracle/Devart/AbpEntityFrameworkCoreOracleDevartModule.cs
  45. 6
      framework/src/Volo.Abp.EntityFrameworkCore.Oracle/Volo/Abp/EntityFrameworkCore/Oracle/AbpEntityFrameworkCoreOracleModule.cs
  46. 8
      framework/src/Volo.Abp.EntityFrameworkCore.PostgreSql/Volo/Abp/EntityFrameworkCore/PostgreSql/AbpEntityFrameworkCorePostgreSqlModule.cs
  47. 8
      framework/src/Volo.Abp.EntityFrameworkCore.SqlServer/Volo/Abp/EntityFrameworkCore/SqlServer/AbpEntityFrameworkCoreSqlServerModule.cs
  48. 9
      framework/src/Volo.Abp.EntityFrameworkCore.Sqlite/Volo/Abp/EntityFrameworkCore/Sqlite/AbpEntityFrameworkCoreSqliteModule.cs
  49. 21
      framework/src/Volo.Abp.EntityFrameworkCore/Microsoft/Extensions/DependencyInjection/AbpEfCoreDbContextOptionsBuilderExtensions.cs
  50. 68
      framework/src/Volo.Abp.EntityFrameworkCore/Microsoft/Extensions/DependencyInjection/AbpEfCoreModelBuilderExtensions.cs
  51. 38
      framework/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/EntityFrameworkCore/AbpDbContext.cs
  52. 62
      framework/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/EntityFrameworkCore/AbpDbContextOptionsExtension.cs
  53. 49
      framework/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/EntityFrameworkCore/AbpEntityQueryProvider.cs
  54. 6
      framework/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/EntityFrameworkCore/DependencyInjection/DbContextOptionsFactory.cs
  55. 59
      framework/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/EntityFrameworkCore/GlobalFilters/AbpCompiledQueryCacheKeyGenerator.cs
  56. 21
      framework/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/EntityFrameworkCore/GlobalFilters/AbpEfCoreCurrentDbContext.cs
  57. 25
      framework/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/EntityFrameworkCore/GlobalFilters/AbpEfCoreDataFilterDbFunctionMethods.cs
  58. 10
      framework/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/EntityFrameworkCore/GlobalFilters/AbpEfCoreGlobalFilterOptions.cs
  59. 16
      framework/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/EntityFrameworkCore/GlobalFilters/IAbpEfCoreDbFunctionContext.cs
  60. 18
      framework/src/Volo.Abp.Swashbuckle/Microsoft/Extensions/DependencyInjection/AbpSwaggerGenServiceCollectionExtensions.cs
  61. 65
      framework/src/Volo.Abp.Swashbuckle/wwwroot/swagger/ui/abp.swagger.js
  62. 2
      framework/test/Volo.Abp.Auditing.Tests/Volo/Abp/Auditing/AbpAuditingTestModule.cs
  63. 20
      framework/test/Volo.Abp.Core.Tests/Volo/Abp/DependencyInjection/AutoRegistrationHelper_Tests.cs
  64. 4
      framework/test/Volo.Abp.EntityFrameworkCore.Tests/Volo/Abp/EntityFrameworkCore/AbpEntityFrameworkCoreTestModule.cs
  65. 2
      latest-versions.json
  66. 14
      modules/account/src/Volo.Abp.Account.Web/Pages/Account/LoggedOut.js
  67. 2
      modules/basic-theme/src/Volo.Abp.AspNetCore.Components.WebAssembly.BasicTheme/AbpAspNetCoreComponentsWebAssemblyBasicThemeModule.cs
  68. 2
      modules/basic-theme/src/Volo.Abp.AspNetCore.Components.WebAssembly.BasicTheme/Themes/Basic/LoginDisplay.razor
  69. 2
      modules/basic-theme/src/Volo.Abp.AspNetCore.Components.WebAssembly.BasicTheme/Themes/Basic/WebAssemblyRedirectToLogin.razor
  70. 6
      modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/package.json
  71. 276
      modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/yarn.lock
  72. 4
      modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/package.json
  73. 280
      modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/yarn.lock
  74. 4
      modules/blogging/app/Volo.BloggingTestApp/package.json
  75. 318
      modules/blogging/app/Volo.BloggingTestApp/yarn.lock
  76. 2
      modules/client-simulation/demo/Volo.ClientSimulation.Demo/package.json
  77. 258
      modules/client-simulation/demo/Volo.ClientSimulation.Demo/yarn.lock
  78. 10
      modules/cms-kit/angular/package.json
  79. 4
      modules/cms-kit/angular/projects/cms-kit/package.json
  80. 2
      modules/cms-kit/host/Volo.CmsKit.IdentityServer/package.json
  81. 258
      modules/cms-kit/host/Volo.CmsKit.IdentityServer/yarn.lock
  82. 2
      modules/cms-kit/host/Volo.CmsKit.Web.Host/package.json
  83. 258
      modules/cms-kit/host/Volo.CmsKit.Web.Host/yarn.lock
  84. 4
      modules/cms-kit/host/Volo.CmsKit.Web.Unified/package.json
  85. 392
      modules/cms-kit/host/Volo.CmsKit.Web.Unified/yarn.lock
  86. 11
      modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Comments/CommentApprovalDto.cs
  87. 4
      modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Comments/CommentDto.cs
  88. 3
      modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Comments/CommentGetListInput.cs
  89. 9
      modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Comments/CommentSettingsDto.cs
  90. 4
      modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Comments/CommentWithAuthorDto.cs
  91. 8
      modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Comments/ICommentAdminAppService.cs
  92. 4
      modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Permissions/CmsKitAdminPermissionDefinitionProvider.cs
  93. 2
      modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Permissions/CmsKitAdminPermissions.cs
  94. 3
      modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo.CmsKit.Admin.Application.csproj
  95. 1
      modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/CmsKitAdminApplicationAutoMapperProfile.cs
  96. 45
      modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Comments/CommentAdminAppService.cs
  97. 22
      modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi.Client/ClientProxies/Volo/CmsKit/Admin/Comments/CommentAdminClientProxy.Generated.cs
  98. 171
      modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi.Client/ClientProxies/cms-kit-admin-generate-proxy.json
  99. 21
      modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Comments/CommentAdminController.cs
  100. 31
      modules/cms-kit/src/Volo.CmsKit.Admin.Web/CmsKitAdminWebModule.cs

6
Directory.Packages.props

@ -38,8 +38,8 @@
<PackageVersion Include="EphemeralMongo6.runtime.osx-x64" Version="1.1.3" />
<PackageVersion Include="EphemeralMongo6.runtime.win-x64" Version="1.1.3" />
<PackageVersion Include="FluentValidation" Version="11.8.0" />
<PackageVersion Include="Hangfire.AspNetCore" Version="1.8.6" />
<PackageVersion Include="Hangfire.SqlServer" Version="1.8.6" />
<PackageVersion Include="Hangfire.AspNetCore" Version="1.8.14" />
<PackageVersion Include="Hangfire.SqlServer" Version="1.8.14" />
<PackageVersion Include="HtmlSanitizer" Version="8.0.746" />
<PackageVersion Include="IdentityModel" Version="6.2.0" />
<PackageVersion Include="IdentityServer4" Version="4.1.2" />
@ -174,4 +174,4 @@
<PackageVersion Include="ConfigureAwait.Fody" Version="3.3.2" />
<PackageVersion Include="Fody" Version="6.8.0" />
</ItemGroup>
</Project>
</Project>

101
README.md

@ -1,22 +1,18 @@
# ABP Framework
![build and test](https://img.shields.io/github/actions/workflow/status/abpframework/abp/build-and-test.yml?branch=dev&style=flat-square)
[![codecov](https://codecov.io/gh/abpframework/abp/branch/dev/graph/badge.svg?token=jUKLCxa6HF)](https://codecov.io/gh/abpframework/abp)
[![NuGet](https://img.shields.io/nuget/v/Volo.Abp.Core.svg?style=flat-square)](https://www.nuget.org/packages/Volo.Abp.Core)
[![NuGet (with prereleases)](https://img.shields.io/nuget/vpre/Volo.Abp.Core.svg?style=flat-square)](https://www.nuget.org/packages/Volo.Abp.Core)
[![MyGet (nightly builds)](https://img.shields.io/myget/abp-nightly/vpre/Volo.Abp.svg?style=flat-square)](https://docs.abp.io/en/abp/latest/Nightly-Builds)
[![NuGet Download](https://img.shields.io/nuget/dt/Volo.Abp.Core.svg?style=flat-square)](https://www.nuget.org/packages/Volo.Abp.Core)
[![Code of Conduct](https://img.shields.io/badge/Contributor%20Covenant-v2.0%20adopted-ff69b4.svg)](https://github.com/abpframework/abp/blob/dev/CODE_OF_CONDUCT.md)
[![CLA Signed](https://cla-assistant.io/readme/badge/abpframework/abp)](https://cla-assistant.io/abpframework/abp)
[![ABP Discord server](https://img.shields.io/discord/951497912645476422?label=Discord)](https://discord.gg/abp)
ABP Framework is a complete **infrastructure** based on **ASP.NET Core** to create **modern web applications** and **APIs** by following the software development **best practices** and the **latest technologies**. Check out https://abp.io
![build and test](https://img.shields.io/github/actions/workflow/status/abpframework/abp/build-and-test.yml?branch=dev&style=flat-square) 🔹 [![codecov](https://codecov.io/gh/abpframework/abp/branch/dev/graph/badge.svg?token=jUKLCxa6HF)](https://codecov.io/gh/abpframework/abp) 🔹 [![NuGet](https://img.shields.io/nuget/v/Volo.Abp.Core.svg?style=flat-square)](https://www.nuget.org/packages/Volo.Abp.Core) 🔹 [![NuGet (with prereleases)](https://img.shields.io/nuget/vpre/Volo.Abp.Core.svg?style=flat-square)](https://www.nuget.org/packages/Volo.Abp.Core) 🔹 [![MyGet (nightly builds)](https://img.shields.io/myget/abp-nightly/vpre/Volo.Abp.svg?style=flat-square)](https://docs.abp.io/en/abp/latest/Nightly-Builds) 🔹
[![NuGet Download](https://img.shields.io/nuget/dt/Volo.Abp.Core.svg?style=flat-square)](https://www.nuget.org/packages/Volo.Abp.Core) 🔹 [![Code of Conduct](https://img.shields.io/badge/Contributor%20Covenant-v2.0%20adopted-ff69b4.svg)](https://github.com/abpframework/abp/blob/dev/CODE_OF_CONDUCT.md) 🔹 [![CLA Signed](https://cla-assistant.io/readme/badge/abpframework/abp)](https://cla-assistant.io/abpframework/abp) 🔹 [![Discord Shield](https://discord.com/api/guilds/951497912645476422/widget.png?style=shield)](https://discord.gg/abp)
ABP Framework is a complete **infrastructure** based on **ASP.NET Core** that creates **modern web applications** and **APIs** by following the software development **best practices** and the **latest technologies**.
[![ABP Platform](https://github.com/abpframework/abp/assets/9526587/47531496-4088-406d-9c69-63cb0ffec2ba)](https://abp.io)
## Getting Started
- [Quick Start](https://docs.abp.io/en/abp/latest/Tutorials/Todo/Index) is a single-part, quick-start tutorial to build a simple application with the ABP Framework. Start with this tutorial if you want to quickly understand how ABP works.
- [Getting Started guide](https://docs.abp.io/en/abp/latest/Getting-Started) can be used to create and run ABP based solutions with different options and details.
- [Web Application Development Tutorial](https://docs.abp.io/en/abp/latest/Tutorials/Part-1) is a complete tutorial to develop a full stack web application with all aspects of a real-life solution.
- [Quick Start](https://docs.abp.io/en/abp/latest/Tutorials/Todo/Index) is a single-part, quick-start tutorial to build a simple application with the ABP Framework. Start with this tutorial if you want to understand how ABP works quickly.
- [Getting Started guide](https://docs.abp.io/en/abp/latest/Getting-Started) can be used to create and run ABP-based solutions with different options and details.
- [Web Application Development Tutorial](https://docs.abp.io/en/abp/latest/Tutorials/Part-1) is a complete tutorial on developing a full-stack web application with all aspects of a real-life solution.
### Quick Start
@ -34,28 +30,26 @@ Create a new solution:
> See the [CLI documentation](https://docs.abp.io/en/abp/latest/CLI) for all available options.
### UI Framework Options
<img width="500" src="docs/en/images/ui-options.png">
### Database Provider Options
<img width="500" src="docs/en/images/db-options.png">
## The Book: Mastering ABP Framework
Written by the creator of ABP Framework, this book will help you to gain a complete understanding of the ABP Framework and modern web application development techniques.
* [Buy on Amazon](https://www.amazon.com/gp/product/B097Z2DM8Q)
* [Buy on Packt Publishing](https://www.packtpub.com/product/mastering-abp-framework/9781801079242)
* [More details about the book](https://abp.io/books/mastering-abp-framework)
![book-mastering-abp-framework](docs/en/images/book-mastering-abp-framework.png)
## What ABP Provides?
ABP provides a **full stack developer experience**.
### Architecture
<img src="docs/en/images/ddd-microservice-simple.png">
@ -64,30 +58,48 @@ ABP offers a complete, **modular** and **layered** software architecture based o
ABP Framework is suitable for **[microservice solutions](https://docs.abp.io/en/abp/latest/Microservice-Architecture)** as well as monolithic applications.
### Infrastructure
There are a lot of features provided by the ABP Framework to achieve real world scenarios easier, like [Event Bus](https://docs.abp.io/en/abp/latest/Event-Bus), [Background Job System](https://docs.abp.io/en/abp/latest/Background-Jobs), [Audit Logging](https://docs.abp.io/en/abp/latest/Audit-Logging), [BLOB Storing](https://docs.abp.io/en/abp/latest/Blob-Storing), [Data Seeding](https://docs.abp.io/en/abp/latest/Data-Seeding), [Data Filtering](https://docs.abp.io/en/abp/latest/Data-Filtering), etc.
There are a lot of features provided by the ABP Framework to achieve real-world scenarios easier, like [Event Bus](https://docs.abp.io/en/abp/latest/Event-Bus), [Background Job System](https://docs.abp.io/en/abp/latest/Background-Jobs), [Audit Logging](https://docs.abp.io/en/abp/latest/Audit-Logging), [BLOB Storing](https://docs.abp.io/en/abp/latest/Blob-Storing), [Data Seeding](https://docs.abp.io/en/abp/latest/Data-Seeding), [Data Filtering](https://docs.abp.io/en/abp/latest/Data-Filtering), etc.
### Cross-Cutting Concerns
ABP also simplifies (and even automates wherever possible) cross-cutting concerns and common non-functional requirements like [Exception Handling](https://docs.abp.io/en/abp/latest/Exception-Handling), [Validation](https://docs.abp.io/en/abp/latest/Validation), [Authorization](https://docs.abp.io/en/abp/latest/Authorization), [Localization](https://docs.abp.io/en/abp/latest/Localization), [Caching](https://docs.abp.io/en/abp/latest/Caching), [Dependency Injection](https://docs.abp.io/en/abp/latest/Dependency-Injection), [Setting Management](https://docs.abp.io/en/abp/latest/Settings), etc.
### Cross Cutting Concerns
ABP also simplifies (and even automates wherever possible) cross cutting concerns and common non-functional requirements like [Exception Handling](https://docs.abp.io/en/abp/latest/Exception-Handling), [Validation](https://docs.abp.io/en/abp/latest/Validation), [Authorization](https://docs.abp.io/en/abp/latest/Authorization), [Localization](https://docs.abp.io/en/abp/latest/Localization), [Caching](https://docs.abp.io/en/abp/latest/Caching), [Dependency Injection](https://docs.abp.io/en/abp/latest/Dependency-Injection), [Setting Management](https://docs.abp.io/en/abp/latest/Settings), etc.
### Application Modules
ABP is a modular framework and the Application Modules provide **pre-built application functionalities**;
- [**Account**](https://docs.abp.io/en/abp/latest/Modules/Account): Provides UI for the account management and allows user to login/register to the application.
- **[Identity](https://docs.abp.io/en/abp/latest/Modules/Identity)**: Manages organization units, roles, users and their permissions, based on the Microsoft Identity library.
- **[Identity](https://docs.abp.io/en/abp/latest/Modules/Identity)**: Manages organization units, roles, users and their permissions based on the Microsoft Identity library.
- [**OpenIddict**](https://docs.abp.io/en/abp/latest/Modules/OpenIddict): Integrates to OpenIddict.
- [**Tenant Management**](https://docs.abp.io/en/abp/latest/Modules/Tenant-Management): Manages tenants for a [multi-tenant](https://docs.abp.io/en/abp/latest/Multi-Tenancy) (SaaS) application.
See the [Application Modules](https://docs.abp.io/en/abp/latest/Modules/Index) document for all pre-built modules.
### Startup Templates
The [Startup templates](https://docs.abp.io/en/abp/latest/Startup-Templates/Index) are pre-built Visual Studio solution templates. You can create your own solution based on these templates to **immediately start your development**.
## ABP Community
## Mastering ABP Framework Book
This book will help you to gain a complete understanding of the ABP Framework and modern web application development techniques. It is written by the creator and team lead of the ABP Framework. You can buy from [Amazon](https://www.amazon.com/gp/product/B097Z2DM8Q) or [Packt Publishing](https://www.packtpub.com/product/mastering-abp-framework/9781801079242). Find further info about the book at [abp.io/books/mastering-abp-framework](https://abp.io/books/mastering-abp-framework).
![book-mastering-abp-framework](docs/en/images/book-mastering-abp-framework.png)
## The Community
### ABP Community Web Site
@ -103,28 +115,31 @@ See the [sample projects](https://docs.abp.io/en/abp/latest/Samples/Index) built
### Want to Contribute?
ABP is a community-driven open source project. See [the contribution guide](https://docs.abp.io/en/abp/latest/Contribution/Index) if you want to be a part of this project.
ABP is a community-driven open-source project. See [the contribution guide](https://docs.abp.io/en/abp/latest/Contribution/Index) if you want to participate in this project.
## Official Links
* <a href="https://abp.io/" target="_blank">Main Web Site</a>
* <a href="https://abp.io/get-started" target="_blank">Get Started</a>
* <a href="https://abp.io/features" target="_blank">Features</a>
* <a href="https://docs.abp.io/" target="_blank">Documentation</a>
* <a href="https://docs.abp.io/en/abp/latest/Samples/Index" target="_blank">Samples</a>
* <a href="https://blog.abp.io/" target="_blank">Blog</a>
* <a href="https://community.abp.io/" target="_blank">Community</a>
* <a href="https://stackoverflow.com/questions/tagged/abp" target="_blank">Stack overflow</a>
* <a href="https://twitter.com/abpframework" target="_blank">Twitter</a>
* [Home Website](https://abp.io)
* [Get Started](https://abp.io/get-started)
* [Features](https://abp.io/features)
* [Documents](https://docs.abp.io/)
* [Samples](https://docs.abp.io/en/abp/latest/Samples/Index)
* [Blog](https://blog.abp.io/)
* [Community](https://community.abp.io/)
* [Stackoverflow](https://stackoverflow.com/questions/tagged/abp)
* [Twitter](https://twitter.com/abpframework)
## Support ABP
## Support the ABP Framework
GitHub repository stars are an important indicator of popularity and the size of the community. If you like ABP Framework, support us by clicking the star :star: on the repository.
Love ABP Framework? **Please give a star** to this repository :star:
## Discord Channel
You can use this link to join the ABP Community Discord Server: https://discord.gg/abp
## Discord Server
## ABP Commercial
We have a Discord server where you can chat with other ABP users. Share your ideas, report technical issues, showcase your creations, share the tips that worked for you and catch up with the latest news and announcements about ABP Framework. Join 👉 https://discord.gg/abp.
See also [ABP Commercial](https://commercial.abp.io/) if you are looking for pre-built application modules, professional themes, code generation tooling and premium support for the ABP Framework.

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

@ -632,6 +632,7 @@
"Menu:ReportsMenu": "Reports",
"Permission:HeroSections": "Hero Sections",
"RedirectLink": "Redirect link",
"HeroSectionsDeletionConfirmationMessage": "Are you sure you want to delete the hero section?"
"HeroSectionsDeletionConfirmationMessage": "Are you sure you want to delete the hero section?",
"AbpStudioName": "Abp Studio name"
}
}

2
abp_io/AbpIoLocalization/AbpIoLocalization/Community/Localization/Resources/en-GB.json

@ -59,7 +59,7 @@
"MilestoneErrorMessage": "Couldn't get the current milestone details from Github.",
"QuestionItemErrorMessage": "Couldn't get the latest question details from Stackoverflow.",
"Oops": "Oops!",
"CreatePostSuccessMessage": "The Post has been successfully submitted. It will be published once it has been reviewed by the site admin.",
"CreatePostSuccessMessage": "Your post has been successfully submitted. It will be published after review by the site administrator.",
"ChooseCoverImage": "Choose a cover image...",
"CoverImage": "Cover Image",
"ShareYourExperiencesWithTheABPFramework": "Share your experiences with the ABP Framework!",

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

@ -16,7 +16,7 @@
"Title": "Title",
"CreationTime": "Creation time",
"Save": "Save",
"SameUrlAlreadyExist": "Same url already exists if you want to add this post, you should change the url!",
"SameUrlAlreadyExist": "Same URL already exists! You must change the URL!",
"UrlIsNotValid": "Url is not valid.",
"UrlNotFound": "Url not found.",
"UrlContentNotFound": "Url content not found.",
@ -33,7 +33,7 @@
"FeatureRequest": "Feature Request",
"CreatePostTitleInfo": "Title of the post to be shown on the post list.",
"CreatePostSummaryInfo": "A short summary of the post to be shown on the post list. Maximum length: <b>{0}</b>",
"CreatePostCoverInfo": "For creating an effective post, add a cover photo. Upload 16:9 aspect ratio pictures for the best view.<br/> Maximum file size: <b>1MB.</b>",
"CreatePostCoverInfo": "To create an effective post, add a cover photo. Upload <b>16:9 aspect ratio</b> pictures for the best view.<br/> Maximum file size is <b>1MB.</b>",
"ThisExtensionIsNotAllowed": "This extension is not allowed.",
"TheFileIsTooLarge": "The file is too large.",
"GoToThePost": "Go to the Post",
@ -56,7 +56,7 @@
"MilestoneErrorMessage": "Could not get the current milestone details from Github.",
"QuestionItemErrorMessage": "Could not get the latest question details from Stackoverflow.",
"Oops": "Oops!",
"CreatePostSuccessMessage": "The Post has been successfully submitted. It will be published after a review from the site admin.",
"CreatePostSuccessMessage": "Your post has been successfully submitted. It will be published after review by the site administrator.",
"Browse": "Browse",
"CoverImage": "Cover Image",
"ShareYourExperiencesWithTheABPFramework": "Share your experiences with the ABP Framework!",
@ -125,7 +125,7 @@
"YoutubeVideoSubmitStepTwo": "<span class=\"font-weight-bold\">2.</span> Submit the video URL using the form.",
"YoutubeVideoSubmitStepThree": "<span class=\"font-weight-bold\">3.</span> Visitors will be able to watch your video content directly on this website.",
"ExternalContent": "External Content",
"ExternalContentSubmitStepOne": "<span class=\"font-weight-bold\">1.</span> Create a content on any public platform (Medium, your own blog or anywhere you like).",
"ExternalContentSubmitStepOne": "<span class=\"font-weight-bold\">1.</span> Create content on any public platform (Medium, your own blog or anywhere you like).",
"ExternalContentSubmitStepTwo": "<span class=\"font-weight-bold\">2.</span> Submit your content URL using the form.",
"ExternalContentSubmitStepThree": "<span class=\"font-weight-bold\">3.</span> Visitors are redirected to the content on the original website.",
"ChooseYourContentType": "Please choose the way you want to add your content.",
@ -135,12 +135,12 @@
"GitHubUserNameValidationMessage": "Your Github username can not include whitespace, please make sure your Github username is correct.",
"PersonalSiteUrlValidationMessage": "Your personal site URL can not include whitespace, please make sure your personal site URL is correct.",
"TwitterUserNameValidationMessage": "Your Twitter username can not include whitespace, please make sure your Twitter username is correct.",
"LinkedinUrlValidationMessage": "Your Linkedin URL can not include whitespace, please make sure your Linkedin URL is correct.",
"LinkedinUrlValidationMessage": "Your LinkedIn URL can not include whitespace, please make sure your LinkedIn URL is correct.",
"NoPostsFound": "No posts found!",
"SearchInPosts": "Search in posts...",
"MinimumSearchContent": "You must enter at least 3 characters!",
"Volo.AbpIo.Domain:060001": "Source URL(\"{PostUrl}\") is not Github URL",
"Volo.AbpIo.Domain:060002": "Post Content is not available from Github(\"{PostUrl}\") resource.",
"Volo.AbpIo.Domain:060002": "Post Content is not available from GitHub(\"{PostUrl}\") resource.",
"Volo.AbpIo.Domain:060003": "No post content found!",
"SeeMore": "See More",
"JoinTheABPCommunity": "Join the ABP Community",
@ -171,14 +171,14 @@
"Discord_Page_Announce": "We are happy to announce ABP Community Discord Server!",
"Discord_Page_Description_1": "ABP Community has been growing since day one. We wanted to take it to the next step by creating an official ABP Discord server so the ABP Community can interact with each other using the wonders of instant messaging.",
"Discord_Page_Description_2": "ABP Community Discord Server is the place where you can showcase your creations using ABP Framework, share the tips that worked for you, catch up with the latest news and announcements about ABP Framework, just chat with community members to exchange ideas, and have fun!",
"Discord_Page_Description_3": "This ABP Community Discord Server is the official one with the ABP Core Team is present on the server to monitor.",
"Discord_Page_Description_3": "This ABP Community Discord Server is the official one with the ABP Core Team present on the server to monitor.",
"Discord_Page_JoinToServer": "Join ABP Discord Server",
"Events_Page_MetaTitle": "ABP Community Events",
"Events_Page_MetaDescription": "The live shows, hosted by the ABP Team, are casual sessions full of community content, demos, Q&A, and discussions around what's happening in ABP.",
"Events_Page_Title": "ABP<span class=\"gradient-community\"> Community</span> Talks",
"Members_Page_WritingFromUser": "Read writing from {0} on ABP Community.",
"Post_Create_Page_MetaTitle": "New Post",
"Post_Create_Page_MetaDescription": "Create your post for sharing your experiences about ABP framework and contributing the ABP Community.",
"Post_Create_Page_MetaDescription": "Create your post for sharing your experiences about the ABP framework and contributing to the ABP Community.",
"Post_Create_Page_CreateNewPost": "Create New Post",
"Post_Index_Page_MetaDescription": "ABP Community's purpose is to create a contribution environment for developers who use the ABP framework.",
"Layout_Title": "{0} | ABP Community",
@ -193,7 +193,7 @@
"AbpCommunityTitleContent": "ABP Community - Open Source ABP Framework",
"CommunitySlogan": "A unique community platform for <span class=\"{0}\">ABP Lovers</span>",
"RaffleIsNotActive": "Raffle is not active",
"YouAreAlreadyJoinedToThisRaffle": "You already joined to this raffle!",
"YouAreAlreadyJoinedToThisRaffle": "You already joined this raffle!",
"InvalidSubscriptionCode": "Invalid subscription code",
"Raffle:{0}": "Raffle: {0}",
"Join": "Join",
@ -266,4 +266,4 @@
"DailyPostCreateLimitation": "You have reached the daily post creation limit. You can create a new post in {0}.",
"YourAccountDisabled": "Your user account is disabled!"
}
}
}

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

@ -158,7 +158,7 @@
"IndexPageHeroSection": "<span class=\"first-line shine\"><strong>open source</strong></span><span class=\"second-line text-uppercase\">Web Application<br />Framework</span><span class=\"third-line shine2\"><strong>for asp.net core</strong></span>",
"UiFramework": "UI框架",
"EmailAddress": "电子邮件地址",
"Mobile": "移动电话",
"Mobile": "选择移动应用程序框架",
"ReactNative": "React Native",
"Strong": "强大",
"Complete": "完整",
@ -476,4 +476,4 @@
"ABPVideoCoursesPageDescription": "通过ABP团队创建的视频课程学习ABP框架的基础知识。在本视频系列中,您将学习ABP框架的基本主题。每个视频上的数字都是根据学习流程编写的。",
"ABPVideoCoursesTitle": "ABP 基本视频"
}
}
}

4
docs/en/CLI.md

@ -131,7 +131,7 @@ For more samples, go to [ABP CLI Create Solution Samples](CLI-New-Command-Sample
* `--database-provider` or `-d`: Specifies the database provider. Default provider is `ef`. Available providers:
* `ef`: Entity Framework Core.
* `mongodb`: MongoDB.
* `--theme`: Specifes the theme. Default theme is `leptonx-lite`. Available themes:
* `--theme`: Specifies the theme. Default theme is `leptonx-lite`. Available themes:
* `leptonx-lite`: [LeptonX Lite Theme](Themes/LeptonXLite/AspNetCore.md).
* `basic`: [Basic Theme](UI/AspNetCore/Basic-Theme.md).
* **`module`**: [Module template](Startup-Templates/Module.md). Additional options:
@ -147,7 +147,7 @@ For more samples, go to [ABP CLI Create Solution Samples](CLI-New-Command-Sample
* `--database-provider` or `-d`: Specifies the database provider. Default provider is `ef`. Available providers:
* `ef`: Entity Framework Core.
* `mongodb`: MongoDB.
* `--theme`: Specifes the theme. Default theme is `leptonx-lite`. Available themes:
* `--theme`: Specifies the theme. Default theme is `leptonx-lite`. Available themes:
* `leptonx-lite`: [LeptonX Lite Theme](Themes/LeptonXLite/AspNetCore.md).
* `basic`: [Basic Theme](UI/AspNetCore/Basic-Theme.md).
* **`maui`**: .NET MAUI. A minimalist .NET MAUI application will be created if you specify this option.

83
docs/en/Data-Filtering.md

@ -217,17 +217,14 @@ protected override bool ShouldFilterEntity<TEntity>(IMutableEntityType entityTyp
return base.ShouldFilterEntity<TEntity>(entityType);
}
protected override Expression<Func<TEntity, bool>> CreateFilterExpression<TEntity>()
protected override Expression<Func<TEntity, bool>> CreateFilterExpression<TEntity>(ModelBuilder modelBuilder)
{
var expression = base.CreateFilterExpression<TEntity>();
var expression = base.CreateFilterExpression<TEntity>(modelBuilder);
if (typeof(IIsActive).IsAssignableFrom(typeof(TEntity)))
{
Expression<Func<TEntity, bool>> isActiveFilter =
e => !IsActiveFilterEnabled || EF.Property<bool>(e, "IsActive");
expression = expression == null
? isActiveFilter
: QueryFilterExpressionHelper.CombineExpressions(expression, isActiveFilter);
Expression<Func<TEntity, bool>> isActiveFilter = e => !IsActiveFilterEnabled || EF.Property<bool>(e, "IsActive");
expression = expression == null ? isActiveFilter : QueryFilterExpressionHelper.CombineExpressions(expression, isActiveFilter);
}
return expression;
@ -251,6 +248,78 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
}
````
#### Using User-defined function mapping for global filters
Using [User-defined function mapping](https://learn.microsoft.com/en-us/ef/core/querying/user-defined-function-mapping) for global filters will gain performance improvements.
To use this feature, you need to change your DbContext like below:
````csharp
protected bool IsActiveFilterEnabled => DataFilter?.IsEnabled<IIsActive>() ?? false;
protected override bool ShouldFilterEntity<TEntity>(IMutableEntityType entityType)
{
if (typeof(IIsActive).IsAssignableFrom(typeof(TEntity)))
{
return true;
}
return base.ShouldFilterEntity<TEntity>(entityType);
}
protected override Expression<Func<TEntity, bool>> CreateFilterExpression<TEntity>(ModelBuilder modelBuilder)
{
var expression = base.CreateFilterExpression<TEntity>(modelBuilder);
if (typeof(IIsActive).IsAssignableFrom(typeof(TEntity)))
{
Expression<Func<TEntity, bool>> isActiveFilter = e => !IsActiveFilterEnabled || EF.Property<bool>(e, "IsActive");
if (UseDbFunction())
{
isActiveFilter = e => IsActiveFilter(((IIsActive)e).IsActive, true);
var abpEfCoreCurrentDbContext = this.GetService<AbpEfCoreCurrentDbContext>();
modelBuilder.HasDbFunction(typeof(MyProjectNameDbContext).GetMethod(nameof(IsActiveFilter))!)
.HasTranslation(args =>
{
// (bool isActive, bool boolParam)
var isActive = args[0];
var boolParam = args[1];
if (abpEfCoreCurrentDbContext.Context?.DataFilter.IsEnabled<IIsActive>() == true)
{
// isActive == true
return new SqlBinaryExpression(
ExpressionType.Equal,
isActive,
new SqlConstantExpression(Expression.Constant(true), boolParam.TypeMapping),
boolParam.Type,
boolParam.TypeMapping);
}
// empty where sql
return new SqlConstantExpression(Expression.Constant(true), boolParam.TypeMapping);
});
}
expression = expression == null ? isActiveFilter : QueryFilterExpressionHelper.CombineExpressions(expression, isActiveFilter);
}
return expression;
}
public static bool IsActiveFilter(bool isActive, bool boolParam)
{
throw new NotSupportedException(AbpEfCoreDataFilterDbFunctionMethods.NotSupportedExceptionMessage);
}
public override string GetCompiledQueryCacheKey()
{
return $"{base.GetCompiledQueryCacheKey()}:{IsActiveFilterEnabled}";
}
````
### MongoDB
ABP abstracts the `IMongoDbRepositoryFilterer` interface to implement data filtering for the [MongoDB Integration](MongoDB.md), it works only if you use the repositories properly. Otherwise, you should manually filter the data.

7
docs/en/Local-Event-Bus.md

@ -235,6 +235,13 @@ Pre-build events are published when you save changes to the database;
* For EF Core, they are published on `DbContext.SaveChanges`.
* For MongoDB, they are published when you call repository's `InsertAsync`, `UpdateAsync` or `DeleteAsync` methods (since MongoDB has not a change tracking system).
#### AbpEntityChangeOptions
There is a `PublishEntityUpdatedEventWhenNavigationChanges` option in the `AbpEntityChangeOptions` class with a default value of `true`.
If you set it to `false`, the `EntityUpdatedEventData<T>` will not be published when a navigation property changes.
> This option is only used for the EF Core.
## See Also
* [Distributed Event Bus](Distributed-Event-Bus.md)

6
docs/en/Modules/Cms-Kit/Comments.md

@ -80,6 +80,12 @@ You can also view and manage replies on this page.
![comments-detail](../../images/cmskit-module-comments-detail.png)
## Settings
You can configure the approval status of comments using the "Comment" tab under the "Cms" section on the Settings page. When this feature is enabled, you can approve and reject comments. In this way, users can only see the comments that you approve. By default, this feature is set to "false."
![comments-settings](../../images/cmskit-module-comments-settings.png)
## Internals
### Domain Layer

4
docs/en/UI/AspNetCore/Static-JavaScript-Proxies.md

@ -66,7 +66,7 @@ acme.bookStore.authors.author.get = function(id, ajaxParams) {
};
````
> `generate-proxy` command generates proxies for only the APIs you've defined in your application (assumes `app` as the module name). If you are developing a modular application, you can specify the `-m` (or `--module`) parameter to specify the module you want to generate proxies. See the *generate-proxy* section in the [ABP CLI](../CLI.md) documentation for other options.
> `generate-proxy` command generates proxies for only the APIs you've defined in your application (assumes `app` as the module name). If you are developing a modular application, you can specify the `-m` (or `--module`) parameter to specify the module you want to generate proxies. See the *generate-proxy* section in the [ABP CLI](../../CLI.md) documentation for other options.
### Using the Proxy Functions
@ -154,4 +154,4 @@ See the [jQuery.ajax](https://api.jquery.com/jQuery.ajax/) documentation for all
* [Dynamic JavaScript API Client Proxies](Dynamic-JavaScript-Proxies.md)
* [Auto API Controllers](../../API/Auto-API-Controllers.md)
* [Web Application Development Tutorial](../../Tutorials/Part-1.md)
* [Web Application Development Tutorial](../../Tutorials/Part-1.md)

4
docs/en/docs-nav.json

@ -1165,6 +1165,10 @@
"text": "Ellipsis",
"path": "UI/Angular/Ellipsis-Directive.md"
},
{
"text": "Projection Strategy",
"path": "UI/Angular/Projection-Strategy.md"
},
{
"text": "Context Strategy",
"path": "UI/Angular/Context-Strategy.md"

BIN
docs/en/images/book-mastering-abp-framework.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 244 KiB

After

Width:  |  Height:  |  Size: 74 KiB

BIN
docs/en/images/cmskit-module-comments-settings.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

BIN
docs/en/images/db-options.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 17 KiB

BIN
docs/en/images/ddd-microservice-simple.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 41 KiB

After

Width:  |  Height:  |  Size: 84 KiB

BIN
docs/en/images/ui-options.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 41 KiB

83
docs/zh-Hans/Data-Filtering.md

@ -166,17 +166,14 @@ protected override bool ShouldFilterEntity<TEntity>(IMutableEntityType entityTyp
return base.ShouldFilterEntity<TEntity>(entityType);
}
protected override Expression<Func<TEntity, bool>> CreateFilterExpression<TEntity>()
protected override Expression<Func<TEntity, bool>> CreateFilterExpression<TEntity>(ModelBuilder modelBuilder)
{
var expression = base.CreateFilterExpression<TEntity>();
var expression = base.CreateFilterExpression<TEntity>(modelBuilder);
if (typeof(IIsActive).IsAssignableFrom(typeof(TEntity)))
{
Expression<Func<TEntity, bool>> isActiveFilter =
e => !IsActiveFilterEnabled || EF.Property<bool>(e, "IsActive");
expression = expression == null
? isActiveFilter
: QueryFilterExpressionHelper.CombineExpressions(expression, isActiveFilter);
Expression<Func<TEntity, bool>> isActiveFilter = e => !IsActiveFilterEnabled || EF.Property<bool>(e, "IsActive");
expression = expression == null ? isActiveFilter : QueryFilterExpressionHelper.CombineExpressions(expression, isActiveFilter);
}
return expression;
@ -186,6 +183,78 @@ protected override Expression<Func<TEntity, bool>> CreateFilterExpression<TEntit
* 添加 `IsActiveFilterEnabled` 属性用于检查是否启用了 `IIsActive` . 内部使用了之前介绍到的 `IDataFilter` 服务.
* 重写 `ShouldFilterEntity` 和 `CreateFilterExpression` 方法检查给定实体是否实现 `IIsActive` 接口,在必要时组合表达式.
#### 使用用户定义的函数映射
使用[用户定义的函数映射](https://learn.microsoft.com/zh-cnn/ef/core/querying/user-defined-function-mapping) 可以获取性能提升.
要使用此功能,请更改DbContext如下所示:
````csharp
protected bool IsActiveFilterEnabled => DataFilter?.IsEnabled<IIsActive>() ?? false;
protected override bool ShouldFilterEntity<TEntity>(IMutableEntityType entityType)
{
if (typeof(IIsActive).IsAssignableFrom(typeof(TEntity)))
{
return true;
}
return base.ShouldFilterEntity<TEntity>(entityType);
}
protected override Expression<Func<TEntity, bool>> CreateFilterExpression<TEntity>(ModelBuilder modelBuilder)
{
var expression = base.CreateFilterExpression<TEntity>(modelBuilder);
if (typeof(IIsActive).IsAssignableFrom(typeof(TEntity)))
{
Expression<Func<TEntity, bool>> isActiveFilter = e => !IsActiveFilterEnabled || EF.Property<bool>(e, "IsActive");
if (UseDbFunction())
{
isActiveFilter = e => IsActiveFilter(((IIsActive)e).IsActive, true);
var abpEfCoreCurrentDbContext = this.GetService<AbpEfCoreCurrentDbContext>();
modelBuilder.HasDbFunction(typeof(MyProjectNameDbContext).GetMethod(nameof(IsActiveFilter))!)
.HasTranslation(args =>
{
// (bool isActive, bool boolParam)
var isActive = args[0];
var boolParam = args[1];
if (abpEfCoreCurrentDbContext.Context?.DataFilter.IsEnabled<IIsActive>() == true)
{
// isActive == true
return new SqlBinaryExpression(
ExpressionType.Equal,
isActive,
new SqlConstantExpression(Expression.Constant(true), boolParam.TypeMapping),
boolParam.Type,
boolParam.TypeMapping);
}
// empty where sql
return new SqlConstantExpression(Expression.Constant(true), boolParam.TypeMapping);
});
}
expression = expression == null ? isActiveFilter : QueryFilterExpressionHelper.CombineExpressions(expression, isActiveFilter);
}
return expression;
}
public static bool IsActiveFilter(bool isActive, bool boolParam)
{
throw new NotSupportedException(AbpEfCoreDataFilterDbFunctionMethods.NotSupportedExceptionMessage);
}
public override string GetCompiledQueryCacheKey()
{
return $"{base.GetCompiledQueryCacheKey()}:{IsActiveFilterEnabled}";
}
````
### MongoDB
ABP抽象了 `IMongoDbRepositoryFilterer` 接口为[MongoDB 集成](MongoDB.md)实现数据过滤, 只有正确的使用仓储,它才会工作. 否则你需要手动过滤数据.

8
docs/zh-Hans/Local-Event-Bus.md

@ -211,6 +211,14 @@ namespace AbpDemo
* 对于 EF Core, 他们在 `DbContext.SaveChanges` 发布.
* 对于 MongoDB, 在你调用仓储的 `InsertAsync`, `UpdateAsync` 或 `DeleteAsync` 方法发布(因为MongoDB没有更改追踪系统).
#### AbpEntityChangeOptions
`AbpEntityChangeOptions`类中有一个`PublishEntityUpdatedEventWhenNavigationChanges`选项,默认值为`true`。
如果将其设置为`false`,则当导航属性更改时,将不会发布`EntityUpdatedEventData<T>`事件。
> 此选项仅用于EF Core
## 另请参阅
* [分布式事件总线](Distributed-Event-Bus.md)

1
framework/src/Volo.Abp.AspNetCore.Components.Server.Theming/Bundling/BlazorGlobalScriptContributor.cs

@ -1,6 +1,7 @@
using System.Collections.Generic;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Options;
using Volo.Abp.AspNetCore.Components.Web;
using Volo.Abp.AspNetCore.Mvc.UI.Bundling;
namespace Volo.Abp.AspNetCore.Components.Server.Theming.Bundling;

2
framework/src/Volo.Abp.AspNetCore.Components.Web/Volo/Abp/AspNetCore/Components/Web/AbpAspNetCoreComponentsWebModule.cs

@ -2,7 +2,7 @@
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.DependencyInjection.Extensions;
using Volo.Abp.AspNetCore.Components.DependencyInjection;
using Volo.Abp.AspNetCore.Components.Server;
using Volo.Abp.AspNetCore.Components.Web;
using Volo.Abp.Modularity;
using Volo.Abp.UI;

2
framework/src/Volo.Abp.AspNetCore.Components.Web/Volo/Abp/AspNetCore/Components/Web/AbpAspNetCoreComponentsWebOptions.cs

@ -1,4 +1,4 @@
namespace Volo.Abp.AspNetCore.Components.Server;
namespace Volo.Abp.AspNetCore.Components.Web;
public class AbpAspNetCoreComponentsWebOptions
{

1
framework/src/Volo.Abp.AspNetCore.Components.WebAssembly/Volo/Abp/AspNetCore/Components/WebAssembly/AbpAspNetCoreComponentsWebAssemblyModule.cs

@ -7,7 +7,6 @@ using Microsoft.AspNetCore.Components.WebAssembly.Authentication;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.DependencyInjection.Extensions;
using Microsoft.Extensions.Logging;
using Volo.Abp.AspNetCore.Components.Server;
using Volo.Abp.AspNetCore.Components.Web;
using Volo.Abp.AspNetCore.Components.Web.ExceptionHandling;
using Volo.Abp.AspNetCore.Components.Web.Security;

1
framework/src/Volo.Abp.AspNetCore.Components.WebAssembly/Volo/Abp/AspNetCore/Components/WebAssembly/ClientProxyExceptionEventHandler.cs

@ -5,7 +5,6 @@ using Microsoft.AspNetCore.Components.WebAssembly.Authentication;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Options;
using Microsoft.JSInterop;
using Volo.Abp.AspNetCore.Components.Server;
using Volo.Abp.AspNetCore.Components.Web;
using Volo.Abp.DependencyInjection;
using Volo.Abp.EventBus;

5
framework/src/Volo.Abp.BackgroundWorkers/Volo/Abp/BackgroundWorkers/BackgroundWorkerBase.cs

@ -22,8 +22,9 @@ public abstract class BackgroundWorkerBase : IBackgroundWorker
protected ILogger Logger => LazyServiceProvider.LazyGetService<ILogger>(provider => LoggerFactory?.CreateLogger(GetType().FullName!) ?? NullLogger.Instance);
protected CancellationTokenSource StoppingTokenSource { get; }
protected CancellationToken StoppingToken { get; }
protected CancellationTokenSource StoppingTokenSource { get; set; }
protected CancellationToken StoppingToken { get; set; }
public BackgroundWorkerBase()
{

14
framework/src/Volo.Abp.BlazoriseUI/BlazoriseUiObjectExtensionPropertyInfoExtensions.cs

@ -46,6 +46,12 @@ public static class BlazoriseUiObjectExtensionPropertyInfoExtensions
public static string? GetDateEditInputFormatOrNull(this IBasicObjectExtensionPropertyInfo property)
{
var dataFormatString = property.GetDataFormatStringOrNull();
if (dataFormatString != null)
{
return dataFormatString;
}
if (property.IsDate())
{
return "{0:yyyy-MM-dd}";
@ -59,6 +65,14 @@ public static class BlazoriseUiObjectExtensionPropertyInfoExtensions
return null;
}
public static string? GetDataFormatStringOrNull(this IBasicObjectExtensionPropertyInfo property)
{
return property
.Attributes
.OfType<DisplayFormatAttribute>()
.FirstOrDefault()?.DataFormatString;
}
public static string? GetTextInputValueOrNull(this IBasicObjectExtensionPropertyInfo property, object? value)
{
if (value == null)

9
framework/src/Volo.Abp.BlazoriseUI/Components/UiPageProgress.razor.cs

@ -7,7 +7,7 @@ namespace Volo.Abp.BlazoriseUI.Components;
public partial class UiPageProgress : ComponentBase, IDisposable
{
protected PageProgress PageProgressRef { get; set; } = default!;
protected PageProgress? PageProgressRef { get; set; }
protected int? Percentage { get; set; }
@ -33,8 +33,11 @@ public partial class UiPageProgress : ComponentBase, IDisposable
Visible = e.Percentage == null || (e.Percentage >= 0 && e.Percentage <= 100);
Color = GetColor(e.Options.Type);
await PageProgressRef.SetValueAsync(e.Percentage);
if(PageProgressRef != null)
{
await PageProgressRef.SetValueAsync(e.Percentage);
}
await InvokeAsync(StateHasChanged);
}

172
framework/src/Volo.Abp.Caching.StackExchangeRedis/Volo/Abp/Caching/StackExchangeRedis/AbpRedisCache.cs

@ -2,6 +2,7 @@
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.Extensions.Caching.Distributed;
@ -19,6 +20,8 @@ public class AbpRedisCache : RedisCache, ICacheSupportsMultipleItems
protected static readonly string SlidingExpirationKey;
protected static readonly string DataKey;
protected static readonly long NotPresent;
protected static readonly RedisValue[] HashMembersAbsoluteExpirationSlidingExpirationData;
protected static readonly RedisValue[] HashMembersAbsoluteExpirationSlidingExpiration;
private readonly static FieldInfo SetScriptField;
private readonly static FieldInfo RedisDatabaseField;
@ -27,29 +30,29 @@ public class AbpRedisCache : RedisCache, ICacheSupportsMultipleItems
private readonly static MethodInfo MapMetadataMethod;
private readonly static MethodInfo GetAbsoluteExpirationMethod;
private readonly static MethodInfo GetExpirationInSecondsMethod;
private readonly static MethodInfo OnRedisErrorMethod;
protected IDatabase RedisDatabase => GetRedisDatabase()!;
private IDatabase? _redisDatabase;
protected string Instance { get; }
protected RedisKey InstancePrefix { get; }
static AbpRedisCache()
{
var type = typeof(RedisCache);
RedisDatabaseField = Check.NotNull(type.GetField("_cache", BindingFlags.Instance | BindingFlags.NonPublic), nameof(RedisDatabaseField))!;
RedisDatabaseField = Check.NotNull(type.GetField("_cache", BindingFlags.Instance | BindingFlags.NonPublic), nameof(RedisDatabaseField));
SetScriptField = Check.NotNull(type.GetField("_setScript", BindingFlags.Instance | BindingFlags.NonPublic), nameof(SetScriptField))!;
SetScriptField = Check.NotNull(type.GetField("_setScript", BindingFlags.Instance | BindingFlags.NonPublic), nameof(SetScriptField));
ConnectMethod = Check.NotNull(type.GetMethod("Connect", BindingFlags.Instance | BindingFlags.NonPublic), nameof(ConnectMethod))!;
ConnectMethod = Check.NotNull(type.GetMethod("Connect", BindingFlags.Instance | BindingFlags.NonPublic), nameof(ConnectMethod));
ConnectAsyncMethod = Check.NotNull(type.GetMethod("ConnectAsync", BindingFlags.Instance | BindingFlags.NonPublic), nameof(ConnectAsyncMethod))!;
ConnectAsyncMethod = Check.NotNull(type.GetMethod("ConnectAsync", BindingFlags.Instance | BindingFlags.NonPublic), nameof(ConnectAsyncMethod));
MapMetadataMethod = Check.NotNull(type.GetMethod("MapMetadata", BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Static), nameof(MapMetadataMethod))!;
MapMetadataMethod = Check.NotNull(type.GetMethod("MapMetadata", BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Static), nameof(MapMetadataMethod));
GetAbsoluteExpirationMethod = Check.NotNull(type.GetMethod("GetAbsoluteExpiration", BindingFlags.Static | BindingFlags.NonPublic), nameof(GetAbsoluteExpirationMethod))!;
GetAbsoluteExpirationMethod = Check.NotNull(type.GetMethod("GetAbsoluteExpiration", BindingFlags.Static | BindingFlags.NonPublic), nameof(GetAbsoluteExpirationMethod));
GetExpirationInSecondsMethod = Check.NotNull(type.GetMethod("GetExpirationInSeconds", BindingFlags.Static | BindingFlags.NonPublic), nameof(GetExpirationInSecondsMethod))!;
GetExpirationInSecondsMethod = Check.NotNull(type.GetMethod("GetExpirationInSeconds", BindingFlags.Static | BindingFlags.NonPublic), nameof(GetExpirationInSecondsMethod));
OnRedisErrorMethod = Check.NotNull(type.GetMethod("OnRedisError", BindingFlags.Instance | BindingFlags.NonPublic), nameof(OnRedisErrorMethod));
AbsoluteExpirationKey = type.GetField("AbsoluteExpirationKey", BindingFlags.Static | BindingFlags.NonPublic)!.GetValue(null)!.ToString()!;
@ -58,32 +61,30 @@ public class AbpRedisCache : RedisCache, ICacheSupportsMultipleItems
DataKey = type.GetField("DataKey", BindingFlags.Static | BindingFlags.NonPublic)!.GetValue(null)!.ToString()!;
NotPresent = type.GetField("NotPresent", BindingFlags.Static | BindingFlags.NonPublic)!.GetValue(null)!.To<int>();
HashMembersAbsoluteExpirationSlidingExpirationData = [AbsoluteExpirationKey, SlidingExpirationKey, DataKey];
HashMembersAbsoluteExpirationSlidingExpiration = [AbsoluteExpirationKey, SlidingExpirationKey];
}
public AbpRedisCache(IOptions<RedisCacheOptions> optionsAccessor)
: base(optionsAccessor)
{
Instance = optionsAccessor.Value.InstanceName ?? string.Empty;
}
protected virtual void Connect()
{
if (GetRedisDatabase() != null)
var instanceName = optionsAccessor.Value.InstanceName;
if (!string.IsNullOrEmpty(instanceName))
{
return;
InstancePrefix = (RedisKey)Encoding.UTF8.GetBytes(instanceName);
}
}
ConnectMethod.Invoke(this, Array.Empty<object>());
protected virtual IDatabase Connect()
{
return (IDatabase)ConnectMethod.Invoke(this, Array.Empty<object>())!;
}
protected virtual async Task ConnectAsync(CancellationToken token = default)
protected virtual async ValueTask<IDatabase> ConnectAsync(CancellationToken token = default)
{
if (GetRedisDatabase() != null)
{
return;
}
await (Task)ConnectAsyncMethod.Invoke(this, new object[] { token })!;
return await (ValueTask<IDatabase>)ConnectAsyncMethod.Invoke(this, new object[] { token })!;
}
public byte[]?[] GetMany(
@ -107,9 +108,17 @@ public class AbpRedisCache : RedisCache, ICacheSupportsMultipleItems
IEnumerable<KeyValuePair<string, byte[]>> items,
DistributedCacheEntryOptions options)
{
Connect();
var cache = Connect();
Task.WaitAll(PipelineSetMany(items, options));
try
{
Task.WaitAll(PipelineSetMany(cache, items, options));
}
catch (Exception ex)
{
OnRedisError(ex, cache);
throw;
}
}
public async Task SetManyAsync(
@ -119,9 +128,17 @@ public class AbpRedisCache : RedisCache, ICacheSupportsMultipleItems
{
token.ThrowIfCancellationRequested();
await ConnectAsync(token);
var cache = await ConnectAsync(token);
await Task.WhenAll(PipelineSetMany(items, options));
try
{
await Task.WhenAll(PipelineSetMany(cache, items, options));
}
catch (Exception ex)
{
OnRedisError(ex, cache);
throw;
}
}
public void RefreshMany(
@ -145,9 +162,17 @@ public class AbpRedisCache : RedisCache, ICacheSupportsMultipleItems
{
keys = Check.NotNull(keys, nameof(keys));
Connect();
var cache = Connect();
RedisDatabase.KeyDelete(keys.Select(key => (RedisKey)(Instance + key)).ToArray());
try
{
cache.KeyDelete(keys.Select(key => InstancePrefix.Append(key)).ToArray());
}
catch (Exception ex)
{
OnRedisError(ex, cache);
throw;
}
}
public async Task RemoveManyAsync(IEnumerable<string> keys, CancellationToken token = default)
@ -155,33 +180,40 @@ public class AbpRedisCache : RedisCache, ICacheSupportsMultipleItems
keys = Check.NotNull(keys, nameof(keys));
token.ThrowIfCancellationRequested();
await ConnectAsync(token);
var cache = await ConnectAsync(token);
await RedisDatabase.KeyDeleteAsync(keys.Select(key => (RedisKey)(Instance + key)).ToArray());
try
{
await cache.KeyDeleteAsync(keys.Select(key => InstancePrefix.Append(key)).ToArray());
}
catch (Exception ex)
{
OnRedisError(ex, cache);
throw;
}
}
protected virtual byte[]?[] GetAndRefreshMany(
IEnumerable<string> keys,
bool getData)
{
Connect();
var cache = Connect();
var keyArray = keys.Select(key => Instance + key).ToArray();
RedisValue[][] results;
var keyArray = keys.Select(key => InstancePrefix.Append( key)).ToArray();
byte[]?[] bytes;
if (getData)
try
{
results = RedisDatabase.HashMemberGetMany(keyArray, AbsoluteExpirationKey,
SlidingExpirationKey, DataKey);
var results = cache.HashMemberGetMany(keyArray, GetHashFields(getData));
Task.WaitAll(PipelineRefreshManyAndOutData(cache, keyArray, results, out bytes));
}
else
catch (Exception ex)
{
results = RedisDatabase.HashMemberGetMany(keyArray, AbsoluteExpirationKey,
SlidingExpirationKey);
OnRedisError(ex, cache);
throw;
}
Task.WaitAll(PipelineRefreshManyAndOutData(keyArray, results, out var bytes));
return bytes;
}
@ -192,29 +224,28 @@ public class AbpRedisCache : RedisCache, ICacheSupportsMultipleItems
{
token.ThrowIfCancellationRequested();
await ConnectAsync(token);
var cache = await ConnectAsync(token);
var keyArray = keys.Select(key => Instance + key).ToArray();
RedisValue[][] results;
var keyArray = keys.Select(key => InstancePrefix.Append(key)).ToArray();
byte[]?[] bytes;
if (getData)
try
{
results = await RedisDatabase.HashMemberGetManyAsync(keyArray, AbsoluteExpirationKey,
SlidingExpirationKey, DataKey);
var results = await cache.HashMemberGetManyAsync(keyArray, GetHashFields(getData));
await Task.WhenAll(PipelineRefreshManyAndOutData(cache, keyArray, results, out bytes));
}
else
catch (Exception ex)
{
results = await RedisDatabase.HashMemberGetManyAsync(keyArray, AbsoluteExpirationKey,
SlidingExpirationKey);
OnRedisError(ex, cache);
throw;
}
await Task.WhenAll(PipelineRefreshManyAndOutData(keyArray, results, out var bytes));
return bytes;
}
protected virtual Task[] PipelineRefreshManyAndOutData(
string[] keys,
IDatabase cache,
RedisKey[] keys,
RedisValue[][] results,
out byte[]?[] bytes)
{
@ -241,7 +272,7 @@ public class AbpRedisCache : RedisCache, ICacheSupportsMultipleItems
expr = sldExpr;
}
tasks[i] = RedisDatabase.KeyExpireAsync(keys[i], expr);
tasks[i] = cache.KeyExpireAsync(keys[i], expr);
}
else
{
@ -263,6 +294,7 @@ public class AbpRedisCache : RedisCache, ICacheSupportsMultipleItems
}
protected virtual Task[] PipelineSetMany(
IDatabase cache,
IEnumerable<KeyValuePair<string, byte[]>> items,
DistributedCacheEntryOptions options)
{
@ -276,14 +308,13 @@ public class AbpRedisCache : RedisCache, ICacheSupportsMultipleItems
for (var i = 0; i < itemArray.Length; i++)
{
tasks[i] = RedisDatabase.ScriptEvaluateAsync(GetSetScript(), new RedisKey[] { Instance + itemArray[i].Key },
new RedisValue[]
{
absoluteExpiration?.Ticks ?? NotPresent,
tasks[i] = cache.ScriptEvaluateAsync(GetSetScript(), new RedisKey[] { InstancePrefix.Append(itemArray[i].Key) },
[
absoluteExpiration?.Ticks ?? NotPresent,
options.SlidingExpiration?.Ticks ?? NotPresent,
GetExpirationInSeconds(creationTime, absoluteExpiration, options) ?? NotPresent,
itemArray[i].Value
});
]);
}
return tasks;
@ -316,14 +347,21 @@ public class AbpRedisCache : RedisCache, ICacheSupportsMultipleItems
{
return (DateTimeOffset?)GetAbsoluteExpirationMethod.Invoke(null, new object[] { creationTime, options });
}
private IDatabase? GetRedisDatabase()
protected virtual void OnRedisError(Exception ex, IDatabase cache)
{
return _redisDatabase ??= RedisDatabaseField.GetValue(this) as IDatabase;
OnRedisErrorMethod.Invoke(this, [ex, cache]);
}
private string GetSetScript()
{
return SetScriptField.GetValue(this)!.ToString()!;
}
private static RedisValue[] GetHashFields(bool getData)
{
return getData
? HashMembersAbsoluteExpirationSlidingExpirationData
: HashMembersAbsoluteExpirationSlidingExpiration;
}
}

16
framework/src/Volo.Abp.Caching.StackExchangeRedis/Volo/Abp/Caching/StackExchangeRedis/AbpRedisExtensions.cs

@ -8,16 +8,15 @@ public static class AbpRedisExtensions
{
public static RedisValue[][] HashMemberGetMany(
this IDatabase cache,
string[] keys,
params string[] members)
RedisKey[] keys,
RedisValue[] fields)
{
var tasks = new Task<RedisValue[]>[keys.Length];
var fields = members.Select(member => (RedisValue)member).ToArray();
var results = new RedisValue[keys.Length][];
for (var i = 0; i < keys.Length; i++)
{
tasks[i] = cache.HashGetAsync((RedisKey)keys[i], fields);
tasks[i] = cache.HashGetAsync(keys[i], fields);
}
for (var i = 0; i < tasks.Length; i++)
@ -28,17 +27,16 @@ public static class AbpRedisExtensions
return results;
}
public static async Task<RedisValue[][]> HashMemberGetManyAsync(
public async static Task<RedisValue[][]> HashMemberGetManyAsync(
this IDatabase cache,
string[] keys,
params string[] members)
RedisKey[] keys,
RedisValue[] fields)
{
var tasks = new Task<RedisValue[]>[keys.Length];
var fields = members.Select(member => (RedisValue)member).ToArray();
for (var i = 0; i < keys.Length; i++)
{
tasks[i] = cache.HashGetAsync((RedisKey)keys[i], fields);
tasks[i] = cache.HashGetAsync(keys[i], fields);
}
return await Task.WhenAll(tasks);

1
framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/CliService.cs

@ -83,6 +83,7 @@ public class CliService : ITransientDependency
catch (CliUsageException usageException)
{
Logger.LogWarning(usageException.Message);
Environment.ExitCode = 1;
}
catch (Exception ex)
{

2
framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/UpdateCommand.cs

@ -84,7 +84,7 @@ public class UpdateCommand : IConsoleCommand, ITransientDependency
return;
}
var project = Directory.GetFiles(Directory.GetCurrentDirectory(), "*.csproj").FirstOrDefault();
var project = Directory.GetFiles(directory, "*.csproj").FirstOrDefault();
if (project != null)
{

2
framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/ModuleInfo.cs

@ -4,6 +4,8 @@ public class ModuleInfo
{
public string Name { get; set; }
public string AbpStudioName { get; set; }
public string Namespace { get; set; }
public string DocumentUrl { get; set; }

13
framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/Steps/ChangeThemeStep.cs

@ -37,7 +37,9 @@ public class ChangeThemeStep : ProjectBuildPipelineStep
{
var defaultThemeName = context.BuildArgs.TemplateName is AppTemplate.TemplateName or AppNoLayersTemplate.TemplateName
? LeptonXLite : LeptonX;
new RemoveFilesStep($"/Themes/{defaultThemeName}").Execute(context);
ChangeThemeToBasicForMvcProjects(context, defaultThemeName);
ChangeThemeToBasicForBlazorProjects(context, defaultThemeName);
ChangeThemeToBasicForBlazorServerProjects(context, defaultThemeName);
@ -627,11 +629,16 @@ public class ChangeThemeStep : ProjectBuildPipelineStep
private static void ChangeThemeToBasicForMvcProjects(ProjectBuildContext context, string defaultThemeName)
{
var projectNames = new[]
var projectNames = new List<string>
{
".Web", ".HttpApi.Host", ".AuthServer", ".Web.Public", ".Web.Public.Host",
".Web", ".AuthServer", ".Web.Public", ".Web.Public.Host",
"" //for app-nolayers-mvc
};
if(!context.Symbols.Contains("tiered"))
{
projectNames.Add(".HttpApi.Host");
}
foreach (var projectName in projectNames)
{

13
framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/Steps/RemoveFileStep.cs

@ -1,18 +1,21 @@
using System;
namespace Volo.Abp.Cli.ProjectBuilding.Building.Steps;
namespace Volo.Abp.Cli.ProjectBuilding.Building.Steps;
public class RemoveFileStep : ProjectBuildPipelineStep
{
private readonly string _filePath;
public RemoveFileStep(string filePath)
private readonly bool _fullPath;
public RemoveFileStep(string filePath, bool fullPath = true)
{
_filePath = filePath;
_fullPath = fullPath;
}
public override void Execute(ProjectBuildContext context)
{
var fileToRemove = context.Files.Find(x => x.Name == _filePath);;
var fileToRemove = _fullPath
? context.Files.Find(x => x.Name == _filePath)
: context.Files.Find(x => x.Name.EndsWith(_filePath));
if (fileToRemove != null)
{
context.Files.Remove(fileToRemove);

5
framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/App/AppNoLayersTemplateBase.cs

@ -249,6 +249,11 @@ public abstract class AppNoLayersTemplateBase : TemplateInfo
steps.Add(new ChangeThemeStyleStep());
}
if (context.BuildArgs.Theme != Theme.LeptonX)
{
steps.Add(new RemoveFileStep("LeptonXFooter.razor", false));
}
RemoveThemeLogoFolders(context, steps);
if (IsDefaultThemeForTemplate(context.BuildArgs))

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

@ -235,6 +235,10 @@ public abstract class AppTemplateBase : TemplateInfo
{
steps.Add(new ChangeThemeStyleStep());
}
else
{
steps.Add(new RemoveFileStep("LeptonXFooter.razor", false));
}
RemoveThemeLogoFolders(context, steps);

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

@ -49,6 +49,10 @@ public abstract class MicroserviceTemplateBase : TemplateInfo
steps.Add(new ChangeThemeStyleStep());
return;
}
else
{
steps.Add(new RemoveFileStep("LeptonXFooter.razor", false));
}
steps.Add(new ChangeThemeStep());
ReplaceLeptonXThemePackagesFromPackageJsonFiles(steps, uiFramework: context.BuildArgs.UiFramework, theme: context.BuildArgs.Theme, version: context.BuildArgs.Version ?? context.TemplateFile.Version);

11
framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/NpmPackagesUpdater.cs

@ -250,6 +250,17 @@ public class NpmPackagesUpdater : ITransientDependency
return false;
}
var prefix = string.Empty;
if (package.Value.ToString().StartsWith("~"))
{
prefix = "~";
}
else if (package.Value.ToString().StartsWith("^"))
{
prefix = "^";
}
version = prefix + version.RemovePreFix("~", "^");
package.Value.Replace(version);
Logger.LogInformation(

10
framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Utils/CmdHelper.cs

@ -12,12 +12,12 @@ public class CmdHelper : ICmdHelper, ITransientDependency
private const int SuccessfulExitCode = 0;
protected AbpCliOptions CliOptions { get; }
public CmdHelper(IOptionsSnapshot<AbpCliOptions> cliOptions)
{
CliOptions = cliOptions.Value;
}
public void Open(string pathOrUrl)
{
if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
@ -43,7 +43,7 @@ public class CmdHelper : ICmdHelper, ITransientDependency
{
HideNewCommandWindow(procStartInfo);
}
Process.Start(procStartInfo)?.WaitForExit();
}
@ -74,6 +74,7 @@ public class CmdHelper : ICmdHelper, ITransientDependency
process?.WaitForExit();
exitCode = process.ExitCode;
Environment.ExitCode = exitCode;
}
}
@ -144,6 +145,7 @@ public class CmdHelper : ICmdHelper, ITransientDependency
process.WaitForExit();
exitCode = process.ExitCode;
Environment.ExitCode = exitCode;
}
return output.Trim();
@ -160,7 +162,7 @@ public class CmdHelper : ICmdHelper, ITransientDependency
{
procStartInfo.WorkingDirectory = workingDirectory;
}
if (CliOptions.AlwaysHideExternalCommandOutput)
{
HideNewCommandWindow(procStartInfo);

2
framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Version/PackageVersionCheckerService.cs

@ -62,7 +62,7 @@ public class PackageVersionCheckerService : ITransientDependency
public async Task<LatestVersionInfo> GetLatestVersionOrNullAsync(string packageId, bool includeNightly = false, bool includeReleaseCandidates = false)
{
if (!includeNightly && !includeReleaseCandidates && !packageId.Contains("LeptonX"))
if (!includeNightly && !includeReleaseCandidates && !packageId.Contains("LeptonX") && !packageId.StartsWith("Volo.Abp.Studio."))
{
return await GetLatestStableVersionFromGithubAsync();
}

16
framework/src/Volo.Abp.Core/Volo/Abp/Check.cs

@ -10,7 +10,7 @@ public static class Check
{
[ContractAnnotation("value:null => halt")]
public static T NotNull<T>(
T? value,
[System.Diagnostics.CodeAnalysis.NotNull] T? value,
[InvokerParameterName][NotNull] string parameterName)
{
if (value == null)
@ -23,7 +23,7 @@ public static class Check
[ContractAnnotation("value:null => halt")]
public static T NotNull<T>(
T? value,
[System.Diagnostics.CodeAnalysis.NotNull] T? value,
[InvokerParameterName][NotNull] string parameterName,
string message)
{
@ -37,7 +37,7 @@ public static class Check
[ContractAnnotation("value:null => halt")]
public static string NotNull(
string? value,
[System.Diagnostics.CodeAnalysis.NotNull] string? value,
[InvokerParameterName][NotNull] string parameterName,
int maxLength = int.MaxValue,
int minLength = 0)
@ -62,7 +62,7 @@ public static class Check
[ContractAnnotation("value:null => halt")]
public static string NotNullOrWhiteSpace(
string? value,
[System.Diagnostics.CodeAnalysis.NotNull] string? value,
[InvokerParameterName][NotNull] string parameterName,
int maxLength = int.MaxValue,
int minLength = 0)
@ -87,7 +87,7 @@ public static class Check
[ContractAnnotation("value:null => halt")]
public static string NotNullOrEmpty(
string? value,
[System.Diagnostics.CodeAnalysis.NotNull] string? value,
[InvokerParameterName][NotNull] string parameterName,
int maxLength = int.MaxValue,
int minLength = 0)
@ -111,7 +111,9 @@ public static class Check
}
[ContractAnnotation("value:null => halt")]
public static ICollection<T> NotNullOrEmpty<T>(ICollection<T>? value, [InvokerParameterName][NotNull] string parameterName)
public static ICollection<T> NotNullOrEmpty<T>(
[System.Diagnostics.CodeAnalysis.NotNull] ICollection<T>? value,
[InvokerParameterName][NotNull] string parameterName)
{
if (value == null || value.Count <= 0)
{
@ -339,7 +341,7 @@ public static class Check
}
public static T NotDefaultOrNull<T>(
T? value,
[System.Diagnostics.CodeAnalysis.NotNull] T? value,
[InvokerParameterName][NotNull] string parameterName)
where T : struct
{

2
framework/src/Volo.Abp.Core/Volo/Abp/DependencyInjection/ExposeServicesAttribute.cs

@ -60,7 +60,7 @@ public class ExposeServicesAttribute : Attribute, IExposedServiceTypesProvider
interfaceName = interfaceName.Right(interfaceName.Length - 1);
}
if (type.Name.EndsWith(interfaceName))
if (type.Name.EndsWith(interfaceName, StringComparison.OrdinalIgnoreCase))
{
serviceTypes.Add(interfaceType);
}

8
framework/src/Volo.Abp.EntityFrameworkCore.MySQL/Volo/Abp/EntityFrameworkCore/MySQL/AbpEntityFrameworkCoreMySQLModule.cs

@ -1,4 +1,5 @@
using Volo.Abp.Guids;
using Volo.Abp.EntityFrameworkCore.GlobalFilters;
using Volo.Abp.Guids;
using Volo.Abp.Modularity;
namespace Volo.Abp.EntityFrameworkCore.MySQL;
@ -17,5 +18,10 @@ public class AbpEntityFrameworkCoreMySQLModule : AbpModule
options.DefaultSequentialGuidType = SequentialGuidType.SequentialAsString;
}
});
Configure<AbpEfCoreGlobalFilterOptions>(options =>
{
options.UseDbFunction = true;
});
}
}

6
framework/src/Volo.Abp.EntityFrameworkCore.Oracle.Devart/Volo/Abp/EntityFrameworkCore/Oracle/Devart/AbpEntityFrameworkCoreOracleDevartModule.cs

@ -1,4 +1,5 @@
using Microsoft.Extensions.DependencyInjection;
using Volo.Abp.EntityFrameworkCore.GlobalFilters;
using Volo.Abp.Guids;
using Volo.Abp.Modularity;
@ -18,5 +19,10 @@ public class AbpEntityFrameworkCoreOracleDevartModule : AbpModule
options.DefaultSequentialGuidType = SequentialGuidType.SequentialAsBinary;
}
});
Configure<AbpEfCoreGlobalFilterOptions>(options =>
{
options.UseDbFunction = true;
});
}
}

6
framework/src/Volo.Abp.EntityFrameworkCore.Oracle/Volo/Abp/EntityFrameworkCore/Oracle/AbpEntityFrameworkCoreOracleModule.cs

@ -1,4 +1,5 @@
using Microsoft.Extensions.DependencyInjection;
using Volo.Abp.EntityFrameworkCore.GlobalFilters;
using Volo.Abp.Guids;
using Volo.Abp.Modularity;
@ -16,5 +17,10 @@ public class AbpEntityFrameworkCoreOracleModule : AbpModule
options.DefaultSequentialGuidType = SequentialGuidType.SequentialAsBinary;
}
});
Configure<AbpEfCoreGlobalFilterOptions>(options =>
{
options.UseDbFunction = true;
});
}
}

8
framework/src/Volo.Abp.EntityFrameworkCore.PostgreSql/Volo/Abp/EntityFrameworkCore/PostgreSql/AbpEntityFrameworkCorePostgreSqlModule.cs

@ -1,4 +1,5 @@
using Volo.Abp.Guids;
using Volo.Abp.EntityFrameworkCore.GlobalFilters;
using Volo.Abp.Guids;
using Volo.Abp.Modularity;
namespace Volo.Abp.EntityFrameworkCore.PostgreSql;
@ -17,5 +18,10 @@ public class AbpEntityFrameworkCorePostgreSqlModule : AbpModule
options.DefaultSequentialGuidType = SequentialGuidType.SequentialAsString;
}
});
Configure<AbpEfCoreGlobalFilterOptions>(options =>
{
options.UseDbFunction = true;
});
}
}

8
framework/src/Volo.Abp.EntityFrameworkCore.SqlServer/Volo/Abp/EntityFrameworkCore/SqlServer/AbpEntityFrameworkCoreSqlServerModule.cs

@ -1,4 +1,5 @@
using Volo.Abp.Guids;
using Volo.Abp.EntityFrameworkCore.GlobalFilters;
using Volo.Abp.Guids;
using Volo.Abp.Modularity;
namespace Volo.Abp.EntityFrameworkCore.SqlServer;
@ -17,5 +18,10 @@ public class AbpEntityFrameworkCoreSqlServerModule : AbpModule
options.DefaultSequentialGuidType = SequentialGuidType.SequentialAtEnd;
}
});
Configure<AbpEfCoreGlobalFilterOptions>(options =>
{
options.UseDbFunction = true;
});
}
}

9
framework/src/Volo.Abp.EntityFrameworkCore.Sqlite/Volo/Abp/EntityFrameworkCore/Sqlite/AbpEntityFrameworkCoreSqliteModule.cs

@ -1,3 +1,4 @@
using Volo.Abp.EntityFrameworkCore.GlobalFilters;
using Volo.Abp.Modularity;
namespace Volo.Abp.EntityFrameworkCore.Sqlite;
@ -7,5 +8,11 @@ namespace Volo.Abp.EntityFrameworkCore.Sqlite;
)]
public class AbpEntityFrameworkCoreSqliteModule : AbpModule
{
public override void ConfigureServices(ServiceConfigurationContext context)
{
Configure<AbpEfCoreGlobalFilterOptions>(options =>
{
options.UseDbFunction = true;
});
}
}

21
framework/src/Volo.Abp.EntityFrameworkCore/Microsoft/Extensions/DependencyInjection/AbpEfCoreDbContextOptionsBuilderExtensions.cs

@ -0,0 +1,21 @@
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Volo.Abp.EntityFrameworkCore;
namespace Microsoft.Extensions.DependencyInjection;
public static class AbpEfCoreDbContextOptionsBuilderExtensions
{
public static DbContextOptionsBuilder AddAbpDbContextOptionsExtension(this DbContextOptionsBuilder optionsBuilder)
{
((IDbContextOptionsBuilderInfrastructure) optionsBuilder).AddOrUpdateExtension(new AbpDbContextOptionsExtension());
return optionsBuilder;
}
public static DbContextOptionsBuilder<TContext> AddAbpDbContextOptionsExtension<TContext>(this DbContextOptionsBuilder<TContext> optionsBuilder)
where TContext : DbContext
{
((IDbContextOptionsBuilderInfrastructure) optionsBuilder).AddOrUpdateExtension(new AbpDbContextOptionsExtension());
return optionsBuilder;
}
}

68
framework/src/Volo.Abp.EntityFrameworkCore/Microsoft/Extensions/DependencyInjection/AbpEfCoreModelBuilderExtensions.cs

@ -0,0 +1,68 @@
using System.Linq.Expressions;
using System.Reflection;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Query.SqlExpressions;
using Volo.Abp;
using Volo.Abp.EntityFrameworkCore;
using Volo.Abp.EntityFrameworkCore.GlobalFilters;
using Volo.Abp.MultiTenancy;
namespace Microsoft.Extensions.DependencyInjection;
public static class AbpEfCoreModelBuilderExtensions
{
public static ModelBuilder ConfigureSoftDeleteDbFunction(this ModelBuilder modelBuilder, MethodInfo methodInfo, AbpEfCoreCurrentDbContext abpEfCoreCurrentDbContext)
{
modelBuilder.HasDbFunction(methodInfo)
.HasTranslation(args =>
{
// (bool isDeleted, bool boolParam)
var isDeleted = args[0];
var boolParam = args[1];
if (abpEfCoreCurrentDbContext.Context?.DataFilter.IsEnabled<ISoftDelete>() == true)
{
// IsDeleted == false
return new SqlBinaryExpression(
ExpressionType.Equal,
isDeleted,
new SqlConstantExpression(Expression.Constant(false), boolParam.TypeMapping),
boolParam.Type,
boolParam.TypeMapping);
}
// empty where sql
return new SqlConstantExpression(Expression.Constant(true), boolParam.TypeMapping);
});
return modelBuilder;
}
public static ModelBuilder ConfigureMultiTenantDbFunction(this ModelBuilder modelBuilder, MethodInfo methodInfo, AbpEfCoreCurrentDbContext abpEfCoreCurrentDbContext)
{
modelBuilder.HasDbFunction(methodInfo)
.HasTranslation(args =>
{
// (Guid? tenantId, int? currentTenantId)
var tenantId = args[0];
var currentTenantId = args[1];
var boolParam = args[2];
if (abpEfCoreCurrentDbContext.Context?.DataFilter.IsEnabled<IMultiTenant>() == true)
{
// TenantId == CurrentTenantId
return new SqlBinaryExpression(
ExpressionType.Equal,
tenantId,
currentTenantId,
boolParam.Type,
boolParam.TypeMapping);
}
// empty where sql
return new SqlConstantExpression(Expression.Constant(true), boolParam.TypeMapping);
});
return modelBuilder;
}
}

38
framework/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/EntityFrameworkCore/AbpDbContext.cs

@ -11,11 +11,12 @@ using System.Threading;
using System.Threading.Tasks;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.ChangeTracking;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Options;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Logging.Abstractions;
using Microsoft.Extensions.Options;
using Volo.Abp.Auditing;
using Volo.Abp.Data;
using Volo.Abp.DependencyInjection;
@ -24,6 +25,7 @@ using Volo.Abp.Domain.Entities.Events;
using Volo.Abp.Domain.Repositories;
using Volo.Abp.EntityFrameworkCore.ChangeTrackers;
using Volo.Abp.EntityFrameworkCore.EntityHistory;
using Volo.Abp.EntityFrameworkCore.GlobalFilters;
using Volo.Abp.EntityFrameworkCore.Modeling;
using Volo.Abp.EntityFrameworkCore.ValueConverters;
using Volo.Abp.EventBus.Distributed;
@ -37,7 +39,7 @@ using Volo.Abp.Uow;
namespace Volo.Abp.EntityFrameworkCore;
public abstract class AbpDbContext<TDbContext> : DbContext, IAbpEfCoreDbContext, ITransientDependency
public abstract class AbpDbContext<TDbContext> : DbContext, IAbpEfCoreDbContext, IAbpEfCoreDbFunctionContext, ITransientDependency
where TDbContext : DbContext
{
public IAbpLazyServiceProvider LazyServiceProvider { get; set; } = default!;
@ -78,6 +80,8 @@ public abstract class AbpDbContext<TDbContext> : DbContext, IAbpEfCoreDbContext,
public IOptions<AbpDbContextOptions> Options => LazyServiceProvider.LazyGetRequiredService<IOptions<AbpDbContextOptions>>();
public IOptions<AbpEfCoreGlobalFilterOptions> GlobalFilterOptions => LazyServiceProvider.LazyGetRequiredService<IOptions<AbpEfCoreGlobalFilterOptions>>();
private static readonly MethodInfo ConfigureBasePropertiesMethodInfo
= typeof(AbpDbContext<TDbContext>)
.GetMethod(
@ -99,9 +103,12 @@ public abstract class AbpDbContext<TDbContext> : DbContext, IAbpEfCoreDbContext,
BindingFlags.Instance | BindingFlags.NonPublic
)!;
protected readonly DbContextOptions DbContextOptions;
protected AbpDbContext(DbContextOptions<TDbContext> options)
: base(options)
{
DbContextOptions = options;
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
@ -713,7 +720,7 @@ public abstract class AbpDbContext<TDbContext> : DbContext, IAbpEfCoreDbContext,
{
if (mutableEntityType.BaseType == null && ShouldFilterEntity<TEntity>(mutableEntityType))
{
var filterExpression = CreateFilterExpression<TEntity>();
var filterExpression = CreateFilterExpression<TEntity>(modelBuilder);
if (filterExpression != null)
{
modelBuilder.Entity<TEntity>().HasAbpQueryFilter(filterExpression);
@ -782,7 +789,7 @@ public abstract class AbpDbContext<TDbContext> : DbContext, IAbpEfCoreDbContext,
return false;
}
protected virtual Expression<Func<TEntity, bool>>? CreateFilterExpression<TEntity>()
protected virtual Expression<Func<TEntity, bool>>? CreateFilterExpression<TEntity>(ModelBuilder modelBuilder)
where TEntity : class
{
Expression<Func<TEntity, bool>>? expression = null;
@ -790,14 +797,37 @@ public abstract class AbpDbContext<TDbContext> : DbContext, IAbpEfCoreDbContext,
if (typeof(ISoftDelete).IsAssignableFrom(typeof(TEntity)))
{
expression = e => !IsSoftDeleteFilterEnabled || !EF.Property<bool>(e, "IsDeleted");
if (UseDbFunction())
{
expression = e => AbpEfCoreDataFilterDbFunctionMethods.SoftDeleteFilter(((ISoftDelete)e).IsDeleted, true);
modelBuilder.ConfigureSoftDeleteDbFunction(AbpEfCoreDataFilterDbFunctionMethods.SoftDeleteFilterMethodInfo, this.GetService<AbpEfCoreCurrentDbContext>());
}
}
if (typeof(IMultiTenant).IsAssignableFrom(typeof(TEntity)))
{
Expression<Func<TEntity, bool>> multiTenantFilter = e => !IsMultiTenantFilterEnabled || EF.Property<Guid>(e, "TenantId") == CurrentTenantId;
if (UseDbFunction())
{
multiTenantFilter = e => AbpEfCoreDataFilterDbFunctionMethods.MultiTenantFilter(((IMultiTenant)e).TenantId, CurrentTenantId, true);
modelBuilder.ConfigureMultiTenantDbFunction(AbpEfCoreDataFilterDbFunctionMethods.MultiTenantFilterMethodInfo, this.GetService<AbpEfCoreCurrentDbContext>());
}
expression = expression == null ? multiTenantFilter : QueryFilterExpressionHelper.CombineExpressions(expression, multiTenantFilter);
}
return expression;
}
protected virtual bool UseDbFunction()
{
return LazyServiceProvider != null && GlobalFilterOptions.Value.UseDbFunction && DbContextOptions.FindExtension<AbpDbContextOptionsExtension>() != null;
}
public virtual string GetCompiledQueryCacheKey()
{
return $"{CurrentTenantId?.ToString() ?? "Null"}:{IsSoftDeleteFilterEnabled}:{IsMultiTenantFilterEnabled}";
}
}

62
framework/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/EntityFrameworkCore/AbpDbContextOptionsExtension.cs

@ -0,0 +1,62 @@
using System;
using System.Collections.Generic;
using System.Linq;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Query;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.DependencyInjection.Extensions;
using Volo.Abp.EntityFrameworkCore.GlobalFilters;
namespace Volo.Abp.EntityFrameworkCore;
public class AbpDbContextOptionsExtension : IDbContextOptionsExtension
{
public void ApplyServices(IServiceCollection services)
{
var serviceDescriptor = services.FirstOrDefault(x => x.ServiceType == typeof(ICompiledQueryCacheKeyGenerator));
if (serviceDescriptor != null && serviceDescriptor.ImplementationType != null)
{
services.Remove(serviceDescriptor);
services.AddScoped(serviceDescriptor.ImplementationType);
services.Add(ServiceDescriptor.Scoped<ICompiledQueryCacheKeyGenerator>(provider =>
ActivatorUtilities.CreateInstance<AbpCompiledQueryCacheKeyGenerator>(provider,
provider.GetRequiredService(serviceDescriptor.ImplementationType)
.As<ICompiledQueryCacheKeyGenerator>())));
}
services.Replace(ServiceDescriptor.Scoped<IAsyncQueryProvider, AbpEntityQueryProvider>());
services.AddSingleton(typeof(AbpEfCoreCurrentDbContext));
}
public void Validate(IDbContextOptions options)
{
}
public DbContextOptionsExtensionInfo Info => new AbpOptionsExtensionInfo(this);
private class AbpOptionsExtensionInfo : DbContextOptionsExtensionInfo
{
public AbpOptionsExtensionInfo(IDbContextOptionsExtension extension)
: base(extension)
{
}
public override bool IsDatabaseProvider => false;
public override int GetServiceProviderHashCode()
{
return 0;
}
public override bool ShouldUseSameServiceProvider(DbContextOptionsExtensionInfo other)
{
return other is AbpOptionsExtensionInfo;
}
public override void PopulateDebugInfo(IDictionary<string, string> debugInfo)
{
}
public override string LogFragment => "AbpOptionsExtension";
}
}

49
framework/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/EntityFrameworkCore/AbpEntityQueryProvider.cs

@ -0,0 +1,49 @@
using System.Linq.Expressions;
using System.Threading;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Query.Internal;
using Volo.Abp.EntityFrameworkCore.GlobalFilters;
namespace Volo.Abp.EntityFrameworkCore;
#pragma warning disable EF1001
public class AbpEntityQueryProvider : EntityQueryProvider
{
protected AbpEfCoreCurrentDbContext AbpEfCoreCurrentDbContext { get; }
protected ICurrentDbContext CurrentDbContext { get; }
public AbpEntityQueryProvider(
IQueryCompiler queryCompiler,
AbpEfCoreCurrentDbContext abpEfCoreCurrentDbContext,
ICurrentDbContext currentDbContext)
: base(queryCompiler)
{
AbpEfCoreCurrentDbContext = abpEfCoreCurrentDbContext;
CurrentDbContext = currentDbContext;
}
public override object Execute(Expression expression)
{
using (AbpEfCoreCurrentDbContext.Use(CurrentDbContext.Context as IAbpEfCoreDbFunctionContext))
{
return base.Execute(expression);
}
}
public override TResult Execute<TResult>(Expression expression)
{
using (AbpEfCoreCurrentDbContext.Use(CurrentDbContext.Context as IAbpEfCoreDbFunctionContext))
{
return base.Execute<TResult>(expression);
}
}
public override TResult ExecuteAsync<TResult>(Expression expression, CancellationToken cancellationToken = new CancellationToken())
{
using (AbpEfCoreCurrentDbContext.Use(CurrentDbContext.Context as IAbpEfCoreDbFunctionContext))
{
return base.ExecuteAsync<TResult>(expression, cancellationToken);
}
}
}
#pragma warning restore EF1001

6
framework/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/EntityFrameworkCore/DependencyInjection/DbContextOptionsFactory.cs

@ -4,6 +4,7 @@ using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Options;
using Volo.Abp.Data;
using Volo.Abp.EntityFrameworkCore.GlobalFilters;
using Volo.Abp.MultiTenancy;
namespace Volo.Abp.EntityFrameworkCore.DependencyInjection;
@ -27,6 +28,11 @@ public static class DbContextOptionsFactory
PreConfigure(options, context);
Configure(options, context);
if (serviceProvider.GetRequiredService<IOptions<AbpEfCoreGlobalFilterOptions>>().Value.UseDbFunction)
{
context.DbContextOptions.AddAbpDbContextOptionsExtension();
}
return context.DbContextOptions.Options;
}

59
framework/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/EntityFrameworkCore/GlobalFilters/AbpCompiledQueryCacheKeyGenerator.cs

@ -0,0 +1,59 @@
using System;
using System.Linq.Expressions;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Query;
namespace Volo.Abp.EntityFrameworkCore.GlobalFilters;
public class AbpCompiledQueryCacheKeyGenerator : ICompiledQueryCacheKeyGenerator
{
protected ICompiledQueryCacheKeyGenerator InnerCompiledQueryCacheKeyGenerator { get; }
protected ICurrentDbContext CurrentContext { get; }
public AbpCompiledQueryCacheKeyGenerator(
ICompiledQueryCacheKeyGenerator innerCompiledQueryCacheKeyGenerator,
ICurrentDbContext currentContext)
{
InnerCompiledQueryCacheKeyGenerator = innerCompiledQueryCacheKeyGenerator;
CurrentContext = currentContext;
}
public virtual object GenerateCacheKey(Expression query, bool async)
{
var cacheKey = InnerCompiledQueryCacheKeyGenerator.GenerateCacheKey(query, async);
if (CurrentContext.Context is IAbpEfCoreDbFunctionContext abpEfCoreDbFunctionContext)
{
return new AbpCompiledQueryCacheKey(cacheKey, abpEfCoreDbFunctionContext.GetCompiledQueryCacheKey());
}
return cacheKey;
}
private readonly struct AbpCompiledQueryCacheKey : IEquatable<AbpCompiledQueryCacheKey>
{
private readonly object _compiledQueryCacheKey;
private readonly string _currentFilterCacheKey;
public AbpCompiledQueryCacheKey(object compiledQueryCacheKey, string currentFilterCacheKey)
{
_compiledQueryCacheKey = compiledQueryCacheKey;
_currentFilterCacheKey = currentFilterCacheKey;
}
public override bool Equals(object? obj)
{
return obj is AbpCompiledQueryCacheKey key && Equals(key);
}
public bool Equals(AbpCompiledQueryCacheKey other)
{
return _compiledQueryCacheKey.Equals(other._compiledQueryCacheKey) &&
_currentFilterCacheKey == other._currentFilterCacheKey;
}
public override int GetHashCode()
{
return HashCode.Combine(_compiledQueryCacheKey, _currentFilterCacheKey);
}
}
}

21
framework/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/EntityFrameworkCore/GlobalFilters/AbpEfCoreCurrentDbContext.cs

@ -0,0 +1,21 @@
using System;
using System.Threading;
namespace Volo.Abp.EntityFrameworkCore.GlobalFilters;
public class AbpEfCoreCurrentDbContext
{
private readonly AsyncLocal<IAbpEfCoreDbFunctionContext?> _current = new AsyncLocal<IAbpEfCoreDbFunctionContext?>();
public IAbpEfCoreDbFunctionContext? Context => _current.Value;
public IDisposable Use(IAbpEfCoreDbFunctionContext? context)
{
var previousValue = Context;
_current.Value = context;
return new DisposeAction(() =>
{
_current.Value = previousValue;
});
}
}

25
framework/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/EntityFrameworkCore/GlobalFilters/AbpEfCoreDataFilterDbFunctionMethods.cs

@ -0,0 +1,25 @@
using System;
using System.Reflection;
namespace Volo.Abp.EntityFrameworkCore.GlobalFilters;
public static class AbpEfCoreDataFilterDbFunctionMethods
{
public const string NotSupportedExceptionMessage = "Your EF Core database provider does not support 'User-defined function mapping'." +
"Please set 'UseDbFunction' of 'AbpEfCoreGlobalFilterOptions' to false to disable it." +
"See https://learn.microsoft.com/en-us/ef/core/querying/user-defined-function-mapping for more information." ;
public static bool SoftDeleteFilter(bool isDeleted, bool boolParam)
{
throw new NotSupportedException(NotSupportedExceptionMessage);
}
public static MethodInfo SoftDeleteFilterMethodInfo => typeof(AbpEfCoreDataFilterDbFunctionMethods).GetMethod(nameof(SoftDeleteFilter))!;
public static bool MultiTenantFilter(Guid? tenantId, Guid? currentTenantId, bool boolParam)
{
throw new NotSupportedException(NotSupportedExceptionMessage);
}
public static MethodInfo MultiTenantFilterMethodInfo => typeof(AbpEfCoreDataFilterDbFunctionMethods).GetMethod(nameof(MultiTenantFilter))!;
}

10
framework/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/EntityFrameworkCore/GlobalFilters/AbpEfCoreGlobalFilterOptions.cs

@ -0,0 +1,10 @@
namespace Volo.Abp.EntityFrameworkCore.GlobalFilters;
public class AbpEfCoreGlobalFilterOptions
{
/// <summary>
/// Use User-defined function mapping to filter data.
/// https://learn.microsoft.com/en-us/ef/core/querying/user-defined-function-mapping
/// </summary>
public bool UseDbFunction { get; set; }
}

16
framework/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/EntityFrameworkCore/GlobalFilters/IAbpEfCoreDbFunctionContext.cs

@ -0,0 +1,16 @@
using Volo.Abp.Data;
using Volo.Abp.DependencyInjection;
using Volo.Abp.MultiTenancy;
namespace Volo.Abp.EntityFrameworkCore.GlobalFilters;
public interface IAbpEfCoreDbFunctionContext
{
IAbpLazyServiceProvider LazyServiceProvider { get; set; }
ICurrentTenant CurrentTenant { get; }
IDataFilter DataFilter { get; }
string GetCompiledQueryCacheKey();
}

18
framework/src/Volo.Abp.Swashbuckle/Microsoft/Extensions/DependencyInjection/AbpSwaggerGenServiceCollectionExtensions.cs

@ -5,6 +5,7 @@ using Microsoft.OpenApi.Models;
using Swashbuckle.AspNetCore.SwaggerGen;
using Swashbuckle.AspNetCore.SwaggerUI;
using Volo.Abp.Content;
using Volo.Abp.MultiTenancy;
using Volo.Abp.Swashbuckle;
namespace Microsoft.Extensions.DependencyInjection;
@ -89,16 +90,15 @@ public static class AbpSwaggerGenServiceCollectionExtensions
Action<SwaggerGenOptions>? setupAction = null)
{
var discoveryUrl = discoveryEndpoint != null ?
new Uri($"{discoveryEndpoint.TrimEnd('/')}/.well-known/openid-configuration") :
new Uri($"{authority.TrimEnd('/')}/.well-known/openid-configuration");
$"{discoveryEndpoint.TrimEnd('/')}/.well-known/openid-configuration":
$"{authority.TrimEnd('/')}/.well-known/openid-configuration";
flows ??= new [] { AbpSwaggerOidcFlows.AuthorizationCode };
services.Configure<SwaggerUIOptions>(swaggerUiOptions =>
{
swaggerUiOptions.ConfigObject.AdditionalItems["oidcSupportedFlows"] = flows;
swaggerUiOptions.ConfigObject.AdditionalItems["oidcSupportedScopes"] = scopes;
swaggerUiOptions.ConfigObject.AdditionalItems["oidcDiscoveryEndpoint"] = discoveryEndpoint;
swaggerUiOptions.ConfigObject.AdditionalItems["oidcDiscoveryEndpoint"] = discoveryUrl;
});
return services
@ -109,7 +109,7 @@ public static class AbpSwaggerGenServiceCollectionExtensions
options.AddSecurityDefinition("oidc", new OpenApiSecurityScheme
{
Type = SecuritySchemeType.OpenIdConnect,
OpenIdConnectUrl = discoveryUrl
OpenIdConnectUrl = new Uri(RemoveTenantPlaceholders(discoveryUrl))
});
options.AddSecurityRequirement(new OpenApiSecurityRequirement
@ -129,4 +129,12 @@ public static class AbpSwaggerGenServiceCollectionExtensions
setupAction?.Invoke(options);
});
}
private static string RemoveTenantPlaceholders(string url)
{
return url
.Replace(MultiTenantUrlProvider.TenantPlaceHolder + ".", string.Empty)
.Replace(MultiTenantUrlProvider.TenantIdPlaceHolder + ".", string.Empty)
.Replace(MultiTenantUrlProvider.TenantNamePlaceHolder + ".", string.Empty);
}
}

65
framework/src/Volo.Abp.Swashbuckle/wwwroot/swagger/ui/abp.swagger.js

@ -9,12 +9,12 @@ var abp = abp || {};
var oidcSupportedFlows = configObject.oidcSupportedFlows || [];
var oidcSupportedScopes = configObject.oidcSupportedScopes || [];
var oidcDiscoveryEndpoint = configObject.oidcDiscoveryEndpoint || [];
var tenantPlaceHolders = ["{{tenantId}}", "{{tenantName}}" , "{0}"]
var tenantPlaceHolders = ["{{tenantId}}", "{{tenantName}}", "{0}"]
abp.appPath = configObject.baseUrl || abp.appPath;
var requestInterceptor = configObject.requestInterceptor;
var responseInterceptor = configObject.responseInterceptor;
configObject.requestInterceptor = async function (request) {
if (request.url.includes(excludeUrl[1])) {
@ -27,22 +27,6 @@ var abp = abp || {};
});
firstRequest = false;
}
// Intercept .well-known request when the discoveryEndpoint is provided
if (!firstRequest && oidcDiscoveryEndpoint.length !== 0 && request.url.includes(".well-known/openid-configuration")) {
if (oidcDiscoveryEndpoint.endsWith(".well-known/openid-configuration")) {
request.url = await replaceTenantPlaceHolder(oidcDiscoveryEndpoint);
console.log(request.url);
return;
}
if (!oidcDiscoveryEndpoint.endsWith("/")) {
oidcDiscoveryEndpoint += "/"
}
request.url = await replaceTenantPlaceHolder(oidcDiscoveryEndpoint) + ".well-known/openid-configuration";
console.log(request.url);
}
var antiForgeryToken = abp.security.antiForgery.getToken();
if (antiForgeryToken) {
@ -78,33 +62,50 @@ var abp = abp || {};
response.text = JSON.stringify(openIdConnectData);
}
// Intercept .well-known request when the discoveryEndpoint is provided
if (response.url.endsWith("swagger.json") && response.status === 200 && oidcDiscoveryEndpoint.length !== 0) {
var swaggerData = JSON.parse(response.text);
if (swaggerData.components.securitySchemes && swaggerData.components.securitySchemes.oidc) {
swaggerData.components.securitySchemes.oidc.openIdConnectUrl = await replaceTenantPlaceHolder(oidcDiscoveryEndpoint);
}
response.text = JSON.stringify(swaggerData);
}
if (responseInterceptor) {
responseInterceptor(response);
}
return response;
};
async function replaceTenantPlaceHolder(url) {
if(!abp.currentTenant){
if (!abp.currentTenant) {
await getAbpApplicationConfiguration();
}
url.replace(tenantPlaceHolders[0], abp.currentTenant.id);
url.replace(tenantPlaceHolders[1], abp.currentTenant.name);
if(abp.currentTenant.name != null){
url.replace(tenantPlaceHolders[2], abp.currentTenant.name);
}else if (abp.currentTenant.id != null){
url.replace(tenantPlaceHolders[2], abp.currentTenant.id);
if (abp.currentTenant.id == null && abp.currentTenant.name == null) {
return url
.replace(tenantPlaceHolders[0] + ".", "")
.replace(tenantPlaceHolders[1] + ".", "")
.replace(tenantPlaceHolders[2] + ".", "");
}
url = url.replace(tenantPlaceHolders[0], abp.currentTenant.id).replace(tenantPlaceHolders[1], abp.currentTenant.name);
if (abp.currentTenant.name != null) {
url = url.replace(tenantPlaceHolders[2], abp.currentTenant.name);
} else if (abp.currentTenant.id != null) {
url = url.replace(tenantPlaceHolders[2], abp.currentTenant.id);
}
return url;
}
function getAbpApplicationConfiguration() {
return fetch(`${abp.appPath}api/abp/application-configuration`).then(response => response.json()).then(data => {
abp.currentTenant = data.currentTenant;
abp.currentTenant = data.currentTenant;
});
}

2
framework/test/Volo.Abp.Auditing.Tests/Volo/Abp/Auditing/AbpAuditingTestModule.cs

@ -70,7 +70,7 @@ public class AbpAuditingTestModule : AbpModule
connection.Open();
using (var context = new AbpAuditingTestDbContext(new DbContextOptionsBuilder<AbpAuditingTestDbContext>()
.UseSqlite(connection).Options))
.UseSqlite(connection).AddAbpDbContextOptionsExtension().Options))
{
context.GetService<IRelationalDatabaseCreator>().CreateTables();
}

20
framework/test/Volo.Abp.Core.Tests/Volo/Abp/DependencyInjection/AutoRegistrationHelper_Tests.cs

@ -20,6 +20,22 @@ public class AutoRegistrationHelper_Tests
exposedServices.ShouldContain(typeof(IDerivedService));
}
[Fact]
public void Should_Get_Conventional_Exposed_Types_By_Default_Case_Insensitive()
{
//Act
var exposedServices = ExposedServiceExplorer.GetExposedServices(typeof(defaultderivedservice));
//Assert
exposedServices.Count.ShouldBe(3);
exposedServices.ShouldContain(typeof(defaultderivedservice));
exposedServices.ShouldContain(typeof(IService));
exposedServices.ShouldContain(typeof(IDerivedService));
}
[Fact]
public void Should_Get_Custom_Exposed_Types_If_Available()
{
@ -52,6 +68,10 @@ public class AutoRegistrationHelper_Tests
{
}
public class defaultderivedservice : IDerivedService
{
}
public interface IService
{
}

4
framework/test/Volo.Abp.EntityFrameworkCore.Tests/Volo/Abp/EntityFrameworkCore/AbpEntityFrameworkCoreTestModule.cs

@ -72,7 +72,7 @@ public class AbpEntityFrameworkCoreTestModule : AbpModule
{
options.Configure(abpDbContextConfigurationContext =>
{
abpDbContextConfigurationContext.DbContextOptions.UseSqlite(sqliteConnection);
abpDbContextConfigurationContext.DbContextOptions.UseSqlite(sqliteConnection).AddAbpDbContextOptionsExtension();
});
});
}
@ -101,7 +101,7 @@ public class AbpEntityFrameworkCoreTestModule : AbpModule
var connection = new AbpUnitTestSqliteConnection("Data Source=:memory:");
connection.Open();
using (var context = new TestMigrationsDbContext(new DbContextOptionsBuilder<TestMigrationsDbContext>().UseSqlite(connection).Options))
using (var context = new TestMigrationsDbContext(new DbContextOptionsBuilder<TestMigrationsDbContext>().UseSqlite(connection).AddAbpDbContextOptionsExtension().Options))
{
context.GetService<IRelationalDatabaseCreator>().CreateTables();
context.Database.ExecuteSqlRaw(

2
latest-versions.json

@ -1,6 +1,6 @@
[
{
"version": "8.1.3",
"version": "8.1.4",
"releaseDate": "",
"type": "stable",
"message": ""

14
modules/account/src/Volo.Abp.Account.Web/Pages/Account/LoggedOut.js

@ -1,6 +1,12 @@
document.addEventListener('DOMContentLoaded', function (event) {
document.addEventListener("DOMContentLoaded", function (event) {
setTimeout(function () {
window.clientName = document.getElementById("redirectButton").getAttribute("cname");
window.location = document.getElementById('redirectButton').getAttribute('href');
}, 3000);
var redirectButton = document.getElementById("redirectButton");
if(!redirectButton){
return;
}
redirectButton.getAttribute("cname");
redirectButton.getAttribute("href");
}, 3000)
});

2
modules/basic-theme/src/Volo.Abp.AspNetCore.Components.WebAssembly.BasicTheme/AbpAspNetCoreComponentsWebAssemblyBasicThemeModule.cs

@ -1,5 +1,5 @@
using Microsoft.Extensions.DependencyInjection;
using Volo.Abp.AspNetCore.Components.Server;
using Volo.Abp.AspNetCore.Components.Web;
using Volo.Abp.AspNetCore.Components.Web.BasicTheme;
using Volo.Abp.AspNetCore.Components.Web.Theming.Routing;
using Volo.Abp.AspNetCore.Components.Web.Theming.Toolbars;

2
modules/basic-theme/src/Volo.Abp.AspNetCore.Components.WebAssembly.BasicTheme/Themes/Basic/LoginDisplay.razor

@ -1,7 +1,7 @@
@using Microsoft.Extensions.Localization
@using global::Localization.Resources.AbpUi
@using Microsoft.Extensions.Options
@using Volo.Abp.AspNetCore.Components.Server
@using Volo.Abp.AspNetCore.Components.Web
@inherits AbpComponentBase
@inject IJSRuntime JsRuntime
@inject NavigationManager Navigation

2
modules/basic-theme/src/Volo.Abp.AspNetCore.Components.WebAssembly.BasicTheme/Themes/Basic/WebAssemblyRedirectToLogin.razor

@ -3,7 +3,7 @@
@using Volo.Abp.AspNetCore.Components.Web.BasicTheme.Themes.Basic
@using Microsoft.AspNetCore.Components.WebAssembly.Authentication
@using Microsoft.Extensions.Options
@using Volo.Abp.AspNetCore.Components.Server
@using Volo.Abp.AspNetCore.Components.Web
@inherits RedirectToLogin
@attribute [ExposeServices(typeof(RedirectToLogin))]
@attribute [Dependency(ReplaceServices = true)]

6
modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/package.json

@ -3,8 +3,8 @@
"name": "asp.net",
"private": true,
"dependencies": {
"@abp/aspnetcore.mvc.ui.theme.shared": "~8.2.0-rc.4",
"@abp/prismjs": "~8.2.0-rc.4",
"@abp/highlight.js": "~8.2.0-rc.4"
"@abp/aspnetcore.mvc.ui.theme.shared": "~8.2.0-rc.5",
"@abp/prismjs": "~8.2.0-rc.5",
"@abp/highlight.js": "~8.2.0-rc.5"
}
}

276
modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/yarn.lock

@ -2,212 +2,212 @@
# yarn lockfile v1
"@abp/aspnetcore.mvc.ui.theme.shared@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-8.2.0-rc.4.tgz#2b1468bf05fc505d11d5c0253a782a328088d283"
integrity sha512-QveGyyMKAMnY48+AsUqkB/LnqtnTc3Fd5m1wLPNVF+P0j6CaaETmfJNc0xw+WYF14r+NC8K4PeC58z3SYMGlLw==
dependencies:
"@abp/aspnetcore.mvc.ui" "~8.2.0-rc.4"
"@abp/bootstrap" "~8.2.0-rc.4"
"@abp/bootstrap-datepicker" "~8.2.0-rc.4"
"@abp/bootstrap-daterangepicker" "~8.2.0-rc.4"
"@abp/datatables.net-bs5" "~8.2.0-rc.4"
"@abp/font-awesome" "~8.2.0-rc.4"
"@abp/jquery-form" "~8.2.0-rc.4"
"@abp/jquery-validation-unobtrusive" "~8.2.0-rc.4"
"@abp/lodash" "~8.2.0-rc.4"
"@abp/luxon" "~8.2.0-rc.4"
"@abp/malihu-custom-scrollbar-plugin" "~8.2.0-rc.4"
"@abp/moment" "~8.2.0-rc.4"
"@abp/select2" "~8.2.0-rc.4"
"@abp/sweetalert2" "~8.2.0-rc.4"
"@abp/timeago" "~8.2.0-rc.4"
"@abp/toastr" "~8.2.0-rc.4"
"@abp/aspnetcore.mvc.ui@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-8.2.0-rc.4.tgz#5e4613f506a02d45d7adcee1060032774e635fe5"
integrity sha512-rr3BE6RhimlHcNv0HKT3xIi/+6Sq5TSqRDvmiFqa7bvxemKMstHiEa2lxpx5XP9CPpV9gNzjC/NV+TQy4YDIqg==
"@abp/aspnetcore.mvc.ui.theme.shared@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-8.2.0-rc.5.tgz#97b86ea4daf4392a1067e2a7e7c03b4c381ccc82"
integrity sha512-lR3XbbNct+8QH1dRhED5s/CHCgkANVyNBrWCQbo4BwBFJ27d3wuJDVt39VxQUsgNfxEmyoJdVZNDRUKDv6fTOw==
dependencies:
"@abp/aspnetcore.mvc.ui" "~8.2.0-rc.5"
"@abp/bootstrap" "~8.2.0-rc.5"
"@abp/bootstrap-datepicker" "~8.2.0-rc.5"
"@abp/bootstrap-daterangepicker" "~8.2.0-rc.5"
"@abp/datatables.net-bs5" "~8.2.0-rc.5"
"@abp/font-awesome" "~8.2.0-rc.5"
"@abp/jquery-form" "~8.2.0-rc.5"
"@abp/jquery-validation-unobtrusive" "~8.2.0-rc.5"
"@abp/lodash" "~8.2.0-rc.5"
"@abp/luxon" "~8.2.0-rc.5"
"@abp/malihu-custom-scrollbar-plugin" "~8.2.0-rc.5"
"@abp/moment" "~8.2.0-rc.5"
"@abp/select2" "~8.2.0-rc.5"
"@abp/sweetalert2" "~8.2.0-rc.5"
"@abp/timeago" "~8.2.0-rc.5"
"@abp/toastr" "~8.2.0-rc.5"
"@abp/aspnetcore.mvc.ui@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-8.2.0-rc.5.tgz#4a845ebd4b6465b9ac04641d7479b449ca9e1c5f"
integrity sha512-l3brGHAD2jnlAWwITGNAY5zOtmc0WItVabYCTvKrYyNuKIPEtW9getUNFp9BFMT9x0KZiGnkkrRkvxH+DzIcug==
dependencies:
ansi-colors "^4.1.1"
"@abp/bootstrap-datepicker@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-8.2.0-rc.4.tgz#7f6b7b0da2c8fd46dc08b1976c57b80b65069246"
integrity sha512-+Ylw8PFuAmpza714vQPjfU/lCOS2NsUX2cGp12Yyy4fS36udPCa/HYWTVdpH36OGae1dV/GzrfgnlZsCvUNhBA==
"@abp/bootstrap-datepicker@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-8.2.0-rc.5.tgz#0e8755a51d7a691837951f7a071a9e59a2e9e6cf"
integrity sha512-bLt8l6kYbVblThd2iuXcp6Ydss8TefpnZXHyXrQCxZGmVb79I/vf48CekJo1OWY/WcyEi/bm0m4LEI8Q0Y/LZQ==
dependencies:
bootstrap-datepicker "^1.9.0"
"@abp/bootstrap-daterangepicker@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-8.2.0-rc.4.tgz#579e8a4fd9d235385514da3f2ca73283294a78e3"
integrity sha512-KIinwEwkCzlYd7gDJt3htgflfrdWnyW4fr/V6GVi2EGxK6UA5HWMRG8MkvUKXmJ4rCHfEUdpWeGBXLbPR8R4eQ==
"@abp/bootstrap-daterangepicker@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-8.2.0-rc.5.tgz#e37792f24c3c8a8643e5ba5744967505e54f836c"
integrity sha512-dN02S1g9sVgACMz+A5FJw0uz4u5lXTFd/7xjE+cmhj0p5AcGvDD3gTbes6d3QNKiwvsPge063lG9pisdn3uEjg==
dependencies:
bootstrap-daterangepicker "^3.1.0"
"@abp/bootstrap@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-8.2.0-rc.4.tgz#dc08a0db67a2a652c03087d299da1abfab677ebf"
integrity sha512-wwZQk2XU6puEzBJ7W+80Oh/8z6n+DNc2YJnCnJNPbURgclMsN4v3/WJ2iKlO4g0fOkepvlgYkbYWPf+pusxSCQ==
"@abp/bootstrap@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-8.2.0-rc.5.tgz#1acc191f8156d81e1794bc161bfb394ae8f7372e"
integrity sha512-FacgSrDlS3QSR+5WdOy06Qw0qF7OoqoBwAGqro2WOfY5sFR5OwEiqXHXUF95+a/q9B9NuYKXBjBfOPhljdiuuA==
dependencies:
"@abp/core" "~8.2.0-rc.4"
"@abp/core" "~8.2.0-rc.5"
bootstrap "^5.1.3"
"@abp/clipboard@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-8.2.0-rc.4.tgz#c3d20d642765dc235749d4f95f599cb97f23325d"
integrity sha512-w94YGLT/UVn1haLGlH8zOcgrCS64OrnVlzh3QXps+8m4S9g7KDeVk3g4ju/VUao2YKCHmRJ3uRhOGCb58of1iw==
"@abp/clipboard@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-8.2.0-rc.5.tgz#5cec3d9c89bdad8d50f41807b3be68d4cdecb003"
integrity sha512-cBaMy8A1CIU00X6SoGyuMTVf6z9iyEaR6smVRWCVmkf2VayAHFES981+iE+VmT2bezgbCidA2GXtkBZ/kunbJg==
dependencies:
"@abp/core" "~8.2.0-rc.4"
"@abp/core" "~8.2.0-rc.5"
clipboard "^2.0.8"
"@abp/core@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-8.2.0-rc.4.tgz#bf6b343ab43468ca88cdb4697caf25d65aa2c269"
integrity sha512-rGUDzLIiUJZ+7ZgzOGXxzc4k//9EBjVY4P4kO0XKCOEv08YwsUJmTzddsiMHZLIqRJ2wdT1UiH7PrcolBiW1UQ==
"@abp/core@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-8.2.0-rc.5.tgz#67eb75df046f8997f6af14e86bf8dbf249388a8d"
integrity sha512-XVunQMbK/MApkfnpL+8WsVqsJxARBl6W0TZwKfPyfm1QzPWE75P4oW3CIdNis0+Ob5HfhSFFp78tVrbSoEdzYQ==
dependencies:
"@abp/utils" "~8.2.0-rc.4"
"@abp/utils" "~8.2.0-rc.5"
"@abp/datatables.net-bs5@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-8.2.0-rc.4.tgz#869021a6639d765abb645a5de7501881b67e7095"
integrity sha512-CdYfn4qhB/KdTYfOrAsUSPtw8AGAbZHOTc4EyWAmxDKFCFyakj27+uoV/Stgs25nCaAXn1JHysfOxoNkP1ikyg==
"@abp/datatables.net-bs5@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-8.2.0-rc.5.tgz#fe04af4b14530545a05c4c58361aadfdddd8e8c2"
integrity sha512-yZKC111JVxcOkDz/WxJyQ0lw3JpbBBWr21LVNjyhEiN62w8tJN1Gwo7CjL+7WFm7RPnAUUf/qwitRWmWl7M4YA==
dependencies:
"@abp/datatables.net" "~8.2.0-rc.4"
"@abp/datatables.net" "~8.2.0-rc.5"
datatables.net-bs5 "^1.11.4"
"@abp/datatables.net@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-8.2.0-rc.4.tgz#4f0e612a11813f38331aae221c342efc4443138d"
integrity sha512-omEYXlB/OzUGmvTy7k7rhZjWtXILpl7idLwV1yXzJUkdjLjaBzIgrbWj/80YAI5K7MdpKE0/pdPnORX6G5ij9Q==
"@abp/datatables.net@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-8.2.0-rc.5.tgz#94e4b933750332732eeef02119a6cdfca67811e7"
integrity sha512-IAXbC29eiHvA3unVMsFh2sNfiw+Jlgah0D++IUKOlz1eAzHMrpwP5KE4jmF6GESF7Al95NkgqH7cd6MUst+UlA==
dependencies:
"@abp/jquery" "~8.2.0-rc.4"
"@abp/jquery" "~8.2.0-rc.5"
datatables.net "^1.11.4"
"@abp/font-awesome@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-8.2.0-rc.4.tgz#5c977e54c428e80af2a93166e968ec7635b0694d"
integrity sha512-zyQwZhhOgKi6JLWbkI+iycwS1lcCx/tvn+AskQSdV2+ycnrcjm9TMWmWosAGwS6VW9demRamuegUNOgiVpy/SA==
"@abp/font-awesome@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-8.2.0-rc.5.tgz#5ae19305a373a6dd083944bd825ccea84aadf40b"
integrity sha512-VbcM80e9KrZzY6TJ9l/eW42CTpdQ0eBr5gOEW+/UWGTRalCLdGve9YVJZJA55bD1VtcgaR1sV342jw2B1XeN8w==
dependencies:
"@abp/core" "~8.2.0-rc.4"
"@abp/core" "~8.2.0-rc.5"
"@fortawesome/fontawesome-free" "^6.5.1"
"@abp/highlight.js@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/highlight.js/-/highlight.js-8.2.0-rc.4.tgz#94587632517396f3d251d2c457ea8a452203f086"
integrity sha512-RHSrR0qqXncosbHDfYBB8aXh0BQ6M8BpjbyXeqe+vKDIznzjv3jcyF2SIP/l6TBBYcaBPnAOdjfuC9i9B8Rfzg==
"@abp/highlight.js@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/highlight.js/-/highlight.js-8.2.0-rc.5.tgz#24c329217ad4092172cba3e9e23a67814f9a164f"
integrity sha512-NHoUAVrGDV+BQ1rtC4orZ0xYX/4VkjZgouIktpuCAEs8wiP6/5Ddjzf2uYFv8c6XVqBm1Mx9Bufxx7aYo2O/Uw==
dependencies:
"@abp/core" "~8.2.0-rc.4"
"@abp/core" "~8.2.0-rc.5"
"@highlightjs/cdn-assets" "~11.4.0"
"@abp/jquery-form@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-8.2.0-rc.4.tgz#3ef39f9f716ff17b34d61eeb3c234ed3867b91da"
integrity sha512-nD5c2g4aPlDSggoR2lJ0Zd9Jg/2yrpVKnJqNuvx7DIdxPIZed2LL5ONaOtO8pLTsKqh5ua1UsqgsyfJ/mb9T1w==
"@abp/jquery-form@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-8.2.0-rc.5.tgz#b955fe2c226f1f35a3736aa3b2170f265a797552"
integrity sha512-M9fUUYywljudem/K7aYlcIG2W+KTzUJPviSeOLo5KNxvVrScWr+Jf4M8Nbj6uWX1saYWmm5kYnfsDs+nOUcmDg==
dependencies:
"@abp/jquery" "~8.2.0-rc.4"
"@abp/jquery" "~8.2.0-rc.5"
jquery-form "^4.3.0"
"@abp/jquery-validation-unobtrusive@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-8.2.0-rc.4.tgz#5124068f01db8c0e4365594fefb236f91bd60e8d"
integrity sha512-JKtZoeSSbSGbTl28ZEHvqCvC2cCX3aOV7PHKhpIzQSfVK22Uo3swsc2bv3sH2HdxNi3jWAGcd7YUG093STMm3Q==
"@abp/jquery-validation-unobtrusive@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-8.2.0-rc.5.tgz#c790dc1b707ee7d24fe99c2b7be6bc558af09667"
integrity sha512-sUkfb17cR2zM669U83R8dviv+p+uGNl5nmOV0AP4ch6CzLfnTOYzKsqV7ESGVxqB8oVHO/Wnr8sXaaLdsoQzJw==
dependencies:
"@abp/jquery-validation" "~8.2.0-rc.4"
"@abp/jquery-validation" "~8.2.0-rc.5"
jquery-validation-unobtrusive "^3.2.12"
"@abp/jquery-validation@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-8.2.0-rc.4.tgz#95540b7a6ef1f27b511e42b03cdf0c1c364ce8df"
integrity sha512-fN2ZJ0eCjQ5nu5fdwKx0cmGTWZyzltwrfhnI0JG27EsBP8EtyO8aWHZEFKgL+vXTy07LraTJD1KSpIIZSsrHVw==
"@abp/jquery-validation@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-8.2.0-rc.5.tgz#294254556e804d641d3bf4ea50d1c3eb42f191d1"
integrity sha512-C7sOuSShkX5Ba6LiSBGuxlrORcxiYczZtsxyjRZzNzATYwEBHcLqMxDvgAsWeWtvtkMotkbB2k99vD93nlGuCQ==
dependencies:
"@abp/jquery" "~8.2.0-rc.4"
"@abp/jquery" "~8.2.0-rc.5"
jquery-validation "^1.19.3"
"@abp/jquery@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-8.2.0-rc.4.tgz#327452ce3f49f6a9fe32a1934a6f347e2a0a309b"
integrity sha512-JYeQwpa671AyYf7sv+XgCaie2mOjWCDZYlFHEqH4whjTqT5SU8WwSkhux+/KLtBImSeQyTzyup7CuQYWBuk15w==
"@abp/jquery@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-8.2.0-rc.5.tgz#9b01156a80d8da6407abb6d51541cb89624cb906"
integrity sha512-KcRVhxEmUuJHd4JNBSeJV+3Ush4w9ambKxwPi3+q1fqdePekrLk9jKNud5HkP6JredBoESJ+TkeVFFQ5HnYPVg==
dependencies:
"@abp/core" "~8.2.0-rc.4"
"@abp/core" "~8.2.0-rc.5"
jquery "~3.6.0"
"@abp/lodash@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-8.2.0-rc.4.tgz#229be25a0e09f4e1b74b7e064113c3a1347d28c7"
integrity sha512-zhLlPlhrCZNngx2ns3reKG2Nmec8g2KWbN55Z1gx0XYqaymT/0zuzfkfPBdpuoyIqrXcPJL0aK21SH4Tu8LjUA==
"@abp/lodash@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-8.2.0-rc.5.tgz#b6fa8754258dd2db59b0df65fb9f7d90c8611af6"
integrity sha512-LvK03DSk9lDNGEFrjMdiaAkaH58ll+PIn663KJk0kVZvtNLy/egCOMCc6EBuE5DUsjwebLi6YZYzgRQRRKirgw==
dependencies:
"@abp/core" "~8.2.0-rc.4"
"@abp/core" "~8.2.0-rc.5"
lodash "^4.17.21"
"@abp/luxon@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-8.2.0-rc.4.tgz#fdb6c8d13be6ded1d531e2d66b532d0453597c01"
integrity sha512-3iat30cVfmymoW208PjCLlrKO6VTuU8lgk/Vg0XnaX/DbNldNhBUHHzEgC9TiHLUejBSd5cunz88rhFuODz14Q==
"@abp/luxon@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-8.2.0-rc.5.tgz#e4300d1deebab16432737c831cfae0025b7c5891"
integrity sha512-UdAToIlS0CwmavErMtd5dwyssKNPa6oqlHrll5h7T26nHDPEdXzSi9rP8RvwqBkrt+BFPMctRSv6DYk8OwoWzA==
dependencies:
"@abp/core" "~8.2.0-rc.4"
"@abp/core" "~8.2.0-rc.5"
luxon "^2.3.0"
"@abp/malihu-custom-scrollbar-plugin@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-8.2.0-rc.4.tgz#1eb1621edd8559b43734590f123c331a360a2d93"
integrity sha512-OoqjoW1e5U/J77zr6A5DPyWha/b4UeTWaAXtl8xigJmhcDhvKe0jfvE33iHgZupFWiGu354mICNT+rQ1S2wMyA==
"@abp/malihu-custom-scrollbar-plugin@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-8.2.0-rc.5.tgz#8f39683e55fbc5487de08b9209a552cf32ea8087"
integrity sha512-e20kLUvnu6tD5GBjzGLQjTMeyeco4q5wO4H4mMuahJpCHue+EUrL0tT1IbWiE+eEmbePw/lAn7Yfhfwjq/+Eeg==
dependencies:
"@abp/core" "~8.2.0-rc.4"
"@abp/core" "~8.2.0-rc.5"
malihu-custom-scrollbar-plugin "^3.1.5"
"@abp/moment@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-8.2.0-rc.4.tgz#97eef0f868ad95057493e97f386c791871c063c3"
integrity sha512-q06AsfUbut7Rxgp0JMlN0dvP7C1QRMfPNO+95ZXEEnqDDlajqaIt4X/7l1gb/Iz+7yc5XVT7FJdmT+bR22etGA==
"@abp/moment@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-8.2.0-rc.5.tgz#e38c7e66ee383a986c7972f4ba2b19d79a43f60e"
integrity sha512-F//4TZySaFBTfWgBxzwTFLeStrS0nklmKcTMU+MOtb/7Zx3QtscJpNm4CmxiBpB8pLwK8xiJQGoiuMQdoTuq+g==
dependencies:
moment "^2.9.0"
"@abp/prismjs@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-8.2.0-rc.4.tgz#f6df729333d4dc934c3978c29e62dddf6a22c19a"
integrity sha512-+fLF7ndhgV9v3zcWFoNSR0kPasIcagJC6FT90ALWs2XccBtjAYOm9/365DK5lyDUh0ynHx9fBgDdCdIX0Zv9RA==
"@abp/prismjs@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-8.2.0-rc.5.tgz#7a7428bb2f118cef5121a196bc45cc5d1a5a8e93"
integrity sha512-lNPqRvisf8jAxyL/05ppH26ZH4DEEzZUKqO7zqqS+yl7sBTpR/Wh8xX09spQl+wBQTLWAz2z+MouBZnMQIYKjg==
dependencies:
"@abp/clipboard" "~8.2.0-rc.4"
"@abp/core" "~8.2.0-rc.4"
"@abp/clipboard" "~8.2.0-rc.5"
"@abp/core" "~8.2.0-rc.5"
prismjs "^1.26.0"
"@abp/select2@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-8.2.0-rc.4.tgz#085ec0f915099201b75cbb7b4bfe6826039f542d"
integrity sha512-DrRNVxB0UcRCBhYkkp9TTmu3SDwaJ6kR3WCH7zMZgjYx/K250ojcuIot98fzuecuT3Te3qiGxKwBIclr2Yt/aw==
"@abp/select2@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-8.2.0-rc.5.tgz#5fc1dfa4bb871961db0ce9eb68a2c655c38b32d0"
integrity sha512-fT5L+mgiEOBtf2mmXNv6GtXVNjv22qQlgWp1UjI7c0jLtNPHa7P8idVTaP3g6d8b7VCP5zxIUGgjf6sZMxhADg==
dependencies:
"@abp/core" "~8.2.0-rc.4"
"@abp/core" "~8.2.0-rc.5"
select2 "^4.0.13"
"@abp/sweetalert2@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-8.2.0-rc.4.tgz#6866295a91602167cf314f1eb3bc315825cc0cb3"
integrity sha512-3NdBP/4ZhkroWrCVyfHoc0PM6ZJD0IhqXkPO/bMDTjX8scilU85SkC2iAnReD6BoLF6ywriMpozHiU2Ax8aH2Q==
"@abp/sweetalert2@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-8.2.0-rc.5.tgz#502d6dbaf2c5296f67722e085e52dd0fe62e8dde"
integrity sha512-S0LTMU0a9SPdSA3ezEpo03ZGfrr7XtouEs0O5c4fA0kWYsddNkalighy3CYTgZZwaR9oWNnY6t4pyka3WXAaqg==
dependencies:
"@abp/core" "~8.2.0-rc.4"
"@abp/core" "~8.2.0-rc.5"
sweetalert2 "^11.3.6"
"@abp/timeago@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-8.2.0-rc.4.tgz#777793699f0271e81b3fe96d46066a30925ed298"
integrity sha512-TfxUi1gn0dPuWFYCwo+g3xh4kkCo1otbvoUQOvrHp6VuQdHbXtSz0kP8VBPGKtVtlRsNe91+gDkv7n8njwrQ9g==
"@abp/timeago@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-8.2.0-rc.5.tgz#8bd78f2ee6b27b8ffd77e75a2851b61013e481ee"
integrity sha512-eLG9WFtP1dOoYHaNxyV8gOx1xnKmqSTwgviTU45qUFSNsgQHH1n0bpBxUXSSvaFw5mWRbF3R/JJQHql+Dl6Cow==
dependencies:
"@abp/jquery" "~8.2.0-rc.4"
"@abp/jquery" "~8.2.0-rc.5"
timeago "^1.6.7"
"@abp/toastr@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-8.2.0-rc.4.tgz#5edfc10d6123219cc86286ed8b1249af5dbadfde"
integrity sha512-QDJXroe1Fp2VEWU0Yza/L+DU9R0ZDBw0RcopRcliwAm5RgsVVaaxHZ+jO7LLDfP8JQ6Pi0wTamhKwrfglnG7Ww==
"@abp/toastr@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-8.2.0-rc.5.tgz#baecda4e6fed5676f58de2228bf8d1c6ae66d49e"
integrity sha512-y7aOY1LF62yRwXRSrvimtqIilrsOgSAM8lHcp2RogZAFdmw7yU1R5a6fJlLDGeRBIgjdcIlSpaOuoi6T2hCjFw==
dependencies:
"@abp/jquery" "~8.2.0-rc.4"
"@abp/jquery" "~8.2.0-rc.5"
toastr "^2.1.4"
"@abp/utils@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-8.2.0-rc.4.tgz#be59dd4b5dfc085b88528639047699a9e5486e81"
integrity sha512-imIFmlP0gY+rXFbwufo8jMzcmEuz/6uKr/e8/bW4bOhPDD65go/3TTVkNLr0hzB9qSahZG/LGu2eDFTqlowlrg==
"@abp/utils@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-8.2.0-rc.5.tgz#526d64aa3e059d2f6e595b22e35dda2d652377e4"
integrity sha512-ZU7jHFpDh7jDYgCrX6aXqy/v4LrMGgYJN+siyWUMpVddg2lTTO2MsxI+KmSxJwD7H01Mqj1sZ+LBAOVxGR3hsw==
dependencies:
just-compare "^2.3.0"

4
modules/basic-theme/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": "~8.2.0-rc.4",
"@abp/prismjs": "~8.2.0-rc.4"
"@abp/aspnetcore.mvc.ui.theme.basic": "~8.2.0-rc.5",
"@abp/prismjs": "~8.2.0-rc.5"
},
"devDependencies": {}
}

280
modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/yarn.lock

@ -2,211 +2,211 @@
# yarn lockfile v1
"@abp/aspnetcore.mvc.ui.theme.basic@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-8.2.0-rc.4.tgz#dc9e9e6541694531726127e2e387156a24dd7f9e"
integrity sha512-Ixs3yr5fHkB1h8PuuJdPiY0uDf+Dq9jUdbaHsoJmaYRdOSqhLDpNkyAqFFrqDmoEmZvmrThCupt5ZSg9laQ8yw==
dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~8.2.0-rc.4"
"@abp/aspnetcore.mvc.ui.theme.shared@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-8.2.0-rc.4.tgz#2b1468bf05fc505d11d5c0253a782a328088d283"
integrity sha512-QveGyyMKAMnY48+AsUqkB/LnqtnTc3Fd5m1wLPNVF+P0j6CaaETmfJNc0xw+WYF14r+NC8K4PeC58z3SYMGlLw==
dependencies:
"@abp/aspnetcore.mvc.ui" "~8.2.0-rc.4"
"@abp/bootstrap" "~8.2.0-rc.4"
"@abp/bootstrap-datepicker" "~8.2.0-rc.4"
"@abp/bootstrap-daterangepicker" "~8.2.0-rc.4"
"@abp/datatables.net-bs5" "~8.2.0-rc.4"
"@abp/font-awesome" "~8.2.0-rc.4"
"@abp/jquery-form" "~8.2.0-rc.4"
"@abp/jquery-validation-unobtrusive" "~8.2.0-rc.4"
"@abp/lodash" "~8.2.0-rc.4"
"@abp/luxon" "~8.2.0-rc.4"
"@abp/malihu-custom-scrollbar-plugin" "~8.2.0-rc.4"
"@abp/moment" "~8.2.0-rc.4"
"@abp/select2" "~8.2.0-rc.4"
"@abp/sweetalert2" "~8.2.0-rc.4"
"@abp/timeago" "~8.2.0-rc.4"
"@abp/toastr" "~8.2.0-rc.4"
"@abp/aspnetcore.mvc.ui@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-8.2.0-rc.4.tgz#5e4613f506a02d45d7adcee1060032774e635fe5"
integrity sha512-rr3BE6RhimlHcNv0HKT3xIi/+6Sq5TSqRDvmiFqa7bvxemKMstHiEa2lxpx5XP9CPpV9gNzjC/NV+TQy4YDIqg==
"@abp/aspnetcore.mvc.ui.theme.basic@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-8.2.0-rc.5.tgz#5cc3231d27e9e12e6fdc3e4fc5eb3e6f2019cf13"
integrity sha512-SKr5Zm6k2SxrRBW2gqJAsTag4KacVzuVG3sTCD5P5BZLYn5OvknwSeky4tg/wzCodWp20wf89hWyET4E0iKExg==
dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~8.2.0-rc.5"
"@abp/aspnetcore.mvc.ui.theme.shared@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-8.2.0-rc.5.tgz#97b86ea4daf4392a1067e2a7e7c03b4c381ccc82"
integrity sha512-lR3XbbNct+8QH1dRhED5s/CHCgkANVyNBrWCQbo4BwBFJ27d3wuJDVt39VxQUsgNfxEmyoJdVZNDRUKDv6fTOw==
dependencies:
"@abp/aspnetcore.mvc.ui" "~8.2.0-rc.5"
"@abp/bootstrap" "~8.2.0-rc.5"
"@abp/bootstrap-datepicker" "~8.2.0-rc.5"
"@abp/bootstrap-daterangepicker" "~8.2.0-rc.5"
"@abp/datatables.net-bs5" "~8.2.0-rc.5"
"@abp/font-awesome" "~8.2.0-rc.5"
"@abp/jquery-form" "~8.2.0-rc.5"
"@abp/jquery-validation-unobtrusive" "~8.2.0-rc.5"
"@abp/lodash" "~8.2.0-rc.5"
"@abp/luxon" "~8.2.0-rc.5"
"@abp/malihu-custom-scrollbar-plugin" "~8.2.0-rc.5"
"@abp/moment" "~8.2.0-rc.5"
"@abp/select2" "~8.2.0-rc.5"
"@abp/sweetalert2" "~8.2.0-rc.5"
"@abp/timeago" "~8.2.0-rc.5"
"@abp/toastr" "~8.2.0-rc.5"
"@abp/aspnetcore.mvc.ui@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-8.2.0-rc.5.tgz#4a845ebd4b6465b9ac04641d7479b449ca9e1c5f"
integrity sha512-l3brGHAD2jnlAWwITGNAY5zOtmc0WItVabYCTvKrYyNuKIPEtW9getUNFp9BFMT9x0KZiGnkkrRkvxH+DzIcug==
dependencies:
ansi-colors "^4.1.1"
"@abp/bootstrap-datepicker@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-8.2.0-rc.4.tgz#7f6b7b0da2c8fd46dc08b1976c57b80b65069246"
integrity sha512-+Ylw8PFuAmpza714vQPjfU/lCOS2NsUX2cGp12Yyy4fS36udPCa/HYWTVdpH36OGae1dV/GzrfgnlZsCvUNhBA==
"@abp/bootstrap-datepicker@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-8.2.0-rc.5.tgz#0e8755a51d7a691837951f7a071a9e59a2e9e6cf"
integrity sha512-bLt8l6kYbVblThd2iuXcp6Ydss8TefpnZXHyXrQCxZGmVb79I/vf48CekJo1OWY/WcyEi/bm0m4LEI8Q0Y/LZQ==
dependencies:
bootstrap-datepicker "^1.9.0"
"@abp/bootstrap-daterangepicker@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-8.2.0-rc.4.tgz#579e8a4fd9d235385514da3f2ca73283294a78e3"
integrity sha512-KIinwEwkCzlYd7gDJt3htgflfrdWnyW4fr/V6GVi2EGxK6UA5HWMRG8MkvUKXmJ4rCHfEUdpWeGBXLbPR8R4eQ==
"@abp/bootstrap-daterangepicker@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-8.2.0-rc.5.tgz#e37792f24c3c8a8643e5ba5744967505e54f836c"
integrity sha512-dN02S1g9sVgACMz+A5FJw0uz4u5lXTFd/7xjE+cmhj0p5AcGvDD3gTbes6d3QNKiwvsPge063lG9pisdn3uEjg==
dependencies:
bootstrap-daterangepicker "^3.1.0"
"@abp/bootstrap@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-8.2.0-rc.4.tgz#dc08a0db67a2a652c03087d299da1abfab677ebf"
integrity sha512-wwZQk2XU6puEzBJ7W+80Oh/8z6n+DNc2YJnCnJNPbURgclMsN4v3/WJ2iKlO4g0fOkepvlgYkbYWPf+pusxSCQ==
"@abp/bootstrap@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-8.2.0-rc.5.tgz#1acc191f8156d81e1794bc161bfb394ae8f7372e"
integrity sha512-FacgSrDlS3QSR+5WdOy06Qw0qF7OoqoBwAGqro2WOfY5sFR5OwEiqXHXUF95+a/q9B9NuYKXBjBfOPhljdiuuA==
dependencies:
"@abp/core" "~8.2.0-rc.4"
"@abp/core" "~8.2.0-rc.5"
bootstrap "^5.1.3"
"@abp/clipboard@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-8.2.0-rc.4.tgz#c3d20d642765dc235749d4f95f599cb97f23325d"
integrity sha512-w94YGLT/UVn1haLGlH8zOcgrCS64OrnVlzh3QXps+8m4S9g7KDeVk3g4ju/VUao2YKCHmRJ3uRhOGCb58of1iw==
"@abp/clipboard@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-8.2.0-rc.5.tgz#5cec3d9c89bdad8d50f41807b3be68d4cdecb003"
integrity sha512-cBaMy8A1CIU00X6SoGyuMTVf6z9iyEaR6smVRWCVmkf2VayAHFES981+iE+VmT2bezgbCidA2GXtkBZ/kunbJg==
dependencies:
"@abp/core" "~8.2.0-rc.4"
"@abp/core" "~8.2.0-rc.5"
clipboard "^2.0.8"
"@abp/core@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-8.2.0-rc.4.tgz#bf6b343ab43468ca88cdb4697caf25d65aa2c269"
integrity sha512-rGUDzLIiUJZ+7ZgzOGXxzc4k//9EBjVY4P4kO0XKCOEv08YwsUJmTzddsiMHZLIqRJ2wdT1UiH7PrcolBiW1UQ==
"@abp/core@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-8.2.0-rc.5.tgz#67eb75df046f8997f6af14e86bf8dbf249388a8d"
integrity sha512-XVunQMbK/MApkfnpL+8WsVqsJxARBl6W0TZwKfPyfm1QzPWE75P4oW3CIdNis0+Ob5HfhSFFp78tVrbSoEdzYQ==
dependencies:
"@abp/utils" "~8.2.0-rc.4"
"@abp/utils" "~8.2.0-rc.5"
"@abp/datatables.net-bs5@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-8.2.0-rc.4.tgz#869021a6639d765abb645a5de7501881b67e7095"
integrity sha512-CdYfn4qhB/KdTYfOrAsUSPtw8AGAbZHOTc4EyWAmxDKFCFyakj27+uoV/Stgs25nCaAXn1JHysfOxoNkP1ikyg==
"@abp/datatables.net-bs5@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-8.2.0-rc.5.tgz#fe04af4b14530545a05c4c58361aadfdddd8e8c2"
integrity sha512-yZKC111JVxcOkDz/WxJyQ0lw3JpbBBWr21LVNjyhEiN62w8tJN1Gwo7CjL+7WFm7RPnAUUf/qwitRWmWl7M4YA==
dependencies:
"@abp/datatables.net" "~8.2.0-rc.4"
"@abp/datatables.net" "~8.2.0-rc.5"
datatables.net-bs5 "^1.11.4"
"@abp/datatables.net@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-8.2.0-rc.4.tgz#4f0e612a11813f38331aae221c342efc4443138d"
integrity sha512-omEYXlB/OzUGmvTy7k7rhZjWtXILpl7idLwV1yXzJUkdjLjaBzIgrbWj/80YAI5K7MdpKE0/pdPnORX6G5ij9Q==
"@abp/datatables.net@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-8.2.0-rc.5.tgz#94e4b933750332732eeef02119a6cdfca67811e7"
integrity sha512-IAXbC29eiHvA3unVMsFh2sNfiw+Jlgah0D++IUKOlz1eAzHMrpwP5KE4jmF6GESF7Al95NkgqH7cd6MUst+UlA==
dependencies:
"@abp/jquery" "~8.2.0-rc.4"
"@abp/jquery" "~8.2.0-rc.5"
datatables.net "^1.11.4"
"@abp/font-awesome@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-8.2.0-rc.4.tgz#5c977e54c428e80af2a93166e968ec7635b0694d"
integrity sha512-zyQwZhhOgKi6JLWbkI+iycwS1lcCx/tvn+AskQSdV2+ycnrcjm9TMWmWosAGwS6VW9demRamuegUNOgiVpy/SA==
"@abp/font-awesome@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-8.2.0-rc.5.tgz#5ae19305a373a6dd083944bd825ccea84aadf40b"
integrity sha512-VbcM80e9KrZzY6TJ9l/eW42CTpdQ0eBr5gOEW+/UWGTRalCLdGve9YVJZJA55bD1VtcgaR1sV342jw2B1XeN8w==
dependencies:
"@abp/core" "~8.2.0-rc.4"
"@abp/core" "~8.2.0-rc.5"
"@fortawesome/fontawesome-free" "^6.5.1"
"@abp/jquery-form@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-8.2.0-rc.4.tgz#3ef39f9f716ff17b34d61eeb3c234ed3867b91da"
integrity sha512-nD5c2g4aPlDSggoR2lJ0Zd9Jg/2yrpVKnJqNuvx7DIdxPIZed2LL5ONaOtO8pLTsKqh5ua1UsqgsyfJ/mb9T1w==
"@abp/jquery-form@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-8.2.0-rc.5.tgz#b955fe2c226f1f35a3736aa3b2170f265a797552"
integrity sha512-M9fUUYywljudem/K7aYlcIG2W+KTzUJPviSeOLo5KNxvVrScWr+Jf4M8Nbj6uWX1saYWmm5kYnfsDs+nOUcmDg==
dependencies:
"@abp/jquery" "~8.2.0-rc.4"
"@abp/jquery" "~8.2.0-rc.5"
jquery-form "^4.3.0"
"@abp/jquery-validation-unobtrusive@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-8.2.0-rc.4.tgz#5124068f01db8c0e4365594fefb236f91bd60e8d"
integrity sha512-JKtZoeSSbSGbTl28ZEHvqCvC2cCX3aOV7PHKhpIzQSfVK22Uo3swsc2bv3sH2HdxNi3jWAGcd7YUG093STMm3Q==
"@abp/jquery-validation-unobtrusive@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-8.2.0-rc.5.tgz#c790dc1b707ee7d24fe99c2b7be6bc558af09667"
integrity sha512-sUkfb17cR2zM669U83R8dviv+p+uGNl5nmOV0AP4ch6CzLfnTOYzKsqV7ESGVxqB8oVHO/Wnr8sXaaLdsoQzJw==
dependencies:
"@abp/jquery-validation" "~8.2.0-rc.4"
"@abp/jquery-validation" "~8.2.0-rc.5"
jquery-validation-unobtrusive "^3.2.12"
"@abp/jquery-validation@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-8.2.0-rc.4.tgz#95540b7a6ef1f27b511e42b03cdf0c1c364ce8df"
integrity sha512-fN2ZJ0eCjQ5nu5fdwKx0cmGTWZyzltwrfhnI0JG27EsBP8EtyO8aWHZEFKgL+vXTy07LraTJD1KSpIIZSsrHVw==
"@abp/jquery-validation@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-8.2.0-rc.5.tgz#294254556e804d641d3bf4ea50d1c3eb42f191d1"
integrity sha512-C7sOuSShkX5Ba6LiSBGuxlrORcxiYczZtsxyjRZzNzATYwEBHcLqMxDvgAsWeWtvtkMotkbB2k99vD93nlGuCQ==
dependencies:
"@abp/jquery" "~8.2.0-rc.4"
"@abp/jquery" "~8.2.0-rc.5"
jquery-validation "^1.19.3"
"@abp/jquery@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-8.2.0-rc.4.tgz#327452ce3f49f6a9fe32a1934a6f347e2a0a309b"
integrity sha512-JYeQwpa671AyYf7sv+XgCaie2mOjWCDZYlFHEqH4whjTqT5SU8WwSkhux+/KLtBImSeQyTzyup7CuQYWBuk15w==
"@abp/jquery@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-8.2.0-rc.5.tgz#9b01156a80d8da6407abb6d51541cb89624cb906"
integrity sha512-KcRVhxEmUuJHd4JNBSeJV+3Ush4w9ambKxwPi3+q1fqdePekrLk9jKNud5HkP6JredBoESJ+TkeVFFQ5HnYPVg==
dependencies:
"@abp/core" "~8.2.0-rc.4"
"@abp/core" "~8.2.0-rc.5"
jquery "~3.6.0"
"@abp/lodash@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-8.2.0-rc.4.tgz#229be25a0e09f4e1b74b7e064113c3a1347d28c7"
integrity sha512-zhLlPlhrCZNngx2ns3reKG2Nmec8g2KWbN55Z1gx0XYqaymT/0zuzfkfPBdpuoyIqrXcPJL0aK21SH4Tu8LjUA==
"@abp/lodash@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-8.2.0-rc.5.tgz#b6fa8754258dd2db59b0df65fb9f7d90c8611af6"
integrity sha512-LvK03DSk9lDNGEFrjMdiaAkaH58ll+PIn663KJk0kVZvtNLy/egCOMCc6EBuE5DUsjwebLi6YZYzgRQRRKirgw==
dependencies:
"@abp/core" "~8.2.0-rc.4"
"@abp/core" "~8.2.0-rc.5"
lodash "^4.17.21"
"@abp/luxon@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-8.2.0-rc.4.tgz#fdb6c8d13be6ded1d531e2d66b532d0453597c01"
integrity sha512-3iat30cVfmymoW208PjCLlrKO6VTuU8lgk/Vg0XnaX/DbNldNhBUHHzEgC9TiHLUejBSd5cunz88rhFuODz14Q==
"@abp/luxon@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-8.2.0-rc.5.tgz#e4300d1deebab16432737c831cfae0025b7c5891"
integrity sha512-UdAToIlS0CwmavErMtd5dwyssKNPa6oqlHrll5h7T26nHDPEdXzSi9rP8RvwqBkrt+BFPMctRSv6DYk8OwoWzA==
dependencies:
"@abp/core" "~8.2.0-rc.4"
"@abp/core" "~8.2.0-rc.5"
luxon "^2.3.0"
"@abp/malihu-custom-scrollbar-plugin@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-8.2.0-rc.4.tgz#1eb1621edd8559b43734590f123c331a360a2d93"
integrity sha512-OoqjoW1e5U/J77zr6A5DPyWha/b4UeTWaAXtl8xigJmhcDhvKe0jfvE33iHgZupFWiGu354mICNT+rQ1S2wMyA==
"@abp/malihu-custom-scrollbar-plugin@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-8.2.0-rc.5.tgz#8f39683e55fbc5487de08b9209a552cf32ea8087"
integrity sha512-e20kLUvnu6tD5GBjzGLQjTMeyeco4q5wO4H4mMuahJpCHue+EUrL0tT1IbWiE+eEmbePw/lAn7Yfhfwjq/+Eeg==
dependencies:
"@abp/core" "~8.2.0-rc.4"
"@abp/core" "~8.2.0-rc.5"
malihu-custom-scrollbar-plugin "^3.1.5"
"@abp/moment@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-8.2.0-rc.4.tgz#97eef0f868ad95057493e97f386c791871c063c3"
integrity sha512-q06AsfUbut7Rxgp0JMlN0dvP7C1QRMfPNO+95ZXEEnqDDlajqaIt4X/7l1gb/Iz+7yc5XVT7FJdmT+bR22etGA==
"@abp/moment@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-8.2.0-rc.5.tgz#e38c7e66ee383a986c7972f4ba2b19d79a43f60e"
integrity sha512-F//4TZySaFBTfWgBxzwTFLeStrS0nklmKcTMU+MOtb/7Zx3QtscJpNm4CmxiBpB8pLwK8xiJQGoiuMQdoTuq+g==
dependencies:
moment "^2.9.0"
"@abp/prismjs@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-8.2.0-rc.4.tgz#f6df729333d4dc934c3978c29e62dddf6a22c19a"
integrity sha512-+fLF7ndhgV9v3zcWFoNSR0kPasIcagJC6FT90ALWs2XccBtjAYOm9/365DK5lyDUh0ynHx9fBgDdCdIX0Zv9RA==
"@abp/prismjs@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-8.2.0-rc.5.tgz#7a7428bb2f118cef5121a196bc45cc5d1a5a8e93"
integrity sha512-lNPqRvisf8jAxyL/05ppH26ZH4DEEzZUKqO7zqqS+yl7sBTpR/Wh8xX09spQl+wBQTLWAz2z+MouBZnMQIYKjg==
dependencies:
"@abp/clipboard" "~8.2.0-rc.4"
"@abp/core" "~8.2.0-rc.4"
"@abp/clipboard" "~8.2.0-rc.5"
"@abp/core" "~8.2.0-rc.5"
prismjs "^1.26.0"
"@abp/select2@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-8.2.0-rc.4.tgz#085ec0f915099201b75cbb7b4bfe6826039f542d"
integrity sha512-DrRNVxB0UcRCBhYkkp9TTmu3SDwaJ6kR3WCH7zMZgjYx/K250ojcuIot98fzuecuT3Te3qiGxKwBIclr2Yt/aw==
"@abp/select2@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-8.2.0-rc.5.tgz#5fc1dfa4bb871961db0ce9eb68a2c655c38b32d0"
integrity sha512-fT5L+mgiEOBtf2mmXNv6GtXVNjv22qQlgWp1UjI7c0jLtNPHa7P8idVTaP3g6d8b7VCP5zxIUGgjf6sZMxhADg==
dependencies:
"@abp/core" "~8.2.0-rc.4"
"@abp/core" "~8.2.0-rc.5"
select2 "^4.0.13"
"@abp/sweetalert2@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-8.2.0-rc.4.tgz#6866295a91602167cf314f1eb3bc315825cc0cb3"
integrity sha512-3NdBP/4ZhkroWrCVyfHoc0PM6ZJD0IhqXkPO/bMDTjX8scilU85SkC2iAnReD6BoLF6ywriMpozHiU2Ax8aH2Q==
"@abp/sweetalert2@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-8.2.0-rc.5.tgz#502d6dbaf2c5296f67722e085e52dd0fe62e8dde"
integrity sha512-S0LTMU0a9SPdSA3ezEpo03ZGfrr7XtouEs0O5c4fA0kWYsddNkalighy3CYTgZZwaR9oWNnY6t4pyka3WXAaqg==
dependencies:
"@abp/core" "~8.2.0-rc.4"
"@abp/core" "~8.2.0-rc.5"
sweetalert2 "^11.3.6"
"@abp/timeago@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-8.2.0-rc.4.tgz#777793699f0271e81b3fe96d46066a30925ed298"
integrity sha512-TfxUi1gn0dPuWFYCwo+g3xh4kkCo1otbvoUQOvrHp6VuQdHbXtSz0kP8VBPGKtVtlRsNe91+gDkv7n8njwrQ9g==
"@abp/timeago@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-8.2.0-rc.5.tgz#8bd78f2ee6b27b8ffd77e75a2851b61013e481ee"
integrity sha512-eLG9WFtP1dOoYHaNxyV8gOx1xnKmqSTwgviTU45qUFSNsgQHH1n0bpBxUXSSvaFw5mWRbF3R/JJQHql+Dl6Cow==
dependencies:
"@abp/jquery" "~8.2.0-rc.4"
"@abp/jquery" "~8.2.0-rc.5"
timeago "^1.6.7"
"@abp/toastr@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-8.2.0-rc.4.tgz#5edfc10d6123219cc86286ed8b1249af5dbadfde"
integrity sha512-QDJXroe1Fp2VEWU0Yza/L+DU9R0ZDBw0RcopRcliwAm5RgsVVaaxHZ+jO7LLDfP8JQ6Pi0wTamhKwrfglnG7Ww==
"@abp/toastr@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-8.2.0-rc.5.tgz#baecda4e6fed5676f58de2228bf8d1c6ae66d49e"
integrity sha512-y7aOY1LF62yRwXRSrvimtqIilrsOgSAM8lHcp2RogZAFdmw7yU1R5a6fJlLDGeRBIgjdcIlSpaOuoi6T2hCjFw==
dependencies:
"@abp/jquery" "~8.2.0-rc.4"
"@abp/jquery" "~8.2.0-rc.5"
toastr "^2.1.4"
"@abp/utils@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-8.2.0-rc.4.tgz#be59dd4b5dfc085b88528639047699a9e5486e81"
integrity sha512-imIFmlP0gY+rXFbwufo8jMzcmEuz/6uKr/e8/bW4bOhPDD65go/3TTVkNLr0hzB9qSahZG/LGu2eDFTqlowlrg==
"@abp/utils@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-8.2.0-rc.5.tgz#526d64aa3e059d2f6e595b22e35dda2d652377e4"
integrity sha512-ZU7jHFpDh7jDYgCrX6aXqy/v4LrMGgYJN+siyWUMpVddg2lTTO2MsxI+KmSxJwD7H01Mqj1sZ+LBAOVxGR3hsw==
dependencies:
just-compare "^2.3.0"

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

@ -3,7 +3,7 @@
"name": "volo.blogtestapp",
"private": true,
"dependencies": {
"@abp/aspnetcore.mvc.ui.theme.basic": "~8.2.0-rc.4",
"@abp/blogging": "~8.2.0-rc.4"
"@abp/aspnetcore.mvc.ui.theme.basic": "~8.2.0-rc.5",
"@abp/blogging": "~8.2.0-rc.5"
}
}

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

@ -2,237 +2,237 @@
# yarn lockfile v1
"@abp/aspnetcore.mvc.ui.theme.basic@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-8.2.0-rc.4.tgz#dc9e9e6541694531726127e2e387156a24dd7f9e"
integrity sha512-Ixs3yr5fHkB1h8PuuJdPiY0uDf+Dq9jUdbaHsoJmaYRdOSqhLDpNkyAqFFrqDmoEmZvmrThCupt5ZSg9laQ8yw==
dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~8.2.0-rc.4"
"@abp/aspnetcore.mvc.ui.theme.shared@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-8.2.0-rc.4.tgz#2b1468bf05fc505d11d5c0253a782a328088d283"
integrity sha512-QveGyyMKAMnY48+AsUqkB/LnqtnTc3Fd5m1wLPNVF+P0j6CaaETmfJNc0xw+WYF14r+NC8K4PeC58z3SYMGlLw==
dependencies:
"@abp/aspnetcore.mvc.ui" "~8.2.0-rc.4"
"@abp/bootstrap" "~8.2.0-rc.4"
"@abp/bootstrap-datepicker" "~8.2.0-rc.4"
"@abp/bootstrap-daterangepicker" "~8.2.0-rc.4"
"@abp/datatables.net-bs5" "~8.2.0-rc.4"
"@abp/font-awesome" "~8.2.0-rc.4"
"@abp/jquery-form" "~8.2.0-rc.4"
"@abp/jquery-validation-unobtrusive" "~8.2.0-rc.4"
"@abp/lodash" "~8.2.0-rc.4"
"@abp/luxon" "~8.2.0-rc.4"
"@abp/malihu-custom-scrollbar-plugin" "~8.2.0-rc.4"
"@abp/moment" "~8.2.0-rc.4"
"@abp/select2" "~8.2.0-rc.4"
"@abp/sweetalert2" "~8.2.0-rc.4"
"@abp/timeago" "~8.2.0-rc.4"
"@abp/toastr" "~8.2.0-rc.4"
"@abp/aspnetcore.mvc.ui@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-8.2.0-rc.4.tgz#5e4613f506a02d45d7adcee1060032774e635fe5"
integrity sha512-rr3BE6RhimlHcNv0HKT3xIi/+6Sq5TSqRDvmiFqa7bvxemKMstHiEa2lxpx5XP9CPpV9gNzjC/NV+TQy4YDIqg==
"@abp/aspnetcore.mvc.ui.theme.basic@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-8.2.0-rc.5.tgz#5cc3231d27e9e12e6fdc3e4fc5eb3e6f2019cf13"
integrity sha512-SKr5Zm6k2SxrRBW2gqJAsTag4KacVzuVG3sTCD5P5BZLYn5OvknwSeky4tg/wzCodWp20wf89hWyET4E0iKExg==
dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~8.2.0-rc.5"
"@abp/aspnetcore.mvc.ui.theme.shared@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-8.2.0-rc.5.tgz#97b86ea4daf4392a1067e2a7e7c03b4c381ccc82"
integrity sha512-lR3XbbNct+8QH1dRhED5s/CHCgkANVyNBrWCQbo4BwBFJ27d3wuJDVt39VxQUsgNfxEmyoJdVZNDRUKDv6fTOw==
dependencies:
"@abp/aspnetcore.mvc.ui" "~8.2.0-rc.5"
"@abp/bootstrap" "~8.2.0-rc.5"
"@abp/bootstrap-datepicker" "~8.2.0-rc.5"
"@abp/bootstrap-daterangepicker" "~8.2.0-rc.5"
"@abp/datatables.net-bs5" "~8.2.0-rc.5"
"@abp/font-awesome" "~8.2.0-rc.5"
"@abp/jquery-form" "~8.2.0-rc.5"
"@abp/jquery-validation-unobtrusive" "~8.2.0-rc.5"
"@abp/lodash" "~8.2.0-rc.5"
"@abp/luxon" "~8.2.0-rc.5"
"@abp/malihu-custom-scrollbar-plugin" "~8.2.0-rc.5"
"@abp/moment" "~8.2.0-rc.5"
"@abp/select2" "~8.2.0-rc.5"
"@abp/sweetalert2" "~8.2.0-rc.5"
"@abp/timeago" "~8.2.0-rc.5"
"@abp/toastr" "~8.2.0-rc.5"
"@abp/aspnetcore.mvc.ui@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-8.2.0-rc.5.tgz#4a845ebd4b6465b9ac04641d7479b449ca9e1c5f"
integrity sha512-l3brGHAD2jnlAWwITGNAY5zOtmc0WItVabYCTvKrYyNuKIPEtW9getUNFp9BFMT9x0KZiGnkkrRkvxH+DzIcug==
dependencies:
ansi-colors "^4.1.1"
"@abp/blogging@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/blogging/-/blogging-8.2.0-rc.4.tgz#3d33c0e17411307f2fad9b84763bae2b29b903f2"
integrity sha512-uzhuHLk4GceYEnc2auIMC79gsncVplTCA2RbYCKs1aKC45/FYhOjpOke5fBsYiRrvvK5ZYVkDLKb/GvXxTnX0w==
"@abp/blogging@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/blogging/-/blogging-8.2.0-rc.5.tgz#821d5b01862d896591892e97e435adadcda07108"
integrity sha512-l6tbuaAkFTLv8BMcLFMLUE4ioYyuUmQecmnadDTE47DxZskIasyk7gvbpx8qDYwXr5IHAXgA7A7tTZX5K+tJAw==
dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~8.2.0-rc.4"
"@abp/owl.carousel" "~8.2.0-rc.4"
"@abp/prismjs" "~8.2.0-rc.4"
"@abp/tui-editor" "~8.2.0-rc.4"
"@abp/aspnetcore.mvc.ui.theme.shared" "~8.2.0-rc.5"
"@abp/owl.carousel" "~8.2.0-rc.5"
"@abp/prismjs" "~8.2.0-rc.5"
"@abp/tui-editor" "~8.2.0-rc.5"
"@abp/bootstrap-datepicker@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-8.2.0-rc.4.tgz#7f6b7b0da2c8fd46dc08b1976c57b80b65069246"
integrity sha512-+Ylw8PFuAmpza714vQPjfU/lCOS2NsUX2cGp12Yyy4fS36udPCa/HYWTVdpH36OGae1dV/GzrfgnlZsCvUNhBA==
"@abp/bootstrap-datepicker@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-8.2.0-rc.5.tgz#0e8755a51d7a691837951f7a071a9e59a2e9e6cf"
integrity sha512-bLt8l6kYbVblThd2iuXcp6Ydss8TefpnZXHyXrQCxZGmVb79I/vf48CekJo1OWY/WcyEi/bm0m4LEI8Q0Y/LZQ==
dependencies:
bootstrap-datepicker "^1.9.0"
"@abp/bootstrap-daterangepicker@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-8.2.0-rc.4.tgz#579e8a4fd9d235385514da3f2ca73283294a78e3"
integrity sha512-KIinwEwkCzlYd7gDJt3htgflfrdWnyW4fr/V6GVi2EGxK6UA5HWMRG8MkvUKXmJ4rCHfEUdpWeGBXLbPR8R4eQ==
"@abp/bootstrap-daterangepicker@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-8.2.0-rc.5.tgz#e37792f24c3c8a8643e5ba5744967505e54f836c"
integrity sha512-dN02S1g9sVgACMz+A5FJw0uz4u5lXTFd/7xjE+cmhj0p5AcGvDD3gTbes6d3QNKiwvsPge063lG9pisdn3uEjg==
dependencies:
bootstrap-daterangepicker "^3.1.0"
"@abp/bootstrap@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-8.2.0-rc.4.tgz#dc08a0db67a2a652c03087d299da1abfab677ebf"
integrity sha512-wwZQk2XU6puEzBJ7W+80Oh/8z6n+DNc2YJnCnJNPbURgclMsN4v3/WJ2iKlO4g0fOkepvlgYkbYWPf+pusxSCQ==
"@abp/bootstrap@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-8.2.0-rc.5.tgz#1acc191f8156d81e1794bc161bfb394ae8f7372e"
integrity sha512-FacgSrDlS3QSR+5WdOy06Qw0qF7OoqoBwAGqro2WOfY5sFR5OwEiqXHXUF95+a/q9B9NuYKXBjBfOPhljdiuuA==
dependencies:
"@abp/core" "~8.2.0-rc.4"
"@abp/core" "~8.2.0-rc.5"
bootstrap "^5.1.3"
"@abp/clipboard@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-8.2.0-rc.4.tgz#c3d20d642765dc235749d4f95f599cb97f23325d"
integrity sha512-w94YGLT/UVn1haLGlH8zOcgrCS64OrnVlzh3QXps+8m4S9g7KDeVk3g4ju/VUao2YKCHmRJ3uRhOGCb58of1iw==
"@abp/clipboard@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-8.2.0-rc.5.tgz#5cec3d9c89bdad8d50f41807b3be68d4cdecb003"
integrity sha512-cBaMy8A1CIU00X6SoGyuMTVf6z9iyEaR6smVRWCVmkf2VayAHFES981+iE+VmT2bezgbCidA2GXtkBZ/kunbJg==
dependencies:
"@abp/core" "~8.2.0-rc.4"
"@abp/core" "~8.2.0-rc.5"
clipboard "^2.0.8"
"@abp/core@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-8.2.0-rc.4.tgz#bf6b343ab43468ca88cdb4697caf25d65aa2c269"
integrity sha512-rGUDzLIiUJZ+7ZgzOGXxzc4k//9EBjVY4P4kO0XKCOEv08YwsUJmTzddsiMHZLIqRJ2wdT1UiH7PrcolBiW1UQ==
"@abp/core@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-8.2.0-rc.5.tgz#67eb75df046f8997f6af14e86bf8dbf249388a8d"
integrity sha512-XVunQMbK/MApkfnpL+8WsVqsJxARBl6W0TZwKfPyfm1QzPWE75P4oW3CIdNis0+Ob5HfhSFFp78tVrbSoEdzYQ==
dependencies:
"@abp/utils" "~8.2.0-rc.4"
"@abp/utils" "~8.2.0-rc.5"
"@abp/datatables.net-bs5@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-8.2.0-rc.4.tgz#869021a6639d765abb645a5de7501881b67e7095"
integrity sha512-CdYfn4qhB/KdTYfOrAsUSPtw8AGAbZHOTc4EyWAmxDKFCFyakj27+uoV/Stgs25nCaAXn1JHysfOxoNkP1ikyg==
"@abp/datatables.net-bs5@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-8.2.0-rc.5.tgz#fe04af4b14530545a05c4c58361aadfdddd8e8c2"
integrity sha512-yZKC111JVxcOkDz/WxJyQ0lw3JpbBBWr21LVNjyhEiN62w8tJN1Gwo7CjL+7WFm7RPnAUUf/qwitRWmWl7M4YA==
dependencies:
"@abp/datatables.net" "~8.2.0-rc.4"
"@abp/datatables.net" "~8.2.0-rc.5"
datatables.net-bs5 "^1.11.4"
"@abp/datatables.net@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-8.2.0-rc.4.tgz#4f0e612a11813f38331aae221c342efc4443138d"
integrity sha512-omEYXlB/OzUGmvTy7k7rhZjWtXILpl7idLwV1yXzJUkdjLjaBzIgrbWj/80YAI5K7MdpKE0/pdPnORX6G5ij9Q==
"@abp/datatables.net@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-8.2.0-rc.5.tgz#94e4b933750332732eeef02119a6cdfca67811e7"
integrity sha512-IAXbC29eiHvA3unVMsFh2sNfiw+Jlgah0D++IUKOlz1eAzHMrpwP5KE4jmF6GESF7Al95NkgqH7cd6MUst+UlA==
dependencies:
"@abp/jquery" "~8.2.0-rc.4"
"@abp/jquery" "~8.2.0-rc.5"
datatables.net "^1.11.4"
"@abp/font-awesome@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-8.2.0-rc.4.tgz#5c977e54c428e80af2a93166e968ec7635b0694d"
integrity sha512-zyQwZhhOgKi6JLWbkI+iycwS1lcCx/tvn+AskQSdV2+ycnrcjm9TMWmWosAGwS6VW9demRamuegUNOgiVpy/SA==
"@abp/font-awesome@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-8.2.0-rc.5.tgz#5ae19305a373a6dd083944bd825ccea84aadf40b"
integrity sha512-VbcM80e9KrZzY6TJ9l/eW42CTpdQ0eBr5gOEW+/UWGTRalCLdGve9YVJZJA55bD1VtcgaR1sV342jw2B1XeN8w==
dependencies:
"@abp/core" "~8.2.0-rc.4"
"@abp/core" "~8.2.0-rc.5"
"@fortawesome/fontawesome-free" "^6.5.1"
"@abp/jquery-form@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-8.2.0-rc.4.tgz#3ef39f9f716ff17b34d61eeb3c234ed3867b91da"
integrity sha512-nD5c2g4aPlDSggoR2lJ0Zd9Jg/2yrpVKnJqNuvx7DIdxPIZed2LL5ONaOtO8pLTsKqh5ua1UsqgsyfJ/mb9T1w==
"@abp/jquery-form@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-8.2.0-rc.5.tgz#b955fe2c226f1f35a3736aa3b2170f265a797552"
integrity sha512-M9fUUYywljudem/K7aYlcIG2W+KTzUJPviSeOLo5KNxvVrScWr+Jf4M8Nbj6uWX1saYWmm5kYnfsDs+nOUcmDg==
dependencies:
"@abp/jquery" "~8.2.0-rc.4"
"@abp/jquery" "~8.2.0-rc.5"
jquery-form "^4.3.0"
"@abp/jquery-validation-unobtrusive@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-8.2.0-rc.4.tgz#5124068f01db8c0e4365594fefb236f91bd60e8d"
integrity sha512-JKtZoeSSbSGbTl28ZEHvqCvC2cCX3aOV7PHKhpIzQSfVK22Uo3swsc2bv3sH2HdxNi3jWAGcd7YUG093STMm3Q==
"@abp/jquery-validation-unobtrusive@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-8.2.0-rc.5.tgz#c790dc1b707ee7d24fe99c2b7be6bc558af09667"
integrity sha512-sUkfb17cR2zM669U83R8dviv+p+uGNl5nmOV0AP4ch6CzLfnTOYzKsqV7ESGVxqB8oVHO/Wnr8sXaaLdsoQzJw==
dependencies:
"@abp/jquery-validation" "~8.2.0-rc.4"
"@abp/jquery-validation" "~8.2.0-rc.5"
jquery-validation-unobtrusive "^3.2.12"
"@abp/jquery-validation@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-8.2.0-rc.4.tgz#95540b7a6ef1f27b511e42b03cdf0c1c364ce8df"
integrity sha512-fN2ZJ0eCjQ5nu5fdwKx0cmGTWZyzltwrfhnI0JG27EsBP8EtyO8aWHZEFKgL+vXTy07LraTJD1KSpIIZSsrHVw==
"@abp/jquery-validation@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-8.2.0-rc.5.tgz#294254556e804d641d3bf4ea50d1c3eb42f191d1"
integrity sha512-C7sOuSShkX5Ba6LiSBGuxlrORcxiYczZtsxyjRZzNzATYwEBHcLqMxDvgAsWeWtvtkMotkbB2k99vD93nlGuCQ==
dependencies:
"@abp/jquery" "~8.2.0-rc.4"
"@abp/jquery" "~8.2.0-rc.5"
jquery-validation "^1.19.3"
"@abp/jquery@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-8.2.0-rc.4.tgz#327452ce3f49f6a9fe32a1934a6f347e2a0a309b"
integrity sha512-JYeQwpa671AyYf7sv+XgCaie2mOjWCDZYlFHEqH4whjTqT5SU8WwSkhux+/KLtBImSeQyTzyup7CuQYWBuk15w==
"@abp/jquery@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-8.2.0-rc.5.tgz#9b01156a80d8da6407abb6d51541cb89624cb906"
integrity sha512-KcRVhxEmUuJHd4JNBSeJV+3Ush4w9ambKxwPi3+q1fqdePekrLk9jKNud5HkP6JredBoESJ+TkeVFFQ5HnYPVg==
dependencies:
"@abp/core" "~8.2.0-rc.4"
"@abp/core" "~8.2.0-rc.5"
jquery "~3.6.0"
"@abp/lodash@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-8.2.0-rc.4.tgz#229be25a0e09f4e1b74b7e064113c3a1347d28c7"
integrity sha512-zhLlPlhrCZNngx2ns3reKG2Nmec8g2KWbN55Z1gx0XYqaymT/0zuzfkfPBdpuoyIqrXcPJL0aK21SH4Tu8LjUA==
"@abp/lodash@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-8.2.0-rc.5.tgz#b6fa8754258dd2db59b0df65fb9f7d90c8611af6"
integrity sha512-LvK03DSk9lDNGEFrjMdiaAkaH58ll+PIn663KJk0kVZvtNLy/egCOMCc6EBuE5DUsjwebLi6YZYzgRQRRKirgw==
dependencies:
"@abp/core" "~8.2.0-rc.4"
"@abp/core" "~8.2.0-rc.5"
lodash "^4.17.21"
"@abp/luxon@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-8.2.0-rc.4.tgz#fdb6c8d13be6ded1d531e2d66b532d0453597c01"
integrity sha512-3iat30cVfmymoW208PjCLlrKO6VTuU8lgk/Vg0XnaX/DbNldNhBUHHzEgC9TiHLUejBSd5cunz88rhFuODz14Q==
"@abp/luxon@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-8.2.0-rc.5.tgz#e4300d1deebab16432737c831cfae0025b7c5891"
integrity sha512-UdAToIlS0CwmavErMtd5dwyssKNPa6oqlHrll5h7T26nHDPEdXzSi9rP8RvwqBkrt+BFPMctRSv6DYk8OwoWzA==
dependencies:
"@abp/core" "~8.2.0-rc.4"
"@abp/core" "~8.2.0-rc.5"
luxon "^2.3.0"
"@abp/malihu-custom-scrollbar-plugin@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-8.2.0-rc.4.tgz#1eb1621edd8559b43734590f123c331a360a2d93"
integrity sha512-OoqjoW1e5U/J77zr6A5DPyWha/b4UeTWaAXtl8xigJmhcDhvKe0jfvE33iHgZupFWiGu354mICNT+rQ1S2wMyA==
"@abp/malihu-custom-scrollbar-plugin@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-8.2.0-rc.5.tgz#8f39683e55fbc5487de08b9209a552cf32ea8087"
integrity sha512-e20kLUvnu6tD5GBjzGLQjTMeyeco4q5wO4H4mMuahJpCHue+EUrL0tT1IbWiE+eEmbePw/lAn7Yfhfwjq/+Eeg==
dependencies:
"@abp/core" "~8.2.0-rc.4"
"@abp/core" "~8.2.0-rc.5"
malihu-custom-scrollbar-plugin "^3.1.5"
"@abp/moment@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-8.2.0-rc.4.tgz#97eef0f868ad95057493e97f386c791871c063c3"
integrity sha512-q06AsfUbut7Rxgp0JMlN0dvP7C1QRMfPNO+95ZXEEnqDDlajqaIt4X/7l1gb/Iz+7yc5XVT7FJdmT+bR22etGA==
"@abp/moment@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-8.2.0-rc.5.tgz#e38c7e66ee383a986c7972f4ba2b19d79a43f60e"
integrity sha512-F//4TZySaFBTfWgBxzwTFLeStrS0nklmKcTMU+MOtb/7Zx3QtscJpNm4CmxiBpB8pLwK8xiJQGoiuMQdoTuq+g==
dependencies:
moment "^2.9.0"
"@abp/owl.carousel@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/owl.carousel/-/owl.carousel-8.2.0-rc.4.tgz#05d8f959873a9813f7a358d376000d8eb36b2507"
integrity sha512-uWkUD8ZknBSrnAekFhE/1D+ttIn/x9zZPTvSWiKXX8uN3hiiAICtnm5ONc+Io8BPSYPkRycFL+aIZAr73UgBRQ==
"@abp/owl.carousel@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/owl.carousel/-/owl.carousel-8.2.0-rc.5.tgz#4f0dc2ebf8aa4120ae33136fc9fa20544ce36f73"
integrity sha512-eaYUpSsLvlmAovXPtmXHiP11xFkOgmiw6fbIl8JpyTRn/xS9I5wNVawr6vVXbL6JK90H7ZbKI/GY0KzsbDeWDQ==
dependencies:
"@abp/core" "~8.2.0-rc.4"
"@abp/core" "~8.2.0-rc.5"
owl.carousel "^2.3.4"
"@abp/prismjs@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-8.2.0-rc.4.tgz#f6df729333d4dc934c3978c29e62dddf6a22c19a"
integrity sha512-+fLF7ndhgV9v3zcWFoNSR0kPasIcagJC6FT90ALWs2XccBtjAYOm9/365DK5lyDUh0ynHx9fBgDdCdIX0Zv9RA==
"@abp/prismjs@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-8.2.0-rc.5.tgz#7a7428bb2f118cef5121a196bc45cc5d1a5a8e93"
integrity sha512-lNPqRvisf8jAxyL/05ppH26ZH4DEEzZUKqO7zqqS+yl7sBTpR/Wh8xX09spQl+wBQTLWAz2z+MouBZnMQIYKjg==
dependencies:
"@abp/clipboard" "~8.2.0-rc.4"
"@abp/core" "~8.2.0-rc.4"
"@abp/clipboard" "~8.2.0-rc.5"
"@abp/core" "~8.2.0-rc.5"
prismjs "^1.26.0"
"@abp/select2@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-8.2.0-rc.4.tgz#085ec0f915099201b75cbb7b4bfe6826039f542d"
integrity sha512-DrRNVxB0UcRCBhYkkp9TTmu3SDwaJ6kR3WCH7zMZgjYx/K250ojcuIot98fzuecuT3Te3qiGxKwBIclr2Yt/aw==
"@abp/select2@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-8.2.0-rc.5.tgz#5fc1dfa4bb871961db0ce9eb68a2c655c38b32d0"
integrity sha512-fT5L+mgiEOBtf2mmXNv6GtXVNjv22qQlgWp1UjI7c0jLtNPHa7P8idVTaP3g6d8b7VCP5zxIUGgjf6sZMxhADg==
dependencies:
"@abp/core" "~8.2.0-rc.4"
"@abp/core" "~8.2.0-rc.5"
select2 "^4.0.13"
"@abp/sweetalert2@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-8.2.0-rc.4.tgz#6866295a91602167cf314f1eb3bc315825cc0cb3"
integrity sha512-3NdBP/4ZhkroWrCVyfHoc0PM6ZJD0IhqXkPO/bMDTjX8scilU85SkC2iAnReD6BoLF6ywriMpozHiU2Ax8aH2Q==
"@abp/sweetalert2@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-8.2.0-rc.5.tgz#502d6dbaf2c5296f67722e085e52dd0fe62e8dde"
integrity sha512-S0LTMU0a9SPdSA3ezEpo03ZGfrr7XtouEs0O5c4fA0kWYsddNkalighy3CYTgZZwaR9oWNnY6t4pyka3WXAaqg==
dependencies:
"@abp/core" "~8.2.0-rc.4"
"@abp/core" "~8.2.0-rc.5"
sweetalert2 "^11.3.6"
"@abp/timeago@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-8.2.0-rc.4.tgz#777793699f0271e81b3fe96d46066a30925ed298"
integrity sha512-TfxUi1gn0dPuWFYCwo+g3xh4kkCo1otbvoUQOvrHp6VuQdHbXtSz0kP8VBPGKtVtlRsNe91+gDkv7n8njwrQ9g==
"@abp/timeago@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-8.2.0-rc.5.tgz#8bd78f2ee6b27b8ffd77e75a2851b61013e481ee"
integrity sha512-eLG9WFtP1dOoYHaNxyV8gOx1xnKmqSTwgviTU45qUFSNsgQHH1n0bpBxUXSSvaFw5mWRbF3R/JJQHql+Dl6Cow==
dependencies:
"@abp/jquery" "~8.2.0-rc.4"
"@abp/jquery" "~8.2.0-rc.5"
timeago "^1.6.7"
"@abp/toastr@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-8.2.0-rc.4.tgz#5edfc10d6123219cc86286ed8b1249af5dbadfde"
integrity sha512-QDJXroe1Fp2VEWU0Yza/L+DU9R0ZDBw0RcopRcliwAm5RgsVVaaxHZ+jO7LLDfP8JQ6Pi0wTamhKwrfglnG7Ww==
"@abp/toastr@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-8.2.0-rc.5.tgz#baecda4e6fed5676f58de2228bf8d1c6ae66d49e"
integrity sha512-y7aOY1LF62yRwXRSrvimtqIilrsOgSAM8lHcp2RogZAFdmw7yU1R5a6fJlLDGeRBIgjdcIlSpaOuoi6T2hCjFw==
dependencies:
"@abp/jquery" "~8.2.0-rc.4"
"@abp/jquery" "~8.2.0-rc.5"
toastr "^2.1.4"
"@abp/tui-editor@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/tui-editor/-/tui-editor-8.2.0-rc.4.tgz#105b5245b59a00ca3dc92900f051dfc55119c0ff"
integrity sha512-bKfHMbgelmrzqKzdKT6xONwjWDTKiSXroQaHCHcoCmAH6dRboIFCvltMY1xvOk5BAjWUOOgOB+G8PA3rhdlBYg==
"@abp/tui-editor@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/tui-editor/-/tui-editor-8.2.0-rc.5.tgz#809ef1bb0f90576d2ad7e67b13e707fe889a7e27"
integrity sha512-M1rKE0IhOmj6b/RopK2zDLSe0c7uSngWTv7MYEQjmGwHBG1+M0CEBSXVZWEJQ+LZjB+83oc4Z4UOW+yUW0suXg==
dependencies:
"@abp/jquery" "~8.2.0-rc.4"
"@abp/prismjs" "~8.2.0-rc.4"
"@abp/jquery" "~8.2.0-rc.5"
"@abp/prismjs" "~8.2.0-rc.5"
"@abp/utils@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-8.2.0-rc.4.tgz#be59dd4b5dfc085b88528639047699a9e5486e81"
integrity sha512-imIFmlP0gY+rXFbwufo8jMzcmEuz/6uKr/e8/bW4bOhPDD65go/3TTVkNLr0hzB9qSahZG/LGu2eDFTqlowlrg==
"@abp/utils@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-8.2.0-rc.5.tgz#526d64aa3e059d2f6e595b22e35dda2d652377e4"
integrity sha512-ZU7jHFpDh7jDYgCrX6aXqy/v4LrMGgYJN+siyWUMpVddg2lTTO2MsxI+KmSxJwD7H01Mqj1sZ+LBAOVxGR3hsw==
dependencies:
just-compare "^2.3.0"

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

@ -3,6 +3,6 @@
"name": "client-simulation-web",
"private": true,
"dependencies": {
"@abp/aspnetcore.mvc.ui.theme.basic": "~8.2.0-rc.4"
"@abp/aspnetcore.mvc.ui.theme.basic": "~8.2.0-rc.5"
}
}

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

@ -2,194 +2,194 @@
# yarn lockfile v1
"@abp/aspnetcore.mvc.ui.theme.basic@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-8.2.0-rc.4.tgz#dc9e9e6541694531726127e2e387156a24dd7f9e"
integrity sha512-Ixs3yr5fHkB1h8PuuJdPiY0uDf+Dq9jUdbaHsoJmaYRdOSqhLDpNkyAqFFrqDmoEmZvmrThCupt5ZSg9laQ8yw==
dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~8.2.0-rc.4"
"@abp/aspnetcore.mvc.ui.theme.shared@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-8.2.0-rc.4.tgz#2b1468bf05fc505d11d5c0253a782a328088d283"
integrity sha512-QveGyyMKAMnY48+AsUqkB/LnqtnTc3Fd5m1wLPNVF+P0j6CaaETmfJNc0xw+WYF14r+NC8K4PeC58z3SYMGlLw==
dependencies:
"@abp/aspnetcore.mvc.ui" "~8.2.0-rc.4"
"@abp/bootstrap" "~8.2.0-rc.4"
"@abp/bootstrap-datepicker" "~8.2.0-rc.4"
"@abp/bootstrap-daterangepicker" "~8.2.0-rc.4"
"@abp/datatables.net-bs5" "~8.2.0-rc.4"
"@abp/font-awesome" "~8.2.0-rc.4"
"@abp/jquery-form" "~8.2.0-rc.4"
"@abp/jquery-validation-unobtrusive" "~8.2.0-rc.4"
"@abp/lodash" "~8.2.0-rc.4"
"@abp/luxon" "~8.2.0-rc.4"
"@abp/malihu-custom-scrollbar-plugin" "~8.2.0-rc.4"
"@abp/moment" "~8.2.0-rc.4"
"@abp/select2" "~8.2.0-rc.4"
"@abp/sweetalert2" "~8.2.0-rc.4"
"@abp/timeago" "~8.2.0-rc.4"
"@abp/toastr" "~8.2.0-rc.4"
"@abp/aspnetcore.mvc.ui@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-8.2.0-rc.4.tgz#5e4613f506a02d45d7adcee1060032774e635fe5"
integrity sha512-rr3BE6RhimlHcNv0HKT3xIi/+6Sq5TSqRDvmiFqa7bvxemKMstHiEa2lxpx5XP9CPpV9gNzjC/NV+TQy4YDIqg==
"@abp/aspnetcore.mvc.ui.theme.basic@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-8.2.0-rc.5.tgz#5cc3231d27e9e12e6fdc3e4fc5eb3e6f2019cf13"
integrity sha512-SKr5Zm6k2SxrRBW2gqJAsTag4KacVzuVG3sTCD5P5BZLYn5OvknwSeky4tg/wzCodWp20wf89hWyET4E0iKExg==
dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~8.2.0-rc.5"
"@abp/aspnetcore.mvc.ui.theme.shared@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-8.2.0-rc.5.tgz#97b86ea4daf4392a1067e2a7e7c03b4c381ccc82"
integrity sha512-lR3XbbNct+8QH1dRhED5s/CHCgkANVyNBrWCQbo4BwBFJ27d3wuJDVt39VxQUsgNfxEmyoJdVZNDRUKDv6fTOw==
dependencies:
"@abp/aspnetcore.mvc.ui" "~8.2.0-rc.5"
"@abp/bootstrap" "~8.2.0-rc.5"
"@abp/bootstrap-datepicker" "~8.2.0-rc.5"
"@abp/bootstrap-daterangepicker" "~8.2.0-rc.5"
"@abp/datatables.net-bs5" "~8.2.0-rc.5"
"@abp/font-awesome" "~8.2.0-rc.5"
"@abp/jquery-form" "~8.2.0-rc.5"
"@abp/jquery-validation-unobtrusive" "~8.2.0-rc.5"
"@abp/lodash" "~8.2.0-rc.5"
"@abp/luxon" "~8.2.0-rc.5"
"@abp/malihu-custom-scrollbar-plugin" "~8.2.0-rc.5"
"@abp/moment" "~8.2.0-rc.5"
"@abp/select2" "~8.2.0-rc.5"
"@abp/sweetalert2" "~8.2.0-rc.5"
"@abp/timeago" "~8.2.0-rc.5"
"@abp/toastr" "~8.2.0-rc.5"
"@abp/aspnetcore.mvc.ui@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-8.2.0-rc.5.tgz#4a845ebd4b6465b9ac04641d7479b449ca9e1c5f"
integrity sha512-l3brGHAD2jnlAWwITGNAY5zOtmc0WItVabYCTvKrYyNuKIPEtW9getUNFp9BFMT9x0KZiGnkkrRkvxH+DzIcug==
dependencies:
ansi-colors "^4.1.1"
"@abp/bootstrap-datepicker@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-8.2.0-rc.4.tgz#7f6b7b0da2c8fd46dc08b1976c57b80b65069246"
integrity sha512-+Ylw8PFuAmpza714vQPjfU/lCOS2NsUX2cGp12Yyy4fS36udPCa/HYWTVdpH36OGae1dV/GzrfgnlZsCvUNhBA==
"@abp/bootstrap-datepicker@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-8.2.0-rc.5.tgz#0e8755a51d7a691837951f7a071a9e59a2e9e6cf"
integrity sha512-bLt8l6kYbVblThd2iuXcp6Ydss8TefpnZXHyXrQCxZGmVb79I/vf48CekJo1OWY/WcyEi/bm0m4LEI8Q0Y/LZQ==
dependencies:
bootstrap-datepicker "^1.9.0"
"@abp/bootstrap-daterangepicker@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-8.2.0-rc.4.tgz#579e8a4fd9d235385514da3f2ca73283294a78e3"
integrity sha512-KIinwEwkCzlYd7gDJt3htgflfrdWnyW4fr/V6GVi2EGxK6UA5HWMRG8MkvUKXmJ4rCHfEUdpWeGBXLbPR8R4eQ==
"@abp/bootstrap-daterangepicker@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-8.2.0-rc.5.tgz#e37792f24c3c8a8643e5ba5744967505e54f836c"
integrity sha512-dN02S1g9sVgACMz+A5FJw0uz4u5lXTFd/7xjE+cmhj0p5AcGvDD3gTbes6d3QNKiwvsPge063lG9pisdn3uEjg==
dependencies:
bootstrap-daterangepicker "^3.1.0"
"@abp/bootstrap@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-8.2.0-rc.4.tgz#dc08a0db67a2a652c03087d299da1abfab677ebf"
integrity sha512-wwZQk2XU6puEzBJ7W+80Oh/8z6n+DNc2YJnCnJNPbURgclMsN4v3/WJ2iKlO4g0fOkepvlgYkbYWPf+pusxSCQ==
"@abp/bootstrap@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-8.2.0-rc.5.tgz#1acc191f8156d81e1794bc161bfb394ae8f7372e"
integrity sha512-FacgSrDlS3QSR+5WdOy06Qw0qF7OoqoBwAGqro2WOfY5sFR5OwEiqXHXUF95+a/q9B9NuYKXBjBfOPhljdiuuA==
dependencies:
"@abp/core" "~8.2.0-rc.4"
"@abp/core" "~8.2.0-rc.5"
bootstrap "^5.1.3"
"@abp/core@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-8.2.0-rc.4.tgz#bf6b343ab43468ca88cdb4697caf25d65aa2c269"
integrity sha512-rGUDzLIiUJZ+7ZgzOGXxzc4k//9EBjVY4P4kO0XKCOEv08YwsUJmTzddsiMHZLIqRJ2wdT1UiH7PrcolBiW1UQ==
"@abp/core@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-8.2.0-rc.5.tgz#67eb75df046f8997f6af14e86bf8dbf249388a8d"
integrity sha512-XVunQMbK/MApkfnpL+8WsVqsJxARBl6W0TZwKfPyfm1QzPWE75P4oW3CIdNis0+Ob5HfhSFFp78tVrbSoEdzYQ==
dependencies:
"@abp/utils" "~8.2.0-rc.4"
"@abp/utils" "~8.2.0-rc.5"
"@abp/datatables.net-bs5@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-8.2.0-rc.4.tgz#869021a6639d765abb645a5de7501881b67e7095"
integrity sha512-CdYfn4qhB/KdTYfOrAsUSPtw8AGAbZHOTc4EyWAmxDKFCFyakj27+uoV/Stgs25nCaAXn1JHysfOxoNkP1ikyg==
"@abp/datatables.net-bs5@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-8.2.0-rc.5.tgz#fe04af4b14530545a05c4c58361aadfdddd8e8c2"
integrity sha512-yZKC111JVxcOkDz/WxJyQ0lw3JpbBBWr21LVNjyhEiN62w8tJN1Gwo7CjL+7WFm7RPnAUUf/qwitRWmWl7M4YA==
dependencies:
"@abp/datatables.net" "~8.2.0-rc.4"
"@abp/datatables.net" "~8.2.0-rc.5"
datatables.net-bs5 "^1.11.4"
"@abp/datatables.net@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-8.2.0-rc.4.tgz#4f0e612a11813f38331aae221c342efc4443138d"
integrity sha512-omEYXlB/OzUGmvTy7k7rhZjWtXILpl7idLwV1yXzJUkdjLjaBzIgrbWj/80YAI5K7MdpKE0/pdPnORX6G5ij9Q==
"@abp/datatables.net@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-8.2.0-rc.5.tgz#94e4b933750332732eeef02119a6cdfca67811e7"
integrity sha512-IAXbC29eiHvA3unVMsFh2sNfiw+Jlgah0D++IUKOlz1eAzHMrpwP5KE4jmF6GESF7Al95NkgqH7cd6MUst+UlA==
dependencies:
"@abp/jquery" "~8.2.0-rc.4"
"@abp/jquery" "~8.2.0-rc.5"
datatables.net "^1.11.4"
"@abp/font-awesome@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-8.2.0-rc.4.tgz#5c977e54c428e80af2a93166e968ec7635b0694d"
integrity sha512-zyQwZhhOgKi6JLWbkI+iycwS1lcCx/tvn+AskQSdV2+ycnrcjm9TMWmWosAGwS6VW9demRamuegUNOgiVpy/SA==
"@abp/font-awesome@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-8.2.0-rc.5.tgz#5ae19305a373a6dd083944bd825ccea84aadf40b"
integrity sha512-VbcM80e9KrZzY6TJ9l/eW42CTpdQ0eBr5gOEW+/UWGTRalCLdGve9YVJZJA55bD1VtcgaR1sV342jw2B1XeN8w==
dependencies:
"@abp/core" "~8.2.0-rc.4"
"@abp/core" "~8.2.0-rc.5"
"@fortawesome/fontawesome-free" "^6.5.1"
"@abp/jquery-form@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-8.2.0-rc.4.tgz#3ef39f9f716ff17b34d61eeb3c234ed3867b91da"
integrity sha512-nD5c2g4aPlDSggoR2lJ0Zd9Jg/2yrpVKnJqNuvx7DIdxPIZed2LL5ONaOtO8pLTsKqh5ua1UsqgsyfJ/mb9T1w==
"@abp/jquery-form@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-8.2.0-rc.5.tgz#b955fe2c226f1f35a3736aa3b2170f265a797552"
integrity sha512-M9fUUYywljudem/K7aYlcIG2W+KTzUJPviSeOLo5KNxvVrScWr+Jf4M8Nbj6uWX1saYWmm5kYnfsDs+nOUcmDg==
dependencies:
"@abp/jquery" "~8.2.0-rc.4"
"@abp/jquery" "~8.2.0-rc.5"
jquery-form "^4.3.0"
"@abp/jquery-validation-unobtrusive@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-8.2.0-rc.4.tgz#5124068f01db8c0e4365594fefb236f91bd60e8d"
integrity sha512-JKtZoeSSbSGbTl28ZEHvqCvC2cCX3aOV7PHKhpIzQSfVK22Uo3swsc2bv3sH2HdxNi3jWAGcd7YUG093STMm3Q==
"@abp/jquery-validation-unobtrusive@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-8.2.0-rc.5.tgz#c790dc1b707ee7d24fe99c2b7be6bc558af09667"
integrity sha512-sUkfb17cR2zM669U83R8dviv+p+uGNl5nmOV0AP4ch6CzLfnTOYzKsqV7ESGVxqB8oVHO/Wnr8sXaaLdsoQzJw==
dependencies:
"@abp/jquery-validation" "~8.2.0-rc.4"
"@abp/jquery-validation" "~8.2.0-rc.5"
jquery-validation-unobtrusive "^3.2.12"
"@abp/jquery-validation@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-8.2.0-rc.4.tgz#95540b7a6ef1f27b511e42b03cdf0c1c364ce8df"
integrity sha512-fN2ZJ0eCjQ5nu5fdwKx0cmGTWZyzltwrfhnI0JG27EsBP8EtyO8aWHZEFKgL+vXTy07LraTJD1KSpIIZSsrHVw==
"@abp/jquery-validation@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-8.2.0-rc.5.tgz#294254556e804d641d3bf4ea50d1c3eb42f191d1"
integrity sha512-C7sOuSShkX5Ba6LiSBGuxlrORcxiYczZtsxyjRZzNzATYwEBHcLqMxDvgAsWeWtvtkMotkbB2k99vD93nlGuCQ==
dependencies:
"@abp/jquery" "~8.2.0-rc.4"
"@abp/jquery" "~8.2.0-rc.5"
jquery-validation "^1.19.3"
"@abp/jquery@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-8.2.0-rc.4.tgz#327452ce3f49f6a9fe32a1934a6f347e2a0a309b"
integrity sha512-JYeQwpa671AyYf7sv+XgCaie2mOjWCDZYlFHEqH4whjTqT5SU8WwSkhux+/KLtBImSeQyTzyup7CuQYWBuk15w==
"@abp/jquery@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-8.2.0-rc.5.tgz#9b01156a80d8da6407abb6d51541cb89624cb906"
integrity sha512-KcRVhxEmUuJHd4JNBSeJV+3Ush4w9ambKxwPi3+q1fqdePekrLk9jKNud5HkP6JredBoESJ+TkeVFFQ5HnYPVg==
dependencies:
"@abp/core" "~8.2.0-rc.4"
"@abp/core" "~8.2.0-rc.5"
jquery "~3.6.0"
"@abp/lodash@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-8.2.0-rc.4.tgz#229be25a0e09f4e1b74b7e064113c3a1347d28c7"
integrity sha512-zhLlPlhrCZNngx2ns3reKG2Nmec8g2KWbN55Z1gx0XYqaymT/0zuzfkfPBdpuoyIqrXcPJL0aK21SH4Tu8LjUA==
"@abp/lodash@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-8.2.0-rc.5.tgz#b6fa8754258dd2db59b0df65fb9f7d90c8611af6"
integrity sha512-LvK03DSk9lDNGEFrjMdiaAkaH58ll+PIn663KJk0kVZvtNLy/egCOMCc6EBuE5DUsjwebLi6YZYzgRQRRKirgw==
dependencies:
"@abp/core" "~8.2.0-rc.4"
"@abp/core" "~8.2.0-rc.5"
lodash "^4.17.21"
"@abp/luxon@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-8.2.0-rc.4.tgz#fdb6c8d13be6ded1d531e2d66b532d0453597c01"
integrity sha512-3iat30cVfmymoW208PjCLlrKO6VTuU8lgk/Vg0XnaX/DbNldNhBUHHzEgC9TiHLUejBSd5cunz88rhFuODz14Q==
"@abp/luxon@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-8.2.0-rc.5.tgz#e4300d1deebab16432737c831cfae0025b7c5891"
integrity sha512-UdAToIlS0CwmavErMtd5dwyssKNPa6oqlHrll5h7T26nHDPEdXzSi9rP8RvwqBkrt+BFPMctRSv6DYk8OwoWzA==
dependencies:
"@abp/core" "~8.2.0-rc.4"
"@abp/core" "~8.2.0-rc.5"
luxon "^2.3.0"
"@abp/malihu-custom-scrollbar-plugin@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-8.2.0-rc.4.tgz#1eb1621edd8559b43734590f123c331a360a2d93"
integrity sha512-OoqjoW1e5U/J77zr6A5DPyWha/b4UeTWaAXtl8xigJmhcDhvKe0jfvE33iHgZupFWiGu354mICNT+rQ1S2wMyA==
"@abp/malihu-custom-scrollbar-plugin@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-8.2.0-rc.5.tgz#8f39683e55fbc5487de08b9209a552cf32ea8087"
integrity sha512-e20kLUvnu6tD5GBjzGLQjTMeyeco4q5wO4H4mMuahJpCHue+EUrL0tT1IbWiE+eEmbePw/lAn7Yfhfwjq/+Eeg==
dependencies:
"@abp/core" "~8.2.0-rc.4"
"@abp/core" "~8.2.0-rc.5"
malihu-custom-scrollbar-plugin "^3.1.5"
"@abp/moment@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-8.2.0-rc.4.tgz#97eef0f868ad95057493e97f386c791871c063c3"
integrity sha512-q06AsfUbut7Rxgp0JMlN0dvP7C1QRMfPNO+95ZXEEnqDDlajqaIt4X/7l1gb/Iz+7yc5XVT7FJdmT+bR22etGA==
"@abp/moment@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-8.2.0-rc.5.tgz#e38c7e66ee383a986c7972f4ba2b19d79a43f60e"
integrity sha512-F//4TZySaFBTfWgBxzwTFLeStrS0nklmKcTMU+MOtb/7Zx3QtscJpNm4CmxiBpB8pLwK8xiJQGoiuMQdoTuq+g==
dependencies:
moment "^2.9.0"
"@abp/select2@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-8.2.0-rc.4.tgz#085ec0f915099201b75cbb7b4bfe6826039f542d"
integrity sha512-DrRNVxB0UcRCBhYkkp9TTmu3SDwaJ6kR3WCH7zMZgjYx/K250ojcuIot98fzuecuT3Te3qiGxKwBIclr2Yt/aw==
"@abp/select2@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-8.2.0-rc.5.tgz#5fc1dfa4bb871961db0ce9eb68a2c655c38b32d0"
integrity sha512-fT5L+mgiEOBtf2mmXNv6GtXVNjv22qQlgWp1UjI7c0jLtNPHa7P8idVTaP3g6d8b7VCP5zxIUGgjf6sZMxhADg==
dependencies:
"@abp/core" "~8.2.0-rc.4"
"@abp/core" "~8.2.0-rc.5"
select2 "^4.0.13"
"@abp/sweetalert2@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-8.2.0-rc.4.tgz#6866295a91602167cf314f1eb3bc315825cc0cb3"
integrity sha512-3NdBP/4ZhkroWrCVyfHoc0PM6ZJD0IhqXkPO/bMDTjX8scilU85SkC2iAnReD6BoLF6ywriMpozHiU2Ax8aH2Q==
"@abp/sweetalert2@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-8.2.0-rc.5.tgz#502d6dbaf2c5296f67722e085e52dd0fe62e8dde"
integrity sha512-S0LTMU0a9SPdSA3ezEpo03ZGfrr7XtouEs0O5c4fA0kWYsddNkalighy3CYTgZZwaR9oWNnY6t4pyka3WXAaqg==
dependencies:
"@abp/core" "~8.2.0-rc.4"
"@abp/core" "~8.2.0-rc.5"
sweetalert2 "^11.3.6"
"@abp/timeago@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-8.2.0-rc.4.tgz#777793699f0271e81b3fe96d46066a30925ed298"
integrity sha512-TfxUi1gn0dPuWFYCwo+g3xh4kkCo1otbvoUQOvrHp6VuQdHbXtSz0kP8VBPGKtVtlRsNe91+gDkv7n8njwrQ9g==
"@abp/timeago@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-8.2.0-rc.5.tgz#8bd78f2ee6b27b8ffd77e75a2851b61013e481ee"
integrity sha512-eLG9WFtP1dOoYHaNxyV8gOx1xnKmqSTwgviTU45qUFSNsgQHH1n0bpBxUXSSvaFw5mWRbF3R/JJQHql+Dl6Cow==
dependencies:
"@abp/jquery" "~8.2.0-rc.4"
"@abp/jquery" "~8.2.0-rc.5"
timeago "^1.6.7"
"@abp/toastr@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-8.2.0-rc.4.tgz#5edfc10d6123219cc86286ed8b1249af5dbadfde"
integrity sha512-QDJXroe1Fp2VEWU0Yza/L+DU9R0ZDBw0RcopRcliwAm5RgsVVaaxHZ+jO7LLDfP8JQ6Pi0wTamhKwrfglnG7Ww==
"@abp/toastr@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-8.2.0-rc.5.tgz#baecda4e6fed5676f58de2228bf8d1c6ae66d49e"
integrity sha512-y7aOY1LF62yRwXRSrvimtqIilrsOgSAM8lHcp2RogZAFdmw7yU1R5a6fJlLDGeRBIgjdcIlSpaOuoi6T2hCjFw==
dependencies:
"@abp/jquery" "~8.2.0-rc.4"
"@abp/jquery" "~8.2.0-rc.5"
toastr "^2.1.4"
"@abp/utils@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-8.2.0-rc.4.tgz#be59dd4b5dfc085b88528639047699a9e5486e81"
integrity sha512-imIFmlP0gY+rXFbwufo8jMzcmEuz/6uKr/e8/bW4bOhPDD65go/3TTVkNLr0hzB9qSahZG/LGu2eDFTqlowlrg==
"@abp/utils@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-8.2.0-rc.5.tgz#526d64aa3e059d2f6e595b22e35dda2d652377e4"
integrity sha512-ZU7jHFpDh7jDYgCrX6aXqy/v4LrMGgYJN+siyWUMpVddg2lTTO2MsxI+KmSxJwD7H01Mqj1sZ+LBAOVxGR3hsw==
dependencies:
just-compare "^2.3.0"

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

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

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

@ -2,194 +2,194 @@
# yarn lockfile v1
"@abp/aspnetcore.mvc.ui.theme.basic@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-8.2.0-rc.4.tgz#dc9e9e6541694531726127e2e387156a24dd7f9e"
integrity sha512-Ixs3yr5fHkB1h8PuuJdPiY0uDf+Dq9jUdbaHsoJmaYRdOSqhLDpNkyAqFFrqDmoEmZvmrThCupt5ZSg9laQ8yw==
dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~8.2.0-rc.4"
"@abp/aspnetcore.mvc.ui.theme.shared@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-8.2.0-rc.4.tgz#2b1468bf05fc505d11d5c0253a782a328088d283"
integrity sha512-QveGyyMKAMnY48+AsUqkB/LnqtnTc3Fd5m1wLPNVF+P0j6CaaETmfJNc0xw+WYF14r+NC8K4PeC58z3SYMGlLw==
dependencies:
"@abp/aspnetcore.mvc.ui" "~8.2.0-rc.4"
"@abp/bootstrap" "~8.2.0-rc.4"
"@abp/bootstrap-datepicker" "~8.2.0-rc.4"
"@abp/bootstrap-daterangepicker" "~8.2.0-rc.4"
"@abp/datatables.net-bs5" "~8.2.0-rc.4"
"@abp/font-awesome" "~8.2.0-rc.4"
"@abp/jquery-form" "~8.2.0-rc.4"
"@abp/jquery-validation-unobtrusive" "~8.2.0-rc.4"
"@abp/lodash" "~8.2.0-rc.4"
"@abp/luxon" "~8.2.0-rc.4"
"@abp/malihu-custom-scrollbar-plugin" "~8.2.0-rc.4"
"@abp/moment" "~8.2.0-rc.4"
"@abp/select2" "~8.2.0-rc.4"
"@abp/sweetalert2" "~8.2.0-rc.4"
"@abp/timeago" "~8.2.0-rc.4"
"@abp/toastr" "~8.2.0-rc.4"
"@abp/aspnetcore.mvc.ui@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-8.2.0-rc.4.tgz#5e4613f506a02d45d7adcee1060032774e635fe5"
integrity sha512-rr3BE6RhimlHcNv0HKT3xIi/+6Sq5TSqRDvmiFqa7bvxemKMstHiEa2lxpx5XP9CPpV9gNzjC/NV+TQy4YDIqg==
"@abp/aspnetcore.mvc.ui.theme.basic@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-8.2.0-rc.5.tgz#5cc3231d27e9e12e6fdc3e4fc5eb3e6f2019cf13"
integrity sha512-SKr5Zm6k2SxrRBW2gqJAsTag4KacVzuVG3sTCD5P5BZLYn5OvknwSeky4tg/wzCodWp20wf89hWyET4E0iKExg==
dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~8.2.0-rc.5"
"@abp/aspnetcore.mvc.ui.theme.shared@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-8.2.0-rc.5.tgz#97b86ea4daf4392a1067e2a7e7c03b4c381ccc82"
integrity sha512-lR3XbbNct+8QH1dRhED5s/CHCgkANVyNBrWCQbo4BwBFJ27d3wuJDVt39VxQUsgNfxEmyoJdVZNDRUKDv6fTOw==
dependencies:
"@abp/aspnetcore.mvc.ui" "~8.2.0-rc.5"
"@abp/bootstrap" "~8.2.0-rc.5"
"@abp/bootstrap-datepicker" "~8.2.0-rc.5"
"@abp/bootstrap-daterangepicker" "~8.2.0-rc.5"
"@abp/datatables.net-bs5" "~8.2.0-rc.5"
"@abp/font-awesome" "~8.2.0-rc.5"
"@abp/jquery-form" "~8.2.0-rc.5"
"@abp/jquery-validation-unobtrusive" "~8.2.0-rc.5"
"@abp/lodash" "~8.2.0-rc.5"
"@abp/luxon" "~8.2.0-rc.5"
"@abp/malihu-custom-scrollbar-plugin" "~8.2.0-rc.5"
"@abp/moment" "~8.2.0-rc.5"
"@abp/select2" "~8.2.0-rc.5"
"@abp/sweetalert2" "~8.2.0-rc.5"
"@abp/timeago" "~8.2.0-rc.5"
"@abp/toastr" "~8.2.0-rc.5"
"@abp/aspnetcore.mvc.ui@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-8.2.0-rc.5.tgz#4a845ebd4b6465b9ac04641d7479b449ca9e1c5f"
integrity sha512-l3brGHAD2jnlAWwITGNAY5zOtmc0WItVabYCTvKrYyNuKIPEtW9getUNFp9BFMT9x0KZiGnkkrRkvxH+DzIcug==
dependencies:
ansi-colors "^4.1.1"
"@abp/bootstrap-datepicker@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-8.2.0-rc.4.tgz#7f6b7b0da2c8fd46dc08b1976c57b80b65069246"
integrity sha512-+Ylw8PFuAmpza714vQPjfU/lCOS2NsUX2cGp12Yyy4fS36udPCa/HYWTVdpH36OGae1dV/GzrfgnlZsCvUNhBA==
"@abp/bootstrap-datepicker@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-8.2.0-rc.5.tgz#0e8755a51d7a691837951f7a071a9e59a2e9e6cf"
integrity sha512-bLt8l6kYbVblThd2iuXcp6Ydss8TefpnZXHyXrQCxZGmVb79I/vf48CekJo1OWY/WcyEi/bm0m4LEI8Q0Y/LZQ==
dependencies:
bootstrap-datepicker "^1.9.0"
"@abp/bootstrap-daterangepicker@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-8.2.0-rc.4.tgz#579e8a4fd9d235385514da3f2ca73283294a78e3"
integrity sha512-KIinwEwkCzlYd7gDJt3htgflfrdWnyW4fr/V6GVi2EGxK6UA5HWMRG8MkvUKXmJ4rCHfEUdpWeGBXLbPR8R4eQ==
"@abp/bootstrap-daterangepicker@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-8.2.0-rc.5.tgz#e37792f24c3c8a8643e5ba5744967505e54f836c"
integrity sha512-dN02S1g9sVgACMz+A5FJw0uz4u5lXTFd/7xjE+cmhj0p5AcGvDD3gTbes6d3QNKiwvsPge063lG9pisdn3uEjg==
dependencies:
bootstrap-daterangepicker "^3.1.0"
"@abp/bootstrap@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-8.2.0-rc.4.tgz#dc08a0db67a2a652c03087d299da1abfab677ebf"
integrity sha512-wwZQk2XU6puEzBJ7W+80Oh/8z6n+DNc2YJnCnJNPbURgclMsN4v3/WJ2iKlO4g0fOkepvlgYkbYWPf+pusxSCQ==
"@abp/bootstrap@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-8.2.0-rc.5.tgz#1acc191f8156d81e1794bc161bfb394ae8f7372e"
integrity sha512-FacgSrDlS3QSR+5WdOy06Qw0qF7OoqoBwAGqro2WOfY5sFR5OwEiqXHXUF95+a/q9B9NuYKXBjBfOPhljdiuuA==
dependencies:
"@abp/core" "~8.2.0-rc.4"
"@abp/core" "~8.2.0-rc.5"
bootstrap "^5.1.3"
"@abp/core@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-8.2.0-rc.4.tgz#bf6b343ab43468ca88cdb4697caf25d65aa2c269"
integrity sha512-rGUDzLIiUJZ+7ZgzOGXxzc4k//9EBjVY4P4kO0XKCOEv08YwsUJmTzddsiMHZLIqRJ2wdT1UiH7PrcolBiW1UQ==
"@abp/core@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-8.2.0-rc.5.tgz#67eb75df046f8997f6af14e86bf8dbf249388a8d"
integrity sha512-XVunQMbK/MApkfnpL+8WsVqsJxARBl6W0TZwKfPyfm1QzPWE75P4oW3CIdNis0+Ob5HfhSFFp78tVrbSoEdzYQ==
dependencies:
"@abp/utils" "~8.2.0-rc.4"
"@abp/utils" "~8.2.0-rc.5"
"@abp/datatables.net-bs5@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-8.2.0-rc.4.tgz#869021a6639d765abb645a5de7501881b67e7095"
integrity sha512-CdYfn4qhB/KdTYfOrAsUSPtw8AGAbZHOTc4EyWAmxDKFCFyakj27+uoV/Stgs25nCaAXn1JHysfOxoNkP1ikyg==
"@abp/datatables.net-bs5@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-8.2.0-rc.5.tgz#fe04af4b14530545a05c4c58361aadfdddd8e8c2"
integrity sha512-yZKC111JVxcOkDz/WxJyQ0lw3JpbBBWr21LVNjyhEiN62w8tJN1Gwo7CjL+7WFm7RPnAUUf/qwitRWmWl7M4YA==
dependencies:
"@abp/datatables.net" "~8.2.0-rc.4"
"@abp/datatables.net" "~8.2.0-rc.5"
datatables.net-bs5 "^1.11.4"
"@abp/datatables.net@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-8.2.0-rc.4.tgz#4f0e612a11813f38331aae221c342efc4443138d"
integrity sha512-omEYXlB/OzUGmvTy7k7rhZjWtXILpl7idLwV1yXzJUkdjLjaBzIgrbWj/80YAI5K7MdpKE0/pdPnORX6G5ij9Q==
"@abp/datatables.net@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-8.2.0-rc.5.tgz#94e4b933750332732eeef02119a6cdfca67811e7"
integrity sha512-IAXbC29eiHvA3unVMsFh2sNfiw+Jlgah0D++IUKOlz1eAzHMrpwP5KE4jmF6GESF7Al95NkgqH7cd6MUst+UlA==
dependencies:
"@abp/jquery" "~8.2.0-rc.4"
"@abp/jquery" "~8.2.0-rc.5"
datatables.net "^1.11.4"
"@abp/font-awesome@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-8.2.0-rc.4.tgz#5c977e54c428e80af2a93166e968ec7635b0694d"
integrity sha512-zyQwZhhOgKi6JLWbkI+iycwS1lcCx/tvn+AskQSdV2+ycnrcjm9TMWmWosAGwS6VW9demRamuegUNOgiVpy/SA==
"@abp/font-awesome@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-8.2.0-rc.5.tgz#5ae19305a373a6dd083944bd825ccea84aadf40b"
integrity sha512-VbcM80e9KrZzY6TJ9l/eW42CTpdQ0eBr5gOEW+/UWGTRalCLdGve9YVJZJA55bD1VtcgaR1sV342jw2B1XeN8w==
dependencies:
"@abp/core" "~8.2.0-rc.4"
"@abp/core" "~8.2.0-rc.5"
"@fortawesome/fontawesome-free" "^6.5.1"
"@abp/jquery-form@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-8.2.0-rc.4.tgz#3ef39f9f716ff17b34d61eeb3c234ed3867b91da"
integrity sha512-nD5c2g4aPlDSggoR2lJ0Zd9Jg/2yrpVKnJqNuvx7DIdxPIZed2LL5ONaOtO8pLTsKqh5ua1UsqgsyfJ/mb9T1w==
"@abp/jquery-form@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-8.2.0-rc.5.tgz#b955fe2c226f1f35a3736aa3b2170f265a797552"
integrity sha512-M9fUUYywljudem/K7aYlcIG2W+KTzUJPviSeOLo5KNxvVrScWr+Jf4M8Nbj6uWX1saYWmm5kYnfsDs+nOUcmDg==
dependencies:
"@abp/jquery" "~8.2.0-rc.4"
"@abp/jquery" "~8.2.0-rc.5"
jquery-form "^4.3.0"
"@abp/jquery-validation-unobtrusive@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-8.2.0-rc.4.tgz#5124068f01db8c0e4365594fefb236f91bd60e8d"
integrity sha512-JKtZoeSSbSGbTl28ZEHvqCvC2cCX3aOV7PHKhpIzQSfVK22Uo3swsc2bv3sH2HdxNi3jWAGcd7YUG093STMm3Q==
"@abp/jquery-validation-unobtrusive@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-8.2.0-rc.5.tgz#c790dc1b707ee7d24fe99c2b7be6bc558af09667"
integrity sha512-sUkfb17cR2zM669U83R8dviv+p+uGNl5nmOV0AP4ch6CzLfnTOYzKsqV7ESGVxqB8oVHO/Wnr8sXaaLdsoQzJw==
dependencies:
"@abp/jquery-validation" "~8.2.0-rc.4"
"@abp/jquery-validation" "~8.2.0-rc.5"
jquery-validation-unobtrusive "^3.2.12"
"@abp/jquery-validation@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-8.2.0-rc.4.tgz#95540b7a6ef1f27b511e42b03cdf0c1c364ce8df"
integrity sha512-fN2ZJ0eCjQ5nu5fdwKx0cmGTWZyzltwrfhnI0JG27EsBP8EtyO8aWHZEFKgL+vXTy07LraTJD1KSpIIZSsrHVw==
"@abp/jquery-validation@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-8.2.0-rc.5.tgz#294254556e804d641d3bf4ea50d1c3eb42f191d1"
integrity sha512-C7sOuSShkX5Ba6LiSBGuxlrORcxiYczZtsxyjRZzNzATYwEBHcLqMxDvgAsWeWtvtkMotkbB2k99vD93nlGuCQ==
dependencies:
"@abp/jquery" "~8.2.0-rc.4"
"@abp/jquery" "~8.2.0-rc.5"
jquery-validation "^1.19.3"
"@abp/jquery@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-8.2.0-rc.4.tgz#327452ce3f49f6a9fe32a1934a6f347e2a0a309b"
integrity sha512-JYeQwpa671AyYf7sv+XgCaie2mOjWCDZYlFHEqH4whjTqT5SU8WwSkhux+/KLtBImSeQyTzyup7CuQYWBuk15w==
"@abp/jquery@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-8.2.0-rc.5.tgz#9b01156a80d8da6407abb6d51541cb89624cb906"
integrity sha512-KcRVhxEmUuJHd4JNBSeJV+3Ush4w9ambKxwPi3+q1fqdePekrLk9jKNud5HkP6JredBoESJ+TkeVFFQ5HnYPVg==
dependencies:
"@abp/core" "~8.2.0-rc.4"
"@abp/core" "~8.2.0-rc.5"
jquery "~3.6.0"
"@abp/lodash@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-8.2.0-rc.4.tgz#229be25a0e09f4e1b74b7e064113c3a1347d28c7"
integrity sha512-zhLlPlhrCZNngx2ns3reKG2Nmec8g2KWbN55Z1gx0XYqaymT/0zuzfkfPBdpuoyIqrXcPJL0aK21SH4Tu8LjUA==
"@abp/lodash@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-8.2.0-rc.5.tgz#b6fa8754258dd2db59b0df65fb9f7d90c8611af6"
integrity sha512-LvK03DSk9lDNGEFrjMdiaAkaH58ll+PIn663KJk0kVZvtNLy/egCOMCc6EBuE5DUsjwebLi6YZYzgRQRRKirgw==
dependencies:
"@abp/core" "~8.2.0-rc.4"
"@abp/core" "~8.2.0-rc.5"
lodash "^4.17.21"
"@abp/luxon@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-8.2.0-rc.4.tgz#fdb6c8d13be6ded1d531e2d66b532d0453597c01"
integrity sha512-3iat30cVfmymoW208PjCLlrKO6VTuU8lgk/Vg0XnaX/DbNldNhBUHHzEgC9TiHLUejBSd5cunz88rhFuODz14Q==
"@abp/luxon@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-8.2.0-rc.5.tgz#e4300d1deebab16432737c831cfae0025b7c5891"
integrity sha512-UdAToIlS0CwmavErMtd5dwyssKNPa6oqlHrll5h7T26nHDPEdXzSi9rP8RvwqBkrt+BFPMctRSv6DYk8OwoWzA==
dependencies:
"@abp/core" "~8.2.0-rc.4"
"@abp/core" "~8.2.0-rc.5"
luxon "^2.3.0"
"@abp/malihu-custom-scrollbar-plugin@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-8.2.0-rc.4.tgz#1eb1621edd8559b43734590f123c331a360a2d93"
integrity sha512-OoqjoW1e5U/J77zr6A5DPyWha/b4UeTWaAXtl8xigJmhcDhvKe0jfvE33iHgZupFWiGu354mICNT+rQ1S2wMyA==
"@abp/malihu-custom-scrollbar-plugin@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-8.2.0-rc.5.tgz#8f39683e55fbc5487de08b9209a552cf32ea8087"
integrity sha512-e20kLUvnu6tD5GBjzGLQjTMeyeco4q5wO4H4mMuahJpCHue+EUrL0tT1IbWiE+eEmbePw/lAn7Yfhfwjq/+Eeg==
dependencies:
"@abp/core" "~8.2.0-rc.4"
"@abp/core" "~8.2.0-rc.5"
malihu-custom-scrollbar-plugin "^3.1.5"
"@abp/moment@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-8.2.0-rc.4.tgz#97eef0f868ad95057493e97f386c791871c063c3"
integrity sha512-q06AsfUbut7Rxgp0JMlN0dvP7C1QRMfPNO+95ZXEEnqDDlajqaIt4X/7l1gb/Iz+7yc5XVT7FJdmT+bR22etGA==
"@abp/moment@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-8.2.0-rc.5.tgz#e38c7e66ee383a986c7972f4ba2b19d79a43f60e"
integrity sha512-F//4TZySaFBTfWgBxzwTFLeStrS0nklmKcTMU+MOtb/7Zx3QtscJpNm4CmxiBpB8pLwK8xiJQGoiuMQdoTuq+g==
dependencies:
moment "^2.9.0"
"@abp/select2@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-8.2.0-rc.4.tgz#085ec0f915099201b75cbb7b4bfe6826039f542d"
integrity sha512-DrRNVxB0UcRCBhYkkp9TTmu3SDwaJ6kR3WCH7zMZgjYx/K250ojcuIot98fzuecuT3Te3qiGxKwBIclr2Yt/aw==
"@abp/select2@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-8.2.0-rc.5.tgz#5fc1dfa4bb871961db0ce9eb68a2c655c38b32d0"
integrity sha512-fT5L+mgiEOBtf2mmXNv6GtXVNjv22qQlgWp1UjI7c0jLtNPHa7P8idVTaP3g6d8b7VCP5zxIUGgjf6sZMxhADg==
dependencies:
"@abp/core" "~8.2.0-rc.4"
"@abp/core" "~8.2.0-rc.5"
select2 "^4.0.13"
"@abp/sweetalert2@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-8.2.0-rc.4.tgz#6866295a91602167cf314f1eb3bc315825cc0cb3"
integrity sha512-3NdBP/4ZhkroWrCVyfHoc0PM6ZJD0IhqXkPO/bMDTjX8scilU85SkC2iAnReD6BoLF6ywriMpozHiU2Ax8aH2Q==
"@abp/sweetalert2@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-8.2.0-rc.5.tgz#502d6dbaf2c5296f67722e085e52dd0fe62e8dde"
integrity sha512-S0LTMU0a9SPdSA3ezEpo03ZGfrr7XtouEs0O5c4fA0kWYsddNkalighy3CYTgZZwaR9oWNnY6t4pyka3WXAaqg==
dependencies:
"@abp/core" "~8.2.0-rc.4"
"@abp/core" "~8.2.0-rc.5"
sweetalert2 "^11.3.6"
"@abp/timeago@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-8.2.0-rc.4.tgz#777793699f0271e81b3fe96d46066a30925ed298"
integrity sha512-TfxUi1gn0dPuWFYCwo+g3xh4kkCo1otbvoUQOvrHp6VuQdHbXtSz0kP8VBPGKtVtlRsNe91+gDkv7n8njwrQ9g==
"@abp/timeago@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-8.2.0-rc.5.tgz#8bd78f2ee6b27b8ffd77e75a2851b61013e481ee"
integrity sha512-eLG9WFtP1dOoYHaNxyV8gOx1xnKmqSTwgviTU45qUFSNsgQHH1n0bpBxUXSSvaFw5mWRbF3R/JJQHql+Dl6Cow==
dependencies:
"@abp/jquery" "~8.2.0-rc.4"
"@abp/jquery" "~8.2.0-rc.5"
timeago "^1.6.7"
"@abp/toastr@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-8.2.0-rc.4.tgz#5edfc10d6123219cc86286ed8b1249af5dbadfde"
integrity sha512-QDJXroe1Fp2VEWU0Yza/L+DU9R0ZDBw0RcopRcliwAm5RgsVVaaxHZ+jO7LLDfP8JQ6Pi0wTamhKwrfglnG7Ww==
"@abp/toastr@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-8.2.0-rc.5.tgz#baecda4e6fed5676f58de2228bf8d1c6ae66d49e"
integrity sha512-y7aOY1LF62yRwXRSrvimtqIilrsOgSAM8lHcp2RogZAFdmw7yU1R5a6fJlLDGeRBIgjdcIlSpaOuoi6T2hCjFw==
dependencies:
"@abp/jquery" "~8.2.0-rc.4"
"@abp/jquery" "~8.2.0-rc.5"
toastr "^2.1.4"
"@abp/utils@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-8.2.0-rc.4.tgz#be59dd4b5dfc085b88528639047699a9e5486e81"
integrity sha512-imIFmlP0gY+rXFbwufo8jMzcmEuz/6uKr/e8/bW4bOhPDD65go/3TTVkNLr0hzB9qSahZG/LGu2eDFTqlowlrg==
"@abp/utils@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-8.2.0-rc.5.tgz#526d64aa3e059d2f6e595b22e35dda2d652377e4"
integrity sha512-ZU7jHFpDh7jDYgCrX6aXqy/v4LrMGgYJN+siyWUMpVddg2lTTO2MsxI+KmSxJwD7H01Mqj1sZ+LBAOVxGR3hsw==
dependencies:
just-compare "^2.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": "~8.2.0-rc.4"
"@abp/aspnetcore.mvc.ui.theme.basic": "~8.2.0-rc.5"
}
}

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

@ -2,194 +2,194 @@
# yarn lockfile v1
"@abp/aspnetcore.mvc.ui.theme.basic@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-8.2.0-rc.4.tgz#dc9e9e6541694531726127e2e387156a24dd7f9e"
integrity sha512-Ixs3yr5fHkB1h8PuuJdPiY0uDf+Dq9jUdbaHsoJmaYRdOSqhLDpNkyAqFFrqDmoEmZvmrThCupt5ZSg9laQ8yw==
dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~8.2.0-rc.4"
"@abp/aspnetcore.mvc.ui.theme.shared@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-8.2.0-rc.4.tgz#2b1468bf05fc505d11d5c0253a782a328088d283"
integrity sha512-QveGyyMKAMnY48+AsUqkB/LnqtnTc3Fd5m1wLPNVF+P0j6CaaETmfJNc0xw+WYF14r+NC8K4PeC58z3SYMGlLw==
dependencies:
"@abp/aspnetcore.mvc.ui" "~8.2.0-rc.4"
"@abp/bootstrap" "~8.2.0-rc.4"
"@abp/bootstrap-datepicker" "~8.2.0-rc.4"
"@abp/bootstrap-daterangepicker" "~8.2.0-rc.4"
"@abp/datatables.net-bs5" "~8.2.0-rc.4"
"@abp/font-awesome" "~8.2.0-rc.4"
"@abp/jquery-form" "~8.2.0-rc.4"
"@abp/jquery-validation-unobtrusive" "~8.2.0-rc.4"
"@abp/lodash" "~8.2.0-rc.4"
"@abp/luxon" "~8.2.0-rc.4"
"@abp/malihu-custom-scrollbar-plugin" "~8.2.0-rc.4"
"@abp/moment" "~8.2.0-rc.4"
"@abp/select2" "~8.2.0-rc.4"
"@abp/sweetalert2" "~8.2.0-rc.4"
"@abp/timeago" "~8.2.0-rc.4"
"@abp/toastr" "~8.2.0-rc.4"
"@abp/aspnetcore.mvc.ui@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-8.2.0-rc.4.tgz#5e4613f506a02d45d7adcee1060032774e635fe5"
integrity sha512-rr3BE6RhimlHcNv0HKT3xIi/+6Sq5TSqRDvmiFqa7bvxemKMstHiEa2lxpx5XP9CPpV9gNzjC/NV+TQy4YDIqg==
"@abp/aspnetcore.mvc.ui.theme.basic@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-8.2.0-rc.5.tgz#5cc3231d27e9e12e6fdc3e4fc5eb3e6f2019cf13"
integrity sha512-SKr5Zm6k2SxrRBW2gqJAsTag4KacVzuVG3sTCD5P5BZLYn5OvknwSeky4tg/wzCodWp20wf89hWyET4E0iKExg==
dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~8.2.0-rc.5"
"@abp/aspnetcore.mvc.ui.theme.shared@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-8.2.0-rc.5.tgz#97b86ea4daf4392a1067e2a7e7c03b4c381ccc82"
integrity sha512-lR3XbbNct+8QH1dRhED5s/CHCgkANVyNBrWCQbo4BwBFJ27d3wuJDVt39VxQUsgNfxEmyoJdVZNDRUKDv6fTOw==
dependencies:
"@abp/aspnetcore.mvc.ui" "~8.2.0-rc.5"
"@abp/bootstrap" "~8.2.0-rc.5"
"@abp/bootstrap-datepicker" "~8.2.0-rc.5"
"@abp/bootstrap-daterangepicker" "~8.2.0-rc.5"
"@abp/datatables.net-bs5" "~8.2.0-rc.5"
"@abp/font-awesome" "~8.2.0-rc.5"
"@abp/jquery-form" "~8.2.0-rc.5"
"@abp/jquery-validation-unobtrusive" "~8.2.0-rc.5"
"@abp/lodash" "~8.2.0-rc.5"
"@abp/luxon" "~8.2.0-rc.5"
"@abp/malihu-custom-scrollbar-plugin" "~8.2.0-rc.5"
"@abp/moment" "~8.2.0-rc.5"
"@abp/select2" "~8.2.0-rc.5"
"@abp/sweetalert2" "~8.2.0-rc.5"
"@abp/timeago" "~8.2.0-rc.5"
"@abp/toastr" "~8.2.0-rc.5"
"@abp/aspnetcore.mvc.ui@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-8.2.0-rc.5.tgz#4a845ebd4b6465b9ac04641d7479b449ca9e1c5f"
integrity sha512-l3brGHAD2jnlAWwITGNAY5zOtmc0WItVabYCTvKrYyNuKIPEtW9getUNFp9BFMT9x0KZiGnkkrRkvxH+DzIcug==
dependencies:
ansi-colors "^4.1.1"
"@abp/bootstrap-datepicker@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-8.2.0-rc.4.tgz#7f6b7b0da2c8fd46dc08b1976c57b80b65069246"
integrity sha512-+Ylw8PFuAmpza714vQPjfU/lCOS2NsUX2cGp12Yyy4fS36udPCa/HYWTVdpH36OGae1dV/GzrfgnlZsCvUNhBA==
"@abp/bootstrap-datepicker@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-8.2.0-rc.5.tgz#0e8755a51d7a691837951f7a071a9e59a2e9e6cf"
integrity sha512-bLt8l6kYbVblThd2iuXcp6Ydss8TefpnZXHyXrQCxZGmVb79I/vf48CekJo1OWY/WcyEi/bm0m4LEI8Q0Y/LZQ==
dependencies:
bootstrap-datepicker "^1.9.0"
"@abp/bootstrap-daterangepicker@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-8.2.0-rc.4.tgz#579e8a4fd9d235385514da3f2ca73283294a78e3"
integrity sha512-KIinwEwkCzlYd7gDJt3htgflfrdWnyW4fr/V6GVi2EGxK6UA5HWMRG8MkvUKXmJ4rCHfEUdpWeGBXLbPR8R4eQ==
"@abp/bootstrap-daterangepicker@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-8.2.0-rc.5.tgz#e37792f24c3c8a8643e5ba5744967505e54f836c"
integrity sha512-dN02S1g9sVgACMz+A5FJw0uz4u5lXTFd/7xjE+cmhj0p5AcGvDD3gTbes6d3QNKiwvsPge063lG9pisdn3uEjg==
dependencies:
bootstrap-daterangepicker "^3.1.0"
"@abp/bootstrap@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-8.2.0-rc.4.tgz#dc08a0db67a2a652c03087d299da1abfab677ebf"
integrity sha512-wwZQk2XU6puEzBJ7W+80Oh/8z6n+DNc2YJnCnJNPbURgclMsN4v3/WJ2iKlO4g0fOkepvlgYkbYWPf+pusxSCQ==
"@abp/bootstrap@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-8.2.0-rc.5.tgz#1acc191f8156d81e1794bc161bfb394ae8f7372e"
integrity sha512-FacgSrDlS3QSR+5WdOy06Qw0qF7OoqoBwAGqro2WOfY5sFR5OwEiqXHXUF95+a/q9B9NuYKXBjBfOPhljdiuuA==
dependencies:
"@abp/core" "~8.2.0-rc.4"
"@abp/core" "~8.2.0-rc.5"
bootstrap "^5.1.3"
"@abp/core@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-8.2.0-rc.4.tgz#bf6b343ab43468ca88cdb4697caf25d65aa2c269"
integrity sha512-rGUDzLIiUJZ+7ZgzOGXxzc4k//9EBjVY4P4kO0XKCOEv08YwsUJmTzddsiMHZLIqRJ2wdT1UiH7PrcolBiW1UQ==
"@abp/core@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-8.2.0-rc.5.tgz#67eb75df046f8997f6af14e86bf8dbf249388a8d"
integrity sha512-XVunQMbK/MApkfnpL+8WsVqsJxARBl6W0TZwKfPyfm1QzPWE75P4oW3CIdNis0+Ob5HfhSFFp78tVrbSoEdzYQ==
dependencies:
"@abp/utils" "~8.2.0-rc.4"
"@abp/utils" "~8.2.0-rc.5"
"@abp/datatables.net-bs5@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-8.2.0-rc.4.tgz#869021a6639d765abb645a5de7501881b67e7095"
integrity sha512-CdYfn4qhB/KdTYfOrAsUSPtw8AGAbZHOTc4EyWAmxDKFCFyakj27+uoV/Stgs25nCaAXn1JHysfOxoNkP1ikyg==
"@abp/datatables.net-bs5@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-8.2.0-rc.5.tgz#fe04af4b14530545a05c4c58361aadfdddd8e8c2"
integrity sha512-yZKC111JVxcOkDz/WxJyQ0lw3JpbBBWr21LVNjyhEiN62w8tJN1Gwo7CjL+7WFm7RPnAUUf/qwitRWmWl7M4YA==
dependencies:
"@abp/datatables.net" "~8.2.0-rc.4"
"@abp/datatables.net" "~8.2.0-rc.5"
datatables.net-bs5 "^1.11.4"
"@abp/datatables.net@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-8.2.0-rc.4.tgz#4f0e612a11813f38331aae221c342efc4443138d"
integrity sha512-omEYXlB/OzUGmvTy7k7rhZjWtXILpl7idLwV1yXzJUkdjLjaBzIgrbWj/80YAI5K7MdpKE0/pdPnORX6G5ij9Q==
"@abp/datatables.net@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-8.2.0-rc.5.tgz#94e4b933750332732eeef02119a6cdfca67811e7"
integrity sha512-IAXbC29eiHvA3unVMsFh2sNfiw+Jlgah0D++IUKOlz1eAzHMrpwP5KE4jmF6GESF7Al95NkgqH7cd6MUst+UlA==
dependencies:
"@abp/jquery" "~8.2.0-rc.4"
"@abp/jquery" "~8.2.0-rc.5"
datatables.net "^1.11.4"
"@abp/font-awesome@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-8.2.0-rc.4.tgz#5c977e54c428e80af2a93166e968ec7635b0694d"
integrity sha512-zyQwZhhOgKi6JLWbkI+iycwS1lcCx/tvn+AskQSdV2+ycnrcjm9TMWmWosAGwS6VW9demRamuegUNOgiVpy/SA==
"@abp/font-awesome@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-8.2.0-rc.5.tgz#5ae19305a373a6dd083944bd825ccea84aadf40b"
integrity sha512-VbcM80e9KrZzY6TJ9l/eW42CTpdQ0eBr5gOEW+/UWGTRalCLdGve9YVJZJA55bD1VtcgaR1sV342jw2B1XeN8w==
dependencies:
"@abp/core" "~8.2.0-rc.4"
"@abp/core" "~8.2.0-rc.5"
"@fortawesome/fontawesome-free" "^6.5.1"
"@abp/jquery-form@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-8.2.0-rc.4.tgz#3ef39f9f716ff17b34d61eeb3c234ed3867b91da"
integrity sha512-nD5c2g4aPlDSggoR2lJ0Zd9Jg/2yrpVKnJqNuvx7DIdxPIZed2LL5ONaOtO8pLTsKqh5ua1UsqgsyfJ/mb9T1w==
"@abp/jquery-form@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-8.2.0-rc.5.tgz#b955fe2c226f1f35a3736aa3b2170f265a797552"
integrity sha512-M9fUUYywljudem/K7aYlcIG2W+KTzUJPviSeOLo5KNxvVrScWr+Jf4M8Nbj6uWX1saYWmm5kYnfsDs+nOUcmDg==
dependencies:
"@abp/jquery" "~8.2.0-rc.4"
"@abp/jquery" "~8.2.0-rc.5"
jquery-form "^4.3.0"
"@abp/jquery-validation-unobtrusive@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-8.2.0-rc.4.tgz#5124068f01db8c0e4365594fefb236f91bd60e8d"
integrity sha512-JKtZoeSSbSGbTl28ZEHvqCvC2cCX3aOV7PHKhpIzQSfVK22Uo3swsc2bv3sH2HdxNi3jWAGcd7YUG093STMm3Q==
"@abp/jquery-validation-unobtrusive@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-8.2.0-rc.5.tgz#c790dc1b707ee7d24fe99c2b7be6bc558af09667"
integrity sha512-sUkfb17cR2zM669U83R8dviv+p+uGNl5nmOV0AP4ch6CzLfnTOYzKsqV7ESGVxqB8oVHO/Wnr8sXaaLdsoQzJw==
dependencies:
"@abp/jquery-validation" "~8.2.0-rc.4"
"@abp/jquery-validation" "~8.2.0-rc.5"
jquery-validation-unobtrusive "^3.2.12"
"@abp/jquery-validation@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-8.2.0-rc.4.tgz#95540b7a6ef1f27b511e42b03cdf0c1c364ce8df"
integrity sha512-fN2ZJ0eCjQ5nu5fdwKx0cmGTWZyzltwrfhnI0JG27EsBP8EtyO8aWHZEFKgL+vXTy07LraTJD1KSpIIZSsrHVw==
"@abp/jquery-validation@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-8.2.0-rc.5.tgz#294254556e804d641d3bf4ea50d1c3eb42f191d1"
integrity sha512-C7sOuSShkX5Ba6LiSBGuxlrORcxiYczZtsxyjRZzNzATYwEBHcLqMxDvgAsWeWtvtkMotkbB2k99vD93nlGuCQ==
dependencies:
"@abp/jquery" "~8.2.0-rc.4"
"@abp/jquery" "~8.2.0-rc.5"
jquery-validation "^1.19.3"
"@abp/jquery@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-8.2.0-rc.4.tgz#327452ce3f49f6a9fe32a1934a6f347e2a0a309b"
integrity sha512-JYeQwpa671AyYf7sv+XgCaie2mOjWCDZYlFHEqH4whjTqT5SU8WwSkhux+/KLtBImSeQyTzyup7CuQYWBuk15w==
"@abp/jquery@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-8.2.0-rc.5.tgz#9b01156a80d8da6407abb6d51541cb89624cb906"
integrity sha512-KcRVhxEmUuJHd4JNBSeJV+3Ush4w9ambKxwPi3+q1fqdePekrLk9jKNud5HkP6JredBoESJ+TkeVFFQ5HnYPVg==
dependencies:
"@abp/core" "~8.2.0-rc.4"
"@abp/core" "~8.2.0-rc.5"
jquery "~3.6.0"
"@abp/lodash@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-8.2.0-rc.4.tgz#229be25a0e09f4e1b74b7e064113c3a1347d28c7"
integrity sha512-zhLlPlhrCZNngx2ns3reKG2Nmec8g2KWbN55Z1gx0XYqaymT/0zuzfkfPBdpuoyIqrXcPJL0aK21SH4Tu8LjUA==
"@abp/lodash@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-8.2.0-rc.5.tgz#b6fa8754258dd2db59b0df65fb9f7d90c8611af6"
integrity sha512-LvK03DSk9lDNGEFrjMdiaAkaH58ll+PIn663KJk0kVZvtNLy/egCOMCc6EBuE5DUsjwebLi6YZYzgRQRRKirgw==
dependencies:
"@abp/core" "~8.2.0-rc.4"
"@abp/core" "~8.2.0-rc.5"
lodash "^4.17.21"
"@abp/luxon@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-8.2.0-rc.4.tgz#fdb6c8d13be6ded1d531e2d66b532d0453597c01"
integrity sha512-3iat30cVfmymoW208PjCLlrKO6VTuU8lgk/Vg0XnaX/DbNldNhBUHHzEgC9TiHLUejBSd5cunz88rhFuODz14Q==
"@abp/luxon@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-8.2.0-rc.5.tgz#e4300d1deebab16432737c831cfae0025b7c5891"
integrity sha512-UdAToIlS0CwmavErMtd5dwyssKNPa6oqlHrll5h7T26nHDPEdXzSi9rP8RvwqBkrt+BFPMctRSv6DYk8OwoWzA==
dependencies:
"@abp/core" "~8.2.0-rc.4"
"@abp/core" "~8.2.0-rc.5"
luxon "^2.3.0"
"@abp/malihu-custom-scrollbar-plugin@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-8.2.0-rc.4.tgz#1eb1621edd8559b43734590f123c331a360a2d93"
integrity sha512-OoqjoW1e5U/J77zr6A5DPyWha/b4UeTWaAXtl8xigJmhcDhvKe0jfvE33iHgZupFWiGu354mICNT+rQ1S2wMyA==
"@abp/malihu-custom-scrollbar-plugin@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-8.2.0-rc.5.tgz#8f39683e55fbc5487de08b9209a552cf32ea8087"
integrity sha512-e20kLUvnu6tD5GBjzGLQjTMeyeco4q5wO4H4mMuahJpCHue+EUrL0tT1IbWiE+eEmbePw/lAn7Yfhfwjq/+Eeg==
dependencies:
"@abp/core" "~8.2.0-rc.4"
"@abp/core" "~8.2.0-rc.5"
malihu-custom-scrollbar-plugin "^3.1.5"
"@abp/moment@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-8.2.0-rc.4.tgz#97eef0f868ad95057493e97f386c791871c063c3"
integrity sha512-q06AsfUbut7Rxgp0JMlN0dvP7C1QRMfPNO+95ZXEEnqDDlajqaIt4X/7l1gb/Iz+7yc5XVT7FJdmT+bR22etGA==
"@abp/moment@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-8.2.0-rc.5.tgz#e38c7e66ee383a986c7972f4ba2b19d79a43f60e"
integrity sha512-F//4TZySaFBTfWgBxzwTFLeStrS0nklmKcTMU+MOtb/7Zx3QtscJpNm4CmxiBpB8pLwK8xiJQGoiuMQdoTuq+g==
dependencies:
moment "^2.9.0"
"@abp/select2@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-8.2.0-rc.4.tgz#085ec0f915099201b75cbb7b4bfe6826039f542d"
integrity sha512-DrRNVxB0UcRCBhYkkp9TTmu3SDwaJ6kR3WCH7zMZgjYx/K250ojcuIot98fzuecuT3Te3qiGxKwBIclr2Yt/aw==
"@abp/select2@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-8.2.0-rc.5.tgz#5fc1dfa4bb871961db0ce9eb68a2c655c38b32d0"
integrity sha512-fT5L+mgiEOBtf2mmXNv6GtXVNjv22qQlgWp1UjI7c0jLtNPHa7P8idVTaP3g6d8b7VCP5zxIUGgjf6sZMxhADg==
dependencies:
"@abp/core" "~8.2.0-rc.4"
"@abp/core" "~8.2.0-rc.5"
select2 "^4.0.13"
"@abp/sweetalert2@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-8.2.0-rc.4.tgz#6866295a91602167cf314f1eb3bc315825cc0cb3"
integrity sha512-3NdBP/4ZhkroWrCVyfHoc0PM6ZJD0IhqXkPO/bMDTjX8scilU85SkC2iAnReD6BoLF6ywriMpozHiU2Ax8aH2Q==
"@abp/sweetalert2@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-8.2.0-rc.5.tgz#502d6dbaf2c5296f67722e085e52dd0fe62e8dde"
integrity sha512-S0LTMU0a9SPdSA3ezEpo03ZGfrr7XtouEs0O5c4fA0kWYsddNkalighy3CYTgZZwaR9oWNnY6t4pyka3WXAaqg==
dependencies:
"@abp/core" "~8.2.0-rc.4"
"@abp/core" "~8.2.0-rc.5"
sweetalert2 "^11.3.6"
"@abp/timeago@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-8.2.0-rc.4.tgz#777793699f0271e81b3fe96d46066a30925ed298"
integrity sha512-TfxUi1gn0dPuWFYCwo+g3xh4kkCo1otbvoUQOvrHp6VuQdHbXtSz0kP8VBPGKtVtlRsNe91+gDkv7n8njwrQ9g==
"@abp/timeago@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-8.2.0-rc.5.tgz#8bd78f2ee6b27b8ffd77e75a2851b61013e481ee"
integrity sha512-eLG9WFtP1dOoYHaNxyV8gOx1xnKmqSTwgviTU45qUFSNsgQHH1n0bpBxUXSSvaFw5mWRbF3R/JJQHql+Dl6Cow==
dependencies:
"@abp/jquery" "~8.2.0-rc.4"
"@abp/jquery" "~8.2.0-rc.5"
timeago "^1.6.7"
"@abp/toastr@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-8.2.0-rc.4.tgz#5edfc10d6123219cc86286ed8b1249af5dbadfde"
integrity sha512-QDJXroe1Fp2VEWU0Yza/L+DU9R0ZDBw0RcopRcliwAm5RgsVVaaxHZ+jO7LLDfP8JQ6Pi0wTamhKwrfglnG7Ww==
"@abp/toastr@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-8.2.0-rc.5.tgz#baecda4e6fed5676f58de2228bf8d1c6ae66d49e"
integrity sha512-y7aOY1LF62yRwXRSrvimtqIilrsOgSAM8lHcp2RogZAFdmw7yU1R5a6fJlLDGeRBIgjdcIlSpaOuoi6T2hCjFw==
dependencies:
"@abp/jquery" "~8.2.0-rc.4"
"@abp/jquery" "~8.2.0-rc.5"
toastr "^2.1.4"
"@abp/utils@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-8.2.0-rc.4.tgz#be59dd4b5dfc085b88528639047699a9e5486e81"
integrity sha512-imIFmlP0gY+rXFbwufo8jMzcmEuz/6uKr/e8/bW4bOhPDD65go/3TTVkNLr0hzB9qSahZG/LGu2eDFTqlowlrg==
"@abp/utils@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-8.2.0-rc.5.tgz#526d64aa3e059d2f6e595b22e35dda2d652377e4"
integrity sha512-ZU7jHFpDh7jDYgCrX6aXqy/v4LrMGgYJN+siyWUMpVddg2lTTO2MsxI+KmSxJwD7H01Mqj1sZ+LBAOVxGR3hsw==
dependencies:
just-compare "^2.3.0"

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

@ -3,7 +3,7 @@
"name": "my-app",
"private": true,
"dependencies": {
"@abp/aspnetcore.mvc.ui.theme.basic": "~8.2.0-rc.4",
"@abp/cms-kit": "8.2.0-rc.4"
"@abp/aspnetcore.mvc.ui.theme.basic": "~8.2.0-rc.5",
"@abp/cms-kit": "8.2.0-rc.5"
}
}

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

@ -2,293 +2,293 @@
# yarn lockfile v1
"@abp/aspnetcore.mvc.ui.theme.basic@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-8.2.0-rc.4.tgz#dc9e9e6541694531726127e2e387156a24dd7f9e"
integrity sha512-Ixs3yr5fHkB1h8PuuJdPiY0uDf+Dq9jUdbaHsoJmaYRdOSqhLDpNkyAqFFrqDmoEmZvmrThCupt5ZSg9laQ8yw==
dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~8.2.0-rc.4"
"@abp/aspnetcore.mvc.ui.theme.shared@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-8.2.0-rc.4.tgz#2b1468bf05fc505d11d5c0253a782a328088d283"
integrity sha512-QveGyyMKAMnY48+AsUqkB/LnqtnTc3Fd5m1wLPNVF+P0j6CaaETmfJNc0xw+WYF14r+NC8K4PeC58z3SYMGlLw==
dependencies:
"@abp/aspnetcore.mvc.ui" "~8.2.0-rc.4"
"@abp/bootstrap" "~8.2.0-rc.4"
"@abp/bootstrap-datepicker" "~8.2.0-rc.4"
"@abp/bootstrap-daterangepicker" "~8.2.0-rc.4"
"@abp/datatables.net-bs5" "~8.2.0-rc.4"
"@abp/font-awesome" "~8.2.0-rc.4"
"@abp/jquery-form" "~8.2.0-rc.4"
"@abp/jquery-validation-unobtrusive" "~8.2.0-rc.4"
"@abp/lodash" "~8.2.0-rc.4"
"@abp/luxon" "~8.2.0-rc.4"
"@abp/malihu-custom-scrollbar-plugin" "~8.2.0-rc.4"
"@abp/moment" "~8.2.0-rc.4"
"@abp/select2" "~8.2.0-rc.4"
"@abp/sweetalert2" "~8.2.0-rc.4"
"@abp/timeago" "~8.2.0-rc.4"
"@abp/toastr" "~8.2.0-rc.4"
"@abp/aspnetcore.mvc.ui@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-8.2.0-rc.4.tgz#5e4613f506a02d45d7adcee1060032774e635fe5"
integrity sha512-rr3BE6RhimlHcNv0HKT3xIi/+6Sq5TSqRDvmiFqa7bvxemKMstHiEa2lxpx5XP9CPpV9gNzjC/NV+TQy4YDIqg==
"@abp/aspnetcore.mvc.ui.theme.basic@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-8.2.0-rc.5.tgz#5cc3231d27e9e12e6fdc3e4fc5eb3e6f2019cf13"
integrity sha512-SKr5Zm6k2SxrRBW2gqJAsTag4KacVzuVG3sTCD5P5BZLYn5OvknwSeky4tg/wzCodWp20wf89hWyET4E0iKExg==
dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~8.2.0-rc.5"
"@abp/aspnetcore.mvc.ui.theme.shared@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-8.2.0-rc.5.tgz#97b86ea4daf4392a1067e2a7e7c03b4c381ccc82"
integrity sha512-lR3XbbNct+8QH1dRhED5s/CHCgkANVyNBrWCQbo4BwBFJ27d3wuJDVt39VxQUsgNfxEmyoJdVZNDRUKDv6fTOw==
dependencies:
"@abp/aspnetcore.mvc.ui" "~8.2.0-rc.5"
"@abp/bootstrap" "~8.2.0-rc.5"
"@abp/bootstrap-datepicker" "~8.2.0-rc.5"
"@abp/bootstrap-daterangepicker" "~8.2.0-rc.5"
"@abp/datatables.net-bs5" "~8.2.0-rc.5"
"@abp/font-awesome" "~8.2.0-rc.5"
"@abp/jquery-form" "~8.2.0-rc.5"
"@abp/jquery-validation-unobtrusive" "~8.2.0-rc.5"
"@abp/lodash" "~8.2.0-rc.5"
"@abp/luxon" "~8.2.0-rc.5"
"@abp/malihu-custom-scrollbar-plugin" "~8.2.0-rc.5"
"@abp/moment" "~8.2.0-rc.5"
"@abp/select2" "~8.2.0-rc.5"
"@abp/sweetalert2" "~8.2.0-rc.5"
"@abp/timeago" "~8.2.0-rc.5"
"@abp/toastr" "~8.2.0-rc.5"
"@abp/aspnetcore.mvc.ui@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-8.2.0-rc.5.tgz#4a845ebd4b6465b9ac04641d7479b449ca9e1c5f"
integrity sha512-l3brGHAD2jnlAWwITGNAY5zOtmc0WItVabYCTvKrYyNuKIPEtW9getUNFp9BFMT9x0KZiGnkkrRkvxH+DzIcug==
dependencies:
ansi-colors "^4.1.1"
"@abp/bootstrap-datepicker@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-8.2.0-rc.4.tgz#7f6b7b0da2c8fd46dc08b1976c57b80b65069246"
integrity sha512-+Ylw8PFuAmpza714vQPjfU/lCOS2NsUX2cGp12Yyy4fS36udPCa/HYWTVdpH36OGae1dV/GzrfgnlZsCvUNhBA==
"@abp/bootstrap-datepicker@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-8.2.0-rc.5.tgz#0e8755a51d7a691837951f7a071a9e59a2e9e6cf"
integrity sha512-bLt8l6kYbVblThd2iuXcp6Ydss8TefpnZXHyXrQCxZGmVb79I/vf48CekJo1OWY/WcyEi/bm0m4LEI8Q0Y/LZQ==
dependencies:
bootstrap-datepicker "^1.9.0"
"@abp/bootstrap-daterangepicker@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-8.2.0-rc.4.tgz#579e8a4fd9d235385514da3f2ca73283294a78e3"
integrity sha512-KIinwEwkCzlYd7gDJt3htgflfrdWnyW4fr/V6GVi2EGxK6UA5HWMRG8MkvUKXmJ4rCHfEUdpWeGBXLbPR8R4eQ==
"@abp/bootstrap-daterangepicker@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-8.2.0-rc.5.tgz#e37792f24c3c8a8643e5ba5744967505e54f836c"
integrity sha512-dN02S1g9sVgACMz+A5FJw0uz4u5lXTFd/7xjE+cmhj0p5AcGvDD3gTbes6d3QNKiwvsPge063lG9pisdn3uEjg==
dependencies:
bootstrap-daterangepicker "^3.1.0"
"@abp/bootstrap@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-8.2.0-rc.4.tgz#dc08a0db67a2a652c03087d299da1abfab677ebf"
integrity sha512-wwZQk2XU6puEzBJ7W+80Oh/8z6n+DNc2YJnCnJNPbURgclMsN4v3/WJ2iKlO4g0fOkepvlgYkbYWPf+pusxSCQ==
"@abp/bootstrap@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-8.2.0-rc.5.tgz#1acc191f8156d81e1794bc161bfb394ae8f7372e"
integrity sha512-FacgSrDlS3QSR+5WdOy06Qw0qF7OoqoBwAGqro2WOfY5sFR5OwEiqXHXUF95+a/q9B9NuYKXBjBfOPhljdiuuA==
dependencies:
"@abp/core" "~8.2.0-rc.4"
"@abp/core" "~8.2.0-rc.5"
bootstrap "^5.1.3"
"@abp/clipboard@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-8.2.0-rc.4.tgz#c3d20d642765dc235749d4f95f599cb97f23325d"
integrity sha512-w94YGLT/UVn1haLGlH8zOcgrCS64OrnVlzh3QXps+8m4S9g7KDeVk3g4ju/VUao2YKCHmRJ3uRhOGCb58of1iw==
"@abp/clipboard@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-8.2.0-rc.5.tgz#5cec3d9c89bdad8d50f41807b3be68d4cdecb003"
integrity sha512-cBaMy8A1CIU00X6SoGyuMTVf6z9iyEaR6smVRWCVmkf2VayAHFES981+iE+VmT2bezgbCidA2GXtkBZ/kunbJg==
dependencies:
"@abp/core" "~8.2.0-rc.4"
"@abp/core" "~8.2.0-rc.5"
clipboard "^2.0.8"
"@abp/cms-kit.admin@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/cms-kit.admin/-/cms-kit.admin-8.2.0-rc.4.tgz#755926c1b6d259c6d88858b7cf1d6c3c3a0b3792"
integrity sha512-90BYx3YhYYs6zk5j0AeSlvge6sFZF7h8PeER6VZ/jL2y74hRQ51Wc0zY6DjJpMgrzy7fpYDrJHMF/NaZe8qgNw==
"@abp/cms-kit.admin@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/cms-kit.admin/-/cms-kit.admin-8.2.0-rc.5.tgz#c91c4c4a3fb1d28e8ebbdb7eddcc9d739da0f5e0"
integrity sha512-0l6BfoKiqa2PqgucHwTL1uvrgQB9KV7OiT9OukwJfYi//9fgxi7ZNzqyjnI3ypb5yKRHYEX8pvFUpkDSBz+5Rg==
dependencies:
"@abp/codemirror" "~8.2.0-rc.4"
"@abp/jstree" "~8.2.0-rc.4"
"@abp/slugify" "~8.2.0-rc.4"
"@abp/tui-editor" "~8.2.0-rc.4"
"@abp/uppy" "~8.2.0-rc.4"
"@abp/codemirror" "~8.2.0-rc.5"
"@abp/jstree" "~8.2.0-rc.5"
"@abp/slugify" "~8.2.0-rc.5"
"@abp/tui-editor" "~8.2.0-rc.5"
"@abp/uppy" "~8.2.0-rc.5"
"@abp/cms-kit.public@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/cms-kit.public/-/cms-kit.public-8.2.0-rc.4.tgz#eccc6768693c3e29e85fcab4327e91eec83a3a8b"
integrity sha512-bu6TJ10aKDx/EgSau6WIKKaHKWbjPz4+FPfukU5iVZ8KorwVs1YBRVIBSTOn/MeRyxSm8VSFcAYeWft5LskMsA==
"@abp/cms-kit.public@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/cms-kit.public/-/cms-kit.public-8.2.0-rc.5.tgz#a7b55b0c9a15ea634e68b1399d215442d7b6791f"
integrity sha512-BdaPklN/NrSAmd5g0Gm/5rYVm1yyIo+8k+N8owqDQl56PuNS6nYV2z0s2kJGSgq1+rGLIBCoAsYwHTGchSl3Og==
dependencies:
"@abp/highlight.js" "~8.2.0-rc.4"
"@abp/star-rating-svg" "~8.2.0-rc.4"
"@abp/highlight.js" "~8.2.0-rc.5"
"@abp/star-rating-svg" "~8.2.0-rc.5"
"@abp/cms-kit@8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/cms-kit/-/cms-kit-8.2.0-rc.4.tgz#88573612c7bd8d7a873c61b0b843b029b9292e94"
integrity sha512-1nhEyG3uU3n38xGbglTDKgJA9C+NGhtF0XlaCXoasHRY45xUVQjv7c5XhZKMUWmzeFRk2FiqrU3Lanszf7VUYw==
"@abp/cms-kit@8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/cms-kit/-/cms-kit-8.2.0-rc.5.tgz#f56b0fc4bfc449e1f5089b56d5b31d8f9a3b52e3"
integrity sha512-yd1kzK5ozgtyo7NL1Cvpy1hi2M/nVmtkvlQpzLjj4Sh66ETX5RGqMn+c5F9RHWQG0htRbJADdnKEX92wyyqSzQ==
dependencies:
"@abp/cms-kit.admin" "~8.2.0-rc.4"
"@abp/cms-kit.public" "~8.2.0-rc.4"
"@abp/cms-kit.admin" "~8.2.0-rc.5"
"@abp/cms-kit.public" "~8.2.0-rc.5"
"@abp/codemirror@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/codemirror/-/codemirror-8.2.0-rc.4.tgz#c237035fcf35143cc4607d3808511470008b7163"
integrity sha512-FhiaQH87k9C/iZDOolEmTYTqUlvTVgg3LW99pjBfhmNgC7/nrN8kZFIckyKRFC5u5Vri4scpM036e5Cze47kvQ==
"@abp/codemirror@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/codemirror/-/codemirror-8.2.0-rc.5.tgz#aaaac96018847901b77e49a5b49889abc7b63534"
integrity sha512-eIy9kML6ObXLy8tX177Mhqvbv9w6nJ1vX3UpPT3bCc0CUu9MpqvUnj3MWd9SA3RqPiy23Jy4DS/M/6Nd40Um7A==
dependencies:
"@abp/core" "~8.2.0-rc.4"
"@abp/core" "~8.2.0-rc.5"
codemirror "^5.65.1"
"@abp/core@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-8.2.0-rc.4.tgz#bf6b343ab43468ca88cdb4697caf25d65aa2c269"
integrity sha512-rGUDzLIiUJZ+7ZgzOGXxzc4k//9EBjVY4P4kO0XKCOEv08YwsUJmTzddsiMHZLIqRJ2wdT1UiH7PrcolBiW1UQ==
"@abp/core@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-8.2.0-rc.5.tgz#67eb75df046f8997f6af14e86bf8dbf249388a8d"
integrity sha512-XVunQMbK/MApkfnpL+8WsVqsJxARBl6W0TZwKfPyfm1QzPWE75P4oW3CIdNis0+Ob5HfhSFFp78tVrbSoEdzYQ==
dependencies:
"@abp/utils" "~8.2.0-rc.4"
"@abp/utils" "~8.2.0-rc.5"
"@abp/datatables.net-bs5@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-8.2.0-rc.4.tgz#869021a6639d765abb645a5de7501881b67e7095"
integrity sha512-CdYfn4qhB/KdTYfOrAsUSPtw8AGAbZHOTc4EyWAmxDKFCFyakj27+uoV/Stgs25nCaAXn1JHysfOxoNkP1ikyg==
"@abp/datatables.net-bs5@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-8.2.0-rc.5.tgz#fe04af4b14530545a05c4c58361aadfdddd8e8c2"
integrity sha512-yZKC111JVxcOkDz/WxJyQ0lw3JpbBBWr21LVNjyhEiN62w8tJN1Gwo7CjL+7WFm7RPnAUUf/qwitRWmWl7M4YA==
dependencies:
"@abp/datatables.net" "~8.2.0-rc.4"
"@abp/datatables.net" "~8.2.0-rc.5"
datatables.net-bs5 "^1.11.4"
"@abp/datatables.net@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-8.2.0-rc.4.tgz#4f0e612a11813f38331aae221c342efc4443138d"
integrity sha512-omEYXlB/OzUGmvTy7k7rhZjWtXILpl7idLwV1yXzJUkdjLjaBzIgrbWj/80YAI5K7MdpKE0/pdPnORX6G5ij9Q==
"@abp/datatables.net@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-8.2.0-rc.5.tgz#94e4b933750332732eeef02119a6cdfca67811e7"
integrity sha512-IAXbC29eiHvA3unVMsFh2sNfiw+Jlgah0D++IUKOlz1eAzHMrpwP5KE4jmF6GESF7Al95NkgqH7cd6MUst+UlA==
dependencies:
"@abp/jquery" "~8.2.0-rc.4"
"@abp/jquery" "~8.2.0-rc.5"
datatables.net "^1.11.4"
"@abp/font-awesome@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-8.2.0-rc.4.tgz#5c977e54c428e80af2a93166e968ec7635b0694d"
integrity sha512-zyQwZhhOgKi6JLWbkI+iycwS1lcCx/tvn+AskQSdV2+ycnrcjm9TMWmWosAGwS6VW9demRamuegUNOgiVpy/SA==
"@abp/font-awesome@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-8.2.0-rc.5.tgz#5ae19305a373a6dd083944bd825ccea84aadf40b"
integrity sha512-VbcM80e9KrZzY6TJ9l/eW42CTpdQ0eBr5gOEW+/UWGTRalCLdGve9YVJZJA55bD1VtcgaR1sV342jw2B1XeN8w==
dependencies:
"@abp/core" "~8.2.0-rc.4"
"@abp/core" "~8.2.0-rc.5"
"@fortawesome/fontawesome-free" "^6.5.1"
"@abp/highlight.js@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/highlight.js/-/highlight.js-8.2.0-rc.4.tgz#94587632517396f3d251d2c457ea8a452203f086"
integrity sha512-RHSrR0qqXncosbHDfYBB8aXh0BQ6M8BpjbyXeqe+vKDIznzjv3jcyF2SIP/l6TBBYcaBPnAOdjfuC9i9B8Rfzg==
"@abp/highlight.js@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/highlight.js/-/highlight.js-8.2.0-rc.5.tgz#24c329217ad4092172cba3e9e23a67814f9a164f"
integrity sha512-NHoUAVrGDV+BQ1rtC4orZ0xYX/4VkjZgouIktpuCAEs8wiP6/5Ddjzf2uYFv8c6XVqBm1Mx9Bufxx7aYo2O/Uw==
dependencies:
"@abp/core" "~8.2.0-rc.4"
"@abp/core" "~8.2.0-rc.5"
"@highlightjs/cdn-assets" "~11.4.0"
"@abp/jquery-form@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-8.2.0-rc.4.tgz#3ef39f9f716ff17b34d61eeb3c234ed3867b91da"
integrity sha512-nD5c2g4aPlDSggoR2lJ0Zd9Jg/2yrpVKnJqNuvx7DIdxPIZed2LL5ONaOtO8pLTsKqh5ua1UsqgsyfJ/mb9T1w==
"@abp/jquery-form@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-8.2.0-rc.5.tgz#b955fe2c226f1f35a3736aa3b2170f265a797552"
integrity sha512-M9fUUYywljudem/K7aYlcIG2W+KTzUJPviSeOLo5KNxvVrScWr+Jf4M8Nbj6uWX1saYWmm5kYnfsDs+nOUcmDg==
dependencies:
"@abp/jquery" "~8.2.0-rc.4"
"@abp/jquery" "~8.2.0-rc.5"
jquery-form "^4.3.0"
"@abp/jquery-validation-unobtrusive@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-8.2.0-rc.4.tgz#5124068f01db8c0e4365594fefb236f91bd60e8d"
integrity sha512-JKtZoeSSbSGbTl28ZEHvqCvC2cCX3aOV7PHKhpIzQSfVK22Uo3swsc2bv3sH2HdxNi3jWAGcd7YUG093STMm3Q==
"@abp/jquery-validation-unobtrusive@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-8.2.0-rc.5.tgz#c790dc1b707ee7d24fe99c2b7be6bc558af09667"
integrity sha512-sUkfb17cR2zM669U83R8dviv+p+uGNl5nmOV0AP4ch6CzLfnTOYzKsqV7ESGVxqB8oVHO/Wnr8sXaaLdsoQzJw==
dependencies:
"@abp/jquery-validation" "~8.2.0-rc.4"
"@abp/jquery-validation" "~8.2.0-rc.5"
jquery-validation-unobtrusive "^3.2.12"
"@abp/jquery-validation@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-8.2.0-rc.4.tgz#95540b7a6ef1f27b511e42b03cdf0c1c364ce8df"
integrity sha512-fN2ZJ0eCjQ5nu5fdwKx0cmGTWZyzltwrfhnI0JG27EsBP8EtyO8aWHZEFKgL+vXTy07LraTJD1KSpIIZSsrHVw==
"@abp/jquery-validation@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-8.2.0-rc.5.tgz#294254556e804d641d3bf4ea50d1c3eb42f191d1"
integrity sha512-C7sOuSShkX5Ba6LiSBGuxlrORcxiYczZtsxyjRZzNzATYwEBHcLqMxDvgAsWeWtvtkMotkbB2k99vD93nlGuCQ==
dependencies:
"@abp/jquery" "~8.2.0-rc.4"
"@abp/jquery" "~8.2.0-rc.5"
jquery-validation "^1.19.3"
"@abp/jquery@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-8.2.0-rc.4.tgz#327452ce3f49f6a9fe32a1934a6f347e2a0a309b"
integrity sha512-JYeQwpa671AyYf7sv+XgCaie2mOjWCDZYlFHEqH4whjTqT5SU8WwSkhux+/KLtBImSeQyTzyup7CuQYWBuk15w==
"@abp/jquery@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-8.2.0-rc.5.tgz#9b01156a80d8da6407abb6d51541cb89624cb906"
integrity sha512-KcRVhxEmUuJHd4JNBSeJV+3Ush4w9ambKxwPi3+q1fqdePekrLk9jKNud5HkP6JredBoESJ+TkeVFFQ5HnYPVg==
dependencies:
"@abp/core" "~8.2.0-rc.4"
"@abp/core" "~8.2.0-rc.5"
jquery "~3.6.0"
"@abp/jstree@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/jstree/-/jstree-8.2.0-rc.4.tgz#7f3e492b950a33caaa45dde106e0409bc2139c2a"
integrity sha512-877rG+Y1kKGC6xg6E8R0J/bsyYLTXqhVnUA4HnZLdkVdwgOxRUwHZXiaR3zadbkpeFYACBkMdBGI0ozWkjn1PA==
"@abp/jstree@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/jstree/-/jstree-8.2.0-rc.5.tgz#7aa921da7a37a1616256041974b322cd237f38b2"
integrity sha512-VxnrLSZfQ+ln8vSm6Hu3DWCfsnb+L+dGzCP1Lkgv1/MrDiRBhp52zzJHcvxjNhoM7pgHQ6ivHwCiYQ+0ru+3hg==
dependencies:
"@abp/jquery" "~8.2.0-rc.4"
"@abp/jquery" "~8.2.0-rc.5"
jstree "^3.3.12"
"@abp/lodash@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-8.2.0-rc.4.tgz#229be25a0e09f4e1b74b7e064113c3a1347d28c7"
integrity sha512-zhLlPlhrCZNngx2ns3reKG2Nmec8g2KWbN55Z1gx0XYqaymT/0zuzfkfPBdpuoyIqrXcPJL0aK21SH4Tu8LjUA==
"@abp/lodash@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-8.2.0-rc.5.tgz#b6fa8754258dd2db59b0df65fb9f7d90c8611af6"
integrity sha512-LvK03DSk9lDNGEFrjMdiaAkaH58ll+PIn663KJk0kVZvtNLy/egCOMCc6EBuE5DUsjwebLi6YZYzgRQRRKirgw==
dependencies:
"@abp/core" "~8.2.0-rc.4"
"@abp/core" "~8.2.0-rc.5"
lodash "^4.17.21"
"@abp/luxon@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-8.2.0-rc.4.tgz#fdb6c8d13be6ded1d531e2d66b532d0453597c01"
integrity sha512-3iat30cVfmymoW208PjCLlrKO6VTuU8lgk/Vg0XnaX/DbNldNhBUHHzEgC9TiHLUejBSd5cunz88rhFuODz14Q==
"@abp/luxon@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-8.2.0-rc.5.tgz#e4300d1deebab16432737c831cfae0025b7c5891"
integrity sha512-UdAToIlS0CwmavErMtd5dwyssKNPa6oqlHrll5h7T26nHDPEdXzSi9rP8RvwqBkrt+BFPMctRSv6DYk8OwoWzA==
dependencies:
"@abp/core" "~8.2.0-rc.4"
"@abp/core" "~8.2.0-rc.5"
luxon "^2.3.0"
"@abp/malihu-custom-scrollbar-plugin@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-8.2.0-rc.4.tgz#1eb1621edd8559b43734590f123c331a360a2d93"
integrity sha512-OoqjoW1e5U/J77zr6A5DPyWha/b4UeTWaAXtl8xigJmhcDhvKe0jfvE33iHgZupFWiGu354mICNT+rQ1S2wMyA==
"@abp/malihu-custom-scrollbar-plugin@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-8.2.0-rc.5.tgz#8f39683e55fbc5487de08b9209a552cf32ea8087"
integrity sha512-e20kLUvnu6tD5GBjzGLQjTMeyeco4q5wO4H4mMuahJpCHue+EUrL0tT1IbWiE+eEmbePw/lAn7Yfhfwjq/+Eeg==
dependencies:
"@abp/core" "~8.2.0-rc.4"
"@abp/core" "~8.2.0-rc.5"
malihu-custom-scrollbar-plugin "^3.1.5"
"@abp/moment@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-8.2.0-rc.4.tgz#97eef0f868ad95057493e97f386c791871c063c3"
integrity sha512-q06AsfUbut7Rxgp0JMlN0dvP7C1QRMfPNO+95ZXEEnqDDlajqaIt4X/7l1gb/Iz+7yc5XVT7FJdmT+bR22etGA==
"@abp/moment@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-8.2.0-rc.5.tgz#e38c7e66ee383a986c7972f4ba2b19d79a43f60e"
integrity sha512-F//4TZySaFBTfWgBxzwTFLeStrS0nklmKcTMU+MOtb/7Zx3QtscJpNm4CmxiBpB8pLwK8xiJQGoiuMQdoTuq+g==
dependencies:
moment "^2.9.0"
"@abp/prismjs@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-8.2.0-rc.4.tgz#f6df729333d4dc934c3978c29e62dddf6a22c19a"
integrity sha512-+fLF7ndhgV9v3zcWFoNSR0kPasIcagJC6FT90ALWs2XccBtjAYOm9/365DK5lyDUh0ynHx9fBgDdCdIX0Zv9RA==
"@abp/prismjs@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-8.2.0-rc.5.tgz#7a7428bb2f118cef5121a196bc45cc5d1a5a8e93"
integrity sha512-lNPqRvisf8jAxyL/05ppH26ZH4DEEzZUKqO7zqqS+yl7sBTpR/Wh8xX09spQl+wBQTLWAz2z+MouBZnMQIYKjg==
dependencies:
"@abp/clipboard" "~8.2.0-rc.4"
"@abp/core" "~8.2.0-rc.4"
"@abp/clipboard" "~8.2.0-rc.5"
"@abp/core" "~8.2.0-rc.5"
prismjs "^1.26.0"
"@abp/select2@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-8.2.0-rc.4.tgz#085ec0f915099201b75cbb7b4bfe6826039f542d"
integrity sha512-DrRNVxB0UcRCBhYkkp9TTmu3SDwaJ6kR3WCH7zMZgjYx/K250ojcuIot98fzuecuT3Te3qiGxKwBIclr2Yt/aw==
"@abp/select2@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-8.2.0-rc.5.tgz#5fc1dfa4bb871961db0ce9eb68a2c655c38b32d0"
integrity sha512-fT5L+mgiEOBtf2mmXNv6GtXVNjv22qQlgWp1UjI7c0jLtNPHa7P8idVTaP3g6d8b7VCP5zxIUGgjf6sZMxhADg==
dependencies:
"@abp/core" "~8.2.0-rc.4"
"@abp/core" "~8.2.0-rc.5"
select2 "^4.0.13"
"@abp/slugify@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/slugify/-/slugify-8.2.0-rc.4.tgz#f98961f363fa13648d03b0c23728e36e1cac3ea3"
integrity sha512-f3PDG3PFj4CNgRdPUue1rtwy5kNcpSlxUBuQPg3rwSQzdVZQS+dbTOFlkwtt/p8tcAkKaTOWL625Ezk02OS88g==
"@abp/slugify@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/slugify/-/slugify-8.2.0-rc.5.tgz#99f074e35a92d36912ccc984886682d225994ed2"
integrity sha512-NuEwyxW97VxHH4XEb1fejn/HMYlPCiVJgKdhxQB1XXw7yLqO9QTL6Z5v3H3gafllz/z6OyHdZFCOxq3lkgWt5Q==
dependencies:
slugify "^1.6.5"
"@abp/star-rating-svg@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/star-rating-svg/-/star-rating-svg-8.2.0-rc.4.tgz#c9d4d9f91a198aae5e436b88ce2163aa084f1b25"
integrity sha512-TdFt8FQhkStWfQ1d3OpupAxnw9f0sI53biMDLWweK40nuGEEtdaHHwU17yHcHMxQSMKm4xamxDsOPBD0xWYf+A==
"@abp/star-rating-svg@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/star-rating-svg/-/star-rating-svg-8.2.0-rc.5.tgz#59b231f053e67543eb259a516c03f62586bf0257"
integrity sha512-VLudGc14ui8qKXA8zjIjPUJCjCdOsF7bhd6y2E1tNrOOYyjKQqmrDEyslo8G7uCQhJ7kPhBULHDfJk8oViYruA==
dependencies:
"@abp/jquery" "~8.2.0-rc.4"
"@abp/jquery" "~8.2.0-rc.5"
star-rating-svg "^3.5.0"
"@abp/sweetalert2@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-8.2.0-rc.4.tgz#6866295a91602167cf314f1eb3bc315825cc0cb3"
integrity sha512-3NdBP/4ZhkroWrCVyfHoc0PM6ZJD0IhqXkPO/bMDTjX8scilU85SkC2iAnReD6BoLF6ywriMpozHiU2Ax8aH2Q==
"@abp/sweetalert2@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-8.2.0-rc.5.tgz#502d6dbaf2c5296f67722e085e52dd0fe62e8dde"
integrity sha512-S0LTMU0a9SPdSA3ezEpo03ZGfrr7XtouEs0O5c4fA0kWYsddNkalighy3CYTgZZwaR9oWNnY6t4pyka3WXAaqg==
dependencies:
"@abp/core" "~8.2.0-rc.4"
"@abp/core" "~8.2.0-rc.5"
sweetalert2 "^11.3.6"
"@abp/timeago@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-8.2.0-rc.4.tgz#777793699f0271e81b3fe96d46066a30925ed298"
integrity sha512-TfxUi1gn0dPuWFYCwo+g3xh4kkCo1otbvoUQOvrHp6VuQdHbXtSz0kP8VBPGKtVtlRsNe91+gDkv7n8njwrQ9g==
"@abp/timeago@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-8.2.0-rc.5.tgz#8bd78f2ee6b27b8ffd77e75a2851b61013e481ee"
integrity sha512-eLG9WFtP1dOoYHaNxyV8gOx1xnKmqSTwgviTU45qUFSNsgQHH1n0bpBxUXSSvaFw5mWRbF3R/JJQHql+Dl6Cow==
dependencies:
"@abp/jquery" "~8.2.0-rc.4"
"@abp/jquery" "~8.2.0-rc.5"
timeago "^1.6.7"
"@abp/toastr@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-8.2.0-rc.4.tgz#5edfc10d6123219cc86286ed8b1249af5dbadfde"
integrity sha512-QDJXroe1Fp2VEWU0Yza/L+DU9R0ZDBw0RcopRcliwAm5RgsVVaaxHZ+jO7LLDfP8JQ6Pi0wTamhKwrfglnG7Ww==
"@abp/toastr@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-8.2.0-rc.5.tgz#baecda4e6fed5676f58de2228bf8d1c6ae66d49e"
integrity sha512-y7aOY1LF62yRwXRSrvimtqIilrsOgSAM8lHcp2RogZAFdmw7yU1R5a6fJlLDGeRBIgjdcIlSpaOuoi6T2hCjFw==
dependencies:
"@abp/jquery" "~8.2.0-rc.4"
"@abp/jquery" "~8.2.0-rc.5"
toastr "^2.1.4"
"@abp/tui-editor@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/tui-editor/-/tui-editor-8.2.0-rc.4.tgz#105b5245b59a00ca3dc92900f051dfc55119c0ff"
integrity sha512-bKfHMbgelmrzqKzdKT6xONwjWDTKiSXroQaHCHcoCmAH6dRboIFCvltMY1xvOk5BAjWUOOgOB+G8PA3rhdlBYg==
"@abp/tui-editor@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/tui-editor/-/tui-editor-8.2.0-rc.5.tgz#809ef1bb0f90576d2ad7e67b13e707fe889a7e27"
integrity sha512-M1rKE0IhOmj6b/RopK2zDLSe0c7uSngWTv7MYEQjmGwHBG1+M0CEBSXVZWEJQ+LZjB+83oc4Z4UOW+yUW0suXg==
dependencies:
"@abp/jquery" "~8.2.0-rc.4"
"@abp/prismjs" "~8.2.0-rc.4"
"@abp/jquery" "~8.2.0-rc.5"
"@abp/prismjs" "~8.2.0-rc.5"
"@abp/uppy@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/uppy/-/uppy-8.2.0-rc.4.tgz#d22105ae16bd9c8254b15c54f7b64ab8960822a5"
integrity sha512-MmoM5AULSBKLi97T5fmZ1WZaBj2GO/L4v6AR4SNsw9ID8frCUYadk8tb+qEitVW+d2ji9M91C4A22ILMmsVjeg==
"@abp/uppy@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/uppy/-/uppy-8.2.0-rc.5.tgz#5ff805da9d2ff6370c2b67ef4d4feac271dca89e"
integrity sha512-Wgkvo1KLLNQy61u8yRQ4/FyyL+PVOTBAzHh/GqLdgazToO+F22Z+7C0asX4P4dM77PmJ+Ynyp0uiohK1+ep+MQ==
dependencies:
"@abp/core" "~8.2.0-rc.4"
"@abp/core" "~8.2.0-rc.5"
uppy "^3.0.0"
"@abp/utils@~8.2.0-rc.4":
version "8.2.0-rc.4"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-8.2.0-rc.4.tgz#be59dd4b5dfc085b88528639047699a9e5486e81"
integrity sha512-imIFmlP0gY+rXFbwufo8jMzcmEuz/6uKr/e8/bW4bOhPDD65go/3TTVkNLr0hzB9qSahZG/LGu2eDFTqlowlrg==
"@abp/utils@~8.2.0-rc.5":
version "8.2.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-8.2.0-rc.5.tgz#526d64aa3e059d2f6e595b22e35dda2d652377e4"
integrity sha512-ZU7jHFpDh7jDYgCrX6aXqy/v4LrMGgYJN+siyWUMpVddg2lTTO2MsxI+KmSxJwD7H01Mqj1sZ+LBAOVxGR3hsw==
dependencies:
just-compare "^2.3.0"

11
modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Comments/CommentApprovalDto.cs

@ -0,0 +1,11 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace Volo.CmsKit.Admin.Comments;
[Serializable]
public class CommentApprovalDto
{
public bool IsApproved { get; set; }
}

4
modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Comments/CommentDto.cs

@ -1,4 +1,4 @@
using System;
using System;
using Volo.Abp.ObjectExtending;
namespace Volo.CmsKit.Admin.Comments;
@ -19,4 +19,6 @@ public class CommentDto : ExtensibleObject
public Guid CreatorId { get; set; }
public DateTime CreationTime { get; set; }
public bool? IsApproved { get; set; }
}

3
modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Comments/CommentGetListInput.cs

@ -1,5 +1,6 @@
using System;
using Volo.Abp.Application.Dtos;
using Volo.CmsKit.Comments;
namespace Volo.CmsKit.Admin.Comments;
@ -17,4 +18,6 @@ public class CommentGetListInput : PagedAndSortedResultRequestDto
public DateTime? CreationStartDate { get; set; }
public DateTime? CreationEndDate { get; set; }
public CommentApproveState CommentApproveState { get; set; }
}

9
modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Comments/CommentSettingsDto.cs

@ -0,0 +1,9 @@
using System;
namespace Volo.CmsKit.Admin.Comments;
[Serializable]
public class CommentSettingsDto
{
public bool CommentRequireApprovement { get; set; }
}

4
modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Comments/CommentWithAuthorDto.cs

@ -1,4 +1,4 @@
using System;
using System;
using Volo.Abp.ObjectExtending;
namespace Volo.CmsKit.Admin.Comments;
@ -23,4 +23,6 @@ public class CommentWithAuthorDto : ExtensibleObject
public CmsUserDto Author { get; set; }
public string Url { get; set; }
public bool? IsApproved { get; set; }
}

8
modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Comments/ICommentAdminAppService.cs

@ -1,4 +1,4 @@
using System;
using System;
using System.Threading.Tasks;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Application.Services;
@ -12,4 +12,10 @@ public interface ICommentAdminAppService : IApplicationService
Task<CommentWithAuthorDto> GetAsync(Guid id);
Task DeleteAsync(Guid id);
Task UpdateApprovalStatusAsync(Guid id, CommentApprovalDto input);
Task UpdateSettingsAsync(CommentSettingsDto input);
Task<int> GetWaitingCountAsync();
}

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

@ -17,6 +17,10 @@ public class CmsKitAdminPermissionDefinitionProvider : PermissionDefinitionProvi
.RequireGlobalFeatures(typeof(CommentsFeature));
contentGroup.AddChild(CmsKitAdminPermissions.Comments.Delete, L("Permission:Comments.Delete"))
.RequireGlobalFeatures(typeof(CommentsFeature));
contentGroup.AddChild(CmsKitAdminPermissions.Comments.Update, L("Permission:Comments.Update"))
.RequireGlobalFeatures(typeof(CommentsFeature));
contentGroup.AddChild(CmsKitAdminPermissions.Comments.SettingManagement, L("Permission:Comments.SettingManagement"))
.RequireGlobalFeatures(typeof(CommentsFeature));
var tagGroup = cmsGroup.AddPermission(CmsKitAdminPermissions.Tags.Default, L("Permission:TagManagement"))
.RequireGlobalFeatures(typeof(TagsFeature));

2
modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Permissions/CmsKitAdminPermissions.cs

@ -8,6 +8,8 @@ public static class CmsKitAdminPermissions
{
public const string Default = GroupName + ".Comments";
public const string Delete = Default + ".Delete";
public const string Update = Default + ".Update";
public const string SettingManagement = Default + ".SettingManagement";
}
public static class Tags

3
modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo.CmsKit.Admin.Application.csproj

@ -1,4 +1,4 @@
<Project Sdk="Microsoft.NET.Sdk">
<Project Sdk="Microsoft.NET.Sdk">
<Import Project="..\..\..\..\common.props" />
<Import Project="..\..\..\..\configureawait.props" />
@ -17,4 +17,5 @@
<Folder Include="Volo\CmsKit\Admin\Contents\" />
</ItemGroup>
</Project>

1
modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/CmsKitAdminApplicationAutoMapperProfile.cs

@ -34,6 +34,7 @@ public class CmsKitAdminApplicationAutoMapperProfile : Profile
CreateMap<BlogPost, BlogPostListDto>()
.Ignore(d => d.BlogName)
.MapExtraProperties();
CreateMap<CreateBlogPostDto, BlogPost>(MemberList.Source).MapExtraProperties();
CreateMap<UpdateBlogPostDto, BlogPost>(MemberList.Source).MapExtraProperties();

45
modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Comments/CommentAdminAppService.cs

@ -5,6 +5,7 @@ using Microsoft.AspNetCore.Authorization;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Features;
using Volo.Abp.GlobalFeatures;
using Volo.Abp.SettingManagement;
using Volo.CmsKit.Comments;
using Volo.CmsKit.Features;
using Volo.CmsKit.GlobalFeatures;
@ -20,9 +21,14 @@ public class CommentAdminAppService : CmsKitAdminAppServiceBase, ICommentAdminAp
{
protected ICommentRepository CommentRepository { get; }
public CommentAdminAppService(ICommentRepository commentRepository)
protected ISettingManager SettingManager { get; }
public CommentAdminAppService(
ICommentRepository commentRepository,
ISettingManager settingManager)
{
CommentRepository = commentRepository;
SettingManager = settingManager;
}
public virtual async Task<PagedResultDto<CommentWithAuthorDto>> GetListAsync(CommentGetListInput input)
@ -33,7 +39,9 @@ public class CommentAdminAppService : CmsKitAdminAppServiceBase, ICommentAdminAp
input.RepliedCommentId,
input.Author,
input.CreationStartDate,
input.CreationEndDate);
input.CreationEndDate,
input.CommentApproveState
);
var comments = await CommentRepository.GetListAsync(
input.Text,
@ -44,7 +52,8 @@ public class CommentAdminAppService : CmsKitAdminAppServiceBase, ICommentAdminAp
input.CreationEndDate,
input.Sorting,
input.MaxResultCount,
input.SkipCount
input.SkipCount,
input.CommentApproveState
);
var dtos = comments.Select(queryResultItem =>
@ -74,4 +83,32 @@ public class CommentAdminAppService : CmsKitAdminAppServiceBase, ICommentAdminAp
var comment = await CommentRepository.GetAsync(id);
await CommentRepository.DeleteWithRepliesAsync(comment);
}
}
[Authorize(CmsKitAdminPermissions.Comments.Update)]
public async Task UpdateApprovalStatusAsync(Guid id, CommentApprovalDto input)
{
var comment = await CommentRepository.GetAsync(id);
if (input.IsApproved)
{
comment.Approve();
}
else
{
comment.Reject();
}
await CommentRepository.UpdateAsync(comment);
}
[Authorize(CmsKitAdminPermissions.Comments.SettingManagement)]
public async Task UpdateSettingsAsync(CommentSettingsDto input)
{
await SettingManager.SetGlobalAsync(CmsKitSettings.Comments.RequireApprovement, input.CommentRequireApprovement.ToString());
}
public async Task<int> GetWaitingCountAsync()
{
return (int)await CommentRepository.GetCountAsync(commentApproveState: CommentApproveState.Waiting);
}
}

22
modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi.Client/ClientProxies/Volo/CmsKit/Admin/Comments/CommentAdminClientProxy.Generated.cs

@ -40,4 +40,26 @@ public partial class CommentAdminClientProxy : ClientProxyBase<ICommentAdminAppS
{ typeof(Guid), id }
});
}
public virtual async Task UpdateApprovalStatusAsync(Guid id, CommentApprovalDto input)
{
await RequestAsync(nameof(UpdateApprovalStatusAsync), new ClientProxyRequestTypeValue
{
{ typeof(Guid), id },
{ typeof(CommentApprovalDto), input }
});
}
public virtual async Task UpdateSettingsAsync(CommentSettingsDto input)
{
await RequestAsync(nameof(UpdateSettingsAsync), new ClientProxyRequestTypeValue
{
{ typeof(CommentSettingsDto), input }
});
}
public virtual async Task<int> GetWaitingCountAsync()
{
return await RequestAsync<int>(nameof(GetWaitingCountAsync));
}
}

171
modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi.Client/ClientProxies/cms-kit-admin-generate-proxy.json

@ -1267,6 +1267,56 @@
"type": "System.Void",
"typeSimple": "System.Void"
}
},
{
"name": "UpdateApprovalStatusAsync",
"parametersOnMethod": [
{
"name": "id",
"typeAsString": "System.Guid, System.Private.CoreLib",
"type": "System.Guid",
"typeSimple": "string",
"isOptional": false,
"defaultValue": null
},
{
"name": "input",
"typeAsString": "Volo.CmsKit.Admin.Comments.CommentApprovalDto, Volo.CmsKit.Admin.Application.Contracts",
"type": "Volo.CmsKit.Admin.Comments.CommentApprovalDto",
"typeSimple": "Volo.CmsKit.Admin.Comments.CommentApprovalDto",
"isOptional": false,
"defaultValue": null
}
],
"returnValue": {
"type": "System.Void",
"typeSimple": "System.Void"
}
},
{
"name": "UpdateSettingsAsync",
"parametersOnMethod": [
{
"name": "input",
"typeAsString": "Volo.CmsKit.Admin.Comments.CommentSettingsDto, Volo.CmsKit.Admin.Application.Contracts",
"type": "Volo.CmsKit.Admin.Comments.CommentSettingsDto",
"typeSimple": "Volo.CmsKit.Admin.Comments.CommentSettingsDto",
"isOptional": false,
"defaultValue": null
}
],
"returnValue": {
"type": "System.Void",
"typeSimple": "System.Void"
}
},
{
"name": "GetWaitingCountAsync",
"parametersOnMethod": [],
"returnValue": {
"type": "System.Int32",
"typeSimple": "number"
}
}
]
}
@ -1361,6 +1411,18 @@
"bindingSourceId": "ModelBinding",
"descriptorName": "input"
},
{
"nameOnMethod": "input",
"name": "CommentApproveState",
"jsonName": null,
"type": "System.String",
"typeSimple": "string",
"isOptional": false,
"defaultValue": null,
"constraintTypes": null,
"bindingSourceId": "ModelBinding",
"descriptorName": "input"
},
{
"nameOnMethod": "input",
"name": "Sorting",
@ -1478,6 +1540,115 @@
},
"allowAnonymous": false,
"implementFrom": "Volo.CmsKit.Admin.Comments.ICommentAdminAppService"
},
"UpdateApprovalStatusAsyncByIdAndInput": {
"uniqueName": "UpdateApprovalStatusAsyncByIdAndInput",
"name": "UpdateApprovalStatusAsync",
"httpMethod": "PUT",
"url": "api/cms-kit-admin/comments/{id}/approval-status",
"supportedVersions": [],
"parametersOnMethod": [
{
"name": "id",
"typeAsString": "System.Guid, System.Private.CoreLib",
"type": "System.Guid",
"typeSimple": "string",
"isOptional": false,
"defaultValue": null
},
{
"name": "input",
"typeAsString": "Volo.CmsKit.Admin.Comments.CommentApprovalDto, Volo.CmsKit.Admin.Application.Contracts",
"type": "Volo.CmsKit.Admin.Comments.CommentApprovalDto",
"typeSimple": "Volo.CmsKit.Admin.Comments.CommentApprovalDto",
"isOptional": false,
"defaultValue": null
}
],
"parameters": [
{
"nameOnMethod": "id",
"name": "id",
"jsonName": null,
"type": "System.Guid",
"typeSimple": "string",
"isOptional": false,
"defaultValue": null,
"constraintTypes": [],
"bindingSourceId": "Path",
"descriptorName": ""
},
{
"nameOnMethod": "input",
"name": "input",
"jsonName": null,
"type": "Volo.CmsKit.Admin.Comments.CommentApprovalDto",
"typeSimple": "Volo.CmsKit.Admin.Comments.CommentApprovalDto",
"isOptional": false,
"defaultValue": null,
"constraintTypes": null,
"bindingSourceId": "Body",
"descriptorName": ""
}
],
"returnValue": {
"type": "System.Void",
"typeSimple": "System.Void"
},
"allowAnonymous": false,
"implementFrom": "Volo.CmsKit.Admin.Comments.ICommentAdminAppService"
},
"UpdateSettingsAsyncByInput": {
"uniqueName": "UpdateSettingsAsyncByInput",
"name": "UpdateSettingsAsync",
"httpMethod": "POST",
"url": "api/cms-kit-admin/comments/settings",
"supportedVersions": [],
"parametersOnMethod": [
{
"name": "input",
"typeAsString": "Volo.CmsKit.Admin.Comments.CommentSettingsDto, Volo.CmsKit.Admin.Application.Contracts",
"type": "Volo.CmsKit.Admin.Comments.CommentSettingsDto",
"typeSimple": "Volo.CmsKit.Admin.Comments.CommentSettingsDto",
"isOptional": false,
"defaultValue": null
}
],
"parameters": [
{
"nameOnMethod": "input",
"name": "input",
"jsonName": null,
"type": "Volo.CmsKit.Admin.Comments.CommentSettingsDto",
"typeSimple": "Volo.CmsKit.Admin.Comments.CommentSettingsDto",
"isOptional": false,
"defaultValue": null,
"constraintTypes": null,
"bindingSourceId": "Body",
"descriptorName": ""
}
],
"returnValue": {
"type": "System.Void",
"typeSimple": "System.Void"
},
"allowAnonymous": false,
"implementFrom": "Volo.CmsKit.Admin.Comments.ICommentAdminAppService"
},
"GetWaitingCountAsync": {
"uniqueName": "GetWaitingCountAsync",
"name": "GetWaitingCountAsync",
"httpMethod": "GET",
"url": "api/cms-kit-admin/comments/waiting-count",
"supportedVersions": [],
"parametersOnMethod": [],
"parameters": [],
"returnValue": {
"type": "System.Int32",
"typeSimple": "number"
},
"allowAnonymous": false,
"implementFrom": "Volo.CmsKit.Admin.Comments.ICommentAdminAppService"
}
}
},

21
modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Comments/CommentAdminController.cs

@ -47,4 +47,25 @@ public class CommentAdminController : CmsKitAdminController, ICommentAdminAppSer
{
return CommentAdminAppService.DeleteAsync(id);
}
[HttpPut]
[Route("{id}/approval-status")]
public Task UpdateApprovalStatusAsync(Guid id, CommentApprovalDto input)
{
return CommentAdminAppService.UpdateApprovalStatusAsync(id, input);
}
[HttpPost]
[Route("settings")]
public Task UpdateSettingsAsync(CommentSettingsDto input)
{
return CommentAdminAppService.UpdateSettingsAsync(input);
}
[HttpGet]
[Route("waiting-count")]
public Task<int> GetWaitingCountAsync()
{
return CommentAdminAppService.GetWaitingCountAsync();
}
}

31
modules/cms-kit/src/Volo.CmsKit.Admin.Web/CmsKitAdminWebModule.cs

@ -2,6 +2,10 @@
using Microsoft.Extensions.DependencyInjection;
using Volo.Abp.AspNetCore.Mvc;
using Volo.Abp.AspNetCore.Mvc.Localization;
using Volo.Abp.AspNetCore.Mvc.UI.Bundling;
using Volo.Abp.AspNetCore.Mvc.UI.Packages.MarkdownIt;
using Volo.Abp.AspNetCore.Mvc.UI.Packages.Prismjs;
using Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.Bundling;
using Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.PageToolbars;
using Volo.Abp.AutoMapper;
using Volo.Abp.Http.ProxyScripting.Generators.JQuery;
@ -9,11 +13,14 @@ using Volo.Abp.Localization;
using Volo.Abp.Modularity;
using Volo.Abp.ObjectExtending;
using Volo.Abp.ObjectExtending.Modularity;
using Volo.Abp.SettingManagement.Web.Pages.SettingManagement;
using Volo.Abp.Threading;
using Volo.Abp.UI.Navigation;
using Volo.Abp.VirtualFileSystem;
using Volo.CmsKit.Admin.MediaDescriptors;
using Volo.CmsKit.Admin.Web.Menus;
using Volo.CmsKit.Admin.Web.Pages.CmsKit.Comments.Approve;
using Volo.CmsKit.Admin.Web.Pages.CmsKit.Shared.Components.Comments;
using Volo.CmsKit.Localization;
using Volo.CmsKit.Permissions;
using Volo.CmsKit.Web;
@ -53,6 +60,21 @@ public class CmsKitAdminWebModule : AbpModule
options.MenuContributors.Add(new CmsKitAdminMenuContributor());
});
Configure<AbpBundlingOptions>(options =>
{
options.ScriptBundles
.Configure(typeof(Abp.SettingManagement.Web.Pages.SettingManagement.IndexModel).FullName,
configuration =>
{
configuration.AddContributors(typeof(CommentSettingScriptBundleContributor));
})
.Configure(StandardBundles.Scripts.Global,
configuration =>
{
configuration.AddContributors(typeof(MarkdownItScriptContributor));
});
});
Configure<AbpVirtualFileSystemOptions>(options =>
{
options.FileSets.AddEmbedded<CmsKitAdminWebModule>("Volo.CmsKit.Admin.Web");
@ -77,6 +99,7 @@ public class CmsKitAdminWebModule : AbpModule
options.Conventions.AuthorizeFolder("/CmsKit/BlogPosts/Create", CmsKitAdminPermissions.BlogPosts.Create);
options.Conventions.AuthorizeFolder("/CmsKit/BlogPosts/Update", CmsKitAdminPermissions.BlogPosts.Update);
options.Conventions.AuthorizeFolder("/CmsKit/Comments/", CmsKitAdminPermissions.Comments.Default);
options.Conventions.AuthorizeFolder("/CmsKit/Comments/Approve", CmsKitAdminPermissions.Comments.Default);
options.Conventions.AuthorizeFolder("/CmsKit/Comments/Details", CmsKitAdminPermissions.Comments.Default);
options.Conventions.AuthorizeFolder("/CmsKit/Menus", CmsKitAdminPermissions.Menus.Default);
options.Conventions.AuthorizePage("/CmsKit/Menus/MenuItems/CreateModal", CmsKitAdminPermissions.Menus.Create);
@ -99,6 +122,7 @@ public class CmsKitAdminWebModule : AbpModule
options.Conventions.AddPageRoute("/CmsKit/Comments/Details", "/Cms/Comments/{Id}");
options.Conventions.AddPageRoute("/CmsKit/Menus/MenuItems/Index", "/Cms/Menus/Items");
options.Conventions.AddPageRoute("/CmsKit/GlobalResources/Index", "/Cms/GlobalResources");
options.Conventions.AddPageRoute("/CmsKit/Comments/Approve/Index", "/Cms/Comments/Approve");
});
Configure<AbpPageToolbarOptions>(options =>
@ -163,7 +187,7 @@ public class CmsKitAdminWebModule : AbpModule
);
});
});
Configure<DynamicJavaScriptProxyOptions>(options =>
{
options.DisableModule(CmsKitAdminRemoteServiceConsts.ModuleName);
@ -173,6 +197,11 @@ public class CmsKitAdminWebModule : AbpModule
{
options.ConventionalControllers.FormBodyBindingIgnoredTypes.Add(typeof(CreateMediaInputWithStream));
});
Configure<SettingManagementPageOptions>(options =>
{
options.Contributors.Add(new CommentSettingPageContributor());
});
}
public override void PostConfigureServices(ServiceConfigurationContext context)

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

Loading…
Cancel
Save