Browse Source

Merge branch 'dev' into features/cms-kit-creation-time

pull/21329/head
Suhaib 2 years ago
committed by GitHub
parent
commit
e11acd6c30
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 4
      .github/workflows/auto-pr.yml
  2. 2
      .github/workflows/build-and-test.yml
  3. 110
      Directory.Packages.props
  4. 2
      abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/en.json
  5. 2
      abp_io/AbpIoLocalization/AbpIoLocalization/Www/Localization/Resources/en.json
  6. 14
      docs/en/Community-Articles/2024-11-05-.NET Aspire 9.0 Features/Post.md
  7. 108
      docs/en/Community-Articles/2024-11-06-Optimize-static-web-asset-delivery/POST.md
  8. BIN
      docs/en/Community-Articles/2024-11-13-BuiltIn-OpenApi-Documentation/cover.png
  9. BIN
      docs/en/Community-Articles/2024-11-13-BuiltIn-OpenApi-Documentation/img1.png
  10. BIN
      docs/en/Community-Articles/2024-11-13-BuiltIn-OpenApi-Documentation/img2.png
  11. BIN
      docs/en/Community-Articles/2024-11-13-BuiltIn-OpenApi-Documentation/img3.png
  12. BIN
      docs/en/Community-Articles/2024-11-13-BuiltIn-OpenApi-Documentation/img4.png
  13. BIN
      docs/en/Community-Articles/2024-11-13-BuiltIn-OpenApi-Documentation/img5.png
  14. 164
      docs/en/Community-Articles/2024-11-13-BuiltIn-OpenApi-Documentation/post.md
  15. 202
      docs/en/Community-Articles/2024-11-14-Csharp-13-Features/Post.md
  16. 165
      docs/en/Community-Articles/2024-11-14-EF-Core-9-Linq-SQL-Translation/POST.md
  17. 73
      docs/en/cli/new-command-samples.md
  18. 84
      docs/en/deployment/forwarded-headers.md
  19. 1
      docs/en/deployment/index.md
  20. 2
      docs/en/docs-nav.json
  21. 1
      docs/en/docs-params.json
  22. 25
      docs/en/framework/infrastructure/event-bus/index.md
  23. 10
      docs/en/get-started/layered-web-application.md
  24. 6
      docs/en/release-info/release-notes.md
  25. 4
      docs/en/release-info/upgrading.md
  26. 48
      docs/en/studio/release-notes.md
  27. 2
      docs/en/studio/running-applications.md
  28. 6
      docs/en/studio/version-mapping.md
  29. 8
      docs/en/tutorials/book-store/part-01.md
  30. 10
      docs/en/tutorials/book-store/part-02.md
  31. 8
      docs/en/tutorials/book-store/part-03.md
  32. 2
      docs/en/tutorials/book-store/part-04.md
  33. 8
      docs/en/tutorials/book-store/part-05.md
  34. 2
      docs/en/tutorials/book-store/part-06.md
  35. 2
      docs/en/tutorials/book-store/part-07.md
  36. 2
      docs/en/tutorials/book-store/part-08.md
  37. 12
      docs/en/tutorials/book-store/part-09.md
  38. 6
      docs/en/tutorials/book-store/part-10.md
  39. 4
      docs/en/tutorials/modular-crm/part-01.md
  40. 19
      docs/en/tutorials/todo/layered/index.md
  41. 3
      framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/Conventions/ConventionalRouteBuilder.cs
  42. 2
      framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/Libs/AbpMvcLibsService.cs
  43. 11
      framework/src/Volo.Abp.AspNetCore/Volo/Abp/AspNetCore/Security/Claims/AbpDynamicClaimsMiddleware.cs
  44. 25
      framework/src/Volo.Abp.Caching.StackExchangeRedis/Volo/Abp/Caching/StackExchangeRedis/AbpRedisCache.cs
  45. 1
      framework/src/Volo.Abp.EntityFrameworkCore.Oracle.Devart/Volo.Abp.EntityFrameworkCore.Oracle.Devart.csproj
  46. 17
      framework/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/EntityFrameworkCore/AbpDbContext.cs
  47. 18
      framework/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/EntityFrameworkCore/ValueConverters/AbpDateTimeValueConverter.cs
  48. 9
      framework/src/Volo.Abp.EventBus.Rebus/Volo.Abp.EventBus.Rebus.csproj
  49. 1
      framework/src/Volo.Abp.EventBus.Rebus/Volo/Abp/EventBus/Rebus/AbpRebusEventBusOptions.cs
  50. 2
      framework/src/Volo.Abp.Swashbuckle/Volo/Abp/Swashbuckle/SwaggerHtmlResolver.cs
  51. 75
      framework/src/Volo.Abp.Swashbuckle/wwwroot/swagger/ui/index.js
  52. 5
      framework/src/Volo.Abp.Uow/Volo/Abp/Uow/UnitOfWork.cs
  53. 2
      global.json
  54. 2
      latest-versions.json
  55. 6
      modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/package.json
  56. 276
      modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/yarn.lock
  57. 4
      modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/package.json
  58. 280
      modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/yarn.lock
  59. 4
      modules/blogging/app/Volo.BloggingTestApp/package.json
  60. 318
      modules/blogging/app/Volo.BloggingTestApp/yarn.lock
  61. 2
      modules/client-simulation/demo/Volo.ClientSimulation.Demo/package.json
  62. 258
      modules/client-simulation/demo/Volo.ClientSimulation.Demo/yarn.lock
  63. 10
      modules/cms-kit/angular/package.json
  64. 4
      modules/cms-kit/angular/projects/cms-kit/package.json
  65. 2
      modules/cms-kit/host/Volo.CmsKit.IdentityServer/package.json
  66. 258
      modules/cms-kit/host/Volo.CmsKit.IdentityServer/yarn.lock
  67. 2
      modules/cms-kit/host/Volo.CmsKit.Web.Host/package.json
  68. 258
      modules/cms-kit/host/Volo.CmsKit.Web.Host/yarn.lock
  69. 4
      modules/cms-kit/host/Volo.CmsKit.Web.Unified/package.json
  70. 404
      modules/cms-kit/host/Volo.CmsKit.Web.Unified/yarn.lock
  71. 2
      modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Blogs/BlogDto.cs
  72. 5
      modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Blogs/IBlogAdminAppService.cs
  73. 44
      modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Blogs/BlogAdminAppService.cs
  74. 2
      modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/CmsKitAdminApplicationAutoMapperProfile.cs
  75. 14
      modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi.Client/ClientProxies/Volo/CmsKit/Admin/Blogs/BlogAdminClientProxy.Generated.cs
  76. 117
      modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi.Client/ClientProxies/cms-kit-admin-generate-proxy.json
  77. 15
      modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Blogs/BlogAdminController.cs
  78. 59
      modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Blogs/DeleteBlogModal.cshtml
  79. 57
      modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Blogs/DeleteBlogModal.cshtml.cs
  80. 46
      modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Blogs/index.js
  81. 7
      modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/ar.json
  82. 6
      modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/cs.json
  83. 6
      modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/de-DE.json
  84. 6
      modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/de.json
  85. 6
      modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/el.json
  86. 6
      modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/en-GB.json
  87. 7
      modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/en.json
  88. 6
      modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/es.json
  89. 6
      modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/fa.json
  90. 6
      modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/fi.json
  91. 6
      modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/fr.json
  92. 6
      modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/hi.json
  93. 6
      modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/hr.json
  94. 6
      modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/hu.json
  95. 6
      modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/is.json
  96. 6
      modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/it.json
  97. 6
      modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/nl.json
  98. 6
      modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/pl-PL.json
  99. 6
      modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/pt-BR.json
  100. 6
      modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/ro-RO.json

4
.github/workflows/auto-pr.yml

@ -27,10 +27,12 @@ jobs:
title: Merge branch dev with rel-9.0
body: This PR generated automatically to merge dev with rel-9.0. Please review the changed files before merging to prevent any errors that may occur.
reviewers: maliming
draft: true
token: ${{ github.token }}
- name: Merge Pull Request
env:
GH_TOKEN: ${{ secrets.BOT_SECRET }}
run: |
gh pr ready
gh pr review auto-merge/rel-9-0/${{github.run_number}} --approve
gh pr merge auto-merge/rel-9-0/${{github.run_number}} --merge --auto --delete-branch
gh pr merge auto-merge/rel-9-0/${{github.run_number}} --merge --auto --delete-branch

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

@ -51,7 +51,7 @@ jobs:
- uses: actions/checkout@v2
- uses: actions/setup-dotnet@master
with:
dotnet-version: 9.0.100-rc.2.24474.11
dotnet-version: 9.0.100
- name: chown
run: |

110
Directory.Packages.props

@ -51,60 +51,60 @@
<PackageVersion Include="Magick.NET-Q16-AnyCPU" Version="13.4.0" />
<PackageVersion Include="MailKit" Version="4.8.0" />
<PackageVersion Include="Markdig.Signed" Version="0.37.0" />
<PackageVersion Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="9.0.0-rc.2.24474.3" />
<PackageVersion Include="Microsoft.AspNetCore.Authentication.OpenIdConnect" Version="9.0.0-rc.2.24474.3" />
<PackageVersion Include="Microsoft.AspNetCore.Authorization" Version="9.0.0-rc.2.24474.3" />
<PackageVersion Include="Microsoft.AspNetCore.Components" Version="9.0.0-rc.2.24474.3" />
<PackageVersion Include="Microsoft.AspNetCore.Components.Authorization" Version="9.0.0-rc.2.24474.3" />
<PackageVersion Include="Microsoft.AspNetCore.Components.Web" Version="9.0.0-rc.2.24474.3" />
<PackageVersion Include="Microsoft.AspNetCore.Components.WebAssembly" Version="9.0.0-rc.2.24474.3" />
<PackageVersion Include="Microsoft.AspNetCore.Components.WebAssembly.Server" Version="9.0.0-rc.2.24474.3" />
<PackageVersion Include="Microsoft.AspNetCore.Components.WebAssembly.Authentication" Version="9.0.0-rc.2.24474.3" />
<PackageVersion Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="9.0.0-rc.2.24474.3" />
<PackageVersion Include="Microsoft.AspNetCore.DataProtection.StackExchangeRedis" Version="9.0.0-rc.2.24474.3" />
<PackageVersion Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="9.0.0-rc.2.24474.3" />
<PackageVersion Include="Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation" Version="9.0.0-rc.2.24474.3" />
<PackageVersion Include="Microsoft.AspNetCore.Mvc.Testing" Version="9.0.0-rc.2.24474.3" />
<PackageVersion Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="9.0.0.0" />
<PackageVersion Include="Microsoft.AspNetCore.Authentication.OpenIdConnect" Version="9.0.0.0" />
<PackageVersion Include="Microsoft.AspNetCore.Authorization" Version="9.0.0.0" />
<PackageVersion Include="Microsoft.AspNetCore.Components" Version="9.0.0.0" />
<PackageVersion Include="Microsoft.AspNetCore.Components.Authorization" Version="9.0.0.0" />
<PackageVersion Include="Microsoft.AspNetCore.Components.Web" Version="9.0.0.0" />
<PackageVersion Include="Microsoft.AspNetCore.Components.WebAssembly" Version="9.0.0.0" />
<PackageVersion Include="Microsoft.AspNetCore.Components.WebAssembly.Server" Version="9.0.0.0" />
<PackageVersion Include="Microsoft.AspNetCore.Components.WebAssembly.Authentication" Version="9.0.0.0" />
<PackageVersion Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="9.0.0.0" />
<PackageVersion Include="Microsoft.AspNetCore.DataProtection.StackExchangeRedis" Version="9.0.0.0" />
<PackageVersion Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="9.0.0.0" />
<PackageVersion Include="Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation" Version="9.0.0.0" />
<PackageVersion Include="Microsoft.AspNetCore.Mvc.Testing" Version="9.0.0.0" />
<PackageVersion Include="Microsoft.AspNetCore.Razor.Language" Version="6.0.33" />
<PackageVersion Include="Microsoft.AspNetCore.TestHost" Version="9.0.0-rc.2.24474.3" />
<PackageVersion Include="Microsoft.AspNetCore.WebUtilities" Version="9.0.0-rc.2.24474.3" />
<PackageVersion Include="Microsoft.Bcl.AsyncInterfaces" Version="9.0.0-rc.2.24473.5" />
<PackageVersion Include="Microsoft.AspNetCore.TestHost" Version="9.0.0.0" />
<PackageVersion Include="Microsoft.AspNetCore.WebUtilities" Version="9.0.0.0" />
<PackageVersion Include="Microsoft.Bcl.AsyncInterfaces" Version="9.0.0.0" />
<PackageVersion Include="Microsoft.CodeAnalysis.CSharp" Version="4.5.0" />
<PackageVersion Include="Microsoft.CSharp" Version="4.7.0" />
<PackageVersion Include="Microsoft.Data.Sqlite" Version="9.0.0-rc.2.24474.1" />
<PackageVersion Include="Microsoft.EntityFrameworkCore" Version="9.0.0-rc.2.24474.1" />
<PackageVersion Include="Microsoft.EntityFrameworkCore.Design" Version="9.0.0-rc.2.24474.1" />
<PackageVersion Include="Microsoft.EntityFrameworkCore.InMemory" Version="9.0.0-rc.2.24474.1" />
<PackageVersion Include="Microsoft.EntityFrameworkCore.Proxies" Version="9.0.0-rc.2.24474.1" />
<PackageVersion Include="Microsoft.EntityFrameworkCore.Relational" Version="9.0.0-rc.2.24474.1" />
<PackageVersion Include="Microsoft.EntityFrameworkCore.Sqlite" Version="9.0.0-rc.2.24474.1" />
<PackageVersion Include="Microsoft.EntityFrameworkCore.SqlServer" Version="9.0.0-rc.2.24474.1" />
<PackageVersion Include="Microsoft.EntityFrameworkCore.Tools" Version="9.0.0-rc.2.24474.1" />
<PackageVersion Include="Microsoft.Data.Sqlite" Version="9.0.0.0" />
<PackageVersion Include="Microsoft.EntityFrameworkCore" Version="9.0.0.0" />
<PackageVersion Include="Microsoft.EntityFrameworkCore.Design" Version="9.0.0.0" />
<PackageVersion Include="Microsoft.EntityFrameworkCore.InMemory" Version="9.0.0.0" />
<PackageVersion Include="Microsoft.EntityFrameworkCore.Proxies" Version="9.0.0.0" />
<PackageVersion Include="Microsoft.EntityFrameworkCore.Relational" Version="9.0.0.0" />
<PackageVersion Include="Microsoft.EntityFrameworkCore.Sqlite" Version="9.0.0.0" />
<PackageVersion Include="Microsoft.EntityFrameworkCore.SqlServer" Version="9.0.0.0" />
<PackageVersion Include="Microsoft.EntityFrameworkCore.Tools" Version="9.0.0.0" />
<PackageVersion Include="Microsoft.Extensions.Caching.Hybrid" Version="9.0.0-preview.7.24406.2" />
<PackageVersion Include="Microsoft.Extensions.Caching.Memory" Version="9.0.0-rc.2.24473.5" />
<PackageVersion Include="Microsoft.Extensions.Caching.StackExchangeRedis" Version="9.0.0-rc.2.24474.3" />
<PackageVersion Include="Microsoft.Extensions.Configuration.Binder" Version="9.0.0-rc.2.24473.5" />
<PackageVersion Include="Microsoft.Extensions.Configuration.CommandLine" Version="9.0.0-rc.2.24473.5" />
<PackageVersion Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="9.0.0-rc.2.24473.5" />
<PackageVersion Include="Microsoft.Extensions.Configuration.UserSecrets" Version="9.0.0-rc.2.24473.5" />
<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="9.0.0-rc.2.24473.5" />
<PackageVersion Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="9.0.0-rc.2.24473.5" />
<PackageVersion Include="Microsoft.Extensions.FileProviders.Composite" Version="9.0.0-rc.2.24473.5" />
<PackageVersion Include="Microsoft.Extensions.FileProviders.Embedded" Version="9.0.0-rc.2.24474.3" />
<PackageVersion Include="Microsoft.Extensions.FileProviders.Physical" Version="9.0.0-rc.2.24473.5" />
<PackageVersion Include="Microsoft.Extensions.FileSystemGlobbing" Version="9.0.0-rc.2.24473.5" />
<PackageVersion Include="Microsoft.Extensions.Hosting" Version="9.0.0-rc.2.24473.5" />
<PackageVersion Include="Microsoft.Extensions.Hosting.Abstractions" Version="9.0.0-rc.2.24473.5" />
<PackageVersion Include="Microsoft.Extensions.Http" Version="9.0.0-rc.2.24473.5" />
<PackageVersion Include="Microsoft.Extensions.Identity.Core" Version="9.0.0-rc.2.24474.3" />
<PackageVersion Include="Microsoft.Extensions.Localization" Version="9.0.0-rc.2.24474.3" />
<PackageVersion Include="Microsoft.Extensions.Logging.Abstractions" Version="9.0.0-rc.2.24473.5" />
<PackageVersion Include="Microsoft.Extensions.Logging" Version="9.0.0-rc.2.24473.5" />
<PackageVersion Include="Microsoft.Extensions.Logging.Console" Version="9.0.0-rc.2.24473.5" />
<PackageVersion Include="Microsoft.Extensions.Options" Version="9.0.0-rc.2.24473.5" />
<PackageVersion Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="9.0.0-rc.2.24473.5" />
<PackageVersion Include="Microsoft.Extensions.Caching.Memory" Version="9.0.0.0" />
<PackageVersion Include="Microsoft.Extensions.Caching.StackExchangeRedis" Version="9.0.0.0" />
<PackageVersion Include="Microsoft.Extensions.Configuration.Binder" Version="9.0.0.0" />
<PackageVersion Include="Microsoft.Extensions.Configuration.CommandLine" Version="9.0.0.0" />
<PackageVersion Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="9.0.0.0" />
<PackageVersion Include="Microsoft.Extensions.Configuration.UserSecrets" Version="9.0.0.0" />
<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="9.0.0.0" />
<PackageVersion Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="9.0.0.0" />
<PackageVersion Include="Microsoft.Extensions.FileProviders.Composite" Version="9.0.0.0" />
<PackageVersion Include="Microsoft.Extensions.FileProviders.Embedded" Version="9.0.0.0" />
<PackageVersion Include="Microsoft.Extensions.FileProviders.Physical" Version="9.0.0.0" />
<PackageVersion Include="Microsoft.Extensions.FileSystemGlobbing" Version="9.0.0.0" />
<PackageVersion Include="Microsoft.Extensions.Hosting" Version="9.0.0.0" />
<PackageVersion Include="Microsoft.Extensions.Hosting.Abstractions" Version="9.0.0.0" />
<PackageVersion Include="Microsoft.Extensions.Http" Version="9.0.0.0" />
<PackageVersion Include="Microsoft.Extensions.Identity.Core" Version="9.0.0.0" />
<PackageVersion Include="Microsoft.Extensions.Localization" Version="9.0.0.0" />
<PackageVersion Include="Microsoft.Extensions.Logging.Abstractions" Version="9.0.0.0" />
<PackageVersion Include="Microsoft.Extensions.Logging" Version="9.0.0.0" />
<PackageVersion Include="Microsoft.Extensions.Logging.Console" Version="9.0.0.0" />
<PackageVersion Include="Microsoft.Extensions.Options" Version="9.0.0.0" />
<PackageVersion Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="9.0.0.0" />
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.11.1" />
<PackageVersion Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="9.0.0-rc.2.24508.2" />
<PackageVersion Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="9.0.0.0" />
<PackageVersion Include="Microsoft.SourceLink.GitHub" Version="8.0.0" />
<PackageVersion Include="Microsoft.IdentityModel.Protocols.OpenIdConnect" Version="8.1.0" />
<PackageVersion Include="Microsoft.IdentityModel.Tokens" Version="8.1.0" />
@ -114,7 +114,7 @@
<PackageVersion Include="NEST" Version="7.17.5" />
<PackageVersion Include="Newtonsoft.Json" Version="13.0.3" />
<PackageVersion Include="Nito.AsyncEx.Context" Version="5.1.2" />
<PackageVersion Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="9.0.0-rc.2" />
<PackageVersion Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="9.0.0" />
<PackageVersion Include="NSubstitute" Version="5.1.0" />
<PackageVersion Include="NuGet.Versioning" Version="6.11.1" />
<PackageVersion Include="NUglify" Version="1.21.9" />
@ -155,17 +155,17 @@
<PackageVersion Include="Spectre.Console" Version="0.49.1" />
<PackageVersion Include="StackExchange.Redis" Version="2.8.16" />
<PackageVersion Include="Swashbuckle.AspNetCore" Version="6.8.1" />
<PackageVersion Include="System.Collections.Immutable" Version="9.0.0-rc.2.24473.5" />
<PackageVersion Include="System.Collections.Immutable" Version="9.0.0.0" />
<PackageVersion Include="System.ComponentModel.Annotations" Version="5.0.0" />
<PackageVersion Include="System.Linq.Async" Version="6.0.1" />
<PackageVersion Include="System.Linq.Dynamic.Core" Version="1.4.5" />
<PackageVersion Include="System.Linq.Queryable" Version="4.3.0" />
<PackageVersion Include="System.Runtime.Loader" Version="4.3.0" />
<PackageVersion Include="System.Security.Permissions" Version="9.0.0-rc.2.24473.5" />
<PackageVersion Include="System.Security.Permissions" Version="9.0.0.0" />
<PackageVersion Include="System.Security.Principal.Windows" Version="5.0.0" />
<PackageVersion Include="System.Text.Encoding.CodePages" Version="9.0.0-rc.2.24473.5" />
<PackageVersion Include="System.Text.Encodings.Web" Version="9.0.0-rc.2.24473.5" />
<PackageVersion Include="System.Text.Json" Version="9.0.0-rc.2.24473.5" />
<PackageVersion Include="System.Text.Encoding.CodePages" Version="9.0.0.0" />
<PackageVersion Include="System.Text.Encodings.Web" Version="9.0.0.0" />
<PackageVersion Include="System.Text.Json" Version="9.0.0.0" />
<PackageVersion Include="System.Threading.Tasks.Extensions" Version="4.5.4" />
<PackageVersion Include="System.IdentityModel.Tokens.Jwt" Version="8.1.0" />
<PackageVersion Include="TimeZoneConverter" Version="6.1.0" />

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

@ -512,6 +512,7 @@
"QuotationTemplate.BankAccount": "Our bank account information can be found at {0}",
"Permission:Raffles": "Raffle",
"Permission:Draw": "Draw",
"Permission:ExportAttendeesAsExcel": "Export at attendees as Excel",
"Menu:Raffles": "Raffles",
"RaffleIsNotDrawable": "Raffle is not drawable",
"WinnerCountMustBeGreaterThanZero": "Winner count must be greater than zero",
@ -658,6 +659,7 @@
"DrawModal": "Private draw on the modal",
"SetAsDrawable": "Set as drawable",
"SetAsNoDrawable": "Set as non-drawable",
"SetAsCompleted": "Set as completed",
"RemoveAllWinners": "Remove all winners",
"EditWinners": "Edit winners",
"EditAttendees": "Edit attendees",

2
abp_io/AbpIoLocalization/AbpIoLocalization/Www/Localization/Resources/en.json

@ -459,7 +459,7 @@
"FullName": "Full name",
"CompanySize": "Company size",
"TestimonialTitle": "Let's hear your testimonial",
"TestimonialInfo": "What our customers say matters! Tell us about your experience with our product and service. It is recommended to write the testimonial in English to reach a wider audience.",
"TestimonialInfo": "What you say matters! Tell us about your experience with ABP in a few sentences. Please write it in English to reach a wider audience.",
"Country": "Country",
"TestimonialTextPlaceholder": "Write a brief story about how ABP helped you build and deliver your project.",
"PositionPlaceholder": "Your position at your company",

14
docs/en/Community-Articles/2024-11-05-.NET Aspire 9.0 Features/Post.md

@ -1,11 +1,11 @@
# .NET Aspire 9.0 Features
.NET Aspire 9.0 Release Candidate 1 is the next major release, supporting both .NET 8 and .NET 9. This version includes new features and improvements.
.NET Aspire 9.0 is the next major release, supporting both .NET 8 and .NET 9. This version includes new features and improvements.
## Upgrade to .NET Aspire 9 RC1
## Upgrade to .NET Aspire
Now, you don't need workloads to develop .NET Aspire applications. In your project, you can add an SDK reference to `Aspire.AppHost.Sdk`.
For more information, you can check out [https://learn.microsoft.com/en-us/dotnet/aspire/whats-new/dotnet-aspire-9-release-candidate-1?tabs=windows&pivots=visual-studio#upgrade-to-net-aspire-9-rc1](https://learn.microsoft.com/en-us/dotnet/aspire/whats-new/dotnet-aspire-9-release-candidate-1?tabs=windows&pivots=visual-studio#upgrade-to-net-aspire-9-rc1) which explains upgrading an existing project in details.
For more information, you can check out [https://learn.microsoft.com/en-us/dotnet/aspire/whats-new/dotnet-aspire-9?tabs=windows#upgrade-to-net-aspire-9](https://learn.microsoft.com/en-us/dotnet/aspire/whats-new/dotnet-aspire-9?tabs=windows#upgrade-to-net-aspire-9) which explains upgrading an existing project in details.
## Dashboard
@ -15,13 +15,13 @@ For more information, you can check out [https://learn.microsoft.com/en-us/dotne
* **Mobile and responsive support**: The .NET Aspire dashboard is now mobile-friendly.
* **Sensitive properties**: Properties can be marked as sensitive, automatically masking them in the dashboard UI.
* **Volumes**: Configured container volumes are listed in resource details.
* **Health checks**: .NET Aspire 9 RC1 adds support for health checks.
* **Health checks**: .NET Aspire 9 adds support for health checks.
![Resource Lifecycle](./aspire_resource_lifecycle.jpg)
## Telemetry
.NET Aspire 9 RC1 comes with many new features to the Telemetry service.
.NET Aspire 9 comes with many new features to the Telemetry service.
* **Improve telemetry filtering**: Telemetry data can now be filtered by attribute values.
* **Combine telemetry from multiple resources**: If a resource has multiple replicas, you can now filter telemetry data to view from all instances.
@ -32,14 +32,14 @@ For more information, you can check out [https://learn.microsoft.com/en-us/dotne
## Orchestration
The .NET App Host is a core component of the .NET runtime that helps launch and execute .NET applications.
.NET Aspire 9 RC1 introduces many new features to the app host. Let's take a look;
.NET Aspire 9 introduces many new features to the app host. Let's take a look;
* **Waiting for dependencies**: You can configure a resource to wait for another resource to start before starting.
* **Resource health checks**: The `Waiting for dependencies` feature uses health checks to determine if a resource is ready.
## Integrations
.NET Aspire has integrations with some services and tools that make it easy to get started. New integrations are coming with .NET Aspire 9 RC1.
.NET Aspire has integrations with some services and tools that make it easy to get started. New integrations are coming with .NET Aspire 9.
* Redis Insight
* OpenAI (Preview)

108
docs/en/Community-Articles/2024-11-06-Optimize-static-web-asset-delivery/POST.md

@ -0,0 +1,108 @@
# Optimizing Static Asset Delivery feature in ASP.NET Core 9.0
Delivering static assets efficiently is a key factor in building performant web applications. By optimizing how assets like CSS, JavaScript, and images are served to the browser, you can reduce load times, decrease network traffic, and improve the overall user experience.
One powerful tool to help achieve this is **MapStaticAssets**, a feature in ASP.NET Core that significantly optimizes the delivery of static resources. Whether you're working with Blazor, Razor Pages, MVC, or other UI frameworks, **MapStaticAssets** streamlines asset management and ensures that your web app delivers resources in the most efficient way possible.
## Why Optimizing Static Assets Matters
Serving static assets without optimization can lead to several performance bottlenecks:
- **Excessive network requests**: The browser may need to request the same resources multiple times, even if they haven’t changed.
- **Unnecessary data transfer**: Larger files are sent over the network, consuming bandwidth and slowing down page loads.
- **Outdated assets**: Without proper cache management, users may receive stale versions of files after an app update.
Optimizing static assets involves compressing files, managing caching headers, and ensuring that only the necessary resources are sent to the client. **MapStaticAssets** takes care of all these issues in a seamless, automated way.
## What is MapStaticAssets?
**MapStaticAssets** is designed to enhance the default static asset serving mechanism in ASP.NET Core. It can replace `UseStaticFiles` in most scenarios and comes with several built-in optimizations. These optimizations are executed at both build and publish time, ensuring that static resources are served in the most efficient way possible when your app is running.
Here's how you can implement **MapStaticAssets** in your app:
```csharp
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddRazorPages();
var app = builder.Build();
if (!app.Environment.IsDevelopment())
{
app.UseExceptionHandler("/Error");
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseRouting();
app.UseAuthorization();
// Replacing UseStaticFiles with MapStaticAssets
app.MapStaticAssets();
app.MapRazorPages();
app.Run();
```
## Key Features of MapStaticAssets
1. **Build-time Compression**:
**MapStaticAssets** automatically compresses all static assets during the build process. It uses **gzip** compression during development and **gzip + brotli** compression when publishing. This reduces the file size significantly, ensuring faster download times.
For example, in a default Razor Pages template, assets like `bootstrap.min.css` and `jquery.js` are compressed by over 80%, resulting in significantly reduced file sizes:
| File | Original Size | Compressed Size | Compression Reduction |
|----------------------|---------------|-----------------|-----------------------|
| `bootstrap.min.css` | 163 KB | 17.5 KB | 89.26% |
| `jquery.js` | 89.6 KB | 28 KB | 68.75% |
| `bootstrap.min.js` | 78.5 KB | 20 KB | 74.52% |
| **Total** | 331.1 KB | 65.5 KB | 80.20% |
2. **Content-based ETags**:
**MapStaticAssets** generates **ETags** based on the SHA-256 hash of the file content, encoded in Base64. This ensures that the browser only re-downloads a resource if its content has changed. This eliminates unnecessary network requests, improving page load speeds.
3. **Smaller File Sizes for Libraries**:
Popular component libraries, such as **Fluent UI Blazor** and **MudBlazor**, benefit from similar compression optimizations. For example, the size of the **MudBlazor** library is reduced by over 90%, from 588 KB to just 46.7 KB after compression.
| File | Original Size | Compressed Size | Compression Reduction |
|----------------------|---------------|-----------------|-----------------------|
| `MudBlazor.min.css` | 541 KB | 37.5 KB | 93.07% |
| `MudBlazor.min.js` | 47.4 KB | 9.2 KB | 80.59% |
| **Total** | 588.4 KB | 46.7 KB | 92.07% |
4. **Automatic Optimization**:
As libraries or components are added or updated, **MapStaticAssets** automatically optimizes the assets as part of the build process. This includes minimizing the size of JavaScript and CSS files, reducing the impact of mobile or low-bandwidth environments.
5. **Serving Assets with a CDN**:
Although **MapStaticAssets** is focused on server-side optimizations, integrating a **CDN (Content Delivery Network)** can further boost performance by serving static assets from servers geographically closer to the user, reducing latency.
## Comparing MapStaticAssets to IIS Dynamic Compression
**MapStaticAssets** provides several advantages over traditional dynamic compression techniques, such as IIS **gzip** compression:
- **Simplicity**: There is no need for server-specific configuration, making **MapStaticAssets** easy to implement.
- **Performance**: By compressing assets at build time, the app doesn't need to perform compression during every request, which improves server performance.
- **Optimization**: Developers can focus on ensuring that assets are compressed to the smallest possible size during the build process.
For example, using **MapStaticAssets**, a file like `MudBlazor.min.css` is compressed down to 37.5 KB, whereas IIS dynamic compression might result in a size of 90 KB. This represents a **59%** reduction in size.
## About MapAbpStaticAssets
The ABP framework is 100% compatible with this new feature.
However, some JavaScript, CSS, and image files exist in the [Virtual File System](https://abp.io/docs/latest/framework/infrastructure/virtual-file-system), which ASP.NET Core's **MapStaticAssets** can't handle. For these files, additional **StaticFileMiddleware** is needed to serve them, which is where **MapAbpStaticAssets** comes in.
**MapAbpStaticAssets** adds the necessary **StaticFileMiddleware** to ensure that virtual files are correctly served. This middleware setup ensures seamless delivery of virtual resources alongside static assets.
You can view the source code of **MapAbpStaticAssets** on [GitHub](https://github.com/abpframework/abp/blob/dev/framework/src/Volo.Abp.AspNetCore/Microsoft/AspNetCore/Builder/AbpApplicationBuilderExtensions.cs#L129-L198).
## Conclusion
Optimizing static asset delivery is essential for building fast, efficient web applications. **MapStaticAssets** simplifies and automates the optimization of static files by providing build-time compression, caching headers, and content-based ETags. This ensures that your app's static assets are always delivered in the most efficient way, whether users are on fast broadband or slower mobile connections. By using **MapStaticAssets**, you can deliver a faster, more reliable experience for your users with minimal effort.
## References
* [Static files in ASP.NET Core](https://learn.microsoft.com/en-us/aspnet/core/fundamentals/static-files?view=aspnetcore-9.0)
* [What's new in ASP.NET Core 9.0](https://learn.microsoft.com/en-us/aspnet/core/release-notes/aspnetcore-9.0?view=aspnetcore-8.0#optimize-static-web-asset-delivery)

BIN
docs/en/Community-Articles/2024-11-13-BuiltIn-OpenApi-Documentation/cover.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 445 KiB

BIN
docs/en/Community-Articles/2024-11-13-BuiltIn-OpenApi-Documentation/img1.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 174 KiB

BIN
docs/en/Community-Articles/2024-11-13-BuiltIn-OpenApi-Documentation/img2.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 183 KiB

BIN
docs/en/Community-Articles/2024-11-13-BuiltIn-OpenApi-Documentation/img3.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 294 KiB

BIN
docs/en/Community-Articles/2024-11-13-BuiltIn-OpenApi-Documentation/img4.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 116 KiB

BIN
docs/en/Community-Articles/2024-11-13-BuiltIn-OpenApi-Documentation/img5.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 106 KiB

164
docs/en/Community-Articles/2024-11-13-BuiltIn-OpenApi-Documentation/post.md

@ -0,0 +1,164 @@
Built-in OpenAPI Document Generation with .NET 9 — No more SwaggerUI! 👋
========================================================================
![Cover](cover.png)
What’s Swagger UI?
------------------
[Swagger UI](https://swagger.io/) is an open-source tool that automatically generates an interactive, web-based documentation interface for WebAPIs.
It supports OpenAPI standards. It was very popular tool among the ASP.NET Core developers from 2020 to 2024.
Because it was a built-in tool comes with ASP.NET Core default templates.
We liked this tool because it was the first tool that allows us to make WebAPI calls for testing.
Now it provides paid services as well as free ones.
> Previously, Swagger was included by default from **.NET 5** to **.NET 8** in .NET web templates.
---
What’s OpenAPI?
---------------
OpenAPI is a standard specification for defining REST APIs.
The official website is [https://www.openapis.org/](https://www.openapis.org/).
Microsoft is now using OpenAPI and here is the official documentation 👉 [https://aka.ms/aspnet/openapi](https://aka.ms/aspnet/openapi)
---
Replacement of Swagger UI with OpenAPI
----------------------------------------------------------------------------
Swagger UI is no longer integrated into NET 9, as Microsoft wants a solution with first-class support, better control, and enhanced security. As you see in the below screenshot, Microsoft declares that it's already removed.
![Docs](img2.png)
---
## Why is Swagger Removed from .NET 9?
In March 2024, the ASP.NET Core team announced that they are removing the `Swashbuckle.AspNetCore` dependency from web templates from .NET 9 release.
> This decision was influenced by the project's lack of active maintenance and the absence of an official release for .NET 8.
Microsoft team created a new package `Microsoft.AspNetCore.OpenApi`. It provides built-in OpenAPI document generation just like Swagger. So Microsoft doesn't depend on external tools. Because in every .NET release, they need to ask the owners of the external tool libraries to align with their new version. And sometimes these library owners cannot update their code-base according to the recent .NET changes. And it is becoming harder for Microsoft to support the 3rd party libraries under these circumstances. Basically reducing 3rd party dependencies will help Microsoft fast release cycles.
I read Reddit, GitHub discussions and YouTube reviews about this topic. As I see community members expressed concerns about the inactivity of Swashbuckle and they are discussing alternatives like contributing to or forking the project. The Microsoft team also contacted the owners of Swashbuckle and NSwag to explore potential collaborations and ensure a smooth transition for developers.
In the below GitHub issue, you can see the details of this decision:
* [github.com/dotnet/aspnetcore/issues/54599](https://github.com/dotnet/aspnetcore/issues/54599)
**Jeremy** -Product Manager- at Microsoft, answers why they took this decision in [this post](https://github.com/dotnet/aspnetcore/issues/54599#issuecomment-2004975574).
![Jeremy Comments](img3.png)
As a summary;
**The change is due to a lack of maintenance of the Swagger library**, although it has seen some recent updates. This aims to reduce dependency on external tools and provide a streamlined, out-of-the-box experience for generating OpenAPI documentation for ASP.NET Core Web APIs.
---
What are the Benefits of the New OpenAI Package?
---------------------------------------------------------------
### Native Support and Reduced Dependency
The new `Microsoft.AspNetCore.OpenApi` package provides first-class citizen support for OpenAPI. It reduces reliance on external tools like Swashbuckle or NSwag for basic documentation needs. The native implementation leverages source generators to reduce runtime overhead.
### Simplified Configuration
No need extra setup or 3rd party integrations. Just by defining controllers and endpoints, ASP.NET Core automatically generates OpenAPI specifications.
### Well Integration with Minimal APIs
[Minimal APIs](https://learn.microsoft.com/en-us/aspnet/core/fundamentals/minimal-apis) introduced in .NET 6. There's an optimized built-in support for Minimal APIs. It automatically adds metadata for routes, request parameters, and responses.
### Compatibility with Existing Tools
You can still use the output of OpenAPI with Swagger or NSwag... So it doesn't mean that in this case you have only one option when you use OpenAPI.
---
How to Use the New OpenAPI in .NET9?
------------------------------------
When you create a new ASP.NET Core project, you can see the below checkbox to add OpenAPI.
![New .NET 9 Project Screen](img5.png)
I created a new .NET 9 web project, I saw that OpenAPI had already been added.
![Package Reference](img4.png)
## Add OpenAPI Support For Your Existing Project
Upgrade your project to .NET 9 and add the required NuGet package [Microsoft.AspNetCore.OpenApi](https://www.nuget.org/packages/Microsoft.AspNetCore.OpenApi)
```
dotnet add package Microsoft.AspNetCore.OpenApi
```
###
Add the following services and middleware in `Program.cs`
```
var builder = WebApplication.CreateBuilder();
builder.Services.AddOpenApi(); //<<-----
var app = builder.Build();
app.MapOpenApi(); //<<-----
app.MapGet("/", () => "Test");
app.Run();
```
Your OpenAPI document URL is [_https://localhost:7077/openapi/v1.json_](https://localhost:7077/openapi/v1.json)
Change the port to your active port. This is how it looks like:
![Web UI of the Documentation](img1.png)
---
Alternative 3rd Party Tool: Scalar
==================================
**Scalar** is an open-source API platform for RestAPI documentation. Also, it provides an interface for interacting with RESTful API. Generates interactive and user-friendly API documentation. Supports OpenAPI and Swagger specifications. It’s open-source with **7K stars** on GitHub.
See the repo 👉 [https://github.com/scalar/scalar](https://github.com/scalar/scalar).
That's all from the replacement of Swagger in .NET 9.
Happy coding 👨‍💻
**References**
* [https://learn.microsoft.com/en-us/aspnet/core/release-notes/aspnetcore-9.0?view=aspnetcore-8.0#openapi](https://learn.microsoft.com/en-us/aspnet/core/release-notes/aspnetcore-9.0?view=aspnetcore-8.0#openapi)

202
docs/en/Community-Articles/2024-11-14-Csharp-13-Features/Post.md

@ -0,0 +1,202 @@
# C# 13 Features
C# 13 is the latest version of C# and it comes with a lot of new features. In this article, we will discuss some of the new features of C# 13.
## `params` collections
With the C# 13, method parameter with `params` keyword isn't limited to be an array. You can now use any collection type that implements `IEnumerable<T>` interface.
Let's see how it can help us in our code.
```csharp
public IEnumerable<int> GetOdds(params IEnumerable<int> numbers)
{
foreach (var number in numbers)
{
if (number % 2 != 0)
{
Console.WriteLine(number);
}
}
}
```
## New lock object
I'm sure you have used `lock` statement in your code to synchronize access to a shared resource. With C# 13, you can now use a new lock object that is more efficient than the traditional lock object.
The new `Lock` type provides better thread synchronization through its API. When `Lock.EnterScope()` method is called, it returns a struct named `Scope` that contains a `Dispose` method. The `Dispose` method is called when the `Scope` object goes out of scope, which releases the lock. C# `using` statement recognizes the `Dispose` method and calls it automatically like it does with other `IDisposable` objects.
It was something similar before:
```csharp
private object _lock = new();
public void DoSomething()
{
lock (_lock)
{
// Do something
}
}
```
Now, you can use the new lock object like this:
```csharp
System.Threading.Lock x = new System.Threading.Lock();
public void DoSomething()
{
using (x.EnterScope())
{
// Do something
}
}
```
## New escape sequence
In C# 13, a new escape sequence `\e` has been introduced to represent the `ESCAPE` character, Unicode `U+001B`. Previously, you had to use `\u001b` or `\x1b` to represent this character. The new `\e` escape sequence simplifies this process and avoids potential issues with hexadecimal digits following `\x1b`.
> You can check [here](https://en.wikipedia.org/wiki/ANSI_escape_code#C0_control_codes) for ANSI escape codes.
## Implicit index access
The implicit "from the end" index operator, `^`, is now allowed in an object initializer expression.
It was not possible before, but now you can do this:
```csharp
var countdown = new TimerRemaining()
{
buffer =
{
[^1] = 0,
[^2] = 1,
[^3] = 2,
[^4] = 3,
[^5] = 4,
[^6] = 5,
[^7] = 6,
[^8] = 7,
[^9] = 8,
[^10] = 9
}
};
```
It's a great feature that makes the code more readable and maintainable. Still not a big deal, but it's nice to have it.
## `ref` and `unsafe` in iterators and async methods
In C# 13, the restrictions on using `ref` and `unsafe` constructs in iterators and async methods have been relaxed. Previously, you couldn't declare local `ref` variables or use unsafe contexts in these methods. Now, you can declare ref local variables and use unsafe contexts in async methods and iterators, provided they are not accessed across `await` or `yield` boundaries
This change allows for more expressive and efficient code, especially when working with types like `System.Span<T>` and `System.ReadOnlySpan<T>`. The compiler ensures that these constructs are used safely, and it will notify you if any safety rules are violated.
You can read more about this feature on the [Microsoft Learn page](https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/proposals/csharp-13.0/ref-unsafe-in-iterators-async).
## More partial members
In C# 13, the concept of partial members has been expanded to include partial properties and partial indexers. Previously, only methods could be defined as partial members. This means you can now split the definition of properties and indexers across multiple files, just like you could with methods.
For example, you can declare a partial property in one part of your class and implement it in another part. Here's a simple illustration:
```csharp
public partial class MyClass
{
// Declaring declaration
public partial string MyProperty { get; set; }
}
public partial class MyClass
{
// Implementing declaration
private string _myProperty;
public partial string MyProperty
{
get => _myProperty;
set => _myProperty = value;
}
}
```
This feature allows for better organization and modularization of your code, especially in large projects where different parts of a class might be implemented by different team members.
## Overload resolution priority
What does "Overload resolution priority" section mean in this page?
In C# 13, the OverloadResolutionPriority attribute allows library authors to specify which method overload should be preferred by the compiler when multiple overloads are available. This attribute helps avoid ambiguity and ensures that the most appropriate overload is chosen, even if it might not be the most obvious choice based on traditional overload resolution rules.
This may be useful in scenarios where you have multiple overloads that are equally valid, but you want to prioritize one over the others. The attribute can be applied to a method or constructor to indicate its priority in the overload resolution process. It can prevent unexpected behavior and make your code more predictable and maintainable.
Let me show with an example:
```csharp
public class Example
{
// Existing method
public void Display(string message = "Hello!")
{
Console.WriteLine("Message: " + message);
}
// New, more efficient method with higher priority
[OverloadResolutionPriority(1)]
public void Display(string message = "Hello!", int repeatCount = 3)
{
for (int i = 0; i < repeatCount; i++)
{
Console.WriteLine("Message: " + message);
}
}
}
class Program
{
static void Main()
{
Example example = new Example();
// Normally, you can't compile this code because of ambiguity:
example.Display();
}
}
```
Output:
```
Message: Hello!
Message: Hello!
Message: Hello!
```
## The `field` keyword
n C# 13, the `field` keyword is introduced as a preview feature to simplify property accessors. This keyword allows you to reference the compiler-generated backing `field` directly within a property accessor, eliminating the need to declare an explicit backing `field` in your type declaration.
For example, instead of writing:
```csharp
private int _value;
public int Value
{
get => _value;
set => _value = value;
}
```
You can now write:
```csharp
public int Value
{
get => field;
set => field = value;
}
```
This makes your code cleaner and more concise. However, be cautious if you have a `field` named `field` in your class, as it could cause confusion. You can disambiguate by using `@field` or `this.field`.
Make sure you're using the latest `LangVersion` in your `.csproj` project file to enable this feature.
```xml
<LangVersion>preview</LangVersion>
```

165
docs/en/Community-Articles/2024-11-14-EF-Core-9-Linq-SQL-Translation/POST.md

@ -0,0 +1,165 @@
# EF Core 9 LINQ & SQL translation
EF Core improves the translation of LINQ queries to SQL with every release. EF Core 9 is no exception. This article will show you some of the improvements in EF Core 9.
EF Core 9 includes a lot of improvements in LINQ to SQL translation. we don't cover all of them in this article. You can find more information in the [official release notes](https://learn.microsoft.com/en-us/ef/core/what-is-new/ef-core-9.0/whatsnew#linq-and-sql-translation).
## Support for complex types
### GroupBy
EF Core now supports grouping by complex type instance. For example:
```csharp
var groupedAddress = await context.Customers
.GroupBy(c => new { c.Address })
.Select(g => new { g.Key, Count = g.Count() })
.ToListAsync();
```
Address is a complex type as a value object here.
### ExecuteUpdate
EF Core now supports updating a complex type. For example:
```csharp
var newAddress = new Address("New Street", "New City", "New Country");
await context.Customers
.Where(e => e.Region == "Turkey")
.ExecuteUpdateAsync(s => s.SetProperty(b => b.Address, newAddress));
```
EF Core updates each column of the complex type.
## Prune unneeded elements from SQL
Ef Core now translates LINQ queries to SQL more efficiently. It will remove unneeded elements from the SQL query and bring better performance.
### Table pruning
When you use table-per-hierarchy (TPH) inheritance, previously EF Core generated SQL queries that included JIONs to tables that were not needed.
For example:
```csharp
public class Order
{
public int Id { get; set; }
...
public Customer Customer { get; set; }
}
public class DiscountedOrder : Order
{
public double Discount { get; set; }
}
public class Customer
{
public int Id { get; set; }
...
public List<Order> Orders { get; set; }
}
public class AppContext : DbContext
{
...
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<Order>().UseTptMappingStrategy();
}
}
```
Consider the following query to get all customers with at least one order:
```csharp
var customers = await context.Customers.Where(o => o.Orders.Any()).ToListAsync();
```
Previously, EF Core generated the following SQL query:
```sql
SELECT [c].[Id], [c].[Name]
FROM [Customers] AS [c]
WHERE EXISTS (
SELECT 1
FROM [Orders] AS [o]
LEFT JOIN [DiscountedOrders] AS [d] ON [o].[Id] = [d].[Id]
WHERE [c].[Id] = [o].[CustomerId])
```
It included a JOIN to the `DiscountedOrders` table, which was not needed. In EF Core 9, the generated SQL query is:
```sql
SELECT [c].[Id], [c].[Name]
FROM [Customers] AS [c]
WHERE EXISTS (
SELECT 1
FROM [Orders] AS [o]
WHERE [c].[Id] = [o].[CustomerId])
```
## EF Core in ABP
ABP Framework is built on top of the latest technologies. It will support EF Core 9 as soon as it is released. You can use the latest features of EF Core in your ABP applications.
For example, you can use the `ExecuteUpdateAsync` method in your ABP application:
```csharp
public class Book : FullAuditedAggregateRoot<Guid>
{
public string Name { get; set; }
public float Price { get; set; }
public string Author { get; set; }
}
public class AppContext : AbpDbContext<AppContext>
{
public DbSet<Book> Books { get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
base.OnModelCreating(builder);
builder.Entity<Book>(b =>
{
b.ToTable("Books");
b.ConfigureByConvention();
b.Property(x => x.Name).IsRequired().HasMaxLength(128);
b.Property(x => x.Author).IsRequired().HasMaxLength(64);
});
}
}
public class BookRepository : EfCoreRepository<AppContext, Book, Guid>, IBookRepository
{
public BookRepository(IDbContextProvider<AppContext> dbContextProvider)
: base(dbContextProvider)
{
}
public async Task UpdatePriceByAuthorAsync(string author, float price)
{
await (await GetDbSetAsync())
.Where(b => b.Author == author)
.ExecuteUpdateAsync(b => b.SetProperty(x => x.Price, price));
}
}
```
* `FullAuditedAggregateRoot` is an aggregate root base class with auditing properties provided by ABP Framework.
* `IRepository` is a generic repository interface provided by ABP Framework that provides CRUD operations and you can use EF Core's API in your entity repository implementation.
## References
* [LINQ and SQL translation](https://learn.microsoft.com/en-us/ef/core/what-is-new/ef-core-9.0/whatsnew#linq-and-sql-translation)
* [ABP Entity Framework Core Integration](https://abp.io/docs/latest/framework/data/entity-framework-core)
* [ABP Entities](https://abp.io/docs/latest/framework/architecture/domain-driven-design/entities)

73
docs/en/cli/new-command-samples.md

@ -221,6 +221,79 @@ As seen below, ABP libraries are local project references.
</ItemGroup>
```
## Using Existing Configuration
If you want to programmaticaly create solutions, you can use an existing configuration instead of passing parameters to CLI one by one. ABP Studio keeps the solution creation history locally in `(UserProfile)\.abp\studio\solution-creation-history.json` file, there you can find the configurations of the solutions created in your machine.
### Using a Solution Id
In `*.abpsln` file of the solutions, there is an ID field that you can use to recreate a solution. To do this, pass the id to cli using `-shi or --solution-history-id` parameters.
```bash
abp new -shi dbb1afa9-190e-419a-842d-2780bb1bad1f
abp new -shi dbb1afa9-190e-419a-842d-2780bb1bad1f -o D:\test\Acme.BookStore
```
### Using a JSON Configuration File
You can also use a configuration file to create solutions. You need to use `-rcp or ready-config-path` parameters to do that.
```bash
abp new -rcp MyTests\config.json
abp new -rcp D:\MyTests\config.json
abp new -rcp D:\MyTests\config.json -o D:\test\Acme.BookStore
```
To prepare a config file, you can check the records in `solution-creation-history.json` file mentioned above. An example config file would look like that:
```json
{
"solutionName": {
"fullName": "Acme.BookStore",
"companyName": "Acme",
"projectName": "BookStore"
},
"pro": true,
"useOpenSourceTemplate": false,
"booksSample": false,
"databaseProvider": "ef",
"createInitialMigration": true,
"runDbMigrator": true,
"uiFramework": "angular",
"theme": "leptonx",
"themeStyle": "system",
"mobileFramework": "none",
"databaseManagementSystem": "sqlserver",
"databaseManagementSystemBuilderExtensionMethod": "UseSqlServer",
"connectionString": "Server=(LocalDb)\\\\MSSQLLocalDB;Database=BookStore;Trusted_Connection=True;TrustServerCertificate=true",
"mauiBlazorApplicationIdGuid": "d3499a09-f3d4-4bb7-9d58-4c7b1caee331",
"tiered": false,
"publicWebsite": false,
"cmskit": false,
"openIddictAdmin": true,
"languageManagement": true,
"textTemplateManagement": true,
"multiTenancy": true,
"auditLogging": false,
"gdpr": true,
"chat": false,
"fileManagement": false,
"socialLogins": true,
"includeTests": true,
"distributedEventBus": "none",
"publicRedis": false,
"separateTenantSchema": false,
"progressiveWebApp": false,
"runProgressiveWebAppSupport": false,
"runInstallLibs": false,
"runBundling": false,
"kubernetesConfiguration": true,
"templateName": "app"
}
```
## See Also
* [ABP CLI documentation](../cli/index.md)

84
docs/en/deployment/forwarded-headers.md

@ -0,0 +1,84 @@
# Forwarded Headers
Reverse proxies and load balancers play a crucial role in modern web application architectures. When an application is deployed behind these proxies and load balancers, several specific issues can arise. This document will discuss these issues in detail, explain how ASP.NET Core's forwarded headers middleware can address them, and provide a code example for configuring forwarded headers in an ABP application.
## Possible problem in a Reverse Proxy Environment
When requests pass through a reverse proxy or load balancer, the following common issues can occur:
### 1. Loss of Original Request Information
A reverse proxy or load balancer typically modifies the original HTTP request headers. For example, the proxy may replace the client's `X-Forwarded-For` header, or the `Host` header might be set to the proxy's address. This can result in the backend application being unable to directly access the client's IP address, the true hostname, and the protocol used.
### 2. HTTPS vs HTTP Protocol Confusion
When a request is forwarded by a proxy server, it is often upgraded to HTTPS to ensure secure transmission. The proxy server will send a header like `X-Forwarded-Proto` to indicate whether the original request was HTTP or HTTPS. If the backend application does not correctly handle this header, it may generate URLs with the wrong protocol.
### 3. Path Handling Issues
Since load balancers and proxies might modify or map the request URL paths differently, the backend application could encounter path inconsistencies. For example, a reverse proxy might forward a request from `/api` to `/myapp/api`. If the backend application is not correctly configured, path parsing errors may occur.
### 4. IP Address and Security
Reverse proxies might replace the original client IP address with their own, which can affect logging, authentication, and access control mechanisms. To retrieve the actual client IP address, the `X-Forwarded-For` header must be correctly parsed and trusted.
### 5. Load Balancer Impact
Load balancers might distribute requests to different backend servers using different algorithms. This can create session affinity problems. If session data is stored on a single server and the load balancer directs subsequent requests to different servers, session loss or inconsistency may occur.
## Forwarded Headers Middleware in ABP web application
To resolve the above issues, ASP.NET Core provides a built-in middleware, `ForwardedHeadersMiddleware`, which processes the headers forwarded by reverse proxies. This middleware helps the application recover the correct original request information, such as the client’s IP address, protocol, and host.
### Configuring `ForwardedHeadersMiddleware`
ASP.NET Core’s `ForwardedHeadersMiddleware` supports several HTTP headers:
- **X-Forwarded-For**: Contains the original client’s IP address.
- **X-Forwarded-Proto**: Indicates whether the original request was HTTP or HTTPS.
- **X-Forwarded-Host**: Contains the original host requested by the client.
- **X-Forwarded-Port**: Indicates the original port of the request.
To configure this middleware:
1. In the `ConfigureServices` method of your module, configure the `ForwardedHeadersOptions`:
```csharp
public override void ConfigureServices(ServiceConfigurationContext context)
{
context.Services.Configure<ForwardedHeadersOptions>(options =>
{
options.ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto;
});
}
```
2. In the `OnApplicationInitialization` method of your module, add the middleware:
> Forwarded Headers Middleware should run before other middleware. This ordering ensures that the middleware relying on forwarded headers information can consume the header values for processing. Forwarded Headers Middleware can run after diagnostics and error handling, but it must be run before calling UseHsts:
```csharp
public override void OnApplicationInitialization(ApplicationInitializationContext context)
{
var app = context.GetApplicationBuilder();
var env = context.GetEnvironment();
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
app.UseForwardedHeaders();
}
else
{
app.UseErrorPage();
app.UseForwardedHeaders();
app.UseHsts();
}
// Other middleware configurations...
}
```
## References
- [ASP.NET Core Proxy and Load Balancer Configuration](https://learn.microsoft.com/en-us/aspnet/core/host-and-deploy/proxy-load-balancer?view=aspnetcore-9.0)

1
docs/en/deployment/index.md

@ -12,3 +12,4 @@ However, there are some topics that you should care about when you are deploying
* [Optimization for Production](./optimizing-production.md): Tips and suggestions for optimizing your application in production environments.
* [Deploying to a Clustered Environment](./clustered-environment.md): Explains how to configure your application when you want to run multiple instances of your application concurrently.
* [Deploying Distributed / Microservice Solutions](./distributed-microservice.md): Deployment notes for solutions consisting of multiple applications and/or services.
* [Forwarded Headers](./forwarded-headers): Explains how to configure the application to trust headers forwarded by reverse proxies and recover the original request information from the `X-Forwarded-For` and `X-Forwarded-Proto` headers.

2
docs/en/docs-nav.json

@ -893,7 +893,7 @@
"items": [
{
"text": "Overview",
"path": "framework/ui/mvc-razor-pages/overall"
"path": "framework/ui/mvc-razor-pages/overall.md"
},
{
"text": "Navigation / Menus",

1
docs/en/docs-params.json

@ -7,6 +7,7 @@
"MVC": "MVC / Razor Pages",
"Blazor": "Blazor WebAssembly",
"BlazorServer": "Blazor Server",
"BlazorWebApp": "Blazor WebApp",
"NG": "Angular"
}
},

25
docs/en/framework/infrastructure/event-bus/index.md

@ -6,5 +6,26 @@ An event bus is a mediator that transfers a message from a sender to a receiver.
ABP provides two type of event buses;
* **[Local Event Bus](local)** is suitable for in-process messaging.
* **[Distributed Event Bus](distributed)** is suitable for inter-process messaging, like microservices publishing and subscribing to distributed events.
* **[Local Event Bus](local/index.md)** is suitable for in-process messaging.
* **[Distributed Event Bus](distributed/index.md)** is suitable for inter-process messaging, like publishing and subscribing to distributed events in a distributed/microservice system.
## Event Bus Guiding
You may confuse which event bus to use in your application. Here, a few example scenarios:
* If you are building a microservice system, use the distributed event bus for **inter-microservice communication**. If you are publishing an event and always handling it in the same microservice, you can use the local event bus for that event.
* If you are building a modular monolith application, use the distributed event bus for **inter-module communication**. Since the distributed event bus works in-process by default (unless you configure a real distributed event bus provider). In that way, if you migrate to a microservice system later, these inter-module communication can become a inter-microservice communication without any code change (with just installing a distributed event bus provide package). If you are publishing an event and always handling it in the same module, you can use the local event bus for that event.
* If you are building a monolith (non-modular) application, you can always use the local event bus.
The distributed event bus works in-process by default. Unless you don't configure a real distributed event bus provider, it works just like the local event bus. Once you configure a real distributed event bus provider, all your events become distributed.
So, you use the local event bus only if you an event should always remain in-process in any scenario. For other type of events, use the distributed event bus.
### Technical Differences
There are some technical differences between the local and distributed event bus:
* You can send entities or other non-serializable objects using the local event bus since these objects are not serialized/deserialized on event publishing. On the other hand, distributed event bus serializes/deserializes objects once you use a real distributed event bus provider.
* The local event bus is always transactional in the database level. For distributed event bus, you should enable inbox/outbox pattern to ensure data consistency once you use a real distributed event bus provider.
These differences are because of the distributed event bus supports distributed scenarios while the local event bus is only used for in-process messaging. When you don't set up a real distributed event bus provider, these differences are not valid.

10
docs/en/get-started/layered-web-application.md

@ -3,7 +3,7 @@
````json
//[doc-params]
{
"UI": ["MVC", "Blazor", "BlazorServer", "NG"],
"UI": ["MVC", "Blazor", "BlazorServer", "BlazorWebApp", "NG"],
"DB": ["EF", "Mongo"],
"Tiered": ["Yes", "No"]
}
@ -162,7 +162,7 @@ You can start the following application(s):
{{ else if UI == "Blazor" }}
{{ if Tiered == "No" }}- `Acme.BookStore.HttpApi.Host`{{ end }}
- `Acme.BookStore.Blazor`
{{ else if UI == "BlazorServer" }}
{{ else if UI == "BlazorServer" || UI == "BlazorWebApp" }}
- `Acme.BookStore.Blazor`
{{ else }}
- `Acme.BookStore.Web`
@ -174,7 +174,7 @@ You can start the following application(s):
> Notice that the services running in docker-compose are exposed to your localhost. If any service in your localhost is already using the same port(s), you will get an error. In that case, stop your local services first.
{{ end }}
Once the `Acme.BookStore.{{ if UI == "NG" }}Angular{{ else if UI == "BlazorServer" || UI == "Blazor" }}Blazor{{ else }}Web{{ end }}` application started, you can right-click it and select the *Browse* command:
Once the `Acme.BookStore.{{ if UI == "NG" }}Angular{{ else if UI == "BlazorServer" || UI == "Blazor" || UI == "BlazorWebApp" }}Blazor{{ else }}Web{{ end }}` application started, you can right-click it and select the *Browse* command:
![abp-studio-quick-start-browse-command](images/abp-studio-quick-start-browse-command.png)
@ -206,7 +206,7 @@ Once the solution is opened in Visual Studio, you should see a screen like shown
![visual-studio-bookstore-application](images/visual-studio-bookstore-application.png)
Right-click the `Acme.BookStore.{{ if UI == "NG" || UI == "Blazor" }}HttpApi.Host{{ else if UI == "BlazorServer" }}Blazor{{ else }}Web{{ end }}` project and select the *Set as Startup Project* command. You can then hit *F5* or *Ctrl + F5* to run the web application. It will run and open the application UI in your default browser:
Right-click the `Acme.BookStore.{{ if UI == "NG" || UI == "Blazor" }}HttpApi.Host{{ else if UI == "BlazorServer" || UI == "BlazorWebApp" }}Blazor{{ else }}Web{{ end }}` project and select the *Set as Startup Project* command. You can then hit *F5* or *Ctrl + F5* to run the web application. It will run and open the application UI in your default browser:
![bookstore-browser-users-page](images/bookstore-browser-users-page.png)
@ -242,4 +242,4 @@ Before starting the mobile application, ensure that you configure it for [react-
> For example in non-tiered MVC with public website application:
![solution-runner-public-website](images/solution-runner-public-website.png)
![solution-runner-public-website](images/solution-runner-public-website.png)

6
docs/en/release-info/release-notes.md

@ -4,11 +4,9 @@ This document contains **brief release notes** for each release. Release notes o
> If you want to read the release notes for each ABP Studio release, check it out from [here](../studio/release-notes.md).
## 9.0 (2024-10-22)
## 9.0 (2024-11-19)
> This version is currently in preview. The final release date is planned for November, 2024.
See the detailed **[blog post / announcement](https://abp.io/blog/announcing-abp-9-0-release-candidate)** for the v9.0 release.
See the detailed **[blog post / announcement](https://abp.io/blog/abp-9-0-stable-release-with-dotnet-9-0)** for the v9.0 release.
* Upgraded to .NET 9.0
* Introducing the `Extension Property Policy`

4
docs/en/release-info/upgrading.md

@ -20,7 +20,7 @@ Run this command in the terminal while you are in the root folder of your soluti
When you upgrade to a new version, it is good to check if there is a database schema change and upgrade your database schema if your database provider is **Entity Framework Core**;
* Use `Add-Migration "Upgraded_To_Abp_8_2"` or a similar command in the Package Manager Console (PMC) to create a new migration (Set the `EntityFrameworkCore` as the Default project in the PMC and `.DbMigrator` as the Startup Project in the Solution Explorer, in the Visual Studio).
* Use `Add-Migration "Upgraded_To_Abp_8_3"` or a similar command in the Package Manager Console (PMC) to create a new migration (Set the `EntityFrameworkCore` as the Default project in the PMC and `.DbMigrator` as the Startup Project in the Solution Explorer, in the Visual Studio).
* Apply the database migrations to your database. If available, you can run the `.DbMigrator` application to upgrade the database and seed the initial data.
> If `Add-Migration` generates an empty migration (that means no schema change), you can use `Remove-Migration` to delete it before executing the `.DbMigrator`.
@ -57,4 +57,4 @@ Preview releases and nightly builds can help you to try new features and adapt y
## See Also
* [Migration Guides](migration-guides)
* [Migration Guides](migration-guides)

48
docs/en/studio/release-notes.md

@ -2,6 +2,54 @@
This document contains **brief release notes** for each ABP Studio release. Release notes only include **major features** and **visible enhancements**. Therefore, they don't include all the development done in the related version.
## 0.9.13 (2024-11-25)
* Angular - Theme-based Fixes for the Home Page.
## 0.9.12 (2024-11-25)
* Handled the `DynamicPermissionDefinitionsChangedEto` event to automatically add permissions for the admin role.
* Enhanced the Solution Configuration window with a more intuitive design and updated content.
* Improved MAUI application support by displaying all target frameworks in the Solution Runner and automatically setting the appropriate targetFramework based on the operating system.
## 0.9.11 (2024-11-21)
* Fixed the extension loading problem occured in v0.9.9 & v0.9.10.
## 0.9.10 (2024-11-21)
> Recommended to use v0.9.11+ for .NET 9.
* Added shortcut for Build & Start operation (CTRL + Click)
* Fixed extension loading loop problem in v0.9.9
* Fixed MAUI template for android
## 0.9.9 (2024-11-21)
> Recommended to use v0.9.11+ for .NET 9.
* Upgraded templates to .NET 9
* Fixed blazor wasm bundle problem in microservice template
## 0.9.8 (2024-11-20)
* Upgraded templates to version `8.3.4`
## 0.9.7 (2024-11-19)
* Added `AppearanceStyles` component to blazor server templates
* Fixed module import window
* Made several enhancements to the existing features
## 0.9.6 (2024-11-15)
* Added missing imports to templates
* Fixed bugs during EF Core package installation
* Show errors to the user when adding a database migration
* Changed empty solution description on create new solution wizard
* Fixed problems with templates created with Basic Theme
* Ensure the correct version is used when adding a new module/package to an existing solution
## 0.9.5 (2024-11-06)
* Added dynamic localization option to microservice template

2
docs/en/studio/running-applications.md

@ -187,6 +187,8 @@ We have several options in C# applications. Those options are `Start`(If the app
> When *Watch* is enable you should see an *eye* icon next to the application name.
> Hint: Performing CTRL+Click on the start icon left to a stopped C# application equals to `Build & Start` command. Same applies for folders.
![csharp-application-context-menu-run-connection](images/solution-runner/csharp-application-context-menu-run-connection.png)
### Build

6
docs/en/studio/version-mapping.md

@ -4,7 +4,9 @@ This document provides a general overview of the relationship between various ve
| **ABP Studio Version** | **ABP Version of Startup Template** |
|------------------------|---------------------------|
| 0.9.5 | 8.3.3 |
| 0.9.9 to 0.9.13 | 9.0.0 |
| 0.9.8 | 8.3.4 |
| 0.9.5 to 0.9.7 | 8.3.3 |
| 0.9.2 to 0.9.4 | 8.3.2 |
| 0.8.4 - 0.9.1 | 8.3.1 |
| 0.8.1 to 0.8.3 | 8.3.0 |
@ -19,4 +21,4 @@ This document provides a general overview of the relationship between various ve
By default, ABP Studio uses stable versions to create solutions. Therefore, if you want to create a solution with a preview version, first you need to create a solution and then switch your solution to the preview version from the ABP Studio UI:
![](images/abp-studio-switch-to-preview.png)
![](images/abp-studio-switch-to-preview.png)

8
docs/en/tutorials/book-store/part-01.md

@ -2,7 +2,7 @@
````json
//[doc-params]
{
"UI": ["MVC","Blazor","BlazorServer","NG"],
"UI": ["MVC","Blazor","BlazorServer", "BlazorWebApp","NG"],
"DB": ["EF","Mongo"]
}
````
@ -36,7 +36,7 @@ abp install-libs
> We suggest you install [Yarn](https://classic.yarnpkg.com/) to prevent possible package inconsistencies, if you haven't installed it yet.
{{if UI=="Blazor" || UI=="BlazorServer"}}
{{if UI=="Blazor" || UI=="BlazorWebApp"}}
### Bundling and Minification
@ -440,7 +440,7 @@ ABP can [**automagically**](../../framework/api-development/auto-controllers.md)
### Swagger UI
The startup template is configured to run the [Swagger UI](https://swagger.io/tools/swagger-ui/) using the [Swashbuckle.AspNetCore](https://github.com/domaindrivendev/Swashbuckle.AspNetCore) library. Run the application ({{if UI=="MVC"}}`Acme.BookStore.Web`{{else if UI=="BlazorServer"}}`Acme.BookStore.Blazor`{{else}}`Acme.BookStore.HttpApi.Host`{{end}}) by pressing `CTRL+F5` and navigate to `https://localhost:<port>/swagger/` on your browser. Replace `<port>` with your own port number.
The startup template is configured to run the [Swagger UI](https://swagger.io/tools/swagger-ui/) using the [Swashbuckle.AspNetCore](https://github.com/domaindrivendev/Swashbuckle.AspNetCore) library. Run the application ({{if UI=="MVC"}}`Acme.BookStore.Web`{{else if UI=="BlazorServer" || UI=="BlazorWebApp"}}`Acme.BookStore.Blazor`{{else}}`Acme.BookStore.HttpApi.Host`{{end}}) by pressing `CTRL+F5` and navigate to `https://localhost:<port>/swagger/` on your browser. Replace `<port>` with your own port number.
You will see some built-in service endpoints as well as the `Book` service and its REST-style endpoints:
@ -480,4 +480,4 @@ If you try to execute the `[GET] /api/app/book` API to get a list of books, the
}
````
That's pretty cool since we haven't written a single line of code to create the API controller, but now we have a fully working REST API!
That's pretty cool since we haven't written a single line of code to create the API controller, but now we have a fully working REST API!

10
docs/en/tutorials/book-store/part-02.md

@ -2,7 +2,7 @@
````json
//[doc-params]
{
"UI": ["MVC","Blazor","BlazorServer","NG"],
"UI": ["MVC","Blazor","BlazorServer", "BlazorWebApp", "NG"],
"DB": ["EF","Mongo"]
}
````
@ -514,13 +514,13 @@ Now you can see the final result on your browser:
![Book list final result](images/bookstore-book-list-angular.png)
{{else if UI == "Blazor" || UI == "BlazorServer"}}
{{else if UI == "Blazor" || UI == "BlazorServer" || UI == "BlazorWebApp"}}
## Create a Books Page
It's time to create something visible and usable! Right click on the `Pages` folder under the {{ if UI == "Blazor"}}`Acme.BookStore.Blazor.Client`{{ else }}`Acme.BookStore.Blazor`{{ end }} project and add a new **razor component**, named `Books.razor`:
It's time to create something visible and usable! Right click on the `Pages` folder under the {{ if UI == "BlazorServer" }}`Acme.BookStore.Blazor`{{ else }}`Acme.BookStore.Blazor.Client`{{ end }} project and add a new **razor component**, named `Books.razor`:
{{ if UI == "Blazor"}}
{{ if UI == "Blazor" || UI == "BlazorWebApp" }}
![blazor-add-books-component](images/blazor-add-books-component-client.png)
{{ else }}
![blazor-add-books-component](images/blazor-add-books-component.png)
@ -540,7 +540,7 @@ Replace the contents of this component as shown below:
### Add the Books Page to the Main Menu
Open the `BookStoreMenuContributor` class in the {{ if UI == "Blazor"}}`Acme.BookStore.Blazor.Client`{{ else }}`Acme.BookStore.Blazor`{{ end }} project add the following code to the end of the `ConfigureMainMenuAsync` method:
Open the `BookStoreMenuContributor` class in the {{ if UI == "BlazorServer"}}`Acme.BookStore.Blazor`{{ else }}`Acme.BookStore.Blazor.Client`{{ end }} project add the following code to the end of the `ConfigureMainMenuAsync` method:
````csharp
context.Menu.AddItem(

8
docs/en/tutorials/book-store/part-03.md

@ -2,7 +2,7 @@
````json
//[doc-params]
{
"UI": ["MVC","Blazor","BlazorServer","NG"],
"UI": ["MVC","Blazor","BlazorServer","BlazorWebApp","NG"],
"DB": ["EF","Mongo"]
}
````
@ -1101,7 +1101,7 @@ Clicking the "Delete" action calls the `delete` method which then shows a confir
{{end}}
{{if UI == "Blazor" || UI == "BlazorServer"}}
{{if UI == "Blazor" || UI == "BlazorServer" || UI == "BlazorWebApp"}}
## Creating a New Book
@ -1292,13 +1292,13 @@ We can now define a modal to edit the book. Add the following code to the end of
The base `AbpCrudPageBase` uses the [object to object mapping](../../framework/infrastructure/object-to-object-mapping.md) system to convert an incoming `BookDto` object to a `CreateUpdateBookDto` object. So, we need to define the mapping.
Open the `BookStoreBlazorAutoMapperProfile` inside the `Acme.BookStore.Blazor.Client` project and change the content as the following:
Open the `BookStoreBlazorAutoMapperProfile` inside the {{ if UI == "BlazorServer" }}`Acme.BookStore.Blazor`{{ else }}`Acme.BookStore.Blazor.Client`{{ end }} project and change the content as the following:
````csharp
using Acme.BookStore.Books;
using AutoMapper;
namespace Acme.BookStore.Blazor.Client;
{{ if UI == "BlazorServer" }}namespace Acme.BookStore.Blazor;{{ else }}namespace Acme.BookStore.Blazor.Client;{{ end }}
public class BookStoreBlazorAutoMapperProfile : Profile
{

2
docs/en/tutorials/book-store/part-04.md

@ -2,7 +2,7 @@
````json
//[doc-params]
{
"UI": ["MVC","Blazor","BlazorServer","NG"],
"UI": ["MVC","Blazor","BlazorServer","BlazorWebApp","NG"],
"DB": ["EF","Mongo"]
}
````

8
docs/en/tutorials/book-store/part-05.md

@ -2,7 +2,7 @@
````json
//[doc-params]
{
"UI": ["MVC","Blazor","BlazorServer","NG"],
"UI": ["MVC","Blazor","BlazorServer","BlazorWebApp","NG"],
"DB": ["EF","Mongo"]
}
````
@ -389,11 +389,11 @@ Open the `/src/app/book/book.component.html` file and replace the edit and delet
* Added `*abpPermission="'BookStore.Books.Edit'"` that hides the edit action if the current user has no editing permission.
* Added `*abpPermission="'BookStore.Books.Delete'"` that hides the delete action if the current user has no delete permission.
{{else if UI == "Blazor"}}
{{else if UI == "Blazor" || UI == "BlazorServer" || UI == "BlazorWebApp"}}
### Authorize the Razor Component
Open the `/Pages/Books.razor` file in the `Acme.BookStore.Blazor.Client` project and add an `Authorize` attribute just after the `@page` directive and the following namespace imports (`@using` lines), as shown below:
Open the `/Pages/Books.razor` file in the {{ if UI == "BlazorServer" }}`Acme.BookStore.Blazor`{{ else }}`Acme.BookStore.Blazor.Client`{{ end }} project and add an `Authorize` attribute just after the `@page` directive and the following namespace imports (`@using` lines), as shown below:
````html
@page "/books"
@ -479,7 +479,7 @@ You can run and test the permissions. Remove a book related permission from the
Even we have secured all the layers of the book management page, it is still visible on the main menu of the application. We should hide the menu item if the current user has no permission.
Open the `BookStoreMenuContributor` class in the `Acme.BookStore.Blazor.Client` project, find the code block below:
Open the `BookStoreMenuContributor` class in the {{ if UI == "BlazorServer" }}`Acme.BookStore.Blazor`{{ else }}`Acme.BookStore.Blazor.Client`{{ end }} project, find the code block below:
````csharp
context.Menu.AddItem(

2
docs/en/tutorials/book-store/part-06.md

@ -2,7 +2,7 @@
````json
//[doc-params]
{
"UI": ["MVC","Blazor","BlazorServer","NG"],
"UI": ["MVC","Blazor","BlazorServer", "BlazorWebApp", "NG"],
"DB": ["EF","Mongo"]
}
````

2
docs/en/tutorials/book-store/part-07.md

@ -2,7 +2,7 @@
````json
//[doc-params]
{
"UI": ["MVC","Blazor","BlazorServer","NG"],
"UI": ["MVC","Blazor","BlazorServer","BlazorWebApp","NG"],
"DB": ["EF","Mongo"]
}
````

2
docs/en/tutorials/book-store/part-08.md

@ -2,7 +2,7 @@
````json
//[doc-params]
{
"UI": ["MVC","Blazor","BlazorServer","NG"],
"UI": ["MVC","Blazor","BlazorServer","BlazorWebApp","NG"],
"DB": ["EF","Mongo"]
}
````

12
docs/en/tutorials/book-store/part-09.md

@ -2,7 +2,7 @@
````json
//[doc-params]
{
"UI": ["MVC","Blazor","BlazorServer","NG"],
"UI": ["MVC","Blazor","BlazorServer","BlazorWebApp","NG"],
"DB": ["EF","Mongo"]
}
````
@ -848,13 +848,13 @@ That's all! This is a fully working CRUD page, you can create, edit and delete a
{{end}}
{{if UI == "Blazor" || UI == "BlazorServer"}}
{{if UI == "Blazor" || UI == "BlazorServer" || UI == "BlazorWebApp"}}
## The Author Management Page
### Authors Razor Component
Create a new Razor Component Page, `/Pages/Authors.razor`, in the `Acme.BookStore.Blazor.Client` project with the following content:
Create a new Razor Component Page, `/Pages/Authors.razor`, in the {{ if UI == "BlazorServer" }}`Acme.BookStore.Blazor`{{ else }}`Acme.BookStore.Blazor.Client`{{ end }} project with the following content:
````xml
@page "/authors"
@ -1055,7 +1055,7 @@ using Blazorise.DataGrid;
using Microsoft.AspNetCore.Authorization;
using Volo.Abp.Application.Dtos;
namespace Acme.BookStore.Blazor.Client.Pages;
{{ if UI == "BlazorServer" }}namespace Acme.BookStore.Blazor.Pages;{{ else }}namespace Acme.BookStore.Blazor.Client.Pages;{{ end }}
public partial class Authors
{
@ -1201,7 +1201,7 @@ This class typically defines the properties and methods used by the `Authors.raz
`Authors` class uses the `IObjectMapper` in the `OpenEditAuthorModal` method. So, we need to define this mapping.
Open the `BookStoreBlazorAutoMapperProfile.cs` in the `Acme.BookStore.Blazor.Client` project and add the following mapping code in the constructor:
Open the `BookStoreBlazorAutoMapperProfile.cs` in the {{ if UI == "BlazorServer" }}`Acme.BookStore.Blazor`{{ else }}`Acme.BookStore.Blazor.Client`{{ end }} project and add the following mapping code in the constructor:
````csharp
CreateMap<AuthorDto, UpdateAuthorDto>();
@ -1211,7 +1211,7 @@ You will need to declare a `using Acme.BookStore.Authors;` statement to the begi
### Add to the Main Menu
Open the `BookStoreMenuContributor.cs` in the `Acme.BookStore.Blazor.Client` project and add the following code to the end of the `ConfigureMainMenuAsync` method:
Open the `BookStoreMenuContributor.cs` in the {{ if UI == "BlazorServer" }}`Acme.BookStore.Blazor`{{ else }}`Acme.BookStore.Blazor.Client`{{ end }} project and add the following code to the end of the `ConfigureMainMenuAsync` method:
````csharp
if (await context.IsGrantedAsync(BookStorePermissions.Authors.Default))

6
docs/en/tutorials/book-store/part-10.md

@ -2,7 +2,7 @@
````json
//[doc-params]
{
"UI": ["MVC","Blazor","BlazorServer","NG"],
"UI": ["MVC","Blazor","BlazorServer","BlazorWebApp","NG"],
"DB": ["EF","Mongo"]
}
````
@ -1071,11 +1071,11 @@ That's all. Just run the application and try to create or edit an author.
{{end}}
{{if UI == "Blazor" || UI == "BlazorServer"}}
{{if UI == "Blazor" || UI == "BlazorServer" || UI == "BlazorWebApp" }}
### The Book List
It is very easy to show the *Author Name* in the book list. Open the `/Pages/Books.razor` file in the `Acme.BookStore.Blazor.Client` project and add the following `DataGridColumn` definition just after the `Name` (book name) column:
It is very easy to show the *Author Name* in the book list. Open the `/Pages/Books.razor` file in the {{ if UI == "BlazorServer" }}`Acme.BookStore.Blazor`{{ else }}`Acme.BookStore.Blazor.Client`{{ end }} project and add the following `DataGridColumn` definition just after the `Name` (book name) column:
````xml
<DataGridColumn TItem="BookDto"

4
docs/en/tutorials/modular-crm/part-01.md

@ -10,7 +10,7 @@
}
````
Follow the *[Get Stared](../../get-started/layered-web-application.md)* guide to create a new layered web application with the following configuration:
Follow the *[Get Started](../../get-started/layered-web-application.md)* guide to create a new layered web application with the following configuration:
* **Solution name**: `ModularCrm`
* **UI Framework**: ASP.NET Core MVC / Razor Pages
@ -34,4 +34,4 @@ Initially, you see a `ModularCrm` solution and a `ModularCrm` module under that
## Summary
We've created the initial layered monolith solution. In the next part, we will learn how to create a new application module and install it to the main application.
We've created the initial layered monolith solution. In the next part, we will learn how to create a new application module and install it to the main application.

19
docs/en/tutorials/todo/layered/index.md

@ -74,7 +74,7 @@ dotnet tool install -g Volo.Abp.Studio.Cli
Create an empty folder, open a command-line terminal and execute the following command in the terminal:
````bash
abp new TodoApp{{if UI=="Blazor"}} -u blazor{{else if UI=="BlazorServer"}} -u blazor-server{{else if UI=="NG"}} -u angular{{end}}{{if DB=="Mongo"}} -d mongodb{{end}}
abp new TodoApp{{if UI=="Blazor"}} -u blazor{{else if UI=="BlazorServer"}} -u blazor-server{{else if UI=="BlazorWebApp"}} -u blazor-webapp{{else if UI=="NG"}} -u angular{{end}}{{if DB=="Mongo"}} -d mongodb{{end}}
````
{{if UI=="NG"}}
@ -113,13 +113,14 @@ abp install-libs
> We suggest you install [Yarn](https://classic.yarnpkg.com/) to prevent possible package inconsistencies, if you haven't installed it yet.
{{if UI=="Blazor" || UI=="BlazorServer"}}
{{if UI=="Blazor" || UI=="BlazorWebApp"}}
#### Bundling and Minification
`abp bundle` command offers bundling and minification support for client-side resources (JavaScript and CSS files) for Blazor projects. This command automatically run when you create a new solution with the [ABP CLI](../../../cli/index.md).
However, sometimes you might need to run this command manually. To update script & style references without worrying about dependencies, ordering, etc. in a project, you can run this command in the directory of your blazor application:
However, sometimes you might need to run this command manually. To update script & style references without worrying about dependencies, ordering, etc. in a project, you can run this command in the directory of your `Blazor.Client` application:
````bash
abp bundle
@ -131,7 +132,7 @@ abp bundle
### Run the Application
{{if UI=="MVC" || UI=="BlazorServer"}}
{{if UI=="MVC" || UI=="BlazorServer" || UI=="BlazorWebApp"}}
It is good to run the application before starting the development. Ensure the {{if UI=="BlazorServer"}}`TodoApp.Blazor`{{else}}`TodoApp.Web`{{end}} project is the startup project, then run the application (Ctrl+F5 in Visual Studio) to see the initial UI:
@ -148,10 +149,6 @@ Ensure the `TodoApp.HttpApi.Host` project is the startup project, then run the a
You can explore and test your HTTP API with this UI. Now, we can set the `TodoApp.Blazor` as the startup project and run it to open the actual Blazor application UI:
{{else if UI=="BlazorWebApp" }}
It is good to run the application before starting the development. Ensure the `TodoApp.Blazor` project is the startup project, then run the application (Ctrl+F5 in Visual Studio) to see the initial UI:
{{else if UI=="NG"}}
It is good to run the application before starting the development. The solution has two main applications:
@ -589,7 +586,7 @@ If you open the [Swagger UI](https://swagger.io/tools/swagger-ui/) by entering t
### Index.razor.cs
Open the `Index.razor.cs` file in the `Pages` folder of the {{if UI=="BlazorWebApp"}} *TodoApp.Blazor.Client* {{else}}*TodoApp.Blazor*{{end}} project and replace the content with the following code block:
Open the `Index.razor.cs` file in the `Pages` folder of the {{if UI=="Blazor" || UI=="BlazorWebApp"}} *TodoApp.Blazor.Client* {{else}}*TodoApp.Blazor*{{end}} project and replace the content with the following code block:
```csharp
using Microsoft.AspNetCore.Components;
@ -638,7 +635,7 @@ See the *Dynamic C# Proxies & Auto API Controllers* section below to learn how w
### Index.razor
Open the `Index.razor` file in the `Pages` folder of the {{if UI=="BlazorWebApp"}} *TodoApp.Blazor.Client* {{else}} *TodoApp.Blazor* {{end}} project and replace the content with the following code block:
Open the `Index.razor` file in the `Pages` folder of the {{if UI=="Blazor" || UI=="BlazorWebApp"}} *TodoApp.Blazor.Client* {{else}} *TodoApp.Blazor* {{end}} project and replace the content with the following code block:
```xml
@page "/"
@ -680,7 +677,7 @@ Open the `Index.razor` file in the `Pages` folder of the {{if UI=="BlazorWebApp"
### Index.razor.css
As the final touch, open the `Index.razor.css` file in the `Pages` folder of the {{if UI=="BlazorWebApp"}}*TodoApp.Blazor.Client*{{else}}*TodoApp.Blazor*{{end}} project and replace it with the following content:
As the final touch, open the `Index.razor.css` file in the `Pages` folder of the {{if UI=="Blazor" || UI=="BlazorWebApp"}}*TodoApp.Blazor.Client*{{else}}*TodoApp.Blazor*{{end}} project and replace it with the following content:
```css
#TodoList{

3
framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/Conventions/ConventionalRouteBuilder.cs

@ -2,6 +2,7 @@
using System.ComponentModel;
using System.Linq;
using System.Reflection;
using System.Runtime.InteropServices;
using Microsoft.AspNetCore.Mvc.ApplicationModels;
using Microsoft.Extensions.Options;
using Volo.Abp.DependencyInjection;
@ -63,7 +64,7 @@ public class ConventionalRouteBuilder : IConventionalRouteBuilder, ITransientDep
//Add secondary Id
var secondaryIds = action.Parameters
.Where(p => p.ParameterName.EndsWith("Id", StringComparison.Ordinal)).ToList();
if (secondaryIds.Count == 1)
if (secondaryIds.Count == 1 && !secondaryIds[0].Attributes.Any(x => x is OptionalAttribute))
{
url += $"/{{{NormalizeSecondaryIdNameCase(secondaryIds[0], configuration)}}}";
}

2
framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/Libs/AbpMvcLibsService.cs

@ -34,7 +34,7 @@ public class AbpMvcLibsService : IAbpMvcLibsService, ITransientDependency
app.Use(async (httpContext, next) =>
{
if (!await CheckLibsAsyncOnceAsync(httpContext))
if (!httpContext.Request.IsAjax() && !await CheckLibsAsyncOnceAsync(httpContext))
{
var errorPage = new AbpMvcLibsErrorPage();
await errorPage.ExecuteAsync(httpContext);

11
framework/src/Volo.Abp.AspNetCore/Volo/Abp/AspNetCore/Security/Claims/AbpDynamicClaimsMiddleware.cs

@ -2,7 +2,6 @@ using System;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Authentication;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Http.Features.Authentication;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Options;
using Volo.Abp.AspNetCore.Middleware;
@ -27,12 +26,10 @@ public class AbpDynamicClaimsMiddleware : AbpMiddlewareBase, ITransientDependenc
var abpClaimsPrincipalFactory = context.RequestServices.GetRequiredService<IAbpClaimsPrincipalFactory>();
var user = await abpClaimsPrincipalFactory.CreateDynamicAsync(context.User);
authenticateResultFeature.AuthenticateResult = AuthenticateResult.Success(new AuthenticationTicket(user, authenticationType));
var httpAuthenticationFeature = context.Features.Get<IHttpAuthenticationFeature>();
if (httpAuthenticationFeature != null)
{
httpAuthenticationFeature.User = authenticateResultFeature.AuthenticateResult.Principal;
}
authenticateResultFeature.AuthenticateResult = AuthenticateResult.Success(new AuthenticationTicket(
user,
authenticateResultFeature?.AuthenticateResult?.Properties,
authenticationType));
}
if (context.User.Identity?.IsAuthenticated == false)

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

@ -93,21 +93,21 @@ public class AbpRedisCache : RedisCache, ICacheSupportsMultipleItems
RecycleMethodInfo.Invoke(this, new object[] { lease! });
}
public byte[]?[] GetMany(IEnumerable<string> keys)
public virtual byte[]?[] GetMany(IEnumerable<string> keys)
{
keys = Check.NotNull(keys, nameof(keys));
return GetAndRefreshMany(keys, true);
}
public async Task<byte[]?[]> GetManyAsync(IEnumerable<string> keys, CancellationToken token = default)
public virtual async Task<byte[]?[]> GetManyAsync(IEnumerable<string> keys, CancellationToken token = default)
{
keys = Check.NotNull(keys, nameof(keys));
return await GetAndRefreshManyAsync(keys, true, token);
}
public void SetMany(IEnumerable<KeyValuePair<string, byte[]>> items, DistributedCacheEntryOptions options)
public virtual void SetMany(IEnumerable<KeyValuePair<string, byte[]>> items, DistributedCacheEntryOptions options)
{
var cache = Connect();
@ -126,7 +126,7 @@ public class AbpRedisCache : RedisCache, ICacheSupportsMultipleItems
}
}
public async Task SetManyAsync( IEnumerable<KeyValuePair<string, byte[]>> items, DistributedCacheEntryOptions options, CancellationToken token = default)
public virtual async Task SetManyAsync(IEnumerable<KeyValuePair<string, byte[]>> items, DistributedCacheEntryOptions options, CancellationToken token = default)
{
token.ThrowIfCancellationRequested();
@ -147,21 +147,21 @@ public class AbpRedisCache : RedisCache, ICacheSupportsMultipleItems
}
}
public void RefreshMany(IEnumerable<string> keys)
public virtual void RefreshMany(IEnumerable<string> keys)
{
keys = Check.NotNull(keys, nameof(keys));
GetAndRefreshMany(keys, false);
}
public async Task RefreshManyAsync(IEnumerable<string> keys, CancellationToken token = default)
public virtual async Task RefreshManyAsync(IEnumerable<string> keys, CancellationToken token = default)
{
keys = Check.NotNull(keys, nameof(keys));
await GetAndRefreshManyAsync(keys, false, token);
}
public void RemoveMany(IEnumerable<string> keys)
public virtual void RemoveMany(IEnumerable<string> keys)
{
keys = Check.NotNull(keys, nameof(keys));
@ -169,7 +169,7 @@ public class AbpRedisCache : RedisCache, ICacheSupportsMultipleItems
try
{
cache.KeyDelete(keys.Select(key => InstancePrefix.Append(key)).ToArray());
Task.WaitAll(PipelineRemoveManyAsync(cache, keys));
}
catch (Exception ex)
{
@ -178,7 +178,7 @@ public class AbpRedisCache : RedisCache, ICacheSupportsMultipleItems
}
}
public async Task RemoveManyAsync(IEnumerable<string> keys, CancellationToken token = default)
public virtual async Task RemoveManyAsync(IEnumerable<string> keys, CancellationToken token = default)
{
keys = Check.NotNull(keys, nameof(keys));
@ -187,7 +187,7 @@ public class AbpRedisCache : RedisCache, ICacheSupportsMultipleItems
try
{
await cache.KeyDeleteAsync(keys.Select(key => InstancePrefix.Append(key)).ToArray());
await Task.WhenAll(PipelineRemoveManyAsync(cache, keys));
}
catch (Exception ex)
{
@ -195,6 +195,11 @@ public class AbpRedisCache : RedisCache, ICacheSupportsMultipleItems
throw;
}
}
protected virtual Task[] PipelineRemoveManyAsync(IDatabase cache, IEnumerable<string> keys)
{
return keys.Select(key => cache.KeyDeleteAsync(InstancePrefix.Append(key))).ToArray<Task>();
}
protected virtual byte[]?[] GetAndRefreshMany(IEnumerable<string> keys, bool getData)
{

1
framework/src/Volo.Abp.EntityFrameworkCore.Oracle.Devart/Volo.Abp.EntityFrameworkCore.Oracle.Devart.csproj

@ -22,6 +22,7 @@
<ItemGroup>
<PackageReference Include="Devart.Data.Oracle.EFCore" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Relational" />
</ItemGroup>
</Project>

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

@ -630,13 +630,7 @@ public abstract class AbpDbContext<TDbContext> : DbContext, IAbpEfCoreDbContext,
originalExtraProperties = entry.OriginalValues.GetValue<ExtraPropertyDictionary>(nameof(IHasExtraProperties.ExtraProperties));
}
//TODO: Reload will throw an exception. Check it when new EF Core versions released.
//entry.Reload();
var storeValues = entry.OriginalValues;
entry.CurrentValues.SetValues(storeValues);
entry.OriginalValues.SetValues(storeValues);
entry.State = EntityState.Unchanged;
entry.Reload();
if (entry.Entity is IHasExtraProperties)
{
@ -785,21 +779,18 @@ public abstract class AbpDbContext<TDbContext> : DbContext, IAbpEfCoreDbContext,
return;
}
AbpDateTimeValueConverter.Clock = Clock;
AbpNullableDateTimeValueConverter.Clock = Clock;
foreach (var property in mutableEntityType.GetProperties().
Where(property => property.PropertyInfo != null &&
(property.PropertyInfo.PropertyType == typeof(DateTime) || property.PropertyInfo.PropertyType == typeof(DateTime?)) &&
property.PropertyInfo.CanWrite &&
ReflectionHelper.GetSingleAttributeOfMemberOrDeclaringTypeOrDefault<DisableDateTimeNormalizationAttribute>(property.PropertyInfo) == null))
{
modelBuilder
modelBuilder
.Entity<TEntity>()
.Property(property.Name)
.HasConversion(property.ClrType == typeof(DateTime)
? new AbpDateTimeValueConverter()
: new AbpNullableDateTimeValueConverter());
? new AbpDateTimeValueConverter(Clock)
: new AbpNullableDateTimeValueConverter(Clock));
}
}
}

18
framework/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/EntityFrameworkCore/ValueConverters/AbpDateTimeValueConverter.cs

@ -6,26 +6,20 @@ namespace Volo.Abp.EntityFrameworkCore.ValueConverters;
public class AbpDateTimeValueConverter : ValueConverter<DateTime, DateTime>
{
public static IClock? Clock { get; set; }
public AbpDateTimeValueConverter(ConverterMappingHints? mappingHints = null)
public AbpDateTimeValueConverter(IClock clock, ConverterMappingHints? mappingHints = null)
: base(
x => Clock!.Normalize(x),
x => Clock!.Normalize(x),
mappingHints)
x => clock.Normalize(x),
x => clock.Normalize(x), mappingHints)
{
}
}
public class AbpNullableDateTimeValueConverter : ValueConverter<DateTime?, DateTime?>
{
public static IClock? Clock { get; set; }
public AbpNullableDateTimeValueConverter(ConverterMappingHints? mappingHints = null)
public AbpNullableDateTimeValueConverter(IClock clock, ConverterMappingHints? mappingHints = null)
: base(
x => x.HasValue ? Clock!.Normalize(x.Value) : x,
x => x.HasValue ? Clock!.Normalize(x.Value) : x,
mappingHints)
x => x.HasValue ? clock.Normalize(x.Value) : x,
x => x.HasValue ? clock.Normalize(x.Value) : x, mappingHints)
{
}
}

9
framework/src/Volo.Abp.EventBus.Rebus/Volo.Abp.EventBus.Rebus.csproj

@ -21,8 +21,11 @@
</ItemGroup>
<ItemGroup>
<PackageReference Include="Rebus" />
<PackageReference Include="Rebus.ServiceProvider" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection" />
<PackageReference Include="Microsoft.Extensions.Hosting.Abstractions" />
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" />
<PackageReference Include="System.Text.Json" />
<PackageReference Include="Rebus" />
<PackageReference Include="Rebus.ServiceProvider" />
</ItemGroup>
</Project>

1
framework/src/Volo.Abp.EventBus.Rebus/Volo/Abp/EventBus/Rebus/AbpRebusEventBusOptions.cs

@ -29,7 +29,6 @@ public class AbpRebusEventBusOptions
private void DefaultConfigure(RebusConfigurer configure)
{
configure.Subscriptions(s => s.StoreInMemory());
configure.Transport(t => t.UseInMemoryTransport(new InMemNetwork(), InputQueueName));
}
}

2
framework/src/Volo.Abp.Swashbuckle/Volo/Abp/Swashbuckle/SwaggerHtmlResolver.cs

@ -15,7 +15,7 @@ public class SwaggerHtmlResolver : ISwaggerHtmlResolver, ITransientDependency
var html = new StreamReader(stream!)
.ReadToEnd()
.Replace("SwaggerUIBundle(configObject)", "abp.SwaggerUIBundle(configObject)");
.Replace("src=\"index.js\"", "src=\"ui/index.js\"");
return new MemoryStream(Encoding.UTF8.GetBytes(html));
}

75
framework/src/Volo.Abp.Swashbuckle/wwwroot/swagger/ui/index.js

@ -0,0 +1,75 @@
//Copy from https://github.com/domaindrivendev/Swashbuckle.AspNetCore/blob/master/src/Swashbuckle.AspNetCore.SwaggerUI/index.js
/* Source: https://gist.github.com/lamberta/3768814
* Parse a string function definition and return a function object. Does not use eval.
* @param {string} str
* @return {function}
*
* Example:
* var f = function (x, y) { return x * y; };
* var g = parseFunction(f.toString());
* g(33, 3); //=> 99
*/
function parseFunction(str) {
if (!str) return void (0);
var fn_body_idx = str.indexOf('{'),
fn_body = str.substring(fn_body_idx + 1, str.lastIndexOf('}')),
fn_declare = str.substring(0, fn_body_idx),
fn_params = fn_declare.substring(fn_declare.indexOf('(') + 1, fn_declare.lastIndexOf(')')),
args = fn_params.split(',');
args.push(fn_body);
function Fn() {
return Function.apply(this, args);
}
Fn.prototype = Function.prototype;
return new Fn();
}
window.onload = function () {
var configObject = JSON.parse('%(ConfigObject)');
var oauthConfigObject = JSON.parse('%(OAuthConfigObject)');
// Workaround for https://github.com/swagger-api/swagger-ui/issues/5945
configObject.urls.forEach(function (item) {
if (item.url.startsWith("http") || item.url.startsWith("/")) return;
item.url = window.location.href.replace("index.html", item.url).split('#')[0];
});
// If validatorUrl is not explicitly provided, disable the feature by setting to null
if (!configObject.hasOwnProperty("validatorUrl"))
configObject.validatorUrl = null
// If oauth2RedirectUrl isn't specified, use the built-in default
if (!configObject.hasOwnProperty("oauth2RedirectUrl"))
configObject.oauth2RedirectUrl = (new URL("oauth2-redirect.html", window.location.href)).href;
// Apply mandatory parameters
configObject.dom_id = "#swagger-ui";
configObject.presets = [SwaggerUIBundle.presets.apis, SwaggerUIStandalonePreset];
configObject.layout = "StandaloneLayout";
// Parse and add interceptor functions
var interceptors = JSON.parse('%(Interceptors)');
if (interceptors.RequestInterceptorFunction)
configObject.requestInterceptor = parseFunction(interceptors.RequestInterceptorFunction);
if (interceptors.ResponseInterceptorFunction)
configObject.responseInterceptor = parseFunction(interceptors.ResponseInterceptorFunction);
if (configObject.plugins) {
configObject.plugins = configObject.plugins.map(eval);
}
// Begin Swagger UI call region
const ui = abp.SwaggerUIBundle(configObject);
ui.initOAuth(oauthConfigObject);
// End Swagger UI call region
window.ui = ui
}

5
framework/src/Volo.Abp.Uow/Volo/Abp/Uow/UnitOfWork.cs

@ -152,7 +152,6 @@ public class UnitOfWork : IUnitOfWork, ITransientDependency
await UnitOfWorkEventPublisher.PublishLocalEventsAsync(
localEventsToBePublished
);
LocalEvents.AddRange(GetEventsRecords(LocalEventWithPredicates));
}
if (DistributedEvents.Any())
@ -163,10 +162,12 @@ public class UnitOfWork : IUnitOfWork, ITransientDependency
await UnitOfWorkEventPublisher.PublishDistributedEventsAsync(
distributedEventsToBePublished
);
DistributedEvents.AddRange(GetEventsRecords(DistributedEventWithPredicates));
}
await SaveChangesAsync(cancellationToken);
LocalEvents.AddRange(GetEventsRecords(LocalEventWithPredicates));
DistributedEvents.AddRange(GetEventsRecords(DistributedEventWithPredicates));
}
await CommitTransactionsAsync(cancellationToken);

2
global.json

@ -1,6 +1,6 @@
{
"sdk": {
"version": "9.0.100-rc.2.24474.11",
"version": "9.0.100",
"rollForward": "latestFeature"
}
}

2
latest-versions.json

@ -1,6 +1,6 @@
[
{
"version": "8.3.3",
"version": "9.0.0",
"releaseDate": "",
"type": "stable",
"message": ""

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": "~9.0.0-rc.2",
"@abp/prismjs": "~9.0.0-rc.2",
"@abp/highlight.js": "~9.0.0-rc.2"
"@abp/aspnetcore.mvc.ui.theme.shared": "~9.0.0",
"@abp/prismjs": "~9.0.0",
"@abp/highlight.js": "~9.0.0"
}
}

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@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-9.0.0-rc.2.tgz#acaeaa5e0b329e5d836a198f7a3563d141d7fc79"
integrity sha512-hs8AoZwOnrMYmFl7/GQc6EUr5Jz5lTXWgSmp0l/DdH7f3INYEgCrIp5qvLFyNu8CHv6Gbegw2vGdpfDQbkiasw==
dependencies:
"@abp/aspnetcore.mvc.ui" "~9.0.0-rc.2"
"@abp/bootstrap" "~9.0.0-rc.2"
"@abp/bootstrap-datepicker" "~9.0.0-rc.2"
"@abp/bootstrap-daterangepicker" "~9.0.0-rc.2"
"@abp/datatables.net-bs5" "~9.0.0-rc.2"
"@abp/font-awesome" "~9.0.0-rc.2"
"@abp/jquery-form" "~9.0.0-rc.2"
"@abp/jquery-validation-unobtrusive" "~9.0.0-rc.2"
"@abp/lodash" "~9.0.0-rc.2"
"@abp/luxon" "~9.0.0-rc.2"
"@abp/malihu-custom-scrollbar-plugin" "~9.0.0-rc.2"
"@abp/moment" "~9.0.0-rc.2"
"@abp/select2" "~9.0.0-rc.2"
"@abp/sweetalert2" "~9.0.0-rc.2"
"@abp/timeago" "~9.0.0-rc.2"
"@abp/toastr" "~9.0.0-rc.2"
"@abp/aspnetcore.mvc.ui@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-9.0.0-rc.2.tgz#5fc82ab4872b955cf46d755e99c656e0420a3c64"
integrity sha512-gGfHAsznxFIqTk6OFuRzcJ8D65VWmHkRqQjzmd97GZ1lNXRGDNGtYXbC/L1bA88O+qAXzhQ/c47h6in9cGh38w==
"@abp/aspnetcore.mvc.ui.theme.shared@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-9.0.0.tgz#a77b4b70fa6217146afd6a57211f57e2360564f2"
integrity sha512-QmZrSp+rfqfnC9W4QZ+nNdAq0rOALzRn1rsDpGDHhIHwyXB03QPdjzIWaEvldUYHzqg84cEP0LcqW4y57Xr1iw==
dependencies:
"@abp/aspnetcore.mvc.ui" "~9.0.0"
"@abp/bootstrap" "~9.0.0"
"@abp/bootstrap-datepicker" "~9.0.0"
"@abp/bootstrap-daterangepicker" "~9.0.0"
"@abp/datatables.net-bs5" "~9.0.0"
"@abp/font-awesome" "~9.0.0"
"@abp/jquery-form" "~9.0.0"
"@abp/jquery-validation-unobtrusive" "~9.0.0"
"@abp/lodash" "~9.0.0"
"@abp/luxon" "~9.0.0"
"@abp/malihu-custom-scrollbar-plugin" "~9.0.0"
"@abp/moment" "~9.0.0"
"@abp/select2" "~9.0.0"
"@abp/sweetalert2" "~9.0.0"
"@abp/timeago" "~9.0.0"
"@abp/toastr" "~9.0.0"
"@abp/aspnetcore.mvc.ui@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-9.0.0.tgz#93004dd056c130386c7b40c458f3a793d8c9e051"
integrity sha512-pvO5bh9baFcSbfW0s7tpMpbe6DKSC16jeyeluZLlvYxC0n2gkrv7H/hB5aMuBKIlh89aGY9DQIcMFC8iczL3Bg==
dependencies:
ansi-colors "^4.1.3"
"@abp/bootstrap-datepicker@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-9.0.0-rc.2.tgz#884343a8c0b881e6612cbbbf1fb9af0f40cbc223"
integrity sha512-JqPKn0xFyqoA4smY3gtUE/HcbG5QmLtFpZNG/zMnDq2JEtJt13xee9FguYXrlMOrM9PqAwnq2Wrc8s71ROh8Zg==
"@abp/bootstrap-datepicker@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-9.0.0.tgz#d6609e50568aac6a013abfcaa07817998e1eaa99"
integrity sha512-wxAeVsOVOJpidDn0g3FlJvpOsn5SVY5IpEG+FtUxSAKuWYJQWF6g5CaghrfS+FNDK9IHhxrgSMPMVBK9YlDSzw==
dependencies:
bootstrap-datepicker "^1.10.0"
"@abp/bootstrap-daterangepicker@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-9.0.0-rc.2.tgz#bc0e134e36da111aaa25f7d4d3e90d394c873b50"
integrity sha512-5KChSBquD7pQNiI3TgJSYHw549Pxuom8TAg+44edjEKRvR7KUR8IkfdImlZYHPeLmoUTnnWXiFKOIxOi9OjLoA==
"@abp/bootstrap-daterangepicker@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-9.0.0.tgz#fc2871e7d886accd8e4748cb763b695e10701c00"
integrity sha512-qS6SQR6X7wMCVLcuXatJ2+m1GNlpN71p7VDritxfwAMHa7WBRAAi8apX2WItwBAuLQ2s1uSA0Wp1KstHG3VPLA==
dependencies:
bootstrap-daterangepicker "^3.1.0"
"@abp/bootstrap@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-9.0.0-rc.2.tgz#cf0b2567f44030d5d0620ca36d9d25999cd25e0e"
integrity sha512-Fkagr1fTyeKDtsvn7TKJKRkWNaYd6ZmE1IhLffwLwDpyt26JBYK3XqGXT+eHFXXpSxrgANERVogSN5E46IU1OQ==
"@abp/bootstrap@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-9.0.0.tgz#5ab292e95ba7eef129cbaa1dc5f5d5c0af8530d7"
integrity sha512-jEr6su8BfoNxYvze/UlddE3DlezyPvQeiNhff8SDPqtRQ6XvjZ48O/JwtY01hK2njEDLOZINY5zJRGmO2OiOUw==
dependencies:
"@abp/core" "~9.0.0-rc.2"
"@abp/core" "~9.0.0"
bootstrap "^5.3.3"
"@abp/clipboard@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-9.0.0-rc.2.tgz#dfa4df015beba83f7c44d749a24987a74a419b59"
integrity sha512-xuhFygNc4c67QkVMqsArQ4qGRJX+qKwSx4LQIaASaZq91ACtU2r5iTjCDb/YFcUVxXXufNLvuFgARGJp5vvvxA==
"@abp/clipboard@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-9.0.0.tgz#21ae924dfef6ccf3c8a3913bb81caf22b57404e4"
integrity sha512-W6S7pihpQ6Wfj48Clk7hYgDvUtnRwkNIsk5t8s9+LxoAdJQGQFxh7SAW1QNavUv8QqsClNE1VtSU87c7rSoAbA==
dependencies:
"@abp/core" "~9.0.0-rc.2"
"@abp/core" "~9.0.0"
clipboard "^2.0.11"
"@abp/core@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-9.0.0-rc.2.tgz#f0344669a745581b1032de396b1165f4cb3ea834"
integrity sha512-rmlWc6ydzRWVvQpkqSGEXcmYx1WJvxLajC7Ts6epbmmyklrx+tA5uQqCiSlsJWfIyaejLOjDka319arukaMb/Q==
"@abp/core@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-9.0.0.tgz#dc5ea9139957e307f73ac1f40b179f991e3c2168"
integrity sha512-vzQyTpqVDx63pOI9e2QLUMWZCrSojHsRnzLlvl+/cKFi7jE1q/uSP66FPR2bwkD+DNLI/tn6is1Jx3skKA1FvA==
dependencies:
"@abp/utils" "~9.0.0-rc.2"
"@abp/utils" "~9.0.0"
"@abp/datatables.net-bs5@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-9.0.0-rc.2.tgz#7f01e5e74530cd9bb13545917f00a5c38163745a"
integrity sha512-snZi/kAtkH4p1t1cUIKU5DRDz+U2CUHk7JAZE+g9bClMvmDTh4Kta5JmTW3g++JSh+C0LQzYXRPXnV7TgUcBgw==
"@abp/datatables.net-bs5@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-9.0.0.tgz#4daee90bdb6446e854ce65f2a3afabb2a13e49ae"
integrity sha512-ln10tcRwxcB0nuSgqJ/66strHsqMHDC03c0ktxEplAN34yP7KInjFf/U9Svo74K0nKlkJdMCgmqmT4CnBJZlIg==
dependencies:
"@abp/datatables.net" "~9.0.0-rc.2"
"@abp/datatables.net" "~9.0.0"
datatables.net-bs5 "^2.1.8"
"@abp/datatables.net@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-9.0.0-rc.2.tgz#cf5a5df0c6735080f2ba1f1746f4eb8d05d02c5b"
integrity sha512-hdJH5xN6SXTFZXnv+fTmcmFU19Fr2sIZMrfirUfH1of8qTn7cObjAe9r189PGt/3FZeFPA8pmfnNL6ZLwnLKtw==
"@abp/datatables.net@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-9.0.0.tgz#82b28518293c9091ec72d5defae2f5d2903d8bbc"
integrity sha512-QhuX3bGZOckM/fhIIGj/StMJIX2BBtNbLzjTR7WnKMMxDkv0+oDvjw6OqqpYKSvj/q3vY6sRWuCNdEzNi0Fk6A==
dependencies:
"@abp/jquery" "~9.0.0-rc.2"
"@abp/jquery" "~9.0.0"
datatables.net "^2.1.8"
"@abp/font-awesome@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-9.0.0-rc.2.tgz#1493057e28b2e1e8a434ff1599e8b4b72b8784d2"
integrity sha512-EsQYx89OBquIxqGLgjAgMpUeAnWW316ruAmmxzGsusVT9KuIL6iuA4j4bdM8/6wJgi6zm2A/bDBjiiDDg2Cyyg==
"@abp/font-awesome@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-9.0.0.tgz#51cce18434a51d050ebb0d822a8c193b7e32f73d"
integrity sha512-bEHRVzOk0V2kFMAvB/YXFYaDKWRFO0+ScO7jrEFtFgdHXBcqy+dk1aM/N69WalyNmjRRpnh03GhH1LRpwL4/xA==
dependencies:
"@abp/core" "~9.0.0-rc.2"
"@abp/core" "~9.0.0"
"@fortawesome/fontawesome-free" "^6.6.0"
"@abp/highlight.js@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/highlight.js/-/highlight.js-9.0.0-rc.2.tgz#c511f5cd29eef7089d491646ffe31797d4543be9"
integrity sha512-04XWQnuN2ri2Rlkauy7h3444RofCra4B/6GjN53YM3ekZ50Xhe3QsfMhkCzLn0Izgypa3FkNkFq86JvUbyH3Uw==
"@abp/highlight.js@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/highlight.js/-/highlight.js-9.0.0.tgz#6d924c9bb3d6b11dcd66a9a71aea873c9866ed6c"
integrity sha512-eGvgMUNYKW2B2h3QcpMRniaoQ1/9RJBXkn2VsyM8lVSfrfbOg26mMyw7J2BXvuEnXqtnVdFEG45cSFlAnTAVXQ==
dependencies:
"@abp/core" "~9.0.0-rc.2"
"@abp/core" "~9.0.0"
"@highlightjs/cdn-assets" "~11.10.0"
"@abp/jquery-form@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-9.0.0-rc.2.tgz#05a9082bc6c42fca3e001d97f77c0aa2e941448b"
integrity sha512-OUuwB/dgryiBG/iZCedwP2+8ot+PCeuAAMuZ1A/VXbNUJAbhiXF24tQM73wIhpAYcSc5egWjJ+VNTJKMKImTqA==
"@abp/jquery-form@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-9.0.0.tgz#6518eb117ee35c6bc57543fd1fccb0a8cf8e22f4"
integrity sha512-6qpfPGHrjADmm7Ne3zcXBGPuLngG8ldAn5fk9k2taftpyX0iR67/nZxiQ0ujaQGgaai5Wb3imNXMG96XLnubkQ==
dependencies:
"@abp/jquery" "~9.0.0-rc.2"
"@abp/jquery" "~9.0.0"
jquery-form "^4.3.0"
"@abp/jquery-validation-unobtrusive@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-9.0.0-rc.2.tgz#d38f053ad3a8509dc683dc3091128eb445579176"
integrity sha512-170ARAIz0NWuQnleB2nWPKYQl3x/Za2yxc0utjxY0rruHflNQPF2cMagLu+eBI6gDkThXNps74HiRPXOPdgc4A==
"@abp/jquery-validation-unobtrusive@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-9.0.0.tgz#8ee87dbdec5e92ab04ae9642a49af1598af31c1a"
integrity sha512-KlRQ1htyFmAIMS9xbHvHIcdhAgtPFe/u7c87MiWlk/CdhDrI3J+n5biLvQUzxCC+YWlwx27zBtPKx2vLeMRH6Q==
dependencies:
"@abp/jquery-validation" "~9.0.0-rc.2"
"@abp/jquery-validation" "~9.0.0"
jquery-validation-unobtrusive "^4.0.0"
"@abp/jquery-validation@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-9.0.0-rc.2.tgz#79c96c7eb48d5bebb3e7e86f8f9e2d6e2e45c5cb"
integrity sha512-6W2LiLgcC4FGTMLsoNkRBJTqDq6YR3ctLKzRfis9kOigkd0QT/PnB/451rrVb7+BCl9luKaA8DDYF671S8klFA==
"@abp/jquery-validation@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-9.0.0.tgz#681d8037c57b3875bd51c927e350ffce65d7c5d2"
integrity sha512-XgCUBFWbhTDcGepD/xkwA/1Hl4TyYitRttauDJk3tuyXhNtykvdugCCOPY4j2s6VoT1Sb/TFFvOcgEvlBwkKiw==
dependencies:
"@abp/jquery" "~9.0.0-rc.2"
"@abp/jquery" "~9.0.0"
jquery-validation "^1.21.0"
"@abp/jquery@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-9.0.0-rc.2.tgz#c8bd299d1b5558a4c3cef26b248d42e9a6303e33"
integrity sha512-GrO0gKdi20jlQ0YjWaddal0X0+5LkMpOAyMB1GdaDetLaaVjcZ+92zx1cApcAdIsCKgB+kyutRQv0b82o/EZPQ==
"@abp/jquery@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-9.0.0.tgz#6c67a9f927be598ab6201f8888e8a3cb8bba0686"
integrity sha512-cUXA7v6F1HqAc/w8fQGxHIfA/6BqO+4uHXDnSsJZtrI26DTLOgw5kBNnAz2W4xggGPCY7SKFHNRZuOW/QfVRPg==
dependencies:
"@abp/core" "~9.0.0-rc.2"
"@abp/core" "~9.0.0"
jquery "~3.7.1"
"@abp/lodash@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-9.0.0-rc.2.tgz#980a0ae2d95c83663f0f52f1b67b5cfb00d04b96"
integrity sha512-uwxv7WJqwRcGkVoB44JR1QJaMbe3RhCQsG6+Wee1Jjdgi2vkpFUCj2arM4Rxz1igntFjY2Z7NiBq+iL9HYIkSw==
"@abp/lodash@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-9.0.0.tgz#a4d42b2dfeb37859ff9f0079c7a8a6cabc982efe"
integrity sha512-xoAsOkkgnQdPH2OyFTgF6OlCLVbyGF4u8CrFcZWCZmuIFT9cg0+ZEiq//Vog1pg3Lf//N37ceGpOag1LwMe6cQ==
dependencies:
"@abp/core" "~9.0.0-rc.2"
"@abp/core" "~9.0.0"
lodash "^4.17.21"
"@abp/luxon@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-9.0.0-rc.2.tgz#1bb0eae53b707371489a4e0edf2869d7acc71da8"
integrity sha512-iWE8sbBWxCbNYSO3TTTzeotGS6kAnIwCKos/96mtaYJ4wzPW9pgF7K94CvwLAAg9NTsx/J/OGdmhhM2cULhv+w==
"@abp/luxon@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-9.0.0.tgz#a54dda13cbbd362481994d20d2e07c669c6ce109"
integrity sha512-aPejQnoVPfm60LnjwhfUkIsB+poNWusrBE0IHllxhvOVE+01nfa1Lvpp5AUWzV+XchPGOCSf+a29ds4EQWfNbg==
dependencies:
"@abp/core" "~9.0.0-rc.2"
"@abp/core" "~9.0.0"
luxon "^3.5.0"
"@abp/malihu-custom-scrollbar-plugin@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-9.0.0-rc.2.tgz#fce5c12be2bdf350b18aae52619309a474995442"
integrity sha512-e3JTnDSkjF9/MPh/nPqcvU8hkUxSMc5U6DnP169GBdVAYQwwnGD24x4QCWU7ch7s65FDJ8/uq7bYOcIAD0B+Dw==
"@abp/malihu-custom-scrollbar-plugin@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-9.0.0.tgz#b8a49202d531c711874a2bcdae5081ae0ed34c3f"
integrity sha512-iSZ9lKMnv5F2SplR+A4blhFEDq79lKbvBQuS7h/Di3KEHFOdJY4pA8NP8OR+PXOF3JfAezGyjqy7ydn/JNPRwA==
dependencies:
"@abp/core" "~9.0.0-rc.2"
"@abp/core" "~9.0.0"
malihu-custom-scrollbar-plugin "^3.1.5"
"@abp/moment@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-9.0.0-rc.2.tgz#2fc0feaaa0a26436cf00a6beccaa64f505aef301"
integrity sha512-yqkgu0bo3ra6HVFdS2wlqwTysciYOJWi/ERFVS2MfUkAKFA0P7mv8Jg5tB4vGY2Km++7r22kCDRlK3KUPmk21g==
"@abp/moment@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-9.0.0.tgz#9583e97472ddf608a9a5a6b8a37fee602b419900"
integrity sha512-wgyJSKmBmHLXZJN3dy3zK4i2JvWGgqnvdtrKURy/raEurxlymv8JF5JA971kTv6Kz2OA/OSYttpVJkDGUpPAhA==
dependencies:
moment "^2.30.1"
"@abp/prismjs@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-9.0.0-rc.2.tgz#2de7bc2882fee46d3d7e2da1fb66bca6b06cc4dd"
integrity sha512-rQ4dVGk+lEHFFSIBsJPqijeh4k3UgoDMZL1rns2a6NR+QnR0J2Slx3Awt8SH+inQFH2JiLHVo9q4bG+81vCsag==
"@abp/prismjs@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-9.0.0.tgz#2ac4a5ddc0c8e0462af027a4dd97a177a3d6f7a5"
integrity sha512-+evmBq5qV+Ix/TNqO2ljJn0jygW2rEgKNtABcBGmrZC8xiI7+2hjKmSE0e43qb+RDib8aJjwH8ya8wF7p68ZFw==
dependencies:
"@abp/clipboard" "~9.0.0-rc.2"
"@abp/core" "~9.0.0-rc.2"
"@abp/clipboard" "~9.0.0"
"@abp/core" "~9.0.0"
prismjs "^1.29.0"
"@abp/select2@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-9.0.0-rc.2.tgz#53806118fdfe9f9228e26c6867ce0e75e6572b81"
integrity sha512-arKdcs95+4zp5764iOz09aJ3C1F2SsBIzekpjpJwMBdLRfoleZZFm12itO8I4Jjb1R+2CkW6MXjLR5xL2aE0PQ==
"@abp/select2@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-9.0.0.tgz#71503eebb746f40a0e565dba1efa05d6ae937b77"
integrity sha512-l+Hz2Qmc7AcyaTJOyuDaV99RbBWYxYxbeyVEc4xKbRFbJxYBUxT/DFlyozEaoz+OU1fl4szO3UCthJ2yZvxCdg==
dependencies:
"@abp/core" "~9.0.0-rc.2"
"@abp/core" "~9.0.0"
select2 "^4.0.13"
"@abp/sweetalert2@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-9.0.0-rc.2.tgz#60b25d65b3e5eb53e18ba5b1f3663783562d2506"
integrity sha512-VJslD1AMDZJhOEko79UYIxIYeAmr1YUwJu8XNAurBGPa9sWGI+jPY/dYg3uptg8GEJHsFtog84m3nUQ/prRUcw==
"@abp/sweetalert2@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-9.0.0.tgz#71e511117c18b515e5c658e9cc0667770af65d91"
integrity sha512-wxDqoA6RUhkbcN27Kzslu/m2ai5T9AkJRtgs7pV55LvPv1ohuCPEUeTVVh8S/5Pgmr7aPFAPxaaCO32aPcImPw==
dependencies:
"@abp/core" "~9.0.0-rc.2"
"@abp/core" "~9.0.0"
sweetalert2 "^11.14.1"
"@abp/timeago@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-9.0.0-rc.2.tgz#72a7da1eda19beb34c352f3f43d2f5181b0b926a"
integrity sha512-zRj+TssaDXW2OM4mNn47G1tRg4BZ2sqbEiiUIQrU9hHMHmxOf8bAJhqsouGDDZF3xetcwKhmLN08VWK1sqqpQA==
"@abp/timeago@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-9.0.0.tgz#8f262ba2a74e1c133d0c129f8a0bc55c29441e1a"
integrity sha512-eaNdIUEtDXnuYqS5O7EGRV+j6XOLAsxz7gd5BIKR9lDujd8pEjSJkXKO+/0KxLTkUSy3JudIO37K1h2wTpbYZA==
dependencies:
"@abp/jquery" "~9.0.0-rc.2"
"@abp/jquery" "~9.0.0"
timeago "^1.6.7"
"@abp/toastr@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-9.0.0-rc.2.tgz#ddbf0b6362941f62c07c9820af59dcd6912331d0"
integrity sha512-l4z6z3Oc/JF4XJplqGETQtBkqzjbpobcfzEHeH6LjUeunLMEVQOtjhPUBLrhg4ZM0i9k46hmxsoOkWXu7tClyQ==
"@abp/toastr@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-9.0.0.tgz#74d74ecb3e7f2d63b2ff7735c89a40deb3dc3a13"
integrity sha512-n9uJvw8l2HoxeowPO4diEMxwchGh6puefhyRljFAAstzK77Mhn0u2J7kPynNv94rLSYTYoCxUeJ4TTN+/TVDGQ==
dependencies:
"@abp/jquery" "~9.0.0-rc.2"
"@abp/jquery" "~9.0.0"
toastr "^2.1.4"
"@abp/utils@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-9.0.0-rc.2.tgz#e644889f1c1c4828b509aea9ae3ae48439a5b89d"
integrity sha512-eIL3syPE0LzPyeHV5+pgRxw3/H2YTmK2U9VEOUu26ExiCMIt5Waf8T92BjaH9sLrMD5P9ZAT2jWaxh+VTsEtKA==
"@abp/utils@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-9.0.0.tgz#2264fd83105b061860edd98dbe0efdfe55803ed5"
integrity sha512-/SB4VYk3Av+ltXv6ovkFHG4iWiECLLitaYWcEHxVAO80ufNjrNnWpHFpXHP8u/RpXIp/CoNiHLr6j5TkZUTZjw==
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": "~9.0.0-rc.2",
"@abp/prismjs": "~9.0.0-rc.2"
"@abp/aspnetcore.mvc.ui.theme.basic": "~9.0.0",
"@abp/prismjs": "~9.0.0"
},
"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@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-9.0.0-rc.2.tgz#db73b3121cbd02207842f0388999298df49392ac"
integrity sha512-vzUPdL1UJ+aXKcei0rCpm3VYX9twhmomd+HqfzcL65TtrXgIK8jCv4Wn0rRFfSGtUfM8OetIVVkmggIZusGTZQ==
dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~9.0.0-rc.2"
"@abp/aspnetcore.mvc.ui.theme.shared@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-9.0.0-rc.2.tgz#acaeaa5e0b329e5d836a198f7a3563d141d7fc79"
integrity sha512-hs8AoZwOnrMYmFl7/GQc6EUr5Jz5lTXWgSmp0l/DdH7f3INYEgCrIp5qvLFyNu8CHv6Gbegw2vGdpfDQbkiasw==
dependencies:
"@abp/aspnetcore.mvc.ui" "~9.0.0-rc.2"
"@abp/bootstrap" "~9.0.0-rc.2"
"@abp/bootstrap-datepicker" "~9.0.0-rc.2"
"@abp/bootstrap-daterangepicker" "~9.0.0-rc.2"
"@abp/datatables.net-bs5" "~9.0.0-rc.2"
"@abp/font-awesome" "~9.0.0-rc.2"
"@abp/jquery-form" "~9.0.0-rc.2"
"@abp/jquery-validation-unobtrusive" "~9.0.0-rc.2"
"@abp/lodash" "~9.0.0-rc.2"
"@abp/luxon" "~9.0.0-rc.2"
"@abp/malihu-custom-scrollbar-plugin" "~9.0.0-rc.2"
"@abp/moment" "~9.0.0-rc.2"
"@abp/select2" "~9.0.0-rc.2"
"@abp/sweetalert2" "~9.0.0-rc.2"
"@abp/timeago" "~9.0.0-rc.2"
"@abp/toastr" "~9.0.0-rc.2"
"@abp/aspnetcore.mvc.ui@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-9.0.0-rc.2.tgz#5fc82ab4872b955cf46d755e99c656e0420a3c64"
integrity sha512-gGfHAsznxFIqTk6OFuRzcJ8D65VWmHkRqQjzmd97GZ1lNXRGDNGtYXbC/L1bA88O+qAXzhQ/c47h6in9cGh38w==
"@abp/aspnetcore.mvc.ui.theme.basic@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-9.0.0.tgz#e4b05d63446c24b612275e3949881e176d32527f"
integrity sha512-GHEt26xESe/TCg1q6ZjeUbxniqdxaiB1OPTZ9md7ONql6bEp8t9iUPeSlkyAZtQ7qBzwgkiLpkRFT+J21DftaQ==
dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~9.0.0"
"@abp/aspnetcore.mvc.ui.theme.shared@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-9.0.0.tgz#a77b4b70fa6217146afd6a57211f57e2360564f2"
integrity sha512-QmZrSp+rfqfnC9W4QZ+nNdAq0rOALzRn1rsDpGDHhIHwyXB03QPdjzIWaEvldUYHzqg84cEP0LcqW4y57Xr1iw==
dependencies:
"@abp/aspnetcore.mvc.ui" "~9.0.0"
"@abp/bootstrap" "~9.0.0"
"@abp/bootstrap-datepicker" "~9.0.0"
"@abp/bootstrap-daterangepicker" "~9.0.0"
"@abp/datatables.net-bs5" "~9.0.0"
"@abp/font-awesome" "~9.0.0"
"@abp/jquery-form" "~9.0.0"
"@abp/jquery-validation-unobtrusive" "~9.0.0"
"@abp/lodash" "~9.0.0"
"@abp/luxon" "~9.0.0"
"@abp/malihu-custom-scrollbar-plugin" "~9.0.0"
"@abp/moment" "~9.0.0"
"@abp/select2" "~9.0.0"
"@abp/sweetalert2" "~9.0.0"
"@abp/timeago" "~9.0.0"
"@abp/toastr" "~9.0.0"
"@abp/aspnetcore.mvc.ui@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-9.0.0.tgz#93004dd056c130386c7b40c458f3a793d8c9e051"
integrity sha512-pvO5bh9baFcSbfW0s7tpMpbe6DKSC16jeyeluZLlvYxC0n2gkrv7H/hB5aMuBKIlh89aGY9DQIcMFC8iczL3Bg==
dependencies:
ansi-colors "^4.1.3"
"@abp/bootstrap-datepicker@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-9.0.0-rc.2.tgz#884343a8c0b881e6612cbbbf1fb9af0f40cbc223"
integrity sha512-JqPKn0xFyqoA4smY3gtUE/HcbG5QmLtFpZNG/zMnDq2JEtJt13xee9FguYXrlMOrM9PqAwnq2Wrc8s71ROh8Zg==
"@abp/bootstrap-datepicker@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-9.0.0.tgz#d6609e50568aac6a013abfcaa07817998e1eaa99"
integrity sha512-wxAeVsOVOJpidDn0g3FlJvpOsn5SVY5IpEG+FtUxSAKuWYJQWF6g5CaghrfS+FNDK9IHhxrgSMPMVBK9YlDSzw==
dependencies:
bootstrap-datepicker "^1.10.0"
"@abp/bootstrap-daterangepicker@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-9.0.0-rc.2.tgz#bc0e134e36da111aaa25f7d4d3e90d394c873b50"
integrity sha512-5KChSBquD7pQNiI3TgJSYHw549Pxuom8TAg+44edjEKRvR7KUR8IkfdImlZYHPeLmoUTnnWXiFKOIxOi9OjLoA==
"@abp/bootstrap-daterangepicker@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-9.0.0.tgz#fc2871e7d886accd8e4748cb763b695e10701c00"
integrity sha512-qS6SQR6X7wMCVLcuXatJ2+m1GNlpN71p7VDritxfwAMHa7WBRAAi8apX2WItwBAuLQ2s1uSA0Wp1KstHG3VPLA==
dependencies:
bootstrap-daterangepicker "^3.1.0"
"@abp/bootstrap@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-9.0.0-rc.2.tgz#cf0b2567f44030d5d0620ca36d9d25999cd25e0e"
integrity sha512-Fkagr1fTyeKDtsvn7TKJKRkWNaYd6ZmE1IhLffwLwDpyt26JBYK3XqGXT+eHFXXpSxrgANERVogSN5E46IU1OQ==
"@abp/bootstrap@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-9.0.0.tgz#5ab292e95ba7eef129cbaa1dc5f5d5c0af8530d7"
integrity sha512-jEr6su8BfoNxYvze/UlddE3DlezyPvQeiNhff8SDPqtRQ6XvjZ48O/JwtY01hK2njEDLOZINY5zJRGmO2OiOUw==
dependencies:
"@abp/core" "~9.0.0-rc.2"
"@abp/core" "~9.0.0"
bootstrap "^5.3.3"
"@abp/clipboard@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-9.0.0-rc.2.tgz#dfa4df015beba83f7c44d749a24987a74a419b59"
integrity sha512-xuhFygNc4c67QkVMqsArQ4qGRJX+qKwSx4LQIaASaZq91ACtU2r5iTjCDb/YFcUVxXXufNLvuFgARGJp5vvvxA==
"@abp/clipboard@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-9.0.0.tgz#21ae924dfef6ccf3c8a3913bb81caf22b57404e4"
integrity sha512-W6S7pihpQ6Wfj48Clk7hYgDvUtnRwkNIsk5t8s9+LxoAdJQGQFxh7SAW1QNavUv8QqsClNE1VtSU87c7rSoAbA==
dependencies:
"@abp/core" "~9.0.0-rc.2"
"@abp/core" "~9.0.0"
clipboard "^2.0.11"
"@abp/core@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-9.0.0-rc.2.tgz#f0344669a745581b1032de396b1165f4cb3ea834"
integrity sha512-rmlWc6ydzRWVvQpkqSGEXcmYx1WJvxLajC7Ts6epbmmyklrx+tA5uQqCiSlsJWfIyaejLOjDka319arukaMb/Q==
"@abp/core@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-9.0.0.tgz#dc5ea9139957e307f73ac1f40b179f991e3c2168"
integrity sha512-vzQyTpqVDx63pOI9e2QLUMWZCrSojHsRnzLlvl+/cKFi7jE1q/uSP66FPR2bwkD+DNLI/tn6is1Jx3skKA1FvA==
dependencies:
"@abp/utils" "~9.0.0-rc.2"
"@abp/utils" "~9.0.0"
"@abp/datatables.net-bs5@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-9.0.0-rc.2.tgz#7f01e5e74530cd9bb13545917f00a5c38163745a"
integrity sha512-snZi/kAtkH4p1t1cUIKU5DRDz+U2CUHk7JAZE+g9bClMvmDTh4Kta5JmTW3g++JSh+C0LQzYXRPXnV7TgUcBgw==
"@abp/datatables.net-bs5@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-9.0.0.tgz#4daee90bdb6446e854ce65f2a3afabb2a13e49ae"
integrity sha512-ln10tcRwxcB0nuSgqJ/66strHsqMHDC03c0ktxEplAN34yP7KInjFf/U9Svo74K0nKlkJdMCgmqmT4CnBJZlIg==
dependencies:
"@abp/datatables.net" "~9.0.0-rc.2"
"@abp/datatables.net" "~9.0.0"
datatables.net-bs5 "^2.1.8"
"@abp/datatables.net@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-9.0.0-rc.2.tgz#cf5a5df0c6735080f2ba1f1746f4eb8d05d02c5b"
integrity sha512-hdJH5xN6SXTFZXnv+fTmcmFU19Fr2sIZMrfirUfH1of8qTn7cObjAe9r189PGt/3FZeFPA8pmfnNL6ZLwnLKtw==
"@abp/datatables.net@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-9.0.0.tgz#82b28518293c9091ec72d5defae2f5d2903d8bbc"
integrity sha512-QhuX3bGZOckM/fhIIGj/StMJIX2BBtNbLzjTR7WnKMMxDkv0+oDvjw6OqqpYKSvj/q3vY6sRWuCNdEzNi0Fk6A==
dependencies:
"@abp/jquery" "~9.0.0-rc.2"
"@abp/jquery" "~9.0.0"
datatables.net "^2.1.8"
"@abp/font-awesome@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-9.0.0-rc.2.tgz#1493057e28b2e1e8a434ff1599e8b4b72b8784d2"
integrity sha512-EsQYx89OBquIxqGLgjAgMpUeAnWW316ruAmmxzGsusVT9KuIL6iuA4j4bdM8/6wJgi6zm2A/bDBjiiDDg2Cyyg==
"@abp/font-awesome@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-9.0.0.tgz#51cce18434a51d050ebb0d822a8c193b7e32f73d"
integrity sha512-bEHRVzOk0V2kFMAvB/YXFYaDKWRFO0+ScO7jrEFtFgdHXBcqy+dk1aM/N69WalyNmjRRpnh03GhH1LRpwL4/xA==
dependencies:
"@abp/core" "~9.0.0-rc.2"
"@abp/core" "~9.0.0"
"@fortawesome/fontawesome-free" "^6.6.0"
"@abp/jquery-form@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-9.0.0-rc.2.tgz#05a9082bc6c42fca3e001d97f77c0aa2e941448b"
integrity sha512-OUuwB/dgryiBG/iZCedwP2+8ot+PCeuAAMuZ1A/VXbNUJAbhiXF24tQM73wIhpAYcSc5egWjJ+VNTJKMKImTqA==
"@abp/jquery-form@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-9.0.0.tgz#6518eb117ee35c6bc57543fd1fccb0a8cf8e22f4"
integrity sha512-6qpfPGHrjADmm7Ne3zcXBGPuLngG8ldAn5fk9k2taftpyX0iR67/nZxiQ0ujaQGgaai5Wb3imNXMG96XLnubkQ==
dependencies:
"@abp/jquery" "~9.0.0-rc.2"
"@abp/jquery" "~9.0.0"
jquery-form "^4.3.0"
"@abp/jquery-validation-unobtrusive@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-9.0.0-rc.2.tgz#d38f053ad3a8509dc683dc3091128eb445579176"
integrity sha512-170ARAIz0NWuQnleB2nWPKYQl3x/Za2yxc0utjxY0rruHflNQPF2cMagLu+eBI6gDkThXNps74HiRPXOPdgc4A==
"@abp/jquery-validation-unobtrusive@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-9.0.0.tgz#8ee87dbdec5e92ab04ae9642a49af1598af31c1a"
integrity sha512-KlRQ1htyFmAIMS9xbHvHIcdhAgtPFe/u7c87MiWlk/CdhDrI3J+n5biLvQUzxCC+YWlwx27zBtPKx2vLeMRH6Q==
dependencies:
"@abp/jquery-validation" "~9.0.0-rc.2"
"@abp/jquery-validation" "~9.0.0"
jquery-validation-unobtrusive "^4.0.0"
"@abp/jquery-validation@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-9.0.0-rc.2.tgz#79c96c7eb48d5bebb3e7e86f8f9e2d6e2e45c5cb"
integrity sha512-6W2LiLgcC4FGTMLsoNkRBJTqDq6YR3ctLKzRfis9kOigkd0QT/PnB/451rrVb7+BCl9luKaA8DDYF671S8klFA==
"@abp/jquery-validation@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-9.0.0.tgz#681d8037c57b3875bd51c927e350ffce65d7c5d2"
integrity sha512-XgCUBFWbhTDcGepD/xkwA/1Hl4TyYitRttauDJk3tuyXhNtykvdugCCOPY4j2s6VoT1Sb/TFFvOcgEvlBwkKiw==
dependencies:
"@abp/jquery" "~9.0.0-rc.2"
"@abp/jquery" "~9.0.0"
jquery-validation "^1.21.0"
"@abp/jquery@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-9.0.0-rc.2.tgz#c8bd299d1b5558a4c3cef26b248d42e9a6303e33"
integrity sha512-GrO0gKdi20jlQ0YjWaddal0X0+5LkMpOAyMB1GdaDetLaaVjcZ+92zx1cApcAdIsCKgB+kyutRQv0b82o/EZPQ==
"@abp/jquery@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-9.0.0.tgz#6c67a9f927be598ab6201f8888e8a3cb8bba0686"
integrity sha512-cUXA7v6F1HqAc/w8fQGxHIfA/6BqO+4uHXDnSsJZtrI26DTLOgw5kBNnAz2W4xggGPCY7SKFHNRZuOW/QfVRPg==
dependencies:
"@abp/core" "~9.0.0-rc.2"
"@abp/core" "~9.0.0"
jquery "~3.7.1"
"@abp/lodash@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-9.0.0-rc.2.tgz#980a0ae2d95c83663f0f52f1b67b5cfb00d04b96"
integrity sha512-uwxv7WJqwRcGkVoB44JR1QJaMbe3RhCQsG6+Wee1Jjdgi2vkpFUCj2arM4Rxz1igntFjY2Z7NiBq+iL9HYIkSw==
"@abp/lodash@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-9.0.0.tgz#a4d42b2dfeb37859ff9f0079c7a8a6cabc982efe"
integrity sha512-xoAsOkkgnQdPH2OyFTgF6OlCLVbyGF4u8CrFcZWCZmuIFT9cg0+ZEiq//Vog1pg3Lf//N37ceGpOag1LwMe6cQ==
dependencies:
"@abp/core" "~9.0.0-rc.2"
"@abp/core" "~9.0.0"
lodash "^4.17.21"
"@abp/luxon@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-9.0.0-rc.2.tgz#1bb0eae53b707371489a4e0edf2869d7acc71da8"
integrity sha512-iWE8sbBWxCbNYSO3TTTzeotGS6kAnIwCKos/96mtaYJ4wzPW9pgF7K94CvwLAAg9NTsx/J/OGdmhhM2cULhv+w==
"@abp/luxon@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-9.0.0.tgz#a54dda13cbbd362481994d20d2e07c669c6ce109"
integrity sha512-aPejQnoVPfm60LnjwhfUkIsB+poNWusrBE0IHllxhvOVE+01nfa1Lvpp5AUWzV+XchPGOCSf+a29ds4EQWfNbg==
dependencies:
"@abp/core" "~9.0.0-rc.2"
"@abp/core" "~9.0.0"
luxon "^3.5.0"
"@abp/malihu-custom-scrollbar-plugin@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-9.0.0-rc.2.tgz#fce5c12be2bdf350b18aae52619309a474995442"
integrity sha512-e3JTnDSkjF9/MPh/nPqcvU8hkUxSMc5U6DnP169GBdVAYQwwnGD24x4QCWU7ch7s65FDJ8/uq7bYOcIAD0B+Dw==
"@abp/malihu-custom-scrollbar-plugin@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-9.0.0.tgz#b8a49202d531c711874a2bcdae5081ae0ed34c3f"
integrity sha512-iSZ9lKMnv5F2SplR+A4blhFEDq79lKbvBQuS7h/Di3KEHFOdJY4pA8NP8OR+PXOF3JfAezGyjqy7ydn/JNPRwA==
dependencies:
"@abp/core" "~9.0.0-rc.2"
"@abp/core" "~9.0.0"
malihu-custom-scrollbar-plugin "^3.1.5"
"@abp/moment@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-9.0.0-rc.2.tgz#2fc0feaaa0a26436cf00a6beccaa64f505aef301"
integrity sha512-yqkgu0bo3ra6HVFdS2wlqwTysciYOJWi/ERFVS2MfUkAKFA0P7mv8Jg5tB4vGY2Km++7r22kCDRlK3KUPmk21g==
"@abp/moment@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-9.0.0.tgz#9583e97472ddf608a9a5a6b8a37fee602b419900"
integrity sha512-wgyJSKmBmHLXZJN3dy3zK4i2JvWGgqnvdtrKURy/raEurxlymv8JF5JA971kTv6Kz2OA/OSYttpVJkDGUpPAhA==
dependencies:
moment "^2.30.1"
"@abp/prismjs@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-9.0.0-rc.2.tgz#2de7bc2882fee46d3d7e2da1fb66bca6b06cc4dd"
integrity sha512-rQ4dVGk+lEHFFSIBsJPqijeh4k3UgoDMZL1rns2a6NR+QnR0J2Slx3Awt8SH+inQFH2JiLHVo9q4bG+81vCsag==
"@abp/prismjs@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-9.0.0.tgz#2ac4a5ddc0c8e0462af027a4dd97a177a3d6f7a5"
integrity sha512-+evmBq5qV+Ix/TNqO2ljJn0jygW2rEgKNtABcBGmrZC8xiI7+2hjKmSE0e43qb+RDib8aJjwH8ya8wF7p68ZFw==
dependencies:
"@abp/clipboard" "~9.0.0-rc.2"
"@abp/core" "~9.0.0-rc.2"
"@abp/clipboard" "~9.0.0"
"@abp/core" "~9.0.0"
prismjs "^1.29.0"
"@abp/select2@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-9.0.0-rc.2.tgz#53806118fdfe9f9228e26c6867ce0e75e6572b81"
integrity sha512-arKdcs95+4zp5764iOz09aJ3C1F2SsBIzekpjpJwMBdLRfoleZZFm12itO8I4Jjb1R+2CkW6MXjLR5xL2aE0PQ==
"@abp/select2@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-9.0.0.tgz#71503eebb746f40a0e565dba1efa05d6ae937b77"
integrity sha512-l+Hz2Qmc7AcyaTJOyuDaV99RbBWYxYxbeyVEc4xKbRFbJxYBUxT/DFlyozEaoz+OU1fl4szO3UCthJ2yZvxCdg==
dependencies:
"@abp/core" "~9.0.0-rc.2"
"@abp/core" "~9.0.0"
select2 "^4.0.13"
"@abp/sweetalert2@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-9.0.0-rc.2.tgz#60b25d65b3e5eb53e18ba5b1f3663783562d2506"
integrity sha512-VJslD1AMDZJhOEko79UYIxIYeAmr1YUwJu8XNAurBGPa9sWGI+jPY/dYg3uptg8GEJHsFtog84m3nUQ/prRUcw==
"@abp/sweetalert2@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-9.0.0.tgz#71e511117c18b515e5c658e9cc0667770af65d91"
integrity sha512-wxDqoA6RUhkbcN27Kzslu/m2ai5T9AkJRtgs7pV55LvPv1ohuCPEUeTVVh8S/5Pgmr7aPFAPxaaCO32aPcImPw==
dependencies:
"@abp/core" "~9.0.0-rc.2"
"@abp/core" "~9.0.0"
sweetalert2 "^11.14.1"
"@abp/timeago@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-9.0.0-rc.2.tgz#72a7da1eda19beb34c352f3f43d2f5181b0b926a"
integrity sha512-zRj+TssaDXW2OM4mNn47G1tRg4BZ2sqbEiiUIQrU9hHMHmxOf8bAJhqsouGDDZF3xetcwKhmLN08VWK1sqqpQA==
"@abp/timeago@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-9.0.0.tgz#8f262ba2a74e1c133d0c129f8a0bc55c29441e1a"
integrity sha512-eaNdIUEtDXnuYqS5O7EGRV+j6XOLAsxz7gd5BIKR9lDujd8pEjSJkXKO+/0KxLTkUSy3JudIO37K1h2wTpbYZA==
dependencies:
"@abp/jquery" "~9.0.0-rc.2"
"@abp/jquery" "~9.0.0"
timeago "^1.6.7"
"@abp/toastr@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-9.0.0-rc.2.tgz#ddbf0b6362941f62c07c9820af59dcd6912331d0"
integrity sha512-l4z6z3Oc/JF4XJplqGETQtBkqzjbpobcfzEHeH6LjUeunLMEVQOtjhPUBLrhg4ZM0i9k46hmxsoOkWXu7tClyQ==
"@abp/toastr@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-9.0.0.tgz#74d74ecb3e7f2d63b2ff7735c89a40deb3dc3a13"
integrity sha512-n9uJvw8l2HoxeowPO4diEMxwchGh6puefhyRljFAAstzK77Mhn0u2J7kPynNv94rLSYTYoCxUeJ4TTN+/TVDGQ==
dependencies:
"@abp/jquery" "~9.0.0-rc.2"
"@abp/jquery" "~9.0.0"
toastr "^2.1.4"
"@abp/utils@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-9.0.0-rc.2.tgz#e644889f1c1c4828b509aea9ae3ae48439a5b89d"
integrity sha512-eIL3syPE0LzPyeHV5+pgRxw3/H2YTmK2U9VEOUu26ExiCMIt5Waf8T92BjaH9sLrMD5P9ZAT2jWaxh+VTsEtKA==
"@abp/utils@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-9.0.0.tgz#2264fd83105b061860edd98dbe0efdfe55803ed5"
integrity sha512-/SB4VYk3Av+ltXv6ovkFHG4iWiECLLitaYWcEHxVAO80ufNjrNnWpHFpXHP8u/RpXIp/CoNiHLr6j5TkZUTZjw==
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": "~9.0.0-rc.2",
"@abp/blogging": "~9.0.0-rc.2"
"@abp/aspnetcore.mvc.ui.theme.basic": "~9.0.0",
"@abp/blogging": "~9.0.0"
}
}

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

@ -2,237 +2,237 @@
# yarn lockfile v1
"@abp/aspnetcore.mvc.ui.theme.basic@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-9.0.0-rc.2.tgz#db73b3121cbd02207842f0388999298df49392ac"
integrity sha512-vzUPdL1UJ+aXKcei0rCpm3VYX9twhmomd+HqfzcL65TtrXgIK8jCv4Wn0rRFfSGtUfM8OetIVVkmggIZusGTZQ==
dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~9.0.0-rc.2"
"@abp/aspnetcore.mvc.ui.theme.shared@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-9.0.0-rc.2.tgz#acaeaa5e0b329e5d836a198f7a3563d141d7fc79"
integrity sha512-hs8AoZwOnrMYmFl7/GQc6EUr5Jz5lTXWgSmp0l/DdH7f3INYEgCrIp5qvLFyNu8CHv6Gbegw2vGdpfDQbkiasw==
dependencies:
"@abp/aspnetcore.mvc.ui" "~9.0.0-rc.2"
"@abp/bootstrap" "~9.0.0-rc.2"
"@abp/bootstrap-datepicker" "~9.0.0-rc.2"
"@abp/bootstrap-daterangepicker" "~9.0.0-rc.2"
"@abp/datatables.net-bs5" "~9.0.0-rc.2"
"@abp/font-awesome" "~9.0.0-rc.2"
"@abp/jquery-form" "~9.0.0-rc.2"
"@abp/jquery-validation-unobtrusive" "~9.0.0-rc.2"
"@abp/lodash" "~9.0.0-rc.2"
"@abp/luxon" "~9.0.0-rc.2"
"@abp/malihu-custom-scrollbar-plugin" "~9.0.0-rc.2"
"@abp/moment" "~9.0.0-rc.2"
"@abp/select2" "~9.0.0-rc.2"
"@abp/sweetalert2" "~9.0.0-rc.2"
"@abp/timeago" "~9.0.0-rc.2"
"@abp/toastr" "~9.0.0-rc.2"
"@abp/aspnetcore.mvc.ui@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-9.0.0-rc.2.tgz#5fc82ab4872b955cf46d755e99c656e0420a3c64"
integrity sha512-gGfHAsznxFIqTk6OFuRzcJ8D65VWmHkRqQjzmd97GZ1lNXRGDNGtYXbC/L1bA88O+qAXzhQ/c47h6in9cGh38w==
"@abp/aspnetcore.mvc.ui.theme.basic@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-9.0.0.tgz#e4b05d63446c24b612275e3949881e176d32527f"
integrity sha512-GHEt26xESe/TCg1q6ZjeUbxniqdxaiB1OPTZ9md7ONql6bEp8t9iUPeSlkyAZtQ7qBzwgkiLpkRFT+J21DftaQ==
dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~9.0.0"
"@abp/aspnetcore.mvc.ui.theme.shared@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-9.0.0.tgz#a77b4b70fa6217146afd6a57211f57e2360564f2"
integrity sha512-QmZrSp+rfqfnC9W4QZ+nNdAq0rOALzRn1rsDpGDHhIHwyXB03QPdjzIWaEvldUYHzqg84cEP0LcqW4y57Xr1iw==
dependencies:
"@abp/aspnetcore.mvc.ui" "~9.0.0"
"@abp/bootstrap" "~9.0.0"
"@abp/bootstrap-datepicker" "~9.0.0"
"@abp/bootstrap-daterangepicker" "~9.0.0"
"@abp/datatables.net-bs5" "~9.0.0"
"@abp/font-awesome" "~9.0.0"
"@abp/jquery-form" "~9.0.0"
"@abp/jquery-validation-unobtrusive" "~9.0.0"
"@abp/lodash" "~9.0.0"
"@abp/luxon" "~9.0.0"
"@abp/malihu-custom-scrollbar-plugin" "~9.0.0"
"@abp/moment" "~9.0.0"
"@abp/select2" "~9.0.0"
"@abp/sweetalert2" "~9.0.0"
"@abp/timeago" "~9.0.0"
"@abp/toastr" "~9.0.0"
"@abp/aspnetcore.mvc.ui@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-9.0.0.tgz#93004dd056c130386c7b40c458f3a793d8c9e051"
integrity sha512-pvO5bh9baFcSbfW0s7tpMpbe6DKSC16jeyeluZLlvYxC0n2gkrv7H/hB5aMuBKIlh89aGY9DQIcMFC8iczL3Bg==
dependencies:
ansi-colors "^4.1.3"
"@abp/blogging@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/blogging/-/blogging-9.0.0-rc.2.tgz#3cc6c811590156f0b9549dff7421b7638867c215"
integrity sha512-/zRHwKRKq4qJ0UDlbMvNR3n/bbNJ/7iHlcS8N5Fs8gOWqKhHMo9bH6F4vYIJ+d7C0nnlKU+KSN4Ldwyg69N/UA==
"@abp/blogging@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/blogging/-/blogging-9.0.0.tgz#bba9e0288e215473b1851ab58d4898a2455c2afe"
integrity sha512-tsKqEYnVhDrBHVMOwSTLR+OudEnxBpj5RhDiLPA+MO+FSqiJpuxlDI2SlH2Sz7alCF1RnAM/alITvrKq9TR/gg==
dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~9.0.0-rc.2"
"@abp/owl.carousel" "~9.0.0-rc.2"
"@abp/prismjs" "~9.0.0-rc.2"
"@abp/tui-editor" "~9.0.0-rc.2"
"@abp/aspnetcore.mvc.ui.theme.shared" "~9.0.0"
"@abp/owl.carousel" "~9.0.0"
"@abp/prismjs" "~9.0.0"
"@abp/tui-editor" "~9.0.0"
"@abp/bootstrap-datepicker@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-9.0.0-rc.2.tgz#884343a8c0b881e6612cbbbf1fb9af0f40cbc223"
integrity sha512-JqPKn0xFyqoA4smY3gtUE/HcbG5QmLtFpZNG/zMnDq2JEtJt13xee9FguYXrlMOrM9PqAwnq2Wrc8s71ROh8Zg==
"@abp/bootstrap-datepicker@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-9.0.0.tgz#d6609e50568aac6a013abfcaa07817998e1eaa99"
integrity sha512-wxAeVsOVOJpidDn0g3FlJvpOsn5SVY5IpEG+FtUxSAKuWYJQWF6g5CaghrfS+FNDK9IHhxrgSMPMVBK9YlDSzw==
dependencies:
bootstrap-datepicker "^1.10.0"
"@abp/bootstrap-daterangepicker@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-9.0.0-rc.2.tgz#bc0e134e36da111aaa25f7d4d3e90d394c873b50"
integrity sha512-5KChSBquD7pQNiI3TgJSYHw549Pxuom8TAg+44edjEKRvR7KUR8IkfdImlZYHPeLmoUTnnWXiFKOIxOi9OjLoA==
"@abp/bootstrap-daterangepicker@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-9.0.0.tgz#fc2871e7d886accd8e4748cb763b695e10701c00"
integrity sha512-qS6SQR6X7wMCVLcuXatJ2+m1GNlpN71p7VDritxfwAMHa7WBRAAi8apX2WItwBAuLQ2s1uSA0Wp1KstHG3VPLA==
dependencies:
bootstrap-daterangepicker "^3.1.0"
"@abp/bootstrap@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-9.0.0-rc.2.tgz#cf0b2567f44030d5d0620ca36d9d25999cd25e0e"
integrity sha512-Fkagr1fTyeKDtsvn7TKJKRkWNaYd6ZmE1IhLffwLwDpyt26JBYK3XqGXT+eHFXXpSxrgANERVogSN5E46IU1OQ==
"@abp/bootstrap@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-9.0.0.tgz#5ab292e95ba7eef129cbaa1dc5f5d5c0af8530d7"
integrity sha512-jEr6su8BfoNxYvze/UlddE3DlezyPvQeiNhff8SDPqtRQ6XvjZ48O/JwtY01hK2njEDLOZINY5zJRGmO2OiOUw==
dependencies:
"@abp/core" "~9.0.0-rc.2"
"@abp/core" "~9.0.0"
bootstrap "^5.3.3"
"@abp/clipboard@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-9.0.0-rc.2.tgz#dfa4df015beba83f7c44d749a24987a74a419b59"
integrity sha512-xuhFygNc4c67QkVMqsArQ4qGRJX+qKwSx4LQIaASaZq91ACtU2r5iTjCDb/YFcUVxXXufNLvuFgARGJp5vvvxA==
"@abp/clipboard@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-9.0.0.tgz#21ae924dfef6ccf3c8a3913bb81caf22b57404e4"
integrity sha512-W6S7pihpQ6Wfj48Clk7hYgDvUtnRwkNIsk5t8s9+LxoAdJQGQFxh7SAW1QNavUv8QqsClNE1VtSU87c7rSoAbA==
dependencies:
"@abp/core" "~9.0.0-rc.2"
"@abp/core" "~9.0.0"
clipboard "^2.0.11"
"@abp/core@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-9.0.0-rc.2.tgz#f0344669a745581b1032de396b1165f4cb3ea834"
integrity sha512-rmlWc6ydzRWVvQpkqSGEXcmYx1WJvxLajC7Ts6epbmmyklrx+tA5uQqCiSlsJWfIyaejLOjDka319arukaMb/Q==
"@abp/core@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-9.0.0.tgz#dc5ea9139957e307f73ac1f40b179f991e3c2168"
integrity sha512-vzQyTpqVDx63pOI9e2QLUMWZCrSojHsRnzLlvl+/cKFi7jE1q/uSP66FPR2bwkD+DNLI/tn6is1Jx3skKA1FvA==
dependencies:
"@abp/utils" "~9.0.0-rc.2"
"@abp/utils" "~9.0.0"
"@abp/datatables.net-bs5@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-9.0.0-rc.2.tgz#7f01e5e74530cd9bb13545917f00a5c38163745a"
integrity sha512-snZi/kAtkH4p1t1cUIKU5DRDz+U2CUHk7JAZE+g9bClMvmDTh4Kta5JmTW3g++JSh+C0LQzYXRPXnV7TgUcBgw==
"@abp/datatables.net-bs5@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-9.0.0.tgz#4daee90bdb6446e854ce65f2a3afabb2a13e49ae"
integrity sha512-ln10tcRwxcB0nuSgqJ/66strHsqMHDC03c0ktxEplAN34yP7KInjFf/U9Svo74K0nKlkJdMCgmqmT4CnBJZlIg==
dependencies:
"@abp/datatables.net" "~9.0.0-rc.2"
"@abp/datatables.net" "~9.0.0"
datatables.net-bs5 "^2.1.8"
"@abp/datatables.net@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-9.0.0-rc.2.tgz#cf5a5df0c6735080f2ba1f1746f4eb8d05d02c5b"
integrity sha512-hdJH5xN6SXTFZXnv+fTmcmFU19Fr2sIZMrfirUfH1of8qTn7cObjAe9r189PGt/3FZeFPA8pmfnNL6ZLwnLKtw==
"@abp/datatables.net@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-9.0.0.tgz#82b28518293c9091ec72d5defae2f5d2903d8bbc"
integrity sha512-QhuX3bGZOckM/fhIIGj/StMJIX2BBtNbLzjTR7WnKMMxDkv0+oDvjw6OqqpYKSvj/q3vY6sRWuCNdEzNi0Fk6A==
dependencies:
"@abp/jquery" "~9.0.0-rc.2"
"@abp/jquery" "~9.0.0"
datatables.net "^2.1.8"
"@abp/font-awesome@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-9.0.0-rc.2.tgz#1493057e28b2e1e8a434ff1599e8b4b72b8784d2"
integrity sha512-EsQYx89OBquIxqGLgjAgMpUeAnWW316ruAmmxzGsusVT9KuIL6iuA4j4bdM8/6wJgi6zm2A/bDBjiiDDg2Cyyg==
"@abp/font-awesome@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-9.0.0.tgz#51cce18434a51d050ebb0d822a8c193b7e32f73d"
integrity sha512-bEHRVzOk0V2kFMAvB/YXFYaDKWRFO0+ScO7jrEFtFgdHXBcqy+dk1aM/N69WalyNmjRRpnh03GhH1LRpwL4/xA==
dependencies:
"@abp/core" "~9.0.0-rc.2"
"@abp/core" "~9.0.0"
"@fortawesome/fontawesome-free" "^6.6.0"
"@abp/jquery-form@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-9.0.0-rc.2.tgz#05a9082bc6c42fca3e001d97f77c0aa2e941448b"
integrity sha512-OUuwB/dgryiBG/iZCedwP2+8ot+PCeuAAMuZ1A/VXbNUJAbhiXF24tQM73wIhpAYcSc5egWjJ+VNTJKMKImTqA==
"@abp/jquery-form@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-9.0.0.tgz#6518eb117ee35c6bc57543fd1fccb0a8cf8e22f4"
integrity sha512-6qpfPGHrjADmm7Ne3zcXBGPuLngG8ldAn5fk9k2taftpyX0iR67/nZxiQ0ujaQGgaai5Wb3imNXMG96XLnubkQ==
dependencies:
"@abp/jquery" "~9.0.0-rc.2"
"@abp/jquery" "~9.0.0"
jquery-form "^4.3.0"
"@abp/jquery-validation-unobtrusive@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-9.0.0-rc.2.tgz#d38f053ad3a8509dc683dc3091128eb445579176"
integrity sha512-170ARAIz0NWuQnleB2nWPKYQl3x/Za2yxc0utjxY0rruHflNQPF2cMagLu+eBI6gDkThXNps74HiRPXOPdgc4A==
"@abp/jquery-validation-unobtrusive@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-9.0.0.tgz#8ee87dbdec5e92ab04ae9642a49af1598af31c1a"
integrity sha512-KlRQ1htyFmAIMS9xbHvHIcdhAgtPFe/u7c87MiWlk/CdhDrI3J+n5biLvQUzxCC+YWlwx27zBtPKx2vLeMRH6Q==
dependencies:
"@abp/jquery-validation" "~9.0.0-rc.2"
"@abp/jquery-validation" "~9.0.0"
jquery-validation-unobtrusive "^4.0.0"
"@abp/jquery-validation@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-9.0.0-rc.2.tgz#79c96c7eb48d5bebb3e7e86f8f9e2d6e2e45c5cb"
integrity sha512-6W2LiLgcC4FGTMLsoNkRBJTqDq6YR3ctLKzRfis9kOigkd0QT/PnB/451rrVb7+BCl9luKaA8DDYF671S8klFA==
"@abp/jquery-validation@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-9.0.0.tgz#681d8037c57b3875bd51c927e350ffce65d7c5d2"
integrity sha512-XgCUBFWbhTDcGepD/xkwA/1Hl4TyYitRttauDJk3tuyXhNtykvdugCCOPY4j2s6VoT1Sb/TFFvOcgEvlBwkKiw==
dependencies:
"@abp/jquery" "~9.0.0-rc.2"
"@abp/jquery" "~9.0.0"
jquery-validation "^1.21.0"
"@abp/jquery@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-9.0.0-rc.2.tgz#c8bd299d1b5558a4c3cef26b248d42e9a6303e33"
integrity sha512-GrO0gKdi20jlQ0YjWaddal0X0+5LkMpOAyMB1GdaDetLaaVjcZ+92zx1cApcAdIsCKgB+kyutRQv0b82o/EZPQ==
"@abp/jquery@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-9.0.0.tgz#6c67a9f927be598ab6201f8888e8a3cb8bba0686"
integrity sha512-cUXA7v6F1HqAc/w8fQGxHIfA/6BqO+4uHXDnSsJZtrI26DTLOgw5kBNnAz2W4xggGPCY7SKFHNRZuOW/QfVRPg==
dependencies:
"@abp/core" "~9.0.0-rc.2"
"@abp/core" "~9.0.0"
jquery "~3.7.1"
"@abp/lodash@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-9.0.0-rc.2.tgz#980a0ae2d95c83663f0f52f1b67b5cfb00d04b96"
integrity sha512-uwxv7WJqwRcGkVoB44JR1QJaMbe3RhCQsG6+Wee1Jjdgi2vkpFUCj2arM4Rxz1igntFjY2Z7NiBq+iL9HYIkSw==
"@abp/lodash@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-9.0.0.tgz#a4d42b2dfeb37859ff9f0079c7a8a6cabc982efe"
integrity sha512-xoAsOkkgnQdPH2OyFTgF6OlCLVbyGF4u8CrFcZWCZmuIFT9cg0+ZEiq//Vog1pg3Lf//N37ceGpOag1LwMe6cQ==
dependencies:
"@abp/core" "~9.0.0-rc.2"
"@abp/core" "~9.0.0"
lodash "^4.17.21"
"@abp/luxon@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-9.0.0-rc.2.tgz#1bb0eae53b707371489a4e0edf2869d7acc71da8"
integrity sha512-iWE8sbBWxCbNYSO3TTTzeotGS6kAnIwCKos/96mtaYJ4wzPW9pgF7K94CvwLAAg9NTsx/J/OGdmhhM2cULhv+w==
"@abp/luxon@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-9.0.0.tgz#a54dda13cbbd362481994d20d2e07c669c6ce109"
integrity sha512-aPejQnoVPfm60LnjwhfUkIsB+poNWusrBE0IHllxhvOVE+01nfa1Lvpp5AUWzV+XchPGOCSf+a29ds4EQWfNbg==
dependencies:
"@abp/core" "~9.0.0-rc.2"
"@abp/core" "~9.0.0"
luxon "^3.5.0"
"@abp/malihu-custom-scrollbar-plugin@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-9.0.0-rc.2.tgz#fce5c12be2bdf350b18aae52619309a474995442"
integrity sha512-e3JTnDSkjF9/MPh/nPqcvU8hkUxSMc5U6DnP169GBdVAYQwwnGD24x4QCWU7ch7s65FDJ8/uq7bYOcIAD0B+Dw==
"@abp/malihu-custom-scrollbar-plugin@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-9.0.0.tgz#b8a49202d531c711874a2bcdae5081ae0ed34c3f"
integrity sha512-iSZ9lKMnv5F2SplR+A4blhFEDq79lKbvBQuS7h/Di3KEHFOdJY4pA8NP8OR+PXOF3JfAezGyjqy7ydn/JNPRwA==
dependencies:
"@abp/core" "~9.0.0-rc.2"
"@abp/core" "~9.0.0"
malihu-custom-scrollbar-plugin "^3.1.5"
"@abp/moment@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-9.0.0-rc.2.tgz#2fc0feaaa0a26436cf00a6beccaa64f505aef301"
integrity sha512-yqkgu0bo3ra6HVFdS2wlqwTysciYOJWi/ERFVS2MfUkAKFA0P7mv8Jg5tB4vGY2Km++7r22kCDRlK3KUPmk21g==
"@abp/moment@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-9.0.0.tgz#9583e97472ddf608a9a5a6b8a37fee602b419900"
integrity sha512-wgyJSKmBmHLXZJN3dy3zK4i2JvWGgqnvdtrKURy/raEurxlymv8JF5JA971kTv6Kz2OA/OSYttpVJkDGUpPAhA==
dependencies:
moment "^2.30.1"
"@abp/owl.carousel@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/owl.carousel/-/owl.carousel-9.0.0-rc.2.tgz#23871fd8ffe693670ea78bdeac52733558d1b266"
integrity sha512-GzD8XSr6dzlsOPYUPO1Ug7FUIIGwZA1O95STNKla8x02V40pbo+VgFrYg3TyHbY4u35eyl+xeNN5heJd57nr7w==
"@abp/owl.carousel@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/owl.carousel/-/owl.carousel-9.0.0.tgz#44f6b35199940aa98b9b97bfaeb7872779133ae5"
integrity sha512-zwlrvm4wxvM/4OlUsJPhEy4I+N+wX27dwCQ640eAZirHlmRrOydAADDP964LDX6ay3PqvW8VzH/e0iEFqUBLWg==
dependencies:
"@abp/core" "~9.0.0-rc.2"
"@abp/core" "~9.0.0"
owl.carousel "^2.3.4"
"@abp/prismjs@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-9.0.0-rc.2.tgz#2de7bc2882fee46d3d7e2da1fb66bca6b06cc4dd"
integrity sha512-rQ4dVGk+lEHFFSIBsJPqijeh4k3UgoDMZL1rns2a6NR+QnR0J2Slx3Awt8SH+inQFH2JiLHVo9q4bG+81vCsag==
"@abp/prismjs@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-9.0.0.tgz#2ac4a5ddc0c8e0462af027a4dd97a177a3d6f7a5"
integrity sha512-+evmBq5qV+Ix/TNqO2ljJn0jygW2rEgKNtABcBGmrZC8xiI7+2hjKmSE0e43qb+RDib8aJjwH8ya8wF7p68ZFw==
dependencies:
"@abp/clipboard" "~9.0.0-rc.2"
"@abp/core" "~9.0.0-rc.2"
"@abp/clipboard" "~9.0.0"
"@abp/core" "~9.0.0"
prismjs "^1.29.0"
"@abp/select2@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-9.0.0-rc.2.tgz#53806118fdfe9f9228e26c6867ce0e75e6572b81"
integrity sha512-arKdcs95+4zp5764iOz09aJ3C1F2SsBIzekpjpJwMBdLRfoleZZFm12itO8I4Jjb1R+2CkW6MXjLR5xL2aE0PQ==
"@abp/select2@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-9.0.0.tgz#71503eebb746f40a0e565dba1efa05d6ae937b77"
integrity sha512-l+Hz2Qmc7AcyaTJOyuDaV99RbBWYxYxbeyVEc4xKbRFbJxYBUxT/DFlyozEaoz+OU1fl4szO3UCthJ2yZvxCdg==
dependencies:
"@abp/core" "~9.0.0-rc.2"
"@abp/core" "~9.0.0"
select2 "^4.0.13"
"@abp/sweetalert2@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-9.0.0-rc.2.tgz#60b25d65b3e5eb53e18ba5b1f3663783562d2506"
integrity sha512-VJslD1AMDZJhOEko79UYIxIYeAmr1YUwJu8XNAurBGPa9sWGI+jPY/dYg3uptg8GEJHsFtog84m3nUQ/prRUcw==
"@abp/sweetalert2@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-9.0.0.tgz#71e511117c18b515e5c658e9cc0667770af65d91"
integrity sha512-wxDqoA6RUhkbcN27Kzslu/m2ai5T9AkJRtgs7pV55LvPv1ohuCPEUeTVVh8S/5Pgmr7aPFAPxaaCO32aPcImPw==
dependencies:
"@abp/core" "~9.0.0-rc.2"
"@abp/core" "~9.0.0"
sweetalert2 "^11.14.1"
"@abp/timeago@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-9.0.0-rc.2.tgz#72a7da1eda19beb34c352f3f43d2f5181b0b926a"
integrity sha512-zRj+TssaDXW2OM4mNn47G1tRg4BZ2sqbEiiUIQrU9hHMHmxOf8bAJhqsouGDDZF3xetcwKhmLN08VWK1sqqpQA==
"@abp/timeago@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-9.0.0.tgz#8f262ba2a74e1c133d0c129f8a0bc55c29441e1a"
integrity sha512-eaNdIUEtDXnuYqS5O7EGRV+j6XOLAsxz7gd5BIKR9lDujd8pEjSJkXKO+/0KxLTkUSy3JudIO37K1h2wTpbYZA==
dependencies:
"@abp/jquery" "~9.0.0-rc.2"
"@abp/jquery" "~9.0.0"
timeago "^1.6.7"
"@abp/toastr@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-9.0.0-rc.2.tgz#ddbf0b6362941f62c07c9820af59dcd6912331d0"
integrity sha512-l4z6z3Oc/JF4XJplqGETQtBkqzjbpobcfzEHeH6LjUeunLMEVQOtjhPUBLrhg4ZM0i9k46hmxsoOkWXu7tClyQ==
"@abp/toastr@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-9.0.0.tgz#74d74ecb3e7f2d63b2ff7735c89a40deb3dc3a13"
integrity sha512-n9uJvw8l2HoxeowPO4diEMxwchGh6puefhyRljFAAstzK77Mhn0u2J7kPynNv94rLSYTYoCxUeJ4TTN+/TVDGQ==
dependencies:
"@abp/jquery" "~9.0.0-rc.2"
"@abp/jquery" "~9.0.0"
toastr "^2.1.4"
"@abp/tui-editor@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/tui-editor/-/tui-editor-9.0.0-rc.2.tgz#abe8e13566b337be023881627d4bd0dd574ed89f"
integrity sha512-Skw3/+Rda6iIyygtlLeam2J0cAH27WNN3bKVavRK4NLvq3mp2qdiV2eHgfVcZDLyc1X2UbrrzkqD9BQ288S+ag==
"@abp/tui-editor@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/tui-editor/-/tui-editor-9.0.0.tgz#d9f7721c3d8e361d901a0e0e11e786b2e12b234a"
integrity sha512-TVadK2Yi3wlwyvEVshh1PxkNRppYmqaPB6QE1cOhrWZAFbP1fh1oFvfqQiHN3o+9RGHFcEnhEK3D+49aHuDh3Q==
dependencies:
"@abp/jquery" "~9.0.0-rc.2"
"@abp/prismjs" "~9.0.0-rc.2"
"@abp/jquery" "~9.0.0"
"@abp/prismjs" "~9.0.0"
"@abp/utils@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-9.0.0-rc.2.tgz#e644889f1c1c4828b509aea9ae3ae48439a5b89d"
integrity sha512-eIL3syPE0LzPyeHV5+pgRxw3/H2YTmK2U9VEOUu26ExiCMIt5Waf8T92BjaH9sLrMD5P9ZAT2jWaxh+VTsEtKA==
"@abp/utils@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-9.0.0.tgz#2264fd83105b061860edd98dbe0efdfe55803ed5"
integrity sha512-/SB4VYk3Av+ltXv6ovkFHG4iWiECLLitaYWcEHxVAO80ufNjrNnWpHFpXHP8u/RpXIp/CoNiHLr6j5TkZUTZjw==
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": "~9.0.0-rc.2"
"@abp/aspnetcore.mvc.ui.theme.basic": "~9.0.0"
}
}

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

@ -2,194 +2,194 @@
# yarn lockfile v1
"@abp/aspnetcore.mvc.ui.theme.basic@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-9.0.0-rc.2.tgz#db73b3121cbd02207842f0388999298df49392ac"
integrity sha512-vzUPdL1UJ+aXKcei0rCpm3VYX9twhmomd+HqfzcL65TtrXgIK8jCv4Wn0rRFfSGtUfM8OetIVVkmggIZusGTZQ==
dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~9.0.0-rc.2"
"@abp/aspnetcore.mvc.ui.theme.shared@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-9.0.0-rc.2.tgz#acaeaa5e0b329e5d836a198f7a3563d141d7fc79"
integrity sha512-hs8AoZwOnrMYmFl7/GQc6EUr5Jz5lTXWgSmp0l/DdH7f3INYEgCrIp5qvLFyNu8CHv6Gbegw2vGdpfDQbkiasw==
dependencies:
"@abp/aspnetcore.mvc.ui" "~9.0.0-rc.2"
"@abp/bootstrap" "~9.0.0-rc.2"
"@abp/bootstrap-datepicker" "~9.0.0-rc.2"
"@abp/bootstrap-daterangepicker" "~9.0.0-rc.2"
"@abp/datatables.net-bs5" "~9.0.0-rc.2"
"@abp/font-awesome" "~9.0.0-rc.2"
"@abp/jquery-form" "~9.0.0-rc.2"
"@abp/jquery-validation-unobtrusive" "~9.0.0-rc.2"
"@abp/lodash" "~9.0.0-rc.2"
"@abp/luxon" "~9.0.0-rc.2"
"@abp/malihu-custom-scrollbar-plugin" "~9.0.0-rc.2"
"@abp/moment" "~9.0.0-rc.2"
"@abp/select2" "~9.0.0-rc.2"
"@abp/sweetalert2" "~9.0.0-rc.2"
"@abp/timeago" "~9.0.0-rc.2"
"@abp/toastr" "~9.0.0-rc.2"
"@abp/aspnetcore.mvc.ui@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-9.0.0-rc.2.tgz#5fc82ab4872b955cf46d755e99c656e0420a3c64"
integrity sha512-gGfHAsznxFIqTk6OFuRzcJ8D65VWmHkRqQjzmd97GZ1lNXRGDNGtYXbC/L1bA88O+qAXzhQ/c47h6in9cGh38w==
"@abp/aspnetcore.mvc.ui.theme.basic@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-9.0.0.tgz#e4b05d63446c24b612275e3949881e176d32527f"
integrity sha512-GHEt26xESe/TCg1q6ZjeUbxniqdxaiB1OPTZ9md7ONql6bEp8t9iUPeSlkyAZtQ7qBzwgkiLpkRFT+J21DftaQ==
dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~9.0.0"
"@abp/aspnetcore.mvc.ui.theme.shared@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-9.0.0.tgz#a77b4b70fa6217146afd6a57211f57e2360564f2"
integrity sha512-QmZrSp+rfqfnC9W4QZ+nNdAq0rOALzRn1rsDpGDHhIHwyXB03QPdjzIWaEvldUYHzqg84cEP0LcqW4y57Xr1iw==
dependencies:
"@abp/aspnetcore.mvc.ui" "~9.0.0"
"@abp/bootstrap" "~9.0.0"
"@abp/bootstrap-datepicker" "~9.0.0"
"@abp/bootstrap-daterangepicker" "~9.0.0"
"@abp/datatables.net-bs5" "~9.0.0"
"@abp/font-awesome" "~9.0.0"
"@abp/jquery-form" "~9.0.0"
"@abp/jquery-validation-unobtrusive" "~9.0.0"
"@abp/lodash" "~9.0.0"
"@abp/luxon" "~9.0.0"
"@abp/malihu-custom-scrollbar-plugin" "~9.0.0"
"@abp/moment" "~9.0.0"
"@abp/select2" "~9.0.0"
"@abp/sweetalert2" "~9.0.0"
"@abp/timeago" "~9.0.0"
"@abp/toastr" "~9.0.0"
"@abp/aspnetcore.mvc.ui@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-9.0.0.tgz#93004dd056c130386c7b40c458f3a793d8c9e051"
integrity sha512-pvO5bh9baFcSbfW0s7tpMpbe6DKSC16jeyeluZLlvYxC0n2gkrv7H/hB5aMuBKIlh89aGY9DQIcMFC8iczL3Bg==
dependencies:
ansi-colors "^4.1.3"
"@abp/bootstrap-datepicker@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-9.0.0-rc.2.tgz#884343a8c0b881e6612cbbbf1fb9af0f40cbc223"
integrity sha512-JqPKn0xFyqoA4smY3gtUE/HcbG5QmLtFpZNG/zMnDq2JEtJt13xee9FguYXrlMOrM9PqAwnq2Wrc8s71ROh8Zg==
"@abp/bootstrap-datepicker@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-9.0.0.tgz#d6609e50568aac6a013abfcaa07817998e1eaa99"
integrity sha512-wxAeVsOVOJpidDn0g3FlJvpOsn5SVY5IpEG+FtUxSAKuWYJQWF6g5CaghrfS+FNDK9IHhxrgSMPMVBK9YlDSzw==
dependencies:
bootstrap-datepicker "^1.10.0"
"@abp/bootstrap-daterangepicker@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-9.0.0-rc.2.tgz#bc0e134e36da111aaa25f7d4d3e90d394c873b50"
integrity sha512-5KChSBquD7pQNiI3TgJSYHw549Pxuom8TAg+44edjEKRvR7KUR8IkfdImlZYHPeLmoUTnnWXiFKOIxOi9OjLoA==
"@abp/bootstrap-daterangepicker@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-9.0.0.tgz#fc2871e7d886accd8e4748cb763b695e10701c00"
integrity sha512-qS6SQR6X7wMCVLcuXatJ2+m1GNlpN71p7VDritxfwAMHa7WBRAAi8apX2WItwBAuLQ2s1uSA0Wp1KstHG3VPLA==
dependencies:
bootstrap-daterangepicker "^3.1.0"
"@abp/bootstrap@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-9.0.0-rc.2.tgz#cf0b2567f44030d5d0620ca36d9d25999cd25e0e"
integrity sha512-Fkagr1fTyeKDtsvn7TKJKRkWNaYd6ZmE1IhLffwLwDpyt26JBYK3XqGXT+eHFXXpSxrgANERVogSN5E46IU1OQ==
"@abp/bootstrap@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-9.0.0.tgz#5ab292e95ba7eef129cbaa1dc5f5d5c0af8530d7"
integrity sha512-jEr6su8BfoNxYvze/UlddE3DlezyPvQeiNhff8SDPqtRQ6XvjZ48O/JwtY01hK2njEDLOZINY5zJRGmO2OiOUw==
dependencies:
"@abp/core" "~9.0.0-rc.2"
"@abp/core" "~9.0.0"
bootstrap "^5.3.3"
"@abp/core@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-9.0.0-rc.2.tgz#f0344669a745581b1032de396b1165f4cb3ea834"
integrity sha512-rmlWc6ydzRWVvQpkqSGEXcmYx1WJvxLajC7Ts6epbmmyklrx+tA5uQqCiSlsJWfIyaejLOjDka319arukaMb/Q==
"@abp/core@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-9.0.0.tgz#dc5ea9139957e307f73ac1f40b179f991e3c2168"
integrity sha512-vzQyTpqVDx63pOI9e2QLUMWZCrSojHsRnzLlvl+/cKFi7jE1q/uSP66FPR2bwkD+DNLI/tn6is1Jx3skKA1FvA==
dependencies:
"@abp/utils" "~9.0.0-rc.2"
"@abp/utils" "~9.0.0"
"@abp/datatables.net-bs5@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-9.0.0-rc.2.tgz#7f01e5e74530cd9bb13545917f00a5c38163745a"
integrity sha512-snZi/kAtkH4p1t1cUIKU5DRDz+U2CUHk7JAZE+g9bClMvmDTh4Kta5JmTW3g++JSh+C0LQzYXRPXnV7TgUcBgw==
"@abp/datatables.net-bs5@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-9.0.0.tgz#4daee90bdb6446e854ce65f2a3afabb2a13e49ae"
integrity sha512-ln10tcRwxcB0nuSgqJ/66strHsqMHDC03c0ktxEplAN34yP7KInjFf/U9Svo74K0nKlkJdMCgmqmT4CnBJZlIg==
dependencies:
"@abp/datatables.net" "~9.0.0-rc.2"
"@abp/datatables.net" "~9.0.0"
datatables.net-bs5 "^2.1.8"
"@abp/datatables.net@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-9.0.0-rc.2.tgz#cf5a5df0c6735080f2ba1f1746f4eb8d05d02c5b"
integrity sha512-hdJH5xN6SXTFZXnv+fTmcmFU19Fr2sIZMrfirUfH1of8qTn7cObjAe9r189PGt/3FZeFPA8pmfnNL6ZLwnLKtw==
"@abp/datatables.net@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-9.0.0.tgz#82b28518293c9091ec72d5defae2f5d2903d8bbc"
integrity sha512-QhuX3bGZOckM/fhIIGj/StMJIX2BBtNbLzjTR7WnKMMxDkv0+oDvjw6OqqpYKSvj/q3vY6sRWuCNdEzNi0Fk6A==
dependencies:
"@abp/jquery" "~9.0.0-rc.2"
"@abp/jquery" "~9.0.0"
datatables.net "^2.1.8"
"@abp/font-awesome@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-9.0.0-rc.2.tgz#1493057e28b2e1e8a434ff1599e8b4b72b8784d2"
integrity sha512-EsQYx89OBquIxqGLgjAgMpUeAnWW316ruAmmxzGsusVT9KuIL6iuA4j4bdM8/6wJgi6zm2A/bDBjiiDDg2Cyyg==
"@abp/font-awesome@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-9.0.0.tgz#51cce18434a51d050ebb0d822a8c193b7e32f73d"
integrity sha512-bEHRVzOk0V2kFMAvB/YXFYaDKWRFO0+ScO7jrEFtFgdHXBcqy+dk1aM/N69WalyNmjRRpnh03GhH1LRpwL4/xA==
dependencies:
"@abp/core" "~9.0.0-rc.2"
"@abp/core" "~9.0.0"
"@fortawesome/fontawesome-free" "^6.6.0"
"@abp/jquery-form@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-9.0.0-rc.2.tgz#05a9082bc6c42fca3e001d97f77c0aa2e941448b"
integrity sha512-OUuwB/dgryiBG/iZCedwP2+8ot+PCeuAAMuZ1A/VXbNUJAbhiXF24tQM73wIhpAYcSc5egWjJ+VNTJKMKImTqA==
"@abp/jquery-form@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-9.0.0.tgz#6518eb117ee35c6bc57543fd1fccb0a8cf8e22f4"
integrity sha512-6qpfPGHrjADmm7Ne3zcXBGPuLngG8ldAn5fk9k2taftpyX0iR67/nZxiQ0ujaQGgaai5Wb3imNXMG96XLnubkQ==
dependencies:
"@abp/jquery" "~9.0.0-rc.2"
"@abp/jquery" "~9.0.0"
jquery-form "^4.3.0"
"@abp/jquery-validation-unobtrusive@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-9.0.0-rc.2.tgz#d38f053ad3a8509dc683dc3091128eb445579176"
integrity sha512-170ARAIz0NWuQnleB2nWPKYQl3x/Za2yxc0utjxY0rruHflNQPF2cMagLu+eBI6gDkThXNps74HiRPXOPdgc4A==
"@abp/jquery-validation-unobtrusive@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-9.0.0.tgz#8ee87dbdec5e92ab04ae9642a49af1598af31c1a"
integrity sha512-KlRQ1htyFmAIMS9xbHvHIcdhAgtPFe/u7c87MiWlk/CdhDrI3J+n5biLvQUzxCC+YWlwx27zBtPKx2vLeMRH6Q==
dependencies:
"@abp/jquery-validation" "~9.0.0-rc.2"
"@abp/jquery-validation" "~9.0.0"
jquery-validation-unobtrusive "^4.0.0"
"@abp/jquery-validation@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-9.0.0-rc.2.tgz#79c96c7eb48d5bebb3e7e86f8f9e2d6e2e45c5cb"
integrity sha512-6W2LiLgcC4FGTMLsoNkRBJTqDq6YR3ctLKzRfis9kOigkd0QT/PnB/451rrVb7+BCl9luKaA8DDYF671S8klFA==
"@abp/jquery-validation@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-9.0.0.tgz#681d8037c57b3875bd51c927e350ffce65d7c5d2"
integrity sha512-XgCUBFWbhTDcGepD/xkwA/1Hl4TyYitRttauDJk3tuyXhNtykvdugCCOPY4j2s6VoT1Sb/TFFvOcgEvlBwkKiw==
dependencies:
"@abp/jquery" "~9.0.0-rc.2"
"@abp/jquery" "~9.0.0"
jquery-validation "^1.21.0"
"@abp/jquery@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-9.0.0-rc.2.tgz#c8bd299d1b5558a4c3cef26b248d42e9a6303e33"
integrity sha512-GrO0gKdi20jlQ0YjWaddal0X0+5LkMpOAyMB1GdaDetLaaVjcZ+92zx1cApcAdIsCKgB+kyutRQv0b82o/EZPQ==
"@abp/jquery@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-9.0.0.tgz#6c67a9f927be598ab6201f8888e8a3cb8bba0686"
integrity sha512-cUXA7v6F1HqAc/w8fQGxHIfA/6BqO+4uHXDnSsJZtrI26DTLOgw5kBNnAz2W4xggGPCY7SKFHNRZuOW/QfVRPg==
dependencies:
"@abp/core" "~9.0.0-rc.2"
"@abp/core" "~9.0.0"
jquery "~3.7.1"
"@abp/lodash@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-9.0.0-rc.2.tgz#980a0ae2d95c83663f0f52f1b67b5cfb00d04b96"
integrity sha512-uwxv7WJqwRcGkVoB44JR1QJaMbe3RhCQsG6+Wee1Jjdgi2vkpFUCj2arM4Rxz1igntFjY2Z7NiBq+iL9HYIkSw==
"@abp/lodash@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-9.0.0.tgz#a4d42b2dfeb37859ff9f0079c7a8a6cabc982efe"
integrity sha512-xoAsOkkgnQdPH2OyFTgF6OlCLVbyGF4u8CrFcZWCZmuIFT9cg0+ZEiq//Vog1pg3Lf//N37ceGpOag1LwMe6cQ==
dependencies:
"@abp/core" "~9.0.0-rc.2"
"@abp/core" "~9.0.0"
lodash "^4.17.21"
"@abp/luxon@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-9.0.0-rc.2.tgz#1bb0eae53b707371489a4e0edf2869d7acc71da8"
integrity sha512-iWE8sbBWxCbNYSO3TTTzeotGS6kAnIwCKos/96mtaYJ4wzPW9pgF7K94CvwLAAg9NTsx/J/OGdmhhM2cULhv+w==
"@abp/luxon@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-9.0.0.tgz#a54dda13cbbd362481994d20d2e07c669c6ce109"
integrity sha512-aPejQnoVPfm60LnjwhfUkIsB+poNWusrBE0IHllxhvOVE+01nfa1Lvpp5AUWzV+XchPGOCSf+a29ds4EQWfNbg==
dependencies:
"@abp/core" "~9.0.0-rc.2"
"@abp/core" "~9.0.0"
luxon "^3.5.0"
"@abp/malihu-custom-scrollbar-plugin@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-9.0.0-rc.2.tgz#fce5c12be2bdf350b18aae52619309a474995442"
integrity sha512-e3JTnDSkjF9/MPh/nPqcvU8hkUxSMc5U6DnP169GBdVAYQwwnGD24x4QCWU7ch7s65FDJ8/uq7bYOcIAD0B+Dw==
"@abp/malihu-custom-scrollbar-plugin@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-9.0.0.tgz#b8a49202d531c711874a2bcdae5081ae0ed34c3f"
integrity sha512-iSZ9lKMnv5F2SplR+A4blhFEDq79lKbvBQuS7h/Di3KEHFOdJY4pA8NP8OR+PXOF3JfAezGyjqy7ydn/JNPRwA==
dependencies:
"@abp/core" "~9.0.0-rc.2"
"@abp/core" "~9.0.0"
malihu-custom-scrollbar-plugin "^3.1.5"
"@abp/moment@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-9.0.0-rc.2.tgz#2fc0feaaa0a26436cf00a6beccaa64f505aef301"
integrity sha512-yqkgu0bo3ra6HVFdS2wlqwTysciYOJWi/ERFVS2MfUkAKFA0P7mv8Jg5tB4vGY2Km++7r22kCDRlK3KUPmk21g==
"@abp/moment@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-9.0.0.tgz#9583e97472ddf608a9a5a6b8a37fee602b419900"
integrity sha512-wgyJSKmBmHLXZJN3dy3zK4i2JvWGgqnvdtrKURy/raEurxlymv8JF5JA971kTv6Kz2OA/OSYttpVJkDGUpPAhA==
dependencies:
moment "^2.30.1"
"@abp/select2@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-9.0.0-rc.2.tgz#53806118fdfe9f9228e26c6867ce0e75e6572b81"
integrity sha512-arKdcs95+4zp5764iOz09aJ3C1F2SsBIzekpjpJwMBdLRfoleZZFm12itO8I4Jjb1R+2CkW6MXjLR5xL2aE0PQ==
"@abp/select2@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-9.0.0.tgz#71503eebb746f40a0e565dba1efa05d6ae937b77"
integrity sha512-l+Hz2Qmc7AcyaTJOyuDaV99RbBWYxYxbeyVEc4xKbRFbJxYBUxT/DFlyozEaoz+OU1fl4szO3UCthJ2yZvxCdg==
dependencies:
"@abp/core" "~9.0.0-rc.2"
"@abp/core" "~9.0.0"
select2 "^4.0.13"
"@abp/sweetalert2@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-9.0.0-rc.2.tgz#60b25d65b3e5eb53e18ba5b1f3663783562d2506"
integrity sha512-VJslD1AMDZJhOEko79UYIxIYeAmr1YUwJu8XNAurBGPa9sWGI+jPY/dYg3uptg8GEJHsFtog84m3nUQ/prRUcw==
"@abp/sweetalert2@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-9.0.0.tgz#71e511117c18b515e5c658e9cc0667770af65d91"
integrity sha512-wxDqoA6RUhkbcN27Kzslu/m2ai5T9AkJRtgs7pV55LvPv1ohuCPEUeTVVh8S/5Pgmr7aPFAPxaaCO32aPcImPw==
dependencies:
"@abp/core" "~9.0.0-rc.2"
"@abp/core" "~9.0.0"
sweetalert2 "^11.14.1"
"@abp/timeago@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-9.0.0-rc.2.tgz#72a7da1eda19beb34c352f3f43d2f5181b0b926a"
integrity sha512-zRj+TssaDXW2OM4mNn47G1tRg4BZ2sqbEiiUIQrU9hHMHmxOf8bAJhqsouGDDZF3xetcwKhmLN08VWK1sqqpQA==
"@abp/timeago@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-9.0.0.tgz#8f262ba2a74e1c133d0c129f8a0bc55c29441e1a"
integrity sha512-eaNdIUEtDXnuYqS5O7EGRV+j6XOLAsxz7gd5BIKR9lDujd8pEjSJkXKO+/0KxLTkUSy3JudIO37K1h2wTpbYZA==
dependencies:
"@abp/jquery" "~9.0.0-rc.2"
"@abp/jquery" "~9.0.0"
timeago "^1.6.7"
"@abp/toastr@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-9.0.0-rc.2.tgz#ddbf0b6362941f62c07c9820af59dcd6912331d0"
integrity sha512-l4z6z3Oc/JF4XJplqGETQtBkqzjbpobcfzEHeH6LjUeunLMEVQOtjhPUBLrhg4ZM0i9k46hmxsoOkWXu7tClyQ==
"@abp/toastr@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-9.0.0.tgz#74d74ecb3e7f2d63b2ff7735c89a40deb3dc3a13"
integrity sha512-n9uJvw8l2HoxeowPO4diEMxwchGh6puefhyRljFAAstzK77Mhn0u2J7kPynNv94rLSYTYoCxUeJ4TTN+/TVDGQ==
dependencies:
"@abp/jquery" "~9.0.0-rc.2"
"@abp/jquery" "~9.0.0"
toastr "^2.1.4"
"@abp/utils@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-9.0.0-rc.2.tgz#e644889f1c1c4828b509aea9ae3ae48439a5b89d"
integrity sha512-eIL3syPE0LzPyeHV5+pgRxw3/H2YTmK2U9VEOUu26ExiCMIt5Waf8T92BjaH9sLrMD5P9ZAT2jWaxh+VTsEtKA==
"@abp/utils@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-9.0.0.tgz#2264fd83105b061860edd98dbe0efdfe55803ed5"
integrity sha512-/SB4VYk3Av+ltXv6ovkFHG4iWiECLLitaYWcEHxVAO80ufNjrNnWpHFpXHP8u/RpXIp/CoNiHLr6j5TkZUTZjw==
dependencies:
just-compare "^2.3.0"

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

@ -15,11 +15,11 @@
},
"private": true,
"dependencies": {
"@abp/ng.account": "~9.0.0-rc.2",
"@abp/ng.identity": "~9.0.0-rc.2",
"@abp/ng.setting-management": "~9.0.0-rc.2",
"@abp/ng.tenant-management": "~9.0.0-rc.2",
"@abp/ng.theme.basic": "~9.0.0-rc.2",
"@abp/ng.account": "~9.0.0",
"@abp/ng.identity": "~9.0.0",
"@abp/ng.setting-management": "~9.0.0",
"@abp/ng.tenant-management": "~9.0.0",
"@abp/ng.theme.basic": "~9.0.0",
"@angular/animations": "~10.0.0",
"@angular/common": "~10.0.0",
"@angular/compiler": "~10.0.0",

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

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

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

@ -3,6 +3,6 @@
"name": "my-app-identityserver",
"private": true,
"dependencies": {
"@abp/aspnetcore.mvc.ui.theme.basic": "~9.0.0-rc.2"
"@abp/aspnetcore.mvc.ui.theme.basic": "~9.0.0"
}
}

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

@ -2,194 +2,194 @@
# yarn lockfile v1
"@abp/aspnetcore.mvc.ui.theme.basic@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-9.0.0-rc.2.tgz#db73b3121cbd02207842f0388999298df49392ac"
integrity sha512-vzUPdL1UJ+aXKcei0rCpm3VYX9twhmomd+HqfzcL65TtrXgIK8jCv4Wn0rRFfSGtUfM8OetIVVkmggIZusGTZQ==
dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~9.0.0-rc.2"
"@abp/aspnetcore.mvc.ui.theme.shared@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-9.0.0-rc.2.tgz#acaeaa5e0b329e5d836a198f7a3563d141d7fc79"
integrity sha512-hs8AoZwOnrMYmFl7/GQc6EUr5Jz5lTXWgSmp0l/DdH7f3INYEgCrIp5qvLFyNu8CHv6Gbegw2vGdpfDQbkiasw==
dependencies:
"@abp/aspnetcore.mvc.ui" "~9.0.0-rc.2"
"@abp/bootstrap" "~9.0.0-rc.2"
"@abp/bootstrap-datepicker" "~9.0.0-rc.2"
"@abp/bootstrap-daterangepicker" "~9.0.0-rc.2"
"@abp/datatables.net-bs5" "~9.0.0-rc.2"
"@abp/font-awesome" "~9.0.0-rc.2"
"@abp/jquery-form" "~9.0.0-rc.2"
"@abp/jquery-validation-unobtrusive" "~9.0.0-rc.2"
"@abp/lodash" "~9.0.0-rc.2"
"@abp/luxon" "~9.0.0-rc.2"
"@abp/malihu-custom-scrollbar-plugin" "~9.0.0-rc.2"
"@abp/moment" "~9.0.0-rc.2"
"@abp/select2" "~9.0.0-rc.2"
"@abp/sweetalert2" "~9.0.0-rc.2"
"@abp/timeago" "~9.0.0-rc.2"
"@abp/toastr" "~9.0.0-rc.2"
"@abp/aspnetcore.mvc.ui@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-9.0.0-rc.2.tgz#5fc82ab4872b955cf46d755e99c656e0420a3c64"
integrity sha512-gGfHAsznxFIqTk6OFuRzcJ8D65VWmHkRqQjzmd97GZ1lNXRGDNGtYXbC/L1bA88O+qAXzhQ/c47h6in9cGh38w==
"@abp/aspnetcore.mvc.ui.theme.basic@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-9.0.0.tgz#e4b05d63446c24b612275e3949881e176d32527f"
integrity sha512-GHEt26xESe/TCg1q6ZjeUbxniqdxaiB1OPTZ9md7ONql6bEp8t9iUPeSlkyAZtQ7qBzwgkiLpkRFT+J21DftaQ==
dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~9.0.0"
"@abp/aspnetcore.mvc.ui.theme.shared@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-9.0.0.tgz#a77b4b70fa6217146afd6a57211f57e2360564f2"
integrity sha512-QmZrSp+rfqfnC9W4QZ+nNdAq0rOALzRn1rsDpGDHhIHwyXB03QPdjzIWaEvldUYHzqg84cEP0LcqW4y57Xr1iw==
dependencies:
"@abp/aspnetcore.mvc.ui" "~9.0.0"
"@abp/bootstrap" "~9.0.0"
"@abp/bootstrap-datepicker" "~9.0.0"
"@abp/bootstrap-daterangepicker" "~9.0.0"
"@abp/datatables.net-bs5" "~9.0.0"
"@abp/font-awesome" "~9.0.0"
"@abp/jquery-form" "~9.0.0"
"@abp/jquery-validation-unobtrusive" "~9.0.0"
"@abp/lodash" "~9.0.0"
"@abp/luxon" "~9.0.0"
"@abp/malihu-custom-scrollbar-plugin" "~9.0.0"
"@abp/moment" "~9.0.0"
"@abp/select2" "~9.0.0"
"@abp/sweetalert2" "~9.0.0"
"@abp/timeago" "~9.0.0"
"@abp/toastr" "~9.0.0"
"@abp/aspnetcore.mvc.ui@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-9.0.0.tgz#93004dd056c130386c7b40c458f3a793d8c9e051"
integrity sha512-pvO5bh9baFcSbfW0s7tpMpbe6DKSC16jeyeluZLlvYxC0n2gkrv7H/hB5aMuBKIlh89aGY9DQIcMFC8iczL3Bg==
dependencies:
ansi-colors "^4.1.3"
"@abp/bootstrap-datepicker@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-9.0.0-rc.2.tgz#884343a8c0b881e6612cbbbf1fb9af0f40cbc223"
integrity sha512-JqPKn0xFyqoA4smY3gtUE/HcbG5QmLtFpZNG/zMnDq2JEtJt13xee9FguYXrlMOrM9PqAwnq2Wrc8s71ROh8Zg==
"@abp/bootstrap-datepicker@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-9.0.0.tgz#d6609e50568aac6a013abfcaa07817998e1eaa99"
integrity sha512-wxAeVsOVOJpidDn0g3FlJvpOsn5SVY5IpEG+FtUxSAKuWYJQWF6g5CaghrfS+FNDK9IHhxrgSMPMVBK9YlDSzw==
dependencies:
bootstrap-datepicker "^1.10.0"
"@abp/bootstrap-daterangepicker@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-9.0.0-rc.2.tgz#bc0e134e36da111aaa25f7d4d3e90d394c873b50"
integrity sha512-5KChSBquD7pQNiI3TgJSYHw549Pxuom8TAg+44edjEKRvR7KUR8IkfdImlZYHPeLmoUTnnWXiFKOIxOi9OjLoA==
"@abp/bootstrap-daterangepicker@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-9.0.0.tgz#fc2871e7d886accd8e4748cb763b695e10701c00"
integrity sha512-qS6SQR6X7wMCVLcuXatJ2+m1GNlpN71p7VDritxfwAMHa7WBRAAi8apX2WItwBAuLQ2s1uSA0Wp1KstHG3VPLA==
dependencies:
bootstrap-daterangepicker "^3.1.0"
"@abp/bootstrap@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-9.0.0-rc.2.tgz#cf0b2567f44030d5d0620ca36d9d25999cd25e0e"
integrity sha512-Fkagr1fTyeKDtsvn7TKJKRkWNaYd6ZmE1IhLffwLwDpyt26JBYK3XqGXT+eHFXXpSxrgANERVogSN5E46IU1OQ==
"@abp/bootstrap@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-9.0.0.tgz#5ab292e95ba7eef129cbaa1dc5f5d5c0af8530d7"
integrity sha512-jEr6su8BfoNxYvze/UlddE3DlezyPvQeiNhff8SDPqtRQ6XvjZ48O/JwtY01hK2njEDLOZINY5zJRGmO2OiOUw==
dependencies:
"@abp/core" "~9.0.0-rc.2"
"@abp/core" "~9.0.0"
bootstrap "^5.3.3"
"@abp/core@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-9.0.0-rc.2.tgz#f0344669a745581b1032de396b1165f4cb3ea834"
integrity sha512-rmlWc6ydzRWVvQpkqSGEXcmYx1WJvxLajC7Ts6epbmmyklrx+tA5uQqCiSlsJWfIyaejLOjDka319arukaMb/Q==
"@abp/core@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-9.0.0.tgz#dc5ea9139957e307f73ac1f40b179f991e3c2168"
integrity sha512-vzQyTpqVDx63pOI9e2QLUMWZCrSojHsRnzLlvl+/cKFi7jE1q/uSP66FPR2bwkD+DNLI/tn6is1Jx3skKA1FvA==
dependencies:
"@abp/utils" "~9.0.0-rc.2"
"@abp/utils" "~9.0.0"
"@abp/datatables.net-bs5@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-9.0.0-rc.2.tgz#7f01e5e74530cd9bb13545917f00a5c38163745a"
integrity sha512-snZi/kAtkH4p1t1cUIKU5DRDz+U2CUHk7JAZE+g9bClMvmDTh4Kta5JmTW3g++JSh+C0LQzYXRPXnV7TgUcBgw==
"@abp/datatables.net-bs5@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-9.0.0.tgz#4daee90bdb6446e854ce65f2a3afabb2a13e49ae"
integrity sha512-ln10tcRwxcB0nuSgqJ/66strHsqMHDC03c0ktxEplAN34yP7KInjFf/U9Svo74K0nKlkJdMCgmqmT4CnBJZlIg==
dependencies:
"@abp/datatables.net" "~9.0.0-rc.2"
"@abp/datatables.net" "~9.0.0"
datatables.net-bs5 "^2.1.8"
"@abp/datatables.net@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-9.0.0-rc.2.tgz#cf5a5df0c6735080f2ba1f1746f4eb8d05d02c5b"
integrity sha512-hdJH5xN6SXTFZXnv+fTmcmFU19Fr2sIZMrfirUfH1of8qTn7cObjAe9r189PGt/3FZeFPA8pmfnNL6ZLwnLKtw==
"@abp/datatables.net@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-9.0.0.tgz#82b28518293c9091ec72d5defae2f5d2903d8bbc"
integrity sha512-QhuX3bGZOckM/fhIIGj/StMJIX2BBtNbLzjTR7WnKMMxDkv0+oDvjw6OqqpYKSvj/q3vY6sRWuCNdEzNi0Fk6A==
dependencies:
"@abp/jquery" "~9.0.0-rc.2"
"@abp/jquery" "~9.0.0"
datatables.net "^2.1.8"
"@abp/font-awesome@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-9.0.0-rc.2.tgz#1493057e28b2e1e8a434ff1599e8b4b72b8784d2"
integrity sha512-EsQYx89OBquIxqGLgjAgMpUeAnWW316ruAmmxzGsusVT9KuIL6iuA4j4bdM8/6wJgi6zm2A/bDBjiiDDg2Cyyg==
"@abp/font-awesome@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-9.0.0.tgz#51cce18434a51d050ebb0d822a8c193b7e32f73d"
integrity sha512-bEHRVzOk0V2kFMAvB/YXFYaDKWRFO0+ScO7jrEFtFgdHXBcqy+dk1aM/N69WalyNmjRRpnh03GhH1LRpwL4/xA==
dependencies:
"@abp/core" "~9.0.0-rc.2"
"@abp/core" "~9.0.0"
"@fortawesome/fontawesome-free" "^6.6.0"
"@abp/jquery-form@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-9.0.0-rc.2.tgz#05a9082bc6c42fca3e001d97f77c0aa2e941448b"
integrity sha512-OUuwB/dgryiBG/iZCedwP2+8ot+PCeuAAMuZ1A/VXbNUJAbhiXF24tQM73wIhpAYcSc5egWjJ+VNTJKMKImTqA==
"@abp/jquery-form@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-9.0.0.tgz#6518eb117ee35c6bc57543fd1fccb0a8cf8e22f4"
integrity sha512-6qpfPGHrjADmm7Ne3zcXBGPuLngG8ldAn5fk9k2taftpyX0iR67/nZxiQ0ujaQGgaai5Wb3imNXMG96XLnubkQ==
dependencies:
"@abp/jquery" "~9.0.0-rc.2"
"@abp/jquery" "~9.0.0"
jquery-form "^4.3.0"
"@abp/jquery-validation-unobtrusive@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-9.0.0-rc.2.tgz#d38f053ad3a8509dc683dc3091128eb445579176"
integrity sha512-170ARAIz0NWuQnleB2nWPKYQl3x/Za2yxc0utjxY0rruHflNQPF2cMagLu+eBI6gDkThXNps74HiRPXOPdgc4A==
"@abp/jquery-validation-unobtrusive@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-9.0.0.tgz#8ee87dbdec5e92ab04ae9642a49af1598af31c1a"
integrity sha512-KlRQ1htyFmAIMS9xbHvHIcdhAgtPFe/u7c87MiWlk/CdhDrI3J+n5biLvQUzxCC+YWlwx27zBtPKx2vLeMRH6Q==
dependencies:
"@abp/jquery-validation" "~9.0.0-rc.2"
"@abp/jquery-validation" "~9.0.0"
jquery-validation-unobtrusive "^4.0.0"
"@abp/jquery-validation@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-9.0.0-rc.2.tgz#79c96c7eb48d5bebb3e7e86f8f9e2d6e2e45c5cb"
integrity sha512-6W2LiLgcC4FGTMLsoNkRBJTqDq6YR3ctLKzRfis9kOigkd0QT/PnB/451rrVb7+BCl9luKaA8DDYF671S8klFA==
"@abp/jquery-validation@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-9.0.0.tgz#681d8037c57b3875bd51c927e350ffce65d7c5d2"
integrity sha512-XgCUBFWbhTDcGepD/xkwA/1Hl4TyYitRttauDJk3tuyXhNtykvdugCCOPY4j2s6VoT1Sb/TFFvOcgEvlBwkKiw==
dependencies:
"@abp/jquery" "~9.0.0-rc.2"
"@abp/jquery" "~9.0.0"
jquery-validation "^1.21.0"
"@abp/jquery@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-9.0.0-rc.2.tgz#c8bd299d1b5558a4c3cef26b248d42e9a6303e33"
integrity sha512-GrO0gKdi20jlQ0YjWaddal0X0+5LkMpOAyMB1GdaDetLaaVjcZ+92zx1cApcAdIsCKgB+kyutRQv0b82o/EZPQ==
"@abp/jquery@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-9.0.0.tgz#6c67a9f927be598ab6201f8888e8a3cb8bba0686"
integrity sha512-cUXA7v6F1HqAc/w8fQGxHIfA/6BqO+4uHXDnSsJZtrI26DTLOgw5kBNnAz2W4xggGPCY7SKFHNRZuOW/QfVRPg==
dependencies:
"@abp/core" "~9.0.0-rc.2"
"@abp/core" "~9.0.0"
jquery "~3.7.1"
"@abp/lodash@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-9.0.0-rc.2.tgz#980a0ae2d95c83663f0f52f1b67b5cfb00d04b96"
integrity sha512-uwxv7WJqwRcGkVoB44JR1QJaMbe3RhCQsG6+Wee1Jjdgi2vkpFUCj2arM4Rxz1igntFjY2Z7NiBq+iL9HYIkSw==
"@abp/lodash@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-9.0.0.tgz#a4d42b2dfeb37859ff9f0079c7a8a6cabc982efe"
integrity sha512-xoAsOkkgnQdPH2OyFTgF6OlCLVbyGF4u8CrFcZWCZmuIFT9cg0+ZEiq//Vog1pg3Lf//N37ceGpOag1LwMe6cQ==
dependencies:
"@abp/core" "~9.0.0-rc.2"
"@abp/core" "~9.0.0"
lodash "^4.17.21"
"@abp/luxon@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-9.0.0-rc.2.tgz#1bb0eae53b707371489a4e0edf2869d7acc71da8"
integrity sha512-iWE8sbBWxCbNYSO3TTTzeotGS6kAnIwCKos/96mtaYJ4wzPW9pgF7K94CvwLAAg9NTsx/J/OGdmhhM2cULhv+w==
"@abp/luxon@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-9.0.0.tgz#a54dda13cbbd362481994d20d2e07c669c6ce109"
integrity sha512-aPejQnoVPfm60LnjwhfUkIsB+poNWusrBE0IHllxhvOVE+01nfa1Lvpp5AUWzV+XchPGOCSf+a29ds4EQWfNbg==
dependencies:
"@abp/core" "~9.0.0-rc.2"
"@abp/core" "~9.0.0"
luxon "^3.5.0"
"@abp/malihu-custom-scrollbar-plugin@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-9.0.0-rc.2.tgz#fce5c12be2bdf350b18aae52619309a474995442"
integrity sha512-e3JTnDSkjF9/MPh/nPqcvU8hkUxSMc5U6DnP169GBdVAYQwwnGD24x4QCWU7ch7s65FDJ8/uq7bYOcIAD0B+Dw==
"@abp/malihu-custom-scrollbar-plugin@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-9.0.0.tgz#b8a49202d531c711874a2bcdae5081ae0ed34c3f"
integrity sha512-iSZ9lKMnv5F2SplR+A4blhFEDq79lKbvBQuS7h/Di3KEHFOdJY4pA8NP8OR+PXOF3JfAezGyjqy7ydn/JNPRwA==
dependencies:
"@abp/core" "~9.0.0-rc.2"
"@abp/core" "~9.0.0"
malihu-custom-scrollbar-plugin "^3.1.5"
"@abp/moment@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-9.0.0-rc.2.tgz#2fc0feaaa0a26436cf00a6beccaa64f505aef301"
integrity sha512-yqkgu0bo3ra6HVFdS2wlqwTysciYOJWi/ERFVS2MfUkAKFA0P7mv8Jg5tB4vGY2Km++7r22kCDRlK3KUPmk21g==
"@abp/moment@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-9.0.0.tgz#9583e97472ddf608a9a5a6b8a37fee602b419900"
integrity sha512-wgyJSKmBmHLXZJN3dy3zK4i2JvWGgqnvdtrKURy/raEurxlymv8JF5JA971kTv6Kz2OA/OSYttpVJkDGUpPAhA==
dependencies:
moment "^2.30.1"
"@abp/select2@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-9.0.0-rc.2.tgz#53806118fdfe9f9228e26c6867ce0e75e6572b81"
integrity sha512-arKdcs95+4zp5764iOz09aJ3C1F2SsBIzekpjpJwMBdLRfoleZZFm12itO8I4Jjb1R+2CkW6MXjLR5xL2aE0PQ==
"@abp/select2@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-9.0.0.tgz#71503eebb746f40a0e565dba1efa05d6ae937b77"
integrity sha512-l+Hz2Qmc7AcyaTJOyuDaV99RbBWYxYxbeyVEc4xKbRFbJxYBUxT/DFlyozEaoz+OU1fl4szO3UCthJ2yZvxCdg==
dependencies:
"@abp/core" "~9.0.0-rc.2"
"@abp/core" "~9.0.0"
select2 "^4.0.13"
"@abp/sweetalert2@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-9.0.0-rc.2.tgz#60b25d65b3e5eb53e18ba5b1f3663783562d2506"
integrity sha512-VJslD1AMDZJhOEko79UYIxIYeAmr1YUwJu8XNAurBGPa9sWGI+jPY/dYg3uptg8GEJHsFtog84m3nUQ/prRUcw==
"@abp/sweetalert2@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-9.0.0.tgz#71e511117c18b515e5c658e9cc0667770af65d91"
integrity sha512-wxDqoA6RUhkbcN27Kzslu/m2ai5T9AkJRtgs7pV55LvPv1ohuCPEUeTVVh8S/5Pgmr7aPFAPxaaCO32aPcImPw==
dependencies:
"@abp/core" "~9.0.0-rc.2"
"@abp/core" "~9.0.0"
sweetalert2 "^11.14.1"
"@abp/timeago@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-9.0.0-rc.2.tgz#72a7da1eda19beb34c352f3f43d2f5181b0b926a"
integrity sha512-zRj+TssaDXW2OM4mNn47G1tRg4BZ2sqbEiiUIQrU9hHMHmxOf8bAJhqsouGDDZF3xetcwKhmLN08VWK1sqqpQA==
"@abp/timeago@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-9.0.0.tgz#8f262ba2a74e1c133d0c129f8a0bc55c29441e1a"
integrity sha512-eaNdIUEtDXnuYqS5O7EGRV+j6XOLAsxz7gd5BIKR9lDujd8pEjSJkXKO+/0KxLTkUSy3JudIO37K1h2wTpbYZA==
dependencies:
"@abp/jquery" "~9.0.0-rc.2"
"@abp/jquery" "~9.0.0"
timeago "^1.6.7"
"@abp/toastr@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-9.0.0-rc.2.tgz#ddbf0b6362941f62c07c9820af59dcd6912331d0"
integrity sha512-l4z6z3Oc/JF4XJplqGETQtBkqzjbpobcfzEHeH6LjUeunLMEVQOtjhPUBLrhg4ZM0i9k46hmxsoOkWXu7tClyQ==
"@abp/toastr@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-9.0.0.tgz#74d74ecb3e7f2d63b2ff7735c89a40deb3dc3a13"
integrity sha512-n9uJvw8l2HoxeowPO4diEMxwchGh6puefhyRljFAAstzK77Mhn0u2J7kPynNv94rLSYTYoCxUeJ4TTN+/TVDGQ==
dependencies:
"@abp/jquery" "~9.0.0-rc.2"
"@abp/jquery" "~9.0.0"
toastr "^2.1.4"
"@abp/utils@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-9.0.0-rc.2.tgz#e644889f1c1c4828b509aea9ae3ae48439a5b89d"
integrity sha512-eIL3syPE0LzPyeHV5+pgRxw3/H2YTmK2U9VEOUu26ExiCMIt5Waf8T92BjaH9sLrMD5P9ZAT2jWaxh+VTsEtKA==
"@abp/utils@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-9.0.0.tgz#2264fd83105b061860edd98dbe0efdfe55803ed5"
integrity sha512-/SB4VYk3Av+ltXv6ovkFHG4iWiECLLitaYWcEHxVAO80ufNjrNnWpHFpXHP8u/RpXIp/CoNiHLr6j5TkZUTZjw==
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": "~9.0.0-rc.2"
"@abp/aspnetcore.mvc.ui.theme.basic": "~9.0.0"
}
}

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

@ -2,194 +2,194 @@
# yarn lockfile v1
"@abp/aspnetcore.mvc.ui.theme.basic@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-9.0.0-rc.2.tgz#db73b3121cbd02207842f0388999298df49392ac"
integrity sha512-vzUPdL1UJ+aXKcei0rCpm3VYX9twhmomd+HqfzcL65TtrXgIK8jCv4Wn0rRFfSGtUfM8OetIVVkmggIZusGTZQ==
dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~9.0.0-rc.2"
"@abp/aspnetcore.mvc.ui.theme.shared@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-9.0.0-rc.2.tgz#acaeaa5e0b329e5d836a198f7a3563d141d7fc79"
integrity sha512-hs8AoZwOnrMYmFl7/GQc6EUr5Jz5lTXWgSmp0l/DdH7f3INYEgCrIp5qvLFyNu8CHv6Gbegw2vGdpfDQbkiasw==
dependencies:
"@abp/aspnetcore.mvc.ui" "~9.0.0-rc.2"
"@abp/bootstrap" "~9.0.0-rc.2"
"@abp/bootstrap-datepicker" "~9.0.0-rc.2"
"@abp/bootstrap-daterangepicker" "~9.0.0-rc.2"
"@abp/datatables.net-bs5" "~9.0.0-rc.2"
"@abp/font-awesome" "~9.0.0-rc.2"
"@abp/jquery-form" "~9.0.0-rc.2"
"@abp/jquery-validation-unobtrusive" "~9.0.0-rc.2"
"@abp/lodash" "~9.0.0-rc.2"
"@abp/luxon" "~9.0.0-rc.2"
"@abp/malihu-custom-scrollbar-plugin" "~9.0.0-rc.2"
"@abp/moment" "~9.0.0-rc.2"
"@abp/select2" "~9.0.0-rc.2"
"@abp/sweetalert2" "~9.0.0-rc.2"
"@abp/timeago" "~9.0.0-rc.2"
"@abp/toastr" "~9.0.0-rc.2"
"@abp/aspnetcore.mvc.ui@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-9.0.0-rc.2.tgz#5fc82ab4872b955cf46d755e99c656e0420a3c64"
integrity sha512-gGfHAsznxFIqTk6OFuRzcJ8D65VWmHkRqQjzmd97GZ1lNXRGDNGtYXbC/L1bA88O+qAXzhQ/c47h6in9cGh38w==
"@abp/aspnetcore.mvc.ui.theme.basic@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-9.0.0.tgz#e4b05d63446c24b612275e3949881e176d32527f"
integrity sha512-GHEt26xESe/TCg1q6ZjeUbxniqdxaiB1OPTZ9md7ONql6bEp8t9iUPeSlkyAZtQ7qBzwgkiLpkRFT+J21DftaQ==
dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~9.0.0"
"@abp/aspnetcore.mvc.ui.theme.shared@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-9.0.0.tgz#a77b4b70fa6217146afd6a57211f57e2360564f2"
integrity sha512-QmZrSp+rfqfnC9W4QZ+nNdAq0rOALzRn1rsDpGDHhIHwyXB03QPdjzIWaEvldUYHzqg84cEP0LcqW4y57Xr1iw==
dependencies:
"@abp/aspnetcore.mvc.ui" "~9.0.0"
"@abp/bootstrap" "~9.0.0"
"@abp/bootstrap-datepicker" "~9.0.0"
"@abp/bootstrap-daterangepicker" "~9.0.0"
"@abp/datatables.net-bs5" "~9.0.0"
"@abp/font-awesome" "~9.0.0"
"@abp/jquery-form" "~9.0.0"
"@abp/jquery-validation-unobtrusive" "~9.0.0"
"@abp/lodash" "~9.0.0"
"@abp/luxon" "~9.0.0"
"@abp/malihu-custom-scrollbar-plugin" "~9.0.0"
"@abp/moment" "~9.0.0"
"@abp/select2" "~9.0.0"
"@abp/sweetalert2" "~9.0.0"
"@abp/timeago" "~9.0.0"
"@abp/toastr" "~9.0.0"
"@abp/aspnetcore.mvc.ui@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-9.0.0.tgz#93004dd056c130386c7b40c458f3a793d8c9e051"
integrity sha512-pvO5bh9baFcSbfW0s7tpMpbe6DKSC16jeyeluZLlvYxC0n2gkrv7H/hB5aMuBKIlh89aGY9DQIcMFC8iczL3Bg==
dependencies:
ansi-colors "^4.1.3"
"@abp/bootstrap-datepicker@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-9.0.0-rc.2.tgz#884343a8c0b881e6612cbbbf1fb9af0f40cbc223"
integrity sha512-JqPKn0xFyqoA4smY3gtUE/HcbG5QmLtFpZNG/zMnDq2JEtJt13xee9FguYXrlMOrM9PqAwnq2Wrc8s71ROh8Zg==
"@abp/bootstrap-datepicker@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-9.0.0.tgz#d6609e50568aac6a013abfcaa07817998e1eaa99"
integrity sha512-wxAeVsOVOJpidDn0g3FlJvpOsn5SVY5IpEG+FtUxSAKuWYJQWF6g5CaghrfS+FNDK9IHhxrgSMPMVBK9YlDSzw==
dependencies:
bootstrap-datepicker "^1.10.0"
"@abp/bootstrap-daterangepicker@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-9.0.0-rc.2.tgz#bc0e134e36da111aaa25f7d4d3e90d394c873b50"
integrity sha512-5KChSBquD7pQNiI3TgJSYHw549Pxuom8TAg+44edjEKRvR7KUR8IkfdImlZYHPeLmoUTnnWXiFKOIxOi9OjLoA==
"@abp/bootstrap-daterangepicker@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-9.0.0.tgz#fc2871e7d886accd8e4748cb763b695e10701c00"
integrity sha512-qS6SQR6X7wMCVLcuXatJ2+m1GNlpN71p7VDritxfwAMHa7WBRAAi8apX2WItwBAuLQ2s1uSA0Wp1KstHG3VPLA==
dependencies:
bootstrap-daterangepicker "^3.1.0"
"@abp/bootstrap@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-9.0.0-rc.2.tgz#cf0b2567f44030d5d0620ca36d9d25999cd25e0e"
integrity sha512-Fkagr1fTyeKDtsvn7TKJKRkWNaYd6ZmE1IhLffwLwDpyt26JBYK3XqGXT+eHFXXpSxrgANERVogSN5E46IU1OQ==
"@abp/bootstrap@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-9.0.0.tgz#5ab292e95ba7eef129cbaa1dc5f5d5c0af8530d7"
integrity sha512-jEr6su8BfoNxYvze/UlddE3DlezyPvQeiNhff8SDPqtRQ6XvjZ48O/JwtY01hK2njEDLOZINY5zJRGmO2OiOUw==
dependencies:
"@abp/core" "~9.0.0-rc.2"
"@abp/core" "~9.0.0"
bootstrap "^5.3.3"
"@abp/core@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-9.0.0-rc.2.tgz#f0344669a745581b1032de396b1165f4cb3ea834"
integrity sha512-rmlWc6ydzRWVvQpkqSGEXcmYx1WJvxLajC7Ts6epbmmyklrx+tA5uQqCiSlsJWfIyaejLOjDka319arukaMb/Q==
"@abp/core@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-9.0.0.tgz#dc5ea9139957e307f73ac1f40b179f991e3c2168"
integrity sha512-vzQyTpqVDx63pOI9e2QLUMWZCrSojHsRnzLlvl+/cKFi7jE1q/uSP66FPR2bwkD+DNLI/tn6is1Jx3skKA1FvA==
dependencies:
"@abp/utils" "~9.0.0-rc.2"
"@abp/utils" "~9.0.0"
"@abp/datatables.net-bs5@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-9.0.0-rc.2.tgz#7f01e5e74530cd9bb13545917f00a5c38163745a"
integrity sha512-snZi/kAtkH4p1t1cUIKU5DRDz+U2CUHk7JAZE+g9bClMvmDTh4Kta5JmTW3g++JSh+C0LQzYXRPXnV7TgUcBgw==
"@abp/datatables.net-bs5@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-9.0.0.tgz#4daee90bdb6446e854ce65f2a3afabb2a13e49ae"
integrity sha512-ln10tcRwxcB0nuSgqJ/66strHsqMHDC03c0ktxEplAN34yP7KInjFf/U9Svo74K0nKlkJdMCgmqmT4CnBJZlIg==
dependencies:
"@abp/datatables.net" "~9.0.0-rc.2"
"@abp/datatables.net" "~9.0.0"
datatables.net-bs5 "^2.1.8"
"@abp/datatables.net@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-9.0.0-rc.2.tgz#cf5a5df0c6735080f2ba1f1746f4eb8d05d02c5b"
integrity sha512-hdJH5xN6SXTFZXnv+fTmcmFU19Fr2sIZMrfirUfH1of8qTn7cObjAe9r189PGt/3FZeFPA8pmfnNL6ZLwnLKtw==
"@abp/datatables.net@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-9.0.0.tgz#82b28518293c9091ec72d5defae2f5d2903d8bbc"
integrity sha512-QhuX3bGZOckM/fhIIGj/StMJIX2BBtNbLzjTR7WnKMMxDkv0+oDvjw6OqqpYKSvj/q3vY6sRWuCNdEzNi0Fk6A==
dependencies:
"@abp/jquery" "~9.0.0-rc.2"
"@abp/jquery" "~9.0.0"
datatables.net "^2.1.8"
"@abp/font-awesome@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-9.0.0-rc.2.tgz#1493057e28b2e1e8a434ff1599e8b4b72b8784d2"
integrity sha512-EsQYx89OBquIxqGLgjAgMpUeAnWW316ruAmmxzGsusVT9KuIL6iuA4j4bdM8/6wJgi6zm2A/bDBjiiDDg2Cyyg==
"@abp/font-awesome@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-9.0.0.tgz#51cce18434a51d050ebb0d822a8c193b7e32f73d"
integrity sha512-bEHRVzOk0V2kFMAvB/YXFYaDKWRFO0+ScO7jrEFtFgdHXBcqy+dk1aM/N69WalyNmjRRpnh03GhH1LRpwL4/xA==
dependencies:
"@abp/core" "~9.0.0-rc.2"
"@abp/core" "~9.0.0"
"@fortawesome/fontawesome-free" "^6.6.0"
"@abp/jquery-form@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-9.0.0-rc.2.tgz#05a9082bc6c42fca3e001d97f77c0aa2e941448b"
integrity sha512-OUuwB/dgryiBG/iZCedwP2+8ot+PCeuAAMuZ1A/VXbNUJAbhiXF24tQM73wIhpAYcSc5egWjJ+VNTJKMKImTqA==
"@abp/jquery-form@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-9.0.0.tgz#6518eb117ee35c6bc57543fd1fccb0a8cf8e22f4"
integrity sha512-6qpfPGHrjADmm7Ne3zcXBGPuLngG8ldAn5fk9k2taftpyX0iR67/nZxiQ0ujaQGgaai5Wb3imNXMG96XLnubkQ==
dependencies:
"@abp/jquery" "~9.0.0-rc.2"
"@abp/jquery" "~9.0.0"
jquery-form "^4.3.0"
"@abp/jquery-validation-unobtrusive@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-9.0.0-rc.2.tgz#d38f053ad3a8509dc683dc3091128eb445579176"
integrity sha512-170ARAIz0NWuQnleB2nWPKYQl3x/Za2yxc0utjxY0rruHflNQPF2cMagLu+eBI6gDkThXNps74HiRPXOPdgc4A==
"@abp/jquery-validation-unobtrusive@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-9.0.0.tgz#8ee87dbdec5e92ab04ae9642a49af1598af31c1a"
integrity sha512-KlRQ1htyFmAIMS9xbHvHIcdhAgtPFe/u7c87MiWlk/CdhDrI3J+n5biLvQUzxCC+YWlwx27zBtPKx2vLeMRH6Q==
dependencies:
"@abp/jquery-validation" "~9.0.0-rc.2"
"@abp/jquery-validation" "~9.0.0"
jquery-validation-unobtrusive "^4.0.0"
"@abp/jquery-validation@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-9.0.0-rc.2.tgz#79c96c7eb48d5bebb3e7e86f8f9e2d6e2e45c5cb"
integrity sha512-6W2LiLgcC4FGTMLsoNkRBJTqDq6YR3ctLKzRfis9kOigkd0QT/PnB/451rrVb7+BCl9luKaA8DDYF671S8klFA==
"@abp/jquery-validation@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-9.0.0.tgz#681d8037c57b3875bd51c927e350ffce65d7c5d2"
integrity sha512-XgCUBFWbhTDcGepD/xkwA/1Hl4TyYitRttauDJk3tuyXhNtykvdugCCOPY4j2s6VoT1Sb/TFFvOcgEvlBwkKiw==
dependencies:
"@abp/jquery" "~9.0.0-rc.2"
"@abp/jquery" "~9.0.0"
jquery-validation "^1.21.0"
"@abp/jquery@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-9.0.0-rc.2.tgz#c8bd299d1b5558a4c3cef26b248d42e9a6303e33"
integrity sha512-GrO0gKdi20jlQ0YjWaddal0X0+5LkMpOAyMB1GdaDetLaaVjcZ+92zx1cApcAdIsCKgB+kyutRQv0b82o/EZPQ==
"@abp/jquery@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-9.0.0.tgz#6c67a9f927be598ab6201f8888e8a3cb8bba0686"
integrity sha512-cUXA7v6F1HqAc/w8fQGxHIfA/6BqO+4uHXDnSsJZtrI26DTLOgw5kBNnAz2W4xggGPCY7SKFHNRZuOW/QfVRPg==
dependencies:
"@abp/core" "~9.0.0-rc.2"
"@abp/core" "~9.0.0"
jquery "~3.7.1"
"@abp/lodash@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-9.0.0-rc.2.tgz#980a0ae2d95c83663f0f52f1b67b5cfb00d04b96"
integrity sha512-uwxv7WJqwRcGkVoB44JR1QJaMbe3RhCQsG6+Wee1Jjdgi2vkpFUCj2arM4Rxz1igntFjY2Z7NiBq+iL9HYIkSw==
"@abp/lodash@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-9.0.0.tgz#a4d42b2dfeb37859ff9f0079c7a8a6cabc982efe"
integrity sha512-xoAsOkkgnQdPH2OyFTgF6OlCLVbyGF4u8CrFcZWCZmuIFT9cg0+ZEiq//Vog1pg3Lf//N37ceGpOag1LwMe6cQ==
dependencies:
"@abp/core" "~9.0.0-rc.2"
"@abp/core" "~9.0.0"
lodash "^4.17.21"
"@abp/luxon@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-9.0.0-rc.2.tgz#1bb0eae53b707371489a4e0edf2869d7acc71da8"
integrity sha512-iWE8sbBWxCbNYSO3TTTzeotGS6kAnIwCKos/96mtaYJ4wzPW9pgF7K94CvwLAAg9NTsx/J/OGdmhhM2cULhv+w==
"@abp/luxon@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-9.0.0.tgz#a54dda13cbbd362481994d20d2e07c669c6ce109"
integrity sha512-aPejQnoVPfm60LnjwhfUkIsB+poNWusrBE0IHllxhvOVE+01nfa1Lvpp5AUWzV+XchPGOCSf+a29ds4EQWfNbg==
dependencies:
"@abp/core" "~9.0.0-rc.2"
"@abp/core" "~9.0.0"
luxon "^3.5.0"
"@abp/malihu-custom-scrollbar-plugin@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-9.0.0-rc.2.tgz#fce5c12be2bdf350b18aae52619309a474995442"
integrity sha512-e3JTnDSkjF9/MPh/nPqcvU8hkUxSMc5U6DnP169GBdVAYQwwnGD24x4QCWU7ch7s65FDJ8/uq7bYOcIAD0B+Dw==
"@abp/malihu-custom-scrollbar-plugin@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-9.0.0.tgz#b8a49202d531c711874a2bcdae5081ae0ed34c3f"
integrity sha512-iSZ9lKMnv5F2SplR+A4blhFEDq79lKbvBQuS7h/Di3KEHFOdJY4pA8NP8OR+PXOF3JfAezGyjqy7ydn/JNPRwA==
dependencies:
"@abp/core" "~9.0.0-rc.2"
"@abp/core" "~9.0.0"
malihu-custom-scrollbar-plugin "^3.1.5"
"@abp/moment@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-9.0.0-rc.2.tgz#2fc0feaaa0a26436cf00a6beccaa64f505aef301"
integrity sha512-yqkgu0bo3ra6HVFdS2wlqwTysciYOJWi/ERFVS2MfUkAKFA0P7mv8Jg5tB4vGY2Km++7r22kCDRlK3KUPmk21g==
"@abp/moment@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-9.0.0.tgz#9583e97472ddf608a9a5a6b8a37fee602b419900"
integrity sha512-wgyJSKmBmHLXZJN3dy3zK4i2JvWGgqnvdtrKURy/raEurxlymv8JF5JA971kTv6Kz2OA/OSYttpVJkDGUpPAhA==
dependencies:
moment "^2.30.1"
"@abp/select2@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-9.0.0-rc.2.tgz#53806118fdfe9f9228e26c6867ce0e75e6572b81"
integrity sha512-arKdcs95+4zp5764iOz09aJ3C1F2SsBIzekpjpJwMBdLRfoleZZFm12itO8I4Jjb1R+2CkW6MXjLR5xL2aE0PQ==
"@abp/select2@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-9.0.0.tgz#71503eebb746f40a0e565dba1efa05d6ae937b77"
integrity sha512-l+Hz2Qmc7AcyaTJOyuDaV99RbBWYxYxbeyVEc4xKbRFbJxYBUxT/DFlyozEaoz+OU1fl4szO3UCthJ2yZvxCdg==
dependencies:
"@abp/core" "~9.0.0-rc.2"
"@abp/core" "~9.0.0"
select2 "^4.0.13"
"@abp/sweetalert2@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-9.0.0-rc.2.tgz#60b25d65b3e5eb53e18ba5b1f3663783562d2506"
integrity sha512-VJslD1AMDZJhOEko79UYIxIYeAmr1YUwJu8XNAurBGPa9sWGI+jPY/dYg3uptg8GEJHsFtog84m3nUQ/prRUcw==
"@abp/sweetalert2@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-9.0.0.tgz#71e511117c18b515e5c658e9cc0667770af65d91"
integrity sha512-wxDqoA6RUhkbcN27Kzslu/m2ai5T9AkJRtgs7pV55LvPv1ohuCPEUeTVVh8S/5Pgmr7aPFAPxaaCO32aPcImPw==
dependencies:
"@abp/core" "~9.0.0-rc.2"
"@abp/core" "~9.0.0"
sweetalert2 "^11.14.1"
"@abp/timeago@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-9.0.0-rc.2.tgz#72a7da1eda19beb34c352f3f43d2f5181b0b926a"
integrity sha512-zRj+TssaDXW2OM4mNn47G1tRg4BZ2sqbEiiUIQrU9hHMHmxOf8bAJhqsouGDDZF3xetcwKhmLN08VWK1sqqpQA==
"@abp/timeago@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-9.0.0.tgz#8f262ba2a74e1c133d0c129f8a0bc55c29441e1a"
integrity sha512-eaNdIUEtDXnuYqS5O7EGRV+j6XOLAsxz7gd5BIKR9lDujd8pEjSJkXKO+/0KxLTkUSy3JudIO37K1h2wTpbYZA==
dependencies:
"@abp/jquery" "~9.0.0-rc.2"
"@abp/jquery" "~9.0.0"
timeago "^1.6.7"
"@abp/toastr@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-9.0.0-rc.2.tgz#ddbf0b6362941f62c07c9820af59dcd6912331d0"
integrity sha512-l4z6z3Oc/JF4XJplqGETQtBkqzjbpobcfzEHeH6LjUeunLMEVQOtjhPUBLrhg4ZM0i9k46hmxsoOkWXu7tClyQ==
"@abp/toastr@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-9.0.0.tgz#74d74ecb3e7f2d63b2ff7735c89a40deb3dc3a13"
integrity sha512-n9uJvw8l2HoxeowPO4diEMxwchGh6puefhyRljFAAstzK77Mhn0u2J7kPynNv94rLSYTYoCxUeJ4TTN+/TVDGQ==
dependencies:
"@abp/jquery" "~9.0.0-rc.2"
"@abp/jquery" "~9.0.0"
toastr "^2.1.4"
"@abp/utils@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-9.0.0-rc.2.tgz#e644889f1c1c4828b509aea9ae3ae48439a5b89d"
integrity sha512-eIL3syPE0LzPyeHV5+pgRxw3/H2YTmK2U9VEOUu26ExiCMIt5Waf8T92BjaH9sLrMD5P9ZAT2jWaxh+VTsEtKA==
"@abp/utils@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-9.0.0.tgz#2264fd83105b061860edd98dbe0efdfe55803ed5"
integrity sha512-/SB4VYk3Av+ltXv6ovkFHG4iWiECLLitaYWcEHxVAO80ufNjrNnWpHFpXHP8u/RpXIp/CoNiHLr6j5TkZUTZjw==
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": "~9.0.0-rc.2",
"@abp/cms-kit": "9.0.0-rc.2"
"@abp/aspnetcore.mvc.ui.theme.basic": "~9.0.0",
"@abp/cms-kit": "9.0.0"
}
}

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

@ -2,302 +2,302 @@
# yarn lockfile v1
"@abp/aspnetcore.mvc.ui.theme.basic@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-9.0.0-rc.2.tgz#db73b3121cbd02207842f0388999298df49392ac"
integrity sha512-vzUPdL1UJ+aXKcei0rCpm3VYX9twhmomd+HqfzcL65TtrXgIK8jCv4Wn0rRFfSGtUfM8OetIVVkmggIZusGTZQ==
dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~9.0.0-rc.2"
"@abp/aspnetcore.mvc.ui.theme.shared@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-9.0.0-rc.2.tgz#acaeaa5e0b329e5d836a198f7a3563d141d7fc79"
integrity sha512-hs8AoZwOnrMYmFl7/GQc6EUr5Jz5lTXWgSmp0l/DdH7f3INYEgCrIp5qvLFyNu8CHv6Gbegw2vGdpfDQbkiasw==
dependencies:
"@abp/aspnetcore.mvc.ui" "~9.0.0-rc.2"
"@abp/bootstrap" "~9.0.0-rc.2"
"@abp/bootstrap-datepicker" "~9.0.0-rc.2"
"@abp/bootstrap-daterangepicker" "~9.0.0-rc.2"
"@abp/datatables.net-bs5" "~9.0.0-rc.2"
"@abp/font-awesome" "~9.0.0-rc.2"
"@abp/jquery-form" "~9.0.0-rc.2"
"@abp/jquery-validation-unobtrusive" "~9.0.0-rc.2"
"@abp/lodash" "~9.0.0-rc.2"
"@abp/luxon" "~9.0.0-rc.2"
"@abp/malihu-custom-scrollbar-plugin" "~9.0.0-rc.2"
"@abp/moment" "~9.0.0-rc.2"
"@abp/select2" "~9.0.0-rc.2"
"@abp/sweetalert2" "~9.0.0-rc.2"
"@abp/timeago" "~9.0.0-rc.2"
"@abp/toastr" "~9.0.0-rc.2"
"@abp/aspnetcore.mvc.ui@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-9.0.0-rc.2.tgz#5fc82ab4872b955cf46d755e99c656e0420a3c64"
integrity sha512-gGfHAsznxFIqTk6OFuRzcJ8D65VWmHkRqQjzmd97GZ1lNXRGDNGtYXbC/L1bA88O+qAXzhQ/c47h6in9cGh38w==
"@abp/aspnetcore.mvc.ui.theme.basic@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-9.0.0.tgz#e4b05d63446c24b612275e3949881e176d32527f"
integrity sha512-GHEt26xESe/TCg1q6ZjeUbxniqdxaiB1OPTZ9md7ONql6bEp8t9iUPeSlkyAZtQ7qBzwgkiLpkRFT+J21DftaQ==
dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~9.0.0"
"@abp/aspnetcore.mvc.ui.theme.shared@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-9.0.0.tgz#a77b4b70fa6217146afd6a57211f57e2360564f2"
integrity sha512-QmZrSp+rfqfnC9W4QZ+nNdAq0rOALzRn1rsDpGDHhIHwyXB03QPdjzIWaEvldUYHzqg84cEP0LcqW4y57Xr1iw==
dependencies:
"@abp/aspnetcore.mvc.ui" "~9.0.0"
"@abp/bootstrap" "~9.0.0"
"@abp/bootstrap-datepicker" "~9.0.0"
"@abp/bootstrap-daterangepicker" "~9.0.0"
"@abp/datatables.net-bs5" "~9.0.0"
"@abp/font-awesome" "~9.0.0"
"@abp/jquery-form" "~9.0.0"
"@abp/jquery-validation-unobtrusive" "~9.0.0"
"@abp/lodash" "~9.0.0"
"@abp/luxon" "~9.0.0"
"@abp/malihu-custom-scrollbar-plugin" "~9.0.0"
"@abp/moment" "~9.0.0"
"@abp/select2" "~9.0.0"
"@abp/sweetalert2" "~9.0.0"
"@abp/timeago" "~9.0.0"
"@abp/toastr" "~9.0.0"
"@abp/aspnetcore.mvc.ui@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-9.0.0.tgz#93004dd056c130386c7b40c458f3a793d8c9e051"
integrity sha512-pvO5bh9baFcSbfW0s7tpMpbe6DKSC16jeyeluZLlvYxC0n2gkrv7H/hB5aMuBKIlh89aGY9DQIcMFC8iczL3Bg==
dependencies:
ansi-colors "^4.1.3"
"@abp/bootstrap-datepicker@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-9.0.0-rc.2.tgz#884343a8c0b881e6612cbbbf1fb9af0f40cbc223"
integrity sha512-JqPKn0xFyqoA4smY3gtUE/HcbG5QmLtFpZNG/zMnDq2JEtJt13xee9FguYXrlMOrM9PqAwnq2Wrc8s71ROh8Zg==
"@abp/bootstrap-datepicker@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-9.0.0.tgz#d6609e50568aac6a013abfcaa07817998e1eaa99"
integrity sha512-wxAeVsOVOJpidDn0g3FlJvpOsn5SVY5IpEG+FtUxSAKuWYJQWF6g5CaghrfS+FNDK9IHhxrgSMPMVBK9YlDSzw==
dependencies:
bootstrap-datepicker "^1.10.0"
"@abp/bootstrap-daterangepicker@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-9.0.0-rc.2.tgz#bc0e134e36da111aaa25f7d4d3e90d394c873b50"
integrity sha512-5KChSBquD7pQNiI3TgJSYHw549Pxuom8TAg+44edjEKRvR7KUR8IkfdImlZYHPeLmoUTnnWXiFKOIxOi9OjLoA==
"@abp/bootstrap-daterangepicker@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-9.0.0.tgz#fc2871e7d886accd8e4748cb763b695e10701c00"
integrity sha512-qS6SQR6X7wMCVLcuXatJ2+m1GNlpN71p7VDritxfwAMHa7WBRAAi8apX2WItwBAuLQ2s1uSA0Wp1KstHG3VPLA==
dependencies:
bootstrap-daterangepicker "^3.1.0"
"@abp/bootstrap@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-9.0.0-rc.2.tgz#cf0b2567f44030d5d0620ca36d9d25999cd25e0e"
integrity sha512-Fkagr1fTyeKDtsvn7TKJKRkWNaYd6ZmE1IhLffwLwDpyt26JBYK3XqGXT+eHFXXpSxrgANERVogSN5E46IU1OQ==
"@abp/bootstrap@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-9.0.0.tgz#5ab292e95ba7eef129cbaa1dc5f5d5c0af8530d7"
integrity sha512-jEr6su8BfoNxYvze/UlddE3DlezyPvQeiNhff8SDPqtRQ6XvjZ48O/JwtY01hK2njEDLOZINY5zJRGmO2OiOUw==
dependencies:
"@abp/core" "~9.0.0-rc.2"
"@abp/core" "~9.0.0"
bootstrap "^5.3.3"
"@abp/clipboard@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-9.0.0-rc.2.tgz#dfa4df015beba83f7c44d749a24987a74a419b59"
integrity sha512-xuhFygNc4c67QkVMqsArQ4qGRJX+qKwSx4LQIaASaZq91ACtU2r5iTjCDb/YFcUVxXXufNLvuFgARGJp5vvvxA==
"@abp/clipboard@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-9.0.0.tgz#21ae924dfef6ccf3c8a3913bb81caf22b57404e4"
integrity sha512-W6S7pihpQ6Wfj48Clk7hYgDvUtnRwkNIsk5t8s9+LxoAdJQGQFxh7SAW1QNavUv8QqsClNE1VtSU87c7rSoAbA==
dependencies:
"@abp/core" "~9.0.0-rc.2"
"@abp/core" "~9.0.0"
clipboard "^2.0.11"
"@abp/cms-kit.admin@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/cms-kit.admin/-/cms-kit.admin-9.0.0-rc.2.tgz#6300fb61805c70aa0c5071a4d88db3fa0833ff9d"
integrity sha512-dqDlRU306GqE8F92A7Aj+5ONzSralXXdnlQVutpp95NE629S1I2LvndC8ehCkbqSBkDPT3sWIKirstInFiRpKw==
"@abp/cms-kit.admin@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/cms-kit.admin/-/cms-kit.admin-9.0.0.tgz#584337c9d751c9eae26be8f276683b5c3c23a499"
integrity sha512-SYixIuy7McA9UhaKmun8IG0QBmegvk8KBrE/6Uvo1Cmd6Z/oT9SS+i/f09+7UVtU+7x5kkL+9sIs/7sS79cY0g==
dependencies:
"@abp/codemirror" "~9.0.0-rc.2"
"@abp/jstree" "~9.0.0-rc.2"
"@abp/markdown-it" "~9.0.0-rc.2"
"@abp/slugify" "~9.0.0-rc.2"
"@abp/tui-editor" "~9.0.0-rc.2"
"@abp/uppy" "~9.0.0-rc.2"
"@abp/codemirror" "~9.0.0"
"@abp/jstree" "~9.0.0"
"@abp/markdown-it" "~9.0.0"
"@abp/slugify" "~9.0.0"
"@abp/tui-editor" "~9.0.0"
"@abp/uppy" "~9.0.0"
"@abp/cms-kit.public@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/cms-kit.public/-/cms-kit.public-9.0.0-rc.2.tgz#3dc5d16dc9e329e8043e961e851167e1f8cae5ef"
integrity sha512-5dQr6SKY5v4fZ9l8eTZBwWcRbj8+1EA1MoamUaRHcoCDcDb+JnCfqUjDFCT4Tj+W4LxypmtSmeHrfSeYIJBEyg==
"@abp/cms-kit.public@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/cms-kit.public/-/cms-kit.public-9.0.0.tgz#bdc8f60bc5b1ffa640baced8c5562f93f7e8b754"
integrity sha512-s141fUfN9rcRdT4KKjR7PthITnFSx6RXrxPaXiOfNXPdnVQmgKRg7HhO92KJQKO+CeYbiMNO3Fpt9MSffvkEJQ==
dependencies:
"@abp/highlight.js" "~9.0.0-rc.2"
"@abp/star-rating-svg" "~9.0.0-rc.2"
"@abp/highlight.js" "~9.0.0"
"@abp/star-rating-svg" "~9.0.0"
"@abp/cms-kit@9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/cms-kit/-/cms-kit-9.0.0-rc.2.tgz#afbc3e4d5616b5190b7c96cd87f326a1c4dca982"
integrity sha512-Au3LPZ64XKt22r63oQ1Z7DAanr3cdl5wdUpMLodJgw/n1ESH4Mi5gIKKH6InTo7ZjpVmQNdgqXA+/jw+SKTUdQ==
"@abp/cms-kit@9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/cms-kit/-/cms-kit-9.0.0.tgz#19364cf6ccfbf6ec927c21ce302a85dfe4215f1b"
integrity sha512-ZjakEuhKvDh1r3tVnDUxkQWj+9TJuqaFEI2vEiHysB81rM5mqKaOtATfhtC75CN5LDqiKCAzDs+6ty4YmTe1PQ==
dependencies:
"@abp/cms-kit.admin" "~9.0.0-rc.2"
"@abp/cms-kit.public" "~9.0.0-rc.2"
"@abp/cms-kit.admin" "~9.0.0"
"@abp/cms-kit.public" "~9.0.0"
"@abp/codemirror@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/codemirror/-/codemirror-9.0.0-rc.2.tgz#63f6b271ac00faf7166b4cd9807b19c854b67756"
integrity sha512-V7LWwhtphp7UEfS6ivR7Ksi7W4Va30ecA5jTS4PGRLRb2R8GOEBvdIOBH6BqhqoQh3AKVtMiqr+IsinQZcBhrQ==
"@abp/codemirror@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/codemirror/-/codemirror-9.0.0.tgz#d398edce6ececdaf1f62e216f98a91b26fb595bd"
integrity sha512-tXcdoXjpco8VnjE/on4ax9USfz3lu03Y+TehAt1tbVQRBdhkGL+qFB/MrewRKUNM8TjSewuT7D4RxpmThABpNw==
dependencies:
"@abp/core" "~9.0.0-rc.2"
"@abp/core" "~9.0.0"
codemirror "^5.65.1"
"@abp/core@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-9.0.0-rc.2.tgz#f0344669a745581b1032de396b1165f4cb3ea834"
integrity sha512-rmlWc6ydzRWVvQpkqSGEXcmYx1WJvxLajC7Ts6epbmmyklrx+tA5uQqCiSlsJWfIyaejLOjDka319arukaMb/Q==
"@abp/core@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-9.0.0.tgz#dc5ea9139957e307f73ac1f40b179f991e3c2168"
integrity sha512-vzQyTpqVDx63pOI9e2QLUMWZCrSojHsRnzLlvl+/cKFi7jE1q/uSP66FPR2bwkD+DNLI/tn6is1Jx3skKA1FvA==
dependencies:
"@abp/utils" "~9.0.0-rc.2"
"@abp/utils" "~9.0.0"
"@abp/datatables.net-bs5@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-9.0.0-rc.2.tgz#7f01e5e74530cd9bb13545917f00a5c38163745a"
integrity sha512-snZi/kAtkH4p1t1cUIKU5DRDz+U2CUHk7JAZE+g9bClMvmDTh4Kta5JmTW3g++JSh+C0LQzYXRPXnV7TgUcBgw==
"@abp/datatables.net-bs5@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-9.0.0.tgz#4daee90bdb6446e854ce65f2a3afabb2a13e49ae"
integrity sha512-ln10tcRwxcB0nuSgqJ/66strHsqMHDC03c0ktxEplAN34yP7KInjFf/U9Svo74K0nKlkJdMCgmqmT4CnBJZlIg==
dependencies:
"@abp/datatables.net" "~9.0.0-rc.2"
"@abp/datatables.net" "~9.0.0"
datatables.net-bs5 "^2.1.8"
"@abp/datatables.net@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-9.0.0-rc.2.tgz#cf5a5df0c6735080f2ba1f1746f4eb8d05d02c5b"
integrity sha512-hdJH5xN6SXTFZXnv+fTmcmFU19Fr2sIZMrfirUfH1of8qTn7cObjAe9r189PGt/3FZeFPA8pmfnNL6ZLwnLKtw==
"@abp/datatables.net@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-9.0.0.tgz#82b28518293c9091ec72d5defae2f5d2903d8bbc"
integrity sha512-QhuX3bGZOckM/fhIIGj/StMJIX2BBtNbLzjTR7WnKMMxDkv0+oDvjw6OqqpYKSvj/q3vY6sRWuCNdEzNi0Fk6A==
dependencies:
"@abp/jquery" "~9.0.0-rc.2"
"@abp/jquery" "~9.0.0"
datatables.net "^2.1.8"
"@abp/font-awesome@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-9.0.0-rc.2.tgz#1493057e28b2e1e8a434ff1599e8b4b72b8784d2"
integrity sha512-EsQYx89OBquIxqGLgjAgMpUeAnWW316ruAmmxzGsusVT9KuIL6iuA4j4bdM8/6wJgi6zm2A/bDBjiiDDg2Cyyg==
"@abp/font-awesome@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-9.0.0.tgz#51cce18434a51d050ebb0d822a8c193b7e32f73d"
integrity sha512-bEHRVzOk0V2kFMAvB/YXFYaDKWRFO0+ScO7jrEFtFgdHXBcqy+dk1aM/N69WalyNmjRRpnh03GhH1LRpwL4/xA==
dependencies:
"@abp/core" "~9.0.0-rc.2"
"@abp/core" "~9.0.0"
"@fortawesome/fontawesome-free" "^6.6.0"
"@abp/highlight.js@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/highlight.js/-/highlight.js-9.0.0-rc.2.tgz#c511f5cd29eef7089d491646ffe31797d4543be9"
integrity sha512-04XWQnuN2ri2Rlkauy7h3444RofCra4B/6GjN53YM3ekZ50Xhe3QsfMhkCzLn0Izgypa3FkNkFq86JvUbyH3Uw==
"@abp/highlight.js@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/highlight.js/-/highlight.js-9.0.0.tgz#6d924c9bb3d6b11dcd66a9a71aea873c9866ed6c"
integrity sha512-eGvgMUNYKW2B2h3QcpMRniaoQ1/9RJBXkn2VsyM8lVSfrfbOg26mMyw7J2BXvuEnXqtnVdFEG45cSFlAnTAVXQ==
dependencies:
"@abp/core" "~9.0.0-rc.2"
"@abp/core" "~9.0.0"
"@highlightjs/cdn-assets" "~11.10.0"
"@abp/jquery-form@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-9.0.0-rc.2.tgz#05a9082bc6c42fca3e001d97f77c0aa2e941448b"
integrity sha512-OUuwB/dgryiBG/iZCedwP2+8ot+PCeuAAMuZ1A/VXbNUJAbhiXF24tQM73wIhpAYcSc5egWjJ+VNTJKMKImTqA==
"@abp/jquery-form@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-9.0.0.tgz#6518eb117ee35c6bc57543fd1fccb0a8cf8e22f4"
integrity sha512-6qpfPGHrjADmm7Ne3zcXBGPuLngG8ldAn5fk9k2taftpyX0iR67/nZxiQ0ujaQGgaai5Wb3imNXMG96XLnubkQ==
dependencies:
"@abp/jquery" "~9.0.0-rc.2"
"@abp/jquery" "~9.0.0"
jquery-form "^4.3.0"
"@abp/jquery-validation-unobtrusive@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-9.0.0-rc.2.tgz#d38f053ad3a8509dc683dc3091128eb445579176"
integrity sha512-170ARAIz0NWuQnleB2nWPKYQl3x/Za2yxc0utjxY0rruHflNQPF2cMagLu+eBI6gDkThXNps74HiRPXOPdgc4A==
"@abp/jquery-validation-unobtrusive@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-9.0.0.tgz#8ee87dbdec5e92ab04ae9642a49af1598af31c1a"
integrity sha512-KlRQ1htyFmAIMS9xbHvHIcdhAgtPFe/u7c87MiWlk/CdhDrI3J+n5biLvQUzxCC+YWlwx27zBtPKx2vLeMRH6Q==
dependencies:
"@abp/jquery-validation" "~9.0.0-rc.2"
"@abp/jquery-validation" "~9.0.0"
jquery-validation-unobtrusive "^4.0.0"
"@abp/jquery-validation@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-9.0.0-rc.2.tgz#79c96c7eb48d5bebb3e7e86f8f9e2d6e2e45c5cb"
integrity sha512-6W2LiLgcC4FGTMLsoNkRBJTqDq6YR3ctLKzRfis9kOigkd0QT/PnB/451rrVb7+BCl9luKaA8DDYF671S8klFA==
"@abp/jquery-validation@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-9.0.0.tgz#681d8037c57b3875bd51c927e350ffce65d7c5d2"
integrity sha512-XgCUBFWbhTDcGepD/xkwA/1Hl4TyYitRttauDJk3tuyXhNtykvdugCCOPY4j2s6VoT1Sb/TFFvOcgEvlBwkKiw==
dependencies:
"@abp/jquery" "~9.0.0-rc.2"
"@abp/jquery" "~9.0.0"
jquery-validation "^1.21.0"
"@abp/jquery@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-9.0.0-rc.2.tgz#c8bd299d1b5558a4c3cef26b248d42e9a6303e33"
integrity sha512-GrO0gKdi20jlQ0YjWaddal0X0+5LkMpOAyMB1GdaDetLaaVjcZ+92zx1cApcAdIsCKgB+kyutRQv0b82o/EZPQ==
"@abp/jquery@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-9.0.0.tgz#6c67a9f927be598ab6201f8888e8a3cb8bba0686"
integrity sha512-cUXA7v6F1HqAc/w8fQGxHIfA/6BqO+4uHXDnSsJZtrI26DTLOgw5kBNnAz2W4xggGPCY7SKFHNRZuOW/QfVRPg==
dependencies:
"@abp/core" "~9.0.0-rc.2"
"@abp/core" "~9.0.0"
jquery "~3.7.1"
"@abp/jstree@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/jstree/-/jstree-9.0.0-rc.2.tgz#7c0d59df045d5d9ab05ffcd54f3ec6e8928afc16"
integrity sha512-ixr6iNvCSFCPaFn/GwCwaHyEwZGJO9xYU7XXRDRa+SbN+lZggbRY7ttkIzv4aAfzMUtA9aCrN9HttJFwc21RSA==
"@abp/jstree@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/jstree/-/jstree-9.0.0.tgz#08190074df54e45fe414b7a349c25d6b1f1058a1"
integrity sha512-ZbXPazP2Yy/qDMw/b4U8Hz1ZxbxQej/PAREaAawd2R2GJoGi10U8iTt5WKJJQP8Fm42kFgQa/8EtVcckwIo4FA==
dependencies:
"@abp/jquery" "~9.0.0-rc.2"
"@abp/jquery" "~9.0.0"
jstree "^3.3.17"
"@abp/lodash@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-9.0.0-rc.2.tgz#980a0ae2d95c83663f0f52f1b67b5cfb00d04b96"
integrity sha512-uwxv7WJqwRcGkVoB44JR1QJaMbe3RhCQsG6+Wee1Jjdgi2vkpFUCj2arM4Rxz1igntFjY2Z7NiBq+iL9HYIkSw==
"@abp/lodash@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-9.0.0.tgz#a4d42b2dfeb37859ff9f0079c7a8a6cabc982efe"
integrity sha512-xoAsOkkgnQdPH2OyFTgF6OlCLVbyGF4u8CrFcZWCZmuIFT9cg0+ZEiq//Vog1pg3Lf//N37ceGpOag1LwMe6cQ==
dependencies:
"@abp/core" "~9.0.0-rc.2"
"@abp/core" "~9.0.0"
lodash "^4.17.21"
"@abp/luxon@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-9.0.0-rc.2.tgz#1bb0eae53b707371489a4e0edf2869d7acc71da8"
integrity sha512-iWE8sbBWxCbNYSO3TTTzeotGS6kAnIwCKos/96mtaYJ4wzPW9pgF7K94CvwLAAg9NTsx/J/OGdmhhM2cULhv+w==
"@abp/luxon@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-9.0.0.tgz#a54dda13cbbd362481994d20d2e07c669c6ce109"
integrity sha512-aPejQnoVPfm60LnjwhfUkIsB+poNWusrBE0IHllxhvOVE+01nfa1Lvpp5AUWzV+XchPGOCSf+a29ds4EQWfNbg==
dependencies:
"@abp/core" "~9.0.0-rc.2"
"@abp/core" "~9.0.0"
luxon "^3.5.0"
"@abp/malihu-custom-scrollbar-plugin@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-9.0.0-rc.2.tgz#fce5c12be2bdf350b18aae52619309a474995442"
integrity sha512-e3JTnDSkjF9/MPh/nPqcvU8hkUxSMc5U6DnP169GBdVAYQwwnGD24x4QCWU7ch7s65FDJ8/uq7bYOcIAD0B+Dw==
"@abp/malihu-custom-scrollbar-plugin@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-9.0.0.tgz#b8a49202d531c711874a2bcdae5081ae0ed34c3f"
integrity sha512-iSZ9lKMnv5F2SplR+A4blhFEDq79lKbvBQuS7h/Di3KEHFOdJY4pA8NP8OR+PXOF3JfAezGyjqy7ydn/JNPRwA==
dependencies:
"@abp/core" "~9.0.0-rc.2"
"@abp/core" "~9.0.0"
malihu-custom-scrollbar-plugin "^3.1.5"
"@abp/markdown-it@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/markdown-it/-/markdown-it-9.0.0-rc.2.tgz#94733e069533dc68140b905fd213dc3e1ec67561"
integrity sha512-WwY6EWX7aB4zaf0lB16Eo0KA+cJ0jyJy5U7Irp/rg8PasSXC2peq5BOmjFY0dnXFcFzsKlaY8dMiPB2ZW50wnA==
"@abp/markdown-it@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/markdown-it/-/markdown-it-9.0.0.tgz#f61e74e7f9205f3015074896cf184f90b8a11a1c"
integrity sha512-frjJ539DiM4H0nHwnt77T1ryoazJhy9836L7HEFiYsfXJHs92VohUr/K27899I3gRdA6h0tbLYumFK3ug83qiw==
dependencies:
"@abp/core" "~9.0.0-rc.2"
"@abp/core" "~9.0.0"
markdown-it "^14.1.0"
"@abp/moment@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-9.0.0-rc.2.tgz#2fc0feaaa0a26436cf00a6beccaa64f505aef301"
integrity sha512-yqkgu0bo3ra6HVFdS2wlqwTysciYOJWi/ERFVS2MfUkAKFA0P7mv8Jg5tB4vGY2Km++7r22kCDRlK3KUPmk21g==
"@abp/moment@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-9.0.0.tgz#9583e97472ddf608a9a5a6b8a37fee602b419900"
integrity sha512-wgyJSKmBmHLXZJN3dy3zK4i2JvWGgqnvdtrKURy/raEurxlymv8JF5JA971kTv6Kz2OA/OSYttpVJkDGUpPAhA==
dependencies:
moment "^2.30.1"
"@abp/prismjs@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-9.0.0-rc.2.tgz#2de7bc2882fee46d3d7e2da1fb66bca6b06cc4dd"
integrity sha512-rQ4dVGk+lEHFFSIBsJPqijeh4k3UgoDMZL1rns2a6NR+QnR0J2Slx3Awt8SH+inQFH2JiLHVo9q4bG+81vCsag==
"@abp/prismjs@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-9.0.0.tgz#2ac4a5ddc0c8e0462af027a4dd97a177a3d6f7a5"
integrity sha512-+evmBq5qV+Ix/TNqO2ljJn0jygW2rEgKNtABcBGmrZC8xiI7+2hjKmSE0e43qb+RDib8aJjwH8ya8wF7p68ZFw==
dependencies:
"@abp/clipboard" "~9.0.0-rc.2"
"@abp/core" "~9.0.0-rc.2"
"@abp/clipboard" "~9.0.0"
"@abp/core" "~9.0.0"
prismjs "^1.29.0"
"@abp/select2@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-9.0.0-rc.2.tgz#53806118fdfe9f9228e26c6867ce0e75e6572b81"
integrity sha512-arKdcs95+4zp5764iOz09aJ3C1F2SsBIzekpjpJwMBdLRfoleZZFm12itO8I4Jjb1R+2CkW6MXjLR5xL2aE0PQ==
"@abp/select2@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-9.0.0.tgz#71503eebb746f40a0e565dba1efa05d6ae937b77"
integrity sha512-l+Hz2Qmc7AcyaTJOyuDaV99RbBWYxYxbeyVEc4xKbRFbJxYBUxT/DFlyozEaoz+OU1fl4szO3UCthJ2yZvxCdg==
dependencies:
"@abp/core" "~9.0.0-rc.2"
"@abp/core" "~9.0.0"
select2 "^4.0.13"
"@abp/slugify@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/slugify/-/slugify-9.0.0-rc.2.tgz#6c613531fd0f956ba586c3fc3f97cb954060d06b"
integrity sha512-mch+VFoNLpgVK2JrWc96PHxXNX28plVWJDIy+hPlOwR9VVkKr8NgtYe+MrwCCOws/GI0WqlwqoAMZ4bdhEohqw==
"@abp/slugify@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/slugify/-/slugify-9.0.0.tgz#4bf4cade338697b68502cc73ac830d8dab10bbb8"
integrity sha512-tjHsQndDNDsQYubzQY8d+I/o1pQx4ehaSIw6xt0WyozogRegrxQ9QJUxOEQYtfNAgap0GipnxxvZSRBJINB4Cg==
dependencies:
slugify "^1.6.6"
"@abp/star-rating-svg@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/star-rating-svg/-/star-rating-svg-9.0.0-rc.2.tgz#293404430bff89d2f03b8dade8115e67ea9cab92"
integrity sha512-dpIixk5e7HaKv5G5nC7k6u1ML/eH+BXkBd4M2LOD9jKaMk/YcvHQyzz0YWcF44C29kcDEwc+/xPq2zPtWG0FvQ==
"@abp/star-rating-svg@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/star-rating-svg/-/star-rating-svg-9.0.0.tgz#1e0d2ca6e589d3f7b63e6cfe6f7ad6c723f86a81"
integrity sha512-OZtWoFG2n5KdnSYeMH4SMYaeET3ISmyREBy5rNVM4peacNejyEHrPadzHDMWcGFMjqveTn/jmN19Jyn9+HG0Vw==
dependencies:
"@abp/jquery" "~9.0.0-rc.2"
"@abp/jquery" "~9.0.0"
star-rating-svg "^3.5.0"
"@abp/sweetalert2@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-9.0.0-rc.2.tgz#60b25d65b3e5eb53e18ba5b1f3663783562d2506"
integrity sha512-VJslD1AMDZJhOEko79UYIxIYeAmr1YUwJu8XNAurBGPa9sWGI+jPY/dYg3uptg8GEJHsFtog84m3nUQ/prRUcw==
"@abp/sweetalert2@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-9.0.0.tgz#71e511117c18b515e5c658e9cc0667770af65d91"
integrity sha512-wxDqoA6RUhkbcN27Kzslu/m2ai5T9AkJRtgs7pV55LvPv1ohuCPEUeTVVh8S/5Pgmr7aPFAPxaaCO32aPcImPw==
dependencies:
"@abp/core" "~9.0.0-rc.2"
"@abp/core" "~9.0.0"
sweetalert2 "^11.14.1"
"@abp/timeago@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-9.0.0-rc.2.tgz#72a7da1eda19beb34c352f3f43d2f5181b0b926a"
integrity sha512-zRj+TssaDXW2OM4mNn47G1tRg4BZ2sqbEiiUIQrU9hHMHmxOf8bAJhqsouGDDZF3xetcwKhmLN08VWK1sqqpQA==
"@abp/timeago@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-9.0.0.tgz#8f262ba2a74e1c133d0c129f8a0bc55c29441e1a"
integrity sha512-eaNdIUEtDXnuYqS5O7EGRV+j6XOLAsxz7gd5BIKR9lDujd8pEjSJkXKO+/0KxLTkUSy3JudIO37K1h2wTpbYZA==
dependencies:
"@abp/jquery" "~9.0.0-rc.2"
"@abp/jquery" "~9.0.0"
timeago "^1.6.7"
"@abp/toastr@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-9.0.0-rc.2.tgz#ddbf0b6362941f62c07c9820af59dcd6912331d0"
integrity sha512-l4z6z3Oc/JF4XJplqGETQtBkqzjbpobcfzEHeH6LjUeunLMEVQOtjhPUBLrhg4ZM0i9k46hmxsoOkWXu7tClyQ==
"@abp/toastr@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-9.0.0.tgz#74d74ecb3e7f2d63b2ff7735c89a40deb3dc3a13"
integrity sha512-n9uJvw8l2HoxeowPO4diEMxwchGh6puefhyRljFAAstzK77Mhn0u2J7kPynNv94rLSYTYoCxUeJ4TTN+/TVDGQ==
dependencies:
"@abp/jquery" "~9.0.0-rc.2"
"@abp/jquery" "~9.0.0"
toastr "^2.1.4"
"@abp/tui-editor@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/tui-editor/-/tui-editor-9.0.0-rc.2.tgz#abe8e13566b337be023881627d4bd0dd574ed89f"
integrity sha512-Skw3/+Rda6iIyygtlLeam2J0cAH27WNN3bKVavRK4NLvq3mp2qdiV2eHgfVcZDLyc1X2UbrrzkqD9BQ288S+ag==
"@abp/tui-editor@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/tui-editor/-/tui-editor-9.0.0.tgz#d9f7721c3d8e361d901a0e0e11e786b2e12b234a"
integrity sha512-TVadK2Yi3wlwyvEVshh1PxkNRppYmqaPB6QE1cOhrWZAFbP1fh1oFvfqQiHN3o+9RGHFcEnhEK3D+49aHuDh3Q==
dependencies:
"@abp/jquery" "~9.0.0-rc.2"
"@abp/prismjs" "~9.0.0-rc.2"
"@abp/jquery" "~9.0.0"
"@abp/prismjs" "~9.0.0"
"@abp/uppy@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/uppy/-/uppy-9.0.0-rc.2.tgz#bede50f95533f34c5ec17ec792a41a14fdcae9d2"
integrity sha512-dPdbVz+xMdFI/fAKtf3lX6sMXZi6U7IbifP0UI1slvMnGHtiKrnwWW64OnNCWpkWPUUBqz1HwASTRTyf4AzVJA==
"@abp/uppy@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/uppy/-/uppy-9.0.0.tgz#4def1e889093a4299f1c2445a87793cb3da2d4d7"
integrity sha512-Y9IbGu/t3rJefF7FSrsiHs9V+C/lAMtolivPwKhnOzxmUtoxbyc0O2W2uExZEihevbnk3PWe7dkFY5mZ30i6BA==
dependencies:
"@abp/core" "~9.0.0-rc.2"
"@abp/core" "~9.0.0"
uppy "^4.4.1"
"@abp/utils@~9.0.0-rc.2":
version "9.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-9.0.0-rc.2.tgz#e644889f1c1c4828b509aea9ae3ae48439a5b89d"
integrity sha512-eIL3syPE0LzPyeHV5+pgRxw3/H2YTmK2U9VEOUu26ExiCMIt5Waf8T92BjaH9sLrMD5P9ZAT2jWaxh+VTsEtKA==
"@abp/utils@~9.0.0":
version "9.0.0"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-9.0.0.tgz#2264fd83105b061860edd98dbe0efdfe55803ed5"
integrity sha512-/SB4VYk3Av+ltXv6ovkFHG4iWiECLLitaYWcEHxVAO80ufNjrNnWpHFpXHP8u/RpXIp/CoNiHLr6j5TkZUTZjw==
dependencies:
just-compare "^2.3.0"

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

@ -11,4 +11,6 @@ public class BlogDto : ExtensibleEntityDto<Guid>, IHasConcurrencyStamp
public string Slug { get; set; }
public string ConcurrencyStamp { get; set; }
public int BlogPostCount { get; set; }
}

5
modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Blogs/IBlogAdminAppService.cs

@ -1,8 +1,13 @@
using System;
using System.Threading.Tasks;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Application.Services;
namespace Volo.CmsKit.Admin.Blogs;
public interface IBlogAdminAppService : ICrudAppService<BlogDto, Guid, BlogGetListInput, CreateBlogDto, UpdateBlogDto>
{
Task<ListResultDto<BlogDto>> GetAllListAsync();
Task MoveAllBlogPostsAsync(Guid blogId, Guid? assignToBlogId = null);
}

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

@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization;
using Volo.Abp.Application.Dtos;
@ -20,16 +21,19 @@ namespace Volo.CmsKit.Admin.Blogs;
public class BlogAdminAppService : CmsKitAdminAppServiceBase, IBlogAdminAppService
{
protected IBlogRepository BlogRepository { get; }
protected IBlogPostRepository BlogPostRepository { get; }
protected BlogManager BlogManager { get; }
protected BlogFeatureManager BlogFeatureManager { get; }
public BlogAdminAppService(
IBlogRepository blogRepository,
BlogManager blogManager,
BlogManager blogManager,
IBlogPostRepository blogPostRepository,
BlogFeatureManager blogFeatureManager = null)
{
BlogRepository = blogRepository;
BlogManager = blogManager;
BlogPostRepository = blogPostRepository;
BlogFeatureManager = blogFeatureManager;
}
@ -37,20 +41,44 @@ public class BlogAdminAppService : CmsKitAdminAppServiceBase, IBlogAdminAppServi
{
var blog = await BlogRepository.GetAsync(id);
return ObjectMapper.Map<Blog, BlogDto>(blog);
var blogDto = ObjectMapper.Map<Blog, BlogDto>(blog);
blogDto.BlogPostCount = await BlogPostRepository.GetCountAsync(blogId : blog.Id);
return blogDto;
}
public virtual async Task<PagedResultDto<BlogDto>> GetListAsync(BlogGetListInput input)
{
var totalCount = await BlogRepository.GetCountAsync(input.Filter);
var blogs = await BlogRepository.GetListAsync(
var blogs = await BlogRepository.GetListWithBlogPostCountAsync(
input.Filter,
input.Sorting,
input.MaxResultCount,
input.SkipCount);
var blogDtos = new PagedResultDto<BlogDto>(totalCount, ObjectMapper.Map<List<Blog>, List<BlogDto>>(blogs.Select(x => x.Blog).ToList()));
foreach (var blogDto in blogDtos.Items)
{
blogDto.BlogPostCount = blogs.First(x => x.Blog.Id == blogDto.Id).BlogPostCount;
}
return new PagedResultDto<BlogDto>(totalCount, ObjectMapper.Map<List<Blog>, List<BlogDto>>(blogs));
return blogDtos;
}
public virtual async Task<ListResultDto<BlogDto>> GetAllListAsync()
{
var blogs = await BlogRepository.GetListWithBlogPostCountAsync(maxResultCount: int.MaxValue);
var blogDtos = new ListResultDto<BlogDto>(ObjectMapper.Map<List<Blog>, List<BlogDto>>(blogs.Select(x => x.Blog).ToList()));
foreach (var blogDto in blogDtos.Items)
{
blogDto.BlogPostCount = blogs.First(x => x.Blog.Id == blogDto.Id).BlogPostCount;
}
return blogDtos;
}
[Authorize(CmsKitAdminPermissions.Blogs.Create)]
@ -79,10 +107,18 @@ public class BlogAdminAppService : CmsKitAdminAppServiceBase, IBlogAdminAppServi
return ObjectMapper.Map<Blog, BlogDto>(blog);
}
[Authorize(CmsKitAdminPermissions.Blogs.Delete)]
public virtual async Task MoveAllBlogPostsAsync(Guid blogId, Guid? assignToBlogId)
{
var blog = await BlogRepository.GetAsync(blogId);
await BlogPostRepository.UpdateBlogAsync(blog.Id, assignToBlogId);
}
[Authorize(CmsKitAdminPermissions.Blogs.Delete)]
public virtual Task DeleteAsync(Guid id)
{
return BlogRepository.DeleteAsync(id);
}
}

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

@ -38,7 +38,7 @@ public class CmsKitAdminApplicationAutoMapperProfile : Profile
CreateMap<CreateBlogPostDto, BlogPost>(MemberList.Source).MapExtraProperties();
CreateMap<UpdateBlogPostDto, BlogPost>(MemberList.Source).MapExtraProperties();
CreateMap<Blog, BlogDto>().MapExtraProperties();
CreateMap<Blog, BlogDto>().Ignore(b => b.BlogPostCount).MapExtraProperties();
CreateMap<TagEntityTypeDefiniton, TagDefinitionDto>(MemberList.Destination);

14
modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi.Client/ClientProxies/Volo/CmsKit/Admin/Blogs/BlogAdminClientProxy.Generated.cs

@ -57,4 +57,18 @@ public partial class BlogAdminClientProxy : ClientProxyBase<IBlogAdminAppService
{ typeof(Guid), id }
});
}
public virtual async Task<ListResultDto<BlogDto>> GetAllListAsync()
{
return await RequestAsync<ListResultDto<BlogDto>>(nameof(GetAllListAsync));
}
public virtual async Task MoveAllBlogPostsAsync(Guid blogId, Guid? assignToBlogId)
{
await RequestAsync(nameof(MoveAllBlogPostsAsync), new ClientProxyRequestTypeValue
{
{ typeof(Guid), blogId },
{ typeof(Guid?), assignToBlogId }
});
}
}

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

@ -16,6 +16,39 @@
"type": "Volo.CmsKit.Admin.Blogs.IBlogAdminAppService",
"name": "IBlogAdminAppService",
"methods": [
{
"name": "GetAllListAsync",
"parametersOnMethod": [],
"returnValue": {
"type": "Volo.Abp.Application.Dtos.ListResultDto<Volo.CmsKit.Admin.Blogs.BlogDto>",
"typeSimple": "Volo.Abp.Application.Dtos.ListResultDto<Volo.CmsKit.Admin.Blogs.BlogDto>"
}
},
{
"name": "MoveAllBlogPostsAsync",
"parametersOnMethod": [
{
"name": "blogId",
"typeAsString": "System.Guid, System.Private.CoreLib",
"type": "System.Guid",
"typeSimple": "string",
"isOptional": false,
"defaultValue": null
},
{
"name": "assignToBlogId",
"typeAsString": "System.Nullable`1[[System.Guid, System.Private.CoreLib, Version=9.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], System.Private.CoreLib",
"type": "System.Guid?",
"typeSimple": "string?",
"isOptional": false,
"defaultValue": null
}
],
"returnValue": {
"type": "System.Void",
"typeSimple": "System.Void"
}
},
{
"name": "GetAsync",
"parametersOnMethod": [
@ -353,6 +386,90 @@
},
"allowAnonymous": false,
"implementFrom": "Volo.Abp.Application.Services.IDeleteAppService<System.Guid>"
},
"GetAllListAsync": {
"uniqueName": "GetAllListAsync",
"name": "GetAllListAsync",
"httpMethod": "GET",
"url": "api/cms-kit-admin/blogs/all",
"supportedVersions": [],
"parametersOnMethod": [],
"parameters": [],
"returnValue": {
"type": "Volo.Abp.Application.Dtos.ListResultDto<Volo.CmsKit.Admin.Blogs.BlogDto>",
"typeSimple": "Volo.Abp.Application.Dtos.ListResultDto<Volo.CmsKit.Admin.Blogs.BlogDto>"
},
"allowAnonymous": false,
"implementFrom": "Volo.CmsKit.Admin.Blogs.IBlogAdminAppService"
},
"MoveAllBlogPostsAsyncByBlogIdAndAssignToBlogId": {
"uniqueName": "MoveAllBlogPostsAsyncByBlogIdAndAssignToBlogId",
"name": "MoveAllBlogPostsAsync",
"httpMethod": "PUT",
"url": "api/cms-kit-admin/blogs/{id}/move-all-blog-posts",
"supportedVersions": [],
"parametersOnMethod": [
{
"name": "blogId",
"typeAsString": "System.Guid, System.Private.CoreLib",
"type": "System.Guid",
"typeSimple": "string",
"isOptional": false,
"defaultValue": null
},
{
"name": "assignToBlogId",
"typeAsString": "System.Nullable`1[[System.Guid, System.Private.CoreLib, Version=9.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], System.Private.CoreLib",
"type": "System.Guid?",
"typeSimple": "string?",
"isOptional": false,
"defaultValue": null
}
],
"parameters": [
{
"nameOnMethod": "blogId",
"name": "blogId",
"jsonName": null,
"type": "System.Guid",
"typeSimple": "string",
"isOptional": false,
"defaultValue": null,
"constraintTypes": null,
"bindingSourceId": "ModelBinding",
"descriptorName": ""
},
{
"nameOnMethod": "assignToBlogId",
"name": "assignToBlogId",
"jsonName": null,
"type": "System.Guid?",
"typeSimple": "string?",
"isOptional": false,
"defaultValue": null,
"constraintTypes": null,
"bindingSourceId": "Query",
"descriptorName": ""
},
{
"nameOnMethod": "id",
"name": "id",
"jsonName": null,
"type": null,
"typeSimple": null,
"isOptional": false,
"defaultValue": null,
"constraintTypes": [],
"bindingSourceId": "Path",
"descriptorName": ""
}
],
"returnValue": {
"type": "System.Void",
"typeSimple": "System.Void"
},
"allowAnonymous": false,
"implementFrom": "Volo.CmsKit.Admin.Blogs.IBlogAdminAppService"
}
}
},

15
modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Blogs/BlogAdminController.cs

@ -62,4 +62,19 @@ public class BlogAdminController : CmsKitAdminController, IBlogAdminAppService
{
return BlogAdminAppService.DeleteAsync(id);
}
[HttpGet]
[Route("all")]
public Task<ListResultDto<BlogDto>> GetAllListAsync()
{
return BlogAdminAppService.GetAllListAsync();
}
[HttpPut]
[Route("{id}/move-all-blog-posts")]
[Authorize(CmsKitAdminPermissions.Blogs.Delete)]
public Task MoveAllBlogPostsAsync(Guid blogId, [FromQuery]Guid? assignToBlogId)
{
return BlogAdminAppService.MoveAllBlogPostsAsync(blogId, assignToBlogId);
}
}

59
modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Blogs/DeleteBlogModal.cshtml

@ -0,0 +1,59 @@
@page
@using Microsoft.AspNetCore.Mvc.Localization
@using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Modal
@using Volo.CmsKit.Admin.Web.Pages.CmsKit.Blogs
@using Volo.CmsKit.Localization
@model DeleteBlogModal
@inject IHtmlLocalizer<CmsKitResource> L
@{
Layout = null;
}
<form method="post" asp-page="/CmsKit/Blogs/DeleteBlogModal" autocomplete="off">
@{
var deleteAllClicked = "checked";
var deleteButtonDisabled = "";
<abp-modal>
<abp-modal-header title="@L["AreYouSure"].Value"></abp-modal-header>
<abp-modal-body>
<abp-input asp-for="Blog.Id" type="hidden"></abp-input>
<p class="fw-bold">@L.GetString("BlogDeletionConfirmationMessage", Model.Blog.Name).Value</p>
@if (Model.Blog.BlogPostCount > 0)
{
<p class="mt-2">@L.GetString("ChooseAnActionForBlog", Model.Blog.BlogPostCount).Value</p>
if (Model.Blog.OtherBlogs.Any())
{
deleteAllClicked = "";
deleteButtonDisabled = "disabled";
<div class="form-check">
<input class="form-check-input" type="radio" checked name="assign" id="assign">
<label class="form-check-label" for="assign">@L["AssignBlogPostsToOtherBlog"].Value</label>
</div>
<select name="Blog.AssignToBlogId" id="Blog_AssignToBlogId" class="form-select mt-2">
<option value="" selected>@L["SelectAnBlogToAssign"].Value</option>
@foreach (var blog in Model.Blog.OtherBlogs)
{
<option value="@blog.Key">@blog.Value</option>
}
</select>
}
<div class="form-check mt-2">
<input class="form-check-input" type="radio" @deleteAllClicked name="assign" id="deleteAll">
<label class="form-check-label" for="deleteAll">@L["DeleteAllBlogPostsOfThisBlog"].Value</label>
</div>
}
</abp-modal-body>
<abp-modal-footer>
<button class="btn btn-outline-danger" data-bs-dismiss="modal" type="button">@L["Cancel"]</button>
<button class="btn btn-danger" @deleteButtonDisabled type="submit"><i class="fa fa-trash"></i> <span>@L["Delete"]</span></button>
</abp-modal-footer>
</abp-modal>
}
</form>

57
modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Blogs/DeleteBlogModal.cshtml.cs

@ -0,0 +1,57 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;
using Volo.Abp.ObjectExtending;
using Volo.CmsKit.Admin.Blogs;
namespace Volo.CmsKit.Admin.Web.Pages.CmsKit.Blogs;
public class DeleteBlogModal : CmsKitAdminPageModel
{
[BindProperty]
public BlogInfoModel Blog { get; set; }
protected IBlogAdminAppService BlogAdminAppService { get; }
public DeleteBlogModal(IBlogAdminAppService blogAdminAppService)
{
BlogAdminAppService = blogAdminAppService;
}
public virtual async Task OnGetAsync(Guid id)
{
var blog = await BlogAdminAppService.GetAsync(id);
var allBlogs = await BlogAdminAppService.GetAllListAsync();
Blog = new BlogInfoModel
{
Id = blog.Id,
Name = blog.Name,
BlogPostCount = blog.BlogPostCount,
OtherBlogs = allBlogs.Items.Where(b => b.Id != blog.Id).Select(e => new KeyValuePair<Guid, string>(e.Id, e.Name)).ToList()
};
}
public virtual async Task<IActionResult> OnPostAsync()
{
await BlogAdminAppService.MoveAllBlogPostsAsync(Blog.Id, Blog.AssignToBlogId);
await BlogAdminAppService.DeleteAsync(Blog.Id);
return NoContent();
}
public class BlogInfoModel : ExtensibleObject
{
public Guid Id { get; set; }
public string Name { get; set; }
public int BlogPostCount { get; set; }
public List<KeyValuePair<Guid, string>> OtherBlogs { get; set; }
public Guid? AssignToBlogId { get; set; }
}
}

46
modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Blogs/index.js

@ -6,6 +6,35 @@ $(function () {
var updateModal = new abp.ModalManager({ viewUrl: abp.appPath + "CmsKit/Blogs/UpdateModal", modalClass: 'updateBlog' });
var featuresModal = new abp.ModalManager(abp.appPath + "CmsKit/Blogs/FeaturesModal");
var deleteBlogModal = new abp.ModalManager(abp.appPath + 'CmsKit/Blogs/DeleteBlogModal');
deleteBlogModal.onResult(function(){
abp.notify.success(l('DeletedSuccessfully'));
});
deleteBlogModal.onOpen(function () {
var $form = deleteBlogModal.getForm();
$form.find('#assign').click(function () {
$form.find('#Blog_AssignToBlogId').show();
$form.find('[type=submit]').attr("disabled","disabled")
})
$form.find('#deleteAll').click(function () {
$form.find('#Blog_AssignToBlogId').hide();
$form.find('#Blog_AssignToBlogId').val("");
$form.find('[type=submit]').removeAttr("disabled");
})
$("#Blog_AssignToBlogId").on("change", function () {
var val = $(this).val();
if(val === ''){
$form.find('[type=submit]').attr("disabled","disabled")
}else{
$form.find('[type=submit]').removeAttr("disabled");
}
})
})
var blogsService = volo.cmsKit.admin.blogs.blogAdmin;
var dataTable = $("#BlogsTable").DataTable(abp.libs.datatables.normalizeConfiguration({
@ -41,16 +70,10 @@ $(function () {
{
text: l('Delete'),
visible: abp.auth.isGranted('CmsKit.Blogs.Delete'),
confirmMessage: function (data) {
return l("BlogDeletionConfirmationMessage", data.record.name)
},
action: function (data) {
blogsService
.delete(data.record.id)
.then(function () {
dataTable.ajax.reloadEx();
abp.notify.success(l('DeletedSuccessfully'));
});
deleteBlogModal.open({
id: data.record.id
});
}
}
]
@ -74,6 +97,7 @@ $(function () {
createModal.open();
});
createModal.onResult(function () {
dataTable.ajax.reloadEx();
});
@ -81,4 +105,8 @@ $(function () {
updateModal.onResult(function () {
dataTable.ajax.reloadEx();
});
deleteBlogModal.onResult(function () {
dataTable.ajax.reloadEx();
});
});

7
modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/ar.json

@ -250,6 +250,11 @@
"Hour": "س",
"Day": "ي",
"Week": "أ",
"DuplicateCommentAttemptMessage": "تم اكتشاف محاولة نشر تعليق مكررة. لقد تم بالفعل تقديم تعليقك."
"DuplicateCommentAttemptMessage": "تم اكتشاف محاولة نشر تعليق مكررة. لقد تم بالفعل تقديم تعليقك.",
"DuplicateCommentAttemptMessage": "تم اكتشاف محاولة نشر تعليق مكررة. لقد تم بالفعل تقديم تعليقك.",
"ChooseAnActionForBlog": "اختر إجراءً للمدونة",
"AssignBlogPostsToOtherBlog": "تعيين مشاركات المدونة إلى مدونة أخرى",
"SelectAnBlogToAssign": "حدد مدونة لتعيين مشاركات المدونة إليها",
"DeleteAllBlogPostsOfThisBlog": "حذف جميع مشاركات المدونة"
}
}

6
modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/cs.json

@ -227,6 +227,10 @@
"CssClass": "Třída CSS",
"TagsHelpText": "Značky by měly být odděleny čárkami (např.: tag1, tag2, tag3)",
"ThisPartOfContentCouldntBeLoaded": "Tato část obsahu nemohla být načtena.",
"DuplicateCommentAttemptMessage": "Byl zjištěn duplicitní pokus o vložení komentáře. Váš komentář již byl odeslán."
"DuplicateCommentAttemptMessage": "Byl zjištěn duplicitní pokus o vložení komentáře. Váš komentář již byl odeslán.",
"ChooseAnActionForBlog": "Vyberte akci pro blog",
"AssignBlogPostsToOtherBlog": "Přiřaďte blogové příspěvky k jinému blogu",
"SelectAnBlogToAssign": "Vyberte blog, ke kterému chcete přiřadit blogové příspěvky",
"DeleteAllBlogPostsOfThisBlog": "Smazat všechny blogové příspěvky tohoto blogu"
}
}

6
modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/de-DE.json

@ -161,6 +161,10 @@
"YourFullName": "Ihren vollständigen Namen",
"YourMessage": "Ihre Nachricht",
"YourReply": "Ihre Antwort",
"ThisPartOfContentCouldntBeLoaded": "Dieser Teil des Inhalts konnte nicht geladen werden."
"ThisPartOfContentCouldntBeLoaded": "Dieser Teil des Inhalts konnte nicht geladen werden.",
"ChooseAnActionForBlog": "Wählen Sie eine Aktion für den Blog",
"AssignBlogPostsToOtherBlog": "Blogbeiträge einem anderen Blog zuweisen",
"SelectAnBlogToAssign": "Wählen Sie einen Blog aus, um Blogbeiträge zuzuweisen",
"DeleteAllBlogPostsOfThisBlog": "Alle Blogbeiträge dieses Blogs löschen"
}
}

6
modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/de.json

@ -227,6 +227,10 @@
"CssClass": "CSS-Klasse",
"TagsHelpText": "Tags sollten durch Kommas getrennt werden (z. B. Tag1, Tag2, Tag3).",
"ThisPartOfContentCouldntBeLoaded": "Dieser Teil des Inhalts konnte nicht geladen werden.",
"DuplicateCommentAttemptMessage": "Es wurde versucht, einen doppelten Kommentar zu posten. Ihr Kommentar wurde bereits übermittelt."
"DuplicateCommentAttemptMessage": "Es wurde versucht, einen doppelten Kommentar zu posten. Ihr Kommentar wurde bereits übermittelt.",
"ChooseAnActionForBlog": "Wählen Sie eine Aktion für den Blog",
"AssignBlogPostsToOtherBlog": "Blogbeiträge einem anderen Blog zuweisen",
"SelectAnBlogToAssign": "Wählen Sie einen Blog aus, um Blogbeiträge zuzuweisen",
"DeleteAllBlogPostsOfThisBlog": "Alle Blogbeiträge dieses Blogs löschen"
}
}

6
modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/el.json

@ -184,6 +184,10 @@
"SelectAStatus": "Επιλέξτε μια κατάσταση",
"Status": "Κατάσταση",
"CmsKit.BlogPost.ScrollIndex": "Γραμμή γρήγορης πλοήγησης σε αναρτήσεις ιστολογίου",
"ThisPartOfContentCouldntBeLoaded": "Αυτό το τμήμα του περιεχομένου δεν μπορούσε να φορτωθεί."
"ThisPartOfContentCouldntBeLoaded": "Αυτό το τμήμα του περιεχομένου δεν μπορούσε να φορτωθεί.",
"ChooseAnActionForBlog": "Επιλέξτε μια ενέργεια για το ιστολόγιο",
"AssignBlogPostsToOtherBlog": "Ανάθεση αναρτήσεων ιστολογίου σε άλλο ιστολόγιο",
"SelectAnBlogToAssign": "Επιλέξτε ένα ιστολόγιο για να αναθέσετε αναρτήσεις ιστολογίου",
"DeleteAllBlogPostsOfThisBlog": "Διαγραφή όλων των αναρτήσεων ιστολογίου αυτού του ιστολογίου"
}
}

6
modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/en-GB.json

@ -28,6 +28,10 @@
"Undo": "Undo",
"Update": "Update",
"YourComment": "Your comment",
"YourReply": "Your reply"
"YourReply": "Your reply",
"ChooseAnActionForBlog": "Choose an action for the blog",
"AssignBlogPostsToOtherBlog": "Assign blog posts to another blog",
"SelectAnBlogToAssign": "Select a blog to assign",
"DeleteAllBlogPostsOfThisBlog": "Delete all blog posts of this blog"
}
}

7
modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/en.json

@ -268,6 +268,11 @@
"Hour": "h",
"Day": "d",
"Week": "w",
"CommentSubmittedForApproval": "Your comment has been submitted for approval."
"CommentSubmittedForApproval": "Your comment has been submitted for approval.",
"CommentSubmittedForApproval": "Your comment has been submitted for approval.",
"ChooseAnActionForBlog": "Choose an action for the blog",
"AssignBlogPostsToOtherBlog": "Assign blog posts to another blog",
"SelectAnBlogToAssign": "Select a blog to assign",
"DeleteAllBlogPostsOfThisBlog": "Delete all blog posts of this blog"
}
}

6
modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/es.json

@ -227,6 +227,10 @@
"CssClass": "Clase CSS",
"TagsHelpText": "Las etiquetas deben estar separadas por comas (por ejemplo: etiqueta1, etiqueta2, etiqueta3)",
"ThisPartOfContentCouldntBeLoaded": "Esta parte del contenido no se pudo cargar.",
"DuplicateCommentAttemptMessage": "Intento de publicación de comentario duplicado detectado. Tu comentario ya ha sido enviado."
"DuplicateCommentAttemptMessage": "Intento de publicación de comentario duplicado detectado. Tu comentario ya ha sido enviado.",
"ChooseAnActionForBlog": "Elija una acción para el blog",
"AssignBlogPostsToOtherBlog": "Asignar publicaciones de blog a otro blog",
"SelectAnBlogToAssign": "Seleccione un blog para asignar publicaciones de blog",
"DeleteAllBlogPostsOfThisBlog": "Eliminar todas las publicaciones de blog de este blog"
}
}

6
modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/fa.json

@ -183,6 +183,10 @@
"Status": "وضعیت",
"CmsKit.BlogPost.ScrollIndex": "نوار پیمایش سریع در پست های وبلاگ",
"CmsKit.BlogPost.PreventXssFeature": "جلوگیری از XSS",
"ThisPartOfContentCouldntBeLoaded": "این قسمت از محتوا قابل بارگیری نیست."
"ThisPartOfContentCouldntBeLoaded": "این قسمت از محتوا قابل بارگیری نیست.",
"ChooseAnActionForBlog": "یک عمل برای وبلاگ انتخاب کنید",
"AssignBlogPostsToOtherBlog": "پست های وبلاگ را به وبلاگ دیگری اختصاص دهید",
"SelectAnBlogToAssign": "یک وبلاگ برای اختصاص دادن انتخاب کنید",
"DeleteAllBlogPostsOfThisBlog": "تمام پست های وبلاگ این وبلاگ را حذف کنید"
}
}

6
modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/fi.json

@ -227,6 +227,10 @@
"CssClass": "CSS-luokka",
"TagsHelpText": "Tunnisteet on erotettava pilkuilla (esim. tag1, tag2, tag3)",
"ThisPartOfContentCouldntBeLoaded": "Tämä sisällön osa ei voitu ladata.",
"DuplicateCommentAttemptMessage": "Kopiokommenttiyritys havaittiin. Kommenttisi on jo lähetetty."
"DuplicateCommentAttemptMessage": "Kopiokommenttiyritys havaittiin. Kommenttisi on jo lähetetty.",
"ChooseAnActionForBlog": "Valitse toiminto blogille",
"AssignBlogPostsToOtherBlog": "Määritä blogiviestit toiseen blogiin",
"SelectAnBlogToAssign": "Valitse blogi, johon haluat määrittää",
"DeleteAllBlogPostsOfThisBlog": "Poista tämän blogin kaikki blogiviestit"
}
}

6
modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/fr.json

@ -227,6 +227,10 @@
"CssClass": "Classe CSS",
"TagsHelpText": "Les balises doivent être séparées par des virgules (par exemple : tag1, tag2, tag3)",
"ThisPartOfContentCouldntBeLoaded": "Cette partie du contenu n'a pas pu être chargée.",
"DuplicateCommentAttemptMessage": "Tentative de publication de commentaire en double détectée. Votre commentaire a déjà été soumis."
"DuplicateCommentAttemptMessage": "Tentative de publication de commentaire en double détectée. Votre commentaire a déjà été soumis.",
"ChooseAnActionForBlog": "Choisissez une action pour le blog",
"AssignBlogPostsToOtherBlog": "Attribuer des articles de blog à un autre blog",
"SelectAnBlogToAssign": "Sélectionnez un blog à attribuer",
"DeleteAllBlogPostsOfThisBlog": "Supprimer tous les articles de blog de ce blog"
}
}

6
modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/hi.json

@ -227,6 +227,10 @@
"CssClass": "सीएसएस क्लास",
"TagsHelpText": "टैग को अल्पविराम से अलग किया जाना चाहिए (जैसे: टैग1, टैग2, टैग3)",
"ThisPartOfContentCouldntBeLoaded": "यह भाग लोड नहीं किया जा सका।",
"DuplicateCommentAttemptMessage": "डुप्लिकेट टिप्पणी पोस्ट प्रयास का पता चला। आपकी टिप्पणी पहले ही सबमिट की जा चुकी है."
"DuplicateCommentAttemptMessage": "डुप्लिकेट टिप्पणी पोस्ट प्रयास का पता चला। आपकी टिप्पणी पहले ही सबमिट की जा चुकी है.",
"ChooseAnActionForBlog": "ब्लॉग के लिए कोई कार्रवाई चुनें",
"AssignBlogPostsToOtherBlog": "अन्य ब्लॉग को ब्लॉग पोस्ट असाइन करें",
"SelectAnBlogToAssign": "असाइन करने के लिए एक ब्लॉग चुनें",
"DeleteAllBlogPostsOfThisBlog": "इस ब्लॉग के सभी ब्लॉग पोस्ट हटाएं"
}
}

6
modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/hr.json

@ -227,6 +227,10 @@
"CssClass": "CSS klasa",
"TagsHelpText": "Oznake trebaju biti odvojene zarezom (npr. oznaka1, oznaka2, oznaka3)",
"ThisPartOfContentCouldntBeLoaded": "Ovaj dio sadržaja nije bilo moguće učitati.",
"DuplicateCommentAttemptMessage": "Otkriven pokušaj postavljanja duplikata komentara. Vaš komentar je već poslan."
"DuplicateCommentAttemptMessage": "Otkriven pokušaj postavljanja duplikata komentara. Vaš komentar je već poslan.",
"ChooseAnActionForBlog": "Odaberite radnju za blog",
"AssignBlogPostsToOtherBlog": "Dodijelite postove na blogu drugom blogu",
"SelectAnBlogToAssign": "Odaberite blog za dodjelu",
"DeleteAllBlogPostsOfThisBlog": "Izbrišite sve postove na blogu"
}
}

6
modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/hu.json

@ -227,6 +227,10 @@
"CssClass": "CSS osztály",
"TagsHelpText": "A címkéket vesszővel kell elválasztani (pl.: tag1, tag2, tag3)",
"ThisPartOfContentCouldntBeLoaded": "A tartalom ezen része nem tölthető be.",
"DuplicateCommentAttemptMessage": "Ismétlődő megjegyzés közzétételi kísérlet észlelve. Megjegyzését már elküldtük."
"DuplicateCommentAttemptMessage": "Ismétlődő megjegyzés közzétételi kísérlet észlelve. Megjegyzését már elküldtük.",
"ChooseAnActionForBlog": "Válasszon egy műveletet a bloghoz",
"AssignBlogPostsToOtherBlog": "Blogbejegyzések hozzárendelése egy másik bloghoz",
"SelectAnBlogToAssign": "Válasszon egy blogot a hozzárendeléshez",
"DeleteAllBlogPostsOfThisBlog": "Ez a művelet törli az összes blogbejegyzést ebből a blogból. Biztos vagy benne?"
}
}

6
modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/is.json

@ -227,6 +227,10 @@
"CssClass": "CSS flokkur",
"TagsHelpText": "Merki ættu að vera aðskilin með kommum (td: tag1, tag2, tag3)",
"ThisPartOfContentCouldntBeLoaded": "Þessi hluti af efni gat ekki verið hlaðið inn.",
"DuplicateCommentAttemptMessage": "Tvítekin tilraun til að skrifa athugasemd fannst. Athugasemd þín hefur þegar verið send."
"DuplicateCommentAttemptMessage": "Tvítekin tilraun til að skrifa athugasemd fannst. Athugasemd þín hefur þegar verið send.",
"ChooseAnActionForBlog": "Veldu aðgerð fyrir blogg",
"AssignBlogPostsToOtherBlog": "Úthluta bloggfærslum til annars bloggs",
"SelectAnBlogToAssign": "Veldu blogg til að úthluta",
"DeleteAllBlogPostsOfThisBlog": "Eyða öllum bloggfærslum þessa bloggs"
}
}

6
modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/it.json

@ -227,6 +227,10 @@
"CssClass": "Classe CSS",
"TagsHelpText": "I tag devono essere separati da virgole (ad esempio: tag1, tag2, tag3)",
"ThisPartOfContentCouldntBeLoaded": "Questa parte del contenuto non può essere caricata.",
"DuplicateCommentAttemptMessage": "Rilevato tentativo di pubblicare commenti duplicati. Il tuo commento è già stato inviato."
"DuplicateCommentAttemptMessage": "Rilevato tentativo di pubblicare commenti duplicati. Il tuo commento è già stato inviato.",
"ChooseAnActionForBlog": "Scegli un'azione per il blog",
"AssignBlogPostsToOtherBlog": "Assegna i post del blog ad un altro blog",
"SelectAnBlogToAssign": "Seleziona un blog a cui assegnare i post del blog",
"DeleteAllBlogPostsOfThisBlog": "Elimina tutti i post del blog di questo blog"
}
}

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

@ -227,6 +227,10 @@
"CssClass": "CSS-klasse",
"TagsHelpText": "Tags moeten door komma&#39;s worden gescheiden (bijvoorbeeld: tag1, tag2, tag3)",
"ThisPartOfContentCouldntBeLoaded": "Dit deel van de inhoud kon niet worden geladen.",
"DuplicateCommentAttemptMessage": "Dubbele poging tot posten van commentaar gedetecteerd. Uw reactie is al verzonden."
"DuplicateCommentAttemptMessage": "Dubbele poging tot posten van commentaar gedetecteerd. Uw reactie is al verzonden.",
"ChooseAnActionForBlog": "Kies een actie voor de blog",
"AssignBlogPostsToOtherBlog": "Wijs blogberichten toe aan een andere blog",
"SelectAnBlogToAssign": "Selecteer een blog om toe te wijzen",
"DeleteAllBlogPostsOfThisBlog": "Verwijder alle blogberichten van deze blog"
}
}

6
modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/pl-PL.json

@ -227,6 +227,10 @@
"CssClass": "Klasa CSS",
"TagsHelpText": "Tagi powinny być oddzielone przecinkami (np. tag1, tag2, tag3)",
"ThisPartOfContentCouldntBeLoaded": "Ta część zawartości nie mogła zostać załadowana.",
"DuplicateCommentAttemptMessage": "Wykryto zduplikowaną próbę opublikowania komentarza. Twój komentarz został już przesłany."
"DuplicateCommentAttemptMessage": "Wykryto zduplikowaną próbę opublikowania komentarza. Twój komentarz został już przesłany.",
"ChooseAnActionForBlog": "Wybierz akcję dla bloga",
"AssignBlogPostsToOtherBlog": "Przypisz posty na blogu do innego bloga",
"SelectAnBlogToAssign": "Wybierz blog, do którego chcesz przypisać posty na blogu",
"DeleteAllBlogPostsOfThisBlog": "Usuń wszystkie posty na blogu tego bloga"
}
}

6
modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/pt-BR.json

@ -227,6 +227,10 @@
"CssClass": "Classe CSS",
"TagsHelpText": "As tags devem ser separadas por vírgula (por exemplo: tag1, tag2, tag3)",
"ThisPartOfContentCouldntBeLoaded": "Esta parte do conteúdo não pôde ser carregada.",
"DuplicateCommentAttemptMessage": "Tentativa duplicada de postagem de comentário detectada. Seu comentário já foi enviado."
"DuplicateCommentAttemptMessage": "Tentativa duplicada de postagem de comentário detectada. Seu comentário já foi enviado.",
"ChooseAnActionForBlog": "Escolha uma ação para o blog",
"AssignBlogPostsToOtherBlog": "Atribuir postagens de blog a outro blog",
"SelectAnBlogToAssign": "Selecione um blog para atribuir",
"DeleteAllBlogPostsOfThisBlog": "Excluir todas as postagens de blog deste blog"
}
}

6
modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/ro-RO.json

@ -227,6 +227,10 @@
"CssClass": "Clasa CSS",
"TagsHelpText": "Etichetele ar trebui să fie separate prin virgulă (de exemplu: tag1, tag2, tag3)",
"ThisPartOfContentCouldntBeLoaded": "Această parte a conţinutului nu a putut fi încărcată.",
"DuplicateCommentAttemptMessage": "A fost detectată o încercare de postare de comentarii duplicată. Comentariul dvs. a fost deja trimis."
"DuplicateCommentAttemptMessage": "A fost detectată o încercare de postare de comentarii duplicată. Comentariul dvs. a fost deja trimis.",
"ChooseAnActionForBlog": "Alegeţi o acţiune pentru blog",
"AssignBlogPostsToOtherBlog": "Atribuiţi postările de blog la alt blog",
"SelectAnBlogToAssign": "Selectaţi un blog pentru a atribui postările de blog",
"DeleteAllBlogPostsOfThisBlog": "Ştergeţi toate postările de blog ale acestui blog"
}
}

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

Loading…
Cancel
Save