Browse Source

Merge branch 'dev' into issue-6542

pull/22922/head
SALİH ÖZKARA 1 year ago
parent
commit
cc8aa07965
  1. 2
      .github/workflows/build-and-test.yml
  2. 114
      Directory.Packages.props
  3. 2
      README.md
  4. 4
      abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/en.json
  5. 5
      abp_io/AbpIoLocalization/AbpIoLocalization/Www/Localization/Resources/en.json
  6. 86
      docs/en/Blog-Posts/2025-06-02 v9_2_Release_Stable/POST.md
  7. BIN
      docs/en/Blog-Posts/2025-06-02 v9_2_Release_Stable/cover-image.png
  8. BIN
      docs/en/Blog-Posts/2025-06-02 v9_2_Release_Stable/upgrade-abp-packages.png
  9. 4
      docs/en/Community-Articles/2021-06-17-Using-Elsa-Workflow-with-ABP-Framework/POST.md
  10. 4
      docs/en/Community-Articles/2025-03-23-Understanding-the-Embedded-Files-in-ABP-Framework/post.md
  11. BIN
      docs/en/Community-Articles/2025-04-20-IDX10204/header.png
  12. BIN
      docs/en/Community-Articles/2025-04-20-IDX10204/payload.png
  13. BIN
      docs/en/Community-Articles/2025-04-25-AI-Comment-Summarization/summary-card.png
  14. 134
      docs/en/Community-Articles/2025-05-11-AI-Chat/POST.md
  15. BIN
      docs/en/Community-Articles/2025-05-11-AI-Chat/ai-chat.png
  16. BIN
      docs/en/Community-Articles/2025-05-11-AI-Chat/cover.png
  17. 268
      docs/en/Community-Articles/2025-05-19-RouteTenantResolveContributor/POST.md
  18. BIN
      docs/en/Community-Articles/2025-05-19-RouteTenantResolveContributor/cover.png
  19. BIN
      docs/en/Community-Articles/2025-05-19-RouteTenantResolveContributor/swagger-ui.png
  20. BIN
      docs/en/Community-Articles/2025-05-19-RouteTenantResolveContributor/ui.png
  21. 38
      docs/en/Community-Articles/2025-06-10-bootcamp/post.md
  22. 33
      docs/en/framework/data/entity-framework-core/index.md
  23. 19
      docs/en/framework/infrastructure/background-jobs/index.md
  24. 2
      docs/en/framework/infrastructure/features.md
  25. 4
      docs/en/framework/infrastructure/simple-state-checker.md
  26. 2
      docs/en/modules/account/idle-session-timeout.md
  27. 11
      docs/en/modules/language-management.md
  28. 6
      docs/en/modules/payment-custom-gateway.md
  29. 4
      docs/en/tutorials/book-store/part-01.md
  30. 51
      docs/en/tutorials/book-store/part-09.md
  31. 4
      docs/en/tutorials/microservice/part-01.md
  32. BIN
      docs/en/ui-themes/lepton-x/images/account-layout-background-style.png
  33. 7
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/date-range-picker/date-range-picker-extensions.js
  34. 9
      framework/src/Volo.Abp.BackgroundJobs.Abstractions/Volo/Abp/BackgroundJobs/AbpBackgroundJobOptions.cs
  35. 4
      framework/src/Volo.Abp.BackgroundJobs.Abstractions/Volo/Abp/BackgroundJobs/BackgroundJobConfiguration.cs
  36. 5
      framework/src/Volo.Abp.BackgroundJobs/Volo/Abp/BackgroundJobs/DefaultBackgroundJobManager.cs
  37. 6
      framework/src/Volo.Abp.BlazoriseUI/AbpCrudPageBase.cs
  38. 12
      framework/src/Volo.Abp.BlazoriseUI/BlazoriseUiObjectExtensionPropertyInfoExtensions.cs
  39. 19
      framework/src/Volo.Abp.BlazoriseUI/Components/ObjectExtending/TextAreaExtensionProperty.razor
  40. 15
      framework/src/Volo.Abp.BlazoriseUI/Components/ObjectExtending/TextAreaExtensionProperty.razor.cs
  41. 9
      framework/src/Volo.Abp.BlazoriseUI/wwwroot/volo.abp.blazoriseui.css
  42. 7
      framework/src/Volo.Abp.Cli.Core/Volo.Abp.Cli.Core.csproj
  43. 1
      framework/src/Volo.Abp.Cli/Volo.Abp.Cli.csproj
  44. 4
      framework/src/Volo.Abp.Core/Microsoft/Extensions/DependencyInjection/ServiceCollectionLoggingExtensions.cs
  45. 8
      framework/src/Volo.Abp.Core/Volo.Abp.Core.csproj
  46. 33
      framework/src/Volo.Abp.Core/Volo/Abp/DependencyInjection/ConventionalRegistrarBase.cs
  47. 4
      framework/src/Volo.Abp.Core/Volo/Abp/Internal/InternalServiceCollectionExtensions.cs
  48. 9
      framework/src/Volo.Abp.Core/Volo/Abp/Reflection/AssemblyHelper.cs
  49. 15
      framework/src/Volo.Abp.Core/Volo/Abp/Reflection/TypeFinder.cs
  50. 4
      framework/src/Volo.Abp.EventBus.RabbitMQ/Volo/Abp/EventBus/RabbitMq/AbpEventBusRabbitMqModule.cs
  51. 54
      framework/src/Volo.Abp.EventBus.RabbitMQ/Volo/Abp/EventBus/RabbitMq/PostConfigureAbpRabbitMqEventBusOptions.cs
  52. 37
      framework/src/Volo.Abp.Features/Volo/Abp/Features/EditionFeatureValueProvider.cs
  53. 4
      framework/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/ClientProxying/ClientProxyUrlBuilder.cs
  54. 3
      framework/src/Volo.Abp.Json.SystemTextJson/Volo.Abp.Json.SystemTextJson.csproj
  55. 44
      framework/src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/Clients/AbpMongoClientFactory.cs
  56. 13
      framework/src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/Clients/IAbpMongoClientFactory.cs
  57. 2
      framework/src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/DistributedEvents/MongoDbContextEventInbox.cs
  58. 28
      framework/src/Volo.Abp.MongoDB/Volo/Abp/Uow/MongoDB/UnitOfWorkMongoDbContextProvider.cs
  59. 5
      framework/src/Volo.Abp.MultiTenancy.Abstractions/Volo/Abp/MultiTenancy/TenantConfiguration.cs
  60. 3
      framework/test/Volo.Abp.Core.Tests/Volo/Abp/Reflection/TypeFinder_Tests.cs
  61. 3
      framework/test/Volo.Abp.Http.Client.Tests/Volo/Abp/Http/DynamicProxying/TestObjectToPath.cs
  62. 79
      framework/test/Volo.Abp.MongoDB.Tests/Volo/Abp/MongoDB/Clients/MongoClient_Factory_Tests.cs
  63. 12
      framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/Application/PeopleAppService.cs
  64. 3
      framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/TestAppModule.cs
  65. 20
      latest-versions.json
  66. 1
      modules/account/src/Volo.Abp.Account.Application/Volo.Abp.Account.Application.csproj
  67. 4
      modules/account/src/Volo.Abp.Account.Web.IdentityServer/Volo.Abp.Account.Web.IdentityServer.csproj
  68. 7
      modules/account/src/Volo.Abp.Account.Web/Pages/Account/Manage.cshtml
  69. 3
      modules/account/src/Volo.Abp.Account.Web/Pages/Account/Manage.css
  70. 6
      modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/package.json
  71. 264
      modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/yarn.lock
  72. 4
      modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/package.json
  73. 268
      modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/yarn.lock
  74. 4
      modules/blogging/app/Volo.BloggingTestApp/package.json
  75. 306
      modules/blogging/app/Volo.BloggingTestApp/yarn.lock
  76. 2
      modules/client-simulation/demo/Volo.ClientSimulation.Demo/package.json
  77. 240
      modules/client-simulation/demo/Volo.ClientSimulation.Demo/yarn.lock
  78. 10
      modules/cms-kit/angular/package.json
  79. 4
      modules/cms-kit/angular/projects/cms-kit/package.json
  80. 2
      modules/cms-kit/host/Volo.CmsKit.IdentityServer/package.json
  81. 240
      modules/cms-kit/host/Volo.CmsKit.IdentityServer/yarn.lock
  82. 2
      modules/cms-kit/host/Volo.CmsKit.Web.Host/package.json
  83. 240
      modules/cms-kit/host/Volo.CmsKit.Web.Host/yarn.lock
  84. 4
      modules/cms-kit/host/Volo.CmsKit.Web.Unified/package.json
  85. 392
      modules/cms-kit/host/Volo.CmsKit.Web.Unified/yarn.lock
  86. 4
      modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Comments/Details.cshtml
  87. 4
      modules/docs/app/VoloDocs.Web/package.json
  88. 306
      modules/docs/app/VoloDocs.Web/yarn.lock
  89. 3
      modules/docs/src/Volo.Docs.Domain/Volo/Docs/FileSystem/Documents/FileSystemDocumentSource.cs
  90. 7
      modules/feature-management/src/Volo.Abp.FeatureManagement.Blazor/Components/FeatureManagementModal.razor.cs
  91. 50
      modules/feature-management/src/Volo.Abp.FeatureManagement.Domain/Volo/Abp/FeatureManagement/EditionFeatureManagementProvider.cs
  92. 9
      modules/feature-management/src/Volo.Abp.FeatureManagement.Web/Pages/FeatureManagement/FeatureManagementModal.cshtml.cs
  93. 2
      modules/openiddict/app/OpenIddict.Demo.Server/package.json
  94. 20
      modules/openiddict/app/angular/package.json
  95. 2
      modules/permission-management/src/Volo.Abp.PermissionManagement.Application.Contracts/Volo/Abp/PermissionManagement/IPermissionAppService.cs
  96. 14
      modules/permission-management/src/Volo.Abp.PermissionManagement.Application/Volo/Abp/PermissionManagement/PermissionAppService.cs
  97. 10
      modules/permission-management/src/Volo.Abp.PermissionManagement.HttpApi.Client/ClientProxies/Volo/Abp/PermissionManagement/PermissionsClientProxy.Generated.cs
  98. 254
      modules/permission-management/src/Volo.Abp.PermissionManagement.HttpApi.Client/ClientProxies/permissionManagement-generate-proxy.json
  99. 7
      modules/permission-management/src/Volo.Abp.PermissionManagement.HttpApi/Volo/Abp/PermissionManagement/PermissionsController.cs
  100. 7
      modules/permission-management/src/Volo.Abp.PermissionManagement.Web/wwwroot/client-proxies/permissionManagement-proxy.js

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

@ -48,7 +48,7 @@ permissions:
jobs: jobs:
build-test: build-test:
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
timeout-minutes: 40 timeout-minutes: 50
if: ${{ !github.event.pull_request.draft }} if: ${{ !github.event.pull_request.draft }}
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2

114
Directory.Packages.props

@ -18,10 +18,10 @@
<PackageVersion Include="BunnyCDN.Net.Storage" Version="1.0.4" /> <PackageVersion Include="BunnyCDN.Net.Storage" Version="1.0.4" />
<PackageVersion Include="Azure.Messaging.ServiceBus" Version="7.19.0" /> <PackageVersion Include="Azure.Messaging.ServiceBus" Version="7.19.0" />
<PackageVersion Include="Azure.Storage.Blobs" Version="12.24.0" /> <PackageVersion Include="Azure.Storage.Blobs" Version="12.24.0" />
<PackageVersion Include="Blazorise" Version="1.7.6" /> <PackageVersion Include="Blazorise" Version="1.7.7" />
<PackageVersion Include="Blazorise.Components" Version="1.7.6" /> <PackageVersion Include="Blazorise.Components" Version="1.7.7" />
<PackageVersion Include="Blazorise.DataGrid" Version="1.7.6" /> <PackageVersion Include="Blazorise.DataGrid" Version="1.7.7" />
<PackageVersion Include="Blazorise.Snackbar" Version="1.7.6" /> <PackageVersion Include="Blazorise.Snackbar" Version="1.7.7" />
<PackageVersion Include="Castle.Core" Version="5.1.1" /> <PackageVersion Include="Castle.Core" Version="5.1.1" />
<PackageVersion Include="Castle.Core.AsyncInterceptor" Version="2.1.0" /> <PackageVersion Include="Castle.Core.AsyncInterceptor" Version="2.1.0" />
<PackageVersion Include="CommonMark.NET" Version="0.15.1" /> <PackageVersion Include="CommonMark.NET" Version="0.15.1" />
@ -55,61 +55,61 @@
<PackageVersion Include="Magick.NET-Q16-AnyCPU" Version="13.4.0" /> <PackageVersion Include="Magick.NET-Q16-AnyCPU" Version="13.4.0" />
<PackageVersion Include="MailKit" Version="4.12.0" /> <PackageVersion Include="MailKit" Version="4.12.0" />
<PackageVersion Include="Markdig.Signed" Version="0.41.1" /> <PackageVersion Include="Markdig.Signed" Version="0.41.1" />
<PackageVersion Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="9.0.4" /> <PackageVersion Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="9.0.5" />
<PackageVersion Include="Microsoft.AspNetCore.Authentication.OpenIdConnect" Version="9.0.4" /> <PackageVersion Include="Microsoft.AspNetCore.Authentication.OpenIdConnect" Version="9.0.5" />
<PackageVersion Include="Microsoft.AspNetCore.Authorization" Version="9.0.4" /> <PackageVersion Include="Microsoft.AspNetCore.Authorization" Version="9.0.5" />
<PackageVersion Include="Microsoft.AspNetCore.Components" Version="9.0.4" /> <PackageVersion Include="Microsoft.AspNetCore.Components" Version="9.0.5" />
<PackageVersion Include="Microsoft.AspNetCore.Components.Authorization" Version="9.0.4" /> <PackageVersion Include="Microsoft.AspNetCore.Components.Authorization" Version="9.0.5" />
<PackageVersion Include="Microsoft.AspNetCore.Components.Web" Version="9.0.4" /> <PackageVersion Include="Microsoft.AspNetCore.Components.Web" Version="9.0.5" />
<PackageVersion Include="Microsoft.AspNetCore.Components.WebAssembly" Version="9.0.4" /> <PackageVersion Include="Microsoft.AspNetCore.Components.WebAssembly" Version="9.0.5" />
<PackageVersion Include="Microsoft.AspNetCore.Components.WebAssembly.Server" Version="9.0.4" /> <PackageVersion Include="Microsoft.AspNetCore.Components.WebAssembly.Server" Version="9.0.5" />
<PackageVersion Include="Microsoft.AspNetCore.Components.WebAssembly.Authentication" Version="9.0.4" /> <PackageVersion Include="Microsoft.AspNetCore.Components.WebAssembly.Authentication" Version="9.0.5" />
<PackageVersion Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="9.0.4" /> <PackageVersion Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="9.0.5" />
<PackageVersion Include="Microsoft.AspNetCore.Components.WebView.Maui" Version="9.0.60" /> <PackageVersion Include="Microsoft.AspNetCore.Components.WebView.Maui" Version="9.0.60" />
<PackageVersion Include="Microsoft.Maui.Controls" Version="9.0.60" /> <PackageVersion Include="Microsoft.Maui.Controls" Version="9.0.60" />
<PackageVersion Include="Microsoft.AspNetCore.DataProtection.StackExchangeRedis" Version="9.0.4" /> <PackageVersion Include="Microsoft.AspNetCore.DataProtection.StackExchangeRedis" Version="9.0.5" />
<PackageVersion Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="9.0.4" /> <PackageVersion Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="9.0.5" />
<PackageVersion Include="Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation" Version="9.0.4" /> <PackageVersion Include="Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation" Version="9.0.5" />
<PackageVersion Include="Microsoft.AspNetCore.Mvc.Testing" Version="9.0.4" /> <PackageVersion Include="Microsoft.AspNetCore.Mvc.Testing" Version="9.0.5" />
<PackageVersion Include="Microsoft.AspNetCore.Razor.Language" Version="6.0.36" /> <PackageVersion Include="Microsoft.AspNetCore.Razor.Language" Version="6.0.36" />
<PackageVersion Include="Microsoft.AspNetCore.TestHost" Version="9.0.4" /> <PackageVersion Include="Microsoft.AspNetCore.TestHost" Version="9.0.5" />
<PackageVersion Include="Microsoft.AspNetCore.WebUtilities" Version="9.0.4" /> <PackageVersion Include="Microsoft.AspNetCore.WebUtilities" Version="9.0.5" />
<PackageVersion Include="Microsoft.Bcl.AsyncInterfaces" Version="9.0.4" /> <PackageVersion Include="Microsoft.Bcl.AsyncInterfaces" Version="9.0.5" />
<PackageVersion Include="Microsoft.CodeAnalysis.CSharp" Version="4.5.0" /> <PackageVersion Include="Microsoft.CodeAnalysis.CSharp" Version="4.5.0" />
<PackageVersion Include="Microsoft.CSharp" Version="4.7.0" /> <PackageVersion Include="Microsoft.CSharp" Version="4.7.0" />
<PackageVersion Include="Microsoft.Data.Sqlite" Version="9.0.4" /> <PackageVersion Include="Microsoft.Data.Sqlite" Version="9.0.5" />
<PackageVersion Include="Microsoft.Data.SqlClient" Version="6.0.2" /> <PackageVersion Include="Microsoft.Data.SqlClient" Version="6.0.2" />
<PackageVersion Include="Microsoft.EntityFrameworkCore" Version="9.0.4" /> <PackageVersion Include="Microsoft.EntityFrameworkCore" Version="9.0.5" />
<PackageVersion Include="Microsoft.EntityFrameworkCore.Design" Version="9.0.4" /> <PackageVersion Include="Microsoft.EntityFrameworkCore.Design" Version="9.0.5" />
<PackageVersion Include="Microsoft.EntityFrameworkCore.InMemory" Version="9.0.4" /> <PackageVersion Include="Microsoft.EntityFrameworkCore.InMemory" Version="9.0.5" />
<PackageVersion Include="Microsoft.EntityFrameworkCore.Proxies" Version="9.0.4" /> <PackageVersion Include="Microsoft.EntityFrameworkCore.Proxies" Version="9.0.5" />
<PackageVersion Include="Microsoft.EntityFrameworkCore.Relational" Version="9.0.4" /> <PackageVersion Include="Microsoft.EntityFrameworkCore.Relational" Version="9.0.5" />
<PackageVersion Include="Microsoft.EntityFrameworkCore.Sqlite" Version="9.0.4" /> <PackageVersion Include="Microsoft.EntityFrameworkCore.Sqlite" Version="9.0.5" />
<PackageVersion Include="Microsoft.EntityFrameworkCore.SqlServer" Version="9.0.4" /> <PackageVersion Include="Microsoft.EntityFrameworkCore.SqlServer" Version="9.0.5" />
<PackageVersion Include="Microsoft.EntityFrameworkCore.Tools" Version="9.0.4" /> <PackageVersion Include="Microsoft.EntityFrameworkCore.Tools" Version="9.0.5" />
<PackageVersion Include="Microsoft.Extensions.Caching.Hybrid" Version="9.4.0" /> <PackageVersion Include="Microsoft.Extensions.Caching.Hybrid" Version="9.4.0" />
<PackageVersion Include="Microsoft.Extensions.Caching.Memory" Version="9.0.4" /> <PackageVersion Include="Microsoft.Extensions.Caching.Memory" Version="9.0.5" />
<PackageVersion Include="Microsoft.Extensions.Caching.StackExchangeRedis" Version="9.0.4" /> <PackageVersion Include="Microsoft.Extensions.Caching.StackExchangeRedis" Version="9.0.5" />
<PackageVersion Include="Microsoft.Extensions.Configuration.Binder" Version="9.0.4" /> <PackageVersion Include="Microsoft.Extensions.Configuration.Binder" Version="9.0.5" />
<PackageVersion Include="Microsoft.Extensions.Configuration.CommandLine" Version="9.0.4" /> <PackageVersion Include="Microsoft.Extensions.Configuration.CommandLine" Version="9.0.5" />
<PackageVersion Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="9.0.4" /> <PackageVersion Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="9.0.5" />
<PackageVersion Include="Microsoft.Extensions.Configuration.UserSecrets" Version="9.0.4" /> <PackageVersion Include="Microsoft.Extensions.Configuration.UserSecrets" Version="9.0.5" />
<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="9.0.4" /> <PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="9.0.5" />
<PackageVersion Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="9.0.4" /> <PackageVersion Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="9.0.5" />
<PackageVersion Include="Microsoft.Extensions.FileProviders.Composite" Version="9.0.4" /> <PackageVersion Include="Microsoft.Extensions.FileProviders.Composite" Version="9.0.5" />
<PackageVersion Include="Microsoft.Extensions.FileProviders.Embedded" Version="9.0.4" /> <PackageVersion Include="Microsoft.Extensions.FileProviders.Embedded" Version="9.0.5" />
<PackageVersion Include="Microsoft.Extensions.FileProviders.Physical" Version="9.0.4" /> <PackageVersion Include="Microsoft.Extensions.FileProviders.Physical" Version="9.0.5" />
<PackageVersion Include="Microsoft.Extensions.FileSystemGlobbing" Version="9.0.4" /> <PackageVersion Include="Microsoft.Extensions.FileSystemGlobbing" Version="9.0.5" />
<PackageVersion Include="Microsoft.Extensions.Hosting" Version="9.0.4" /> <PackageVersion Include="Microsoft.Extensions.Hosting" Version="9.0.5" />
<PackageVersion Include="Microsoft.Extensions.Hosting.Abstractions" Version="9.0.4" /> <PackageVersion Include="Microsoft.Extensions.Hosting.Abstractions" Version="9.0.5" />
<PackageVersion Include="Microsoft.Extensions.Http" Version="9.0.4" /> <PackageVersion Include="Microsoft.Extensions.Http" Version="9.0.5" />
<PackageVersion Include="Microsoft.Extensions.Identity.Core" Version="9.0.4" /> <PackageVersion Include="Microsoft.Extensions.Identity.Core" Version="9.0.5" />
<PackageVersion Include="Microsoft.Extensions.Localization" Version="9.0.4" /> <PackageVersion Include="Microsoft.Extensions.Localization" Version="9.0.5" />
<PackageVersion Include="Microsoft.Extensions.Logging.Abstractions" Version="9.0.4" /> <PackageVersion Include="Microsoft.Extensions.Logging.Abstractions" Version="9.0.5" />
<PackageVersion Include="Microsoft.Extensions.Logging" Version="9.0.4" /> <PackageVersion Include="Microsoft.Extensions.Logging" Version="9.0.5" />
<PackageVersion Include="Microsoft.Extensions.Logging.Console" Version="9.0.4" /> <PackageVersion Include="Microsoft.Extensions.Logging.Console" Version="9.0.5" />
<PackageVersion Include="Microsoft.Extensions.Options" Version="9.0.4" /> <PackageVersion Include="Microsoft.Extensions.Options" Version="9.0.5" />
<PackageVersion Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="9.0.4" /> <PackageVersion Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="9.0.5" />
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.13.0" /> <PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.13.0" />
<PackageVersion Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="9.0.0" /> <PackageVersion Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="9.0.0" />
<PackageVersion Include="Microsoft.SourceLink.GitHub" Version="8.0.0" /> <PackageVersion Include="Microsoft.SourceLink.GitHub" Version="8.0.0" />
@ -163,17 +163,17 @@
<PackageVersion Include="Spectre.Console" Version="0.50.0" /> <PackageVersion Include="Spectre.Console" Version="0.50.0" />
<PackageVersion Include="StackExchange.Redis" Version="2.8.31" /> <PackageVersion Include="StackExchange.Redis" Version="2.8.31" />
<PackageVersion Include="Swashbuckle.AspNetCore" Version="8.1.1" /> <PackageVersion Include="Swashbuckle.AspNetCore" Version="8.1.1" />
<PackageVersion Include="System.Collections.Immutable" Version="9.0.4" /> <PackageVersion Include="System.Collections.Immutable" Version="9.0.5" />
<PackageVersion Include="System.ComponentModel.Annotations" Version="5.0.0" /> <PackageVersion Include="System.ComponentModel.Annotations" Version="5.0.0" />
<PackageVersion Include="System.Linq.Async" Version="6.0.1" /> <PackageVersion Include="System.Linq.Async" Version="6.0.1" />
<PackageVersion Include="System.Linq.Dynamic.Core" Version="1.6.2" /> <PackageVersion Include="System.Linq.Dynamic.Core" Version="1.6.2" />
<PackageVersion Include="System.Linq.Queryable" Version="4.3.0" /> <PackageVersion Include="System.Linq.Queryable" Version="4.3.0" />
<PackageVersion Include="System.Runtime.Loader" Version="4.3.0" /> <PackageVersion Include="System.Runtime.Loader" Version="4.3.0" />
<PackageVersion Include="System.Security.Permissions" Version="9.0.4" /> <PackageVersion Include="System.Security.Permissions" Version="9.0.5" />
<PackageVersion Include="System.Security.Principal.Windows" Version="5.0.0" /> <PackageVersion Include="System.Security.Principal.Windows" Version="5.0.0" />
<PackageVersion Include="System.Text.Encoding.CodePages" Version="9.0.4" /> <PackageVersion Include="System.Text.Encoding.CodePages" Version="9.0.5" />
<PackageVersion Include="System.Text.Encodings.Web" Version="9.0.4" /> <PackageVersion Include="System.Text.Encodings.Web" Version="9.0.5" />
<PackageVersion Include="System.Text.Json" Version="9.0.4" /> <PackageVersion Include="System.Text.Json" Version="9.0.5" />
<PackageVersion Include="System.Threading.Tasks.Extensions" Version="4.6.3" /> <PackageVersion Include="System.Threading.Tasks.Extensions" Version="4.6.3" />
<PackageVersion Include="TencentCloudSDK.Sms" Version="3.0.1231" /> <PackageVersion Include="TencentCloudSDK.Sms" Version="3.0.1231" />
<PackageVersion Include="TimeZoneConverter" Version="7.0.0" /> <PackageVersion Include="TimeZoneConverter" Version="7.0.0" />

2
README.md

@ -27,7 +27,7 @@ The following diagram contains the core components of the **ABP Platform** and s
ABP offers a complete architectural model to build modern enterprise software solutions. Here, the fundamental architectural structures offered and first-class supported by ABP: ABP offers a complete architectural model to build modern enterprise software solutions. Here, the fundamental architectural structures offered and first-class supported by ABP:
* [Domain Driven Design](https://abp.io/docs/latest/framework/architecture/domain-driven-design) * [Domain Driven Design (DDD)](https://abp.io/docs/latest/framework/architecture/domain-driven-design)
* [Microservices](https://abp.io/docs/latest/framework/architecture/microservices) * [Microservices](https://abp.io/docs/latest/framework/architecture/microservices)
* [Modularity](https://abp.io/docs/latest/framework/architecture/modularity/basics) * [Modularity](https://abp.io/docs/latest/framework/architecture/modularity/basics)
* [Multi-Tenancy](https://abp.io/docs/latest/framework/architecture/multi-tenancy) * [Multi-Tenancy](https://abp.io/docs/latest/framework/architecture/multi-tenancy)

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

@ -717,6 +717,8 @@
"IncludePrereleaseInfo": "Gets or sets whether to include prerelease versions in the cache", "IncludePrereleaseInfo": "Gets or sets whether to include prerelease versions in the cache",
"CacheVersionCount": "Cache Version Count", "CacheVersionCount": "Cache Version Count",
"CacheVersionCountInfo": "Gets or sets the number of versions to cache", "CacheVersionCountInfo": "Gets or sets the number of versions to cache",
"CacheLatestVersionsInfo": "This caches the latest versions of the NuGet packages" "CacheLatestVersionsInfo": "This caches the latest versions of the NuGet packages",
"NuGetApiKey": "NuGet API key",
"QuestionCount": "Question Count"
} }
} }

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

@ -66,7 +66,7 @@
"AuditLogging": "Audit Logging", "AuditLogging": "Audit Logging",
"Caching": "Caching", "Caching": "Caching",
"Multitenancy": "Multitenancy", "Multitenancy": "Multitenancy",
"DataFiltering": "Data filtering", "DataFiltering": "Data Filtering",
"ConventionOverConfiguration": "Convention Over Configuration", "ConventionOverConfiguration": "Convention Over Configuration",
"ConventionOverConfigurationExplanation": "ABP implements common application conventions by default with minimal or zero configuration.", "ConventionOverConfigurationExplanation": "ABP implements common application conventions by default with minimal or zero configuration.",
"ConventionOverConfigurationExplanationList1": "Auto registers known services to dependency injection.", "ConventionOverConfigurationExplanationList1": "Auto registers known services to dependency injection.",
@ -1889,6 +1889,7 @@
"FaqIyzicoPaymentIssuesExplanation8": "ABP website doesn't save or process your credit card. We use payment gateways for this and the entire transaction is handled by payment gateways. We have no authority to interfere with the payment process or fix the payment steps. If you have further questions or need additional support, feel free to contact us at <a href='https://abp.io/contact'>abp.io/contact</a>.", "FaqIyzicoPaymentIssuesExplanation8": "ABP website doesn't save or process your credit card. We use payment gateways for this and the entire transaction is handled by payment gateways. We have no authority to interfere with the payment process or fix the payment steps. If you have further questions or need additional support, feel free to contact us at <a href='https://abp.io/contact'>abp.io/contact</a>.",
"BiographyContainsUrlValidationMessage": "Biography cannot contain URL.", "BiographyContainsUrlValidationMessage": "Biography cannot contain URL.",
"CreatePostSEOTitleInfo": "SEO URL is a clean, readable, keyword-rich URL that helps both users and search engines understand what this post is about. Keep it short with 60 characters. SEO titles over 60 characters will be truncated. Use hyphens (-) to separate words (not underscores). Include target keywords near the start. Lowercase only. No stop words unless needed (e.g: \"and\", \"or\", \"the\").", "CreatePostSEOTitleInfo": "SEO URL is a clean, readable, keyword-rich URL that helps both users and search engines understand what this post is about. Keep it short with 60 characters. SEO titles over 60 characters will be truncated. Use hyphens (-) to separate words (not underscores). Include target keywords near the start. Lowercase only. No stop words unless needed (e.g: \"and\", \"or\", \"the\").",
"SEOTitle": "SEO URL" "SEOTitle": "SEO URL",
"InvalidYouTubeUrl": "The URL you entered is not a valid YouTube video link. Please make sure it points to a specific video and try again."
} }
} }

86
docs/en/Blog-Posts/2025-06-02 v9_2_Release_Stable/POST.md

@ -0,0 +1,86 @@
# ABP.IO Platform 9.2 Final Has Been Released!
We are glad to announce that [ABP](https://abp.io/) 9.2 stable version has been released today.
## What's New With Version 9.2?
All the new features were explained in detail in the [9.2 RC Announcement Post](https://abp.io/community/articles/abp-platform-9.2-rc-has-been-released-jpq072nh), so there is no need to review them again. You can check it out for more details.
## Getting Started with 9.2
### Creating New Solutions
You can check the [Get Started page](https://abp.io/get-started) to see how to get started with ABP. You can either download [ABP Studio](https://abp.io/get-started#abp-studio-tab) (**recommended**, if you prefer a user-friendly GUI application - desktop application) or use the [ABP CLI](https://abp.io/docs/latest/cli) to create new solutions.
### How to Upgrade an Existing Solution
You can upgrade your existing solutions with either ABP Studio or ABP CLI. In the following sections, both approaches are explained:
### Upgrading via ABP Studio
If you are already using the ABP Studio, you can upgrade it to the latest version. ABP Studio periodically checks for updates in the background, and when a new version of ABP Studio is available, you will be notified through a modal. Then, you can update it by confirming the opened modal. See [the documentation](https://abp.io/docs/latest/studio/installation#upgrading) for more info.
After upgrading the ABP Studio, then you can open your solution in the application, and simply click the **Upgrade ABP Packages** action button to instantly upgrade your solution:
![](upgrade-abp-packages.png)
### Upgrading via ABP CLI
Alternatively, you can upgrade your existing solution via ABP CLI. First, you need to install the ABP CLI or upgrade it to the latest version.
If you haven't installed it yet, you can run the following command:
```bash
dotnet tool install -g Volo.Abp.Studio.Cli
```
Or to update the existing CLI, you can run the following command:
```bash
dotnet tool update -g Volo.Abp.Studio.Cli
```
After installing/updating the ABP CLI, you can use the [`update` command](https://abp.io/docs/latest/CLI#update) to update all the ABP related NuGet and NPM packages in your solution as follows:
```bash
abp update
```
You can run this command in the root folder of your solution to update all ABP related packages.
## Migration Guides
There are a few breaking changes in this version that may affect your application. Please read the migration guide carefully, if you are upgrading from v9.x: [ABP Version 9.2 Migration Guide](https://abp.io/docs/9.2/release-info/migration-guides/abp-9-2)
## Community News
### New ABP Community Articles
As always, exciting articles have been contributed by the ABP community. I will highlight some of them here:
* [Liming Ma](https://github.com/maliming) has published 3 new articles:
* [Integrating .NET AI Chat Template with ABP Framework](https://abp.io/community/articles/integrating-.net-ai-chat-template-with-abp-framework-qavb5p2j)
* [Resolving Tenant from Route in ABP Framework](https://abp.io/community/articles/resolving-tenant-from-route-in-abp-framework-ah7oru97)
* [Common Errors in JWT Bearer Authentication](https://abp.io/community/articles/common-errors-in-jwt-bearer-authentication-4u3wrbs5)
* [Engincan Veske](https://engincanveske.substack.com/) has published 3 new articles:
* [Understanding HttpApi.Client Project & Remote Services in an ABP Based Application](https://abp.io/community/articles/http-api-client-and-remote-services-in-abp-based-application-xkknsp6m)
* [Using Elsa 3 with the ABP Framework: A Comprehensive Guide](https://abp.io/community/articles/using-elsa-3-workflow-with-abp-framework-usqk8afg)
* [Implementing Custom Tenant Logo Feature in ABP Framework: A Step-by-Step Guide](https://abp.io/community/articles/implementing-custom-tenant-logo-feature-in-abp-framework-a-stepbystep-guide-sba96ac9)
* [Berkan Şaşmaz](https://berkansasmaz.com/) has published 2 new articles:
* [Understanding the Domain and Application Layers in ABP Framework](https://abp.io/community/articles/understanding-the-domain-and-application-layers-in-abp-1fipc4x4)
* [How Do We Maintain Code Quality and Technical Debt in Our .NET Codebase?](https://abp.io/community/articles/how-do-we-maintain-code-quality-and-technical-debt-in-our-.net-codebase-z7glpya1)
* [Enis Necipoğlu](https://github.com/enisn) has published 2 new articles:
* [White Labeling in ABP Framework](https://abp.io/community/articles/white-labeling-in-abp-framework-5trwmrfm) by [Enis Necipoğlu](https://github.com/enisn)
* [You do it wrong! Customizing ABP Login Page Correctly](https://abp.io/community/articles/you-do-it-wrong-customizing-abp-login-page-correctly-bna7wzt5)
* [Ariful Islam](https://abp.io/community/members/arif) has published 2 new articles:
* [Multi-Workspace Management for ABP Applications](https://abp.io/community/articles/multiworkspace-management-for-abp-applications-eghgty3j)
* [Using Semantic Kernel in the ABP Framework](https://abp.io/community/articles/using-semantic-kernel-in-the-abp-framework-qo5cnuzs)
* [Guide to Add Custom Modules in ABP.IO App](https://abp.io/community/articles/guide-to-add-custom-modules-in-abp.io-app-sttetffa) by [Harsh Gupta](https://abp.io/community/members/harshgupta)
* [Debugging NuGet Packages in ABP.IO: A Complete Guide](https://abp.io/community/articles/debugging-nuget-packages-in-abp.io-a-complete-guide-h13y2033) by [Suhaib Mousa](https://suhaibmousa.com/)
* [Using Microsoft AI Extensions Library and OpenAI to Summarize User Comments](https://abp.io/community/articles/using-microsoft-ai-extensions-library-and-openai-to-summarize-user-comments-gj1lusg7) by [Halil Ibrahim Kalkan](https://twitter.com/hibrahimkalkan)
Thanks to the ABP Community for all the content they have published. You can also [post your ABP related (text or video) content](https://abp.io/community/posts/create) to the ABP Community.
## About the Next Version
The next feature version will be 9.3. You can follow the [release planning here](https://github.com/abpframework/abp/milestones). Please [submit an issue](https://github.com/abpframework/abp/issues/new) if you have any problems with this version.

BIN
docs/en/Blog-Posts/2025-06-02 v9_2_Release_Stable/cover-image.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 492 KiB

BIN
docs/en/Blog-Posts/2025-06-02 v9_2_Release_Stable/upgrade-abp-packages.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

4
docs/en/Community-Articles/2021-06-17-Using-Elsa-Workflow-with-ABP-Framework/POST.md

@ -1,5 +1,7 @@
# Using Elsa Workflow with ABP Framework # Using Elsa Workflow with ABP Framework
> **UPDATE:** There is a newer version of this article, which covers Elsa 3 with ABP Framework. You can check it at https://abp.io/community/articles/using-elsa-3-workflow-with-abp-framework-usqk8afg
**Elsa Core** is an open-source workflows library that can be used in any kind of .NET Core application. Using such a workflow library can be useful to implement business rules visually or programmatically. **Elsa Core** is an open-source workflows library that can be used in any kind of .NET Core application. Using such a workflow library can be useful to implement business rules visually or programmatically.
![elsa-overview](./elsa-overview.gif) ![elsa-overview](./elsa-overview.gif)
@ -465,4 +467,4 @@ namespace ElsaDemo.Web.Menus
> 🛠 Liked this post? I now share all my content on Substack — real-world .NET, AI, and scalable software design. > 🛠 Liked this post? I now share all my content on Substack — real-world .NET, AI, and scalable software design.
> 👉 Subscribe here → engincanveske.substack.com > 👉 Subscribe here → engincanveske.substack.com
> 🎥 Also, check out my YouTube channel for hands-on demos and deep dives: https://www.youtube.com/@engincanv > 🎥 Also, check out my YouTube channel for hands-on demos and deep dives: https://www.youtube.com/@engincanv
--- ---

4
docs/en/Community-Articles/2025-03-23-Understanding-the-Embedded-Files-in-ABP-Framework/post.md

@ -119,7 +119,7 @@ For example, if your filename is `zh.hans.json`, ABP will generate the following
[File] [/MyModule/Volo/Abp/MyModule/Localization/zh/hans.json] [File] [/MyModule/Volo/Abp/MyModule/Localization/zh/hans.json]
``` ```
Microsoft provides the `Microsoft.Extensions.FileProviders.Manifest` library to solve this problem. Microsoft provides the `Microsoft.Extensions.FileProviders.Embedded` library to solve this problem.
We need to add this package dependency and set `<GenerateEmbeddedFilesManifest>true</GenerateEmbeddedFilesManifest>` in our project: We need to add this package dependency and set `<GenerateEmbeddedFilesManifest>true</GenerateEmbeddedFilesManifest>` in our project:
@ -136,7 +136,7 @@ We need to add this package dependency and set `<GenerateEmbeddedFilesManifest>t
<ItemGroup> <ItemGroup>
<PackageReference Include="Microsoft.Extensions.Hosting" Version="9.0.0" /> <PackageReference Include="Microsoft.Extensions.Hosting" Version="9.0.0" />
<PackageReference Include="Volo.Abp.VirtualFileSystem" Version="9.0.0" /> <PackageReference Include="Volo.Abp.VirtualFileSystem" Version="9.0.0" />
<PackageReference Include="Microsoft.Extensions.FileProviders.Manifest" Version="9.0.0" /> <PackageReference Include="Microsoft.Extensions.FileProviders.Embedded" Version="9.0.0" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

BIN
docs/en/Community-Articles/2025-04-20-IDX10204/header.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 68 KiB

After

Width:  |  Height:  |  Size: 45 KiB

BIN
docs/en/Community-Articles/2025-04-20-IDX10204/payload.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 228 KiB

After

Width:  |  Height:  |  Size: 142 KiB

BIN
docs/en/Community-Articles/2025-04-25-AI-Comment-Summarization/summary-card.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 22 KiB

134
docs/en/Community-Articles/2025-05-11-AI-Chat/POST.md

@ -0,0 +1,134 @@
# Integrating .NET AI Chat Template with ABP Framework
This article demonstrates how to integrate the [.NET AI Chat Template](https://devblogs.microsoft.com/dotnet/announcing-dotnet-ai-template-preview2/) into an ABP Framework application, enabling powerful AI chat capabilities in your ABP-based solution.
![cover](cover.png)
## Step 1: Create a New ABP Project
First, let's create a new [single-layer Blazor Server project](https://abp.io/docs/latest/solution-templates/single-layer-web-application/overview) named `AbpAiChat` using ABP Studio, You can also use the following ABP CLI command to create the project:
```bash
abp new AbpAiChat -t app-nolayers --ui-framework blazor-server --use-open-source-template
```
## Step 2: Integrate AI Chat Template
The integration process involves copying and adapting the .NET AI Chat Template code into our ABP project. The template code is already included in our sample project, so you don't need to install it separately.
### 2.1 Project Structure Changes
1. Copy Blazor components to the `Components` folder
2. Copy AI service classes to the `Services` folder
3. Add required entities(`IngestedDocument`, `IngestedRecord`) to the `AbpAiChatDbContext` and add new migration
4. Copy frontend resources to the `wwwroot` folder
5. Adjust some styles to capatible with the ABP theme
### 2.2 Required NuGet Packages
Add the following packages to `AbpAiChat.csproj`:
```xml
<PackageReference Include="Microsoft.Extensions.AI.OpenAI" Version="9.4.3-preview.1.25230.7" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="9.0.4" />
<PackageReference Include="Microsoft.Extensions.AI" Version="9.4.3-preview.1.25230.7" />
<PackageReference Include="Microsoft.SemanticKernel.Core" Version="1.47.0" />
<PackageReference Include="PdfPig" Version="0.1.9" />
<PackageReference Include="System.Linq.Async" Version="6.0.1" />
```
### 2.3 Configure AI Services
Add the following configuration to `AbpAiChatModule.cs`:
```csharp
private void ConfigureAi(ServiceConfigurationContext context)
{
var credential = new ApiKeyCredential(context.Services.GetConfiguration()["GitHubToken"] ?? throw new InvalidOperationException("Missing configuration: GitHubToken. See the README for details."));
var openAiOptions = new OpenAIClientOptions()
{
Endpoint = new Uri("https://models.inference.ai.azure.com")
};
var ghModelsClient = new OpenAIClient(credential, openAiOptions);
var chatClient = ghModelsClient.GetChatClient("gpt-4o-mini").AsIChatClient();
var embeddingGenerator = ghModelsClient.GetEmbeddingClient("text-embedding-3-small").AsIEmbeddingGenerator();
var vectorStore = new JsonVectorStore(Path.Combine(AppContext.BaseDirectory, "vector-store"));
context.Services.AddSingleton<IVectorStore>(vectorStore);
context.Services.AddScoped<DataIngestor>();
context.Services.AddSingleton<SemanticSearch>();
context.Services.AddChatClient(chatClient).UseFunctionInvocation().UseLogging();
context.Services.AddEmbeddingGenerator(embeddingGenerator);
context.Services.Configure<AbpAspNetCoreContentOptions>(options =>
{
options.ContentTypeMaps.Add(".mjs", "application/javascript");
});
}
```
The `ConfigureAi` method is called in the `ConfigureServices` method of `AbpAiChatModule`. It sets up the AI services, including the OpenAI client, chat client, embedding generator, and vector store.
### 2.4 Configure GitHub Token
Add your GitHub Personal Access Token to `appsettings.json`:
```json
{
"GitHubToken": "your-github-token"
}
```
You can obtain your token from [GitHub Personal Access Tokens](https://github.com/settings/personal-access-tokens).
## Step 3: Add Custom AI Functionality
Let's add a custom AI function to retrieve the current user's information. Update the `Chat.razor` component:
```csharp
chatOptions.Tools =
[
AIFunctionFactory.Create(SearchAsync),
AIFunctionFactory.Create(GetWeather),
AIFunctionFactory.Create(GetCurrentUserInfo)
];
[Description("Get current user information")]
private Task<string> GetCurrentUserInfo()
{
return Task.FromResult(CurrentUser.IsAuthenticated ?
$"UserId: {CurrentUser.Id}, Name: {CurrentUser.UserName}, Email: {CurrentUser.Email}, Roles: {string.Join(", ", CurrentUser.Roles)}" :
"No user information available.");
}
```
## Step 4: Add Navigation
Add a `Chat` menu item in `AbpAiChatMenuContributor` to navigate to the AI Chat component.
## Running the Application
After completing the integration, you can run the application and access the AI chat functionality. The chat interface allows you to:
- Get weather information
- Ask questions about PDF content
- Retrieve current user information
- And more!
![AI Chat Interface](ai-chat.png)
## Conclusion
This integration demonstrates how to leverage the power of AI in your ABP Framework applications. The .NET AI Chat Template provides a solid foundation for building intelligent chat interfaces, and ABP Framework makes it more powerful.
## References
- [ABP Single Layer Solution](https://abp.io/docs/latest/solution-templates/single-layer-web-application/overview)
- [.NET AI Template Documentation](https://devblogs.microsoft.com/dotnet/announcing-dotnet-ai-template-preview1/)
- [GitHub Personal Access Tokens Guide](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens)
## Source Code
- [AbpAiChat Source Code](https://github.com/abpframework/abp-samples/tree/master/AIChat)

BIN
docs/en/Community-Articles/2025-05-11-AI-Chat/ai-chat.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 236 KiB

BIN
docs/en/Community-Articles/2025-05-11-AI-Chat/cover.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

268
docs/en/Community-Articles/2025-05-19-RouteTenantResolveContributor/POST.md

@ -0,0 +1,268 @@
# Resolving Tenant from Route in ABP Framework
The ABP Framework provides multi-tenancy support with various ways to resolve tenant information, including: Cookie, Header, Domain, Route, and more.
This article will demonstrate how to resolve tenant information from the route.
## Tenant Information in Routes
In the ABP Framework, tenant information in routes is handled by the `RouteTenantResolveContributor`.
Let's say your application is hosted at `https://abp.io` and you have a tenant named `acme`. You can add the `{__tenant}` variable to your controller or page routes like this:
```csharp
[Route("{__tenant}/[Controller]")]
public class MyController : MyProjectNameController
{
[HttpGet]
public IActionResult Get()
{
return Ok("Hello My Page");
}
}
```
```cshtml
@page "{__tenant?}/mypage"
@model MyPageModel
<html>
<body>
<h1>My Page</h1>
</body>
</html>
```
When you access `https://abp.io/acme/my` or `https://abp.io/acme/mypage`, ABP will automatically resolve the tenant information from the route.
## Adding __tenant to Global Routes
While we've shown how to add `{__tenant}` to individual controllers or pages, you might want to add it globally to your entire application. Here's how to implement this:
```cs
using System;
using System.Collections.Generic;
using System.Linq;
using Microsoft.AspNetCore.Mvc.ApplicationModels;
namespace MyCompanyName;
public class AddTenantRouteToPages : IPageRouteModelConvention, IApplicationModelConvention
{
public void Apply(PageRouteModel model)
{
var selectorCount = model.Selectors.Count;
var selectorModels = new List<SelectorModel>();
for (var i = 0; i < selectorCount; i++)
{
var selector = model.Selectors[i];
selectorModels.Add(new SelectorModel
{
AttributeRouteModel = new AttributeRouteModel
{
Template = AttributeRouteModel.CombineTemplates("{__tenant:regex(^[a-zA-Z0-9]+$)}", selector.AttributeRouteModel!.Template!.RemovePreFix("/"))
}
});
}
foreach (var selectorModel in selectorModels)
{
model.Selectors.Add(selectorModel);
}
}
}
public class AddTenantRouteToControllers :IApplicationModelConvention
{
public void Apply(ApplicationModel application)
{
var controllers = application.Controllers;
foreach (var controller in controllers)
{
var selector = controller.Selectors.FirstOrDefault();
if (selector == null || selector.AttributeRouteModel == null)
{
controller.Selectors.Add(new SelectorModel
{
AttributeRouteModel = new AttributeRouteModel
{
Template = AttributeRouteModel.CombineTemplates("{__tenant:regex(^[[a-zA-Z0-9]]+$)}", controller.ControllerName)
}
});
controller.Selectors.Add(new SelectorModel
{
AttributeRouteModel = new AttributeRouteModel
{
Template = controller.ControllerName
}
});
}
else
{
var template = selector.AttributeRouteModel?.Template;
template = template.IsNullOrWhiteSpace() ? "{__tenant:regex(^[[a-zA-Z0-9]]+$)}" : AttributeRouteModel.CombineTemplates("{__tenant:regex(^[[a-zA-Z0-9]]+$)}", template.RemovePreFix("/"));
controller.Selectors.Add(new SelectorModel
{
AttributeRouteModel = new AttributeRouteModel
{
Template = template
}
});
}
}
}
}
```
Register the services:
```cs
public override void ConfigureServices(ServiceConfigurationContext context)
{
//...
PostConfigure<RazorPagesOptions>(options =>
{
options.Conventions.Add(new AddTenantRouteToPages());
});
PostConfigure<MvcOptions>(options =>
{
options.Conventions.Add(new AddTenantRouteToControllers());
});
// Configure cookie path to prevent authentication cookie loss
context.Services.ConfigureApplicationCookie(x =>
{
x.Cookie.Path = "/";
});
//...
}
```
After implementing this, you'll notice that all controllers in your Swagger UI will have the `{__tenant}` route added:
![Swagger UI](./swagger-ui.png)
## Handling Navigation Links
To ensure navigation links automatically include tenant information, we need to add middleware that dynamically adds the tenant to the PathBase:
```cs
public override void OnApplicationInitialization(ApplicationInitializationContext context)
{
//...
app.Use(async (httpContext, next) =>
{
var tenantMatch = Regex.Match(httpContext.Request.Path, "^/([^/.]+)(?:/.*)?$");
if (tenantMatch.Groups.Count > 1 && !string.IsNullOrEmpty(tenantMatch.Groups[1].Value))
{
var tenantName = tenantMatch.Groups[1].Value;
if (!tenantName.IsNullOrWhiteSpace())
{
var tenantStore = httpContext.RequestServices.GetRequiredService<ITenantStore>();
var tenantNormalizer = httpContext.RequestServices.GetRequiredService<ITenantNormalizer>();
var tenantInfo = await tenantStore.FindAsync(tenantNormalizer.NormalizeName(tenantName)!);
if (tenantInfo != null)
{
if (httpContext.Request.Path.StartsWithSegments(new PathString(tenantName.EnsureStartsWith('/')), out var matchedPath, out var remainingPath))
{
var originalPath = httpContext.Request.Path;
var originalPathBase = httpContext.Request.PathBase;
httpContext.Request.Path = remainingPath;
httpContext.Request.PathBase = originalPathBase.Add(matchedPath);
try
{
await next(httpContext);
}
finally
{
httpContext.Request.Path = originalPath;
httpContext.Request.PathBase = originalPathBase;
}
return;
}
}
}
}
await next(httpContext);
});
app.UseRouting();
app.MapAbpStaticAssets();
//...
}
```
![ui](ui.png)
After setting the PathBase, we need to add a custom tenant resolver to extract tenant information from the `PathBase`:
```cs
public class MyRouteTenantResolveContributor : RouteTenantResolveContributor
{
public const string ContributorName = "MyRoute";
public override string Name => ContributorName;
protected override Task<string?> GetTenantIdOrNameFromHttpContextOrNullAsync(ITenantResolveContext context, HttpContext httpContext)
{
var tenantId = httpContext.GetRouteValue(context.GetAbpAspNetCoreMultiTenancyOptions().TenantKey) ?? httpContext.Request.PathBase.ToString();
var tenantIdStr = tenantId?.ToString()?.RemovePreFix("/");
return Task.FromResult(!tenantIdStr.IsNullOrWhiteSpace() ? Convert.ToString(tenantIdStr) : null);
}
}
```
Register the MyRouteTenantResolveContributor with the ABP Framework:
```cs
public override void ConfigureServices(ServiceConfigurationContext context)
{
//...
Configure<AbpTenantResolveOptions>(options =>
{
options.TenantResolvers.Add(new MyRouteTenantResolveContributor());
});
//...
}
```
### Modifying abp.appPath
```csharp
public override void ConfigureServices(ServiceConfigurationContext context)
{
//...
context.Services.AddOptions<AbpThemingOptions>().Configure<IServiceProvider>((options, rootServiceProvider) =>
{
var currentTenant = rootServiceProvider.GetRequiredService<ICurrentTenant>();
if (!currentTenant.Name.IsNullOrWhiteSpace())
{
options.BaseUrl = currentTenant.Name.EnsureStartsWith('/').EnsureEndsWith('/');
}
});
context.Services.RemoveAll(x => x.ServiceType == typeof(IOptions<AbpThemingOptions>));
context.Services.Add(ServiceDescriptor.Scoped(typeof(IOptions<>), typeof(OptionsManager<>)));
//...
}
```
Browser console output:
```cs
> https://localhost:44303/acme/
> abp.appPath
> '/acme/'
```
## Summary
By following these steps, you can implement tenant resolution from routes in the ABP Framework and handle navigation links appropriately. This approach provides a clean and maintainable way to manage multi-tenancy in your application.
## References
- [ABP Multi-Tenancy](https://docs.abp.io/en/abp/latest/Multi-Tenancy)
- [Routing in ASP.NET Core](https://learn.microsoft.com/en-us/aspnet/core/fundamentals/routing)
- [HTML base tag](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/base)

BIN
docs/en/Community-Articles/2025-05-19-RouteTenantResolveContributor/cover.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

BIN
docs/en/Community-Articles/2025-05-19-RouteTenantResolveContributor/swagger-ui.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 275 KiB

BIN
docs/en/Community-Articles/2025-05-19-RouteTenantResolveContributor/ui.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 112 KiB

38
docs/en/Community-Articles/2025-06-10-bootcamp/post.md

@ -0,0 +1,38 @@
You Asked, We Delivered: Introducing Our New Training Bootcamp\!
Over the past months we’ve heard from countless freelancers, individuals and small teams asking for a focused, high-impact training without the overwhelming commitment or high costs of traditional bootcamps. So here we are\!
We're excited to introduce **ABP Bootcamp: Mastering Infrastructure & Features**, a full training experience designed to help developers level up fast with practical knowledge they can apply immediately.
This live, instructor-led program delivers four days of in-depth, real-world training on ABP’s infrastructure and core features.
**Bootcamp Details**
Dates: July 1,2,3,4 2025
Time: 17:00-19:00 (UTC) each day
Format: Live, online sessions
Price: $399 (discounted $799)
Seats: Limited to a small group
### **What You’ll Learn**
By the end of this bootcamp, you’ll have:
\-A solid understanding of ABP’s infrastructure, systems, and design patterns
\-Practical experience with features like dependency injection, configuration, logging, and localization
\-The ability to implement email templating, event bus, caching, and custom settings in real applications
\-Knowledge of best practices for building scalable, maintainable, and high-performance solutions with ABP
### **Who It’s For**
This bootcamp is ideal for:
\-Developers and freelancers using ABP in their daily work
\-Teams looking to speed up onboarding and improve development efficiency
\-Anyone who wants practical ABP knowledge without committing to long-format training programs
### **Reserve Your Spot**
Seats are limited to keep the experience interactive and personalized. With the current 50% discount, this is the most accessible way to gain hands-on ABP experience with expert guidance.
**Registration is now open. Secure your place today and master the infrastructure that powers ABP. Register here: [https://docs.google.com/forms/d/e/1FAIpQLSckMZChdqIJIuWiEvg\_KsSDmrxagRdc5WBYceAemHLrmT1oiA/viewform](https://docs.google.com/forms/d/e/1FAIpQLSckMZChdqIJIuWiEvg_KsSDmrxagRdc5WBYceAemHLrmT1oiA/viewform)**

33
docs/en/framework/data/entity-framework-core/index.md

@ -142,24 +142,27 @@ Configure<AbpDbContextOptions>(options =>
Add actions for the `ConfigureConventions` and `OnModelCreating` methods of the `DbContext` as shown below: Add actions for the `ConfigureConventions` and `OnModelCreating` methods of the `DbContext` as shown below:
````csharp ````csharp
options.DefaultConventionAction = (dbContext, builder) => Configure<AbpDbContextOptions>(options =>
{ {
// This action is called for ConfigureConventions method of all DbContexts. options.ConfigureDefaultConvention((dbContext, builder) =>
}; {
// This action is called for ConfigureConventions method of all DbContexts.
});
options.ConfigureConventions<YourDbContext>((dbContext, builder) => options.ConfigureConventions<YourDbContext>((dbContext, builder) =>
{ {
// This action is called for ConfigureConventions method of specific DbContext. // This action is called for ConfigureConventions method of specific DbContext.
}); });
options.DefaultOnModelCreatingAction = (dbContext, builder) => options.ConfigureDefaultOnModelCreating((dbContext, builder) =>
{ {
// This action is called for OnModelCreating method of all DbContexts. // This action is called for OnModelCreating method of all DbContexts.
}; });
options.ConfigureOnModelCreating<YourDbContext>((dbContext, builder) => options.ConfigureOnModelCreating<YourDbContext>((dbContext, builder) =>
{ {
// This action is called for OnModelCreating method of specific DbContext. // This action is called for OnModelCreating method of specific DbContext.
});
}); });
```` ````
@ -972,4 +975,4 @@ public class MyCustomEfCoreBulkOperationProvider
* [Entities](../../architecture/domain-driven-design/entities.md) * [Entities](../../architecture/domain-driven-design/entities.md)
* [Repositories](../../architecture/domain-driven-design/repositories.md) * [Repositories](../../architecture/domain-driven-design/repositories.md)
* [Video tutorial](https://abp.io/video-courses/essentials/abp-ef-core) * [Video tutorial](https://abp.io/video-courses/essentials/abp-ef-core)

19
docs/en/framework/infrastructure/background-jobs/index.md

@ -134,6 +134,25 @@ namespace MyProject
} }
``` ```
##### Custom Job Name
You can configure `GetBackgroundJobName` delegate of the `AbpBackgroundJobOptions` to change the default job name.
```csharp
Configure<AbpBackgroundJobOptions>(options =>
{
options.GetBackgroundJobName = (jobType) =>
{
if (jobTyep == typeof(EmailSendingArgs))
{
return "emails";
}
return BackgroundJobNameAttribute.GetName(jobType);
};
});
```
### Queue a Job Item ### Queue a Job Item
Now, you can queue an email sending job using the `IBackgroundJobManager` service: Now, you can queue an email sending job using the `IBackgroundJobManager` service:

2
docs/en/framework/infrastructure/features.md

@ -424,7 +424,7 @@ namespace FeaturesDemo
return Task.FromResult("true"); return Task.FromResult("true");
} }
return null; return Task.FromResult<string>(null);
} }
} }
} }

4
docs/en/framework/infrastructure/simple-state-checker.md

@ -11,11 +11,11 @@ public class MyObject : IHasSimpleStateCheckers<MyObject>
{ {
public int Id { get; set; } public int Id { get; set; }
public List<ISimpleStateChecker<MyObject>> SimpleStateCheckers { get; } public List<ISimpleStateChecker<MyObject>> StateCheckers { get; }
public MyObject() public MyObject()
{ {
SimpleStateCheckers = new List<ISimpleStateChecker<MyObject>>(); StateCheckers = new List<ISimpleStateChecker<MyObject>>();
} }
} }
```` ````

2
docs/en/modules/account/idle-session-timeout.md

@ -6,6 +6,8 @@ The `Idle Session Timeout` feature allows you to automatically log out users aft
You can enable/disable the `Idle Session Timeout` feature in the `Setting > Account > Idle Session Timeout` page. You can enable/disable the `Idle Session Timeout` feature in the `Setting > Account > Idle Session Timeout` page.
> This feature will be disabled if you select the `Remember Me` option on the login page.
The default idle session timeout is 1 hour. You can change it by selecting a different value from the dropdown list or entering a custom value (in minutes). The default idle session timeout is 1 hour. You can change it by selecting a different value from the dropdown list or entering a custom value (in minutes).
![idle-setting](../../images/idle-setting.png) ![idle-setting](../../images/idle-setting.png)

11
docs/en/modules/language-management.md

@ -77,6 +77,11 @@ This module follows the [Entity Best Practices & Conventions](../framework/archi
* `Language` (aggregate root): Represents a language in the system. * `Language` (aggregate root): Represents a language in the system.
* `LanguageText` (aggregate root): Represents a language text in the system. * `LanguageText` (aggregate root): Represents a language text in the system.
##### Dynamic Localization
* `LocalizationResourceRecord` (aggregate root): Represents a localization resource in the system.
* `LocalizationTextRecord` (aggregate root): Represents all texts of a localization resource in the system.
#### Repositories #### Repositories
This module follows the [Repository Best Practices & Conventions](../framework/architecture/best-practices/repositories.md) guide. This module follows the [Repository Best Practices & Conventions](../framework/architecture/best-practices/repositories.md) guide.
@ -85,6 +90,8 @@ Following custom repositories are defined for this module:
* `ILanguageRepository` * `ILanguageRepository`
* `ILanguageTextRepository` * `ILanguageTextRepository`
* `ILocalizationResourceRecordRepository`
* `ILocalizationTextRecordRepository`
#### Domain Services #### Domain Services
@ -121,6 +128,8 @@ See the [connection strings](../framework/fundamentals/connection-strings.md) do
* **AbpLanguages** * **AbpLanguages**
* **AbpLanguageTexts** * **AbpLanguageTexts**
* **AbpLocalizationResources**
* **AbpLocalizationTexts**
#### MongoDB #### MongoDB
@ -128,6 +137,8 @@ See the [connection strings](../framework/fundamentals/connection-strings.md) do
* **AbpLanguages** * **AbpLanguages**
* **AbpLanguageTexts** * **AbpLanguageTexts**
* **AbpLocalizationResources**
* **AbpLocalizationTexts**
### Permissions ### Permissions

6
docs/en/modules/payment-custom-gateway.md

@ -6,7 +6,7 @@ This document explains creating custom a payment gateway that's different than t
## Creating Core Operations ## Creating Core Operations
- Create **MyPaymentGateway.cs** and implement `IPaymentGateway` - Create **MyPaymentGateway.cs** in the **Domain** layer of your project and implement `IPaymentGateway`.
```csharp ```csharp
public class MyPaymentGateway : IPaymentGateway, ITransientDependency public class MyPaymentGateway : IPaymentGateway, ITransientDependency
@ -57,7 +57,7 @@ This document explains creating custom a payment gateway that's different than t
} }
``` ```
- You should configure your gateway in `PaymentOptions` - You should also configure `PaymentOptions` for your gateway in the **Domain** layer of your project as shown below.
```csharp ```csharp
Configure<PaymentOptions>(options => Configure<PaymentOptions>(options =>
@ -119,7 +119,7 @@ There are 2 types of pages that are supported by default. You can define a pre-p
<h3>Operation Done</h3> <h3>Operation Done</h3>
``` ```
- Configure your pages in `PaymentWebOptions` - Configure your pages using `PaymentWebOptions` in **Web** layer of your project.
```csharp ```csharp
Configure<PaymentWebOptions>(options => Configure<PaymentWebOptions>(options =>

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

@ -114,9 +114,11 @@ public class BookStoreDbContext : AbpDbContext<BookStoreDbContext>
{{if DB == "Mongo"}} {{if DB == "Mongo"}}
Add a `IMongoCollection<Book> Books` property to the `BookStoreMongoDbContext` inside the `Acme.BookStore.MongoDB` project: Add an `IMongoCollection<Book> Books` property to the `BookStoreMongoDbContext` inside the `Acme.BookStore.MongoDB` project:
```csharp ```csharp
using Acme.BookStore.Books;
public class BookStoreMongoDbContext : AbpMongoDbContext public class BookStoreMongoDbContext : AbpMongoDbContext
{ {
public IMongoCollection<Book> Books => Collection<Book>(); public IMongoCollection<Book> Books => Collection<Book>();

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

@ -1038,8 +1038,6 @@ Create a new Razor Component Page, `/Pages/Authors.razor`, in the {{ if UI == "B
* This code is similar to the `Books.razor`, except it doesn't inherit from the `AbpCrudPageBase`, but uses its own implementation. * This code is similar to the `Books.razor`, except it doesn't inherit from the `AbpCrudPageBase`, but uses its own implementation.
* Injects the `IAuthorAppService` to consume the server side HTTP APIs from the UI. We can directly inject application service interfaces and use just like regular method calls by the help of [Dynamic C# HTTP API Client Proxy System](../../framework/api-development/dynamic-csharp-clients.md), which performs REST API calls for us. See the `Authors` class below to see the usage. * Injects the `IAuthorAppService` to consume the server side HTTP APIs from the UI. We can directly inject application service interfaces and use just like regular method calls by the help of [Dynamic C# HTTP API Client Proxy System](../../framework/api-development/dynamic-csharp-clients.md), which performs REST API calls for us. See the `Authors` class below to see the usage.
* Injects the `IAuthorizationService` to check [permissions](../../framework/fundamentals/authorization.md).
* Injects the `IObjectMapper` for [object to object mapping](../../framework/infrastructure/object-to-object-mapping.md).
Create a new code behind file, `Authors.razor.cs`, under the `Pages` folder, with the following content: Create a new code behind file, `Authors.razor.cs`, under the `Pages` folder, with the following content:
@ -1158,14 +1156,21 @@ public partial class Authors
private async Task DeleteAuthorAsync(AuthorDto author) private async Task DeleteAuthorAsync(AuthorDto author)
{ {
var confirmMessage = L["AuthorDeletionConfirmationMessage", author.Name]; try
if (!await Message.Confirm(confirmMessage))
{ {
return; var confirmMessage = L["AuthorDeletionConfirmationMessage", author.Name];
} if (!await Message.Confirm(confirmMessage))
{
return;
}
await AuthorAppService.DeleteAsync(author.Id); await AuthorAppService.DeleteAsync(author.Id);
await GetAuthorsAsync(); await GetAuthorsAsync();
}
catch(Exception ex)
{
await HandleErrorAsync(ex);
}
} }
private void CloseEditAuthorModal() private void CloseEditAuthorModal()
@ -1175,21 +1180,35 @@ public partial class Authors
private async Task CreateAuthorAsync() private async Task CreateAuthorAsync()
{ {
if (await CreateValidationsRef.ValidateAll()) try
{ {
await AuthorAppService.CreateAsync(NewAuthor); if (await CreateValidationsRef.ValidateAll())
await GetAuthorsAsync(); {
CreateAuthorModal.Hide(); await AuthorAppService.CreateAsync(NewAuthor);
await GetAuthorsAsync();
CreateAuthorModal.Hide();
}
}
catch(Exception ex)
{
await HandleErrorAsync(ex);
} }
} }
private async Task UpdateAuthorAsync() private async Task UpdateAuthorAsync()
{ {
if (await EditValidationsRef.ValidateAll()) try
{ {
await AuthorAppService.UpdateAsync(EditingAuthorId, EditingAuthor); if (await EditValidationsRef.ValidateAll())
await GetAuthorsAsync(); {
EditAuthorModal.Hide(); await AuthorAppService.UpdateAsync(EditingAuthorId, EditingAuthor);
await GetAuthorsAsync();
EditAuthorModal.Hide();
}
}
catch(Exception ex)
{
await HandleErrorAsync(ex);
} }
} }
} }

4
docs/en/tutorials/microservice/part-01.md

@ -21,7 +21,7 @@ Follow the *[Get Started](../../get-started/microservice.md)* guide to create a
You can select the other options based on your preference. You can select the other options based on your preference.
> **Please complete the *[Get Started](../../get-started/layered-web-application.md)* guide and run the web application before going further.** You can skip the sections after the *Running the Solution* section, if you don't prefer to complete all. > **Please complete the *[Get Started](../../get-started/microservice.md)* guide and run the applications before going further.** You can skip the sections after the *Running the Solution* section, if you don't prefer to complete all.
The initial solution structure should be like the following in ABP Studio's *[Solution Explorer](../../studio/solution-explorer.md)*: The initial solution structure should be like the following in ABP Studio's *[Solution Explorer](../../studio/solution-explorer.md)*:
@ -37,4 +37,4 @@ You can see the *[Microservice Solution Template](../../solution-templates/micro
## Summary ## Summary
In this part, you've created the initial microservice solution, which already contains a few infrastructure services. We will create our first business service in the [next part](part-02.md). In this part, you've created the initial microservice solution, which already contains a few infrastructure services. We will create our first business service in the [next part](part-02.md).

BIN
docs/en/ui-themes/lepton-x/images/account-layout-background-style.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 MiB

After

Width:  |  Height:  |  Size: 1.5 MiB

7
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/date-range-picker/date-range-picker-extensions.js

@ -438,6 +438,13 @@
date = date.local(); date = date.local();
} }
if (options.isIso) { if (options.isIso) {
if(abp.clock.supportsMultipleTimezone()){
var timeZone = abp.clock.timeZone();
if(timeZone){
return abp.clock.normalizeToString(date.toDate());
}
}
return date.toISOString(); return date.toISOString();
} }
return date.locale('en').format(options.inputDateFormat) return date.locale('en').format(options.inputDateFormat)

9
framework/src/Volo.Abp.BackgroundJobs.Abstractions/Volo/Abp/BackgroundJobs/AbpBackgroundJobOptions.cs

@ -14,10 +14,17 @@ public class AbpBackgroundJobOptions
/// </summary> /// </summary>
public bool IsJobExecutionEnabled { get; set; } = true; public bool IsJobExecutionEnabled { get; set; } = true;
/// <summary>
/// The delegate to get the name of a background job.
/// Default: <see cref="BackgroundJobNameAttribute.GetName"/>.
/// </summary>
public Func<Type, string> GetBackgroundJobName { get; set; }
public AbpBackgroundJobOptions() public AbpBackgroundJobOptions()
{ {
_jobConfigurationsByArgsType = new Dictionary<Type, BackgroundJobConfiguration>(); _jobConfigurationsByArgsType = new Dictionary<Type, BackgroundJobConfiguration>();
_jobConfigurationsByName = new Dictionary<string, BackgroundJobConfiguration>(); _jobConfigurationsByName = new Dictionary<string, BackgroundJobConfiguration>();
GetBackgroundJobName = BackgroundJobNameAttribute.GetName;
} }
public BackgroundJobConfiguration GetJob<TArgs>() public BackgroundJobConfiguration GetJob<TArgs>()
@ -61,7 +68,7 @@ public class AbpBackgroundJobOptions
public void AddJob(Type jobType) public void AddJob(Type jobType)
{ {
AddJob(new BackgroundJobConfiguration(jobType)); AddJob(new BackgroundJobConfiguration(jobType, GetBackgroundJobName(jobType)));
} }
public void AddJob(BackgroundJobConfiguration jobConfiguration) public void AddJob(BackgroundJobConfiguration jobConfiguration)

4
framework/src/Volo.Abp.BackgroundJobs.Abstractions/Volo/Abp/BackgroundJobs/BackgroundJobConfiguration.cs

@ -10,10 +10,10 @@ public class BackgroundJobConfiguration
public string JobName { get; } public string JobName { get; }
public BackgroundJobConfiguration(Type jobType) public BackgroundJobConfiguration(Type jobType, string jobName)
{ {
JobType = jobType; JobType = jobType;
ArgsType = BackgroundJobArgsHelper.GetJobArgsType(jobType); ArgsType = BackgroundJobArgsHelper.GetJobArgsType(jobType);
JobName = BackgroundJobNameAttribute.GetName(ArgsType); JobName = jobName;
} }
} }

5
framework/src/Volo.Abp.BackgroundJobs/Volo/Abp/BackgroundJobs/DefaultBackgroundJobManager.cs

@ -18,6 +18,7 @@ public class DefaultBackgroundJobManager : IBackgroundJobManager, ITransientDepe
protected IBackgroundJobSerializer Serializer { get; } protected IBackgroundJobSerializer Serializer { get; }
protected IGuidGenerator GuidGenerator { get; } protected IGuidGenerator GuidGenerator { get; }
protected IBackgroundJobStore Store { get; } protected IBackgroundJobStore Store { get; }
protected IOptions<AbpBackgroundJobOptions> BackgroundJobOptions { get; }
protected IOptions<AbpBackgroundJobWorkerOptions> BackgroundJobWorkerOptions { get; } protected IOptions<AbpBackgroundJobWorkerOptions> BackgroundJobWorkerOptions { get; }
public DefaultBackgroundJobManager( public DefaultBackgroundJobManager(
@ -25,18 +26,20 @@ public class DefaultBackgroundJobManager : IBackgroundJobManager, ITransientDepe
IBackgroundJobSerializer serializer, IBackgroundJobSerializer serializer,
IBackgroundJobStore store, IBackgroundJobStore store,
IGuidGenerator guidGenerator, IGuidGenerator guidGenerator,
IOptions<AbpBackgroundJobOptions> backgroundJobOptions,
IOptions<AbpBackgroundJobWorkerOptions> backgroundJobWorkerOptions) IOptions<AbpBackgroundJobWorkerOptions> backgroundJobWorkerOptions)
{ {
Clock = clock; Clock = clock;
Serializer = serializer; Serializer = serializer;
GuidGenerator = guidGenerator; GuidGenerator = guidGenerator;
BackgroundJobOptions = backgroundJobOptions;
BackgroundJobWorkerOptions = backgroundJobWorkerOptions; BackgroundJobWorkerOptions = backgroundJobWorkerOptions;
Store = store; Store = store;
} }
public virtual async Task<string> EnqueueAsync<TArgs>(TArgs args, BackgroundJobPriority priority = BackgroundJobPriority.Normal, TimeSpan? delay = null) public virtual async Task<string> EnqueueAsync<TArgs>(TArgs args, BackgroundJobPriority priority = BackgroundJobPriority.Normal, TimeSpan? delay = null)
{ {
var jobName = BackgroundJobNameAttribute.GetName<TArgs>(); var jobName = BackgroundJobOptions.Value.GetBackgroundJobName(typeof(TArgs));
var jobId = await EnqueueAsync(jobName, args!, priority, delay); var jobId = await EnqueueAsync(jobName, args!, priority, delay);
return jobId.ToString(); return jobId.ToString();
} }

6
framework/src/Volo.Abp.BlazoriseUI/AbpCrudPageBase.cs

@ -357,10 +357,10 @@ public abstract class AbpCrudPageBase<
} }
} }
protected virtual Task CloseCreateModalAsync() protected virtual async Task CloseCreateModalAsync()
{ {
await InvokeAsync(CreateModal!.Hide);
NewEntity = new TCreateViewModel(); NewEntity = new TCreateViewModel();
return InvokeAsync(CreateModal!.Hide);
} }
protected virtual Task ClosingCreateModal(ModalClosingEventArgs eventArgs) protected virtual Task ClosingCreateModal(ModalClosingEventArgs eventArgs)
@ -474,11 +474,11 @@ public abstract class AbpCrudPageBase<
protected virtual async Task OnCreatedEntityAsync() protected virtual async Task OnCreatedEntityAsync()
{ {
NewEntity = new TCreateViewModel();
await GetEntitiesAsync(); await GetEntitiesAsync();
await InvokeAsync(CreateModal!.Hide); await InvokeAsync(CreateModal!.Hide);
await Notify.Success(GetCreateMessage()); await Notify.Success(GetCreateMessage());
NewEntity = new TCreateViewModel();
} }
protected virtual string GetCreateMessage() protected virtual string GetCreateMessage()

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

@ -233,19 +233,17 @@ public static class BlazoriseUiObjectExtensionPropertyInfoExtensions
switch (dataTypeAttribute.DataType) switch (dataTypeAttribute.DataType)
{ {
case DataType.Password: case DataType.Password:
return typeof(TextExtensionProperty<,>);
case DataType.Date:
return typeof(DateTimeExtensionProperty<,>);
case DataType.Time:
return typeof(TimeExtensionProperty<,>);
case DataType.EmailAddress: case DataType.EmailAddress:
return typeof(TextExtensionProperty<,>);
case DataType.Url: case DataType.Url:
return typeof(TextExtensionProperty<,>);
case DataType.PhoneNumber: case DataType.PhoneNumber:
return typeof(TextExtensionProperty<,>); return typeof(TextExtensionProperty<,>);
case DataType.Date:
case DataType.DateTime: case DataType.DateTime:
return typeof(DateTimeExtensionProperty<,>); return typeof(DateTimeExtensionProperty<,>);
case DataType.Time:
return typeof(TimeExtensionProperty<,>);
case DataType.MultilineText:
return typeof(TextAreaExtensionProperty<,>);
} }
} }

19
framework/src/Volo.Abp.BlazoriseUI/Components/ObjectExtending/TextAreaExtensionProperty.razor

@ -0,0 +1,19 @@
@typeparam TEntity
@typeparam TResourceType
@using Volo.Abp.BlazoriseUI
@using Volo.Abp.Localization
@inherits ExtensionPropertyComponentBase<TEntity, TResourceType>
@if (PropertyInfo != null && Entity != null)
{
<Validation Validator="@Validate" MessageLocalizer="@LH.Localize">
<Field>
<FieldLabel>@PropertyInfo.GetLocalizedDisplayName(StringLocalizerFactory)</FieldLabel>
<MemoEdit @bind-Text="@Value" AutoSize Disabled="IsReadonlyField">
<Feedback>
<ValidationError/>
</Feedback>
</MemoEdit>
</Field>
</Validation>
}

15
framework/src/Volo.Abp.BlazoriseUI/Components/ObjectExtending/TextAreaExtensionProperty.razor.cs

@ -0,0 +1,15 @@
using Volo.Abp.Data;
namespace Volo.Abp.BlazoriseUI.Components.ObjectExtending;
public partial class TextAreaExtensionProperty<TEntity, TResourceType>
where TEntity : IHasExtraProperties
{
protected string? Value {
get {
return PropertyInfo.GetTextInputValueOrNull(Entity.GetProperty(PropertyInfo.Name));
}
set {
Entity.SetProperty(PropertyInfo.Name, value, validate: false);
}
}
}

9
framework/src/Volo.Abp.BlazoriseUI/wwwroot/volo.abp.blazoriseui.css

@ -61,4 +61,11 @@
.table-responsive .dropdown-menu-position-strategy-fixed { .table-responsive .dropdown-menu-position-strategy-fixed {
position: fixed !important; position: fixed !important;
} }
/*
blazorise picker workaround for https://github.com/Megabit/Blazorise/issues/4917
*/
.card .flatpickr-calendar.static {
top: unset !important;
}

7
framework/src/Volo.Abp.Cli.Core/Volo.Abp.Cli.Core.csproj

@ -16,23 +16,26 @@
<PackageReference Include="Microsoft.Extensions.FileSystemGlobbing" /> <PackageReference Include="Microsoft.Extensions.FileSystemGlobbing" />
<PackageReference Include="SharpZipLib" /> <PackageReference Include="SharpZipLib" />
<PackageReference Include="NuGet.Versioning" /> <PackageReference Include="NuGet.Versioning" />
<PackageReference Include="System.Text.Encoding.CodePages" />
<PackageReference Include="System.Security.Permissions" /> <PackageReference Include="System.Security.Permissions" />
<PackageReference Include="Microsoft.CodeAnalysis.CSharp" /> <PackageReference Include="Microsoft.CodeAnalysis.CSharp" />
<PackageReference Include="Polly" /> <PackageReference Include="Polly" />
<PackageReference Include="Polly.Extensions.Http" /> <PackageReference Include="Polly.Extensions.Http" />
<PackageReference Include="LibGit2Sharp" /> <PackageReference Include="LibGit2Sharp" />
<PackageReference Include="Newtonsoft.Json" />
<PackageReference Include="StackExchange.Redis" /> <PackageReference Include="StackExchange.Redis" />
<PackageReference Include="DeepL.net" /> <PackageReference Include="DeepL.net" />
<PackageReference Include="Microsoft.AspNetCore.Razor.Language" /> <PackageReference Include="Microsoft.AspNetCore.Razor.Language" />
</ItemGroup> </ItemGroup>
<ItemGroup Condition="'$(TargetFramework)' == 'netstandard2.0' or '$(TargetFramework)' == 'netstandard2.1'">
<PackageReference Include="System.Text.Encoding.CodePages" />
</ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\Volo.Abp.Ddd.Domain\Volo.Abp.Ddd.Domain.csproj" /> <ProjectReference Include="..\Volo.Abp.Ddd.Domain\Volo.Abp.Ddd.Domain.csproj" />
<ProjectReference Include="..\Volo.Abp.Http\Volo.Abp.Http.csproj" /> <ProjectReference Include="..\Volo.Abp.Http\Volo.Abp.Http.csproj" />
<ProjectReference Include="..\Volo.Abp.IdentityModel\Volo.Abp.IdentityModel.csproj" /> <ProjectReference Include="..\Volo.Abp.IdentityModel\Volo.Abp.IdentityModel.csproj" />
<ProjectReference Include="..\Volo.Abp.Json\Volo.Abp.Json.csproj" /> <ProjectReference Include="..\Volo.Abp.Json\Volo.Abp.Json.csproj" />
<ProjectReference Include="..\Volo.Abp.Localization\Volo.Abp.Localization.csproj" /> <ProjectReference Include="..\Volo.Abp.Localization\Volo.Abp.Localization.csproj" />
<PackageReference Include="Newtonsoft.Json" />
</ItemGroup> </ItemGroup>
</Project> </Project>

1
framework/src/Volo.Abp.Cli/Volo.Abp.Cli.csproj

@ -15,7 +15,6 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Microsoft.CSharp" />
<PackageReference Include="Serilog.Extensions.Logging" /> <PackageReference Include="Serilog.Extensions.Logging" />
<PackageReference Include="Serilog.Sinks.File" /> <PackageReference Include="Serilog.Sinks.File" />
<PackageReference Include="Serilog.Sinks.Console" /> <PackageReference Include="Serilog.Sinks.Console" />

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

@ -1,4 +1,5 @@
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Logging.Abstractions;
using Volo.Abp.Logging; using Volo.Abp.Logging;
namespace Microsoft.Extensions.DependencyInjection; namespace Microsoft.Extensions.DependencyInjection;
@ -7,6 +8,7 @@ public static class ServiceCollectionLoggingExtensions
{ {
public static ILogger<T> GetInitLogger<T>(this IServiceCollection services) public static ILogger<T> GetInitLogger<T>(this IServiceCollection services)
{ {
return services.GetSingletonInstance<IInitLoggerFactory>().Create<T>(); var loggerFactory = services.GetSingletonInstanceOrNull<IInitLoggerFactory>();
return loggerFactory == null ? NullLogger<T>.Instance : loggerFactory.Create<T>();
} }
} }

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

@ -16,7 +16,6 @@
<RootNamespace /> <RootNamespace />
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="System.Collections.Immutable" />
<PackageReference Include="Microsoft.Extensions.Localization" /> <PackageReference Include="Microsoft.Extensions.Localization" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection" /> <PackageReference Include="Microsoft.Extensions.DependencyInjection" />
<PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" /> <PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" />
@ -26,10 +25,7 @@
<PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" /> <PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" />
<PackageReference Include="Microsoft.Extensions.Logging" /> <PackageReference Include="Microsoft.Extensions.Logging" />
<PackageReference Include="Microsoft.Extensions.Hosting.Abstractions" /> <PackageReference Include="Microsoft.Extensions.Hosting.Abstractions" />
<PackageReference Include="System.Text.Encodings.Web" />
<PackageReference Include="System.Runtime.Loader" />
<PackageReference Include="System.Linq.Dynamic.Core" /> <PackageReference Include="System.Linq.Dynamic.Core" />
<PackageReference Include="System.Linq.Queryable" />
<PackageReference Include="JetBrains.Annotations" /> <PackageReference Include="JetBrains.Annotations" />
<PackageReference Include="Nito.AsyncEx.Context" /> <PackageReference Include="Nito.AsyncEx.Context" />
</ItemGroup> </ItemGroup>
@ -40,6 +36,10 @@
<PackageReference Include="System.ComponentModel.Annotations" /> <PackageReference Include="System.ComponentModel.Annotations" />
</ItemGroup> </ItemGroup>
<ItemGroup Condition=" '$(TargetFrameworkIdentifier)' == '.NETStandard' And $([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), '2.0')) "> <ItemGroup Condition=" '$(TargetFrameworkIdentifier)' == '.NETStandard' And $([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), '2.0')) ">
<PackageReference Include="System.Collections.Immutable" />
<PackageReference Include="System.Text.Encodings.Web" />
<PackageReference Include="System.Runtime.Loader" />
<PackageReference Include="System.Linq.Queryable" />
<PackageReference Include="Nullable"> <PackageReference Include="Nullable">
<PrivateAssets>all</PrivateAssets> <PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>

33
framework/src/Volo.Abp.Core/Volo/Abp/DependencyInjection/ConventionalRegistrarBase.cs

@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Reflection; using System.Reflection;
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using Volo.Abp.Reflection; using Volo.Abp.Reflection;
namespace Volo.Abp.DependencyInjection; namespace Volo.Abp.DependencyInjection;
@ -11,14 +12,30 @@ public abstract class ConventionalRegistrarBase : IConventionalRegistrar
{ {
public virtual void AddAssembly(IServiceCollection services, Assembly assembly) public virtual void AddAssembly(IServiceCollection services, Assembly assembly)
{ {
var types = AssemblyHelper var logger = services.GetInitLogger<ConventionalRegistrarBase>();
.GetAllTypes(assembly) var types = Array.Empty<Type>();
.Where(
type => type != null && try
type.IsClass && {
!type.IsAbstract && types = AssemblyHelper
!type.IsGenericType .GetAllTypes(assembly)
).ToArray(); .Where(
type => type != null &&
type.IsClass &&
!type.IsAbstract &&
!type.IsGenericType
).ToArray();
}
catch (ReflectionTypeLoadException e)
{
types = e.Types.Select(x => x!).ToArray();
logger.LogException(e);
}
catch (Exception e)
{
//TODO: Trigger a global event?
logger.LogException(e);
}
AddTypes(services, types); AddTypes(services, types);
} }

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

@ -23,7 +23,6 @@ internal static class InternalServiceCollectionExtensions
{ {
var moduleLoader = new ModuleLoader(); var moduleLoader = new ModuleLoader();
var assemblyFinder = new AssemblyFinder(abpApplication); var assemblyFinder = new AssemblyFinder(abpApplication);
var typeFinder = new TypeFinder(assemblyFinder);
if (!services.IsAdded<IConfiguration>()) if (!services.IsAdded<IConfiguration>())
{ {
@ -36,8 +35,9 @@ internal static class InternalServiceCollectionExtensions
services.TryAddSingleton<IModuleLoader>(moduleLoader); services.TryAddSingleton<IModuleLoader>(moduleLoader);
services.TryAddSingleton<IAssemblyFinder>(assemblyFinder); services.TryAddSingleton<IAssemblyFinder>(assemblyFinder);
services.TryAddSingleton<ITypeFinder>(typeFinder);
services.TryAddSingleton<IInitLoggerFactory>(new DefaultInitLoggerFactory()); services.TryAddSingleton<IInitLoggerFactory>(new DefaultInitLoggerFactory());
var typeFinder = new TypeFinder(services.GetInitLogger<TypeFinder>(), assemblyFinder);
services.TryAddSingleton<ITypeFinder>(typeFinder);
services.AddAssemblyOf<IAbpApplication>(); services.AddAssemblyOf<IAbpApplication>();

9
framework/src/Volo.Abp.Core/Volo/Abp/Reflection/AssemblyHelper.cs

@ -25,13 +25,6 @@ internal static class AssemblyHelper
public static IReadOnlyList<Type> GetAllTypes(Assembly assembly) public static IReadOnlyList<Type> GetAllTypes(Assembly assembly)
{ {
try return assembly.GetTypes();
{
return assembly.GetTypes();
}
catch (ReflectionTypeLoadException ex)
{
return ex.Types!;
}
} }
} }

15
framework/src/Volo.Abp.Core/Volo/Abp/Reflection/TypeFinder.cs

@ -1,19 +1,24 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Reflection;
using System.Threading; using System.Threading;
using Microsoft.Extensions.Logging;
namespace Volo.Abp.Reflection; namespace Volo.Abp.Reflection;
public class TypeFinder : ITypeFinder public class TypeFinder : ITypeFinder
{ {
private readonly ILogger<TypeFinder> _logger;
private readonly IAssemblyFinder _assemblyFinder; private readonly IAssemblyFinder _assemblyFinder;
private readonly Lazy<IReadOnlyList<Type>> _types; private readonly Lazy<IReadOnlyList<Type>> _types;
public TypeFinder(IAssemblyFinder assemblyFinder) public TypeFinder(ILogger<TypeFinder> logger, IAssemblyFinder assemblyFinder)
{ {
_assemblyFinder = assemblyFinder; _assemblyFinder = assemblyFinder;
_logger = logger;
_types = new Lazy<IReadOnlyList<Type>>(FindAll, LazyThreadSafetyMode.ExecutionAndPublication); _types = new Lazy<IReadOnlyList<Type>>(FindAll, LazyThreadSafetyMode.ExecutionAndPublication);
} }
@ -37,9 +42,15 @@ public class TypeFinder : ITypeFinder
allTypes.AddRange(typesInThisAssembly.Where(type => type != null)); allTypes.AddRange(typesInThisAssembly.Where(type => type != null));
} }
catch catch (ReflectionTypeLoadException e)
{
allTypes = e.Types.Select(x => x!).ToList();
_logger.LogException(e);
}
catch (Exception e)
{ {
//TODO: Trigger a global event? //TODO: Trigger a global event?
_logger.LogException(e);
} }
} }

4
framework/src/Volo.Abp.EventBus.RabbitMQ/Volo/Abp/EventBus/RabbitMq/AbpEventBusRabbitMqModule.cs

@ -1,4 +1,6 @@
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.DependencyInjection.Extensions;
using Microsoft.Extensions.Options;
using Volo.Abp.Modularity; using Volo.Abp.Modularity;
using Volo.Abp.RabbitMQ; using Volo.Abp.RabbitMQ;
@ -12,8 +14,8 @@ public class AbpEventBusRabbitMqModule : AbpModule
public override void ConfigureServices(ServiceConfigurationContext context) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
var configuration = context.Services.GetConfiguration(); var configuration = context.Services.GetConfiguration();
Configure<AbpRabbitMqEventBusOptions>(configuration.GetSection("RabbitMQ:EventBus")); Configure<AbpRabbitMqEventBusOptions>(configuration.GetSection("RabbitMQ:EventBus"));
context.Services.TryAddEnumerable(ServiceDescriptor.Singleton<IPostConfigureOptions<AbpRabbitMqEventBusOptions>, PostConfigureAbpRabbitMqEventBusOptions>());
} }
public override void OnApplicationInitialization(ApplicationInitializationContext context) public override void OnApplicationInitialization(ApplicationInitializationContext context)

54
framework/src/Volo.Abp.EventBus.RabbitMQ/Volo/Abp/EventBus/RabbitMq/PostConfigureAbpRabbitMqEventBusOptions.cs

@ -0,0 +1,54 @@
using System.Collections.Generic;
using Microsoft.Extensions.Options;
namespace Volo.Abp.EventBus.RabbitMq;
public class PostConfigureAbpRabbitMqEventBusOptions : IPostConfigureOptions<AbpRabbitMqEventBusOptions>
{
private readonly HashSet<string> _uint64QueueArguments =
[
"x-delivery-limit",
"x-expires",
"x-message-ttl",
"x-max-length",
"x-max-length-bytes",
"x-quorum-initial-group-size",
"x-quorum-target-group-size",
"x-stream-filter-size-bytes",
"x-stream-max-segment-size-bytes",
];
private readonly HashSet<string> _boolQueueArguments =
[
"x-single-active-consumer"
];
public virtual void PostConfigure(string? name, AbpRabbitMqEventBusOptions options)
{
ParseBoolQueueArguments(options);
ParseIntegerQueueArguments(options);
}
protected virtual void ParseBoolQueueArguments(AbpRabbitMqEventBusOptions options)
{
foreach (var argument in _boolQueueArguments)
{
if (options.QueueArguments.TryGetValue(argument, out var value) && value is string stringValue && bool.TryParse(stringValue, out var boolValue))
{
options.QueueArguments[argument] = boolValue;
}
}
}
protected virtual void ParseIntegerQueueArguments(AbpRabbitMqEventBusOptions options)
{
foreach (var argument in _uint64QueueArguments)
{
if (options.QueueArguments.TryGetValue(argument, out var value) && value is string stringValue && int.TryParse(stringValue, out var intValue))
{
options.QueueArguments[argument] = intValue;
}
}
}
}

37
framework/src/Volo.Abp.Features/Volo/Abp/Features/EditionFeatureValueProvider.cs

@ -1,5 +1,7 @@
using System.Security.Principal; using System;
using System.Security.Principal;
using System.Threading.Tasks; using System.Threading.Tasks;
using Volo.Abp.MultiTenancy;
using Volo.Abp.Security.Claims; using Volo.Abp.Security.Claims;
namespace Volo.Abp.Features; namespace Volo.Abp.Features;
@ -12,15 +14,25 @@ public class EditionFeatureValueProvider : FeatureValueProvider
protected ICurrentPrincipalAccessor PrincipalAccessor; protected ICurrentPrincipalAccessor PrincipalAccessor;
public EditionFeatureValueProvider(IFeatureStore featureStore, ICurrentPrincipalAccessor principalAccessor) protected ITenantStore TenantStore { get; }
protected ICurrentTenant CurrentTenant { get; }
public EditionFeatureValueProvider(
IFeatureStore featureStore,
ICurrentPrincipalAccessor principalAccessor,
ITenantStore tenantStore,
ICurrentTenant currentTenant)
: base(featureStore) : base(featureStore)
{ {
PrincipalAccessor = principalAccessor; PrincipalAccessor = principalAccessor;
TenantStore = tenantStore;
CurrentTenant = currentTenant;
} }
public override async Task<string?> GetOrNullAsync(FeatureDefinition feature) public async override Task<string?> GetOrNullAsync(FeatureDefinition feature)
{ {
var editionId = PrincipalAccessor.Principal?.FindEditionId(); var editionId = await FindEditionIdAsync();
if (editionId == null) if (editionId == null)
{ {
return null; return null;
@ -28,4 +40,21 @@ public class EditionFeatureValueProvider : FeatureValueProvider
return await FeatureStore.GetOrNullAsync(feature.Name, Name, editionId.Value.ToString()); return await FeatureStore.GetOrNullAsync(feature.Name, Name, editionId.Value.ToString());
} }
protected virtual async Task<Guid?> FindEditionIdAsync()
{
var editionId = PrincipalAccessor.Principal?.FindEditionId();
if (editionId != null)
{
return editionId;
}
if (CurrentTenant.Id == null)
{
return null;
}
var tenant = await TenantStore.FindAsync(CurrentTenant.Id.Value);
return tenant?.EditionId;
}
} }

4
framework/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/ClientProxying/ClientProxyUrlBuilder.cs

@ -119,8 +119,8 @@ public class ClientProxyUrlBuilder : ITransientDependency
if (path != null) if (path != null)
{ {
urlBuilder = urlBuilder.Replace($"{{{pathParameter.Name}}}", path); urlBuilder = urlBuilder.Replace($"{{{pathParameter.Name}}}", path);
continue;
} }
continue;
} }
} }
@ -164,8 +164,8 @@ public class ClientProxyUrlBuilder : ITransientDependency
urlBuilder.Append(isFirstParam ? "?" : "&"); urlBuilder.Append(isFirstParam ? "?" : "&");
urlBuilder.Append(queryString); urlBuilder.Append(queryString);
isFirstParam = false; isFirstParam = false;
continue;
} }
continue;
} }
} }

3
framework/src/Volo.Abp.Json.SystemTextJson/Volo.Abp.Json.SystemTextJson.csproj

@ -20,6 +20,9 @@
<ProjectReference Include="..\Volo.Abp.Json.Abstractions\Volo.Abp.Json.Abstractions.csproj" /> <ProjectReference Include="..\Volo.Abp.Json.Abstractions\Volo.Abp.Json.Abstractions.csproj" />
<ProjectReference Include="..\Volo.Abp.Timing\Volo.Abp.Timing.csproj" /> <ProjectReference Include="..\Volo.Abp.Timing\Volo.Abp.Timing.csproj" />
<ProjectReference Include="..\Volo.Abp.Data\Volo.Abp.Data.csproj" /> <ProjectReference Include="..\Volo.Abp.Data\Volo.Abp.Data.csproj" />
</ItemGroup>
<ItemGroup Condition="'$(TargetFramework)' == 'netstandard2.0' or '$(TargetFramework)' == 'netstandard2.1'">
<PackageReference Include="System.Text.Json" /> <PackageReference Include="System.Text.Json" />
</ItemGroup> </ItemGroup>

44
framework/src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/Clients/AbpMongoClientFactory.cs

@ -0,0 +1,44 @@
using System.Collections.Concurrent;
using System.Threading.Tasks;
using Microsoft.Extensions.Options;
using MongoDB.Driver;
using Volo.Abp.DependencyInjection;
namespace Volo.Abp.MongoDB.Clients;
public class AbpMongoClientFactory : IAbpMongoClientFactory, ISingletonDependency
{
protected ConcurrentDictionary<string, MongoClient> ClientCache { get; }
protected AbpMongoDbContextOptions Options { get; }
public AbpMongoClientFactory(IOptions<AbpMongoDbContextOptions> options)
{
Options = options.Value;
ClientCache = new ConcurrentDictionary<string, MongoClient>();
}
public virtual Task<MongoClient> GetAsync(MongoUrl mongoUrl)
{
Check.NotNull(mongoUrl, nameof(mongoUrl));
return Task.FromResult(
ClientCache.GetOrAdd(mongoUrl.ToString(), _ =>
{
var mongoClientSettings = MongoClientSettings.FromUrl(mongoUrl);
Options.MongoClientSettingsConfigurer?.Invoke(mongoClientSettings);
return new MongoClient(mongoClientSettings);
}));
}
public virtual MongoClient Get(MongoUrl mongoUrl)
{
Check.NotNull(mongoUrl, nameof(mongoUrl));
return ClientCache.GetOrAdd(mongoUrl.ToString(), _ =>
{
var mongoClientSettings = MongoClientSettings.FromUrl(mongoUrl);
Options.MongoClientSettingsConfigurer?.Invoke(mongoClientSettings);
return new MongoClient(mongoClientSettings);
});
}
}

13
framework/src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/Clients/IAbpMongoClientFactory.cs

@ -0,0 +1,13 @@
using System;
using System.Threading.Tasks;
using MongoDB.Driver;
namespace Volo.Abp.MongoDB.Clients;
public interface IAbpMongoClientFactory
{
Task<MongoClient> GetAsync(MongoUrl mongoUrl);
[Obsolete("Use GetAsync method")]
MongoClient Get(MongoUrl mongoUrl);
}

2
framework/src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/DistributedEvents/MongoDbContextEventInbox.cs

@ -64,7 +64,7 @@ public class MongoDbContextEventInbox<TMongoDbContext> : IMongoDbContextEventInb
var outgoingEventRecords = await dbContext var outgoingEventRecords = await dbContext
.IncomingEvents .IncomingEvents
.AsQueryable() .AsQueryable()
.Where(x => !x.Processed) .Where(x => x.Processed == false)
.WhereIf(transformedFilter != null, transformedFilter!) .WhereIf(transformedFilter != null, transformedFilter!)
.OrderBy(x => x.CreationTime) .OrderBy(x => x.CreationTime)
.Take(maxCount) .Take(maxCount)

28
framework/src/Volo.Abp.MongoDB/Volo/Abp/Uow/MongoDB/UnitOfWorkMongoDbContextProvider.cs

@ -4,11 +4,11 @@ using System.Threading.Tasks;
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Logging.Abstractions; using Microsoft.Extensions.Logging.Abstractions;
using Microsoft.Extensions.Options;
using MongoDB.Bson; using MongoDB.Bson;
using MongoDB.Driver; using MongoDB.Driver;
using Volo.Abp.Data; using Volo.Abp.Data;
using Volo.Abp.MongoDB; using Volo.Abp.MongoDB;
using Volo.Abp.MongoDB.Clients;
using Volo.Abp.MultiTenancy; using Volo.Abp.MultiTenancy;
using Volo.Abp.Threading; using Volo.Abp.Threading;
@ -24,23 +24,23 @@ public class UnitOfWorkMongoDbContextProvider<TMongoDbContext> : IMongoDbContext
protected readonly IConnectionStringResolver ConnectionStringResolver; protected readonly IConnectionStringResolver ConnectionStringResolver;
protected readonly ICancellationTokenProvider CancellationTokenProvider; protected readonly ICancellationTokenProvider CancellationTokenProvider;
protected readonly ICurrentTenant CurrentTenant; protected readonly ICurrentTenant CurrentTenant;
protected readonly AbpMongoDbContextOptions Options;
protected readonly IMongoDbContextTypeProvider DbContextTypeProvider; protected readonly IMongoDbContextTypeProvider DbContextTypeProvider;
protected readonly IAbpMongoClientFactory MongoClientFactory;
public UnitOfWorkMongoDbContextProvider( public UnitOfWorkMongoDbContextProvider(
IUnitOfWorkManager unitOfWorkManager, IUnitOfWorkManager unitOfWorkManager,
IConnectionStringResolver connectionStringResolver, IConnectionStringResolver connectionStringResolver,
ICancellationTokenProvider cancellationTokenProvider, ICancellationTokenProvider cancellationTokenProvider,
ICurrentTenant currentTenant, ICurrentTenant currentTenant,
IOptions<AbpMongoDbContextOptions> options, IMongoDbContextTypeProvider dbContextTypeProvider,
IMongoDbContextTypeProvider dbContextTypeProvider) IAbpMongoClientFactory mongoClientFactory)
{ {
UnitOfWorkManager = unitOfWorkManager; UnitOfWorkManager = unitOfWorkManager;
ConnectionStringResolver = connectionStringResolver; ConnectionStringResolver = connectionStringResolver;
CancellationTokenProvider = cancellationTokenProvider; CancellationTokenProvider = cancellationTokenProvider;
CurrentTenant = currentTenant; CurrentTenant = currentTenant;
DbContextTypeProvider = dbContextTypeProvider; DbContextTypeProvider = dbContextTypeProvider;
Options = options.Value; MongoClientFactory = mongoClientFactory;
Logger = NullLogger<UnitOfWorkMongoDbContextProvider<TMongoDbContext>>.Instance; Logger = NullLogger<UnitOfWorkMongoDbContextProvider<TMongoDbContext>>.Instance;
} }
@ -77,12 +77,11 @@ public class UnitOfWorkMongoDbContextProvider<TMongoDbContext> : IMongoDbContext
databaseName = ConnectionStringNameAttribute.GetConnStringName(targetDbContextType); databaseName = ConnectionStringNameAttribute.GetConnStringName(targetDbContextType);
} }
//TODO: Create only single MongoDbClient per connection string in an application (extract MongoClientCache for example).
var databaseApi = unitOfWork.GetOrAddDatabaseApi( var databaseApi = unitOfWork.GetOrAddDatabaseApi(
dbContextKey, dbContextKey,
() => new MongoDbDatabaseApi(CreateDbContext(unitOfWork, mongoUrl, databaseName))); () => new MongoDbDatabaseApi(CreateDbContext(unitOfWork, mongoUrl, databaseName)));
return (TMongoDbContext)((MongoDbDatabaseApi) databaseApi).DbContext; return (TMongoDbContext)((MongoDbDatabaseApi)databaseApi).DbContext;
} }
public virtual async Task<TMongoDbContext> GetDbContextAsync(CancellationToken cancellationToken = default) public virtual async Task<TMongoDbContext> GetDbContextAsync(CancellationToken cancellationToken = default)
@ -121,14 +120,13 @@ public class UnitOfWorkMongoDbContextProvider<TMongoDbContext> : IMongoDbContext
unitOfWork.AddDatabaseApi(dbContextKey, databaseApi); unitOfWork.AddDatabaseApi(dbContextKey, databaseApi);
} }
return (TMongoDbContext)((MongoDbDatabaseApi) databaseApi).DbContext; return (TMongoDbContext)((MongoDbDatabaseApi)databaseApi).DbContext;
} }
[Obsolete("Use CreateDbContextAsync")] [Obsolete("Use CreateDbContextAsync")]
private TMongoDbContext CreateDbContext(IUnitOfWork unitOfWork, MongoUrl mongoUrl, string databaseName) private TMongoDbContext CreateDbContext(IUnitOfWork unitOfWork, MongoUrl mongoUrl, string databaseName)
{ {
var client = CreateMongoClient(mongoUrl); var client = MongoClientFactory.Get(mongoUrl);
var database = client.GetDatabase(databaseName); var database = client.GetDatabase(databaseName);
if (unitOfWork.Options.IsTransactional) if (unitOfWork.Options.IsTransactional)
@ -148,7 +146,7 @@ public class UnitOfWorkMongoDbContextProvider<TMongoDbContext> : IMongoDbContext
string databaseName, string databaseName,
CancellationToken cancellationToken = default) CancellationToken cancellationToken = default)
{ {
var client = CreateMongoClient(mongoUrl); var client = await MongoClientFactory.GetAsync(mongoUrl);
var database = client.GetDatabase(databaseName); var database = client.GetDatabase(databaseName);
if (unitOfWork.Options.IsTransactional) if (unitOfWork.Options.IsTransactional)
@ -297,14 +295,6 @@ public class UnitOfWorkMongoDbContextProvider<TMongoDbContext> : IMongoDbContext
return ConnectionStringResolver.Resolve(dbContextType); return ConnectionStringResolver.Resolve(dbContextType);
} }
protected virtual MongoClient CreateMongoClient(MongoUrl mongoUrl)
{
var mongoClientSettings = MongoClientSettings.FromUrl(mongoUrl);
Options.MongoClientSettingsConfigurer?.Invoke(mongoClientSettings);
return new MongoClient(mongoClientSettings);
}
protected virtual CancellationToken GetCancellationToken(CancellationToken preferredValue = default) protected virtual CancellationToken GetCancellationToken(CancellationToken preferredValue = default)
{ {
return CancellationTokenProvider.FallbackToProvider(preferredValue); return CancellationTokenProvider.FallbackToProvider(preferredValue);

5
framework/src/Volo.Abp.MultiTenancy.Abstractions/Volo/Abp/MultiTenancy/TenantConfiguration.cs

@ -17,6 +17,8 @@ public class TenantConfiguration
public bool IsActive { get; set; } public bool IsActive { get; set; }
public Guid? EditionId { get; set; }
public TenantConfiguration() public TenantConfiguration()
{ {
IsActive = true; IsActive = true;
@ -33,11 +35,12 @@ public class TenantConfiguration
ConnectionStrings = new ConnectionStrings(); ConnectionStrings = new ConnectionStrings();
} }
public TenantConfiguration(Guid id, [NotNull] string name, [NotNull] string normalizedName) public TenantConfiguration(Guid id, [NotNull] string name, [NotNull] string normalizedName, Guid? editionId = null)
: this(id, name) : this(id, name)
{ {
Check.NotNull(normalizedName, nameof(normalizedName)); Check.NotNull(normalizedName, nameof(normalizedName));
NormalizedName = normalizedName; NormalizedName = normalizedName;
EditionId = editionId;
} }
} }

3
framework/test/Volo.Abp.Core.Tests/Volo/Abp/Reflection/TypeFinder_Tests.cs

@ -1,5 +1,6 @@
using System.Collections.Generic; using System.Collections.Generic;
using System.Reflection; using System.Reflection;
using Microsoft.Extensions.Logging.Abstractions;
using NSubstitute; using NSubstitute;
using Shouldly; using Shouldly;
using Xunit; using Xunit;
@ -21,7 +22,7 @@ public class TypeFinder_Tests
//Act //Act
var typeFinder = new TypeFinder(fakeAssemblyFinder); var typeFinder = new TypeFinder(NullLogger<TypeFinder>.Instance, fakeAssemblyFinder);
//Assert //Assert

3
framework/test/Volo.Abp.Http.Client.Tests/Volo/Abp/Http/DynamicProxying/TestObjectToPath.cs

@ -15,9 +15,8 @@ public class TestObjectToPath : IObjectToPath<int>, ITransientDependency
{ {
value = 888; value = 888;
} }
return Task.FromResult(value.ToString());
} }
return Task.FromResult<string>(null); return Task.FromResult(value.ToString());
} }
} }

79
framework/test/Volo.Abp.MongoDB.Tests/Volo/Abp/MongoDB/Clients/MongoClient_Factory_Tests.cs

@ -0,0 +1,79 @@
using System;
using System.Threading.Tasks;
using MongoDB.Driver;
using Xunit;
namespace Volo.Abp.MongoDB.Clients;
[Collection(MongoTestCollection.Name)]
public class MongoClient_Factory_Tests : MongoDbTestBase
{
private readonly IAbpMongoClientFactory _factory;
public MongoClient_Factory_Tests()
{
_factory = GetRequiredService<IAbpMongoClientFactory>();
}
[Fact]
public async Task Should_Return_Same_Instance_For_Same_ConnectionString()
{
// Arrange
var mongoUrl = new MongoUrl("mongodb://localhost:27017/my-db");
// Act
var client1 = await _factory.GetAsync(mongoUrl);
var client2 = await _factory.GetAsync(mongoUrl);
// Assert
Assert.Same(client1, client2);
}
[Fact]
public async Task Should_Return_Different_Instances_For_Different_ConnectionStrings()
{
// Arrange
var mongoUrl1 = new MongoUrl("mongodb://localhost:27017/db1");
var mongoUrl2 = new MongoUrl("mongodb://localhost:27017/db2");
// Act
var client1 = await _factory.GetAsync(mongoUrl1);
var client2 = await _factory.GetAsync(mongoUrl2);
// Assert
Assert.NotSame(client1, client2);
}
[Fact]
public async Task Should_Not_Throw_For_Valid_But_Unreachable_Connection()
{
// Arrange
var mongoUrl = new MongoUrl("mongodb://unreachablehost:12345/any");
// Act
var client = await _factory.GetAsync(mongoUrl);
// Assert
Assert.NotNull(client); // Even though it's not connectable now, the instance can be created
}
[Fact]
public async Task Should_Be_ThreadSafe_When_Accessed_Concurrently()
{
var mongoUrl = new MongoUrl("mongodb://localhost:27017/threadsafe");
var results = new MongoClient[100];
await Parallel.ForAsync(0, 100, async (i, _) =>
{
results[i] = await _factory.GetAsync(mongoUrl);
});
Assert.All(results, client => Assert.Same(results[0], client));
}
[Fact]
public async Task Should_Throw_If_ConnectionString_Is_Null_Or_Empty()
{
await Assert.ThrowsAsync<ArgumentNullException>(() => _factory.GetAsync(null!));
}
}

12
framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/Application/PeopleAppService.cs

@ -5,7 +5,9 @@ using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using Shouldly;
using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Dtos;
using Volo.Abp.TestApp.Domain; using Volo.Abp.TestApp.Domain;
using Volo.Abp.Domain.Repositories; using Volo.Abp.Domain.Repositories;
@ -17,10 +19,11 @@ namespace Volo.Abp.TestApp.Application;
public class PeopleAppService : CrudAppService<Person, PersonDto, Guid>, IPeopleAppService public class PeopleAppService : CrudAppService<Person, PersonDto, Guid>, IPeopleAppService
{ {
public PeopleAppService(IRepository<Person, Guid> repository) private readonly IHttpContextAccessor _httpContextAccessor;
public PeopleAppService(IRepository<Person, Guid> repository, IHttpContextAccessor httpContextAccessor)
: base(repository) : base(repository)
{ {
_httpContextAccessor = httpContextAccessor;
} }
public async Task<ListResultDto<PhoneDto>> GetPhones(Guid id, GetPersonPhonesFilter filter) public async Task<ListResultDto<PhoneDto>> GetPhones(Guid id, GetPersonPhonesFilter filter)
@ -129,6 +132,11 @@ public class PeopleAppService : CrudAppService<Person, PersonDto, Guid>, IPeople
public Task<string> GetParamsFromQueryAsync([FromQuery] GetParamsInput input) public Task<string> GetParamsFromQueryAsync([FromQuery] GetParamsInput input)
{ {
if (_httpContextAccessor.HttpContext != null)
{
_httpContextAccessor.HttpContext.Request.QueryString.ToString().ShouldNotContain("ExtraProperties=Volo.Abp.Data.ExtraPropertyDictionary");
}
return Task.FromResult(input.NameValues?.FirstOrDefault()?.Name + "-" + input.NameValues?.FirstOrDefault()?.Value + ":" + return Task.FromResult(input.NameValues?.FirstOrDefault()?.Name + "-" + input.NameValues?.FirstOrDefault()?.Value + ":" +
input.NameValues?.FirstOrDefault()?.ExtraProperties["TestPropertyInList"] + ":" + input.NameValues?.FirstOrDefault()?.ExtraProperties["TestPropertyInList"] + ":" +
input.NameValues?.LastOrDefault()?.Name + "-" + input.NameValues?.LastOrDefault()?.Value + ":" + input.NameValues?.LastOrDefault()?.Name + "-" + input.NameValues?.LastOrDefault()?.Value + ":" +

3
framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/TestAppModule.cs

@ -27,7 +27,8 @@ public class TestAppModule : AbpModule
{ {
ConfigureAutoMapper(); ConfigureAutoMapper();
ConfigureDistributedEventBus(); ConfigureDistributedEventBus();
context.Services.AddHttpContextAccessor();
context.Services.Replace(ServiceDescriptor.Singleton<IDistributedCache, TestMemoryDistributedCache>()); context.Services.Replace(ServiceDescriptor.Singleton<IDistributedCache, TestMemoryDistributedCache>());
context.Services.AddEntityCache<Product, Guid>(); context.Services.AddEntityCache<Product, Guid>();
context.Services.AddEntityCache<Product, ProductCacheItem, Guid>(); context.Services.AddEntityCache<Product, ProductCacheItem, Guid>();

20
latest-versions.json

@ -1,5 +1,23 @@
[ [
{ {
"version": "9.2.0",
"releaseDate": "",
"type": "stable",
"message": "",
"leptonx": {
"version": "4.2.0"
}
},
{
"version": "9.1.3",
"releaseDate": "",
"type": "stable",
"message": "",
"leptonx": {
"version": "4.1.3"
}
},
{
"version": "9.1.1", "version": "9.1.1",
"releaseDate": "", "releaseDate": "",
"type": "stable", "type": "stable",

1
modules/account/src/Volo.Abp.Account.Application/Volo.Abp.Account.Application.csproj

@ -17,7 +17,6 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="System.Text.Encodings.Web" />
<ProjectReference Include="..\Volo.Abp.Account.Application.Contracts\Volo.Abp.Account.Application.Contracts.csproj" /> <ProjectReference Include="..\Volo.Abp.Account.Application.Contracts\Volo.Abp.Account.Application.Contracts.csproj" />
<ProjectReference Include="..\..\..\identity\src\Volo.Abp.Identity.Application\Volo.Abp.Identity.Application.csproj" /> <ProjectReference Include="..\..\..\identity\src\Volo.Abp.Identity.Application\Volo.Abp.Identity.Application.csproj" />
<ProjectReference Include="..\..\..\..\framework\src\Volo.Abp.UI.Navigation\Volo.Abp.UI.Navigation.csproj" /> <ProjectReference Include="..\..\..\..\framework\src\Volo.Abp.UI.Navigation\Volo.Abp.UI.Navigation.csproj" />

4
modules/account/src/Volo.Abp.Account.Web.IdentityServer/Volo.Abp.Account.Web.IdentityServer.csproj

@ -33,10 +33,6 @@
<ProjectReference Include="..\Volo.Abp.Account.Web\Volo.Abp.Account.Web.csproj" /> <ProjectReference Include="..\Volo.Abp.Account.Web\Volo.Abp.Account.Web.csproj" />
</ItemGroup> </ItemGroup>
<ItemGroup>
<PackageReference Include="System.Security.Principal.Windows" />
</ItemGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Microsoft.Extensions.FileProviders.Embedded" /> <PackageReference Include="Microsoft.Extensions.FileProviders.Embedded" />
</ItemGroup> </ItemGroup>

7
modules/account/src/Volo.Abp.Account.Web/Pages/Account/Manage.cshtml

@ -13,6 +13,11 @@
<abp-script-bundle name="@typeof(ManageModel).FullName"/> <abp-script-bundle name="@typeof(ManageModel).FullName"/>
} }
@section styles {
<abp-style src="/Pages/Account/Manage.css" />
}
@if (!Model.ReturnUrl.IsNullOrWhiteSpace()) @if (!Model.ReturnUrl.IsNullOrWhiteSpace())
{ {
<abp-row class="mb-2"> <abp-row class="mb-2">
@ -31,8 +36,6 @@
@foreach (var group in Model.ProfileManagementPageCreationContext.Groups) @foreach (var group in Model.ProfileManagementPageCreationContext.Groups)
{ {
<abp-tab title="@group.DisplayName"> <abp-tab title="@group.DisplayName">
<h2>@group.DisplayName</h2>
<hr class="my-4" />
@await Component.InvokeAsync(group.ComponentType, new @await Component.InvokeAsync(group.ComponentType, new
{ {
parameter = group.Parameter parameter = group.Parameter

3
modules/account/src/Volo.Abp.Account.Web/Pages/Account/Manage.css

@ -0,0 +1,3 @@
#ProfileManagementWrapper .tab-content {
padding-top: 0 !important;
}

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

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

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

@ -2,203 +2,203 @@
# yarn lockfile v1 # yarn lockfile v1
"@abp/aspnetcore.mvc.ui.theme.shared@~9.2.0-rc.3": "@abp/aspnetcore.mvc.ui.theme.shared@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-9.2.0-rc.3.tgz#f576805a0be069a8df2698f05a43e24e0333cc94" resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-9.2.0.tgz#791f419e8e0fab229e3f93f7a90edcd259100206"
integrity sha512-MX7bgp/n0WDIX+qONMHbAIAQ4zANkCapKCWiEn/7O4TgUmNyiCL4/EfqaxxJajD3W4tu+fwply8uRClCngSm6w== integrity sha512-Mrs+kQg0S5OyRsPBwXQTqOq2DBWDdot7emETcX/gatv26GFbRe3nTOk1E+VWD/nsxHEOKTSE8LClC6TgkMxD8Q==
dependencies: dependencies:
"@abp/aspnetcore.mvc.ui" "~9.2.0-rc.3" "@abp/aspnetcore.mvc.ui" "~9.2.0"
"@abp/bootstrap" "~9.2.0-rc.3" "@abp/bootstrap" "~9.2.0"
"@abp/bootstrap-datepicker" "~9.2.0-rc.3" "@abp/bootstrap-datepicker" "~9.2.0"
"@abp/bootstrap-daterangepicker" "~9.2.0-rc.3" "@abp/bootstrap-daterangepicker" "~9.2.0"
"@abp/datatables.net-bs5" "~9.2.0-rc.3" "@abp/datatables.net-bs5" "~9.2.0"
"@abp/font-awesome" "~9.2.0-rc.3" "@abp/font-awesome" "~9.2.0"
"@abp/jquery-form" "~9.2.0-rc.3" "@abp/jquery-form" "~9.2.0"
"@abp/jquery-validation-unobtrusive" "~9.2.0-rc.3" "@abp/jquery-validation-unobtrusive" "~9.2.0"
"@abp/lodash" "~9.2.0-rc.3" "@abp/lodash" "~9.2.0"
"@abp/luxon" "~9.2.0-rc.3" "@abp/luxon" "~9.2.0"
"@abp/malihu-custom-scrollbar-plugin" "~9.2.0-rc.3" "@abp/malihu-custom-scrollbar-plugin" "~9.2.0"
"@abp/moment" "~9.2.0-rc.3" "@abp/moment" "~9.2.0"
"@abp/select2" "~9.2.0-rc.3" "@abp/select2" "~9.2.0"
"@abp/sweetalert2" "~9.2.0-rc.3" "@abp/sweetalert2" "~9.2.0"
"@abp/timeago" "~9.2.0-rc.3" "@abp/timeago" "~9.2.0"
"@abp/aspnetcore.mvc.ui@~9.2.0-rc.3": "@abp/aspnetcore.mvc.ui@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-9.2.0-rc.3.tgz#5452ff91aed1ca042c54595ef68cb4e695ad2ce3" resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-9.2.0.tgz#e3e703ea46caf04cc966ea0af6deb64427a90d4c"
integrity sha512-KAhDAS5anhYdH3x6S1uPBeT24mfdlc2LF6LcA5CZdEzUvNwpE1Ymhc0dPmlCHkGWN/R4+ykSmJwPG0uQWFeaXg== integrity sha512-VHH68/7Bw7r8p70T9grnVISgYPe2t3m9199S/wAXGtpGHML/lbHhDflWbm7y1MHcrmCfaXy42O9SmTHV25BJhA==
dependencies: dependencies:
ansi-colors "^4.1.3" ansi-colors "^4.1.3"
"@abp/bootstrap-datepicker@~9.2.0-rc.3": "@abp/bootstrap-datepicker@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-9.2.0-rc.3.tgz#45d1f05942c47fd04195fceda79cb6ce1407abce" resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-9.2.0.tgz#271ff68e2cee7b4ffe5a60406561a05948d6bbe6"
integrity sha512-IzcgeoQm294ZG+M2cxwLFeMvk3+OQOEcZrussQTChIuGnqzH+/KHboLR0wZMnmpO/4OsbYhklMS6EaWUSgmfbQ== integrity sha512-V8o1cn1MKXE5GH1ZpBHiWWilzxjHIp4IS6rNoCDBSnaQcVvRku9KPI8tPNQSf+4x3jBfHDV9aOBDbDGTQ6J2yw==
dependencies: dependencies:
bootstrap-datepicker "^1.10.0" bootstrap-datepicker "^1.10.0"
"@abp/bootstrap-daterangepicker@~9.2.0-rc.3": "@abp/bootstrap-daterangepicker@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-9.2.0-rc.3.tgz#9a094243e8e06258f2988c7759b1f042f36a3975" resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-9.2.0.tgz#a239f8c2efce57d2e2beca70ceeede52d1b177d5"
integrity sha512-NAjL+TdcmhvKjxDZwooOZr09x+mPXXLydI5UoFizf1C/OXBxXOaLi08lertF85FJN9i3o0Bv2n6gbUoTEYR/og== integrity sha512-Cd9naCyepTvmUotkR1VyOBqUMgyeSXnOVWR7HxXm+jugKtnWRzrztZB6UyfnNzzjc1RMOyiAUEjzitKSJrXeoA==
dependencies: dependencies:
bootstrap-daterangepicker "^3.1.0" bootstrap-daterangepicker "^3.1.0"
"@abp/bootstrap@~9.2.0-rc.3": "@abp/bootstrap@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-9.2.0-rc.3.tgz#20087792a43416635ba37949b4b5fcc4d72a192a" resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-9.2.0.tgz#08859288b8372ea111a240b507047b144d6caca9"
integrity sha512-X2YmErQaRrjnfgDW08GJxZ6bLg03d4/ovE7ZBmiurkcQFJs5vezkkV3CRm88ntPDEfJDE2HAJnzYR0s2FK2QLw== integrity sha512-L3EZQza2c/5VmvZkLsf0EOuaMi8fseyyiwlFN65i1hpcDwhOLcaqnxMneeaSJ+Dy4xczJT+oBml9D9OSTuzmkA==
dependencies: dependencies:
"@abp/core" "~9.2.0-rc.3" "@abp/core" "~9.2.0"
bootstrap "^5.3.3" bootstrap "^5.3.3"
"@abp/clipboard@~9.2.0-rc.3": "@abp/clipboard@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-9.2.0-rc.3.tgz#a05b2819065f74105cd1716320722012ca484de0" resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-9.2.0.tgz#348a0e45752c7eb055fb00af52660593ad340caf"
integrity sha512-2Mv/h7BciMOykARi+7rOkbMYO813nqIla4bBIZqc32muH8wuNcnaSAxZwbk0h2IJrgaTvMMK6KBFTVRaFsK/Pw== integrity sha512-2+wt2ShLBfoHqx0DNNevJkaz1POLcs1tcK1hL4ZqsjOnS7BrTk1r8zwNvCw1XEeH2S1rPftAWH4PvzL4j86DFA==
dependencies: dependencies:
"@abp/core" "~9.2.0-rc.3" "@abp/core" "~9.2.0"
clipboard "^2.0.11" clipboard "^2.0.11"
"@abp/core@~9.2.0-rc.3": "@abp/core@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-9.2.0-rc.3.tgz#05793ff9823861983a01b2f85c40c7e80cc556b1" resolved "https://registry.yarnpkg.com/@abp/core/-/core-9.2.0.tgz#db08fd34cfc891e94eb9e59ed3c0d0e6ef45c51a"
integrity sha512-QUgV+aeILnRo/8H+dalIKrd6s60+qGeAQXFxykG9WPwH112VVg7CVZ90NGW5UJ2OOdkYyBx2B/JnY0QEUQ31WQ== integrity sha512-3iESoHFj8I2xK81dwQVpCI6C1bc87VfWKyJE3/IUv4zWvG4QvI0aKhe1wxocmJqTjjowPUA3/fa2hvpfqPs2Bw==
dependencies: dependencies:
"@abp/utils" "~9.2.0-rc.3" "@abp/utils" "~9.2.0"
"@abp/datatables.net-bs5@~9.2.0-rc.3": "@abp/datatables.net-bs5@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-9.2.0-rc.3.tgz#bae729cd2fd37565ca0851bfe577d7bf68fc3c19" resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-9.2.0.tgz#eab201c959727c27aaab30dc5bd8159249d8b54b"
integrity sha512-2M6oQw2sv0UqN8NZeCmKYWetKgkQUVqo/LDWH30As7Xjtnn5sLKIDobdgUSuib0R/+cP4HuXid0uL+wV+4R5eg== integrity sha512-bmK6GKffXzYbfkDIlN27D7mohnYsXoODEiHqhZnBdIzeSJyHwrwRPRVbO1EcBn1SEBHjGJp3S69Z6gDbRs018g==
dependencies: dependencies:
"@abp/datatables.net" "~9.2.0-rc.3" "@abp/datatables.net" "~9.2.0"
datatables.net-bs5 "^2.1.8" datatables.net-bs5 "^2.1.8"
"@abp/datatables.net@~9.2.0-rc.3": "@abp/datatables.net@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-9.2.0-rc.3.tgz#b6563334315df15c22267e57b258c72f90e1c246" resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-9.2.0.tgz#e4880fe074d86d3c5dbd7f48c86244790fc376c2"
integrity sha512-5FVrRzOZsKt71oX1gcMprIGINEi/FaTM0nuddfrVR5eJrkO8s2Ldiop1u5t7JMOxg6E960kqv7Qa9p/Z2xV5QA== integrity sha512-bKaaa+tl0Pt4oNaV+X8pBbvsHc2mPYoL7yuAs+LN8ZLwBdsGoUw7RNhLQ63O3tuYdHuaHhI/mx23X6JThr0SYw==
dependencies: dependencies:
"@abp/jquery" "~9.2.0-rc.3" "@abp/jquery" "~9.2.0"
datatables.net "^2.1.8" datatables.net "^2.1.8"
"@abp/font-awesome@~9.2.0-rc.3": "@abp/font-awesome@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-9.2.0-rc.3.tgz#b6f46c3faa61095b8a34fea08cf3888865bb694b" resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-9.2.0.tgz#3e359da2510cbc0e5b9e46e9cb3664baf285722e"
integrity sha512-V8NEcFsIaVCsZ0CRVF1CD4hOtsiGWAtIvnRTTDRyc7/ABGniZbFbhbGzkBRZFynOLPQ24Ci7aPsPF8NnIHN8tQ== integrity sha512-HRGg6XK3bCxFdVvEBnBKyLamqMUrenj//E4JuKOs8DtGLVH0jTyh8TwUT5/E/pI+POV7HEOpv9WpSB2p8pfsAg==
dependencies: dependencies:
"@abp/core" "~9.2.0-rc.3" "@abp/core" "~9.2.0"
"@fortawesome/fontawesome-free" "^6.6.0" "@fortawesome/fontawesome-free" "^6.6.0"
"@abp/highlight.js@~9.2.0-rc.3": "@abp/highlight.js@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/highlight.js/-/highlight.js-9.2.0-rc.3.tgz#08d44398c165a7d6d0b1c4161d8221ae756bea90" resolved "https://registry.yarnpkg.com/@abp/highlight.js/-/highlight.js-9.2.0.tgz#85ac7c252aee377c2ff9e15153c692fdea5cb96d"
integrity sha512-HixRwHZggcFVFpPwEdDWX4bts33b/enjNE9AYFtDgdjOQ91lqrIy+BAomkUpEmO50gASRLM/ap4fhwshlyCKhA== integrity sha512-zD6UVZNUQEJ22ynqQs14jR8eBWQR7loOCpt9lPlIjXF6tnoBvcc7NBeBFw9ehKjkG2cegJCmahYb4cFnlJFigA==
dependencies: dependencies:
"@abp/core" "~9.2.0-rc.3" "@abp/core" "~9.2.0"
"@highlightjs/cdn-assets" "~11.10.0" "@highlightjs/cdn-assets" "~11.10.0"
"@abp/jquery-form@~9.2.0-rc.3": "@abp/jquery-form@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-9.2.0-rc.3.tgz#03ebb39443f4b139bf91d638dcbaf8d3879c598e" resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-9.2.0.tgz#40fac992584c26e6c54f66e7f68f8abf8944a626"
integrity sha512-7BE6Z8tZ190XFrgfZgOqULcpsj+y9tx2MU8DTw5dZYNi6Up7MiqPbbZZ4grVF65/m4OMrwEhclp4AZl75h7dww== integrity sha512-B7Shq1itQjsnzdU1kjLpGHWjkSGFhIM2iF5BNMkqcylG3Yq1Se4+8QPoJpn/soilmtX8gbO2fx8TOejfIazXIw==
dependencies: dependencies:
"@abp/jquery" "~9.2.0-rc.3" "@abp/jquery" "~9.2.0"
jquery-form "^4.3.0" jquery-form "^4.3.0"
"@abp/jquery-validation-unobtrusive@~9.2.0-rc.3": "@abp/jquery-validation-unobtrusive@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-9.2.0-rc.3.tgz#39fa67d49f47bef5683552cd997bf4d1d4900c8c" resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-9.2.0.tgz#c2df51d024d48e71f0e7fb8d4207a8b2855393f4"
integrity sha512-vrlyHE0mThB1gHTZaV5Do13P8QljgOIC+lntL1NHe8QAi1HQhsQTHEaVaAv5akJHgg3KegAXx/QGde9Oc1eCGw== integrity sha512-c1cPfWVdo+gpaMoegAkw0DzGL2fy/1ylEi/shb95MAGt3iyECVx+X+R/XOxbVHKVI57D4d5IGj6cXYBhdKkvAw==
dependencies: dependencies:
"@abp/jquery-validation" "~9.2.0-rc.3" "@abp/jquery-validation" "~9.2.0"
jquery-validation-unobtrusive "^4.0.0" jquery-validation-unobtrusive "^4.0.0"
"@abp/jquery-validation@~9.2.0-rc.3": "@abp/jquery-validation@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-9.2.0-rc.3.tgz#4a321097fdf77cec53a0deae87d186b1ff47db22" resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-9.2.0.tgz#97688d2e3c25699d4368ebf7234e04943aa5e6ab"
integrity sha512-nOnGPLkD/Dwd/ZSd74usQi5BmTPYsVzpqSf4xCWXIy9tQj+9mPpXGDTrdp/XoWCUG61VEPD0ll94PAWEj1ULfQ== integrity sha512-UO+T6SqXBrh0ODwvMm840CGbE2fdYNo5oqJL4V4JbHv9uz7MH+k0bB1DK7mFb94iDM7QcglLzIfcN4hLRV7arw==
dependencies: dependencies:
"@abp/jquery" "~9.2.0-rc.3" "@abp/jquery" "~9.2.0"
jquery-validation "^1.21.0" jquery-validation "^1.21.0"
"@abp/jquery@~9.2.0-rc.3": "@abp/jquery@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-9.2.0-rc.3.tgz#5e930ad91b52dad7d4bdeda9725fb633e9171c9e" resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-9.2.0.tgz#38c249be6eda0cdc899cc8a1f20e5152c39ae9a0"
integrity sha512-uwuj9TmM2EFaUEySC4C1nalc4+aF193pJx31uhNquP51s04IJoQeRpYGRhcqmLPej1V0SXtp9elTblM9zrm/eg== integrity sha512-sIe3Zk+8549ytydCtDlECZ930PapW/2J0652two/sJwYG/SGUGxYQbw3QnJGFTcL9TFwcWwRj5iWX0gWrLEIyA==
dependencies: dependencies:
"@abp/core" "~9.2.0-rc.3" "@abp/core" "~9.2.0"
jquery "~3.7.1" jquery "~3.7.1"
"@abp/lodash@~9.2.0-rc.3": "@abp/lodash@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-9.2.0-rc.3.tgz#340bd0268f86f9f0d9a0bc710f0af91bb1077c3e" resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-9.2.0.tgz#7fa4c9e956c766e34ec4677d2102a6d00f899a4b"
integrity sha512-/lcb0MiFJsRb5IU9aPVVJ38NwnJ5ndPd33NkNbjcfXe48q37JQ0ruWri2Pn4bhAxyxXoITtPg7nuBuDjZ8oWGQ== integrity sha512-2elXj/eWw875tF9ixbOm3uqXCxGaG5gL9Tub5k7cP+XhFpNBOYijNaXdN8SeDSxr83WDVWdrk//OQL8BF7XPdw==
dependencies: dependencies:
"@abp/core" "~9.2.0-rc.3" "@abp/core" "~9.2.0"
lodash "^4.17.21" lodash "^4.17.21"
"@abp/luxon@~9.2.0-rc.3": "@abp/luxon@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-9.2.0-rc.3.tgz#a551aa33b7c4c33500cac0431648e7d37ab60c62" resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-9.2.0.tgz#865db7b60dba4029134fb4a4b5eaa08c723dcea8"
integrity sha512-gUBnuqm1GT7qxAdt8XGc+8eDFnMRwlNB8/IEsFzZTFumIMPdBV6ZDOPnFvMZzJdcLFaPnEDN38RIP2aGGaE6fg== integrity sha512-LWjczvzu1gFIq0/2fRz+bJW2+zsmXAmfz0I+lZ3wmqUdkViqAqwTa+5NMIl2tC92u4Dv3LGXKtH37Jw8m+XjTg==
dependencies: dependencies:
"@abp/core" "~9.2.0-rc.3" "@abp/core" "~9.2.0"
luxon "^3.5.0" luxon "^3.5.0"
"@abp/malihu-custom-scrollbar-plugin@~9.2.0-rc.3": "@abp/malihu-custom-scrollbar-plugin@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-9.2.0-rc.3.tgz#ecd35f7636b27904ddb8a638cbeb1d7119098a1b" resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-9.2.0.tgz#09722b1e7ca34b96e2a68368db0e96cdf9ab0e6c"
integrity sha512-kvlX0OcxOMKfZUSF4fViu9vGxN7PUJP/1useNqUis8I068FjotHpcc6qUSciCGiX+lvFP3wcqX4RGEsQt9tGZQ== integrity sha512-kfDf/1RwGtAlos/7BW+7xbh3LtJ4VG0Z4mxS+b2HsywAwlt/kE5FltfBj2ResQb030bsGNl7A5JglV9Pv1UlPw==
dependencies: dependencies:
"@abp/core" "~9.2.0-rc.3" "@abp/core" "~9.2.0"
malihu-custom-scrollbar-plugin "^3.1.5" malihu-custom-scrollbar-plugin "^3.1.5"
"@abp/moment@~9.2.0-rc.3": "@abp/moment@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-9.2.0-rc.3.tgz#bb9b94244fa943eacdca6294ff90c43846df47df" resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-9.2.0.tgz#137d688af4df195742061ac2b8a2bf460a027071"
integrity sha512-maE6NiGgdBws3y8GbJLvWchNxXpIpurd5lTso+qI4WgCnxT06L3lZMFHXKiQbCqy86XaRkr5E8Jdwj/CxFA4UA== integrity sha512-15aTjYAxHK+upkiZ94XCe8CoSPKMl1D8f6GXJIfwPkuYZ+na4ma17qBu4P8bFsc4gu3ngxYiLHRSzYzr4oCSYQ==
dependencies: dependencies:
moment "^2.30.1" moment "^2.30.1"
"@abp/prismjs@~9.2.0-rc.3": "@abp/prismjs@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-9.2.0-rc.3.tgz#0eed2fd2710dd260330533cf72600d89683b1e42" resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-9.2.0.tgz#03fca8cd2f4bdc09a68bd9b1fcdeaede56f96542"
integrity sha512-V/cF+oKDmHkPc5AhSNnq0msICshqHVKAKi4ivSOI9+FbTK34hdThUPaVfbrFu5AFbpY4yp+6VC0bgdJtEk3qWw== integrity sha512-OUbjaxeXKxmrR9fZe/wazS9hGrYXYam/CypnQNTVaNNgSpwvgoKoCFCll9SJUGV8tXA6iEpVdszMGyRY5Hov+g==
dependencies: dependencies:
"@abp/clipboard" "~9.2.0-rc.3" "@abp/clipboard" "~9.2.0"
"@abp/core" "~9.2.0-rc.3" "@abp/core" "~9.2.0"
prismjs "^1.29.0" prismjs "^1.29.0"
"@abp/select2@~9.2.0-rc.3": "@abp/select2@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-9.2.0-rc.3.tgz#e181a888d4aaa56f57900dd2a92b3d5f1ccbd90c" resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-9.2.0.tgz#c96d869be0d3298ed7c0888288ea9829e6266cd4"
integrity sha512-yCmqJSy13vIxbhNSg5mRhef/LJCuuhM6ewmoEafBhdJdns/4N6PuzdIXt4cqgxAqkHCurcsagZevlmxLUcSf1A== integrity sha512-V+qx9hw3oe7o0WbG03ZgAjbqRJPVuedzrdy7ExEdueTc6LRP/WEgbVpXhsNISObtouE6Dadwp3iXYSExgNUC6A==
dependencies: dependencies:
"@abp/core" "~9.2.0-rc.3" "@abp/core" "~9.2.0"
select2 "^4.0.13" select2 "^4.0.13"
"@abp/sweetalert2@~9.2.0-rc.3": "@abp/sweetalert2@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-9.2.0-rc.3.tgz#fb19e319058682f73b293920e620771aa54e4129" resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-9.2.0.tgz#826d6dd0b70c35a7401cc884fb1e82af99a0305d"
integrity sha512-yJ8+GjnYPQ1h1epSqn2GkEBH7syMj/+3cX6ZZ7U1MPSw1RACELJIcH/MjZQG82D2SsvsCfoPLTzh46Jh1c9Hpg== integrity sha512-0r338ayjaL9uzmLKE8oHpcMgJeVgVoMYfhQAPINeQHv1TPXuYCLo0aoRNoLsfmUo3ayYBBa3zOrugFIVis7Q6A==
dependencies: dependencies:
"@abp/core" "~9.2.0-rc.3" "@abp/core" "~9.2.0"
sweetalert2 "^11.14.1" sweetalert2 "^11.14.1"
"@abp/timeago@~9.2.0-rc.3": "@abp/timeago@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-9.2.0-rc.3.tgz#f50436c0d3cb9c703e1b712735609e47f300f7de" resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-9.2.0.tgz#79bbe6dd32b0ee7df2e8ebd05274a0ecc7882ba7"
integrity sha512-lQtKUSHp4L4xBI+ZUicMXtZABvX8MF2udRPP1zVaZ/xcZ5MV1rRGcCM+YjRYpF0lB0DRyuGvgXFztQEok/xu5A== integrity sha512-hEUi5re5N1YkDSpaUaUtXF1Mz4YyiEvNzVADbKRz11kbR4ZAFzcvVqsQLeNo7qnuFLfJNAtuzyjkuxwL75kmaA==
dependencies: dependencies:
"@abp/jquery" "~9.2.0-rc.3" "@abp/jquery" "~9.2.0"
timeago "^1.6.7" timeago "^1.6.7"
"@abp/utils@~9.2.0-rc.3": "@abp/utils@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-9.2.0-rc.3.tgz#95ba7545627ae1d2fc8c19c6c9da1bd8a7f8d31a" resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-9.2.0.tgz#bf32ced1175e45fbe010c3cb806c7cd37f85089c"
integrity sha512-4HJCS/4qlYnqyMKH5A9JL9FWZDGYElTkLuUGuvlhsy/0BxOoJKsPPZCiX8S7RqkLEjdQSU8nkkXVANhXgIgkTA== integrity sha512-aciBuXhzlaqe+o7mNt536bCk425cmxY5BE0wwl13u3pX3LfWYWLEgwl8GS0aeI11TS1/7+1N85RJELyz/+y0hQ==
dependencies: dependencies:
just-compare "^2.3.0" 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", "name": "asp.net",
"private": true, "private": true,
"dependencies": { "dependencies": {
"@abp/aspnetcore.mvc.ui.theme.basic": "~9.2.0-rc.3", "@abp/aspnetcore.mvc.ui.theme.basic": "~9.2.0",
"@abp/prismjs": "~9.2.0-rc.3" "@abp/prismjs": "~9.2.0"
}, },
"devDependencies": {} "devDependencies": {}
} }

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

@ -2,202 +2,202 @@
# yarn lockfile v1 # yarn lockfile v1
"@abp/aspnetcore.mvc.ui.theme.basic@~9.2.0-rc.3": "@abp/aspnetcore.mvc.ui.theme.basic@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-9.2.0-rc.3.tgz#7fff474f68baac1c6330bf3ddd8e1bdbf36dabd7" resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-9.2.0.tgz#af6ff5071cadb480b4aece0f15400d56b105a350"
integrity sha512-Xjt+1JSllrFJOgyk2opdWGIEFLOIZlS/ZDGXWFfyCcsFPgJRNHcuXY8SUyZo5aebH/w42i1OVYj24mnJEO7zIg== integrity sha512-+LOmhSfsua7i3VQy9vYTDv7nE0fdIA+kNvorQ4wkkRzijOAlwmS4fkupglwOKJQSCWGAM7VXccPy2NzdmwvEtw==
dependencies: dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~9.2.0-rc.3" "@abp/aspnetcore.mvc.ui.theme.shared" "~9.2.0"
"@abp/aspnetcore.mvc.ui.theme.shared@~9.2.0-rc.3": "@abp/aspnetcore.mvc.ui.theme.shared@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-9.2.0-rc.3.tgz#f576805a0be069a8df2698f05a43e24e0333cc94" resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-9.2.0.tgz#791f419e8e0fab229e3f93f7a90edcd259100206"
integrity sha512-MX7bgp/n0WDIX+qONMHbAIAQ4zANkCapKCWiEn/7O4TgUmNyiCL4/EfqaxxJajD3W4tu+fwply8uRClCngSm6w== integrity sha512-Mrs+kQg0S5OyRsPBwXQTqOq2DBWDdot7emETcX/gatv26GFbRe3nTOk1E+VWD/nsxHEOKTSE8LClC6TgkMxD8Q==
dependencies: dependencies:
"@abp/aspnetcore.mvc.ui" "~9.2.0-rc.3" "@abp/aspnetcore.mvc.ui" "~9.2.0"
"@abp/bootstrap" "~9.2.0-rc.3" "@abp/bootstrap" "~9.2.0"
"@abp/bootstrap-datepicker" "~9.2.0-rc.3" "@abp/bootstrap-datepicker" "~9.2.0"
"@abp/bootstrap-daterangepicker" "~9.2.0-rc.3" "@abp/bootstrap-daterangepicker" "~9.2.0"
"@abp/datatables.net-bs5" "~9.2.0-rc.3" "@abp/datatables.net-bs5" "~9.2.0"
"@abp/font-awesome" "~9.2.0-rc.3" "@abp/font-awesome" "~9.2.0"
"@abp/jquery-form" "~9.2.0-rc.3" "@abp/jquery-form" "~9.2.0"
"@abp/jquery-validation-unobtrusive" "~9.2.0-rc.3" "@abp/jquery-validation-unobtrusive" "~9.2.0"
"@abp/lodash" "~9.2.0-rc.3" "@abp/lodash" "~9.2.0"
"@abp/luxon" "~9.2.0-rc.3" "@abp/luxon" "~9.2.0"
"@abp/malihu-custom-scrollbar-plugin" "~9.2.0-rc.3" "@abp/malihu-custom-scrollbar-plugin" "~9.2.0"
"@abp/moment" "~9.2.0-rc.3" "@abp/moment" "~9.2.0"
"@abp/select2" "~9.2.0-rc.3" "@abp/select2" "~9.2.0"
"@abp/sweetalert2" "~9.2.0-rc.3" "@abp/sweetalert2" "~9.2.0"
"@abp/timeago" "~9.2.0-rc.3" "@abp/timeago" "~9.2.0"
"@abp/aspnetcore.mvc.ui@~9.2.0-rc.3": "@abp/aspnetcore.mvc.ui@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-9.2.0-rc.3.tgz#5452ff91aed1ca042c54595ef68cb4e695ad2ce3" resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-9.2.0.tgz#e3e703ea46caf04cc966ea0af6deb64427a90d4c"
integrity sha512-KAhDAS5anhYdH3x6S1uPBeT24mfdlc2LF6LcA5CZdEzUvNwpE1Ymhc0dPmlCHkGWN/R4+ykSmJwPG0uQWFeaXg== integrity sha512-VHH68/7Bw7r8p70T9grnVISgYPe2t3m9199S/wAXGtpGHML/lbHhDflWbm7y1MHcrmCfaXy42O9SmTHV25BJhA==
dependencies: dependencies:
ansi-colors "^4.1.3" ansi-colors "^4.1.3"
"@abp/bootstrap-datepicker@~9.2.0-rc.3": "@abp/bootstrap-datepicker@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-9.2.0-rc.3.tgz#45d1f05942c47fd04195fceda79cb6ce1407abce" resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-9.2.0.tgz#271ff68e2cee7b4ffe5a60406561a05948d6bbe6"
integrity sha512-IzcgeoQm294ZG+M2cxwLFeMvk3+OQOEcZrussQTChIuGnqzH+/KHboLR0wZMnmpO/4OsbYhklMS6EaWUSgmfbQ== integrity sha512-V8o1cn1MKXE5GH1ZpBHiWWilzxjHIp4IS6rNoCDBSnaQcVvRku9KPI8tPNQSf+4x3jBfHDV9aOBDbDGTQ6J2yw==
dependencies: dependencies:
bootstrap-datepicker "^1.10.0" bootstrap-datepicker "^1.10.0"
"@abp/bootstrap-daterangepicker@~9.2.0-rc.3": "@abp/bootstrap-daterangepicker@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-9.2.0-rc.3.tgz#9a094243e8e06258f2988c7759b1f042f36a3975" resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-9.2.0.tgz#a239f8c2efce57d2e2beca70ceeede52d1b177d5"
integrity sha512-NAjL+TdcmhvKjxDZwooOZr09x+mPXXLydI5UoFizf1C/OXBxXOaLi08lertF85FJN9i3o0Bv2n6gbUoTEYR/og== integrity sha512-Cd9naCyepTvmUotkR1VyOBqUMgyeSXnOVWR7HxXm+jugKtnWRzrztZB6UyfnNzzjc1RMOyiAUEjzitKSJrXeoA==
dependencies: dependencies:
bootstrap-daterangepicker "^3.1.0" bootstrap-daterangepicker "^3.1.0"
"@abp/bootstrap@~9.2.0-rc.3": "@abp/bootstrap@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-9.2.0-rc.3.tgz#20087792a43416635ba37949b4b5fcc4d72a192a" resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-9.2.0.tgz#08859288b8372ea111a240b507047b144d6caca9"
integrity sha512-X2YmErQaRrjnfgDW08GJxZ6bLg03d4/ovE7ZBmiurkcQFJs5vezkkV3CRm88ntPDEfJDE2HAJnzYR0s2FK2QLw== integrity sha512-L3EZQza2c/5VmvZkLsf0EOuaMi8fseyyiwlFN65i1hpcDwhOLcaqnxMneeaSJ+Dy4xczJT+oBml9D9OSTuzmkA==
dependencies: dependencies:
"@abp/core" "~9.2.0-rc.3" "@abp/core" "~9.2.0"
bootstrap "^5.3.3" bootstrap "^5.3.3"
"@abp/clipboard@~9.2.0-rc.3": "@abp/clipboard@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-9.2.0-rc.3.tgz#a05b2819065f74105cd1716320722012ca484de0" resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-9.2.0.tgz#348a0e45752c7eb055fb00af52660593ad340caf"
integrity sha512-2Mv/h7BciMOykARi+7rOkbMYO813nqIla4bBIZqc32muH8wuNcnaSAxZwbk0h2IJrgaTvMMK6KBFTVRaFsK/Pw== integrity sha512-2+wt2ShLBfoHqx0DNNevJkaz1POLcs1tcK1hL4ZqsjOnS7BrTk1r8zwNvCw1XEeH2S1rPftAWH4PvzL4j86DFA==
dependencies: dependencies:
"@abp/core" "~9.2.0-rc.3" "@abp/core" "~9.2.0"
clipboard "^2.0.11" clipboard "^2.0.11"
"@abp/core@~9.2.0-rc.3": "@abp/core@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-9.2.0-rc.3.tgz#05793ff9823861983a01b2f85c40c7e80cc556b1" resolved "https://registry.yarnpkg.com/@abp/core/-/core-9.2.0.tgz#db08fd34cfc891e94eb9e59ed3c0d0e6ef45c51a"
integrity sha512-QUgV+aeILnRo/8H+dalIKrd6s60+qGeAQXFxykG9WPwH112VVg7CVZ90NGW5UJ2OOdkYyBx2B/JnY0QEUQ31WQ== integrity sha512-3iESoHFj8I2xK81dwQVpCI6C1bc87VfWKyJE3/IUv4zWvG4QvI0aKhe1wxocmJqTjjowPUA3/fa2hvpfqPs2Bw==
dependencies: dependencies:
"@abp/utils" "~9.2.0-rc.3" "@abp/utils" "~9.2.0"
"@abp/datatables.net-bs5@~9.2.0-rc.3": "@abp/datatables.net-bs5@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-9.2.0-rc.3.tgz#bae729cd2fd37565ca0851bfe577d7bf68fc3c19" resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-9.2.0.tgz#eab201c959727c27aaab30dc5bd8159249d8b54b"
integrity sha512-2M6oQw2sv0UqN8NZeCmKYWetKgkQUVqo/LDWH30As7Xjtnn5sLKIDobdgUSuib0R/+cP4HuXid0uL+wV+4R5eg== integrity sha512-bmK6GKffXzYbfkDIlN27D7mohnYsXoODEiHqhZnBdIzeSJyHwrwRPRVbO1EcBn1SEBHjGJp3S69Z6gDbRs018g==
dependencies: dependencies:
"@abp/datatables.net" "~9.2.0-rc.3" "@abp/datatables.net" "~9.2.0"
datatables.net-bs5 "^2.1.8" datatables.net-bs5 "^2.1.8"
"@abp/datatables.net@~9.2.0-rc.3": "@abp/datatables.net@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-9.2.0-rc.3.tgz#b6563334315df15c22267e57b258c72f90e1c246" resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-9.2.0.tgz#e4880fe074d86d3c5dbd7f48c86244790fc376c2"
integrity sha512-5FVrRzOZsKt71oX1gcMprIGINEi/FaTM0nuddfrVR5eJrkO8s2Ldiop1u5t7JMOxg6E960kqv7Qa9p/Z2xV5QA== integrity sha512-bKaaa+tl0Pt4oNaV+X8pBbvsHc2mPYoL7yuAs+LN8ZLwBdsGoUw7RNhLQ63O3tuYdHuaHhI/mx23X6JThr0SYw==
dependencies: dependencies:
"@abp/jquery" "~9.2.0-rc.3" "@abp/jquery" "~9.2.0"
datatables.net "^2.1.8" datatables.net "^2.1.8"
"@abp/font-awesome@~9.2.0-rc.3": "@abp/font-awesome@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-9.2.0-rc.3.tgz#b6f46c3faa61095b8a34fea08cf3888865bb694b" resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-9.2.0.tgz#3e359da2510cbc0e5b9e46e9cb3664baf285722e"
integrity sha512-V8NEcFsIaVCsZ0CRVF1CD4hOtsiGWAtIvnRTTDRyc7/ABGniZbFbhbGzkBRZFynOLPQ24Ci7aPsPF8NnIHN8tQ== integrity sha512-HRGg6XK3bCxFdVvEBnBKyLamqMUrenj//E4JuKOs8DtGLVH0jTyh8TwUT5/E/pI+POV7HEOpv9WpSB2p8pfsAg==
dependencies: dependencies:
"@abp/core" "~9.2.0-rc.3" "@abp/core" "~9.2.0"
"@fortawesome/fontawesome-free" "^6.6.0" "@fortawesome/fontawesome-free" "^6.6.0"
"@abp/jquery-form@~9.2.0-rc.3": "@abp/jquery-form@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-9.2.0-rc.3.tgz#03ebb39443f4b139bf91d638dcbaf8d3879c598e" resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-9.2.0.tgz#40fac992584c26e6c54f66e7f68f8abf8944a626"
integrity sha512-7BE6Z8tZ190XFrgfZgOqULcpsj+y9tx2MU8DTw5dZYNi6Up7MiqPbbZZ4grVF65/m4OMrwEhclp4AZl75h7dww== integrity sha512-B7Shq1itQjsnzdU1kjLpGHWjkSGFhIM2iF5BNMkqcylG3Yq1Se4+8QPoJpn/soilmtX8gbO2fx8TOejfIazXIw==
dependencies: dependencies:
"@abp/jquery" "~9.2.0-rc.3" "@abp/jquery" "~9.2.0"
jquery-form "^4.3.0" jquery-form "^4.3.0"
"@abp/jquery-validation-unobtrusive@~9.2.0-rc.3": "@abp/jquery-validation-unobtrusive@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-9.2.0-rc.3.tgz#39fa67d49f47bef5683552cd997bf4d1d4900c8c" resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-9.2.0.tgz#c2df51d024d48e71f0e7fb8d4207a8b2855393f4"
integrity sha512-vrlyHE0mThB1gHTZaV5Do13P8QljgOIC+lntL1NHe8QAi1HQhsQTHEaVaAv5akJHgg3KegAXx/QGde9Oc1eCGw== integrity sha512-c1cPfWVdo+gpaMoegAkw0DzGL2fy/1ylEi/shb95MAGt3iyECVx+X+R/XOxbVHKVI57D4d5IGj6cXYBhdKkvAw==
dependencies: dependencies:
"@abp/jquery-validation" "~9.2.0-rc.3" "@abp/jquery-validation" "~9.2.0"
jquery-validation-unobtrusive "^4.0.0" jquery-validation-unobtrusive "^4.0.0"
"@abp/jquery-validation@~9.2.0-rc.3": "@abp/jquery-validation@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-9.2.0-rc.3.tgz#4a321097fdf77cec53a0deae87d186b1ff47db22" resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-9.2.0.tgz#97688d2e3c25699d4368ebf7234e04943aa5e6ab"
integrity sha512-nOnGPLkD/Dwd/ZSd74usQi5BmTPYsVzpqSf4xCWXIy9tQj+9mPpXGDTrdp/XoWCUG61VEPD0ll94PAWEj1ULfQ== integrity sha512-UO+T6SqXBrh0ODwvMm840CGbE2fdYNo5oqJL4V4JbHv9uz7MH+k0bB1DK7mFb94iDM7QcglLzIfcN4hLRV7arw==
dependencies: dependencies:
"@abp/jquery" "~9.2.0-rc.3" "@abp/jquery" "~9.2.0"
jquery-validation "^1.21.0" jquery-validation "^1.21.0"
"@abp/jquery@~9.2.0-rc.3": "@abp/jquery@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-9.2.0-rc.3.tgz#5e930ad91b52dad7d4bdeda9725fb633e9171c9e" resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-9.2.0.tgz#38c249be6eda0cdc899cc8a1f20e5152c39ae9a0"
integrity sha512-uwuj9TmM2EFaUEySC4C1nalc4+aF193pJx31uhNquP51s04IJoQeRpYGRhcqmLPej1V0SXtp9elTblM9zrm/eg== integrity sha512-sIe3Zk+8549ytydCtDlECZ930PapW/2J0652two/sJwYG/SGUGxYQbw3QnJGFTcL9TFwcWwRj5iWX0gWrLEIyA==
dependencies: dependencies:
"@abp/core" "~9.2.0-rc.3" "@abp/core" "~9.2.0"
jquery "~3.7.1" jquery "~3.7.1"
"@abp/lodash@~9.2.0-rc.3": "@abp/lodash@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-9.2.0-rc.3.tgz#340bd0268f86f9f0d9a0bc710f0af91bb1077c3e" resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-9.2.0.tgz#7fa4c9e956c766e34ec4677d2102a6d00f899a4b"
integrity sha512-/lcb0MiFJsRb5IU9aPVVJ38NwnJ5ndPd33NkNbjcfXe48q37JQ0ruWri2Pn4bhAxyxXoITtPg7nuBuDjZ8oWGQ== integrity sha512-2elXj/eWw875tF9ixbOm3uqXCxGaG5gL9Tub5k7cP+XhFpNBOYijNaXdN8SeDSxr83WDVWdrk//OQL8BF7XPdw==
dependencies: dependencies:
"@abp/core" "~9.2.0-rc.3" "@abp/core" "~9.2.0"
lodash "^4.17.21" lodash "^4.17.21"
"@abp/luxon@~9.2.0-rc.3": "@abp/luxon@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-9.2.0-rc.3.tgz#a551aa33b7c4c33500cac0431648e7d37ab60c62" resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-9.2.0.tgz#865db7b60dba4029134fb4a4b5eaa08c723dcea8"
integrity sha512-gUBnuqm1GT7qxAdt8XGc+8eDFnMRwlNB8/IEsFzZTFumIMPdBV6ZDOPnFvMZzJdcLFaPnEDN38RIP2aGGaE6fg== integrity sha512-LWjczvzu1gFIq0/2fRz+bJW2+zsmXAmfz0I+lZ3wmqUdkViqAqwTa+5NMIl2tC92u4Dv3LGXKtH37Jw8m+XjTg==
dependencies: dependencies:
"@abp/core" "~9.2.0-rc.3" "@abp/core" "~9.2.0"
luxon "^3.5.0" luxon "^3.5.0"
"@abp/malihu-custom-scrollbar-plugin@~9.2.0-rc.3": "@abp/malihu-custom-scrollbar-plugin@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-9.2.0-rc.3.tgz#ecd35f7636b27904ddb8a638cbeb1d7119098a1b" resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-9.2.0.tgz#09722b1e7ca34b96e2a68368db0e96cdf9ab0e6c"
integrity sha512-kvlX0OcxOMKfZUSF4fViu9vGxN7PUJP/1useNqUis8I068FjotHpcc6qUSciCGiX+lvFP3wcqX4RGEsQt9tGZQ== integrity sha512-kfDf/1RwGtAlos/7BW+7xbh3LtJ4VG0Z4mxS+b2HsywAwlt/kE5FltfBj2ResQb030bsGNl7A5JglV9Pv1UlPw==
dependencies: dependencies:
"@abp/core" "~9.2.0-rc.3" "@abp/core" "~9.2.0"
malihu-custom-scrollbar-plugin "^3.1.5" malihu-custom-scrollbar-plugin "^3.1.5"
"@abp/moment@~9.2.0-rc.3": "@abp/moment@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-9.2.0-rc.3.tgz#bb9b94244fa943eacdca6294ff90c43846df47df" resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-9.2.0.tgz#137d688af4df195742061ac2b8a2bf460a027071"
integrity sha512-maE6NiGgdBws3y8GbJLvWchNxXpIpurd5lTso+qI4WgCnxT06L3lZMFHXKiQbCqy86XaRkr5E8Jdwj/CxFA4UA== integrity sha512-15aTjYAxHK+upkiZ94XCe8CoSPKMl1D8f6GXJIfwPkuYZ+na4ma17qBu4P8bFsc4gu3ngxYiLHRSzYzr4oCSYQ==
dependencies: dependencies:
moment "^2.30.1" moment "^2.30.1"
"@abp/prismjs@~9.2.0-rc.3": "@abp/prismjs@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-9.2.0-rc.3.tgz#0eed2fd2710dd260330533cf72600d89683b1e42" resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-9.2.0.tgz#03fca8cd2f4bdc09a68bd9b1fcdeaede56f96542"
integrity sha512-V/cF+oKDmHkPc5AhSNnq0msICshqHVKAKi4ivSOI9+FbTK34hdThUPaVfbrFu5AFbpY4yp+6VC0bgdJtEk3qWw== integrity sha512-OUbjaxeXKxmrR9fZe/wazS9hGrYXYam/CypnQNTVaNNgSpwvgoKoCFCll9SJUGV8tXA6iEpVdszMGyRY5Hov+g==
dependencies: dependencies:
"@abp/clipboard" "~9.2.0-rc.3" "@abp/clipboard" "~9.2.0"
"@abp/core" "~9.2.0-rc.3" "@abp/core" "~9.2.0"
prismjs "^1.29.0" prismjs "^1.29.0"
"@abp/select2@~9.2.0-rc.3": "@abp/select2@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-9.2.0-rc.3.tgz#e181a888d4aaa56f57900dd2a92b3d5f1ccbd90c" resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-9.2.0.tgz#c96d869be0d3298ed7c0888288ea9829e6266cd4"
integrity sha512-yCmqJSy13vIxbhNSg5mRhef/LJCuuhM6ewmoEafBhdJdns/4N6PuzdIXt4cqgxAqkHCurcsagZevlmxLUcSf1A== integrity sha512-V+qx9hw3oe7o0WbG03ZgAjbqRJPVuedzrdy7ExEdueTc6LRP/WEgbVpXhsNISObtouE6Dadwp3iXYSExgNUC6A==
dependencies: dependencies:
"@abp/core" "~9.2.0-rc.3" "@abp/core" "~9.2.0"
select2 "^4.0.13" select2 "^4.0.13"
"@abp/sweetalert2@~9.2.0-rc.3": "@abp/sweetalert2@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-9.2.0-rc.3.tgz#fb19e319058682f73b293920e620771aa54e4129" resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-9.2.0.tgz#826d6dd0b70c35a7401cc884fb1e82af99a0305d"
integrity sha512-yJ8+GjnYPQ1h1epSqn2GkEBH7syMj/+3cX6ZZ7U1MPSw1RACELJIcH/MjZQG82D2SsvsCfoPLTzh46Jh1c9Hpg== integrity sha512-0r338ayjaL9uzmLKE8oHpcMgJeVgVoMYfhQAPINeQHv1TPXuYCLo0aoRNoLsfmUo3ayYBBa3zOrugFIVis7Q6A==
dependencies: dependencies:
"@abp/core" "~9.2.0-rc.3" "@abp/core" "~9.2.0"
sweetalert2 "^11.14.1" sweetalert2 "^11.14.1"
"@abp/timeago@~9.2.0-rc.3": "@abp/timeago@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-9.2.0-rc.3.tgz#f50436c0d3cb9c703e1b712735609e47f300f7de" resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-9.2.0.tgz#79bbe6dd32b0ee7df2e8ebd05274a0ecc7882ba7"
integrity sha512-lQtKUSHp4L4xBI+ZUicMXtZABvX8MF2udRPP1zVaZ/xcZ5MV1rRGcCM+YjRYpF0lB0DRyuGvgXFztQEok/xu5A== integrity sha512-hEUi5re5N1YkDSpaUaUtXF1Mz4YyiEvNzVADbKRz11kbR4ZAFzcvVqsQLeNo7qnuFLfJNAtuzyjkuxwL75kmaA==
dependencies: dependencies:
"@abp/jquery" "~9.2.0-rc.3" "@abp/jquery" "~9.2.0"
timeago "^1.6.7" timeago "^1.6.7"
"@abp/utils@~9.2.0-rc.3": "@abp/utils@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-9.2.0-rc.3.tgz#95ba7545627ae1d2fc8c19c6c9da1bd8a7f8d31a" resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-9.2.0.tgz#bf32ced1175e45fbe010c3cb806c7cd37f85089c"
integrity sha512-4HJCS/4qlYnqyMKH5A9JL9FWZDGYElTkLuUGuvlhsy/0BxOoJKsPPZCiX8S7RqkLEjdQSU8nkkXVANhXgIgkTA== integrity sha512-aciBuXhzlaqe+o7mNt536bCk425cmxY5BE0wwl13u3pX3LfWYWLEgwl8GS0aeI11TS1/7+1N85RJELyz/+y0hQ==
dependencies: dependencies:
just-compare "^2.3.0" just-compare "^2.3.0"

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

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

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

@ -2,228 +2,228 @@
# yarn lockfile v1 # yarn lockfile v1
"@abp/aspnetcore.mvc.ui.theme.basic@~9.2.0-rc.3": "@abp/aspnetcore.mvc.ui.theme.basic@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-9.2.0-rc.3.tgz#7fff474f68baac1c6330bf3ddd8e1bdbf36dabd7" resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-9.2.0.tgz#af6ff5071cadb480b4aece0f15400d56b105a350"
integrity sha512-Xjt+1JSllrFJOgyk2opdWGIEFLOIZlS/ZDGXWFfyCcsFPgJRNHcuXY8SUyZo5aebH/w42i1OVYj24mnJEO7zIg== integrity sha512-+LOmhSfsua7i3VQy9vYTDv7nE0fdIA+kNvorQ4wkkRzijOAlwmS4fkupglwOKJQSCWGAM7VXccPy2NzdmwvEtw==
dependencies: dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~9.2.0-rc.3" "@abp/aspnetcore.mvc.ui.theme.shared" "~9.2.0"
"@abp/aspnetcore.mvc.ui.theme.shared@~9.2.0-rc.3": "@abp/aspnetcore.mvc.ui.theme.shared@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-9.2.0-rc.3.tgz#f576805a0be069a8df2698f05a43e24e0333cc94" resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-9.2.0.tgz#791f419e8e0fab229e3f93f7a90edcd259100206"
integrity sha512-MX7bgp/n0WDIX+qONMHbAIAQ4zANkCapKCWiEn/7O4TgUmNyiCL4/EfqaxxJajD3W4tu+fwply8uRClCngSm6w== integrity sha512-Mrs+kQg0S5OyRsPBwXQTqOq2DBWDdot7emETcX/gatv26GFbRe3nTOk1E+VWD/nsxHEOKTSE8LClC6TgkMxD8Q==
dependencies: dependencies:
"@abp/aspnetcore.mvc.ui" "~9.2.0-rc.3" "@abp/aspnetcore.mvc.ui" "~9.2.0"
"@abp/bootstrap" "~9.2.0-rc.3" "@abp/bootstrap" "~9.2.0"
"@abp/bootstrap-datepicker" "~9.2.0-rc.3" "@abp/bootstrap-datepicker" "~9.2.0"
"@abp/bootstrap-daterangepicker" "~9.2.0-rc.3" "@abp/bootstrap-daterangepicker" "~9.2.0"
"@abp/datatables.net-bs5" "~9.2.0-rc.3" "@abp/datatables.net-bs5" "~9.2.0"
"@abp/font-awesome" "~9.2.0-rc.3" "@abp/font-awesome" "~9.2.0"
"@abp/jquery-form" "~9.2.0-rc.3" "@abp/jquery-form" "~9.2.0"
"@abp/jquery-validation-unobtrusive" "~9.2.0-rc.3" "@abp/jquery-validation-unobtrusive" "~9.2.0"
"@abp/lodash" "~9.2.0-rc.3" "@abp/lodash" "~9.2.0"
"@abp/luxon" "~9.2.0-rc.3" "@abp/luxon" "~9.2.0"
"@abp/malihu-custom-scrollbar-plugin" "~9.2.0-rc.3" "@abp/malihu-custom-scrollbar-plugin" "~9.2.0"
"@abp/moment" "~9.2.0-rc.3" "@abp/moment" "~9.2.0"
"@abp/select2" "~9.2.0-rc.3" "@abp/select2" "~9.2.0"
"@abp/sweetalert2" "~9.2.0-rc.3" "@abp/sweetalert2" "~9.2.0"
"@abp/timeago" "~9.2.0-rc.3" "@abp/timeago" "~9.2.0"
"@abp/aspnetcore.mvc.ui@~9.2.0-rc.3": "@abp/aspnetcore.mvc.ui@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-9.2.0-rc.3.tgz#5452ff91aed1ca042c54595ef68cb4e695ad2ce3" resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-9.2.0.tgz#e3e703ea46caf04cc966ea0af6deb64427a90d4c"
integrity sha512-KAhDAS5anhYdH3x6S1uPBeT24mfdlc2LF6LcA5CZdEzUvNwpE1Ymhc0dPmlCHkGWN/R4+ykSmJwPG0uQWFeaXg== integrity sha512-VHH68/7Bw7r8p70T9grnVISgYPe2t3m9199S/wAXGtpGHML/lbHhDflWbm7y1MHcrmCfaXy42O9SmTHV25BJhA==
dependencies: dependencies:
ansi-colors "^4.1.3" ansi-colors "^4.1.3"
"@abp/blogging@~9.2.0-rc.3": "@abp/blogging@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/blogging/-/blogging-9.2.0-rc.3.tgz#5ea5cbf53e65e4f5a82e2fa36f93f9d121869947" resolved "https://registry.yarnpkg.com/@abp/blogging/-/blogging-9.2.0.tgz#62f4490e4c454fff8e10a84c1a7d8aee85b94313"
integrity sha512-XXszmqniQVHCG1ej3A6T4LbYd9lTZBxVz8ywuOgX5w8/K9+kqIM7QGbqVUkJFttrYOCqy2iwuuWcNbd4Q1mlLQ== integrity sha512-ptaawKmyUTgGCWOxKPjLCxTY7X/fYTyxoB4sTy2O9vcaDrNqZephppKGl/nTn2EBxsYLKRGDKCl5z0Kl9MG6pQ==
dependencies: dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~9.2.0-rc.3" "@abp/aspnetcore.mvc.ui.theme.shared" "~9.2.0"
"@abp/owl.carousel" "~9.2.0-rc.3" "@abp/owl.carousel" "~9.2.0"
"@abp/prismjs" "~9.2.0-rc.3" "@abp/prismjs" "~9.2.0"
"@abp/tui-editor" "~9.2.0-rc.3" "@abp/tui-editor" "~9.2.0"
"@abp/bootstrap-datepicker@~9.2.0-rc.3": "@abp/bootstrap-datepicker@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-9.2.0-rc.3.tgz#45d1f05942c47fd04195fceda79cb6ce1407abce" resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-9.2.0.tgz#271ff68e2cee7b4ffe5a60406561a05948d6bbe6"
integrity sha512-IzcgeoQm294ZG+M2cxwLFeMvk3+OQOEcZrussQTChIuGnqzH+/KHboLR0wZMnmpO/4OsbYhklMS6EaWUSgmfbQ== integrity sha512-V8o1cn1MKXE5GH1ZpBHiWWilzxjHIp4IS6rNoCDBSnaQcVvRku9KPI8tPNQSf+4x3jBfHDV9aOBDbDGTQ6J2yw==
dependencies: dependencies:
bootstrap-datepicker "^1.10.0" bootstrap-datepicker "^1.10.0"
"@abp/bootstrap-daterangepicker@~9.2.0-rc.3": "@abp/bootstrap-daterangepicker@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-9.2.0-rc.3.tgz#9a094243e8e06258f2988c7759b1f042f36a3975" resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-9.2.0.tgz#a239f8c2efce57d2e2beca70ceeede52d1b177d5"
integrity sha512-NAjL+TdcmhvKjxDZwooOZr09x+mPXXLydI5UoFizf1C/OXBxXOaLi08lertF85FJN9i3o0Bv2n6gbUoTEYR/og== integrity sha512-Cd9naCyepTvmUotkR1VyOBqUMgyeSXnOVWR7HxXm+jugKtnWRzrztZB6UyfnNzzjc1RMOyiAUEjzitKSJrXeoA==
dependencies: dependencies:
bootstrap-daterangepicker "^3.1.0" bootstrap-daterangepicker "^3.1.0"
"@abp/bootstrap@~9.2.0-rc.3": "@abp/bootstrap@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-9.2.0-rc.3.tgz#20087792a43416635ba37949b4b5fcc4d72a192a" resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-9.2.0.tgz#08859288b8372ea111a240b507047b144d6caca9"
integrity sha512-X2YmErQaRrjnfgDW08GJxZ6bLg03d4/ovE7ZBmiurkcQFJs5vezkkV3CRm88ntPDEfJDE2HAJnzYR0s2FK2QLw== integrity sha512-L3EZQza2c/5VmvZkLsf0EOuaMi8fseyyiwlFN65i1hpcDwhOLcaqnxMneeaSJ+Dy4xczJT+oBml9D9OSTuzmkA==
dependencies: dependencies:
"@abp/core" "~9.2.0-rc.3" "@abp/core" "~9.2.0"
bootstrap "^5.3.3" bootstrap "^5.3.3"
"@abp/clipboard@~9.2.0-rc.3": "@abp/clipboard@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-9.2.0-rc.3.tgz#a05b2819065f74105cd1716320722012ca484de0" resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-9.2.0.tgz#348a0e45752c7eb055fb00af52660593ad340caf"
integrity sha512-2Mv/h7BciMOykARi+7rOkbMYO813nqIla4bBIZqc32muH8wuNcnaSAxZwbk0h2IJrgaTvMMK6KBFTVRaFsK/Pw== integrity sha512-2+wt2ShLBfoHqx0DNNevJkaz1POLcs1tcK1hL4ZqsjOnS7BrTk1r8zwNvCw1XEeH2S1rPftAWH4PvzL4j86DFA==
dependencies: dependencies:
"@abp/core" "~9.2.0-rc.3" "@abp/core" "~9.2.0"
clipboard "^2.0.11" clipboard "^2.0.11"
"@abp/core@~9.2.0-rc.3": "@abp/core@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-9.2.0-rc.3.tgz#05793ff9823861983a01b2f85c40c7e80cc556b1" resolved "https://registry.yarnpkg.com/@abp/core/-/core-9.2.0.tgz#db08fd34cfc891e94eb9e59ed3c0d0e6ef45c51a"
integrity sha512-QUgV+aeILnRo/8H+dalIKrd6s60+qGeAQXFxykG9WPwH112VVg7CVZ90NGW5UJ2OOdkYyBx2B/JnY0QEUQ31WQ== integrity sha512-3iESoHFj8I2xK81dwQVpCI6C1bc87VfWKyJE3/IUv4zWvG4QvI0aKhe1wxocmJqTjjowPUA3/fa2hvpfqPs2Bw==
dependencies: dependencies:
"@abp/utils" "~9.2.0-rc.3" "@abp/utils" "~9.2.0"
"@abp/datatables.net-bs5@~9.2.0-rc.3": "@abp/datatables.net-bs5@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-9.2.0-rc.3.tgz#bae729cd2fd37565ca0851bfe577d7bf68fc3c19" resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-9.2.0.tgz#eab201c959727c27aaab30dc5bd8159249d8b54b"
integrity sha512-2M6oQw2sv0UqN8NZeCmKYWetKgkQUVqo/LDWH30As7Xjtnn5sLKIDobdgUSuib0R/+cP4HuXid0uL+wV+4R5eg== integrity sha512-bmK6GKffXzYbfkDIlN27D7mohnYsXoODEiHqhZnBdIzeSJyHwrwRPRVbO1EcBn1SEBHjGJp3S69Z6gDbRs018g==
dependencies: dependencies:
"@abp/datatables.net" "~9.2.0-rc.3" "@abp/datatables.net" "~9.2.0"
datatables.net-bs5 "^2.1.8" datatables.net-bs5 "^2.1.8"
"@abp/datatables.net@~9.2.0-rc.3": "@abp/datatables.net@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-9.2.0-rc.3.tgz#b6563334315df15c22267e57b258c72f90e1c246" resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-9.2.0.tgz#e4880fe074d86d3c5dbd7f48c86244790fc376c2"
integrity sha512-5FVrRzOZsKt71oX1gcMprIGINEi/FaTM0nuddfrVR5eJrkO8s2Ldiop1u5t7JMOxg6E960kqv7Qa9p/Z2xV5QA== integrity sha512-bKaaa+tl0Pt4oNaV+X8pBbvsHc2mPYoL7yuAs+LN8ZLwBdsGoUw7RNhLQ63O3tuYdHuaHhI/mx23X6JThr0SYw==
dependencies: dependencies:
"@abp/jquery" "~9.2.0-rc.3" "@abp/jquery" "~9.2.0"
datatables.net "^2.1.8" datatables.net "^2.1.8"
"@abp/font-awesome@~9.2.0-rc.3": "@abp/font-awesome@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-9.2.0-rc.3.tgz#b6f46c3faa61095b8a34fea08cf3888865bb694b" resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-9.2.0.tgz#3e359da2510cbc0e5b9e46e9cb3664baf285722e"
integrity sha512-V8NEcFsIaVCsZ0CRVF1CD4hOtsiGWAtIvnRTTDRyc7/ABGniZbFbhbGzkBRZFynOLPQ24Ci7aPsPF8NnIHN8tQ== integrity sha512-HRGg6XK3bCxFdVvEBnBKyLamqMUrenj//E4JuKOs8DtGLVH0jTyh8TwUT5/E/pI+POV7HEOpv9WpSB2p8pfsAg==
dependencies: dependencies:
"@abp/core" "~9.2.0-rc.3" "@abp/core" "~9.2.0"
"@fortawesome/fontawesome-free" "^6.6.0" "@fortawesome/fontawesome-free" "^6.6.0"
"@abp/jquery-form@~9.2.0-rc.3": "@abp/jquery-form@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-9.2.0-rc.3.tgz#03ebb39443f4b139bf91d638dcbaf8d3879c598e" resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-9.2.0.tgz#40fac992584c26e6c54f66e7f68f8abf8944a626"
integrity sha512-7BE6Z8tZ190XFrgfZgOqULcpsj+y9tx2MU8DTw5dZYNi6Up7MiqPbbZZ4grVF65/m4OMrwEhclp4AZl75h7dww== integrity sha512-B7Shq1itQjsnzdU1kjLpGHWjkSGFhIM2iF5BNMkqcylG3Yq1Se4+8QPoJpn/soilmtX8gbO2fx8TOejfIazXIw==
dependencies: dependencies:
"@abp/jquery" "~9.2.0-rc.3" "@abp/jquery" "~9.2.0"
jquery-form "^4.3.0" jquery-form "^4.3.0"
"@abp/jquery-validation-unobtrusive@~9.2.0-rc.3": "@abp/jquery-validation-unobtrusive@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-9.2.0-rc.3.tgz#39fa67d49f47bef5683552cd997bf4d1d4900c8c" resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-9.2.0.tgz#c2df51d024d48e71f0e7fb8d4207a8b2855393f4"
integrity sha512-vrlyHE0mThB1gHTZaV5Do13P8QljgOIC+lntL1NHe8QAi1HQhsQTHEaVaAv5akJHgg3KegAXx/QGde9Oc1eCGw== integrity sha512-c1cPfWVdo+gpaMoegAkw0DzGL2fy/1ylEi/shb95MAGt3iyECVx+X+R/XOxbVHKVI57D4d5IGj6cXYBhdKkvAw==
dependencies: dependencies:
"@abp/jquery-validation" "~9.2.0-rc.3" "@abp/jquery-validation" "~9.2.0"
jquery-validation-unobtrusive "^4.0.0" jquery-validation-unobtrusive "^4.0.0"
"@abp/jquery-validation@~9.2.0-rc.3": "@abp/jquery-validation@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-9.2.0-rc.3.tgz#4a321097fdf77cec53a0deae87d186b1ff47db22" resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-9.2.0.tgz#97688d2e3c25699d4368ebf7234e04943aa5e6ab"
integrity sha512-nOnGPLkD/Dwd/ZSd74usQi5BmTPYsVzpqSf4xCWXIy9tQj+9mPpXGDTrdp/XoWCUG61VEPD0ll94PAWEj1ULfQ== integrity sha512-UO+T6SqXBrh0ODwvMm840CGbE2fdYNo5oqJL4V4JbHv9uz7MH+k0bB1DK7mFb94iDM7QcglLzIfcN4hLRV7arw==
dependencies: dependencies:
"@abp/jquery" "~9.2.0-rc.3" "@abp/jquery" "~9.2.0"
jquery-validation "^1.21.0" jquery-validation "^1.21.0"
"@abp/jquery@~9.2.0-rc.3": "@abp/jquery@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-9.2.0-rc.3.tgz#5e930ad91b52dad7d4bdeda9725fb633e9171c9e" resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-9.2.0.tgz#38c249be6eda0cdc899cc8a1f20e5152c39ae9a0"
integrity sha512-uwuj9TmM2EFaUEySC4C1nalc4+aF193pJx31uhNquP51s04IJoQeRpYGRhcqmLPej1V0SXtp9elTblM9zrm/eg== integrity sha512-sIe3Zk+8549ytydCtDlECZ930PapW/2J0652two/sJwYG/SGUGxYQbw3QnJGFTcL9TFwcWwRj5iWX0gWrLEIyA==
dependencies: dependencies:
"@abp/core" "~9.2.0-rc.3" "@abp/core" "~9.2.0"
jquery "~3.7.1" jquery "~3.7.1"
"@abp/lodash@~9.2.0-rc.3": "@abp/lodash@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-9.2.0-rc.3.tgz#340bd0268f86f9f0d9a0bc710f0af91bb1077c3e" resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-9.2.0.tgz#7fa4c9e956c766e34ec4677d2102a6d00f899a4b"
integrity sha512-/lcb0MiFJsRb5IU9aPVVJ38NwnJ5ndPd33NkNbjcfXe48q37JQ0ruWri2Pn4bhAxyxXoITtPg7nuBuDjZ8oWGQ== integrity sha512-2elXj/eWw875tF9ixbOm3uqXCxGaG5gL9Tub5k7cP+XhFpNBOYijNaXdN8SeDSxr83WDVWdrk//OQL8BF7XPdw==
dependencies: dependencies:
"@abp/core" "~9.2.0-rc.3" "@abp/core" "~9.2.0"
lodash "^4.17.21" lodash "^4.17.21"
"@abp/luxon@~9.2.0-rc.3": "@abp/luxon@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-9.2.0-rc.3.tgz#a551aa33b7c4c33500cac0431648e7d37ab60c62" resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-9.2.0.tgz#865db7b60dba4029134fb4a4b5eaa08c723dcea8"
integrity sha512-gUBnuqm1GT7qxAdt8XGc+8eDFnMRwlNB8/IEsFzZTFumIMPdBV6ZDOPnFvMZzJdcLFaPnEDN38RIP2aGGaE6fg== integrity sha512-LWjczvzu1gFIq0/2fRz+bJW2+zsmXAmfz0I+lZ3wmqUdkViqAqwTa+5NMIl2tC92u4Dv3LGXKtH37Jw8m+XjTg==
dependencies: dependencies:
"@abp/core" "~9.2.0-rc.3" "@abp/core" "~9.2.0"
luxon "^3.5.0" luxon "^3.5.0"
"@abp/malihu-custom-scrollbar-plugin@~9.2.0-rc.3": "@abp/malihu-custom-scrollbar-plugin@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-9.2.0-rc.3.tgz#ecd35f7636b27904ddb8a638cbeb1d7119098a1b" resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-9.2.0.tgz#09722b1e7ca34b96e2a68368db0e96cdf9ab0e6c"
integrity sha512-kvlX0OcxOMKfZUSF4fViu9vGxN7PUJP/1useNqUis8I068FjotHpcc6qUSciCGiX+lvFP3wcqX4RGEsQt9tGZQ== integrity sha512-kfDf/1RwGtAlos/7BW+7xbh3LtJ4VG0Z4mxS+b2HsywAwlt/kE5FltfBj2ResQb030bsGNl7A5JglV9Pv1UlPw==
dependencies: dependencies:
"@abp/core" "~9.2.0-rc.3" "@abp/core" "~9.2.0"
malihu-custom-scrollbar-plugin "^3.1.5" malihu-custom-scrollbar-plugin "^3.1.5"
"@abp/moment@~9.2.0-rc.3": "@abp/moment@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-9.2.0-rc.3.tgz#bb9b94244fa943eacdca6294ff90c43846df47df" resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-9.2.0.tgz#137d688af4df195742061ac2b8a2bf460a027071"
integrity sha512-maE6NiGgdBws3y8GbJLvWchNxXpIpurd5lTso+qI4WgCnxT06L3lZMFHXKiQbCqy86XaRkr5E8Jdwj/CxFA4UA== integrity sha512-15aTjYAxHK+upkiZ94XCe8CoSPKMl1D8f6GXJIfwPkuYZ+na4ma17qBu4P8bFsc4gu3ngxYiLHRSzYzr4oCSYQ==
dependencies: dependencies:
moment "^2.30.1" moment "^2.30.1"
"@abp/owl.carousel@~9.2.0-rc.3": "@abp/owl.carousel@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/owl.carousel/-/owl.carousel-9.2.0-rc.3.tgz#2cd48dcef256fc24e5c61fe5d569e443d0539c93" resolved "https://registry.yarnpkg.com/@abp/owl.carousel/-/owl.carousel-9.2.0.tgz#e2bd2c6a67cf942302393cd12c44519ea55eb27b"
integrity sha512-Cgjgqoih5aXV0dAv4ewA8rCzsquwusm1qDjFfwYEEttcrz+DkolWBku7HIJHicz+3G7/zYhLRNSvKIgv0P+x2g== integrity sha512-nu1noD/VX9Fae6PGDPMGMTV+/973xoRS4oolYDiYUBVcCzXjPNI6bvVGpnwNJbx+pgHyW07eh008qZ6pR3R3ug==
dependencies: dependencies:
"@abp/core" "~9.2.0-rc.3" "@abp/core" "~9.2.0"
owl.carousel "^2.3.4" owl.carousel "^2.3.4"
"@abp/prismjs@~9.2.0-rc.3": "@abp/prismjs@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-9.2.0-rc.3.tgz#0eed2fd2710dd260330533cf72600d89683b1e42" resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-9.2.0.tgz#03fca8cd2f4bdc09a68bd9b1fcdeaede56f96542"
integrity sha512-V/cF+oKDmHkPc5AhSNnq0msICshqHVKAKi4ivSOI9+FbTK34hdThUPaVfbrFu5AFbpY4yp+6VC0bgdJtEk3qWw== integrity sha512-OUbjaxeXKxmrR9fZe/wazS9hGrYXYam/CypnQNTVaNNgSpwvgoKoCFCll9SJUGV8tXA6iEpVdszMGyRY5Hov+g==
dependencies: dependencies:
"@abp/clipboard" "~9.2.0-rc.3" "@abp/clipboard" "~9.2.0"
"@abp/core" "~9.2.0-rc.3" "@abp/core" "~9.2.0"
prismjs "^1.29.0" prismjs "^1.29.0"
"@abp/select2@~9.2.0-rc.3": "@abp/select2@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-9.2.0-rc.3.tgz#e181a888d4aaa56f57900dd2a92b3d5f1ccbd90c" resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-9.2.0.tgz#c96d869be0d3298ed7c0888288ea9829e6266cd4"
integrity sha512-yCmqJSy13vIxbhNSg5mRhef/LJCuuhM6ewmoEafBhdJdns/4N6PuzdIXt4cqgxAqkHCurcsagZevlmxLUcSf1A== integrity sha512-V+qx9hw3oe7o0WbG03ZgAjbqRJPVuedzrdy7ExEdueTc6LRP/WEgbVpXhsNISObtouE6Dadwp3iXYSExgNUC6A==
dependencies: dependencies:
"@abp/core" "~9.2.0-rc.3" "@abp/core" "~9.2.0"
select2 "^4.0.13" select2 "^4.0.13"
"@abp/sweetalert2@~9.2.0-rc.3": "@abp/sweetalert2@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-9.2.0-rc.3.tgz#fb19e319058682f73b293920e620771aa54e4129" resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-9.2.0.tgz#826d6dd0b70c35a7401cc884fb1e82af99a0305d"
integrity sha512-yJ8+GjnYPQ1h1epSqn2GkEBH7syMj/+3cX6ZZ7U1MPSw1RACELJIcH/MjZQG82D2SsvsCfoPLTzh46Jh1c9Hpg== integrity sha512-0r338ayjaL9uzmLKE8oHpcMgJeVgVoMYfhQAPINeQHv1TPXuYCLo0aoRNoLsfmUo3ayYBBa3zOrugFIVis7Q6A==
dependencies: dependencies:
"@abp/core" "~9.2.0-rc.3" "@abp/core" "~9.2.0"
sweetalert2 "^11.14.1" sweetalert2 "^11.14.1"
"@abp/timeago@~9.2.0-rc.3": "@abp/timeago@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-9.2.0-rc.3.tgz#f50436c0d3cb9c703e1b712735609e47f300f7de" resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-9.2.0.tgz#79bbe6dd32b0ee7df2e8ebd05274a0ecc7882ba7"
integrity sha512-lQtKUSHp4L4xBI+ZUicMXtZABvX8MF2udRPP1zVaZ/xcZ5MV1rRGcCM+YjRYpF0lB0DRyuGvgXFztQEok/xu5A== integrity sha512-hEUi5re5N1YkDSpaUaUtXF1Mz4YyiEvNzVADbKRz11kbR4ZAFzcvVqsQLeNo7qnuFLfJNAtuzyjkuxwL75kmaA==
dependencies: dependencies:
"@abp/jquery" "~9.2.0-rc.3" "@abp/jquery" "~9.2.0"
timeago "^1.6.7" timeago "^1.6.7"
"@abp/tui-editor@~9.2.0-rc.3": "@abp/tui-editor@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/tui-editor/-/tui-editor-9.2.0-rc.3.tgz#bcbaa507cf7541932fd2f883b28c8b9c98d71040" resolved "https://registry.yarnpkg.com/@abp/tui-editor/-/tui-editor-9.2.0.tgz#f28e1099e39def76ff81d1db64f5e352f0d28f02"
integrity sha512-H5ZgNpps24YSP77yEwzy+nVl3lQ8ITIgndg96G4ueilXD7BaW2ips+9pmzfcamMZkRYTs2RHflpK9eV112VNfw== integrity sha512-h3Nq0LmkmPWBx1tzPnImJAhPFlAD8sX/GnlAvEZGY3XJ7X6146TPl7HIzZ4fnttm+ilhuDUG2qydgIek/5pWLw==
dependencies: dependencies:
"@abp/jquery" "~9.2.0-rc.3" "@abp/jquery" "~9.2.0"
"@abp/prismjs" "~9.2.0-rc.3" "@abp/prismjs" "~9.2.0"
"@abp/utils@~9.2.0-rc.3": "@abp/utils@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-9.2.0-rc.3.tgz#95ba7545627ae1d2fc8c19c6c9da1bd8a7f8d31a" resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-9.2.0.tgz#bf32ced1175e45fbe010c3cb806c7cd37f85089c"
integrity sha512-4HJCS/4qlYnqyMKH5A9JL9FWZDGYElTkLuUGuvlhsy/0BxOoJKsPPZCiX8S7RqkLEjdQSU8nkkXVANhXgIgkTA== integrity sha512-aciBuXhzlaqe+o7mNt536bCk425cmxY5BE0wwl13u3pX3LfWYWLEgwl8GS0aeI11TS1/7+1N85RJELyz/+y0hQ==
dependencies: dependencies:
just-compare "^2.3.0" just-compare "^2.3.0"

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

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

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

@ -2,185 +2,185 @@
# yarn lockfile v1 # yarn lockfile v1
"@abp/aspnetcore.mvc.ui.theme.basic@~9.2.0-rc.3": "@abp/aspnetcore.mvc.ui.theme.basic@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-9.2.0-rc.3.tgz#7fff474f68baac1c6330bf3ddd8e1bdbf36dabd7" resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-9.2.0.tgz#af6ff5071cadb480b4aece0f15400d56b105a350"
integrity sha512-Xjt+1JSllrFJOgyk2opdWGIEFLOIZlS/ZDGXWFfyCcsFPgJRNHcuXY8SUyZo5aebH/w42i1OVYj24mnJEO7zIg== integrity sha512-+LOmhSfsua7i3VQy9vYTDv7nE0fdIA+kNvorQ4wkkRzijOAlwmS4fkupglwOKJQSCWGAM7VXccPy2NzdmwvEtw==
dependencies: dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~9.2.0-rc.3" "@abp/aspnetcore.mvc.ui.theme.shared" "~9.2.0"
"@abp/aspnetcore.mvc.ui.theme.shared@~9.2.0-rc.3": "@abp/aspnetcore.mvc.ui.theme.shared@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-9.2.0-rc.3.tgz#f576805a0be069a8df2698f05a43e24e0333cc94" resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-9.2.0.tgz#791f419e8e0fab229e3f93f7a90edcd259100206"
integrity sha512-MX7bgp/n0WDIX+qONMHbAIAQ4zANkCapKCWiEn/7O4TgUmNyiCL4/EfqaxxJajD3W4tu+fwply8uRClCngSm6w== integrity sha512-Mrs+kQg0S5OyRsPBwXQTqOq2DBWDdot7emETcX/gatv26GFbRe3nTOk1E+VWD/nsxHEOKTSE8LClC6TgkMxD8Q==
dependencies: dependencies:
"@abp/aspnetcore.mvc.ui" "~9.2.0-rc.3" "@abp/aspnetcore.mvc.ui" "~9.2.0"
"@abp/bootstrap" "~9.2.0-rc.3" "@abp/bootstrap" "~9.2.0"
"@abp/bootstrap-datepicker" "~9.2.0-rc.3" "@abp/bootstrap-datepicker" "~9.2.0"
"@abp/bootstrap-daterangepicker" "~9.2.0-rc.3" "@abp/bootstrap-daterangepicker" "~9.2.0"
"@abp/datatables.net-bs5" "~9.2.0-rc.3" "@abp/datatables.net-bs5" "~9.2.0"
"@abp/font-awesome" "~9.2.0-rc.3" "@abp/font-awesome" "~9.2.0"
"@abp/jquery-form" "~9.2.0-rc.3" "@abp/jquery-form" "~9.2.0"
"@abp/jquery-validation-unobtrusive" "~9.2.0-rc.3" "@abp/jquery-validation-unobtrusive" "~9.2.0"
"@abp/lodash" "~9.2.0-rc.3" "@abp/lodash" "~9.2.0"
"@abp/luxon" "~9.2.0-rc.3" "@abp/luxon" "~9.2.0"
"@abp/malihu-custom-scrollbar-plugin" "~9.2.0-rc.3" "@abp/malihu-custom-scrollbar-plugin" "~9.2.0"
"@abp/moment" "~9.2.0-rc.3" "@abp/moment" "~9.2.0"
"@abp/select2" "~9.2.0-rc.3" "@abp/select2" "~9.2.0"
"@abp/sweetalert2" "~9.2.0-rc.3" "@abp/sweetalert2" "~9.2.0"
"@abp/timeago" "~9.2.0-rc.3" "@abp/timeago" "~9.2.0"
"@abp/aspnetcore.mvc.ui@~9.2.0-rc.3": "@abp/aspnetcore.mvc.ui@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-9.2.0-rc.3.tgz#5452ff91aed1ca042c54595ef68cb4e695ad2ce3" resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-9.2.0.tgz#e3e703ea46caf04cc966ea0af6deb64427a90d4c"
integrity sha512-KAhDAS5anhYdH3x6S1uPBeT24mfdlc2LF6LcA5CZdEzUvNwpE1Ymhc0dPmlCHkGWN/R4+ykSmJwPG0uQWFeaXg== integrity sha512-VHH68/7Bw7r8p70T9grnVISgYPe2t3m9199S/wAXGtpGHML/lbHhDflWbm7y1MHcrmCfaXy42O9SmTHV25BJhA==
dependencies: dependencies:
ansi-colors "^4.1.3" ansi-colors "^4.1.3"
"@abp/bootstrap-datepicker@~9.2.0-rc.3": "@abp/bootstrap-datepicker@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-9.2.0-rc.3.tgz#45d1f05942c47fd04195fceda79cb6ce1407abce" resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-9.2.0.tgz#271ff68e2cee7b4ffe5a60406561a05948d6bbe6"
integrity sha512-IzcgeoQm294ZG+M2cxwLFeMvk3+OQOEcZrussQTChIuGnqzH+/KHboLR0wZMnmpO/4OsbYhklMS6EaWUSgmfbQ== integrity sha512-V8o1cn1MKXE5GH1ZpBHiWWilzxjHIp4IS6rNoCDBSnaQcVvRku9KPI8tPNQSf+4x3jBfHDV9aOBDbDGTQ6J2yw==
dependencies: dependencies:
bootstrap-datepicker "^1.10.0" bootstrap-datepicker "^1.10.0"
"@abp/bootstrap-daterangepicker@~9.2.0-rc.3": "@abp/bootstrap-daterangepicker@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-9.2.0-rc.3.tgz#9a094243e8e06258f2988c7759b1f042f36a3975" resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-9.2.0.tgz#a239f8c2efce57d2e2beca70ceeede52d1b177d5"
integrity sha512-NAjL+TdcmhvKjxDZwooOZr09x+mPXXLydI5UoFizf1C/OXBxXOaLi08lertF85FJN9i3o0Bv2n6gbUoTEYR/og== integrity sha512-Cd9naCyepTvmUotkR1VyOBqUMgyeSXnOVWR7HxXm+jugKtnWRzrztZB6UyfnNzzjc1RMOyiAUEjzitKSJrXeoA==
dependencies: dependencies:
bootstrap-daterangepicker "^3.1.0" bootstrap-daterangepicker "^3.1.0"
"@abp/bootstrap@~9.2.0-rc.3": "@abp/bootstrap@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-9.2.0-rc.3.tgz#20087792a43416635ba37949b4b5fcc4d72a192a" resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-9.2.0.tgz#08859288b8372ea111a240b507047b144d6caca9"
integrity sha512-X2YmErQaRrjnfgDW08GJxZ6bLg03d4/ovE7ZBmiurkcQFJs5vezkkV3CRm88ntPDEfJDE2HAJnzYR0s2FK2QLw== integrity sha512-L3EZQza2c/5VmvZkLsf0EOuaMi8fseyyiwlFN65i1hpcDwhOLcaqnxMneeaSJ+Dy4xczJT+oBml9D9OSTuzmkA==
dependencies: dependencies:
"@abp/core" "~9.2.0-rc.3" "@abp/core" "~9.2.0"
bootstrap "^5.3.3" bootstrap "^5.3.3"
"@abp/core@~9.2.0-rc.3": "@abp/core@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-9.2.0-rc.3.tgz#05793ff9823861983a01b2f85c40c7e80cc556b1" resolved "https://registry.yarnpkg.com/@abp/core/-/core-9.2.0.tgz#db08fd34cfc891e94eb9e59ed3c0d0e6ef45c51a"
integrity sha512-QUgV+aeILnRo/8H+dalIKrd6s60+qGeAQXFxykG9WPwH112VVg7CVZ90NGW5UJ2OOdkYyBx2B/JnY0QEUQ31WQ== integrity sha512-3iESoHFj8I2xK81dwQVpCI6C1bc87VfWKyJE3/IUv4zWvG4QvI0aKhe1wxocmJqTjjowPUA3/fa2hvpfqPs2Bw==
dependencies: dependencies:
"@abp/utils" "~9.2.0-rc.3" "@abp/utils" "~9.2.0"
"@abp/datatables.net-bs5@~9.2.0-rc.3": "@abp/datatables.net-bs5@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-9.2.0-rc.3.tgz#bae729cd2fd37565ca0851bfe577d7bf68fc3c19" resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-9.2.0.tgz#eab201c959727c27aaab30dc5bd8159249d8b54b"
integrity sha512-2M6oQw2sv0UqN8NZeCmKYWetKgkQUVqo/LDWH30As7Xjtnn5sLKIDobdgUSuib0R/+cP4HuXid0uL+wV+4R5eg== integrity sha512-bmK6GKffXzYbfkDIlN27D7mohnYsXoODEiHqhZnBdIzeSJyHwrwRPRVbO1EcBn1SEBHjGJp3S69Z6gDbRs018g==
dependencies: dependencies:
"@abp/datatables.net" "~9.2.0-rc.3" "@abp/datatables.net" "~9.2.0"
datatables.net-bs5 "^2.1.8" datatables.net-bs5 "^2.1.8"
"@abp/datatables.net@~9.2.0-rc.3": "@abp/datatables.net@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-9.2.0-rc.3.tgz#b6563334315df15c22267e57b258c72f90e1c246" resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-9.2.0.tgz#e4880fe074d86d3c5dbd7f48c86244790fc376c2"
integrity sha512-5FVrRzOZsKt71oX1gcMprIGINEi/FaTM0nuddfrVR5eJrkO8s2Ldiop1u5t7JMOxg6E960kqv7Qa9p/Z2xV5QA== integrity sha512-bKaaa+tl0Pt4oNaV+X8pBbvsHc2mPYoL7yuAs+LN8ZLwBdsGoUw7RNhLQ63O3tuYdHuaHhI/mx23X6JThr0SYw==
dependencies: dependencies:
"@abp/jquery" "~9.2.0-rc.3" "@abp/jquery" "~9.2.0"
datatables.net "^2.1.8" datatables.net "^2.1.8"
"@abp/font-awesome@~9.2.0-rc.3": "@abp/font-awesome@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-9.2.0-rc.3.tgz#b6f46c3faa61095b8a34fea08cf3888865bb694b" resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-9.2.0.tgz#3e359da2510cbc0e5b9e46e9cb3664baf285722e"
integrity sha512-V8NEcFsIaVCsZ0CRVF1CD4hOtsiGWAtIvnRTTDRyc7/ABGniZbFbhbGzkBRZFynOLPQ24Ci7aPsPF8NnIHN8tQ== integrity sha512-HRGg6XK3bCxFdVvEBnBKyLamqMUrenj//E4JuKOs8DtGLVH0jTyh8TwUT5/E/pI+POV7HEOpv9WpSB2p8pfsAg==
dependencies: dependencies:
"@abp/core" "~9.2.0-rc.3" "@abp/core" "~9.2.0"
"@fortawesome/fontawesome-free" "^6.6.0" "@fortawesome/fontawesome-free" "^6.6.0"
"@abp/jquery-form@~9.2.0-rc.3": "@abp/jquery-form@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-9.2.0-rc.3.tgz#03ebb39443f4b139bf91d638dcbaf8d3879c598e" resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-9.2.0.tgz#40fac992584c26e6c54f66e7f68f8abf8944a626"
integrity sha512-7BE6Z8tZ190XFrgfZgOqULcpsj+y9tx2MU8DTw5dZYNi6Up7MiqPbbZZ4grVF65/m4OMrwEhclp4AZl75h7dww== integrity sha512-B7Shq1itQjsnzdU1kjLpGHWjkSGFhIM2iF5BNMkqcylG3Yq1Se4+8QPoJpn/soilmtX8gbO2fx8TOejfIazXIw==
dependencies: dependencies:
"@abp/jquery" "~9.2.0-rc.3" "@abp/jquery" "~9.2.0"
jquery-form "^4.3.0" jquery-form "^4.3.0"
"@abp/jquery-validation-unobtrusive@~9.2.0-rc.3": "@abp/jquery-validation-unobtrusive@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-9.2.0-rc.3.tgz#39fa67d49f47bef5683552cd997bf4d1d4900c8c" resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-9.2.0.tgz#c2df51d024d48e71f0e7fb8d4207a8b2855393f4"
integrity sha512-vrlyHE0mThB1gHTZaV5Do13P8QljgOIC+lntL1NHe8QAi1HQhsQTHEaVaAv5akJHgg3KegAXx/QGde9Oc1eCGw== integrity sha512-c1cPfWVdo+gpaMoegAkw0DzGL2fy/1ylEi/shb95MAGt3iyECVx+X+R/XOxbVHKVI57D4d5IGj6cXYBhdKkvAw==
dependencies: dependencies:
"@abp/jquery-validation" "~9.2.0-rc.3" "@abp/jquery-validation" "~9.2.0"
jquery-validation-unobtrusive "^4.0.0" jquery-validation-unobtrusive "^4.0.0"
"@abp/jquery-validation@~9.2.0-rc.3": "@abp/jquery-validation@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-9.2.0-rc.3.tgz#4a321097fdf77cec53a0deae87d186b1ff47db22" resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-9.2.0.tgz#97688d2e3c25699d4368ebf7234e04943aa5e6ab"
integrity sha512-nOnGPLkD/Dwd/ZSd74usQi5BmTPYsVzpqSf4xCWXIy9tQj+9mPpXGDTrdp/XoWCUG61VEPD0ll94PAWEj1ULfQ== integrity sha512-UO+T6SqXBrh0ODwvMm840CGbE2fdYNo5oqJL4V4JbHv9uz7MH+k0bB1DK7mFb94iDM7QcglLzIfcN4hLRV7arw==
dependencies: dependencies:
"@abp/jquery" "~9.2.0-rc.3" "@abp/jquery" "~9.2.0"
jquery-validation "^1.21.0" jquery-validation "^1.21.0"
"@abp/jquery@~9.2.0-rc.3": "@abp/jquery@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-9.2.0-rc.3.tgz#5e930ad91b52dad7d4bdeda9725fb633e9171c9e" resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-9.2.0.tgz#38c249be6eda0cdc899cc8a1f20e5152c39ae9a0"
integrity sha512-uwuj9TmM2EFaUEySC4C1nalc4+aF193pJx31uhNquP51s04IJoQeRpYGRhcqmLPej1V0SXtp9elTblM9zrm/eg== integrity sha512-sIe3Zk+8549ytydCtDlECZ930PapW/2J0652two/sJwYG/SGUGxYQbw3QnJGFTcL9TFwcWwRj5iWX0gWrLEIyA==
dependencies: dependencies:
"@abp/core" "~9.2.0-rc.3" "@abp/core" "~9.2.0"
jquery "~3.7.1" jquery "~3.7.1"
"@abp/lodash@~9.2.0-rc.3": "@abp/lodash@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-9.2.0-rc.3.tgz#340bd0268f86f9f0d9a0bc710f0af91bb1077c3e" resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-9.2.0.tgz#7fa4c9e956c766e34ec4677d2102a6d00f899a4b"
integrity sha512-/lcb0MiFJsRb5IU9aPVVJ38NwnJ5ndPd33NkNbjcfXe48q37JQ0ruWri2Pn4bhAxyxXoITtPg7nuBuDjZ8oWGQ== integrity sha512-2elXj/eWw875tF9ixbOm3uqXCxGaG5gL9Tub5k7cP+XhFpNBOYijNaXdN8SeDSxr83WDVWdrk//OQL8BF7XPdw==
dependencies: dependencies:
"@abp/core" "~9.2.0-rc.3" "@abp/core" "~9.2.0"
lodash "^4.17.21" lodash "^4.17.21"
"@abp/luxon@~9.2.0-rc.3": "@abp/luxon@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-9.2.0-rc.3.tgz#a551aa33b7c4c33500cac0431648e7d37ab60c62" resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-9.2.0.tgz#865db7b60dba4029134fb4a4b5eaa08c723dcea8"
integrity sha512-gUBnuqm1GT7qxAdt8XGc+8eDFnMRwlNB8/IEsFzZTFumIMPdBV6ZDOPnFvMZzJdcLFaPnEDN38RIP2aGGaE6fg== integrity sha512-LWjczvzu1gFIq0/2fRz+bJW2+zsmXAmfz0I+lZ3wmqUdkViqAqwTa+5NMIl2tC92u4Dv3LGXKtH37Jw8m+XjTg==
dependencies: dependencies:
"@abp/core" "~9.2.0-rc.3" "@abp/core" "~9.2.0"
luxon "^3.5.0" luxon "^3.5.0"
"@abp/malihu-custom-scrollbar-plugin@~9.2.0-rc.3": "@abp/malihu-custom-scrollbar-plugin@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-9.2.0-rc.3.tgz#ecd35f7636b27904ddb8a638cbeb1d7119098a1b" resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-9.2.0.tgz#09722b1e7ca34b96e2a68368db0e96cdf9ab0e6c"
integrity sha512-kvlX0OcxOMKfZUSF4fViu9vGxN7PUJP/1useNqUis8I068FjotHpcc6qUSciCGiX+lvFP3wcqX4RGEsQt9tGZQ== integrity sha512-kfDf/1RwGtAlos/7BW+7xbh3LtJ4VG0Z4mxS+b2HsywAwlt/kE5FltfBj2ResQb030bsGNl7A5JglV9Pv1UlPw==
dependencies: dependencies:
"@abp/core" "~9.2.0-rc.3" "@abp/core" "~9.2.0"
malihu-custom-scrollbar-plugin "^3.1.5" malihu-custom-scrollbar-plugin "^3.1.5"
"@abp/moment@~9.2.0-rc.3": "@abp/moment@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-9.2.0-rc.3.tgz#bb9b94244fa943eacdca6294ff90c43846df47df" resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-9.2.0.tgz#137d688af4df195742061ac2b8a2bf460a027071"
integrity sha512-maE6NiGgdBws3y8GbJLvWchNxXpIpurd5lTso+qI4WgCnxT06L3lZMFHXKiQbCqy86XaRkr5E8Jdwj/CxFA4UA== integrity sha512-15aTjYAxHK+upkiZ94XCe8CoSPKMl1D8f6GXJIfwPkuYZ+na4ma17qBu4P8bFsc4gu3ngxYiLHRSzYzr4oCSYQ==
dependencies: dependencies:
moment "^2.30.1" moment "^2.30.1"
"@abp/select2@~9.2.0-rc.3": "@abp/select2@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-9.2.0-rc.3.tgz#e181a888d4aaa56f57900dd2a92b3d5f1ccbd90c" resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-9.2.0.tgz#c96d869be0d3298ed7c0888288ea9829e6266cd4"
integrity sha512-yCmqJSy13vIxbhNSg5mRhef/LJCuuhM6ewmoEafBhdJdns/4N6PuzdIXt4cqgxAqkHCurcsagZevlmxLUcSf1A== integrity sha512-V+qx9hw3oe7o0WbG03ZgAjbqRJPVuedzrdy7ExEdueTc6LRP/WEgbVpXhsNISObtouE6Dadwp3iXYSExgNUC6A==
dependencies: dependencies:
"@abp/core" "~9.2.0-rc.3" "@abp/core" "~9.2.0"
select2 "^4.0.13" select2 "^4.0.13"
"@abp/sweetalert2@~9.2.0-rc.3": "@abp/sweetalert2@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-9.2.0-rc.3.tgz#fb19e319058682f73b293920e620771aa54e4129" resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-9.2.0.tgz#826d6dd0b70c35a7401cc884fb1e82af99a0305d"
integrity sha512-yJ8+GjnYPQ1h1epSqn2GkEBH7syMj/+3cX6ZZ7U1MPSw1RACELJIcH/MjZQG82D2SsvsCfoPLTzh46Jh1c9Hpg== integrity sha512-0r338ayjaL9uzmLKE8oHpcMgJeVgVoMYfhQAPINeQHv1TPXuYCLo0aoRNoLsfmUo3ayYBBa3zOrugFIVis7Q6A==
dependencies: dependencies:
"@abp/core" "~9.2.0-rc.3" "@abp/core" "~9.2.0"
sweetalert2 "^11.14.1" sweetalert2 "^11.14.1"
"@abp/timeago@~9.2.0-rc.3": "@abp/timeago@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-9.2.0-rc.3.tgz#f50436c0d3cb9c703e1b712735609e47f300f7de" resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-9.2.0.tgz#79bbe6dd32b0ee7df2e8ebd05274a0ecc7882ba7"
integrity sha512-lQtKUSHp4L4xBI+ZUicMXtZABvX8MF2udRPP1zVaZ/xcZ5MV1rRGcCM+YjRYpF0lB0DRyuGvgXFztQEok/xu5A== integrity sha512-hEUi5re5N1YkDSpaUaUtXF1Mz4YyiEvNzVADbKRz11kbR4ZAFzcvVqsQLeNo7qnuFLfJNAtuzyjkuxwL75kmaA==
dependencies: dependencies:
"@abp/jquery" "~9.2.0-rc.3" "@abp/jquery" "~9.2.0"
timeago "^1.6.7" timeago "^1.6.7"
"@abp/utils@~9.2.0-rc.3": "@abp/utils@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-9.2.0-rc.3.tgz#95ba7545627ae1d2fc8c19c6c9da1bd8a7f8d31a" resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-9.2.0.tgz#bf32ced1175e45fbe010c3cb806c7cd37f85089c"
integrity sha512-4HJCS/4qlYnqyMKH5A9JL9FWZDGYElTkLuUGuvlhsy/0BxOoJKsPPZCiX8S7RqkLEjdQSU8nkkXVANhXgIgkTA== integrity sha512-aciBuXhzlaqe+o7mNt536bCk425cmxY5BE0wwl13u3pX3LfWYWLEgwl8GS0aeI11TS1/7+1N85RJELyz/+y0hQ==
dependencies: dependencies:
just-compare "^2.3.0" just-compare "^2.3.0"

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

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

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

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

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

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

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

@ -2,185 +2,185 @@
# yarn lockfile v1 # yarn lockfile v1
"@abp/aspnetcore.mvc.ui.theme.basic@~9.2.0-rc.3": "@abp/aspnetcore.mvc.ui.theme.basic@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-9.2.0-rc.3.tgz#7fff474f68baac1c6330bf3ddd8e1bdbf36dabd7" resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-9.2.0.tgz#af6ff5071cadb480b4aece0f15400d56b105a350"
integrity sha512-Xjt+1JSllrFJOgyk2opdWGIEFLOIZlS/ZDGXWFfyCcsFPgJRNHcuXY8SUyZo5aebH/w42i1OVYj24mnJEO7zIg== integrity sha512-+LOmhSfsua7i3VQy9vYTDv7nE0fdIA+kNvorQ4wkkRzijOAlwmS4fkupglwOKJQSCWGAM7VXccPy2NzdmwvEtw==
dependencies: dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~9.2.0-rc.3" "@abp/aspnetcore.mvc.ui.theme.shared" "~9.2.0"
"@abp/aspnetcore.mvc.ui.theme.shared@~9.2.0-rc.3": "@abp/aspnetcore.mvc.ui.theme.shared@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-9.2.0-rc.3.tgz#f576805a0be069a8df2698f05a43e24e0333cc94" resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-9.2.0.tgz#791f419e8e0fab229e3f93f7a90edcd259100206"
integrity sha512-MX7bgp/n0WDIX+qONMHbAIAQ4zANkCapKCWiEn/7O4TgUmNyiCL4/EfqaxxJajD3W4tu+fwply8uRClCngSm6w== integrity sha512-Mrs+kQg0S5OyRsPBwXQTqOq2DBWDdot7emETcX/gatv26GFbRe3nTOk1E+VWD/nsxHEOKTSE8LClC6TgkMxD8Q==
dependencies: dependencies:
"@abp/aspnetcore.mvc.ui" "~9.2.0-rc.3" "@abp/aspnetcore.mvc.ui" "~9.2.0"
"@abp/bootstrap" "~9.2.0-rc.3" "@abp/bootstrap" "~9.2.0"
"@abp/bootstrap-datepicker" "~9.2.0-rc.3" "@abp/bootstrap-datepicker" "~9.2.0"
"@abp/bootstrap-daterangepicker" "~9.2.0-rc.3" "@abp/bootstrap-daterangepicker" "~9.2.0"
"@abp/datatables.net-bs5" "~9.2.0-rc.3" "@abp/datatables.net-bs5" "~9.2.0"
"@abp/font-awesome" "~9.2.0-rc.3" "@abp/font-awesome" "~9.2.0"
"@abp/jquery-form" "~9.2.0-rc.3" "@abp/jquery-form" "~9.2.0"
"@abp/jquery-validation-unobtrusive" "~9.2.0-rc.3" "@abp/jquery-validation-unobtrusive" "~9.2.0"
"@abp/lodash" "~9.2.0-rc.3" "@abp/lodash" "~9.2.0"
"@abp/luxon" "~9.2.0-rc.3" "@abp/luxon" "~9.2.0"
"@abp/malihu-custom-scrollbar-plugin" "~9.2.0-rc.3" "@abp/malihu-custom-scrollbar-plugin" "~9.2.0"
"@abp/moment" "~9.2.0-rc.3" "@abp/moment" "~9.2.0"
"@abp/select2" "~9.2.0-rc.3" "@abp/select2" "~9.2.0"
"@abp/sweetalert2" "~9.2.0-rc.3" "@abp/sweetalert2" "~9.2.0"
"@abp/timeago" "~9.2.0-rc.3" "@abp/timeago" "~9.2.0"
"@abp/aspnetcore.mvc.ui@~9.2.0-rc.3": "@abp/aspnetcore.mvc.ui@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-9.2.0-rc.3.tgz#5452ff91aed1ca042c54595ef68cb4e695ad2ce3" resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-9.2.0.tgz#e3e703ea46caf04cc966ea0af6deb64427a90d4c"
integrity sha512-KAhDAS5anhYdH3x6S1uPBeT24mfdlc2LF6LcA5CZdEzUvNwpE1Ymhc0dPmlCHkGWN/R4+ykSmJwPG0uQWFeaXg== integrity sha512-VHH68/7Bw7r8p70T9grnVISgYPe2t3m9199S/wAXGtpGHML/lbHhDflWbm7y1MHcrmCfaXy42O9SmTHV25BJhA==
dependencies: dependencies:
ansi-colors "^4.1.3" ansi-colors "^4.1.3"
"@abp/bootstrap-datepicker@~9.2.0-rc.3": "@abp/bootstrap-datepicker@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-9.2.0-rc.3.tgz#45d1f05942c47fd04195fceda79cb6ce1407abce" resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-9.2.0.tgz#271ff68e2cee7b4ffe5a60406561a05948d6bbe6"
integrity sha512-IzcgeoQm294ZG+M2cxwLFeMvk3+OQOEcZrussQTChIuGnqzH+/KHboLR0wZMnmpO/4OsbYhklMS6EaWUSgmfbQ== integrity sha512-V8o1cn1MKXE5GH1ZpBHiWWilzxjHIp4IS6rNoCDBSnaQcVvRku9KPI8tPNQSf+4x3jBfHDV9aOBDbDGTQ6J2yw==
dependencies: dependencies:
bootstrap-datepicker "^1.10.0" bootstrap-datepicker "^1.10.0"
"@abp/bootstrap-daterangepicker@~9.2.0-rc.3": "@abp/bootstrap-daterangepicker@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-9.2.0-rc.3.tgz#9a094243e8e06258f2988c7759b1f042f36a3975" resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-9.2.0.tgz#a239f8c2efce57d2e2beca70ceeede52d1b177d5"
integrity sha512-NAjL+TdcmhvKjxDZwooOZr09x+mPXXLydI5UoFizf1C/OXBxXOaLi08lertF85FJN9i3o0Bv2n6gbUoTEYR/og== integrity sha512-Cd9naCyepTvmUotkR1VyOBqUMgyeSXnOVWR7HxXm+jugKtnWRzrztZB6UyfnNzzjc1RMOyiAUEjzitKSJrXeoA==
dependencies: dependencies:
bootstrap-daterangepicker "^3.1.0" bootstrap-daterangepicker "^3.1.0"
"@abp/bootstrap@~9.2.0-rc.3": "@abp/bootstrap@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-9.2.0-rc.3.tgz#20087792a43416635ba37949b4b5fcc4d72a192a" resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-9.2.0.tgz#08859288b8372ea111a240b507047b144d6caca9"
integrity sha512-X2YmErQaRrjnfgDW08GJxZ6bLg03d4/ovE7ZBmiurkcQFJs5vezkkV3CRm88ntPDEfJDE2HAJnzYR0s2FK2QLw== integrity sha512-L3EZQza2c/5VmvZkLsf0EOuaMi8fseyyiwlFN65i1hpcDwhOLcaqnxMneeaSJ+Dy4xczJT+oBml9D9OSTuzmkA==
dependencies: dependencies:
"@abp/core" "~9.2.0-rc.3" "@abp/core" "~9.2.0"
bootstrap "^5.3.3" bootstrap "^5.3.3"
"@abp/core@~9.2.0-rc.3": "@abp/core@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-9.2.0-rc.3.tgz#05793ff9823861983a01b2f85c40c7e80cc556b1" resolved "https://registry.yarnpkg.com/@abp/core/-/core-9.2.0.tgz#db08fd34cfc891e94eb9e59ed3c0d0e6ef45c51a"
integrity sha512-QUgV+aeILnRo/8H+dalIKrd6s60+qGeAQXFxykG9WPwH112VVg7CVZ90NGW5UJ2OOdkYyBx2B/JnY0QEUQ31WQ== integrity sha512-3iESoHFj8I2xK81dwQVpCI6C1bc87VfWKyJE3/IUv4zWvG4QvI0aKhe1wxocmJqTjjowPUA3/fa2hvpfqPs2Bw==
dependencies: dependencies:
"@abp/utils" "~9.2.0-rc.3" "@abp/utils" "~9.2.0"
"@abp/datatables.net-bs5@~9.2.0-rc.3": "@abp/datatables.net-bs5@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-9.2.0-rc.3.tgz#bae729cd2fd37565ca0851bfe577d7bf68fc3c19" resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-9.2.0.tgz#eab201c959727c27aaab30dc5bd8159249d8b54b"
integrity sha512-2M6oQw2sv0UqN8NZeCmKYWetKgkQUVqo/LDWH30As7Xjtnn5sLKIDobdgUSuib0R/+cP4HuXid0uL+wV+4R5eg== integrity sha512-bmK6GKffXzYbfkDIlN27D7mohnYsXoODEiHqhZnBdIzeSJyHwrwRPRVbO1EcBn1SEBHjGJp3S69Z6gDbRs018g==
dependencies: dependencies:
"@abp/datatables.net" "~9.2.0-rc.3" "@abp/datatables.net" "~9.2.0"
datatables.net-bs5 "^2.1.8" datatables.net-bs5 "^2.1.8"
"@abp/datatables.net@~9.2.0-rc.3": "@abp/datatables.net@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-9.2.0-rc.3.tgz#b6563334315df15c22267e57b258c72f90e1c246" resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-9.2.0.tgz#e4880fe074d86d3c5dbd7f48c86244790fc376c2"
integrity sha512-5FVrRzOZsKt71oX1gcMprIGINEi/FaTM0nuddfrVR5eJrkO8s2Ldiop1u5t7JMOxg6E960kqv7Qa9p/Z2xV5QA== integrity sha512-bKaaa+tl0Pt4oNaV+X8pBbvsHc2mPYoL7yuAs+LN8ZLwBdsGoUw7RNhLQ63O3tuYdHuaHhI/mx23X6JThr0SYw==
dependencies: dependencies:
"@abp/jquery" "~9.2.0-rc.3" "@abp/jquery" "~9.2.0"
datatables.net "^2.1.8" datatables.net "^2.1.8"
"@abp/font-awesome@~9.2.0-rc.3": "@abp/font-awesome@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-9.2.0-rc.3.tgz#b6f46c3faa61095b8a34fea08cf3888865bb694b" resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-9.2.0.tgz#3e359da2510cbc0e5b9e46e9cb3664baf285722e"
integrity sha512-V8NEcFsIaVCsZ0CRVF1CD4hOtsiGWAtIvnRTTDRyc7/ABGniZbFbhbGzkBRZFynOLPQ24Ci7aPsPF8NnIHN8tQ== integrity sha512-HRGg6XK3bCxFdVvEBnBKyLamqMUrenj//E4JuKOs8DtGLVH0jTyh8TwUT5/E/pI+POV7HEOpv9WpSB2p8pfsAg==
dependencies: dependencies:
"@abp/core" "~9.2.0-rc.3" "@abp/core" "~9.2.0"
"@fortawesome/fontawesome-free" "^6.6.0" "@fortawesome/fontawesome-free" "^6.6.0"
"@abp/jquery-form@~9.2.0-rc.3": "@abp/jquery-form@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-9.2.0-rc.3.tgz#03ebb39443f4b139bf91d638dcbaf8d3879c598e" resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-9.2.0.tgz#40fac992584c26e6c54f66e7f68f8abf8944a626"
integrity sha512-7BE6Z8tZ190XFrgfZgOqULcpsj+y9tx2MU8DTw5dZYNi6Up7MiqPbbZZ4grVF65/m4OMrwEhclp4AZl75h7dww== integrity sha512-B7Shq1itQjsnzdU1kjLpGHWjkSGFhIM2iF5BNMkqcylG3Yq1Se4+8QPoJpn/soilmtX8gbO2fx8TOejfIazXIw==
dependencies: dependencies:
"@abp/jquery" "~9.2.0-rc.3" "@abp/jquery" "~9.2.0"
jquery-form "^4.3.0" jquery-form "^4.3.0"
"@abp/jquery-validation-unobtrusive@~9.2.0-rc.3": "@abp/jquery-validation-unobtrusive@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-9.2.0-rc.3.tgz#39fa67d49f47bef5683552cd997bf4d1d4900c8c" resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-9.2.0.tgz#c2df51d024d48e71f0e7fb8d4207a8b2855393f4"
integrity sha512-vrlyHE0mThB1gHTZaV5Do13P8QljgOIC+lntL1NHe8QAi1HQhsQTHEaVaAv5akJHgg3KegAXx/QGde9Oc1eCGw== integrity sha512-c1cPfWVdo+gpaMoegAkw0DzGL2fy/1ylEi/shb95MAGt3iyECVx+X+R/XOxbVHKVI57D4d5IGj6cXYBhdKkvAw==
dependencies: dependencies:
"@abp/jquery-validation" "~9.2.0-rc.3" "@abp/jquery-validation" "~9.2.0"
jquery-validation-unobtrusive "^4.0.0" jquery-validation-unobtrusive "^4.0.0"
"@abp/jquery-validation@~9.2.0-rc.3": "@abp/jquery-validation@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-9.2.0-rc.3.tgz#4a321097fdf77cec53a0deae87d186b1ff47db22" resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-9.2.0.tgz#97688d2e3c25699d4368ebf7234e04943aa5e6ab"
integrity sha512-nOnGPLkD/Dwd/ZSd74usQi5BmTPYsVzpqSf4xCWXIy9tQj+9mPpXGDTrdp/XoWCUG61VEPD0ll94PAWEj1ULfQ== integrity sha512-UO+T6SqXBrh0ODwvMm840CGbE2fdYNo5oqJL4V4JbHv9uz7MH+k0bB1DK7mFb94iDM7QcglLzIfcN4hLRV7arw==
dependencies: dependencies:
"@abp/jquery" "~9.2.0-rc.3" "@abp/jquery" "~9.2.0"
jquery-validation "^1.21.0" jquery-validation "^1.21.0"
"@abp/jquery@~9.2.0-rc.3": "@abp/jquery@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-9.2.0-rc.3.tgz#5e930ad91b52dad7d4bdeda9725fb633e9171c9e" resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-9.2.0.tgz#38c249be6eda0cdc899cc8a1f20e5152c39ae9a0"
integrity sha512-uwuj9TmM2EFaUEySC4C1nalc4+aF193pJx31uhNquP51s04IJoQeRpYGRhcqmLPej1V0SXtp9elTblM9zrm/eg== integrity sha512-sIe3Zk+8549ytydCtDlECZ930PapW/2J0652two/sJwYG/SGUGxYQbw3QnJGFTcL9TFwcWwRj5iWX0gWrLEIyA==
dependencies: dependencies:
"@abp/core" "~9.2.0-rc.3" "@abp/core" "~9.2.0"
jquery "~3.7.1" jquery "~3.7.1"
"@abp/lodash@~9.2.0-rc.3": "@abp/lodash@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-9.2.0-rc.3.tgz#340bd0268f86f9f0d9a0bc710f0af91bb1077c3e" resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-9.2.0.tgz#7fa4c9e956c766e34ec4677d2102a6d00f899a4b"
integrity sha512-/lcb0MiFJsRb5IU9aPVVJ38NwnJ5ndPd33NkNbjcfXe48q37JQ0ruWri2Pn4bhAxyxXoITtPg7nuBuDjZ8oWGQ== integrity sha512-2elXj/eWw875tF9ixbOm3uqXCxGaG5gL9Tub5k7cP+XhFpNBOYijNaXdN8SeDSxr83WDVWdrk//OQL8BF7XPdw==
dependencies: dependencies:
"@abp/core" "~9.2.0-rc.3" "@abp/core" "~9.2.0"
lodash "^4.17.21" lodash "^4.17.21"
"@abp/luxon@~9.2.0-rc.3": "@abp/luxon@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-9.2.0-rc.3.tgz#a551aa33b7c4c33500cac0431648e7d37ab60c62" resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-9.2.0.tgz#865db7b60dba4029134fb4a4b5eaa08c723dcea8"
integrity sha512-gUBnuqm1GT7qxAdt8XGc+8eDFnMRwlNB8/IEsFzZTFumIMPdBV6ZDOPnFvMZzJdcLFaPnEDN38RIP2aGGaE6fg== integrity sha512-LWjczvzu1gFIq0/2fRz+bJW2+zsmXAmfz0I+lZ3wmqUdkViqAqwTa+5NMIl2tC92u4Dv3LGXKtH37Jw8m+XjTg==
dependencies: dependencies:
"@abp/core" "~9.2.0-rc.3" "@abp/core" "~9.2.0"
luxon "^3.5.0" luxon "^3.5.0"
"@abp/malihu-custom-scrollbar-plugin@~9.2.0-rc.3": "@abp/malihu-custom-scrollbar-plugin@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-9.2.0-rc.3.tgz#ecd35f7636b27904ddb8a638cbeb1d7119098a1b" resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-9.2.0.tgz#09722b1e7ca34b96e2a68368db0e96cdf9ab0e6c"
integrity sha512-kvlX0OcxOMKfZUSF4fViu9vGxN7PUJP/1useNqUis8I068FjotHpcc6qUSciCGiX+lvFP3wcqX4RGEsQt9tGZQ== integrity sha512-kfDf/1RwGtAlos/7BW+7xbh3LtJ4VG0Z4mxS+b2HsywAwlt/kE5FltfBj2ResQb030bsGNl7A5JglV9Pv1UlPw==
dependencies: dependencies:
"@abp/core" "~9.2.0-rc.3" "@abp/core" "~9.2.0"
malihu-custom-scrollbar-plugin "^3.1.5" malihu-custom-scrollbar-plugin "^3.1.5"
"@abp/moment@~9.2.0-rc.3": "@abp/moment@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-9.2.0-rc.3.tgz#bb9b94244fa943eacdca6294ff90c43846df47df" resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-9.2.0.tgz#137d688af4df195742061ac2b8a2bf460a027071"
integrity sha512-maE6NiGgdBws3y8GbJLvWchNxXpIpurd5lTso+qI4WgCnxT06L3lZMFHXKiQbCqy86XaRkr5E8Jdwj/CxFA4UA== integrity sha512-15aTjYAxHK+upkiZ94XCe8CoSPKMl1D8f6GXJIfwPkuYZ+na4ma17qBu4P8bFsc4gu3ngxYiLHRSzYzr4oCSYQ==
dependencies: dependencies:
moment "^2.30.1" moment "^2.30.1"
"@abp/select2@~9.2.0-rc.3": "@abp/select2@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-9.2.0-rc.3.tgz#e181a888d4aaa56f57900dd2a92b3d5f1ccbd90c" resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-9.2.0.tgz#c96d869be0d3298ed7c0888288ea9829e6266cd4"
integrity sha512-yCmqJSy13vIxbhNSg5mRhef/LJCuuhM6ewmoEafBhdJdns/4N6PuzdIXt4cqgxAqkHCurcsagZevlmxLUcSf1A== integrity sha512-V+qx9hw3oe7o0WbG03ZgAjbqRJPVuedzrdy7ExEdueTc6LRP/WEgbVpXhsNISObtouE6Dadwp3iXYSExgNUC6A==
dependencies: dependencies:
"@abp/core" "~9.2.0-rc.3" "@abp/core" "~9.2.0"
select2 "^4.0.13" select2 "^4.0.13"
"@abp/sweetalert2@~9.2.0-rc.3": "@abp/sweetalert2@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-9.2.0-rc.3.tgz#fb19e319058682f73b293920e620771aa54e4129" resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-9.2.0.tgz#826d6dd0b70c35a7401cc884fb1e82af99a0305d"
integrity sha512-yJ8+GjnYPQ1h1epSqn2GkEBH7syMj/+3cX6ZZ7U1MPSw1RACELJIcH/MjZQG82D2SsvsCfoPLTzh46Jh1c9Hpg== integrity sha512-0r338ayjaL9uzmLKE8oHpcMgJeVgVoMYfhQAPINeQHv1TPXuYCLo0aoRNoLsfmUo3ayYBBa3zOrugFIVis7Q6A==
dependencies: dependencies:
"@abp/core" "~9.2.0-rc.3" "@abp/core" "~9.2.0"
sweetalert2 "^11.14.1" sweetalert2 "^11.14.1"
"@abp/timeago@~9.2.0-rc.3": "@abp/timeago@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-9.2.0-rc.3.tgz#f50436c0d3cb9c703e1b712735609e47f300f7de" resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-9.2.0.tgz#79bbe6dd32b0ee7df2e8ebd05274a0ecc7882ba7"
integrity sha512-lQtKUSHp4L4xBI+ZUicMXtZABvX8MF2udRPP1zVaZ/xcZ5MV1rRGcCM+YjRYpF0lB0DRyuGvgXFztQEok/xu5A== integrity sha512-hEUi5re5N1YkDSpaUaUtXF1Mz4YyiEvNzVADbKRz11kbR4ZAFzcvVqsQLeNo7qnuFLfJNAtuzyjkuxwL75kmaA==
dependencies: dependencies:
"@abp/jquery" "~9.2.0-rc.3" "@abp/jquery" "~9.2.0"
timeago "^1.6.7" timeago "^1.6.7"
"@abp/utils@~9.2.0-rc.3": "@abp/utils@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-9.2.0-rc.3.tgz#95ba7545627ae1d2fc8c19c6c9da1bd8a7f8d31a" resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-9.2.0.tgz#bf32ced1175e45fbe010c3cb806c7cd37f85089c"
integrity sha512-4HJCS/4qlYnqyMKH5A9JL9FWZDGYElTkLuUGuvlhsy/0BxOoJKsPPZCiX8S7RqkLEjdQSU8nkkXVANhXgIgkTA== integrity sha512-aciBuXhzlaqe+o7mNt536bCk425cmxY5BE0wwl13u3pX3LfWYWLEgwl8GS0aeI11TS1/7+1N85RJELyz/+y0hQ==
dependencies: dependencies:
just-compare "^2.3.0" just-compare "^2.3.0"

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

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

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

@ -2,185 +2,185 @@
# yarn lockfile v1 # yarn lockfile v1
"@abp/aspnetcore.mvc.ui.theme.basic@~9.2.0-rc.3": "@abp/aspnetcore.mvc.ui.theme.basic@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-9.2.0-rc.3.tgz#7fff474f68baac1c6330bf3ddd8e1bdbf36dabd7" resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-9.2.0.tgz#af6ff5071cadb480b4aece0f15400d56b105a350"
integrity sha512-Xjt+1JSllrFJOgyk2opdWGIEFLOIZlS/ZDGXWFfyCcsFPgJRNHcuXY8SUyZo5aebH/w42i1OVYj24mnJEO7zIg== integrity sha512-+LOmhSfsua7i3VQy9vYTDv7nE0fdIA+kNvorQ4wkkRzijOAlwmS4fkupglwOKJQSCWGAM7VXccPy2NzdmwvEtw==
dependencies: dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~9.2.0-rc.3" "@abp/aspnetcore.mvc.ui.theme.shared" "~9.2.0"
"@abp/aspnetcore.mvc.ui.theme.shared@~9.2.0-rc.3": "@abp/aspnetcore.mvc.ui.theme.shared@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-9.2.0-rc.3.tgz#f576805a0be069a8df2698f05a43e24e0333cc94" resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-9.2.0.tgz#791f419e8e0fab229e3f93f7a90edcd259100206"
integrity sha512-MX7bgp/n0WDIX+qONMHbAIAQ4zANkCapKCWiEn/7O4TgUmNyiCL4/EfqaxxJajD3W4tu+fwply8uRClCngSm6w== integrity sha512-Mrs+kQg0S5OyRsPBwXQTqOq2DBWDdot7emETcX/gatv26GFbRe3nTOk1E+VWD/nsxHEOKTSE8LClC6TgkMxD8Q==
dependencies: dependencies:
"@abp/aspnetcore.mvc.ui" "~9.2.0-rc.3" "@abp/aspnetcore.mvc.ui" "~9.2.0"
"@abp/bootstrap" "~9.2.0-rc.3" "@abp/bootstrap" "~9.2.0"
"@abp/bootstrap-datepicker" "~9.2.0-rc.3" "@abp/bootstrap-datepicker" "~9.2.0"
"@abp/bootstrap-daterangepicker" "~9.2.0-rc.3" "@abp/bootstrap-daterangepicker" "~9.2.0"
"@abp/datatables.net-bs5" "~9.2.0-rc.3" "@abp/datatables.net-bs5" "~9.2.0"
"@abp/font-awesome" "~9.2.0-rc.3" "@abp/font-awesome" "~9.2.0"
"@abp/jquery-form" "~9.2.0-rc.3" "@abp/jquery-form" "~9.2.0"
"@abp/jquery-validation-unobtrusive" "~9.2.0-rc.3" "@abp/jquery-validation-unobtrusive" "~9.2.0"
"@abp/lodash" "~9.2.0-rc.3" "@abp/lodash" "~9.2.0"
"@abp/luxon" "~9.2.0-rc.3" "@abp/luxon" "~9.2.0"
"@abp/malihu-custom-scrollbar-plugin" "~9.2.0-rc.3" "@abp/malihu-custom-scrollbar-plugin" "~9.2.0"
"@abp/moment" "~9.2.0-rc.3" "@abp/moment" "~9.2.0"
"@abp/select2" "~9.2.0-rc.3" "@abp/select2" "~9.2.0"
"@abp/sweetalert2" "~9.2.0-rc.3" "@abp/sweetalert2" "~9.2.0"
"@abp/timeago" "~9.2.0-rc.3" "@abp/timeago" "~9.2.0"
"@abp/aspnetcore.mvc.ui@~9.2.0-rc.3": "@abp/aspnetcore.mvc.ui@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-9.2.0-rc.3.tgz#5452ff91aed1ca042c54595ef68cb4e695ad2ce3" resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-9.2.0.tgz#e3e703ea46caf04cc966ea0af6deb64427a90d4c"
integrity sha512-KAhDAS5anhYdH3x6S1uPBeT24mfdlc2LF6LcA5CZdEzUvNwpE1Ymhc0dPmlCHkGWN/R4+ykSmJwPG0uQWFeaXg== integrity sha512-VHH68/7Bw7r8p70T9grnVISgYPe2t3m9199S/wAXGtpGHML/lbHhDflWbm7y1MHcrmCfaXy42O9SmTHV25BJhA==
dependencies: dependencies:
ansi-colors "^4.1.3" ansi-colors "^4.1.3"
"@abp/bootstrap-datepicker@~9.2.0-rc.3": "@abp/bootstrap-datepicker@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-9.2.0-rc.3.tgz#45d1f05942c47fd04195fceda79cb6ce1407abce" resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-9.2.0.tgz#271ff68e2cee7b4ffe5a60406561a05948d6bbe6"
integrity sha512-IzcgeoQm294ZG+M2cxwLFeMvk3+OQOEcZrussQTChIuGnqzH+/KHboLR0wZMnmpO/4OsbYhklMS6EaWUSgmfbQ== integrity sha512-V8o1cn1MKXE5GH1ZpBHiWWilzxjHIp4IS6rNoCDBSnaQcVvRku9KPI8tPNQSf+4x3jBfHDV9aOBDbDGTQ6J2yw==
dependencies: dependencies:
bootstrap-datepicker "^1.10.0" bootstrap-datepicker "^1.10.0"
"@abp/bootstrap-daterangepicker@~9.2.0-rc.3": "@abp/bootstrap-daterangepicker@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-9.2.0-rc.3.tgz#9a094243e8e06258f2988c7759b1f042f36a3975" resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-9.2.0.tgz#a239f8c2efce57d2e2beca70ceeede52d1b177d5"
integrity sha512-NAjL+TdcmhvKjxDZwooOZr09x+mPXXLydI5UoFizf1C/OXBxXOaLi08lertF85FJN9i3o0Bv2n6gbUoTEYR/og== integrity sha512-Cd9naCyepTvmUotkR1VyOBqUMgyeSXnOVWR7HxXm+jugKtnWRzrztZB6UyfnNzzjc1RMOyiAUEjzitKSJrXeoA==
dependencies: dependencies:
bootstrap-daterangepicker "^3.1.0" bootstrap-daterangepicker "^3.1.0"
"@abp/bootstrap@~9.2.0-rc.3": "@abp/bootstrap@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-9.2.0-rc.3.tgz#20087792a43416635ba37949b4b5fcc4d72a192a" resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-9.2.0.tgz#08859288b8372ea111a240b507047b144d6caca9"
integrity sha512-X2YmErQaRrjnfgDW08GJxZ6bLg03d4/ovE7ZBmiurkcQFJs5vezkkV3CRm88ntPDEfJDE2HAJnzYR0s2FK2QLw== integrity sha512-L3EZQza2c/5VmvZkLsf0EOuaMi8fseyyiwlFN65i1hpcDwhOLcaqnxMneeaSJ+Dy4xczJT+oBml9D9OSTuzmkA==
dependencies: dependencies:
"@abp/core" "~9.2.0-rc.3" "@abp/core" "~9.2.0"
bootstrap "^5.3.3" bootstrap "^5.3.3"
"@abp/core@~9.2.0-rc.3": "@abp/core@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-9.2.0-rc.3.tgz#05793ff9823861983a01b2f85c40c7e80cc556b1" resolved "https://registry.yarnpkg.com/@abp/core/-/core-9.2.0.tgz#db08fd34cfc891e94eb9e59ed3c0d0e6ef45c51a"
integrity sha512-QUgV+aeILnRo/8H+dalIKrd6s60+qGeAQXFxykG9WPwH112VVg7CVZ90NGW5UJ2OOdkYyBx2B/JnY0QEUQ31WQ== integrity sha512-3iESoHFj8I2xK81dwQVpCI6C1bc87VfWKyJE3/IUv4zWvG4QvI0aKhe1wxocmJqTjjowPUA3/fa2hvpfqPs2Bw==
dependencies: dependencies:
"@abp/utils" "~9.2.0-rc.3" "@abp/utils" "~9.2.0"
"@abp/datatables.net-bs5@~9.2.0-rc.3": "@abp/datatables.net-bs5@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-9.2.0-rc.3.tgz#bae729cd2fd37565ca0851bfe577d7bf68fc3c19" resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-9.2.0.tgz#eab201c959727c27aaab30dc5bd8159249d8b54b"
integrity sha512-2M6oQw2sv0UqN8NZeCmKYWetKgkQUVqo/LDWH30As7Xjtnn5sLKIDobdgUSuib0R/+cP4HuXid0uL+wV+4R5eg== integrity sha512-bmK6GKffXzYbfkDIlN27D7mohnYsXoODEiHqhZnBdIzeSJyHwrwRPRVbO1EcBn1SEBHjGJp3S69Z6gDbRs018g==
dependencies: dependencies:
"@abp/datatables.net" "~9.2.0-rc.3" "@abp/datatables.net" "~9.2.0"
datatables.net-bs5 "^2.1.8" datatables.net-bs5 "^2.1.8"
"@abp/datatables.net@~9.2.0-rc.3": "@abp/datatables.net@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-9.2.0-rc.3.tgz#b6563334315df15c22267e57b258c72f90e1c246" resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-9.2.0.tgz#e4880fe074d86d3c5dbd7f48c86244790fc376c2"
integrity sha512-5FVrRzOZsKt71oX1gcMprIGINEi/FaTM0nuddfrVR5eJrkO8s2Ldiop1u5t7JMOxg6E960kqv7Qa9p/Z2xV5QA== integrity sha512-bKaaa+tl0Pt4oNaV+X8pBbvsHc2mPYoL7yuAs+LN8ZLwBdsGoUw7RNhLQ63O3tuYdHuaHhI/mx23X6JThr0SYw==
dependencies: dependencies:
"@abp/jquery" "~9.2.0-rc.3" "@abp/jquery" "~9.2.0"
datatables.net "^2.1.8" datatables.net "^2.1.8"
"@abp/font-awesome@~9.2.0-rc.3": "@abp/font-awesome@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-9.2.0-rc.3.tgz#b6f46c3faa61095b8a34fea08cf3888865bb694b" resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-9.2.0.tgz#3e359da2510cbc0e5b9e46e9cb3664baf285722e"
integrity sha512-V8NEcFsIaVCsZ0CRVF1CD4hOtsiGWAtIvnRTTDRyc7/ABGniZbFbhbGzkBRZFynOLPQ24Ci7aPsPF8NnIHN8tQ== integrity sha512-HRGg6XK3bCxFdVvEBnBKyLamqMUrenj//E4JuKOs8DtGLVH0jTyh8TwUT5/E/pI+POV7HEOpv9WpSB2p8pfsAg==
dependencies: dependencies:
"@abp/core" "~9.2.0-rc.3" "@abp/core" "~9.2.0"
"@fortawesome/fontawesome-free" "^6.6.0" "@fortawesome/fontawesome-free" "^6.6.0"
"@abp/jquery-form@~9.2.0-rc.3": "@abp/jquery-form@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-9.2.0-rc.3.tgz#03ebb39443f4b139bf91d638dcbaf8d3879c598e" resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-9.2.0.tgz#40fac992584c26e6c54f66e7f68f8abf8944a626"
integrity sha512-7BE6Z8tZ190XFrgfZgOqULcpsj+y9tx2MU8DTw5dZYNi6Up7MiqPbbZZ4grVF65/m4OMrwEhclp4AZl75h7dww== integrity sha512-B7Shq1itQjsnzdU1kjLpGHWjkSGFhIM2iF5BNMkqcylG3Yq1Se4+8QPoJpn/soilmtX8gbO2fx8TOejfIazXIw==
dependencies: dependencies:
"@abp/jquery" "~9.2.0-rc.3" "@abp/jquery" "~9.2.0"
jquery-form "^4.3.0" jquery-form "^4.3.0"
"@abp/jquery-validation-unobtrusive@~9.2.0-rc.3": "@abp/jquery-validation-unobtrusive@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-9.2.0-rc.3.tgz#39fa67d49f47bef5683552cd997bf4d1d4900c8c" resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-9.2.0.tgz#c2df51d024d48e71f0e7fb8d4207a8b2855393f4"
integrity sha512-vrlyHE0mThB1gHTZaV5Do13P8QljgOIC+lntL1NHe8QAi1HQhsQTHEaVaAv5akJHgg3KegAXx/QGde9Oc1eCGw== integrity sha512-c1cPfWVdo+gpaMoegAkw0DzGL2fy/1ylEi/shb95MAGt3iyECVx+X+R/XOxbVHKVI57D4d5IGj6cXYBhdKkvAw==
dependencies: dependencies:
"@abp/jquery-validation" "~9.2.0-rc.3" "@abp/jquery-validation" "~9.2.0"
jquery-validation-unobtrusive "^4.0.0" jquery-validation-unobtrusive "^4.0.0"
"@abp/jquery-validation@~9.2.0-rc.3": "@abp/jquery-validation@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-9.2.0-rc.3.tgz#4a321097fdf77cec53a0deae87d186b1ff47db22" resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-9.2.0.tgz#97688d2e3c25699d4368ebf7234e04943aa5e6ab"
integrity sha512-nOnGPLkD/Dwd/ZSd74usQi5BmTPYsVzpqSf4xCWXIy9tQj+9mPpXGDTrdp/XoWCUG61VEPD0ll94PAWEj1ULfQ== integrity sha512-UO+T6SqXBrh0ODwvMm840CGbE2fdYNo5oqJL4V4JbHv9uz7MH+k0bB1DK7mFb94iDM7QcglLzIfcN4hLRV7arw==
dependencies: dependencies:
"@abp/jquery" "~9.2.0-rc.3" "@abp/jquery" "~9.2.0"
jquery-validation "^1.21.0" jquery-validation "^1.21.0"
"@abp/jquery@~9.2.0-rc.3": "@abp/jquery@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-9.2.0-rc.3.tgz#5e930ad91b52dad7d4bdeda9725fb633e9171c9e" resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-9.2.0.tgz#38c249be6eda0cdc899cc8a1f20e5152c39ae9a0"
integrity sha512-uwuj9TmM2EFaUEySC4C1nalc4+aF193pJx31uhNquP51s04IJoQeRpYGRhcqmLPej1V0SXtp9elTblM9zrm/eg== integrity sha512-sIe3Zk+8549ytydCtDlECZ930PapW/2J0652two/sJwYG/SGUGxYQbw3QnJGFTcL9TFwcWwRj5iWX0gWrLEIyA==
dependencies: dependencies:
"@abp/core" "~9.2.0-rc.3" "@abp/core" "~9.2.0"
jquery "~3.7.1" jquery "~3.7.1"
"@abp/lodash@~9.2.0-rc.3": "@abp/lodash@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-9.2.0-rc.3.tgz#340bd0268f86f9f0d9a0bc710f0af91bb1077c3e" resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-9.2.0.tgz#7fa4c9e956c766e34ec4677d2102a6d00f899a4b"
integrity sha512-/lcb0MiFJsRb5IU9aPVVJ38NwnJ5ndPd33NkNbjcfXe48q37JQ0ruWri2Pn4bhAxyxXoITtPg7nuBuDjZ8oWGQ== integrity sha512-2elXj/eWw875tF9ixbOm3uqXCxGaG5gL9Tub5k7cP+XhFpNBOYijNaXdN8SeDSxr83WDVWdrk//OQL8BF7XPdw==
dependencies: dependencies:
"@abp/core" "~9.2.0-rc.3" "@abp/core" "~9.2.0"
lodash "^4.17.21" lodash "^4.17.21"
"@abp/luxon@~9.2.0-rc.3": "@abp/luxon@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-9.2.0-rc.3.tgz#a551aa33b7c4c33500cac0431648e7d37ab60c62" resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-9.2.0.tgz#865db7b60dba4029134fb4a4b5eaa08c723dcea8"
integrity sha512-gUBnuqm1GT7qxAdt8XGc+8eDFnMRwlNB8/IEsFzZTFumIMPdBV6ZDOPnFvMZzJdcLFaPnEDN38RIP2aGGaE6fg== integrity sha512-LWjczvzu1gFIq0/2fRz+bJW2+zsmXAmfz0I+lZ3wmqUdkViqAqwTa+5NMIl2tC92u4Dv3LGXKtH37Jw8m+XjTg==
dependencies: dependencies:
"@abp/core" "~9.2.0-rc.3" "@abp/core" "~9.2.0"
luxon "^3.5.0" luxon "^3.5.0"
"@abp/malihu-custom-scrollbar-plugin@~9.2.0-rc.3": "@abp/malihu-custom-scrollbar-plugin@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-9.2.0-rc.3.tgz#ecd35f7636b27904ddb8a638cbeb1d7119098a1b" resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-9.2.0.tgz#09722b1e7ca34b96e2a68368db0e96cdf9ab0e6c"
integrity sha512-kvlX0OcxOMKfZUSF4fViu9vGxN7PUJP/1useNqUis8I068FjotHpcc6qUSciCGiX+lvFP3wcqX4RGEsQt9tGZQ== integrity sha512-kfDf/1RwGtAlos/7BW+7xbh3LtJ4VG0Z4mxS+b2HsywAwlt/kE5FltfBj2ResQb030bsGNl7A5JglV9Pv1UlPw==
dependencies: dependencies:
"@abp/core" "~9.2.0-rc.3" "@abp/core" "~9.2.0"
malihu-custom-scrollbar-plugin "^3.1.5" malihu-custom-scrollbar-plugin "^3.1.5"
"@abp/moment@~9.2.0-rc.3": "@abp/moment@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-9.2.0-rc.3.tgz#bb9b94244fa943eacdca6294ff90c43846df47df" resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-9.2.0.tgz#137d688af4df195742061ac2b8a2bf460a027071"
integrity sha512-maE6NiGgdBws3y8GbJLvWchNxXpIpurd5lTso+qI4WgCnxT06L3lZMFHXKiQbCqy86XaRkr5E8Jdwj/CxFA4UA== integrity sha512-15aTjYAxHK+upkiZ94XCe8CoSPKMl1D8f6GXJIfwPkuYZ+na4ma17qBu4P8bFsc4gu3ngxYiLHRSzYzr4oCSYQ==
dependencies: dependencies:
moment "^2.30.1" moment "^2.30.1"
"@abp/select2@~9.2.0-rc.3": "@abp/select2@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-9.2.0-rc.3.tgz#e181a888d4aaa56f57900dd2a92b3d5f1ccbd90c" resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-9.2.0.tgz#c96d869be0d3298ed7c0888288ea9829e6266cd4"
integrity sha512-yCmqJSy13vIxbhNSg5mRhef/LJCuuhM6ewmoEafBhdJdns/4N6PuzdIXt4cqgxAqkHCurcsagZevlmxLUcSf1A== integrity sha512-V+qx9hw3oe7o0WbG03ZgAjbqRJPVuedzrdy7ExEdueTc6LRP/WEgbVpXhsNISObtouE6Dadwp3iXYSExgNUC6A==
dependencies: dependencies:
"@abp/core" "~9.2.0-rc.3" "@abp/core" "~9.2.0"
select2 "^4.0.13" select2 "^4.0.13"
"@abp/sweetalert2@~9.2.0-rc.3": "@abp/sweetalert2@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-9.2.0-rc.3.tgz#fb19e319058682f73b293920e620771aa54e4129" resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-9.2.0.tgz#826d6dd0b70c35a7401cc884fb1e82af99a0305d"
integrity sha512-yJ8+GjnYPQ1h1epSqn2GkEBH7syMj/+3cX6ZZ7U1MPSw1RACELJIcH/MjZQG82D2SsvsCfoPLTzh46Jh1c9Hpg== integrity sha512-0r338ayjaL9uzmLKE8oHpcMgJeVgVoMYfhQAPINeQHv1TPXuYCLo0aoRNoLsfmUo3ayYBBa3zOrugFIVis7Q6A==
dependencies: dependencies:
"@abp/core" "~9.2.0-rc.3" "@abp/core" "~9.2.0"
sweetalert2 "^11.14.1" sweetalert2 "^11.14.1"
"@abp/timeago@~9.2.0-rc.3": "@abp/timeago@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-9.2.0-rc.3.tgz#f50436c0d3cb9c703e1b712735609e47f300f7de" resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-9.2.0.tgz#79bbe6dd32b0ee7df2e8ebd05274a0ecc7882ba7"
integrity sha512-lQtKUSHp4L4xBI+ZUicMXtZABvX8MF2udRPP1zVaZ/xcZ5MV1rRGcCM+YjRYpF0lB0DRyuGvgXFztQEok/xu5A== integrity sha512-hEUi5re5N1YkDSpaUaUtXF1Mz4YyiEvNzVADbKRz11kbR4ZAFzcvVqsQLeNo7qnuFLfJNAtuzyjkuxwL75kmaA==
dependencies: dependencies:
"@abp/jquery" "~9.2.0-rc.3" "@abp/jquery" "~9.2.0"
timeago "^1.6.7" timeago "^1.6.7"
"@abp/utils@~9.2.0-rc.3": "@abp/utils@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-9.2.0-rc.3.tgz#95ba7545627ae1d2fc8c19c6c9da1bd8a7f8d31a" resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-9.2.0.tgz#bf32ced1175e45fbe010c3cb806c7cd37f85089c"
integrity sha512-4HJCS/4qlYnqyMKH5A9JL9FWZDGYElTkLuUGuvlhsy/0BxOoJKsPPZCiX8S7RqkLEjdQSU8nkkXVANhXgIgkTA== integrity sha512-aciBuXhzlaqe+o7mNt536bCk425cmxY5BE0wwl13u3pX3LfWYWLEgwl8GS0aeI11TS1/7+1N85RJELyz/+y0hQ==
dependencies: dependencies:
just-compare "^2.3.0" just-compare "^2.3.0"

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

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

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

@ -2,293 +2,293 @@
# yarn lockfile v1 # yarn lockfile v1
"@abp/aspnetcore.mvc.ui.theme.basic@~9.2.0-rc.3": "@abp/aspnetcore.mvc.ui.theme.basic@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-9.2.0-rc.3.tgz#7fff474f68baac1c6330bf3ddd8e1bdbf36dabd7" resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-9.2.0.tgz#af6ff5071cadb480b4aece0f15400d56b105a350"
integrity sha512-Xjt+1JSllrFJOgyk2opdWGIEFLOIZlS/ZDGXWFfyCcsFPgJRNHcuXY8SUyZo5aebH/w42i1OVYj24mnJEO7zIg== integrity sha512-+LOmhSfsua7i3VQy9vYTDv7nE0fdIA+kNvorQ4wkkRzijOAlwmS4fkupglwOKJQSCWGAM7VXccPy2NzdmwvEtw==
dependencies: dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~9.2.0-rc.3" "@abp/aspnetcore.mvc.ui.theme.shared" "~9.2.0"
"@abp/aspnetcore.mvc.ui.theme.shared@~9.2.0-rc.3": "@abp/aspnetcore.mvc.ui.theme.shared@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-9.2.0-rc.3.tgz#f576805a0be069a8df2698f05a43e24e0333cc94" resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-9.2.0.tgz#791f419e8e0fab229e3f93f7a90edcd259100206"
integrity sha512-MX7bgp/n0WDIX+qONMHbAIAQ4zANkCapKCWiEn/7O4TgUmNyiCL4/EfqaxxJajD3W4tu+fwply8uRClCngSm6w== integrity sha512-Mrs+kQg0S5OyRsPBwXQTqOq2DBWDdot7emETcX/gatv26GFbRe3nTOk1E+VWD/nsxHEOKTSE8LClC6TgkMxD8Q==
dependencies: dependencies:
"@abp/aspnetcore.mvc.ui" "~9.2.0-rc.3" "@abp/aspnetcore.mvc.ui" "~9.2.0"
"@abp/bootstrap" "~9.2.0-rc.3" "@abp/bootstrap" "~9.2.0"
"@abp/bootstrap-datepicker" "~9.2.0-rc.3" "@abp/bootstrap-datepicker" "~9.2.0"
"@abp/bootstrap-daterangepicker" "~9.2.0-rc.3" "@abp/bootstrap-daterangepicker" "~9.2.0"
"@abp/datatables.net-bs5" "~9.2.0-rc.3" "@abp/datatables.net-bs5" "~9.2.0"
"@abp/font-awesome" "~9.2.0-rc.3" "@abp/font-awesome" "~9.2.0"
"@abp/jquery-form" "~9.2.0-rc.3" "@abp/jquery-form" "~9.2.0"
"@abp/jquery-validation-unobtrusive" "~9.2.0-rc.3" "@abp/jquery-validation-unobtrusive" "~9.2.0"
"@abp/lodash" "~9.2.0-rc.3" "@abp/lodash" "~9.2.0"
"@abp/luxon" "~9.2.0-rc.3" "@abp/luxon" "~9.2.0"
"@abp/malihu-custom-scrollbar-plugin" "~9.2.0-rc.3" "@abp/malihu-custom-scrollbar-plugin" "~9.2.0"
"@abp/moment" "~9.2.0-rc.3" "@abp/moment" "~9.2.0"
"@abp/select2" "~9.2.0-rc.3" "@abp/select2" "~9.2.0"
"@abp/sweetalert2" "~9.2.0-rc.3" "@abp/sweetalert2" "~9.2.0"
"@abp/timeago" "~9.2.0-rc.3" "@abp/timeago" "~9.2.0"
"@abp/aspnetcore.mvc.ui@~9.2.0-rc.3": "@abp/aspnetcore.mvc.ui@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-9.2.0-rc.3.tgz#5452ff91aed1ca042c54595ef68cb4e695ad2ce3" resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-9.2.0.tgz#e3e703ea46caf04cc966ea0af6deb64427a90d4c"
integrity sha512-KAhDAS5anhYdH3x6S1uPBeT24mfdlc2LF6LcA5CZdEzUvNwpE1Ymhc0dPmlCHkGWN/R4+ykSmJwPG0uQWFeaXg== integrity sha512-VHH68/7Bw7r8p70T9grnVISgYPe2t3m9199S/wAXGtpGHML/lbHhDflWbm7y1MHcrmCfaXy42O9SmTHV25BJhA==
dependencies: dependencies:
ansi-colors "^4.1.3" ansi-colors "^4.1.3"
"@abp/bootstrap-datepicker@~9.2.0-rc.3": "@abp/bootstrap-datepicker@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-9.2.0-rc.3.tgz#45d1f05942c47fd04195fceda79cb6ce1407abce" resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-9.2.0.tgz#271ff68e2cee7b4ffe5a60406561a05948d6bbe6"
integrity sha512-IzcgeoQm294ZG+M2cxwLFeMvk3+OQOEcZrussQTChIuGnqzH+/KHboLR0wZMnmpO/4OsbYhklMS6EaWUSgmfbQ== integrity sha512-V8o1cn1MKXE5GH1ZpBHiWWilzxjHIp4IS6rNoCDBSnaQcVvRku9KPI8tPNQSf+4x3jBfHDV9aOBDbDGTQ6J2yw==
dependencies: dependencies:
bootstrap-datepicker "^1.10.0" bootstrap-datepicker "^1.10.0"
"@abp/bootstrap-daterangepicker@~9.2.0-rc.3": "@abp/bootstrap-daterangepicker@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-9.2.0-rc.3.tgz#9a094243e8e06258f2988c7759b1f042f36a3975" resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-9.2.0.tgz#a239f8c2efce57d2e2beca70ceeede52d1b177d5"
integrity sha512-NAjL+TdcmhvKjxDZwooOZr09x+mPXXLydI5UoFizf1C/OXBxXOaLi08lertF85FJN9i3o0Bv2n6gbUoTEYR/og== integrity sha512-Cd9naCyepTvmUotkR1VyOBqUMgyeSXnOVWR7HxXm+jugKtnWRzrztZB6UyfnNzzjc1RMOyiAUEjzitKSJrXeoA==
dependencies: dependencies:
bootstrap-daterangepicker "^3.1.0" bootstrap-daterangepicker "^3.1.0"
"@abp/bootstrap@~9.2.0-rc.3": "@abp/bootstrap@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-9.2.0-rc.3.tgz#20087792a43416635ba37949b4b5fcc4d72a192a" resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-9.2.0.tgz#08859288b8372ea111a240b507047b144d6caca9"
integrity sha512-X2YmErQaRrjnfgDW08GJxZ6bLg03d4/ovE7ZBmiurkcQFJs5vezkkV3CRm88ntPDEfJDE2HAJnzYR0s2FK2QLw== integrity sha512-L3EZQza2c/5VmvZkLsf0EOuaMi8fseyyiwlFN65i1hpcDwhOLcaqnxMneeaSJ+Dy4xczJT+oBml9D9OSTuzmkA==
dependencies: dependencies:
"@abp/core" "~9.2.0-rc.3" "@abp/core" "~9.2.0"
bootstrap "^5.3.3" bootstrap "^5.3.3"
"@abp/clipboard@~9.2.0-rc.3": "@abp/clipboard@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-9.2.0-rc.3.tgz#a05b2819065f74105cd1716320722012ca484de0" resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-9.2.0.tgz#348a0e45752c7eb055fb00af52660593ad340caf"
integrity sha512-2Mv/h7BciMOykARi+7rOkbMYO813nqIla4bBIZqc32muH8wuNcnaSAxZwbk0h2IJrgaTvMMK6KBFTVRaFsK/Pw== integrity sha512-2+wt2ShLBfoHqx0DNNevJkaz1POLcs1tcK1hL4ZqsjOnS7BrTk1r8zwNvCw1XEeH2S1rPftAWH4PvzL4j86DFA==
dependencies: dependencies:
"@abp/core" "~9.2.0-rc.3" "@abp/core" "~9.2.0"
clipboard "^2.0.11" clipboard "^2.0.11"
"@abp/cms-kit.admin@~9.2.0-rc.3": "@abp/cms-kit.admin@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/cms-kit.admin/-/cms-kit.admin-9.2.0-rc.3.tgz#2c0f2b3fb815290a6b541a2342ed3ddd06ebb729" resolved "https://registry.yarnpkg.com/@abp/cms-kit.admin/-/cms-kit.admin-9.2.0.tgz#b86b76692214ab793175d275c9c2845ac44524ce"
integrity sha512-sR9FQ/85qYyucmMRFCBxwBBTyyZtLZcE0myBNvglXwAuPuANICc8SUqEx2AKvhdsynFWglGcJqKOOgLnB9gMDA== integrity sha512-s5Mh7OrDBngxD67AE5amtFFCpqY3ZaYVCPnboIvsMNiGk5U3JTqRZU+Ec1L1OpuoBg+jJDbKvPGQEFRuadMKQA==
dependencies: dependencies:
"@abp/codemirror" "~9.2.0-rc.3" "@abp/codemirror" "~9.2.0"
"@abp/jstree" "~9.2.0-rc.3" "@abp/jstree" "~9.2.0"
"@abp/markdown-it" "~9.2.0-rc.3" "@abp/markdown-it" "~9.2.0"
"@abp/slugify" "~9.2.0-rc.3" "@abp/slugify" "~9.2.0"
"@abp/tui-editor" "~9.2.0-rc.3" "@abp/tui-editor" "~9.2.0"
"@abp/uppy" "~9.2.0-rc.3" "@abp/uppy" "~9.2.0"
"@abp/cms-kit.public@~9.2.0-rc.3": "@abp/cms-kit.public@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/cms-kit.public/-/cms-kit.public-9.2.0-rc.3.tgz#b52e08a47b38aabdd8522ff9fb4476e5d1bf5c66" resolved "https://registry.yarnpkg.com/@abp/cms-kit.public/-/cms-kit.public-9.2.0.tgz#a85c5923593354614f7a339a5ef17b12ea71a2ea"
integrity sha512-iKjWhB26IHMQ1TYXMv7h5S9unyXhMfpjD2sHGCmPeIqbGSs1BYmV+kUBuw6K2IqbgkVyfSOyWS8duSksLuRgaQ== integrity sha512-W2KhpFZLBK+Q9ZdHI0IYhrfC1ZRem+Ox55tg1G0Ai3TabOLMyr6ubgE4maU6BUNak76DKBkzDXB/SxNFWMvS+g==
dependencies: dependencies:
"@abp/highlight.js" "~9.2.0-rc.3" "@abp/highlight.js" "~9.2.0"
"@abp/star-rating-svg" "~9.2.0-rc.3" "@abp/star-rating-svg" "~9.2.0"
"@abp/cms-kit@9.2.0-rc.3": "@abp/cms-kit@9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/cms-kit/-/cms-kit-9.2.0-rc.3.tgz#6fb327f163016463342e8c329e08770c09b3c0ed" resolved "https://registry.yarnpkg.com/@abp/cms-kit/-/cms-kit-9.2.0.tgz#da9a3dfc3c83755a3c920b0392ec2b37106b5bf1"
integrity sha512-xB7MGsZdHMA1HMjvBYmEsIjkjZW9vmUG9fD+0Hor8p8x/Y1Z/cCfbcxawyJXa07E5loYjHwLIh/c3UVJALWLCw== integrity sha512-JHAiyppt9+Vx9f70duawR8OSWFaSrlPl1mOdLOD4fUWek7j7HhSyFgjddwzaBjLXqSnicTFwg2pmY1qTa8XjMw==
dependencies: dependencies:
"@abp/cms-kit.admin" "~9.2.0-rc.3" "@abp/cms-kit.admin" "~9.2.0"
"@abp/cms-kit.public" "~9.2.0-rc.3" "@abp/cms-kit.public" "~9.2.0"
"@abp/codemirror@~9.2.0-rc.3": "@abp/codemirror@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/codemirror/-/codemirror-9.2.0-rc.3.tgz#80f8a053723796de9440603af46f1a63638c8d80" resolved "https://registry.yarnpkg.com/@abp/codemirror/-/codemirror-9.2.0.tgz#83b9c805669640e739a68ad26788547202958bff"
integrity sha512-LhviqHNuvltbYSrAFWmCJInt8Ko1UhN48zbVMDTh2nMkDC+lwokTOn9rYIMd7gBwg6IbgKKwCCAdjhBeJ62N1g== integrity sha512-feYwaVZT7LH46BZPEkgpRHIEpn/vqcU5yo4QQ/u8t/D4veYfgLUdMqzt6P6kyFpgzb0X1+SOqvlWBRHBAHeQrQ==
dependencies: dependencies:
"@abp/core" "~9.2.0-rc.3" "@abp/core" "~9.2.0"
codemirror "^5.65.1" codemirror "^5.65.1"
"@abp/core@~9.2.0-rc.3": "@abp/core@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-9.2.0-rc.3.tgz#05793ff9823861983a01b2f85c40c7e80cc556b1" resolved "https://registry.yarnpkg.com/@abp/core/-/core-9.2.0.tgz#db08fd34cfc891e94eb9e59ed3c0d0e6ef45c51a"
integrity sha512-QUgV+aeILnRo/8H+dalIKrd6s60+qGeAQXFxykG9WPwH112VVg7CVZ90NGW5UJ2OOdkYyBx2B/JnY0QEUQ31WQ== integrity sha512-3iESoHFj8I2xK81dwQVpCI6C1bc87VfWKyJE3/IUv4zWvG4QvI0aKhe1wxocmJqTjjowPUA3/fa2hvpfqPs2Bw==
dependencies: dependencies:
"@abp/utils" "~9.2.0-rc.3" "@abp/utils" "~9.2.0"
"@abp/datatables.net-bs5@~9.2.0-rc.3": "@abp/datatables.net-bs5@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-9.2.0-rc.3.tgz#bae729cd2fd37565ca0851bfe577d7bf68fc3c19" resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-9.2.0.tgz#eab201c959727c27aaab30dc5bd8159249d8b54b"
integrity sha512-2M6oQw2sv0UqN8NZeCmKYWetKgkQUVqo/LDWH30As7Xjtnn5sLKIDobdgUSuib0R/+cP4HuXid0uL+wV+4R5eg== integrity sha512-bmK6GKffXzYbfkDIlN27D7mohnYsXoODEiHqhZnBdIzeSJyHwrwRPRVbO1EcBn1SEBHjGJp3S69Z6gDbRs018g==
dependencies: dependencies:
"@abp/datatables.net" "~9.2.0-rc.3" "@abp/datatables.net" "~9.2.0"
datatables.net-bs5 "^2.1.8" datatables.net-bs5 "^2.1.8"
"@abp/datatables.net@~9.2.0-rc.3": "@abp/datatables.net@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-9.2.0-rc.3.tgz#b6563334315df15c22267e57b258c72f90e1c246" resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-9.2.0.tgz#e4880fe074d86d3c5dbd7f48c86244790fc376c2"
integrity sha512-5FVrRzOZsKt71oX1gcMprIGINEi/FaTM0nuddfrVR5eJrkO8s2Ldiop1u5t7JMOxg6E960kqv7Qa9p/Z2xV5QA== integrity sha512-bKaaa+tl0Pt4oNaV+X8pBbvsHc2mPYoL7yuAs+LN8ZLwBdsGoUw7RNhLQ63O3tuYdHuaHhI/mx23X6JThr0SYw==
dependencies: dependencies:
"@abp/jquery" "~9.2.0-rc.3" "@abp/jquery" "~9.2.0"
datatables.net "^2.1.8" datatables.net "^2.1.8"
"@abp/font-awesome@~9.2.0-rc.3": "@abp/font-awesome@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-9.2.0-rc.3.tgz#b6f46c3faa61095b8a34fea08cf3888865bb694b" resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-9.2.0.tgz#3e359da2510cbc0e5b9e46e9cb3664baf285722e"
integrity sha512-V8NEcFsIaVCsZ0CRVF1CD4hOtsiGWAtIvnRTTDRyc7/ABGniZbFbhbGzkBRZFynOLPQ24Ci7aPsPF8NnIHN8tQ== integrity sha512-HRGg6XK3bCxFdVvEBnBKyLamqMUrenj//E4JuKOs8DtGLVH0jTyh8TwUT5/E/pI+POV7HEOpv9WpSB2p8pfsAg==
dependencies: dependencies:
"@abp/core" "~9.2.0-rc.3" "@abp/core" "~9.2.0"
"@fortawesome/fontawesome-free" "^6.6.0" "@fortawesome/fontawesome-free" "^6.6.0"
"@abp/highlight.js@~9.2.0-rc.3": "@abp/highlight.js@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/highlight.js/-/highlight.js-9.2.0-rc.3.tgz#08d44398c165a7d6d0b1c4161d8221ae756bea90" resolved "https://registry.yarnpkg.com/@abp/highlight.js/-/highlight.js-9.2.0.tgz#85ac7c252aee377c2ff9e15153c692fdea5cb96d"
integrity sha512-HixRwHZggcFVFpPwEdDWX4bts33b/enjNE9AYFtDgdjOQ91lqrIy+BAomkUpEmO50gASRLM/ap4fhwshlyCKhA== integrity sha512-zD6UVZNUQEJ22ynqQs14jR8eBWQR7loOCpt9lPlIjXF6tnoBvcc7NBeBFw9ehKjkG2cegJCmahYb4cFnlJFigA==
dependencies: dependencies:
"@abp/core" "~9.2.0-rc.3" "@abp/core" "~9.2.0"
"@highlightjs/cdn-assets" "~11.10.0" "@highlightjs/cdn-assets" "~11.10.0"
"@abp/jquery-form@~9.2.0-rc.3": "@abp/jquery-form@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-9.2.0-rc.3.tgz#03ebb39443f4b139bf91d638dcbaf8d3879c598e" resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-9.2.0.tgz#40fac992584c26e6c54f66e7f68f8abf8944a626"
integrity sha512-7BE6Z8tZ190XFrgfZgOqULcpsj+y9tx2MU8DTw5dZYNi6Up7MiqPbbZZ4grVF65/m4OMrwEhclp4AZl75h7dww== integrity sha512-B7Shq1itQjsnzdU1kjLpGHWjkSGFhIM2iF5BNMkqcylG3Yq1Se4+8QPoJpn/soilmtX8gbO2fx8TOejfIazXIw==
dependencies: dependencies:
"@abp/jquery" "~9.2.0-rc.3" "@abp/jquery" "~9.2.0"
jquery-form "^4.3.0" jquery-form "^4.3.0"
"@abp/jquery-validation-unobtrusive@~9.2.0-rc.3": "@abp/jquery-validation-unobtrusive@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-9.2.0-rc.3.tgz#39fa67d49f47bef5683552cd997bf4d1d4900c8c" resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-9.2.0.tgz#c2df51d024d48e71f0e7fb8d4207a8b2855393f4"
integrity sha512-vrlyHE0mThB1gHTZaV5Do13P8QljgOIC+lntL1NHe8QAi1HQhsQTHEaVaAv5akJHgg3KegAXx/QGde9Oc1eCGw== integrity sha512-c1cPfWVdo+gpaMoegAkw0DzGL2fy/1ylEi/shb95MAGt3iyECVx+X+R/XOxbVHKVI57D4d5IGj6cXYBhdKkvAw==
dependencies: dependencies:
"@abp/jquery-validation" "~9.2.0-rc.3" "@abp/jquery-validation" "~9.2.0"
jquery-validation-unobtrusive "^4.0.0" jquery-validation-unobtrusive "^4.0.0"
"@abp/jquery-validation@~9.2.0-rc.3": "@abp/jquery-validation@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-9.2.0-rc.3.tgz#4a321097fdf77cec53a0deae87d186b1ff47db22" resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-9.2.0.tgz#97688d2e3c25699d4368ebf7234e04943aa5e6ab"
integrity sha512-nOnGPLkD/Dwd/ZSd74usQi5BmTPYsVzpqSf4xCWXIy9tQj+9mPpXGDTrdp/XoWCUG61VEPD0ll94PAWEj1ULfQ== integrity sha512-UO+T6SqXBrh0ODwvMm840CGbE2fdYNo5oqJL4V4JbHv9uz7MH+k0bB1DK7mFb94iDM7QcglLzIfcN4hLRV7arw==
dependencies: dependencies:
"@abp/jquery" "~9.2.0-rc.3" "@abp/jquery" "~9.2.0"
jquery-validation "^1.21.0" jquery-validation "^1.21.0"
"@abp/jquery@~9.2.0-rc.3": "@abp/jquery@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-9.2.0-rc.3.tgz#5e930ad91b52dad7d4bdeda9725fb633e9171c9e" resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-9.2.0.tgz#38c249be6eda0cdc899cc8a1f20e5152c39ae9a0"
integrity sha512-uwuj9TmM2EFaUEySC4C1nalc4+aF193pJx31uhNquP51s04IJoQeRpYGRhcqmLPej1V0SXtp9elTblM9zrm/eg== integrity sha512-sIe3Zk+8549ytydCtDlECZ930PapW/2J0652two/sJwYG/SGUGxYQbw3QnJGFTcL9TFwcWwRj5iWX0gWrLEIyA==
dependencies: dependencies:
"@abp/core" "~9.2.0-rc.3" "@abp/core" "~9.2.0"
jquery "~3.7.1" jquery "~3.7.1"
"@abp/jstree@~9.2.0-rc.3": "@abp/jstree@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/jstree/-/jstree-9.2.0-rc.3.tgz#da406e239ede4cb3da1a1489b39db99bbb5f6c70" resolved "https://registry.yarnpkg.com/@abp/jstree/-/jstree-9.2.0.tgz#eb167f0909aacbe3652f169f35b8e62743ed43b8"
integrity sha512-W14lR+TQFBcFwlHX1vSRpJbD1gIEMP5FVDWc4ubtP6e/IMNLVVhuxG2hl+jXu7OROhM42pbShdogVvwdDNwnbw== integrity sha512-Aj35TeMTN1zwgITeCUsg9rFsiJ0r3IeGfKCv7PEL1AJUh37fU0CwVtHNhM0aOi1oUNJeMjs4XnFVYCqzJzVaNw==
dependencies: dependencies:
"@abp/jquery" "~9.2.0-rc.3" "@abp/jquery" "~9.2.0"
jstree "^3.3.17" jstree "^3.3.17"
"@abp/lodash@~9.2.0-rc.3": "@abp/lodash@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-9.2.0-rc.3.tgz#340bd0268f86f9f0d9a0bc710f0af91bb1077c3e" resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-9.2.0.tgz#7fa4c9e956c766e34ec4677d2102a6d00f899a4b"
integrity sha512-/lcb0MiFJsRb5IU9aPVVJ38NwnJ5ndPd33NkNbjcfXe48q37JQ0ruWri2Pn4bhAxyxXoITtPg7nuBuDjZ8oWGQ== integrity sha512-2elXj/eWw875tF9ixbOm3uqXCxGaG5gL9Tub5k7cP+XhFpNBOYijNaXdN8SeDSxr83WDVWdrk//OQL8BF7XPdw==
dependencies: dependencies:
"@abp/core" "~9.2.0-rc.3" "@abp/core" "~9.2.0"
lodash "^4.17.21" lodash "^4.17.21"
"@abp/luxon@~9.2.0-rc.3": "@abp/luxon@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-9.2.0-rc.3.tgz#a551aa33b7c4c33500cac0431648e7d37ab60c62" resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-9.2.0.tgz#865db7b60dba4029134fb4a4b5eaa08c723dcea8"
integrity sha512-gUBnuqm1GT7qxAdt8XGc+8eDFnMRwlNB8/IEsFzZTFumIMPdBV6ZDOPnFvMZzJdcLFaPnEDN38RIP2aGGaE6fg== integrity sha512-LWjczvzu1gFIq0/2fRz+bJW2+zsmXAmfz0I+lZ3wmqUdkViqAqwTa+5NMIl2tC92u4Dv3LGXKtH37Jw8m+XjTg==
dependencies: dependencies:
"@abp/core" "~9.2.0-rc.3" "@abp/core" "~9.2.0"
luxon "^3.5.0" luxon "^3.5.0"
"@abp/malihu-custom-scrollbar-plugin@~9.2.0-rc.3": "@abp/malihu-custom-scrollbar-plugin@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-9.2.0-rc.3.tgz#ecd35f7636b27904ddb8a638cbeb1d7119098a1b" resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-9.2.0.tgz#09722b1e7ca34b96e2a68368db0e96cdf9ab0e6c"
integrity sha512-kvlX0OcxOMKfZUSF4fViu9vGxN7PUJP/1useNqUis8I068FjotHpcc6qUSciCGiX+lvFP3wcqX4RGEsQt9tGZQ== integrity sha512-kfDf/1RwGtAlos/7BW+7xbh3LtJ4VG0Z4mxS+b2HsywAwlt/kE5FltfBj2ResQb030bsGNl7A5JglV9Pv1UlPw==
dependencies: dependencies:
"@abp/core" "~9.2.0-rc.3" "@abp/core" "~9.2.0"
malihu-custom-scrollbar-plugin "^3.1.5" malihu-custom-scrollbar-plugin "^3.1.5"
"@abp/markdown-it@~9.2.0-rc.3": "@abp/markdown-it@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/markdown-it/-/markdown-it-9.2.0-rc.3.tgz#7eb8d062a42aba837a29eaf1838bc0d0070d638b" resolved "https://registry.yarnpkg.com/@abp/markdown-it/-/markdown-it-9.2.0.tgz#74946415e4893deb5952e626d7314db1b926e4a3"
integrity sha512-CC/rYNpVf6jmvzs2He7gxTtrEPxoE9pXZqNRBZZwSQ/deHQomy3DDLC8hZlACj7QVaD5ApLL1+zBijLRgtU1SA== integrity sha512-yc0N0MeaqhBYkUw3/mIMuafNCk/tnh/paG3xObTFrGTqvU7yhlNH5je3ZQ2oBOlF3wHe/6ge0foS/3/fuGvsOQ==
dependencies: dependencies:
"@abp/core" "~9.2.0-rc.3" "@abp/core" "~9.2.0"
markdown-it "^14.1.0" markdown-it "^14.1.0"
"@abp/moment@~9.2.0-rc.3": "@abp/moment@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-9.2.0-rc.3.tgz#bb9b94244fa943eacdca6294ff90c43846df47df" resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-9.2.0.tgz#137d688af4df195742061ac2b8a2bf460a027071"
integrity sha512-maE6NiGgdBws3y8GbJLvWchNxXpIpurd5lTso+qI4WgCnxT06L3lZMFHXKiQbCqy86XaRkr5E8Jdwj/CxFA4UA== integrity sha512-15aTjYAxHK+upkiZ94XCe8CoSPKMl1D8f6GXJIfwPkuYZ+na4ma17qBu4P8bFsc4gu3ngxYiLHRSzYzr4oCSYQ==
dependencies: dependencies:
moment "^2.30.1" moment "^2.30.1"
"@abp/prismjs@~9.2.0-rc.3": "@abp/prismjs@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-9.2.0-rc.3.tgz#0eed2fd2710dd260330533cf72600d89683b1e42" resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-9.2.0.tgz#03fca8cd2f4bdc09a68bd9b1fcdeaede56f96542"
integrity sha512-V/cF+oKDmHkPc5AhSNnq0msICshqHVKAKi4ivSOI9+FbTK34hdThUPaVfbrFu5AFbpY4yp+6VC0bgdJtEk3qWw== integrity sha512-OUbjaxeXKxmrR9fZe/wazS9hGrYXYam/CypnQNTVaNNgSpwvgoKoCFCll9SJUGV8tXA6iEpVdszMGyRY5Hov+g==
dependencies: dependencies:
"@abp/clipboard" "~9.2.0-rc.3" "@abp/clipboard" "~9.2.0"
"@abp/core" "~9.2.0-rc.3" "@abp/core" "~9.2.0"
prismjs "^1.29.0" prismjs "^1.29.0"
"@abp/select2@~9.2.0-rc.3": "@abp/select2@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-9.2.0-rc.3.tgz#e181a888d4aaa56f57900dd2a92b3d5f1ccbd90c" resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-9.2.0.tgz#c96d869be0d3298ed7c0888288ea9829e6266cd4"
integrity sha512-yCmqJSy13vIxbhNSg5mRhef/LJCuuhM6ewmoEafBhdJdns/4N6PuzdIXt4cqgxAqkHCurcsagZevlmxLUcSf1A== integrity sha512-V+qx9hw3oe7o0WbG03ZgAjbqRJPVuedzrdy7ExEdueTc6LRP/WEgbVpXhsNISObtouE6Dadwp3iXYSExgNUC6A==
dependencies: dependencies:
"@abp/core" "~9.2.0-rc.3" "@abp/core" "~9.2.0"
select2 "^4.0.13" select2 "^4.0.13"
"@abp/slugify@~9.2.0-rc.3": "@abp/slugify@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/slugify/-/slugify-9.2.0-rc.3.tgz#a3620feb7889f0ed4f508b4d2afc4402b94f1dc3" resolved "https://registry.yarnpkg.com/@abp/slugify/-/slugify-9.2.0.tgz#b71ae2f237866a97422c4fe1720ab62b8971ead5"
integrity sha512-PhphQXqsYUv7FH2/Z4aeYCm7NVcAEgI9sfwVQ8fLYbYkpIdXHBWD9dFCsMTnBiOy4CI0MrIkzBBhwFjdV8GQOg== integrity sha512-yjNKhWOTxW9T87g+5CGH9R3w/Pm97H5eJLAEMYs4th5CqpU6ECtab4+1xIboF7LEkB1HwLHjAxa80UUKpdGe+A==
dependencies: dependencies:
slugify "^1.6.6" slugify "^1.6.6"
"@abp/star-rating-svg@~9.2.0-rc.3": "@abp/star-rating-svg@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/star-rating-svg/-/star-rating-svg-9.2.0-rc.3.tgz#69b6411f1bade60c031d6207bd22f449da28bd89" resolved "https://registry.yarnpkg.com/@abp/star-rating-svg/-/star-rating-svg-9.2.0.tgz#a1cccb2dd82bbaf1288dc530b3c5ff81a4dd772e"
integrity sha512-K5FJzVG5+Lyb81LdDeARAr2rsFRBvQCvcUJOUINtQYOH89lMMjwioNVlqVUsY5n31dZ5Uxcs7b8DQq410r73lA== integrity sha512-eMYhBlWzEK8EUIS/FYEafhyc1CbCB3qL8PpenFYyLDjMb9kfv3z5x05MYIn2o8vTYYuMrTS/bWAYCAYQOVJCBg==
dependencies: dependencies:
"@abp/jquery" "~9.2.0-rc.3" "@abp/jquery" "~9.2.0"
star-rating-svg "^3.5.0" star-rating-svg "^3.5.0"
"@abp/sweetalert2@~9.2.0-rc.3": "@abp/sweetalert2@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-9.2.0-rc.3.tgz#fb19e319058682f73b293920e620771aa54e4129" resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-9.2.0.tgz#826d6dd0b70c35a7401cc884fb1e82af99a0305d"
integrity sha512-yJ8+GjnYPQ1h1epSqn2GkEBH7syMj/+3cX6ZZ7U1MPSw1RACELJIcH/MjZQG82D2SsvsCfoPLTzh46Jh1c9Hpg== integrity sha512-0r338ayjaL9uzmLKE8oHpcMgJeVgVoMYfhQAPINeQHv1TPXuYCLo0aoRNoLsfmUo3ayYBBa3zOrugFIVis7Q6A==
dependencies: dependencies:
"@abp/core" "~9.2.0-rc.3" "@abp/core" "~9.2.0"
sweetalert2 "^11.14.1" sweetalert2 "^11.14.1"
"@abp/timeago@~9.2.0-rc.3": "@abp/timeago@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-9.2.0-rc.3.tgz#f50436c0d3cb9c703e1b712735609e47f300f7de" resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-9.2.0.tgz#79bbe6dd32b0ee7df2e8ebd05274a0ecc7882ba7"
integrity sha512-lQtKUSHp4L4xBI+ZUicMXtZABvX8MF2udRPP1zVaZ/xcZ5MV1rRGcCM+YjRYpF0lB0DRyuGvgXFztQEok/xu5A== integrity sha512-hEUi5re5N1YkDSpaUaUtXF1Mz4YyiEvNzVADbKRz11kbR4ZAFzcvVqsQLeNo7qnuFLfJNAtuzyjkuxwL75kmaA==
dependencies: dependencies:
"@abp/jquery" "~9.2.0-rc.3" "@abp/jquery" "~9.2.0"
timeago "^1.6.7" timeago "^1.6.7"
"@abp/tui-editor@~9.2.0-rc.3": "@abp/tui-editor@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/tui-editor/-/tui-editor-9.2.0-rc.3.tgz#bcbaa507cf7541932fd2f883b28c8b9c98d71040" resolved "https://registry.yarnpkg.com/@abp/tui-editor/-/tui-editor-9.2.0.tgz#f28e1099e39def76ff81d1db64f5e352f0d28f02"
integrity sha512-H5ZgNpps24YSP77yEwzy+nVl3lQ8ITIgndg96G4ueilXD7BaW2ips+9pmzfcamMZkRYTs2RHflpK9eV112VNfw== integrity sha512-h3Nq0LmkmPWBx1tzPnImJAhPFlAD8sX/GnlAvEZGY3XJ7X6146TPl7HIzZ4fnttm+ilhuDUG2qydgIek/5pWLw==
dependencies: dependencies:
"@abp/jquery" "~9.2.0-rc.3" "@abp/jquery" "~9.2.0"
"@abp/prismjs" "~9.2.0-rc.3" "@abp/prismjs" "~9.2.0"
"@abp/uppy@~9.2.0-rc.3": "@abp/uppy@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/uppy/-/uppy-9.2.0-rc.3.tgz#ec6ddb2904d20d1fcdc2fe47e3c867b3c1a00f82" resolved "https://registry.yarnpkg.com/@abp/uppy/-/uppy-9.2.0.tgz#319cc21b655c310e5bf76bca787a181cd59bb2df"
integrity sha512-9KifT0F57L7GNtzXJb2TvrMEYOqEMHef5g3Nkwlr6tmNBLvB3RXj6G9y9XYKBqyJzxq/UP2QiH2d591l4p0iuQ== integrity sha512-8SpMK46F9nNwZpXGn1AjzSTARC47K1hPqX2uzuNePCC0nT4RtP/711XrloawOhlefFwvG7n66cknU9LSBvwcMA==
dependencies: dependencies:
"@abp/core" "~9.2.0-rc.3" "@abp/core" "~9.2.0"
uppy "^4.4.1" uppy "^4.4.1"
"@abp/utils@~9.2.0-rc.3": "@abp/utils@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-9.2.0-rc.3.tgz#95ba7545627ae1d2fc8c19c6c9da1bd8a7f8d31a" resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-9.2.0.tgz#bf32ced1175e45fbe010c3cb806c7cd37f85089c"
integrity sha512-4HJCS/4qlYnqyMKH5A9JL9FWZDGYElTkLuUGuvlhsy/0BxOoJKsPPZCiX8S7RqkLEjdQSU8nkkXVANhXgIgkTA== integrity sha512-aciBuXhzlaqe+o7mNt536bCk425cmxY5BE0wwl13u3pX3LfWYWLEgwl8GS0aeI11TS1/7+1N85RJELyz/+y0hQ==
dependencies: dependencies:
just-compare "^2.3.0" just-compare "^2.3.0"

4
modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Comments/Details.cshtml

@ -3,6 +3,7 @@
@using System.Globalization @using System.Globalization
@using Microsoft.AspNetCore.Mvc.Localization @using Microsoft.AspNetCore.Mvc.Localization
@using Volo.Abp.AspNetCore.Mvc.UI.Layout @using Volo.Abp.AspNetCore.Mvc.UI.Layout
@using Volo.Abp.Timing
@using Volo.CmsKit.Admin.Web.Pages.CmsKit.Comments @using Volo.CmsKit.Admin.Web.Pages.CmsKit.Comments
@using Volo.CmsKit.Admin.Web.Menus @using Volo.CmsKit.Admin.Web.Menus
@using Volo.CmsKit.Comments @using Volo.CmsKit.Comments
@ -10,6 +11,7 @@
@inject IPageLayout PageLayout @inject IPageLayout PageLayout
@inject IHtmlLocalizer<CmsKitResource> L @inject IHtmlLocalizer<CmsKitResource> L
@inject IClock Clock
@model DetailsModel @model DetailsModel
@ -50,7 +52,7 @@
</tr> </tr>
<tr> <tr>
<td><b>@L["CreationTime"]</b>:</td> <td><b>@L["CreationTime"]</b>:</td>
<td>@Model.CommentWithAuthorDto.CreationTime.ToString(CultureInfo.CurrentUICulture)</td> <td>@Clock.ConvertToUserTime(Model.CommentWithAuthorDto.CreationTime).ToString(CultureInfo.CurrentUICulture))</td>
</tr> </tr>
<tr> <tr>
<td><b>@L["Username"]</b>:</td> <td><b>@L["Username"]</b>:</td>

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

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

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

@ -2,229 +2,229 @@
# yarn lockfile v1 # yarn lockfile v1
"@abp/anchor-js@~9.2.0-rc.3": "@abp/anchor-js@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/anchor-js/-/anchor-js-9.2.0-rc.3.tgz#298403978effc79043fd3797fd1c9f9006970614" resolved "https://registry.yarnpkg.com/@abp/anchor-js/-/anchor-js-9.2.0.tgz#86aab2407c30a61be5babadb54e137e5ad4bfa9c"
integrity sha512-bNPOgXbU5twM2KLVqsZLjieLCsr/MorgLo2EMzJwEetpF/7Nc2yX5grY/olBZHVIwOYFLa2QZaEVi4rSsUGTjg== integrity sha512-CdWo4jUxHiAFA6T0rx1ZxpmGB6GwUmklTSfugRbCRdhoUSTXXoh+xdUaoMkBmygP+S/o2BWekhIz1TE0dUeseg==
dependencies: dependencies:
"@abp/core" "~9.2.0-rc.3" "@abp/core" "~9.2.0"
anchor-js "^5.0.0" anchor-js "^5.0.0"
"@abp/aspnetcore.mvc.ui.theme.basic@~9.2.0-rc.3": "@abp/aspnetcore.mvc.ui.theme.basic@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-9.2.0-rc.3.tgz#7fff474f68baac1c6330bf3ddd8e1bdbf36dabd7" resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-9.2.0.tgz#af6ff5071cadb480b4aece0f15400d56b105a350"
integrity sha512-Xjt+1JSllrFJOgyk2opdWGIEFLOIZlS/ZDGXWFfyCcsFPgJRNHcuXY8SUyZo5aebH/w42i1OVYj24mnJEO7zIg== integrity sha512-+LOmhSfsua7i3VQy9vYTDv7nE0fdIA+kNvorQ4wkkRzijOAlwmS4fkupglwOKJQSCWGAM7VXccPy2NzdmwvEtw==
dependencies: dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~9.2.0-rc.3" "@abp/aspnetcore.mvc.ui.theme.shared" "~9.2.0"
"@abp/aspnetcore.mvc.ui.theme.shared@~9.2.0-rc.3": "@abp/aspnetcore.mvc.ui.theme.shared@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-9.2.0-rc.3.tgz#f576805a0be069a8df2698f05a43e24e0333cc94" resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-9.2.0.tgz#791f419e8e0fab229e3f93f7a90edcd259100206"
integrity sha512-MX7bgp/n0WDIX+qONMHbAIAQ4zANkCapKCWiEn/7O4TgUmNyiCL4/EfqaxxJajD3W4tu+fwply8uRClCngSm6w== integrity sha512-Mrs+kQg0S5OyRsPBwXQTqOq2DBWDdot7emETcX/gatv26GFbRe3nTOk1E+VWD/nsxHEOKTSE8LClC6TgkMxD8Q==
dependencies: dependencies:
"@abp/aspnetcore.mvc.ui" "~9.2.0-rc.3" "@abp/aspnetcore.mvc.ui" "~9.2.0"
"@abp/bootstrap" "~9.2.0-rc.3" "@abp/bootstrap" "~9.2.0"
"@abp/bootstrap-datepicker" "~9.2.0-rc.3" "@abp/bootstrap-datepicker" "~9.2.0"
"@abp/bootstrap-daterangepicker" "~9.2.0-rc.3" "@abp/bootstrap-daterangepicker" "~9.2.0"
"@abp/datatables.net-bs5" "~9.2.0-rc.3" "@abp/datatables.net-bs5" "~9.2.0"
"@abp/font-awesome" "~9.2.0-rc.3" "@abp/font-awesome" "~9.2.0"
"@abp/jquery-form" "~9.2.0-rc.3" "@abp/jquery-form" "~9.2.0"
"@abp/jquery-validation-unobtrusive" "~9.2.0-rc.3" "@abp/jquery-validation-unobtrusive" "~9.2.0"
"@abp/lodash" "~9.2.0-rc.3" "@abp/lodash" "~9.2.0"
"@abp/luxon" "~9.2.0-rc.3" "@abp/luxon" "~9.2.0"
"@abp/malihu-custom-scrollbar-plugin" "~9.2.0-rc.3" "@abp/malihu-custom-scrollbar-plugin" "~9.2.0"
"@abp/moment" "~9.2.0-rc.3" "@abp/moment" "~9.2.0"
"@abp/select2" "~9.2.0-rc.3" "@abp/select2" "~9.2.0"
"@abp/sweetalert2" "~9.2.0-rc.3" "@abp/sweetalert2" "~9.2.0"
"@abp/timeago" "~9.2.0-rc.3" "@abp/timeago" "~9.2.0"
"@abp/aspnetcore.mvc.ui@~9.2.0-rc.3": "@abp/aspnetcore.mvc.ui@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-9.2.0-rc.3.tgz#5452ff91aed1ca042c54595ef68cb4e695ad2ce3" resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-9.2.0.tgz#e3e703ea46caf04cc966ea0af6deb64427a90d4c"
integrity sha512-KAhDAS5anhYdH3x6S1uPBeT24mfdlc2LF6LcA5CZdEzUvNwpE1Ymhc0dPmlCHkGWN/R4+ykSmJwPG0uQWFeaXg== integrity sha512-VHH68/7Bw7r8p70T9grnVISgYPe2t3m9199S/wAXGtpGHML/lbHhDflWbm7y1MHcrmCfaXy42O9SmTHV25BJhA==
dependencies: dependencies:
ansi-colors "^4.1.3" ansi-colors "^4.1.3"
"@abp/bootstrap-datepicker@~9.2.0-rc.3": "@abp/bootstrap-datepicker@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-9.2.0-rc.3.tgz#45d1f05942c47fd04195fceda79cb6ce1407abce" resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-9.2.0.tgz#271ff68e2cee7b4ffe5a60406561a05948d6bbe6"
integrity sha512-IzcgeoQm294ZG+M2cxwLFeMvk3+OQOEcZrussQTChIuGnqzH+/KHboLR0wZMnmpO/4OsbYhklMS6EaWUSgmfbQ== integrity sha512-V8o1cn1MKXE5GH1ZpBHiWWilzxjHIp4IS6rNoCDBSnaQcVvRku9KPI8tPNQSf+4x3jBfHDV9aOBDbDGTQ6J2yw==
dependencies: dependencies:
bootstrap-datepicker "^1.10.0" bootstrap-datepicker "^1.10.0"
"@abp/bootstrap-daterangepicker@~9.2.0-rc.3": "@abp/bootstrap-daterangepicker@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-9.2.0-rc.3.tgz#9a094243e8e06258f2988c7759b1f042f36a3975" resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-9.2.0.tgz#a239f8c2efce57d2e2beca70ceeede52d1b177d5"
integrity sha512-NAjL+TdcmhvKjxDZwooOZr09x+mPXXLydI5UoFizf1C/OXBxXOaLi08lertF85FJN9i3o0Bv2n6gbUoTEYR/og== integrity sha512-Cd9naCyepTvmUotkR1VyOBqUMgyeSXnOVWR7HxXm+jugKtnWRzrztZB6UyfnNzzjc1RMOyiAUEjzitKSJrXeoA==
dependencies: dependencies:
bootstrap-daterangepicker "^3.1.0" bootstrap-daterangepicker "^3.1.0"
"@abp/bootstrap@~9.2.0-rc.3": "@abp/bootstrap@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-9.2.0-rc.3.tgz#20087792a43416635ba37949b4b5fcc4d72a192a" resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-9.2.0.tgz#08859288b8372ea111a240b507047b144d6caca9"
integrity sha512-X2YmErQaRrjnfgDW08GJxZ6bLg03d4/ovE7ZBmiurkcQFJs5vezkkV3CRm88ntPDEfJDE2HAJnzYR0s2FK2QLw== integrity sha512-L3EZQza2c/5VmvZkLsf0EOuaMi8fseyyiwlFN65i1hpcDwhOLcaqnxMneeaSJ+Dy4xczJT+oBml9D9OSTuzmkA==
dependencies: dependencies:
"@abp/core" "~9.2.0-rc.3" "@abp/core" "~9.2.0"
bootstrap "^5.3.3" bootstrap "^5.3.3"
"@abp/clipboard@~9.2.0-rc.3": "@abp/clipboard@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-9.2.0-rc.3.tgz#a05b2819065f74105cd1716320722012ca484de0" resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-9.2.0.tgz#348a0e45752c7eb055fb00af52660593ad340caf"
integrity sha512-2Mv/h7BciMOykARi+7rOkbMYO813nqIla4bBIZqc32muH8wuNcnaSAxZwbk0h2IJrgaTvMMK6KBFTVRaFsK/Pw== integrity sha512-2+wt2ShLBfoHqx0DNNevJkaz1POLcs1tcK1hL4ZqsjOnS7BrTk1r8zwNvCw1XEeH2S1rPftAWH4PvzL4j86DFA==
dependencies: dependencies:
"@abp/core" "~9.2.0-rc.3" "@abp/core" "~9.2.0"
clipboard "^2.0.11" clipboard "^2.0.11"
"@abp/core@~9.2.0-rc.3": "@abp/core@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-9.2.0-rc.3.tgz#05793ff9823861983a01b2f85c40c7e80cc556b1" resolved "https://registry.yarnpkg.com/@abp/core/-/core-9.2.0.tgz#db08fd34cfc891e94eb9e59ed3c0d0e6ef45c51a"
integrity sha512-QUgV+aeILnRo/8H+dalIKrd6s60+qGeAQXFxykG9WPwH112VVg7CVZ90NGW5UJ2OOdkYyBx2B/JnY0QEUQ31WQ== integrity sha512-3iESoHFj8I2xK81dwQVpCI6C1bc87VfWKyJE3/IUv4zWvG4QvI0aKhe1wxocmJqTjjowPUA3/fa2hvpfqPs2Bw==
dependencies: dependencies:
"@abp/utils" "~9.2.0-rc.3" "@abp/utils" "~9.2.0"
"@abp/datatables.net-bs5@~9.2.0-rc.3": "@abp/datatables.net-bs5@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-9.2.0-rc.3.tgz#bae729cd2fd37565ca0851bfe577d7bf68fc3c19" resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-9.2.0.tgz#eab201c959727c27aaab30dc5bd8159249d8b54b"
integrity sha512-2M6oQw2sv0UqN8NZeCmKYWetKgkQUVqo/LDWH30As7Xjtnn5sLKIDobdgUSuib0R/+cP4HuXid0uL+wV+4R5eg== integrity sha512-bmK6GKffXzYbfkDIlN27D7mohnYsXoODEiHqhZnBdIzeSJyHwrwRPRVbO1EcBn1SEBHjGJp3S69Z6gDbRs018g==
dependencies: dependencies:
"@abp/datatables.net" "~9.2.0-rc.3" "@abp/datatables.net" "~9.2.0"
datatables.net-bs5 "^2.1.8" datatables.net-bs5 "^2.1.8"
"@abp/datatables.net@~9.2.0-rc.3": "@abp/datatables.net@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-9.2.0-rc.3.tgz#b6563334315df15c22267e57b258c72f90e1c246" resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-9.2.0.tgz#e4880fe074d86d3c5dbd7f48c86244790fc376c2"
integrity sha512-5FVrRzOZsKt71oX1gcMprIGINEi/FaTM0nuddfrVR5eJrkO8s2Ldiop1u5t7JMOxg6E960kqv7Qa9p/Z2xV5QA== integrity sha512-bKaaa+tl0Pt4oNaV+X8pBbvsHc2mPYoL7yuAs+LN8ZLwBdsGoUw7RNhLQ63O3tuYdHuaHhI/mx23X6JThr0SYw==
dependencies: dependencies:
"@abp/jquery" "~9.2.0-rc.3" "@abp/jquery" "~9.2.0"
datatables.net "^2.1.8" datatables.net "^2.1.8"
"@abp/docs@~9.2.0-rc.3": "@abp/docs@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/docs/-/docs-9.2.0-rc.3.tgz#75910bf2ce2f174a3f40ecbe0a8d3b593dce8376" resolved "https://registry.yarnpkg.com/@abp/docs/-/docs-9.2.0.tgz#6a400df7f91710ff529cbcfbaa6c6657bad9927b"
integrity sha512-dm9WvwBbjKcEIaREESjCZckdZo6jNLCrdOSVH+ZnA/GRhCdA0j6LwC6FYY7jWriIcAtSm9r9vnqsrRXMJ48NFg== integrity sha512-zW3gh+VpaBubCMMMsH5gu8mcq3Mdm8kNCAQs/BlzRsrX1XqgRwXGOh9Dmrw7f5Ul1htbibsMYMDEXH0HNumebg==
dependencies: dependencies:
"@abp/anchor-js" "~9.2.0-rc.3" "@abp/anchor-js" "~9.2.0"
"@abp/clipboard" "~9.2.0-rc.3" "@abp/clipboard" "~9.2.0"
"@abp/malihu-custom-scrollbar-plugin" "~9.2.0-rc.3" "@abp/malihu-custom-scrollbar-plugin" "~9.2.0"
"@abp/popper.js" "~9.2.0-rc.3" "@abp/popper.js" "~9.2.0"
"@abp/prismjs" "~9.2.0-rc.3" "@abp/prismjs" "~9.2.0"
"@abp/font-awesome@~9.2.0-rc.3": "@abp/font-awesome@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-9.2.0-rc.3.tgz#b6f46c3faa61095b8a34fea08cf3888865bb694b" resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-9.2.0.tgz#3e359da2510cbc0e5b9e46e9cb3664baf285722e"
integrity sha512-V8NEcFsIaVCsZ0CRVF1CD4hOtsiGWAtIvnRTTDRyc7/ABGniZbFbhbGzkBRZFynOLPQ24Ci7aPsPF8NnIHN8tQ== integrity sha512-HRGg6XK3bCxFdVvEBnBKyLamqMUrenj//E4JuKOs8DtGLVH0jTyh8TwUT5/E/pI+POV7HEOpv9WpSB2p8pfsAg==
dependencies: dependencies:
"@abp/core" "~9.2.0-rc.3" "@abp/core" "~9.2.0"
"@fortawesome/fontawesome-free" "^6.6.0" "@fortawesome/fontawesome-free" "^6.6.0"
"@abp/jquery-form@~9.2.0-rc.3": "@abp/jquery-form@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-9.2.0-rc.3.tgz#03ebb39443f4b139bf91d638dcbaf8d3879c598e" resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-9.2.0.tgz#40fac992584c26e6c54f66e7f68f8abf8944a626"
integrity sha512-7BE6Z8tZ190XFrgfZgOqULcpsj+y9tx2MU8DTw5dZYNi6Up7MiqPbbZZ4grVF65/m4OMrwEhclp4AZl75h7dww== integrity sha512-B7Shq1itQjsnzdU1kjLpGHWjkSGFhIM2iF5BNMkqcylG3Yq1Se4+8QPoJpn/soilmtX8gbO2fx8TOejfIazXIw==
dependencies: dependencies:
"@abp/jquery" "~9.2.0-rc.3" "@abp/jquery" "~9.2.0"
jquery-form "^4.3.0" jquery-form "^4.3.0"
"@abp/jquery-validation-unobtrusive@~9.2.0-rc.3": "@abp/jquery-validation-unobtrusive@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-9.2.0-rc.3.tgz#39fa67d49f47bef5683552cd997bf4d1d4900c8c" resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-9.2.0.tgz#c2df51d024d48e71f0e7fb8d4207a8b2855393f4"
integrity sha512-vrlyHE0mThB1gHTZaV5Do13P8QljgOIC+lntL1NHe8QAi1HQhsQTHEaVaAv5akJHgg3KegAXx/QGde9Oc1eCGw== integrity sha512-c1cPfWVdo+gpaMoegAkw0DzGL2fy/1ylEi/shb95MAGt3iyECVx+X+R/XOxbVHKVI57D4d5IGj6cXYBhdKkvAw==
dependencies: dependencies:
"@abp/jquery-validation" "~9.2.0-rc.3" "@abp/jquery-validation" "~9.2.0"
jquery-validation-unobtrusive "^4.0.0" jquery-validation-unobtrusive "^4.0.0"
"@abp/jquery-validation@~9.2.0-rc.3": "@abp/jquery-validation@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-9.2.0-rc.3.tgz#4a321097fdf77cec53a0deae87d186b1ff47db22" resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-9.2.0.tgz#97688d2e3c25699d4368ebf7234e04943aa5e6ab"
integrity sha512-nOnGPLkD/Dwd/ZSd74usQi5BmTPYsVzpqSf4xCWXIy9tQj+9mPpXGDTrdp/XoWCUG61VEPD0ll94PAWEj1ULfQ== integrity sha512-UO+T6SqXBrh0ODwvMm840CGbE2fdYNo5oqJL4V4JbHv9uz7MH+k0bB1DK7mFb94iDM7QcglLzIfcN4hLRV7arw==
dependencies: dependencies:
"@abp/jquery" "~9.2.0-rc.3" "@abp/jquery" "~9.2.0"
jquery-validation "^1.21.0" jquery-validation "^1.21.0"
"@abp/jquery@~9.2.0-rc.3": "@abp/jquery@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-9.2.0-rc.3.tgz#5e930ad91b52dad7d4bdeda9725fb633e9171c9e" resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-9.2.0.tgz#38c249be6eda0cdc899cc8a1f20e5152c39ae9a0"
integrity sha512-uwuj9TmM2EFaUEySC4C1nalc4+aF193pJx31uhNquP51s04IJoQeRpYGRhcqmLPej1V0SXtp9elTblM9zrm/eg== integrity sha512-sIe3Zk+8549ytydCtDlECZ930PapW/2J0652two/sJwYG/SGUGxYQbw3QnJGFTcL9TFwcWwRj5iWX0gWrLEIyA==
dependencies: dependencies:
"@abp/core" "~9.2.0-rc.3" "@abp/core" "~9.2.0"
jquery "~3.7.1" jquery "~3.7.1"
"@abp/lodash@~9.2.0-rc.3": "@abp/lodash@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-9.2.0-rc.3.tgz#340bd0268f86f9f0d9a0bc710f0af91bb1077c3e" resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-9.2.0.tgz#7fa4c9e956c766e34ec4677d2102a6d00f899a4b"
integrity sha512-/lcb0MiFJsRb5IU9aPVVJ38NwnJ5ndPd33NkNbjcfXe48q37JQ0ruWri2Pn4bhAxyxXoITtPg7nuBuDjZ8oWGQ== integrity sha512-2elXj/eWw875tF9ixbOm3uqXCxGaG5gL9Tub5k7cP+XhFpNBOYijNaXdN8SeDSxr83WDVWdrk//OQL8BF7XPdw==
dependencies: dependencies:
"@abp/core" "~9.2.0-rc.3" "@abp/core" "~9.2.0"
lodash "^4.17.21" lodash "^4.17.21"
"@abp/luxon@~9.2.0-rc.3": "@abp/luxon@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-9.2.0-rc.3.tgz#a551aa33b7c4c33500cac0431648e7d37ab60c62" resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-9.2.0.tgz#865db7b60dba4029134fb4a4b5eaa08c723dcea8"
integrity sha512-gUBnuqm1GT7qxAdt8XGc+8eDFnMRwlNB8/IEsFzZTFumIMPdBV6ZDOPnFvMZzJdcLFaPnEDN38RIP2aGGaE6fg== integrity sha512-LWjczvzu1gFIq0/2fRz+bJW2+zsmXAmfz0I+lZ3wmqUdkViqAqwTa+5NMIl2tC92u4Dv3LGXKtH37Jw8m+XjTg==
dependencies: dependencies:
"@abp/core" "~9.2.0-rc.3" "@abp/core" "~9.2.0"
luxon "^3.5.0" luxon "^3.5.0"
"@abp/malihu-custom-scrollbar-plugin@~9.2.0-rc.3": "@abp/malihu-custom-scrollbar-plugin@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-9.2.0-rc.3.tgz#ecd35f7636b27904ddb8a638cbeb1d7119098a1b" resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-9.2.0.tgz#09722b1e7ca34b96e2a68368db0e96cdf9ab0e6c"
integrity sha512-kvlX0OcxOMKfZUSF4fViu9vGxN7PUJP/1useNqUis8I068FjotHpcc6qUSciCGiX+lvFP3wcqX4RGEsQt9tGZQ== integrity sha512-kfDf/1RwGtAlos/7BW+7xbh3LtJ4VG0Z4mxS+b2HsywAwlt/kE5FltfBj2ResQb030bsGNl7A5JglV9Pv1UlPw==
dependencies: dependencies:
"@abp/core" "~9.2.0-rc.3" "@abp/core" "~9.2.0"
malihu-custom-scrollbar-plugin "^3.1.5" malihu-custom-scrollbar-plugin "^3.1.5"
"@abp/moment@~9.2.0-rc.3": "@abp/moment@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-9.2.0-rc.3.tgz#bb9b94244fa943eacdca6294ff90c43846df47df" resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-9.2.0.tgz#137d688af4df195742061ac2b8a2bf460a027071"
integrity sha512-maE6NiGgdBws3y8GbJLvWchNxXpIpurd5lTso+qI4WgCnxT06L3lZMFHXKiQbCqy86XaRkr5E8Jdwj/CxFA4UA== integrity sha512-15aTjYAxHK+upkiZ94XCe8CoSPKMl1D8f6GXJIfwPkuYZ+na4ma17qBu4P8bFsc4gu3ngxYiLHRSzYzr4oCSYQ==
dependencies: dependencies:
moment "^2.30.1" moment "^2.30.1"
"@abp/popper.js@~9.2.0-rc.3": "@abp/popper.js@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/popper.js/-/popper.js-9.2.0-rc.3.tgz#532406ed8202324e39d689ea8a2c3df4898f901c" resolved "https://registry.yarnpkg.com/@abp/popper.js/-/popper.js-9.2.0.tgz#674cda57e74e3ce20d7e6e1a21fa48b72c35aeb6"
integrity sha512-ztfCfOAx9uP/Gr3bbZkdOv0D5NQr/rjN0l/ib1Is3ZTvdYmyC5RNkg8XV5mGOl7lG/LNn9l2OA1QcTIsZVxnLg== integrity sha512-OVsAbW1UbuLZlfoQg1BR8GNQpARvUMx2GE7MrobVVDQ0l8a9JM1i/MQzmCi1XAns5nCk/NqPzSN0NywF/G4FTg==
dependencies: dependencies:
"@abp/core" "~9.2.0-rc.3" "@abp/core" "~9.2.0"
"@popperjs/core" "^2.11.8" "@popperjs/core" "^2.11.8"
"@abp/prismjs@~9.2.0-rc.3": "@abp/prismjs@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-9.2.0-rc.3.tgz#0eed2fd2710dd260330533cf72600d89683b1e42" resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-9.2.0.tgz#03fca8cd2f4bdc09a68bd9b1fcdeaede56f96542"
integrity sha512-V/cF+oKDmHkPc5AhSNnq0msICshqHVKAKi4ivSOI9+FbTK34hdThUPaVfbrFu5AFbpY4yp+6VC0bgdJtEk3qWw== integrity sha512-OUbjaxeXKxmrR9fZe/wazS9hGrYXYam/CypnQNTVaNNgSpwvgoKoCFCll9SJUGV8tXA6iEpVdszMGyRY5Hov+g==
dependencies: dependencies:
"@abp/clipboard" "~9.2.0-rc.3" "@abp/clipboard" "~9.2.0"
"@abp/core" "~9.2.0-rc.3" "@abp/core" "~9.2.0"
prismjs "^1.29.0" prismjs "^1.29.0"
"@abp/select2@~9.2.0-rc.3": "@abp/select2@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-9.2.0-rc.3.tgz#e181a888d4aaa56f57900dd2a92b3d5f1ccbd90c" resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-9.2.0.tgz#c96d869be0d3298ed7c0888288ea9829e6266cd4"
integrity sha512-yCmqJSy13vIxbhNSg5mRhef/LJCuuhM6ewmoEafBhdJdns/4N6PuzdIXt4cqgxAqkHCurcsagZevlmxLUcSf1A== integrity sha512-V+qx9hw3oe7o0WbG03ZgAjbqRJPVuedzrdy7ExEdueTc6LRP/WEgbVpXhsNISObtouE6Dadwp3iXYSExgNUC6A==
dependencies: dependencies:
"@abp/core" "~9.2.0-rc.3" "@abp/core" "~9.2.0"
select2 "^4.0.13" select2 "^4.0.13"
"@abp/sweetalert2@~9.2.0-rc.3": "@abp/sweetalert2@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-9.2.0-rc.3.tgz#fb19e319058682f73b293920e620771aa54e4129" resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-9.2.0.tgz#826d6dd0b70c35a7401cc884fb1e82af99a0305d"
integrity sha512-yJ8+GjnYPQ1h1epSqn2GkEBH7syMj/+3cX6ZZ7U1MPSw1RACELJIcH/MjZQG82D2SsvsCfoPLTzh46Jh1c9Hpg== integrity sha512-0r338ayjaL9uzmLKE8oHpcMgJeVgVoMYfhQAPINeQHv1TPXuYCLo0aoRNoLsfmUo3ayYBBa3zOrugFIVis7Q6A==
dependencies: dependencies:
"@abp/core" "~9.2.0-rc.3" "@abp/core" "~9.2.0"
sweetalert2 "^11.14.1" sweetalert2 "^11.14.1"
"@abp/timeago@~9.2.0-rc.3": "@abp/timeago@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-9.2.0-rc.3.tgz#f50436c0d3cb9c703e1b712735609e47f300f7de" resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-9.2.0.tgz#79bbe6dd32b0ee7df2e8ebd05274a0ecc7882ba7"
integrity sha512-lQtKUSHp4L4xBI+ZUicMXtZABvX8MF2udRPP1zVaZ/xcZ5MV1rRGcCM+YjRYpF0lB0DRyuGvgXFztQEok/xu5A== integrity sha512-hEUi5re5N1YkDSpaUaUtXF1Mz4YyiEvNzVADbKRz11kbR4ZAFzcvVqsQLeNo7qnuFLfJNAtuzyjkuxwL75kmaA==
dependencies: dependencies:
"@abp/jquery" "~9.2.0-rc.3" "@abp/jquery" "~9.2.0"
timeago "^1.6.7" timeago "^1.6.7"
"@abp/utils@~9.2.0-rc.3": "@abp/utils@~9.2.0":
version "9.2.0-rc.3" version "9.2.0"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-9.2.0-rc.3.tgz#95ba7545627ae1d2fc8c19c6c9da1bd8a7f8d31a" resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-9.2.0.tgz#bf32ced1175e45fbe010c3cb806c7cd37f85089c"
integrity sha512-4HJCS/4qlYnqyMKH5A9JL9FWZDGYElTkLuUGuvlhsy/0BxOoJKsPPZCiX8S7RqkLEjdQSU8nkkXVANhXgIgkTA== integrity sha512-aciBuXhzlaqe+o7mNt536bCk425cmxY5BE0wwl13u3pX3LfWYWLEgwl8GS0aeI11TS1/7+1N85RJELyz/+y0hQ==
dependencies: dependencies:
just-compare "^2.3.0" just-compare "^2.3.0"

3
modules/docs/src/Volo.Docs.Domain/Volo/Docs/FileSystem/Documents/FileSystemDocumentSource.cs

@ -32,7 +32,8 @@ namespace Volo.Docs.FileSystem.Documents
localDirectory = documentName.Substring(0, documentName.LastIndexOf('/')); localDirectory = documentName.Substring(0, documentName.LastIndexOf('/'));
} }
version = File.GetLastWriteTime(path).ToString("yyyyMMddHHmmss"); // The version is intentionally set to "1.0.0" as part of the versioning strategy for file system documents.
version = "1.0.0";
return new Document(GuidGenerator.Create(), return new Document(GuidGenerator.Create(),
project.Id, project.Id,

7
modules/feature-management/src/Volo.Abp.FeatureManagement.Blazor/Components/FeatureManagementModal.razor.cs

@ -152,10 +152,13 @@ public partial class FeatureManagementModal
protected virtual bool IsDisabled(FeatureDto feature) protected virtual bool IsDisabled(FeatureDto feature)
{ {
return feature.Provider.Name != ProviderName && feature.Provider.Name != DefaultValueFeatureValueProvider.ProviderName; return feature.Value != null &&
feature.Provider.Name != null &&
feature.Provider.Name != ProviderName &&
feature.Provider.Name != DefaultValueFeatureValueProvider.ProviderName;
} }
public string GetShownName(FeatureDto featureDto) public virtual string GetShownName(FeatureDto featureDto)
{ {
return !IsDisabled(featureDto) return !IsDisabled(featureDto)
? featureDto.DisplayName ? featureDto.DisplayName

50
modules/feature-management/src/Volo.Abp.FeatureManagement.Domain/Volo/Abp/FeatureManagement/EditionFeatureManagementProvider.cs

@ -1,7 +1,9 @@
using System.Security.Principal; using System;
using System.Security.Principal;
using System.Threading.Tasks; using System.Threading.Tasks;
using Volo.Abp.DependencyInjection; using Volo.Abp.DependencyInjection;
using Volo.Abp.Features; using Volo.Abp.Features;
using Volo.Abp.MultiTenancy;
using Volo.Abp.Security.Claims; using Volo.Abp.Security.Claims;
namespace Volo.Abp.FeatureManagement; namespace Volo.Abp.FeatureManagement;
@ -11,22 +13,58 @@ public class EditionFeatureManagementProvider : FeatureManagementProvider, ITran
public override string Name => EditionFeatureValueProvider.ProviderName; public override string Name => EditionFeatureValueProvider.ProviderName;
protected ICurrentPrincipalAccessor PrincipalAccessor { get; } protected ICurrentPrincipalAccessor PrincipalAccessor { get; }
protected ITenantStore TenantStore { get; }
protected ICurrentTenant CurrentTenant { get; }
protected string CurrentCompatibleProviderName { get; set; }
public EditionFeatureManagementProvider( public EditionFeatureManagementProvider(
IFeatureManagementStore store, IFeatureManagementStore store,
ICurrentPrincipalAccessor principalAccessor) ICurrentPrincipalAccessor principalAccessor,
ITenantStore tenantStore,
ICurrentTenant currentTenant)
: base(store) : base(store)
{ {
PrincipalAccessor = principalAccessor; PrincipalAccessor = principalAccessor;
TenantStore = tenantStore;
CurrentTenant = currentTenant;
} }
protected override Task<string> NormalizeProviderKeyAsync(string providerKey) public override bool Compatible(string providerName)
{ {
if (providerKey != null) CurrentCompatibleProviderName = providerName;
return providerName == TenantFeatureValueProvider.ProviderName || base.Compatible(providerName);
}
protected async override Task<string> NormalizeProviderKeyAsync(string providerKey)
{
return (await FindEditionIdAsync(providerKey))?.ToString();
}
protected virtual async Task<Guid?> FindEditionIdAsync(string providerKey)
{
if (Guid.TryParse(providerKey, out var parsedEditionOrTenantId))
{
if (CurrentCompatibleProviderName == TenantFeatureValueProvider.ProviderName)
{
var tenant = await TenantStore.FindAsync(parsedEditionOrTenantId);
if (tenant != null)
{
return tenant?.EditionId;
}
}
return parsedEditionOrTenantId;
}
if (CurrentTenant.Id.HasValue)
{ {
return Task.FromResult(providerKey); var tenant = await TenantStore.FindAsync(CurrentTenant.GetId());
if (tenant != null)
{
return tenant?.EditionId;
}
} }
return Task.FromResult(PrincipalAccessor.Principal?.FindEditionId()?.ToString("N")); return PrincipalAccessor.Principal?.FindEditionId();
} }
} }

9
modules/feature-management/src/Volo.Abp.FeatureManagement.Web/Pages/FeatureManagement/FeatureManagementModal.cshtml.cs

@ -85,12 +85,15 @@ public class FeatureManagementModal : AbpPageModel
return NoContent(); return NoContent();
} }
public bool IsDisabled(FeatureDto featureDto) public virtual bool IsDisabled(FeatureDto feature)
{ {
return featureDto.Provider.Name != ProviderName && featureDto.Provider.Name != DefaultValueFeatureValueProvider.ProviderName; return feature.Value != null &&
feature.Provider.Name != null &&
feature.Provider.Name != ProviderName &&
feature.Provider.Name != DefaultValueFeatureValueProvider.ProviderName;
} }
public string GetShownName(FeatureDto featureDto) public virtual string GetShownName(FeatureDto featureDto)
{ {
return !IsDisabled(featureDto) return !IsDisabled(featureDto)
? featureDto.DisplayName ? featureDto.DisplayName

2
modules/openiddict/app/OpenIddict.Demo.Server/package.json

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

20
modules/openiddict/app/angular/package.json

@ -12,15 +12,15 @@
}, },
"private": true, "private": true,
"dependencies": { "dependencies": {
"@abp/ng.account": "~9.2.0-rc.3", "@abp/ng.account": "~9.2.0",
"@abp/ng.components": "~9.2.0-rc.3", "@abp/ng.components": "~9.2.0",
"@abp/ng.core": "~9.2.0-rc.3", "@abp/ng.core": "~9.2.0",
"@abp/ng.oauth": "~9.2.0-rc.3", "@abp/ng.oauth": "~9.2.0",
"@abp/ng.identity": "~9.2.0-rc.3", "@abp/ng.identity": "~9.2.0",
"@abp/ng.setting-management": "~9.2.0-rc.3", "@abp/ng.setting-management": "~9.2.0",
"@abp/ng.tenant-management": "~9.2.0-rc.3", "@abp/ng.tenant-management": "~9.2.0",
"@abp/ng.theme.shared": "~9.2.0-rc.3", "@abp/ng.theme.shared": "~9.2.0",
"@abp/ng.theme.lepton-x": "~4.2.0-rc.3", "@abp/ng.theme.lepton-x": "~4.2.0",
"@angular/animations": "^15.0.1", "@angular/animations": "^15.0.1",
"@angular/common": "^15.0.1", "@angular/common": "^15.0.1",
"@angular/compiler": "^15.0.1", "@angular/compiler": "^15.0.1",
@ -36,7 +36,7 @@
"zone.js": "~0.11.4" "zone.js": "~0.11.4"
}, },
"devDependencies": { "devDependencies": {
"@abp/ng.schematics": "~9.2.0-rc.3", "@abp/ng.schematics": "~9.2.0",
"@angular-devkit/build-angular": "^15.0.1", "@angular-devkit/build-angular": "^15.0.1",
"@angular-eslint/builder": "~15.1.0", "@angular-eslint/builder": "~15.1.0",
"@angular-eslint/eslint-plugin": "~15.1.0", "@angular-eslint/eslint-plugin": "~15.1.0",

2
modules/permission-management/src/Volo.Abp.PermissionManagement.Application.Contracts/Volo/Abp/PermissionManagement/IPermissionAppService.cs

@ -8,5 +8,7 @@ public interface IPermissionAppService : IApplicationService
{ {
Task<GetPermissionListResultDto> GetAsync([NotNull] string providerName, [NotNull] string providerKey); Task<GetPermissionListResultDto> GetAsync([NotNull] string providerName, [NotNull] string providerKey);
Task<GetPermissionListResultDto> GetByGroupAsync([NotNull] string groupName, [NotNull] string providerName, [NotNull] string providerKey);
Task UpdateAsync([NotNull] string providerName, [NotNull] string providerKey, UpdatePermissionsDto input); Task UpdateAsync([NotNull] string providerName, [NotNull] string providerKey, UpdatePermissionsDto input);
} }

14
modules/permission-management/src/Volo.Abp.PermissionManagement.Application/Volo/Abp/PermissionManagement/PermissionAppService.cs

@ -33,6 +33,16 @@ public class PermissionAppService : ApplicationService, IPermissionAppService
} }
public virtual async Task<GetPermissionListResultDto> GetAsync(string providerName, string providerKey) public virtual async Task<GetPermissionListResultDto> GetAsync(string providerName, string providerKey)
{
return await GetInternalAsync(null, providerName, providerKey);
}
public virtual async Task<GetPermissionListResultDto> GetByGroupAsync(string groupName, string providerName, string providerKey)
{
return await GetInternalAsync(groupName, providerName, providerKey);
}
protected virtual async Task<GetPermissionListResultDto> GetInternalAsync(string groupName, string providerName, string providerKey)
{ {
await CheckProviderPolicy(providerName); await CheckProviderPolicy(providerName);
@ -45,7 +55,7 @@ public class PermissionAppService : ApplicationService, IPermissionAppService
var multiTenancySide = CurrentTenant.GetMultiTenancySide(); var multiTenancySide = CurrentTenant.GetMultiTenancySide();
var permissionGroups = new List<PermissionGroupDto>(); var permissionGroups = new List<PermissionGroupDto>();
foreach (var group in await PermissionDefinitionManager.GetGroupsAsync()) foreach (var group in (await PermissionDefinitionManager.GetGroupsAsync()).WhereIf(!groupName.IsNullOrWhiteSpace(), x => x.Name == groupName))
{ {
var groupDto = CreatePermissionGroupDto(group); var groupDto = CreatePermissionGroupDto(group);
var permissions = group.GetPermissionsWithChildren() var permissions = group.GetPermissionsWithChildren()
@ -108,7 +118,7 @@ public class PermissionAppService : ApplicationService, IPermissionAppService
return result; return result;
} }
protected virtual PermissionGrantInfoDto CreatePermissionGrantInfoDto(PermissionDefinition permission) protected virtual PermissionGrantInfoDto CreatePermissionGrantInfoDto(PermissionDefinition permission)
{ {
return new PermissionGrantInfoDto return new PermissionGrantInfoDto
{ {

10
modules/permission-management/src/Volo.Abp.PermissionManagement.HttpApi.Client/ClientProxies/Volo/Abp/PermissionManagement/PermissionsClientProxy.Generated.cs

@ -26,6 +26,16 @@ public partial class PermissionsClientProxy : ClientProxyBase<IPermissionAppServ
}); });
} }
public virtual async Task<GetPermissionListResultDto> GetByGroupAsync(string groupName, string providerName, string providerKey)
{
return await RequestAsync<GetPermissionListResultDto>(nameof(GetByGroupAsync), new ClientProxyRequestTypeValue
{
{ typeof(string), groupName },
{ typeof(string), providerName },
{ typeof(string), providerKey }
});
}
public virtual async Task UpdateAsync(string providerName, string providerKey, UpdatePermissionsDto input) public virtual async Task UpdateAsync(string providerName, string providerKey, UpdatePermissionsDto input)
{ {
await RequestAsync(nameof(UpdateAsync), new ClientProxyRequestTypeValue await RequestAsync(nameof(UpdateAsync), new ClientProxyRequestTypeValue

254
modules/permission-management/src/Volo.Abp.PermissionManagement.HttpApi.Client/ClientProxies/permissionManagement-generate-proxy.json

@ -4,6 +4,78 @@
"rootPath": "permissionManagement", "rootPath": "permissionManagement",
"remoteServiceName": "AbpPermissionManagement", "remoteServiceName": "AbpPermissionManagement",
"controllers": { "controllers": {
"Volo.Abp.PermissionManagement.Integration.PermissionIntegrationController": {
"controllerName": "PermissionIntegration",
"controllerGroupName": "PermissionIntegration",
"isRemoteService": true,
"isIntegrationService": true,
"apiVersion": null,
"type": "Volo.Abp.PermissionManagement.Integration.PermissionIntegrationController",
"interfaces": [
{
"type": "Volo.Abp.PermissionManagement.Integration.IPermissionIntegrationService",
"name": "IPermissionIntegrationService",
"methods": [
{
"name": "IsGrantedAsync",
"parametersOnMethod": [
{
"name": "input",
"typeAsString": "System.Collections.Generic.List`1[[Volo.Abp.PermissionManagement.IsGrantedRequest, Volo.Abp.PermissionManagement.Domain.Shared, Version=9.3.0.0, Culture=neutral, PublicKeyToken=null]], System.Private.CoreLib",
"type": "System.Collections.Generic.List<Volo.Abp.PermissionManagement.IsGrantedRequest>",
"typeSimple": "[Volo.Abp.PermissionManagement.IsGrantedRequest]",
"isOptional": false,
"defaultValue": null
}
],
"returnValue": {
"type": "Volo.Abp.Application.Dtos.ListResultDto<Volo.Abp.PermissionManagement.IsGrantedResponse>",
"typeSimple": "Volo.Abp.Application.Dtos.ListResultDto<Volo.Abp.PermissionManagement.IsGrantedResponse>"
}
}
]
}
],
"actions": {
"IsGrantedAsyncByInput": {
"uniqueName": "IsGrantedAsyncByInput",
"name": "IsGrantedAsync",
"httpMethod": "GET",
"url": "integration-api/permission-management/permissions/is-granted",
"supportedVersions": [],
"parametersOnMethod": [
{
"name": "input",
"typeAsString": "System.Collections.Generic.List`1[[Volo.Abp.PermissionManagement.IsGrantedRequest, Volo.Abp.PermissionManagement.Domain.Shared, Version=9.3.0.0, Culture=neutral, PublicKeyToken=null]], System.Private.CoreLib",
"type": "System.Collections.Generic.List<Volo.Abp.PermissionManagement.IsGrantedRequest>",
"typeSimple": "[Volo.Abp.PermissionManagement.IsGrantedRequest]",
"isOptional": false,
"defaultValue": null
}
],
"parameters": [
{
"nameOnMethod": "input",
"name": "input",
"jsonName": null,
"type": "System.Collections.Generic.List<Volo.Abp.PermissionManagement.IsGrantedRequest>",
"typeSimple": "[Volo.Abp.PermissionManagement.IsGrantedRequest]",
"isOptional": false,
"defaultValue": null,
"constraintTypes": null,
"bindingSourceId": "ModelBinding",
"descriptorName": ""
}
],
"returnValue": {
"type": "Volo.Abp.Application.Dtos.ListResultDto<Volo.Abp.PermissionManagement.IsGrantedResponse>",
"typeSimple": "Volo.Abp.Application.Dtos.ListResultDto<Volo.Abp.PermissionManagement.IsGrantedResponse>"
},
"allowAnonymous": null,
"implementFrom": "Volo.Abp.PermissionManagement.Integration.IPermissionIntegrationService"
}
}
},
"Volo.Abp.PermissionManagement.PermissionsController": { "Volo.Abp.PermissionManagement.PermissionsController": {
"controllerName": "Permissions", "controllerName": "Permissions",
"controllerGroupName": "Permissions", "controllerGroupName": "Permissions",
@ -41,6 +113,39 @@
"typeSimple": "Volo.Abp.PermissionManagement.GetPermissionListResultDto" "typeSimple": "Volo.Abp.PermissionManagement.GetPermissionListResultDto"
} }
}, },
{
"name": "GetByGroupAsync",
"parametersOnMethod": [
{
"name": "groupName",
"typeAsString": "System.String, System.Private.CoreLib",
"type": "System.String",
"typeSimple": "string",
"isOptional": false,
"defaultValue": null
},
{
"name": "providerName",
"typeAsString": "System.String, System.Private.CoreLib",
"type": "System.String",
"typeSimple": "string",
"isOptional": false,
"defaultValue": null
},
{
"name": "providerKey",
"typeAsString": "System.String, System.Private.CoreLib",
"type": "System.String",
"typeSimple": "string",
"isOptional": false,
"defaultValue": null
}
],
"returnValue": {
"type": "Volo.Abp.PermissionManagement.GetPermissionListResultDto",
"typeSimple": "Volo.Abp.PermissionManagement.GetPermissionListResultDto"
}
},
{ {
"name": "UpdateAsync", "name": "UpdateAsync",
"parametersOnMethod": [ "parametersOnMethod": [
@ -135,15 +240,15 @@
"allowAnonymous": null, "allowAnonymous": null,
"implementFrom": "Volo.Abp.PermissionManagement.IPermissionAppService" "implementFrom": "Volo.Abp.PermissionManagement.IPermissionAppService"
}, },
"UpdateAsyncByProviderNameAndProviderKeyAndInput": { "GetByGroupAsyncByGroupNameAndProviderNameAndProviderKey": {
"uniqueName": "UpdateAsyncByProviderNameAndProviderKeyAndInput", "uniqueName": "GetByGroupAsyncByGroupNameAndProviderNameAndProviderKey",
"name": "UpdateAsync", "name": "GetByGroupAsync",
"httpMethod": "PUT", "httpMethod": "GET",
"url": "api/permission-management/permissions", "url": "api/permission-management/permissions/by-group",
"supportedVersions": [], "supportedVersions": [],
"parametersOnMethod": [ "parametersOnMethod": [
{ {
"name": "providerName", "name": "groupName",
"typeAsString": "System.String, System.Private.CoreLib", "typeAsString": "System.String, System.Private.CoreLib",
"type": "System.String", "type": "System.String",
"typeSimple": "string", "typeSimple": "string",
@ -151,7 +256,7 @@
"defaultValue": null "defaultValue": null
}, },
{ {
"name": "providerKey", "name": "providerName",
"typeAsString": "System.String, System.Private.CoreLib", "typeAsString": "System.String, System.Private.CoreLib",
"type": "System.String", "type": "System.String",
"typeSimple": "string", "typeSimple": "string",
@ -159,18 +264,18 @@
"defaultValue": null "defaultValue": null
}, },
{ {
"name": "input", "name": "providerKey",
"typeAsString": "Volo.Abp.PermissionManagement.UpdatePermissionsDto, Volo.Abp.PermissionManagement.Application.Contracts", "typeAsString": "System.String, System.Private.CoreLib",
"type": "Volo.Abp.PermissionManagement.UpdatePermissionsDto", "type": "System.String",
"typeSimple": "Volo.Abp.PermissionManagement.UpdatePermissionsDto", "typeSimple": "string",
"isOptional": false, "isOptional": false,
"defaultValue": null "defaultValue": null
} }
], ],
"parameters": [ "parameters": [
{ {
"nameOnMethod": "providerName", "nameOnMethod": "groupName",
"name": "providerName", "name": "groupName",
"jsonName": null, "jsonName": null,
"type": "System.String", "type": "System.String",
"typeSimple": "string", "typeSimple": "string",
@ -181,8 +286,8 @@
"descriptorName": "" "descriptorName": ""
}, },
{ {
"nameOnMethod": "providerKey", "nameOnMethod": "providerName",
"name": "providerKey", "name": "providerName",
"jsonName": null, "jsonName": null,
"type": "System.String", "type": "System.String",
"typeSimple": "string", "typeSimple": "string",
@ -193,96 +298,101 @@
"descriptorName": "" "descriptorName": ""
}, },
{ {
"nameOnMethod": "input", "nameOnMethod": "providerKey",
"name": "input", "name": "providerKey",
"jsonName": null, "jsonName": null,
"type": "Volo.Abp.PermissionManagement.UpdatePermissionsDto", "type": "System.String",
"typeSimple": "Volo.Abp.PermissionManagement.UpdatePermissionsDto", "typeSimple": "string",
"isOptional": false, "isOptional": false,
"defaultValue": null, "defaultValue": null,
"constraintTypes": null, "constraintTypes": null,
"bindingSourceId": "Body", "bindingSourceId": "ModelBinding",
"descriptorName": "" "descriptorName": ""
} }
], ],
"returnValue": { "returnValue": {
"type": "System.Void", "type": "Volo.Abp.PermissionManagement.GetPermissionListResultDto",
"typeSimple": "System.Void" "typeSimple": "Volo.Abp.PermissionManagement.GetPermissionListResultDto"
}, },
"allowAnonymous": null, "allowAnonymous": null,
"implementFrom": "Volo.Abp.PermissionManagement.IPermissionAppService" "implementFrom": "Volo.Abp.PermissionManagement.IPermissionAppService"
} },
} "UpdateAsyncByProviderNameAndProviderKeyAndInput": {
}, "uniqueName": "UpdateAsyncByProviderNameAndProviderKeyAndInput",
"Volo.Abp.PermissionManagement.Integration.PermissionIntegrationController": { "name": "UpdateAsync",
"controllerName": "PermissionIntegration", "httpMethod": "PUT",
"controllerGroupName": "PermissionIntegration", "url": "api/permission-management/permissions",
"isRemoteService": true,
"isIntegrationService": true,
"apiVersion": null,
"type": "Volo.Abp.PermissionManagement.Integration.PermissionIntegrationController",
"interfaces": [
{
"type": "Volo.Abp.PermissionManagement.Integration.IPermissionIntegrationService",
"name": "IPermissionIntegrationService",
"methods": [
{
"name": "IsGrantedAsync",
"parametersOnMethod": [
{
"name": "input",
"typeAsString": "System.Collections.Generic.List`1[[Volo.Abp.PermissionManagement.IsGrantedRequest, Volo.Abp.PermissionManagement.Domain.Shared, Version=7.4.0.0, Culture=neutral, PublicKeyToken=null]], System.Private.CoreLib",
"type": "System.Collections.Generic.List<Volo.Abp.PermissionManagement.IsGrantedRequest>",
"typeSimple": "[Volo.Abp.PermissionManagement.IsGrantedRequest]",
"isOptional": false,
"defaultValue": null
}
],
"returnValue": {
"type": "Volo.Abp.Application.Dtos.ListResultDto<Volo.Abp.PermissionManagement.IsGrantedResponse>",
"typeSimple": "Volo.Abp.Application.Dtos.ListResultDto<Volo.Abp.PermissionManagement.IsGrantedResponse>"
}
}
]
}
],
"actions": {
"IsGrantedAsyncByInput": {
"uniqueName": "IsGrantedAsyncByInput",
"name": "IsGrantedAsync",
"httpMethod": "GET",
"url": "integration-api/permission-management/permissions/is-granted",
"supportedVersions": [], "supportedVersions": [],
"parametersOnMethod": [ "parametersOnMethod": [
{
"name": "providerName",
"typeAsString": "System.String, System.Private.CoreLib",
"type": "System.String",
"typeSimple": "string",
"isOptional": false,
"defaultValue": null
},
{
"name": "providerKey",
"typeAsString": "System.String, System.Private.CoreLib",
"type": "System.String",
"typeSimple": "string",
"isOptional": false,
"defaultValue": null
},
{ {
"name": "input", "name": "input",
"typeAsString": "System.Collections.Generic.List`1[[Volo.Abp.PermissionManagement.IsGrantedRequest, Volo.Abp.PermissionManagement.Domain.Shared, Version=7.4.0.0, Culture=neutral, PublicKeyToken=null]], System.Private.CoreLib", "typeAsString": "Volo.Abp.PermissionManagement.UpdatePermissionsDto, Volo.Abp.PermissionManagement.Application.Contracts",
"type": "System.Collections.Generic.List<Volo.Abp.PermissionManagement.IsGrantedRequest>", "type": "Volo.Abp.PermissionManagement.UpdatePermissionsDto",
"typeSimple": "[Volo.Abp.PermissionManagement.IsGrantedRequest]", "typeSimple": "Volo.Abp.PermissionManagement.UpdatePermissionsDto",
"isOptional": false, "isOptional": false,
"defaultValue": null "defaultValue": null
} }
], ],
"parameters": [ "parameters": [
{
"nameOnMethod": "providerName",
"name": "providerName",
"jsonName": null,
"type": "System.String",
"typeSimple": "string",
"isOptional": false,
"defaultValue": null,
"constraintTypes": null,
"bindingSourceId": "ModelBinding",
"descriptorName": ""
},
{
"nameOnMethod": "providerKey",
"name": "providerKey",
"jsonName": null,
"type": "System.String",
"typeSimple": "string",
"isOptional": false,
"defaultValue": null,
"constraintTypes": null,
"bindingSourceId": "ModelBinding",
"descriptorName": ""
},
{ {
"nameOnMethod": "input", "nameOnMethod": "input",
"name": "input", "name": "input",
"jsonName": null, "jsonName": null,
"type": "System.Collections.Generic.List<Volo.Abp.PermissionManagement.IsGrantedRequest>", "type": "Volo.Abp.PermissionManagement.UpdatePermissionsDto",
"typeSimple": "[Volo.Abp.PermissionManagement.IsGrantedRequest]", "typeSimple": "Volo.Abp.PermissionManagement.UpdatePermissionsDto",
"isOptional": false, "isOptional": false,
"defaultValue": null, "defaultValue": null,
"constraintTypes": null, "constraintTypes": null,
"bindingSourceId": "ModelBinding", "bindingSourceId": "Body",
"descriptorName": "" "descriptorName": ""
} }
], ],
"returnValue": { "returnValue": {
"type": "Volo.Abp.Application.Dtos.ListResultDto<Volo.Abp.PermissionManagement.IsGrantedResponse>", "type": "System.Void",
"typeSimple": "Volo.Abp.Application.Dtos.ListResultDto<Volo.Abp.PermissionManagement.IsGrantedResponse>" "typeSimple": "System.Void"
}, },
"allowAnonymous": null, "allowAnonymous": null,
"implementFrom": "Volo.Abp.PermissionManagement.Integration.IPermissionIntegrationService" "implementFrom": "Volo.Abp.PermissionManagement.IPermissionAppService"
} }
} }
} }

7
modules/permission-management/src/Volo.Abp.PermissionManagement.HttpApi/Volo/Abp/PermissionManagement/PermissionsController.cs

@ -22,6 +22,13 @@ public class PermissionsController : AbpControllerBase, IPermissionAppService
return PermissionAppService.GetAsync(providerName, providerKey); return PermissionAppService.GetAsync(providerName, providerKey);
} }
[HttpGet]
[Route("by-group")]
public virtual Task<GetPermissionListResultDto> GetByGroupAsync(string groupName, string providerName, string providerKey)
{
return PermissionAppService.GetByGroupAsync(groupName, providerName, providerKey);
}
[HttpPut] [HttpPut]
public virtual Task UpdateAsync(string providerName, string providerKey, UpdatePermissionsDto input) public virtual Task UpdateAsync(string providerName, string providerKey, UpdatePermissionsDto input)
{ {

7
modules/permission-management/src/Volo.Abp.PermissionManagement.Web/wwwroot/client-proxies/permissionManagement-proxy.js

@ -18,6 +18,13 @@
}, ajaxParams)); }, ajaxParams));
}; };
volo.abp.permissionManagement.permissions.getByGroup = function(groupName, providerName, providerKey, ajaxParams) {
return abp.ajax($.extend(true, {
url: abp.appPath + 'api/permission-management/permissions/by-group' + abp.utils.buildQueryString([{ name: 'groupName', value: groupName }, { name: 'providerName', value: providerName }, { name: 'providerKey', value: providerKey }]) + '',
type: 'GET'
}, ajaxParams));
};
volo.abp.permissionManagement.permissions.update = function(providerName, providerKey, input, ajaxParams) { volo.abp.permissionManagement.permissions.update = function(providerName, providerKey, input, ajaxParams) {
return abp.ajax($.extend(true, { return abp.ajax($.extend(true, {
url: abp.appPath + 'api/permission-management/permissions' + abp.utils.buildQueryString([{ name: 'providerName', value: providerName }, { name: 'providerKey', value: providerKey }]) + '', url: abp.appPath + 'api/permission-management/permissions' + abp.utils.buildQueryString([{ name: 'providerName', value: providerName }, { name: 'providerKey', value: providerKey }]) + '',

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

Loading…
Cancel
Save