diff --git a/.github/workflows/auto-pr.yml b/.github/workflows/auto-pr.yml index 4f28b14a9c..a572653e48 100644 --- a/.github/workflows/auto-pr.yml +++ b/.github/workflows/auto-pr.yml @@ -27,10 +27,12 @@ jobs: title: Merge branch dev with rel-9.0 body: This PR generated automatically to merge dev with rel-9.0. Please review the changed files before merging to prevent any errors that may occur. reviewers: maliming + draft: true token: ${{ github.token }} - name: Merge Pull Request env: GH_TOKEN: ${{ secrets.BOT_SECRET }} run: | + gh pr ready gh pr review auto-merge/rel-9-0/${{github.run_number}} --approve - gh pr merge auto-merge/rel-9-0/${{github.run_number}} --merge --auto --delete-branch \ No newline at end of file + gh pr merge auto-merge/rel-9-0/${{github.run_number}} --merge --auto --delete-branch diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index b707786d73..88b94689d6 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -51,7 +51,7 @@ jobs: - uses: actions/checkout@v2 - uses: actions/setup-dotnet@master with: - dotnet-version: 9.0.100-rc.2.24474.11 + dotnet-version: 9.0.100 - name: chown run: | diff --git a/Directory.Packages.props b/Directory.Packages.props index 37f5ba85e9..ddadecbc2b 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -51,60 +51,60 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - + + + - - - - - - - - - + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + - + @@ -114,7 +114,7 @@ - + @@ -155,17 +155,17 @@ - + - + - - - + + + diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/en.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/en.json index 22cfb792b5..0e8546ae41 100644 --- a/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/en.json +++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/en.json @@ -512,6 +512,7 @@ "QuotationTemplate.BankAccount": "Our bank account information can be found at {0}", "Permission:Raffles": "Raffle", "Permission:Draw": "Draw", + "Permission:ExportAttendeesAsExcel": "Export at attendees as Excel", "Menu:Raffles": "Raffles", "RaffleIsNotDrawable": "Raffle is not drawable", "WinnerCountMustBeGreaterThanZero": "Winner count must be greater than zero", @@ -658,6 +659,7 @@ "DrawModal": "Private draw on the modal", "SetAsDrawable": "Set as drawable", "SetAsNoDrawable": "Set as non-drawable", + "SetAsCompleted": "Set as completed", "RemoveAllWinners": "Remove all winners", "EditWinners": "Edit winners", "EditAttendees": "Edit attendees", diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Www/Localization/Resources/en.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Www/Localization/Resources/en.json index 87635af9e2..08e1687357 100644 --- a/abp_io/AbpIoLocalization/AbpIoLocalization/Www/Localization/Resources/en.json +++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Www/Localization/Resources/en.json @@ -459,7 +459,7 @@ "FullName": "Full name", "CompanySize": "Company size", "TestimonialTitle": "Let's hear your testimonial", - "TestimonialInfo": "What our customers say matters! Tell us about your experience with our product and service. It is recommended to write the testimonial in English to reach a wider audience.", + "TestimonialInfo": "What you say matters! Tell us about your experience with ABP in a few sentences. Please write it in English to reach a wider audience.", "Country": "Country", "TestimonialTextPlaceholder": "Write a brief story about how ABP helped you build and deliver your project.", "PositionPlaceholder": "Your position at your company", diff --git a/docs/en/Community-Articles/2024-11-05-.NET Aspire 9.0 Features/Post.md b/docs/en/Community-Articles/2024-11-05-.NET Aspire 9.0 Features/Post.md index 5ba0b92b2d..174aca756d 100644 --- a/docs/en/Community-Articles/2024-11-05-.NET Aspire 9.0 Features/Post.md +++ b/docs/en/Community-Articles/2024-11-05-.NET Aspire 9.0 Features/Post.md @@ -1,11 +1,11 @@ # .NET Aspire 9.0 Features -.NET Aspire 9.0 Release Candidate 1 is the next major release, supporting both .NET 8 and .NET 9. This version includes new features and improvements. +.NET Aspire 9.0 is the next major release, supporting both .NET 8 and .NET 9. This version includes new features and improvements. -## Upgrade to .NET Aspire 9 RC1 +## Upgrade to .NET Aspire Now, you don't need workloads to develop .NET Aspire applications. In your project, you can add an SDK reference to `Aspire.AppHost.Sdk`. -For more information, you can check out [https://learn.microsoft.com/en-us/dotnet/aspire/whats-new/dotnet-aspire-9-release-candidate-1?tabs=windows&pivots=visual-studio#upgrade-to-net-aspire-9-rc1](https://learn.microsoft.com/en-us/dotnet/aspire/whats-new/dotnet-aspire-9-release-candidate-1?tabs=windows&pivots=visual-studio#upgrade-to-net-aspire-9-rc1) which explains upgrading an existing project in details. +For more information, you can check out [https://learn.microsoft.com/en-us/dotnet/aspire/whats-new/dotnet-aspire-9?tabs=windows#upgrade-to-net-aspire-9](https://learn.microsoft.com/en-us/dotnet/aspire/whats-new/dotnet-aspire-9?tabs=windows#upgrade-to-net-aspire-9) which explains upgrading an existing project in details. ## Dashboard @@ -15,13 +15,13 @@ For more information, you can check out [https://learn.microsoft.com/en-us/dotne * **Mobile and responsive support**: The .NET Aspire dashboard is now mobile-friendly. * **Sensitive properties**: Properties can be marked as sensitive, automatically masking them in the dashboard UI. * **Volumes**: Configured container volumes are listed in resource details. -* **Health checks**: .NET Aspire 9 RC1 adds support for health checks. +* **Health checks**: .NET Aspire 9 adds support for health checks. ![Resource Lifecycle](./aspire_resource_lifecycle.jpg) ## Telemetry -.NET Aspire 9 RC1 comes with many new features to the Telemetry service. +.NET Aspire 9 comes with many new features to the Telemetry service. * **Improve telemetry filtering**: Telemetry data can now be filtered by attribute values. * **Combine telemetry from multiple resources**: If a resource has multiple replicas, you can now filter telemetry data to view from all instances. @@ -32,14 +32,14 @@ For more information, you can check out [https://learn.microsoft.com/en-us/dotne ## Orchestration The .NET App Host is a core component of the .NET runtime that helps launch and execute .NET applications. -.NET Aspire 9 RC1 introduces many new features to the app host. Let's take a look; +.NET Aspire 9 introduces many new features to the app host. Let's take a look; * **Waiting for dependencies**: You can configure a resource to wait for another resource to start before starting. * **Resource health checks**: The `Waiting for dependencies` feature uses health checks to determine if a resource is ready. ## Integrations -.NET Aspire has integrations with some services and tools that make it easy to get started. New integrations are coming with .NET Aspire 9 RC1. +.NET Aspire has integrations with some services and tools that make it easy to get started. New integrations are coming with .NET Aspire 9. * Redis Insight * OpenAI (Preview) diff --git a/docs/en/Community-Articles/2024-11-06-Optimize-static-web-asset-delivery/POST.md b/docs/en/Community-Articles/2024-11-06-Optimize-static-web-asset-delivery/POST.md new file mode 100644 index 0000000000..67c4762952 --- /dev/null +++ b/docs/en/Community-Articles/2024-11-06-Optimize-static-web-asset-delivery/POST.md @@ -0,0 +1,108 @@ +# Optimizing Static Asset Delivery feature in ASP.NET Core 9.0 + +Delivering static assets efficiently is a key factor in building performant web applications. By optimizing how assets like CSS, JavaScript, and images are served to the browser, you can reduce load times, decrease network traffic, and improve the overall user experience. + +One powerful tool to help achieve this is **MapStaticAssets**, a feature in ASP.NET Core that significantly optimizes the delivery of static resources. Whether you're working with Blazor, Razor Pages, MVC, or other UI frameworks, **MapStaticAssets** streamlines asset management and ensures that your web app delivers resources in the most efficient way possible. + +## Why Optimizing Static Assets Matters + +Serving static assets without optimization can lead to several performance bottlenecks: + +- **Excessive network requests**: The browser may need to request the same resources multiple times, even if they haven’t changed. +- **Unnecessary data transfer**: Larger files are sent over the network, consuming bandwidth and slowing down page loads. +- **Outdated assets**: Without proper cache management, users may receive stale versions of files after an app update. + +Optimizing static assets involves compressing files, managing caching headers, and ensuring that only the necessary resources are sent to the client. **MapStaticAssets** takes care of all these issues in a seamless, automated way. + +## What is MapStaticAssets? + +**MapStaticAssets** is designed to enhance the default static asset serving mechanism in ASP.NET Core. It can replace `UseStaticFiles` in most scenarios and comes with several built-in optimizations. These optimizations are executed at both build and publish time, ensuring that static resources are served in the most efficient way possible when your app is running. + +Here's how you can implement **MapStaticAssets** in your app: + +```csharp +var builder = WebApplication.CreateBuilder(args); + +builder.Services.AddRazorPages(); + +var app = builder.Build(); + +if (!app.Environment.IsDevelopment()) +{ + app.UseExceptionHandler("/Error"); + app.UseHsts(); +} + +app.UseHttpsRedirection(); + +app.UseRouting(); + +app.UseAuthorization(); + +// Replacing UseStaticFiles with MapStaticAssets +app.MapStaticAssets(); +app.MapRazorPages(); + +app.Run(); +``` + +## Key Features of MapStaticAssets + +1. **Build-time Compression**: + **MapStaticAssets** automatically compresses all static assets during the build process. It uses **gzip** compression during development and **gzip + brotli** compression when publishing. This reduces the file size significantly, ensuring faster download times. + + For example, in a default Razor Pages template, assets like `bootstrap.min.css` and `jquery.js` are compressed by over 80%, resulting in significantly reduced file sizes: + + | File | Original Size | Compressed Size | Compression Reduction | + |----------------------|---------------|-----------------|-----------------------| + | `bootstrap.min.css` | 163 KB | 17.5 KB | 89.26% | + | `jquery.js` | 89.6 KB | 28 KB | 68.75% | + | `bootstrap.min.js` | 78.5 KB | 20 KB | 74.52% | + | **Total** | 331.1 KB | 65.5 KB | 80.20% | + +2. **Content-based ETags**: + **MapStaticAssets** generates **ETags** based on the SHA-256 hash of the file content, encoded in Base64. This ensures that the browser only re-downloads a resource if its content has changed. This eliminates unnecessary network requests, improving page load speeds. + +3. **Smaller File Sizes for Libraries**: + Popular component libraries, such as **Fluent UI Blazor** and **MudBlazor**, benefit from similar compression optimizations. For example, the size of the **MudBlazor** library is reduced by over 90%, from 588 KB to just 46.7 KB after compression. + + | File | Original Size | Compressed Size | Compression Reduction | + |----------------------|---------------|-----------------|-----------------------| + | `MudBlazor.min.css` | 541 KB | 37.5 KB | 93.07% | + | `MudBlazor.min.js` | 47.4 KB | 9.2 KB | 80.59% | + | **Total** | 588.4 KB | 46.7 KB | 92.07% | + +4. **Automatic Optimization**: + As libraries or components are added or updated, **MapStaticAssets** automatically optimizes the assets as part of the build process. This includes minimizing the size of JavaScript and CSS files, reducing the impact of mobile or low-bandwidth environments. + +5. **Serving Assets with a CDN**: + Although **MapStaticAssets** is focused on server-side optimizations, integrating a **CDN (Content Delivery Network)** can further boost performance by serving static assets from servers geographically closer to the user, reducing latency. + +## Comparing MapStaticAssets to IIS Dynamic Compression + +**MapStaticAssets** provides several advantages over traditional dynamic compression techniques, such as IIS **gzip** compression: + +- **Simplicity**: There is no need for server-specific configuration, making **MapStaticAssets** easy to implement. +- **Performance**: By compressing assets at build time, the app doesn't need to perform compression during every request, which improves server performance. +- **Optimization**: Developers can focus on ensuring that assets are compressed to the smallest possible size during the build process. + +For example, using **MapStaticAssets**, a file like `MudBlazor.min.css` is compressed down to 37.5 KB, whereas IIS dynamic compression might result in a size of 90 KB. This represents a **59%** reduction in size. + +## About MapAbpStaticAssets + +The ABP framework is 100% compatible with this new feature. + +However, some JavaScript, CSS, and image files exist in the [Virtual File System](https://abp.io/docs/latest/framework/infrastructure/virtual-file-system), which ASP.NET Core's **MapStaticAssets** can't handle. For these files, additional **StaticFileMiddleware** is needed to serve them, which is where **MapAbpStaticAssets** comes in. + +**MapAbpStaticAssets** adds the necessary **StaticFileMiddleware** to ensure that virtual files are correctly served. This middleware setup ensures seamless delivery of virtual resources alongside static assets. + +You can view the source code of **MapAbpStaticAssets** on [GitHub](https://github.com/abpframework/abp/blob/dev/framework/src/Volo.Abp.AspNetCore/Microsoft/AspNetCore/Builder/AbpApplicationBuilderExtensions.cs#L129-L198). + +## Conclusion + +Optimizing static asset delivery is essential for building fast, efficient web applications. **MapStaticAssets** simplifies and automates the optimization of static files by providing build-time compression, caching headers, and content-based ETags. This ensures that your app's static assets are always delivered in the most efficient way, whether users are on fast broadband or slower mobile connections. By using **MapStaticAssets**, you can deliver a faster, more reliable experience for your users with minimal effort. + +## References + +* [Static files in ASP.NET Core](https://learn.microsoft.com/en-us/aspnet/core/fundamentals/static-files?view=aspnetcore-9.0) +* [What's new in ASP.NET Core 9.0](https://learn.microsoft.com/en-us/aspnet/core/release-notes/aspnetcore-9.0?view=aspnetcore-8.0#optimize-static-web-asset-delivery) diff --git a/docs/en/Community-Articles/2024-11-13-BuiltIn-OpenApi-Documentation/cover.png b/docs/en/Community-Articles/2024-11-13-BuiltIn-OpenApi-Documentation/cover.png new file mode 100644 index 0000000000..4ac79513c3 Binary files /dev/null and b/docs/en/Community-Articles/2024-11-13-BuiltIn-OpenApi-Documentation/cover.png differ diff --git a/docs/en/Community-Articles/2024-11-13-BuiltIn-OpenApi-Documentation/img1.png b/docs/en/Community-Articles/2024-11-13-BuiltIn-OpenApi-Documentation/img1.png new file mode 100644 index 0000000000..e47683afd8 Binary files /dev/null and b/docs/en/Community-Articles/2024-11-13-BuiltIn-OpenApi-Documentation/img1.png differ diff --git a/docs/en/Community-Articles/2024-11-13-BuiltIn-OpenApi-Documentation/img2.png b/docs/en/Community-Articles/2024-11-13-BuiltIn-OpenApi-Documentation/img2.png new file mode 100644 index 0000000000..87076b1329 Binary files /dev/null and b/docs/en/Community-Articles/2024-11-13-BuiltIn-OpenApi-Documentation/img2.png differ diff --git a/docs/en/Community-Articles/2024-11-13-BuiltIn-OpenApi-Documentation/img3.png b/docs/en/Community-Articles/2024-11-13-BuiltIn-OpenApi-Documentation/img3.png new file mode 100644 index 0000000000..a458547e8a Binary files /dev/null and b/docs/en/Community-Articles/2024-11-13-BuiltIn-OpenApi-Documentation/img3.png differ diff --git a/docs/en/Community-Articles/2024-11-13-BuiltIn-OpenApi-Documentation/img4.png b/docs/en/Community-Articles/2024-11-13-BuiltIn-OpenApi-Documentation/img4.png new file mode 100644 index 0000000000..30e539ffb2 Binary files /dev/null and b/docs/en/Community-Articles/2024-11-13-BuiltIn-OpenApi-Documentation/img4.png differ diff --git a/docs/en/Community-Articles/2024-11-13-BuiltIn-OpenApi-Documentation/img5.png b/docs/en/Community-Articles/2024-11-13-BuiltIn-OpenApi-Documentation/img5.png new file mode 100644 index 0000000000..5b5c1a9b7d Binary files /dev/null and b/docs/en/Community-Articles/2024-11-13-BuiltIn-OpenApi-Documentation/img5.png differ diff --git a/docs/en/Community-Articles/2024-11-13-BuiltIn-OpenApi-Documentation/post.md b/docs/en/Community-Articles/2024-11-13-BuiltIn-OpenApi-Documentation/post.md new file mode 100644 index 0000000000..3e950c38c0 --- /dev/null +++ b/docs/en/Community-Articles/2024-11-13-BuiltIn-OpenApi-Documentation/post.md @@ -0,0 +1,164 @@ +Built-in OpenAPI Document Generation with .NET 9 — No more SwaggerUI! 👋 +======================================================================== + +![Cover](cover.png) + +What’s Swagger UI? +------------------ + +[Swagger UI](https://swagger.io/) is an open-source tool that automatically generates an interactive, web-based documentation interface for WebAPIs. +It supports OpenAPI standards. It was very popular tool among the ASP.NET Core developers from 2020 to 2024. +Because it was a built-in tool comes with ASP.NET Core default templates. +We liked this tool because it was the first tool that allows us to make WebAPI calls for testing. +Now it provides paid services as well as free ones. + +> Previously, Swagger was included by default from **.NET 5** to **.NET 8** in .NET web templates. + +--- + + + +What’s OpenAPI? +--------------- + +OpenAPI is a standard specification for defining REST APIs. +The official website is [https://www.openapis.org/](https://www.openapis.org/). +Microsoft is now using OpenAPI and here is the official documentation 👉 [https://aka.ms/aspnet/openapi](https://aka.ms/aspnet/openapi) + +--- + + + + + +Replacement of Swagger UI with OpenAPI +---------------------------------------------------------------------------- + +Swagger UI is no longer integrated into NET 9, as Microsoft wants a solution with first-class support, better control, and enhanced security. As you see in the below screenshot, Microsoft declares that it's already removed. + +![Docs](img2.png) + +--- + + + + + +## Why is Swagger Removed from .NET 9? + +In March 2024, the ASP.NET Core team announced that they are removing the `Swashbuckle.AspNetCore` dependency from web templates from .NET 9 release. + + + +> This decision was influenced by the project's lack of active maintenance and the absence of an official release for .NET 8. + + + +Microsoft team created a new package `Microsoft.AspNetCore.OpenApi`. It provides built-in OpenAPI document generation just like Swagger. So Microsoft doesn't depend on external tools. Because in every .NET release, they need to ask the owners of the external tool libraries to align with their new version. And sometimes these library owners cannot update their code-base according to the recent .NET changes. And it is becoming harder for Microsoft to support the 3rd party libraries under these circumstances. Basically reducing 3rd party dependencies will help Microsoft fast release cycles. + +I read Reddit, GitHub discussions and YouTube reviews about this topic. As I see community members expressed concerns about the inactivity of Swashbuckle and they are discussing alternatives like contributing to or forking the project. The Microsoft team also contacted the owners of Swashbuckle and NSwag to explore potential collaborations and ensure a smooth transition for developers. + +In the below GitHub issue, you can see the details of this decision: + +* [github.com/dotnet/aspnetcore/issues/54599](https://github.com/dotnet/aspnetcore/issues/54599) + + + +**Jeremy** -Product Manager- at Microsoft, answers why they took this decision in [this post](https://github.com/dotnet/aspnetcore/issues/54599#issuecomment-2004975574). + +![Jeremy Comments](img3.png) + +As a summary; + +**The change is due to a lack of maintenance of the Swagger library**, although it has seen some recent updates. This aims to reduce dependency on external tools and provide a streamlined, out-of-the-box experience for generating OpenAPI documentation for ASP.NET Core Web APIs. + +--- + + + + + +What are the Benefits of the New OpenAI Package? +--------------------------------------------------------------- + +### Native Support and Reduced Dependency + +The new `Microsoft.AspNetCore.OpenApi` package provides first-class citizen support for OpenAPI. It reduces reliance on external tools like Swashbuckle or NSwag for basic documentation needs. The native implementation leverages source generators to reduce runtime overhead. + +### Simplified Configuration + +No need extra setup or 3rd party integrations. Just by defining controllers and endpoints, ASP.NET Core automatically generates OpenAPI specifications. + +### Well Integration with Minimal APIs + +[Minimal APIs](https://learn.microsoft.com/en-us/aspnet/core/fundamentals/minimal-apis) introduced in .NET 6. There's an optimized built-in support for Minimal APIs. It automatically adds metadata for routes, request parameters, and responses. + +### Compatibility with Existing Tools + +You can still use the output of OpenAPI with Swagger or NSwag... So it doesn't mean that in this case you have only one option when you use OpenAPI. + +--- + + + +How to Use the New OpenAPI in .NET9? +------------------------------------ + +When you create a new ASP.NET Core project, you can see the below checkbox to add OpenAPI. + +![New .NET 9 Project Screen](img5.png) + +I created a new .NET 9 web project, I saw that OpenAPI had already been added. + +![Package Reference](img4.png) + +## Add OpenAPI Support For Your Existing Project + +Upgrade your project to .NET 9 and add the required NuGet package [Microsoft.AspNetCore.OpenApi](https://www.nuget.org/packages/Microsoft.AspNetCore.OpenApi) + +``` +dotnet add package Microsoft.AspNetCore.OpenApi +``` + +### + +Add the following services and middleware in `Program.cs` + +``` +var builder = WebApplication.CreateBuilder(); +builder.Services.AddOpenApi(); //<<----- +var app = builder.Build(); +app.MapOpenApi(); //<<----- +app.MapGet("/", () => "Test"); +app.Run(); +``` + +Your OpenAPI document URL is [_https://localhost:7077/openapi/v1.json_](https://localhost:7077/openapi/v1.json) + +Change the port to your active port. This is how it looks like: + +![Web UI of the Documentation](img1.png) + +--- + + + +Alternative 3rd Party Tool: Scalar +================================== + +**Scalar** is an open-source API platform for RestAPI documentation. Also, it provides an interface for interacting with RESTful API. Generates interactive and user-friendly API documentation. Supports OpenAPI and Swagger specifications. It’s open-source with **7K stars** on GitHub. + +See the repo 👉 [https://github.com/scalar/scalar](https://github.com/scalar/scalar). + + + +That's all from the replacement of Swagger in .NET 9. +Happy coding 👨‍💻 + + + +**References** + +* [https://learn.microsoft.com/en-us/aspnet/core/release-notes/aspnetcore-9.0?view=aspnetcore-8.0#openapi](https://learn.microsoft.com/en-us/aspnet/core/release-notes/aspnetcore-9.0?view=aspnetcore-8.0#openapi) + + diff --git a/docs/en/Community-Articles/2024-11-14-Csharp-13-Features/Post.md b/docs/en/Community-Articles/2024-11-14-Csharp-13-Features/Post.md new file mode 100644 index 0000000000..12a1dea431 --- /dev/null +++ b/docs/en/Community-Articles/2024-11-14-Csharp-13-Features/Post.md @@ -0,0 +1,202 @@ +# C# 13 Features + +C# 13 is the latest version of C# and it comes with a lot of new features. In this article, we will discuss some of the new features of C# 13. + +## `params` collections + +With the C# 13, method parameter with `params` keyword isn't limited to be an array. You can now use any collection type that implements `IEnumerable` interface. + +Let's see how it can help us in our code. + +```csharp +public IEnumerable GetOdds(params IEnumerable numbers) +{ + foreach (var number in numbers) + { + if (number % 2 != 0) + { + Console.WriteLine(number); + } + } +} +``` + +## New lock object + +I'm sure you have used `lock` statement in your code to synchronize access to a shared resource. With C# 13, you can now use a new lock object that is more efficient than the traditional lock object. +The new `Lock` type provides better thread synchronization through its API. When `Lock.EnterScope()` method is called, it returns a struct named `Scope` that contains a `Dispose` method. The `Dispose` method is called when the `Scope` object goes out of scope, which releases the lock. C# `using` statement recognizes the `Dispose` method and calls it automatically like it does with other `IDisposable` objects. + +It was something similar before: +```csharp +private object _lock = new(); + +public void DoSomething() +{ + lock (_lock) + { + // Do something + } +} +``` + +Now, you can use the new lock object like this: +```csharp +System.Threading.Lock x = new System.Threading.Lock(); +public void DoSomething() +{ + using (x.EnterScope()) + { + // Do something + } +} +``` + +## New escape sequence +In C# 13, a new escape sequence `\e` has been introduced to represent the `ESCAPE` character, Unicode `U+001B`. Previously, you had to use `\u001b` or `\x1b` to represent this character. The new `\e` escape sequence simplifies this process and avoids potential issues with hexadecimal digits following `\x1b`. + +> You can check [here](https://en.wikipedia.org/wiki/ANSI_escape_code#C0_control_codes) for ANSI escape codes. + +## Implicit index access + +The implicit "from the end" index operator, `^`, is now allowed in an object initializer expression. + +It was not possible before, but now you can do this: + +```csharp +var countdown = new TimerRemaining() +{ + buffer = + { + [^1] = 0, + [^2] = 1, + [^3] = 2, + [^4] = 3, + [^5] = 4, + [^6] = 5, + [^7] = 6, + [^8] = 7, + [^9] = 8, + [^10] = 9 + } +}; +``` + +It's a great feature that makes the code more readable and maintainable. Still not a big deal, but it's nice to have it. + +## `ref` and `unsafe` in iterators and async methods + +In C# 13, the restrictions on using `ref` and `unsafe` constructs in iterators and async methods have been relaxed. Previously, you couldn't declare local `ref` variables or use unsafe contexts in these methods. Now, you can declare ref local variables and use unsafe contexts in async methods and iterators, provided they are not accessed across `await` or `yield` boundaries + + +This change allows for more expressive and efficient code, especially when working with types like `System.Span` and `System.ReadOnlySpan`. The compiler ensures that these constructs are used safely, and it will notify you if any safety rules are violated. + +You can read more about this feature on the [Microsoft Learn page](https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/proposals/csharp-13.0/ref-unsafe-in-iterators-async). + + + +## More partial members + +In C# 13, the concept of partial members has been expanded to include partial properties and partial indexers. Previously, only methods could be defined as partial members. This means you can now split the definition of properties and indexers across multiple files, just like you could with methods. + +For example, you can declare a partial property in one part of your class and implement it in another part. Here's a simple illustration: + +```csharp +public partial class MyClass +{ + // Declaring declaration + public partial string MyProperty { get; set; } +} + +public partial class MyClass +{ + // Implementing declaration + private string _myProperty; + public partial string MyProperty + { + get => _myProperty; + set => _myProperty = value; + } +} +``` + +This feature allows for better organization and modularization of your code, especially in large projects where different parts of a class might be implemented by different team members. + +## Overload resolution priority + +What does "Overload resolution priority" section mean in this page? +In C# 13, the OverloadResolutionPriority attribute allows library authors to specify which method overload should be preferred by the compiler when multiple overloads are available. This attribute helps avoid ambiguity and ensures that the most appropriate overload is chosen, even if it might not be the most obvious choice based on traditional overload resolution rules. + +This may be useful in scenarios where you have multiple overloads that are equally valid, but you want to prioritize one over the others. The attribute can be applied to a method or constructor to indicate its priority in the overload resolution process. It can prevent unexpected behavior and make your code more predictable and maintainable. + + +Let me show with an example: +```csharp +public class Example +{ + // Existing method + public void Display(string message = "Hello!") + { + Console.WriteLine("Message: " + message); + } + + // New, more efficient method with higher priority + [OverloadResolutionPriority(1)] + public void Display(string message = "Hello!", int repeatCount = 3) + { + for (int i = 0; i < repeatCount; i++) + { + Console.WriteLine("Message: " + message); + } + } +} + +class Program +{ + static void Main() + { + Example example = new Example(); + + // Normally, you can't compile this code because of ambiguity: + example.Display(); + } +} +``` + +Output: +``` +Message: Hello! +Message: Hello! +Message: Hello! +``` + +## The `field` keyword + +n C# 13, the `field` keyword is introduced as a preview feature to simplify property accessors. This keyword allows you to reference the compiler-generated backing `field` directly within a property accessor, eliminating the need to declare an explicit backing `field` in your type declaration. + +For example, instead of writing: + +```csharp +private int _value; +public int Value +{ + get => _value; + set => _value = value; +} +``` + +You can now write: + +```csharp +public int Value +{ + get => field; + set => field = value; +} +``` + +This makes your code cleaner and more concise. However, be cautious if you have a `field` named `field` in your class, as it could cause confusion. You can disambiguate by using `@field` or `this.field`. + +Make sure you're using the latest `LangVersion` in your `.csproj` project file to enable this feature. +```xml +preview +``` \ No newline at end of file diff --git a/docs/en/Community-Articles/2024-11-14-EF-Core-9-Linq-SQL-Translation/POST.md b/docs/en/Community-Articles/2024-11-14-EF-Core-9-Linq-SQL-Translation/POST.md new file mode 100644 index 0000000000..2e91d30e7f --- /dev/null +++ b/docs/en/Community-Articles/2024-11-14-EF-Core-9-Linq-SQL-Translation/POST.md @@ -0,0 +1,165 @@ +# EF Core 9 LINQ & SQL translation + +EF Core improves the translation of LINQ queries to SQL with every release. EF Core 9 is no exception. This article will show you some of the improvements in EF Core 9. + +EF Core 9 includes a lot of improvements in LINQ to SQL translation. we don't cover all of them in this article. You can find more information in the [official release notes](https://learn.microsoft.com/en-us/ef/core/what-is-new/ef-core-9.0/whatsnew#linq-and-sql-translation). + +## Support for complex types + +### GroupBy + +EF Core now supports grouping by complex type instance. For example: + +```csharp +var groupedAddress = await context.Customers + .GroupBy(c => new { c.Address }) + .Select(g => new { g.Key, Count = g.Count() }) + .ToListAsync(); +``` + +Address is a complex type as a value object here. + +### ExecuteUpdate + +EF Core now supports updating a complex type. For example: + +```csharp +var newAddress = new Address("New Street", "New City", "New Country"); + +await context.Customers + .Where(e => e.Region == "Turkey") + .ExecuteUpdateAsync(s => s.SetProperty(b => b.Address, newAddress)); +``` + +EF Core updates each column of the complex type. + +## Prune unneeded elements from SQL + +Ef Core now translates LINQ queries to SQL more efficiently. It will remove unneeded elements from the SQL query and bring better performance. + +### Table pruning + +When you use table-per-hierarchy (TPH) inheritance, previously EF Core generated SQL queries that included JIONs to tables that were not needed. + +For example: + +```csharp +public class Order +{ + public int Id { get; set; } + ... + + public Customer Customer { get; set; } +} + +public class DiscountedOrder : Order +{ + public double Discount { get; set; } +} + +public class Customer +{ + public int Id { get; set; } + ... + + public List Orders { get; set; } +} + +public class AppContext : DbContext +{ + ... + + protected override void OnModelCreating(ModelBuilder modelBuilder) + { + modelBuilder.Entity().UseTptMappingStrategy(); + } +} +``` + +Consider the following query to get all customers with at least one order: + +```csharp +var customers = await context.Customers.Where(o => o.Orders.Any()).ToListAsync(); +``` + +Previously, EF Core generated the following SQL query: + +```sql +SELECT [c].[Id], [c].[Name] +FROM [Customers] AS [c] +WHERE EXISTS ( + SELECT 1 + FROM [Orders] AS [o] + LEFT JOIN [DiscountedOrders] AS [d] ON [o].[Id] = [d].[Id] + WHERE [c].[Id] = [o].[CustomerId]) +``` + +It included a JOIN to the `DiscountedOrders` table, which was not needed. In EF Core 9, the generated SQL query is: + +```sql +SELECT [c].[Id], [c].[Name] +FROM [Customers] AS [c] +WHERE EXISTS ( + SELECT 1 + FROM [Orders] AS [o] + WHERE [c].[Id] = [o].[CustomerId]) +``` + +## EF Core in ABP + +ABP Framework is built on top of the latest technologies. It will support EF Core 9 as soon as it is released. You can use the latest features of EF Core in your ABP applications. + +For example, you can use the `ExecuteUpdateAsync` method in your ABP application: + +```csharp +public class Book : FullAuditedAggregateRoot +{ + public string Name { get; set; } + + public float Price { get; set; } + + public string Author { get; set; } +} + +public class AppContext : AbpDbContext +{ + public DbSet Books { get; set; } + + protected override void OnModelCreating(ModelBuilder modelBuilder) + { + base.OnModelCreating(builder); + + builder.Entity(b => + { + b.ToTable("Books"); + b.ConfigureByConvention(); + b.Property(x => x.Name).IsRequired().HasMaxLength(128); + b.Property(x => x.Author).IsRequired().HasMaxLength(64); + }); + } +} + +public class BookRepository : EfCoreRepository, IBookRepository +{ + public BookRepository(IDbContextProvider dbContextProvider) + : base(dbContextProvider) + { + } + + public async Task UpdatePriceByAuthorAsync(string author, float price) + { + await (await GetDbSetAsync()) + .Where(b => b.Author == author) + .ExecuteUpdateAsync(b => b.SetProperty(x => x.Price, price)); + } +} +``` + +* `FullAuditedAggregateRoot` is an aggregate root base class with auditing properties provided by ABP Framework. +* `IRepository` is a generic repository interface provided by ABP Framework that provides CRUD operations and you can use EF Core's API in your entity repository implementation. + +## References + +* [LINQ and SQL translation](https://learn.microsoft.com/en-us/ef/core/what-is-new/ef-core-9.0/whatsnew#linq-and-sql-translation) +* [ABP Entity Framework Core Integration](https://abp.io/docs/latest/framework/data/entity-framework-core) +* [ABP Entities](https://abp.io/docs/latest/framework/architecture/domain-driven-design/entities) diff --git a/docs/en/cli/new-command-samples.md b/docs/en/cli/new-command-samples.md index 6b168b538c..a8d469b10b 100644 --- a/docs/en/cli/new-command-samples.md +++ b/docs/en/cli/new-command-samples.md @@ -221,6 +221,79 @@ As seen below, ABP libraries are local project references. ``` +## Using Existing Configuration + +If you want to programmaticaly create solutions, you can use an existing configuration instead of passing parameters to CLI one by one. ABP Studio keeps the solution creation history locally in `(UserProfile)\.abp\studio\solution-creation-history.json` file, there you can find the configurations of the solutions created in your machine. + +### Using a Solution Id + +In `*.abpsln` file of the solutions, there is an ID field that you can use to recreate a solution. To do this, pass the id to cli using `-shi or --solution-history-id` parameters. + +```bash +abp new -shi dbb1afa9-190e-419a-842d-2780bb1bad1f +abp new -shi dbb1afa9-190e-419a-842d-2780bb1bad1f -o D:\test\Acme.BookStore +``` + +### Using a JSON Configuration File + +You can also use a configuration file to create solutions. You need to use `-rcp or ready-config-path` parameters to do that. + +```bash +abp new -rcp MyTests\config.json +abp new -rcp D:\MyTests\config.json +abp new -rcp D:\MyTests\config.json -o D:\test\Acme.BookStore +``` + +To prepare a config file, you can check the records in `solution-creation-history.json` file mentioned above. An example config file would look like that: + +```json +{ + "solutionName": { + "fullName": "Acme.BookStore", + "companyName": "Acme", + "projectName": "BookStore" + }, + "pro": true, + "useOpenSourceTemplate": false, + "booksSample": false, + "databaseProvider": "ef", + "createInitialMigration": true, + "runDbMigrator": true, + "uiFramework": "angular", + "theme": "leptonx", + "themeStyle": "system", + "mobileFramework": "none", + "databaseManagementSystem": "sqlserver", + "databaseManagementSystemBuilderExtensionMethod": "UseSqlServer", + "connectionString": "Server=(LocalDb)\\\\MSSQLLocalDB;Database=BookStore;Trusted_Connection=True;TrustServerCertificate=true", + "mauiBlazorApplicationIdGuid": "d3499a09-f3d4-4bb7-9d58-4c7b1caee331", + "tiered": false, + "publicWebsite": false, + "cmskit": false, + "openIddictAdmin": true, + "languageManagement": true, + "textTemplateManagement": true, + "multiTenancy": true, + "auditLogging": false, + "gdpr": true, + "chat": false, + "fileManagement": false, + "socialLogins": true, + "includeTests": true, + "distributedEventBus": "none", + "publicRedis": false, + "separateTenantSchema": false, + "progressiveWebApp": false, + "runProgressiveWebAppSupport": false, + "runInstallLibs": false, + "runBundling": false, + "kubernetesConfiguration": true, + "templateName": "app" + } +``` + + + ## See Also * [ABP CLI documentation](../cli/index.md) diff --git a/docs/en/deployment/forwarded-headers.md b/docs/en/deployment/forwarded-headers.md new file mode 100644 index 0000000000..b6b74205c3 --- /dev/null +++ b/docs/en/deployment/forwarded-headers.md @@ -0,0 +1,84 @@ +# Forwarded Headers + +Reverse proxies and load balancers play a crucial role in modern web application architectures. When an application is deployed behind these proxies and load balancers, several specific issues can arise. This document will discuss these issues in detail, explain how ASP.NET Core's forwarded headers middleware can address them, and provide a code example for configuring forwarded headers in an ABP application. + +## Possible problem in a Reverse Proxy Environment + +When requests pass through a reverse proxy or load balancer, the following common issues can occur: + +### 1. Loss of Original Request Information + +A reverse proxy or load balancer typically modifies the original HTTP request headers. For example, the proxy may replace the client's `X-Forwarded-For` header, or the `Host` header might be set to the proxy's address. This can result in the backend application being unable to directly access the client's IP address, the true hostname, and the protocol used. + +### 2. HTTPS vs HTTP Protocol Confusion + +When a request is forwarded by a proxy server, it is often upgraded to HTTPS to ensure secure transmission. The proxy server will send a header like `X-Forwarded-Proto` to indicate whether the original request was HTTP or HTTPS. If the backend application does not correctly handle this header, it may generate URLs with the wrong protocol. + +### 3. Path Handling Issues + +Since load balancers and proxies might modify or map the request URL paths differently, the backend application could encounter path inconsistencies. For example, a reverse proxy might forward a request from `/api` to `/myapp/api`. If the backend application is not correctly configured, path parsing errors may occur. + +### 4. IP Address and Security + +Reverse proxies might replace the original client IP address with their own, which can affect logging, authentication, and access control mechanisms. To retrieve the actual client IP address, the `X-Forwarded-For` header must be correctly parsed and trusted. + +### 5. Load Balancer Impact + +Load balancers might distribute requests to different backend servers using different algorithms. This can create session affinity problems. If session data is stored on a single server and the load balancer directs subsequent requests to different servers, session loss or inconsistency may occur. + +## Forwarded Headers Middleware in ABP web application + +To resolve the above issues, ASP.NET Core provides a built-in middleware, `ForwardedHeadersMiddleware`, which processes the headers forwarded by reverse proxies. This middleware helps the application recover the correct original request information, such as the client’s IP address, protocol, and host. + +### Configuring `ForwardedHeadersMiddleware` + +ASP.NET Core’s `ForwardedHeadersMiddleware` supports several HTTP headers: + +- **X-Forwarded-For**: Contains the original client’s IP address. +- **X-Forwarded-Proto**: Indicates whether the original request was HTTP or HTTPS. +- **X-Forwarded-Host**: Contains the original host requested by the client. +- **X-Forwarded-Port**: Indicates the original port of the request. + +To configure this middleware: + +1. In the `ConfigureServices` method of your module, configure the `ForwardedHeadersOptions`: + +```csharp +public override void ConfigureServices(ServiceConfigurationContext context) +{ + context.Services.Configure(options => + { + options.ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto; + }); +} +``` + +2. In the `OnApplicationInitialization` method of your module, add the middleware: + +> Forwarded Headers Middleware should run before other middleware. This ordering ensures that the middleware relying on forwarded headers information can consume the header values for processing. Forwarded Headers Middleware can run after diagnostics and error handling, but it must be run before calling UseHsts: + +```csharp +public override void OnApplicationInitialization(ApplicationInitializationContext context) +{ + var app = context.GetApplicationBuilder(); + var env = context.GetEnvironment(); + + if (env.IsDevelopment()) + { + app.UseDeveloperExceptionPage(); + app.UseForwardedHeaders(); + } + else + { + app.UseErrorPage(); + app.UseForwardedHeaders(); + app.UseHsts(); + } + + // Other middleware configurations... +} +``` + +## References + +- [ASP.NET Core Proxy and Load Balancer Configuration](https://learn.microsoft.com/en-us/aspnet/core/host-and-deploy/proxy-load-balancer?view=aspnetcore-9.0) diff --git a/docs/en/deployment/index.md b/docs/en/deployment/index.md index 3537e4593e..245c8bdaf0 100644 --- a/docs/en/deployment/index.md +++ b/docs/en/deployment/index.md @@ -12,3 +12,4 @@ However, there are some topics that you should care about when you are deploying * [Optimization for Production](./optimizing-production.md): Tips and suggestions for optimizing your application in production environments. * [Deploying to a Clustered Environment](./clustered-environment.md): Explains how to configure your application when you want to run multiple instances of your application concurrently. * [Deploying Distributed / Microservice Solutions](./distributed-microservice.md): Deployment notes for solutions consisting of multiple applications and/or services. +* [Forwarded Headers](./forwarded-headers): Explains how to configure the application to trust headers forwarded by reverse proxies and recover the original request information from the `X-Forwarded-For` and `X-Forwarded-Proto` headers. \ No newline at end of file diff --git a/docs/en/docs-nav.json b/docs/en/docs-nav.json index 9866347e9d..d30b25dfb6 100644 --- a/docs/en/docs-nav.json +++ b/docs/en/docs-nav.json @@ -893,7 +893,7 @@ "items": [ { "text": "Overview", - "path": "framework/ui/mvc-razor-pages/overall" + "path": "framework/ui/mvc-razor-pages/overall.md" }, { "text": "Navigation / Menus", diff --git a/docs/en/docs-params.json b/docs/en/docs-params.json index 46e496f248..e108f1b554 100644 --- a/docs/en/docs-params.json +++ b/docs/en/docs-params.json @@ -7,6 +7,7 @@ "MVC": "MVC / Razor Pages", "Blazor": "Blazor WebAssembly", "BlazorServer": "Blazor Server", + "BlazorWebApp": "Blazor WebApp", "NG": "Angular" } }, diff --git a/docs/en/framework/infrastructure/event-bus/index.md b/docs/en/framework/infrastructure/event-bus/index.md index 982268780a..1c3f59bc4e 100644 --- a/docs/en/framework/infrastructure/event-bus/index.md +++ b/docs/en/framework/infrastructure/event-bus/index.md @@ -6,5 +6,26 @@ An event bus is a mediator that transfers a message from a sender to a receiver. ABP provides two type of event buses; -* **[Local Event Bus](local)** is suitable for in-process messaging. -* **[Distributed Event Bus](distributed)** is suitable for inter-process messaging, like microservices publishing and subscribing to distributed events. \ No newline at end of file +* **[Local Event Bus](local/index.md)** is suitable for in-process messaging. +* **[Distributed Event Bus](distributed/index.md)** is suitable for inter-process messaging, like publishing and subscribing to distributed events in a distributed/microservice system. + +## Event Bus Guiding + +You may confuse which event bus to use in your application. Here, a few example scenarios: + +* If you are building a microservice system, use the distributed event bus for **inter-microservice communication**. If you are publishing an event and always handling it in the same microservice, you can use the local event bus for that event. +* If you are building a modular monolith application, use the distributed event bus for **inter-module communication**. Since the distributed event bus works in-process by default (unless you configure a real distributed event bus provider). In that way, if you migrate to a microservice system later, these inter-module communication can become a inter-microservice communication without any code change (with just installing a distributed event bus provide package). If you are publishing an event and always handling it in the same module, you can use the local event bus for that event. +* If you are building a monolith (non-modular) application, you can always use the local event bus. + +The distributed event bus works in-process by default. Unless you don't configure a real distributed event bus provider, it works just like the local event bus. Once you configure a real distributed event bus provider, all your events become distributed. + +So, you use the local event bus only if you an event should always remain in-process in any scenario. For other type of events, use the distributed event bus. + +### Technical Differences + +There are some technical differences between the local and distributed event bus: + +* You can send entities or other non-serializable objects using the local event bus since these objects are not serialized/deserialized on event publishing. On the other hand, distributed event bus serializes/deserializes objects once you use a real distributed event bus provider. +* The local event bus is always transactional in the database level. For distributed event bus, you should enable inbox/outbox pattern to ensure data consistency once you use a real distributed event bus provider. + +These differences are because of the distributed event bus supports distributed scenarios while the local event bus is only used for in-process messaging. When you don't set up a real distributed event bus provider, these differences are not valid. \ No newline at end of file diff --git a/docs/en/get-started/layered-web-application.md b/docs/en/get-started/layered-web-application.md index 188e0cfd15..e8896b8666 100644 --- a/docs/en/get-started/layered-web-application.md +++ b/docs/en/get-started/layered-web-application.md @@ -3,7 +3,7 @@ ````json //[doc-params] { - "UI": ["MVC", "Blazor", "BlazorServer", "NG"], + "UI": ["MVC", "Blazor", "BlazorServer", "BlazorWebApp", "NG"], "DB": ["EF", "Mongo"], "Tiered": ["Yes", "No"] } @@ -162,7 +162,7 @@ You can start the following application(s): {{ else if UI == "Blazor" }} {{ if Tiered == "No" }}- `Acme.BookStore.HttpApi.Host`{{ end }} - `Acme.BookStore.Blazor` -{{ else if UI == "BlazorServer" }} +{{ else if UI == "BlazorServer" || UI == "BlazorWebApp" }} - `Acme.BookStore.Blazor` {{ else }} - `Acme.BookStore.Web` @@ -174,7 +174,7 @@ You can start the following application(s): > Notice that the services running in docker-compose are exposed to your localhost. If any service in your localhost is already using the same port(s), you will get an error. In that case, stop your local services first. {{ end }} -Once the `Acme.BookStore.{{ if UI == "NG" }}Angular{{ else if UI == "BlazorServer" || UI == "Blazor" }}Blazor{{ else }}Web{{ end }}` application started, you can right-click it and select the *Browse* command: +Once the `Acme.BookStore.{{ if UI == "NG" }}Angular{{ else if UI == "BlazorServer" || UI == "Blazor" || UI == "BlazorWebApp" }}Blazor{{ else }}Web{{ end }}` application started, you can right-click it and select the *Browse* command: ![abp-studio-quick-start-browse-command](images/abp-studio-quick-start-browse-command.png) @@ -206,7 +206,7 @@ Once the solution is opened in Visual Studio, you should see a screen like shown ![visual-studio-bookstore-application](images/visual-studio-bookstore-application.png) -Right-click the `Acme.BookStore.{{ if UI == "NG" || UI == "Blazor" }}HttpApi.Host{{ else if UI == "BlazorServer" }}Blazor{{ else }}Web{{ end }}` project and select the *Set as Startup Project* command. You can then hit *F5* or *Ctrl + F5* to run the web application. It will run and open the application UI in your default browser: +Right-click the `Acme.BookStore.{{ if UI == "NG" || UI == "Blazor" }}HttpApi.Host{{ else if UI == "BlazorServer" || UI == "BlazorWebApp" }}Blazor{{ else }}Web{{ end }}` project and select the *Set as Startup Project* command. You can then hit *F5* or *Ctrl + F5* to run the web application. It will run and open the application UI in your default browser: ![bookstore-browser-users-page](images/bookstore-browser-users-page.png) @@ -242,4 +242,4 @@ Before starting the mobile application, ensure that you configure it for [react- > For example in non-tiered MVC with public website application: -![solution-runner-public-website](images/solution-runner-public-website.png) \ No newline at end of file +![solution-runner-public-website](images/solution-runner-public-website.png) diff --git a/docs/en/release-info/release-notes.md b/docs/en/release-info/release-notes.md index e94086e14f..b86da2c079 100644 --- a/docs/en/release-info/release-notes.md +++ b/docs/en/release-info/release-notes.md @@ -4,11 +4,9 @@ This document contains **brief release notes** for each release. Release notes o > If you want to read the release notes for each ABP Studio release, check it out from [here](../studio/release-notes.md). -## 9.0 (2024-10-22) +## 9.0 (2024-11-19) -> This version is currently in preview. The final release date is planned for November, 2024. - -See the detailed **[blog post / announcement](https://abp.io/blog/announcing-abp-9-0-release-candidate)** for the v9.0 release. +See the detailed **[blog post / announcement](https://abp.io/blog/abp-9-0-stable-release-with-dotnet-9-0)** for the v9.0 release. * Upgraded to .NET 9.0 * Introducing the `Extension Property Policy` diff --git a/docs/en/release-info/upgrading.md b/docs/en/release-info/upgrading.md index 496b3b2961..28404c20b4 100644 --- a/docs/en/release-info/upgrading.md +++ b/docs/en/release-info/upgrading.md @@ -20,7 +20,7 @@ Run this command in the terminal while you are in the root folder of your soluti When you upgrade to a new version, it is good to check if there is a database schema change and upgrade your database schema if your database provider is **Entity Framework Core**; -* Use `Add-Migration "Upgraded_To_Abp_8_2"` or a similar command in the Package Manager Console (PMC) to create a new migration (Set the `EntityFrameworkCore` as the Default project in the PMC and `.DbMigrator` as the Startup Project in the Solution Explorer, in the Visual Studio). +* Use `Add-Migration "Upgraded_To_Abp_8_3"` or a similar command in the Package Manager Console (PMC) to create a new migration (Set the `EntityFrameworkCore` as the Default project in the PMC and `.DbMigrator` as the Startup Project in the Solution Explorer, in the Visual Studio). * Apply the database migrations to your database. If available, you can run the `.DbMigrator` application to upgrade the database and seed the initial data. > If `Add-Migration` generates an empty migration (that means no schema change), you can use `Remove-Migration` to delete it before executing the `.DbMigrator`. @@ -57,4 +57,4 @@ Preview releases and nightly builds can help you to try new features and adapt y ## See Also -* [Migration Guides](migration-guides) \ No newline at end of file +* [Migration Guides](migration-guides) diff --git a/docs/en/studio/release-notes.md b/docs/en/studio/release-notes.md index 3d13c3f6a9..31e5bbdfcf 100644 --- a/docs/en/studio/release-notes.md +++ b/docs/en/studio/release-notes.md @@ -2,6 +2,54 @@ This document contains **brief release notes** for each ABP Studio release. Release notes only include **major features** and **visible enhancements**. Therefore, they don't include all the development done in the related version. +## 0.9.13 (2024-11-25) + +* Angular - Theme-based Fixes for the Home Page. + +## 0.9.12 (2024-11-25) + +* Handled the `DynamicPermissionDefinitionsChangedEto` event to automatically add permissions for the admin role. +* Enhanced the Solution Configuration window with a more intuitive design and updated content. +* Improved MAUI application support by displaying all target frameworks in the Solution Runner and automatically setting the appropriate targetFramework based on the operating system. + +## 0.9.11 (2024-11-21) + +* Fixed the extension loading problem occured in v0.9.9 & v0.9.10. + +## 0.9.10 (2024-11-21) + +> Recommended to use v0.9.11+ for .NET 9. + +* Added shortcut for Build & Start operation (CTRL + Click) +* Fixed extension loading loop problem in v0.9.9 +* Fixed MAUI template for android + +## 0.9.9 (2024-11-21) + +> Recommended to use v0.9.11+ for .NET 9. + +* Upgraded templates to .NET 9 +* Fixed blazor wasm bundle problem in microservice template + +## 0.9.8 (2024-11-20) + +* Upgraded templates to version `8.3.4` + +## 0.9.7 (2024-11-19) + +* Added `AppearanceStyles` component to blazor server templates +* Fixed module import window +* Made several enhancements to the existing features + +## 0.9.6 (2024-11-15) + +* Added missing imports to templates +* Fixed bugs during EF Core package installation +* Show errors to the user when adding a database migration +* Changed empty solution description on create new solution wizard +* Fixed problems with templates created with Basic Theme +* Ensure the correct version is used when adding a new module/package to an existing solution + ## 0.9.5 (2024-11-06) * Added dynamic localization option to microservice template diff --git a/docs/en/studio/running-applications.md b/docs/en/studio/running-applications.md index a41f15207d..a4dc4f8388 100644 --- a/docs/en/studio/running-applications.md +++ b/docs/en/studio/running-applications.md @@ -187,6 +187,8 @@ We have several options in C# applications. Those options are `Start`(If the app > When *Watch* is enable you should see an *eye* icon next to the application name. +> Hint: Performing CTRL+Click on the start icon left to a stopped C# application equals to `Build & Start` command. Same applies for folders. + ![csharp-application-context-menu-run-connection](images/solution-runner/csharp-application-context-menu-run-connection.png) ### Build diff --git a/docs/en/studio/version-mapping.md b/docs/en/studio/version-mapping.md index 0741820956..64ba3c1fb2 100644 --- a/docs/en/studio/version-mapping.md +++ b/docs/en/studio/version-mapping.md @@ -4,7 +4,9 @@ This document provides a general overview of the relationship between various ve | **ABP Studio Version** | **ABP Version of Startup Template** | |------------------------|---------------------------| -| 0.9.5 | 8.3.3 | +| 0.9.9 to 0.9.13 | 9.0.0 | +| 0.9.8 | 8.3.4 | +| 0.9.5 to 0.9.7 | 8.3.3 | | 0.9.2 to 0.9.4 | 8.3.2 | | 0.8.4 - 0.9.1 | 8.3.1 | | 0.8.1 to 0.8.3 | 8.3.0 | @@ -19,4 +21,4 @@ This document provides a general overview of the relationship between various ve By default, ABP Studio uses stable versions to create solutions. Therefore, if you want to create a solution with a preview version, first you need to create a solution and then switch your solution to the preview version from the ABP Studio UI: -![](images/abp-studio-switch-to-preview.png) \ No newline at end of file +![](images/abp-studio-switch-to-preview.png) diff --git a/docs/en/tutorials/book-store/part-01.md b/docs/en/tutorials/book-store/part-01.md index 8f1d5df346..a808c36034 100644 --- a/docs/en/tutorials/book-store/part-01.md +++ b/docs/en/tutorials/book-store/part-01.md @@ -2,7 +2,7 @@ ````json //[doc-params] { - "UI": ["MVC","Blazor","BlazorServer","NG"], + "UI": ["MVC","Blazor","BlazorServer", "BlazorWebApp","NG"], "DB": ["EF","Mongo"] } ```` @@ -36,7 +36,7 @@ abp install-libs > We suggest you install [Yarn](https://classic.yarnpkg.com/) to prevent possible package inconsistencies, if you haven't installed it yet. -{{if UI=="Blazor" || UI=="BlazorServer"}} +{{if UI=="Blazor" || UI=="BlazorWebApp"}} ### Bundling and Minification @@ -440,7 +440,7 @@ ABP can [**automagically**](../../framework/api-development/auto-controllers.md) ### Swagger UI -The startup template is configured to run the [Swagger UI](https://swagger.io/tools/swagger-ui/) using the [Swashbuckle.AspNetCore](https://github.com/domaindrivendev/Swashbuckle.AspNetCore) library. Run the application ({{if UI=="MVC"}}`Acme.BookStore.Web`{{else if UI=="BlazorServer"}}`Acme.BookStore.Blazor`{{else}}`Acme.BookStore.HttpApi.Host`{{end}}) by pressing `CTRL+F5` and navigate to `https://localhost:/swagger/` on your browser. Replace `` with your own port number. +The startup template is configured to run the [Swagger UI](https://swagger.io/tools/swagger-ui/) using the [Swashbuckle.AspNetCore](https://github.com/domaindrivendev/Swashbuckle.AspNetCore) library. Run the application ({{if UI=="MVC"}}`Acme.BookStore.Web`{{else if UI=="BlazorServer" || UI=="BlazorWebApp"}}`Acme.BookStore.Blazor`{{else}}`Acme.BookStore.HttpApi.Host`{{end}}) by pressing `CTRL+F5` and navigate to `https://localhost:/swagger/` on your browser. Replace `` with your own port number. You will see some built-in service endpoints as well as the `Book` service and its REST-style endpoints: @@ -480,4 +480,4 @@ If you try to execute the `[GET] /api/app/book` API to get a list of books, the } ```` -That's pretty cool since we haven't written a single line of code to create the API controller, but now we have a fully working REST API! \ No newline at end of file +That's pretty cool since we haven't written a single line of code to create the API controller, but now we have a fully working REST API! diff --git a/docs/en/tutorials/book-store/part-02.md b/docs/en/tutorials/book-store/part-02.md index df5a5ac598..bb812e7d81 100644 --- a/docs/en/tutorials/book-store/part-02.md +++ b/docs/en/tutorials/book-store/part-02.md @@ -2,7 +2,7 @@ ````json //[doc-params] { - "UI": ["MVC","Blazor","BlazorServer","NG"], + "UI": ["MVC","Blazor","BlazorServer", "BlazorWebApp", "NG"], "DB": ["EF","Mongo"] } ```` @@ -514,13 +514,13 @@ Now you can see the final result on your browser: ![Book list final result](images/bookstore-book-list-angular.png) -{{else if UI == "Blazor" || UI == "BlazorServer"}} +{{else if UI == "Blazor" || UI == "BlazorServer" || UI == "BlazorWebApp"}} ## Create a Books Page -It's time to create something visible and usable! Right click on the `Pages` folder under the {{ if UI == "Blazor"}}`Acme.BookStore.Blazor.Client`{{ else }}`Acme.BookStore.Blazor`{{ end }} project and add a new **razor component**, named `Books.razor`: +It's time to create something visible and usable! Right click on the `Pages` folder under the {{ if UI == "BlazorServer" }}`Acme.BookStore.Blazor`{{ else }}`Acme.BookStore.Blazor.Client`{{ end }} project and add a new **razor component**, named `Books.razor`: -{{ if UI == "Blazor"}} +{{ if UI == "Blazor" || UI == "BlazorWebApp" }} ![blazor-add-books-component](images/blazor-add-books-component-client.png) {{ else }} ![blazor-add-books-component](images/blazor-add-books-component.png) @@ -540,7 +540,7 @@ Replace the contents of this component as shown below: ### Add the Books Page to the Main Menu -Open the `BookStoreMenuContributor` class in the {{ if UI == "Blazor"}}`Acme.BookStore.Blazor.Client`{{ else }}`Acme.BookStore.Blazor`{{ end }} project add the following code to the end of the `ConfigureMainMenuAsync` method: +Open the `BookStoreMenuContributor` class in the {{ if UI == "BlazorServer"}}`Acme.BookStore.Blazor`{{ else }}`Acme.BookStore.Blazor.Client`{{ end }} project add the following code to the end of the `ConfigureMainMenuAsync` method: ````csharp context.Menu.AddItem( diff --git a/docs/en/tutorials/book-store/part-03.md b/docs/en/tutorials/book-store/part-03.md index a770d62f29..65f6d482dd 100644 --- a/docs/en/tutorials/book-store/part-03.md +++ b/docs/en/tutorials/book-store/part-03.md @@ -2,7 +2,7 @@ ````json //[doc-params] { - "UI": ["MVC","Blazor","BlazorServer","NG"], + "UI": ["MVC","Blazor","BlazorServer","BlazorWebApp","NG"], "DB": ["EF","Mongo"] } ```` @@ -1101,7 +1101,7 @@ Clicking the "Delete" action calls the `delete` method which then shows a confir {{end}} -{{if UI == "Blazor" || UI == "BlazorServer"}} +{{if UI == "Blazor" || UI == "BlazorServer" || UI == "BlazorWebApp"}} ## Creating a New Book @@ -1292,13 +1292,13 @@ We can now define a modal to edit the book. Add the following code to the end of The base `AbpCrudPageBase` uses the [object to object mapping](../../framework/infrastructure/object-to-object-mapping.md) system to convert an incoming `BookDto` object to a `CreateUpdateBookDto` object. So, we need to define the mapping. -Open the `BookStoreBlazorAutoMapperProfile` inside the `Acme.BookStore.Blazor.Client` project and change the content as the following: +Open the `BookStoreBlazorAutoMapperProfile` inside the {{ if UI == "BlazorServer" }}`Acme.BookStore.Blazor`{{ else }}`Acme.BookStore.Blazor.Client`{{ end }} project and change the content as the following: ````csharp using Acme.BookStore.Books; using AutoMapper; -namespace Acme.BookStore.Blazor.Client; +{{ if UI == "BlazorServer" }}namespace Acme.BookStore.Blazor;{{ else }}namespace Acme.BookStore.Blazor.Client;{{ end }} public class BookStoreBlazorAutoMapperProfile : Profile { diff --git a/docs/en/tutorials/book-store/part-04.md b/docs/en/tutorials/book-store/part-04.md index b529748efb..4ab950b0e1 100644 --- a/docs/en/tutorials/book-store/part-04.md +++ b/docs/en/tutorials/book-store/part-04.md @@ -2,7 +2,7 @@ ````json //[doc-params] { - "UI": ["MVC","Blazor","BlazorServer","NG"], + "UI": ["MVC","Blazor","BlazorServer","BlazorWebApp","NG"], "DB": ["EF","Mongo"] } ```` diff --git a/docs/en/tutorials/book-store/part-05.md b/docs/en/tutorials/book-store/part-05.md index 947eec65f0..95ee1f53a6 100644 --- a/docs/en/tutorials/book-store/part-05.md +++ b/docs/en/tutorials/book-store/part-05.md @@ -2,7 +2,7 @@ ````json //[doc-params] { - "UI": ["MVC","Blazor","BlazorServer","NG"], + "UI": ["MVC","Blazor","BlazorServer","BlazorWebApp","NG"], "DB": ["EF","Mongo"] } ```` @@ -389,11 +389,11 @@ Open the `/src/app/book/book.component.html` file and replace the edit and delet * Added `*abpPermission="'BookStore.Books.Edit'"` that hides the edit action if the current user has no editing permission. * Added `*abpPermission="'BookStore.Books.Delete'"` that hides the delete action if the current user has no delete permission. -{{else if UI == "Blazor"}} +{{else if UI == "Blazor" || UI == "BlazorServer" || UI == "BlazorWebApp"}} ### Authorize the Razor Component -Open the `/Pages/Books.razor` file in the `Acme.BookStore.Blazor.Client` project and add an `Authorize` attribute just after the `@page` directive and the following namespace imports (`@using` lines), as shown below: +Open the `/Pages/Books.razor` file in the {{ if UI == "BlazorServer" }}`Acme.BookStore.Blazor`{{ else }}`Acme.BookStore.Blazor.Client`{{ end }} project and add an `Authorize` attribute just after the `@page` directive and the following namespace imports (`@using` lines), as shown below: ````html @page "/books" @@ -479,7 +479,7 @@ You can run and test the permissions. Remove a book related permission from the Even we have secured all the layers of the book management page, it is still visible on the main menu of the application. We should hide the menu item if the current user has no permission. -Open the `BookStoreMenuContributor` class in the `Acme.BookStore.Blazor.Client` project, find the code block below: +Open the `BookStoreMenuContributor` class in the {{ if UI == "BlazorServer" }}`Acme.BookStore.Blazor`{{ else }}`Acme.BookStore.Blazor.Client`{{ end }} project, find the code block below: ````csharp context.Menu.AddItem( diff --git a/docs/en/tutorials/book-store/part-06.md b/docs/en/tutorials/book-store/part-06.md index a19248ec64..58a83cfc16 100644 --- a/docs/en/tutorials/book-store/part-06.md +++ b/docs/en/tutorials/book-store/part-06.md @@ -2,7 +2,7 @@ ````json //[doc-params] { - "UI": ["MVC","Blazor","BlazorServer","NG"], + "UI": ["MVC","Blazor","BlazorServer", "BlazorWebApp", "NG"], "DB": ["EF","Mongo"] } ```` diff --git a/docs/en/tutorials/book-store/part-07.md b/docs/en/tutorials/book-store/part-07.md index 70d73da97b..b8aa17ace8 100644 --- a/docs/en/tutorials/book-store/part-07.md +++ b/docs/en/tutorials/book-store/part-07.md @@ -2,7 +2,7 @@ ````json //[doc-params] { - "UI": ["MVC","Blazor","BlazorServer","NG"], + "UI": ["MVC","Blazor","BlazorServer","BlazorWebApp","NG"], "DB": ["EF","Mongo"] } ```` diff --git a/docs/en/tutorials/book-store/part-08.md b/docs/en/tutorials/book-store/part-08.md index 61412ba770..679b6d84ca 100644 --- a/docs/en/tutorials/book-store/part-08.md +++ b/docs/en/tutorials/book-store/part-08.md @@ -2,7 +2,7 @@ ````json //[doc-params] { - "UI": ["MVC","Blazor","BlazorServer","NG"], + "UI": ["MVC","Blazor","BlazorServer","BlazorWebApp","NG"], "DB": ["EF","Mongo"] } ```` diff --git a/docs/en/tutorials/book-store/part-09.md b/docs/en/tutorials/book-store/part-09.md index d1c446bc3f..3c1b0cb7d5 100644 --- a/docs/en/tutorials/book-store/part-09.md +++ b/docs/en/tutorials/book-store/part-09.md @@ -2,7 +2,7 @@ ````json //[doc-params] { - "UI": ["MVC","Blazor","BlazorServer","NG"], + "UI": ["MVC","Blazor","BlazorServer","BlazorWebApp","NG"], "DB": ["EF","Mongo"] } ```` @@ -848,13 +848,13 @@ That's all! This is a fully working CRUD page, you can create, edit and delete a {{end}} -{{if UI == "Blazor" || UI == "BlazorServer"}} +{{if UI == "Blazor" || UI == "BlazorServer" || UI == "BlazorWebApp"}} ## The Author Management Page ### Authors Razor Component -Create a new Razor Component Page, `/Pages/Authors.razor`, in the `Acme.BookStore.Blazor.Client` project with the following content: +Create a new Razor Component Page, `/Pages/Authors.razor`, in the {{ if UI == "BlazorServer" }}`Acme.BookStore.Blazor`{{ else }}`Acme.BookStore.Blazor.Client`{{ end }} project with the following content: ````xml @page "/authors" @@ -1055,7 +1055,7 @@ using Blazorise.DataGrid; using Microsoft.AspNetCore.Authorization; using Volo.Abp.Application.Dtos; -namespace Acme.BookStore.Blazor.Client.Pages; +{{ if UI == "BlazorServer" }}namespace Acme.BookStore.Blazor.Pages;{{ else }}namespace Acme.BookStore.Blazor.Client.Pages;{{ end }} public partial class Authors { @@ -1201,7 +1201,7 @@ This class typically defines the properties and methods used by the `Authors.raz `Authors` class uses the `IObjectMapper` in the `OpenEditAuthorModal` method. So, we need to define this mapping. -Open the `BookStoreBlazorAutoMapperProfile.cs` in the `Acme.BookStore.Blazor.Client` project and add the following mapping code in the constructor: +Open the `BookStoreBlazorAutoMapperProfile.cs` in the {{ if UI == "BlazorServer" }}`Acme.BookStore.Blazor`{{ else }}`Acme.BookStore.Blazor.Client`{{ end }} project and add the following mapping code in the constructor: ````csharp CreateMap(); @@ -1211,7 +1211,7 @@ You will need to declare a `using Acme.BookStore.Authors;` statement to the begi ### Add to the Main Menu -Open the `BookStoreMenuContributor.cs` in the `Acme.BookStore.Blazor.Client` project and add the following code to the end of the `ConfigureMainMenuAsync` method: +Open the `BookStoreMenuContributor.cs` in the {{ if UI == "BlazorServer" }}`Acme.BookStore.Blazor`{{ else }}`Acme.BookStore.Blazor.Client`{{ end }} project and add the following code to the end of the `ConfigureMainMenuAsync` method: ````csharp if (await context.IsGrantedAsync(BookStorePermissions.Authors.Default)) diff --git a/docs/en/tutorials/book-store/part-10.md b/docs/en/tutorials/book-store/part-10.md index 5a6acb752b..928881ffec 100644 --- a/docs/en/tutorials/book-store/part-10.md +++ b/docs/en/tutorials/book-store/part-10.md @@ -2,7 +2,7 @@ ````json //[doc-params] { - "UI": ["MVC","Blazor","BlazorServer","NG"], + "UI": ["MVC","Blazor","BlazorServer","BlazorWebApp","NG"], "DB": ["EF","Mongo"] } ```` @@ -1071,11 +1071,11 @@ That's all. Just run the application and try to create or edit an author. {{end}} -{{if UI == "Blazor" || UI == "BlazorServer"}} +{{if UI == "Blazor" || UI == "BlazorServer" || UI == "BlazorWebApp" }} ### The Book List -It is very easy to show the *Author Name* in the book list. Open the `/Pages/Books.razor` file in the `Acme.BookStore.Blazor.Client` project and add the following `DataGridColumn` definition just after the `Name` (book name) column: +It is very easy to show the *Author Name* in the book list. Open the `/Pages/Books.razor` file in the {{ if UI == "BlazorServer" }}`Acme.BookStore.Blazor`{{ else }}`Acme.BookStore.Blazor.Client`{{ end }} project and add the following `DataGridColumn` definition just after the `Name` (book name) column: ````xml We suggest you install [Yarn](https://classic.yarnpkg.com/) to prevent possible package inconsistencies, if you haven't installed it yet. -{{if UI=="Blazor" || UI=="BlazorServer"}} +{{if UI=="Blazor" || UI=="BlazorWebApp"}} #### Bundling and Minification `abp bundle` command offers bundling and minification support for client-side resources (JavaScript and CSS files) for Blazor projects. This command automatically run when you create a new solution with the [ABP CLI](../../../cli/index.md). -However, sometimes you might need to run this command manually. To update script & style references without worrying about dependencies, ordering, etc. in a project, you can run this command in the directory of your blazor application: +However, sometimes you might need to run this command manually. To update script & style references without worrying about dependencies, ordering, etc. in a project, you can run this command in the directory of your `Blazor.Client` application: + ````bash abp bundle @@ -131,7 +132,7 @@ abp bundle ### Run the Application -{{if UI=="MVC" || UI=="BlazorServer"}} +{{if UI=="MVC" || UI=="BlazorServer" || UI=="BlazorWebApp"}} It is good to run the application before starting the development. Ensure the {{if UI=="BlazorServer"}}`TodoApp.Blazor`{{else}}`TodoApp.Web`{{end}} project is the startup project, then run the application (Ctrl+F5 in Visual Studio) to see the initial UI: @@ -148,10 +149,6 @@ Ensure the `TodoApp.HttpApi.Host` project is the startup project, then run the a You can explore and test your HTTP API with this UI. Now, we can set the `TodoApp.Blazor` as the startup project and run it to open the actual Blazor application UI: -{{else if UI=="BlazorWebApp" }} - -It is good to run the application before starting the development. Ensure the `TodoApp.Blazor` project is the startup project, then run the application (Ctrl+F5 in Visual Studio) to see the initial UI: - {{else if UI=="NG"}} It is good to run the application before starting the development. The solution has two main applications: @@ -589,7 +586,7 @@ If you open the [Swagger UI](https://swagger.io/tools/swagger-ui/) by entering t ### Index.razor.cs -Open the `Index.razor.cs` file in the `Pages` folder of the {{if UI=="BlazorWebApp"}} *TodoApp.Blazor.Client* {{else}}*TodoApp.Blazor*{{end}} project and replace the content with the following code block: +Open the `Index.razor.cs` file in the `Pages` folder of the {{if UI=="Blazor" || UI=="BlazorWebApp"}} *TodoApp.Blazor.Client* {{else}}*TodoApp.Blazor*{{end}} project and replace the content with the following code block: ```csharp using Microsoft.AspNetCore.Components; @@ -638,7 +635,7 @@ See the *Dynamic C# Proxies & Auto API Controllers* section below to learn how w ### Index.razor -Open the `Index.razor` file in the `Pages` folder of the {{if UI=="BlazorWebApp"}} *TodoApp.Blazor.Client* {{else}} *TodoApp.Blazor* {{end}} project and replace the content with the following code block: +Open the `Index.razor` file in the `Pages` folder of the {{if UI=="Blazor" || UI=="BlazorWebApp"}} *TodoApp.Blazor.Client* {{else}} *TodoApp.Blazor* {{end}} project and replace the content with the following code block: ```xml @page "/" @@ -680,7 +677,7 @@ Open the `Index.razor` file in the `Pages` folder of the {{if UI=="BlazorWebApp" ### Index.razor.css -As the final touch, open the `Index.razor.css` file in the `Pages` folder of the {{if UI=="BlazorWebApp"}}*TodoApp.Blazor.Client*{{else}}*TodoApp.Blazor*{{end}} project and replace it with the following content: +As the final touch, open the `Index.razor.css` file in the `Pages` folder of the {{if UI=="Blazor" || UI=="BlazorWebApp"}}*TodoApp.Blazor.Client*{{else}}*TodoApp.Blazor*{{end}} project and replace it with the following content: ```css #TodoList{ diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/Conventions/ConventionalRouteBuilder.cs b/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/Conventions/ConventionalRouteBuilder.cs index 62dfc66f93..48919e56da 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/Conventions/ConventionalRouteBuilder.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/Conventions/ConventionalRouteBuilder.cs @@ -2,6 +2,7 @@ using System.ComponentModel; using System.Linq; using System.Reflection; +using System.Runtime.InteropServices; using Microsoft.AspNetCore.Mvc.ApplicationModels; using Microsoft.Extensions.Options; using Volo.Abp.DependencyInjection; @@ -63,7 +64,7 @@ public class ConventionalRouteBuilder : IConventionalRouteBuilder, ITransientDep //Add secondary Id var secondaryIds = action.Parameters .Where(p => p.ParameterName.EndsWith("Id", StringComparison.Ordinal)).ToList(); - if (secondaryIds.Count == 1) + if (secondaryIds.Count == 1 && !secondaryIds[0].Attributes.Any(x => x is OptionalAttribute)) { url += $"/{{{NormalizeSecondaryIdNameCase(secondaryIds[0], configuration)}}}"; } diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/Libs/AbpMvcLibsService.cs b/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/Libs/AbpMvcLibsService.cs index e806996ebb..410260674b 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/Libs/AbpMvcLibsService.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/Libs/AbpMvcLibsService.cs @@ -34,7 +34,7 @@ public class AbpMvcLibsService : IAbpMvcLibsService, ITransientDependency app.Use(async (httpContext, next) => { - if (!await CheckLibsAsyncOnceAsync(httpContext)) + if (!httpContext.Request.IsAjax() && !await CheckLibsAsyncOnceAsync(httpContext)) { var errorPage = new AbpMvcLibsErrorPage(); await errorPage.ExecuteAsync(httpContext); diff --git a/framework/src/Volo.Abp.AspNetCore/Volo/Abp/AspNetCore/Security/Claims/AbpDynamicClaimsMiddleware.cs b/framework/src/Volo.Abp.AspNetCore/Volo/Abp/AspNetCore/Security/Claims/AbpDynamicClaimsMiddleware.cs index b2bbb78e7b..36012a123b 100644 --- a/framework/src/Volo.Abp.AspNetCore/Volo/Abp/AspNetCore/Security/Claims/AbpDynamicClaimsMiddleware.cs +++ b/framework/src/Volo.Abp.AspNetCore/Volo/Abp/AspNetCore/Security/Claims/AbpDynamicClaimsMiddleware.cs @@ -2,7 +2,6 @@ using System; using System.Threading.Tasks; using Microsoft.AspNetCore.Authentication; using Microsoft.AspNetCore.Http; -using Microsoft.AspNetCore.Http.Features.Authentication; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Options; using Volo.Abp.AspNetCore.Middleware; @@ -27,12 +26,10 @@ public class AbpDynamicClaimsMiddleware : AbpMiddlewareBase, ITransientDependenc var abpClaimsPrincipalFactory = context.RequestServices.GetRequiredService(); var user = await abpClaimsPrincipalFactory.CreateDynamicAsync(context.User); - authenticateResultFeature.AuthenticateResult = AuthenticateResult.Success(new AuthenticationTicket(user, authenticationType)); - var httpAuthenticationFeature = context.Features.Get(); - if (httpAuthenticationFeature != null) - { - httpAuthenticationFeature.User = authenticateResultFeature.AuthenticateResult.Principal; - } + authenticateResultFeature.AuthenticateResult = AuthenticateResult.Success(new AuthenticationTicket( + user, + authenticateResultFeature?.AuthenticateResult?.Properties, + authenticationType)); } if (context.User.Identity?.IsAuthenticated == false) diff --git a/framework/src/Volo.Abp.Caching.StackExchangeRedis/Volo/Abp/Caching/StackExchangeRedis/AbpRedisCache.cs b/framework/src/Volo.Abp.Caching.StackExchangeRedis/Volo/Abp/Caching/StackExchangeRedis/AbpRedisCache.cs index 900f252a77..7ad3dbd7bf 100644 --- a/framework/src/Volo.Abp.Caching.StackExchangeRedis/Volo/Abp/Caching/StackExchangeRedis/AbpRedisCache.cs +++ b/framework/src/Volo.Abp.Caching.StackExchangeRedis/Volo/Abp/Caching/StackExchangeRedis/AbpRedisCache.cs @@ -93,21 +93,21 @@ public class AbpRedisCache : RedisCache, ICacheSupportsMultipleItems RecycleMethodInfo.Invoke(this, new object[] { lease! }); } - public byte[]?[] GetMany(IEnumerable keys) + public virtual byte[]?[] GetMany(IEnumerable keys) { keys = Check.NotNull(keys, nameof(keys)); return GetAndRefreshMany(keys, true); } - public async Task GetManyAsync(IEnumerable keys, CancellationToken token = default) + public virtual async Task GetManyAsync(IEnumerable keys, CancellationToken token = default) { keys = Check.NotNull(keys, nameof(keys)); return await GetAndRefreshManyAsync(keys, true, token); } - public void SetMany(IEnumerable> items, DistributedCacheEntryOptions options) + public virtual void SetMany(IEnumerable> items, DistributedCacheEntryOptions options) { var cache = Connect(); @@ -126,7 +126,7 @@ public class AbpRedisCache : RedisCache, ICacheSupportsMultipleItems } } - public async Task SetManyAsync( IEnumerable> items, DistributedCacheEntryOptions options, CancellationToken token = default) + public virtual async Task SetManyAsync(IEnumerable> items, DistributedCacheEntryOptions options, CancellationToken token = default) { token.ThrowIfCancellationRequested(); @@ -147,21 +147,21 @@ public class AbpRedisCache : RedisCache, ICacheSupportsMultipleItems } } - public void RefreshMany(IEnumerable keys) + public virtual void RefreshMany(IEnumerable keys) { keys = Check.NotNull(keys, nameof(keys)); GetAndRefreshMany(keys, false); } - public async Task RefreshManyAsync(IEnumerable keys, CancellationToken token = default) + public virtual async Task RefreshManyAsync(IEnumerable keys, CancellationToken token = default) { keys = Check.NotNull(keys, nameof(keys)); await GetAndRefreshManyAsync(keys, false, token); } - public void RemoveMany(IEnumerable keys) + public virtual void RemoveMany(IEnumerable keys) { keys = Check.NotNull(keys, nameof(keys)); @@ -169,7 +169,7 @@ public class AbpRedisCache : RedisCache, ICacheSupportsMultipleItems try { - cache.KeyDelete(keys.Select(key => InstancePrefix.Append(key)).ToArray()); + Task.WaitAll(PipelineRemoveManyAsync(cache, keys)); } catch (Exception ex) { @@ -178,7 +178,7 @@ public class AbpRedisCache : RedisCache, ICacheSupportsMultipleItems } } - public async Task RemoveManyAsync(IEnumerable keys, CancellationToken token = default) + public virtual async Task RemoveManyAsync(IEnumerable keys, CancellationToken token = default) { keys = Check.NotNull(keys, nameof(keys)); @@ -187,7 +187,7 @@ public class AbpRedisCache : RedisCache, ICacheSupportsMultipleItems try { - await cache.KeyDeleteAsync(keys.Select(key => InstancePrefix.Append(key)).ToArray()); + await Task.WhenAll(PipelineRemoveManyAsync(cache, keys)); } catch (Exception ex) { @@ -195,6 +195,11 @@ public class AbpRedisCache : RedisCache, ICacheSupportsMultipleItems throw; } } + + protected virtual Task[] PipelineRemoveManyAsync(IDatabase cache, IEnumerable keys) + { + return keys.Select(key => cache.KeyDeleteAsync(InstancePrefix.Append(key))).ToArray(); + } protected virtual byte[]?[] GetAndRefreshMany(IEnumerable keys, bool getData) { diff --git a/framework/src/Volo.Abp.EntityFrameworkCore.Oracle.Devart/Volo.Abp.EntityFrameworkCore.Oracle.Devart.csproj b/framework/src/Volo.Abp.EntityFrameworkCore.Oracle.Devart/Volo.Abp.EntityFrameworkCore.Oracle.Devart.csproj index bfe9bea75a..db32e24bef 100644 --- a/framework/src/Volo.Abp.EntityFrameworkCore.Oracle.Devart/Volo.Abp.EntityFrameworkCore.Oracle.Devart.csproj +++ b/framework/src/Volo.Abp.EntityFrameworkCore.Oracle.Devart/Volo.Abp.EntityFrameworkCore.Oracle.Devart.csproj @@ -22,6 +22,7 @@ + diff --git a/framework/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/EntityFrameworkCore/AbpDbContext.cs b/framework/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/EntityFrameworkCore/AbpDbContext.cs index abcdb97a5a..e9bf710d7d 100644 --- a/framework/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/EntityFrameworkCore/AbpDbContext.cs +++ b/framework/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/EntityFrameworkCore/AbpDbContext.cs @@ -630,13 +630,7 @@ public abstract class AbpDbContext : DbContext, IAbpEfCoreDbContext, originalExtraProperties = entry.OriginalValues.GetValue(nameof(IHasExtraProperties.ExtraProperties)); } - //TODO: Reload will throw an exception. Check it when new EF Core versions released. - //entry.Reload(); - - var storeValues = entry.OriginalValues; - entry.CurrentValues.SetValues(storeValues); - entry.OriginalValues.SetValues(storeValues); - entry.State = EntityState.Unchanged; + entry.Reload(); if (entry.Entity is IHasExtraProperties) { @@ -785,21 +779,18 @@ public abstract class AbpDbContext : DbContext, IAbpEfCoreDbContext, return; } - AbpDateTimeValueConverter.Clock = Clock; - AbpNullableDateTimeValueConverter.Clock = Clock; - foreach (var property in mutableEntityType.GetProperties(). Where(property => property.PropertyInfo != null && (property.PropertyInfo.PropertyType == typeof(DateTime) || property.PropertyInfo.PropertyType == typeof(DateTime?)) && property.PropertyInfo.CanWrite && ReflectionHelper.GetSingleAttributeOfMemberOrDeclaringTypeOrDefault(property.PropertyInfo) == null)) { - modelBuilder + modelBuilder .Entity() .Property(property.Name) .HasConversion(property.ClrType == typeof(DateTime) - ? new AbpDateTimeValueConverter() - : new AbpNullableDateTimeValueConverter()); + ? new AbpDateTimeValueConverter(Clock) + : new AbpNullableDateTimeValueConverter(Clock)); } } } diff --git a/framework/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/EntityFrameworkCore/ValueConverters/AbpDateTimeValueConverter.cs b/framework/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/EntityFrameworkCore/ValueConverters/AbpDateTimeValueConverter.cs index 174967cd05..31eab98c7c 100644 --- a/framework/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/EntityFrameworkCore/ValueConverters/AbpDateTimeValueConverter.cs +++ b/framework/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/EntityFrameworkCore/ValueConverters/AbpDateTimeValueConverter.cs @@ -6,26 +6,20 @@ namespace Volo.Abp.EntityFrameworkCore.ValueConverters; public class AbpDateTimeValueConverter : ValueConverter { - public static IClock? Clock { get; set; } - - public AbpDateTimeValueConverter(ConverterMappingHints? mappingHints = null) + public AbpDateTimeValueConverter(IClock clock, ConverterMappingHints? mappingHints = null) : base( - x => Clock!.Normalize(x), - x => Clock!.Normalize(x), - mappingHints) + x => clock.Normalize(x), + x => clock.Normalize(x), mappingHints) { } } public class AbpNullableDateTimeValueConverter : ValueConverter { - public static IClock? Clock { get; set; } - - public AbpNullableDateTimeValueConverter(ConverterMappingHints? mappingHints = null) + public AbpNullableDateTimeValueConverter(IClock clock, ConverterMappingHints? mappingHints = null) : base( - x => x.HasValue ? Clock!.Normalize(x.Value) : x, - x => x.HasValue ? Clock!.Normalize(x.Value) : x, - mappingHints) + x => x.HasValue ? clock.Normalize(x.Value) : x, + x => x.HasValue ? clock.Normalize(x.Value) : x, mappingHints) { } } diff --git a/framework/src/Volo.Abp.EventBus.Rebus/Volo.Abp.EventBus.Rebus.csproj b/framework/src/Volo.Abp.EventBus.Rebus/Volo.Abp.EventBus.Rebus.csproj index 3b6660447f..11bff169be 100644 --- a/framework/src/Volo.Abp.EventBus.Rebus/Volo.Abp.EventBus.Rebus.csproj +++ b/framework/src/Volo.Abp.EventBus.Rebus/Volo.Abp.EventBus.Rebus.csproj @@ -21,8 +21,11 @@ - - + + + + + + - diff --git a/framework/src/Volo.Abp.EventBus.Rebus/Volo/Abp/EventBus/Rebus/AbpRebusEventBusOptions.cs b/framework/src/Volo.Abp.EventBus.Rebus/Volo/Abp/EventBus/Rebus/AbpRebusEventBusOptions.cs index d128621396..4b93082722 100644 --- a/framework/src/Volo.Abp.EventBus.Rebus/Volo/Abp/EventBus/Rebus/AbpRebusEventBusOptions.cs +++ b/framework/src/Volo.Abp.EventBus.Rebus/Volo/Abp/EventBus/Rebus/AbpRebusEventBusOptions.cs @@ -29,7 +29,6 @@ public class AbpRebusEventBusOptions private void DefaultConfigure(RebusConfigurer configure) { - configure.Subscriptions(s => s.StoreInMemory()); configure.Transport(t => t.UseInMemoryTransport(new InMemNetwork(), InputQueueName)); } } diff --git a/framework/src/Volo.Abp.Swashbuckle/Volo/Abp/Swashbuckle/SwaggerHtmlResolver.cs b/framework/src/Volo.Abp.Swashbuckle/Volo/Abp/Swashbuckle/SwaggerHtmlResolver.cs index 628a361826..f9b39faf1d 100644 --- a/framework/src/Volo.Abp.Swashbuckle/Volo/Abp/Swashbuckle/SwaggerHtmlResolver.cs +++ b/framework/src/Volo.Abp.Swashbuckle/Volo/Abp/Swashbuckle/SwaggerHtmlResolver.cs @@ -15,7 +15,7 @@ public class SwaggerHtmlResolver : ISwaggerHtmlResolver, ITransientDependency var html = new StreamReader(stream!) .ReadToEnd() - .Replace("SwaggerUIBundle(configObject)", "abp.SwaggerUIBundle(configObject)"); + .Replace("src=\"index.js\"", "src=\"ui/index.js\""); return new MemoryStream(Encoding.UTF8.GetBytes(html)); } diff --git a/framework/src/Volo.Abp.Swashbuckle/wwwroot/swagger/ui/index.js b/framework/src/Volo.Abp.Swashbuckle/wwwroot/swagger/ui/index.js new file mode 100644 index 0000000000..d7b6ebdb53 --- /dev/null +++ b/framework/src/Volo.Abp.Swashbuckle/wwwroot/swagger/ui/index.js @@ -0,0 +1,75 @@ +//Copy from https://github.com/domaindrivendev/Swashbuckle.AspNetCore/blob/master/src/Swashbuckle.AspNetCore.SwaggerUI/index.js + +/* Source: https://gist.github.com/lamberta/3768814 + * Parse a string function definition and return a function object. Does not use eval. + * @param {string} str + * @return {function} + * + * Example: + * var f = function (x, y) { return x * y; }; + * var g = parseFunction(f.toString()); + * g(33, 3); //=> 99 + */ +function parseFunction(str) { + if (!str) return void (0); + + var fn_body_idx = str.indexOf('{'), + fn_body = str.substring(fn_body_idx + 1, str.lastIndexOf('}')), + fn_declare = str.substring(0, fn_body_idx), + fn_params = fn_declare.substring(fn_declare.indexOf('(') + 1, fn_declare.lastIndexOf(')')), + args = fn_params.split(','); + + args.push(fn_body); + + function Fn() { + return Function.apply(this, args); + } + Fn.prototype = Function.prototype; + + return new Fn(); +} + +window.onload = function () { + var configObject = JSON.parse('%(ConfigObject)'); + var oauthConfigObject = JSON.parse('%(OAuthConfigObject)'); + + // Workaround for https://github.com/swagger-api/swagger-ui/issues/5945 + configObject.urls.forEach(function (item) { + if (item.url.startsWith("http") || item.url.startsWith("/")) return; + item.url = window.location.href.replace("index.html", item.url).split('#')[0]; + }); + + // If validatorUrl is not explicitly provided, disable the feature by setting to null + if (!configObject.hasOwnProperty("validatorUrl")) + configObject.validatorUrl = null + + // If oauth2RedirectUrl isn't specified, use the built-in default + if (!configObject.hasOwnProperty("oauth2RedirectUrl")) + configObject.oauth2RedirectUrl = (new URL("oauth2-redirect.html", window.location.href)).href; + + // Apply mandatory parameters + configObject.dom_id = "#swagger-ui"; + configObject.presets = [SwaggerUIBundle.presets.apis, SwaggerUIStandalonePreset]; + configObject.layout = "StandaloneLayout"; + + // Parse and add interceptor functions + var interceptors = JSON.parse('%(Interceptors)'); + if (interceptors.RequestInterceptorFunction) + configObject.requestInterceptor = parseFunction(interceptors.RequestInterceptorFunction); + if (interceptors.ResponseInterceptorFunction) + configObject.responseInterceptor = parseFunction(interceptors.ResponseInterceptorFunction); + + if (configObject.plugins) { + configObject.plugins = configObject.plugins.map(eval); + } + + // Begin Swagger UI call region + + const ui = abp.SwaggerUIBundle(configObject); + + ui.initOAuth(oauthConfigObject); + + // End Swagger UI call region + + window.ui = ui +} \ No newline at end of file diff --git a/framework/src/Volo.Abp.Uow/Volo/Abp/Uow/UnitOfWork.cs b/framework/src/Volo.Abp.Uow/Volo/Abp/Uow/UnitOfWork.cs index 25135a0b9b..6d809a73bc 100644 --- a/framework/src/Volo.Abp.Uow/Volo/Abp/Uow/UnitOfWork.cs +++ b/framework/src/Volo.Abp.Uow/Volo/Abp/Uow/UnitOfWork.cs @@ -152,7 +152,6 @@ public class UnitOfWork : IUnitOfWork, ITransientDependency await UnitOfWorkEventPublisher.PublishLocalEventsAsync( localEventsToBePublished ); - LocalEvents.AddRange(GetEventsRecords(LocalEventWithPredicates)); } if (DistributedEvents.Any()) @@ -163,10 +162,12 @@ public class UnitOfWork : IUnitOfWork, ITransientDependency await UnitOfWorkEventPublisher.PublishDistributedEventsAsync( distributedEventsToBePublished ); - DistributedEvents.AddRange(GetEventsRecords(DistributedEventWithPredicates)); } await SaveChangesAsync(cancellationToken); + + LocalEvents.AddRange(GetEventsRecords(LocalEventWithPredicates)); + DistributedEvents.AddRange(GetEventsRecords(DistributedEventWithPredicates)); } await CommitTransactionsAsync(cancellationToken); diff --git a/global.json b/global.json index 0344c423c0..cdbb589eda 100644 --- a/global.json +++ b/global.json @@ -1,6 +1,6 @@ { "sdk": { - "version": "9.0.100-rc.2.24474.11", + "version": "9.0.100", "rollForward": "latestFeature" } } diff --git a/latest-versions.json b/latest-versions.json index fa2c98b342..b99c7202b6 100644 --- a/latest-versions.json +++ b/latest-versions.json @@ -1,6 +1,6 @@ [ { - "version": "8.3.3", + "version": "9.0.0", "releaseDate": "", "type": "stable", "message": "" diff --git a/modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/package.json b/modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/package.json index 7674e22438..04d78b830f 100644 --- a/modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/package.json +++ b/modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/package.json @@ -3,8 +3,8 @@ "name": "asp.net", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.shared": "~9.0.0-rc.2", - "@abp/prismjs": "~9.0.0-rc.2", - "@abp/highlight.js": "~9.0.0-rc.2" + "@abp/aspnetcore.mvc.ui.theme.shared": "~9.0.0", + "@abp/prismjs": "~9.0.0", + "@abp/highlight.js": "~9.0.0" } } diff --git a/modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/yarn.lock b/modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/yarn.lock index 54dafa4837..0ec23ef2e3 100644 --- a/modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/yarn.lock +++ b/modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/yarn.lock @@ -2,212 +2,212 @@ # yarn lockfile v1 -"@abp/aspnetcore.mvc.ui.theme.shared@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-9.0.0-rc.2.tgz#acaeaa5e0b329e5d836a198f7a3563d141d7fc79" - integrity sha512-hs8AoZwOnrMYmFl7/GQc6EUr5Jz5lTXWgSmp0l/DdH7f3INYEgCrIp5qvLFyNu8CHv6Gbegw2vGdpfDQbkiasw== - dependencies: - "@abp/aspnetcore.mvc.ui" "~9.0.0-rc.2" - "@abp/bootstrap" "~9.0.0-rc.2" - "@abp/bootstrap-datepicker" "~9.0.0-rc.2" - "@abp/bootstrap-daterangepicker" "~9.0.0-rc.2" - "@abp/datatables.net-bs5" "~9.0.0-rc.2" - "@abp/font-awesome" "~9.0.0-rc.2" - "@abp/jquery-form" "~9.0.0-rc.2" - "@abp/jquery-validation-unobtrusive" "~9.0.0-rc.2" - "@abp/lodash" "~9.0.0-rc.2" - "@abp/luxon" "~9.0.0-rc.2" - "@abp/malihu-custom-scrollbar-plugin" "~9.0.0-rc.2" - "@abp/moment" "~9.0.0-rc.2" - "@abp/select2" "~9.0.0-rc.2" - "@abp/sweetalert2" "~9.0.0-rc.2" - "@abp/timeago" "~9.0.0-rc.2" - "@abp/toastr" "~9.0.0-rc.2" - -"@abp/aspnetcore.mvc.ui@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-9.0.0-rc.2.tgz#5fc82ab4872b955cf46d755e99c656e0420a3c64" - integrity sha512-gGfHAsznxFIqTk6OFuRzcJ8D65VWmHkRqQjzmd97GZ1lNXRGDNGtYXbC/L1bA88O+qAXzhQ/c47h6in9cGh38w== +"@abp/aspnetcore.mvc.ui.theme.shared@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-9.0.0.tgz#a77b4b70fa6217146afd6a57211f57e2360564f2" + integrity sha512-QmZrSp+rfqfnC9W4QZ+nNdAq0rOALzRn1rsDpGDHhIHwyXB03QPdjzIWaEvldUYHzqg84cEP0LcqW4y57Xr1iw== + dependencies: + "@abp/aspnetcore.mvc.ui" "~9.0.0" + "@abp/bootstrap" "~9.0.0" + "@abp/bootstrap-datepicker" "~9.0.0" + "@abp/bootstrap-daterangepicker" "~9.0.0" + "@abp/datatables.net-bs5" "~9.0.0" + "@abp/font-awesome" "~9.0.0" + "@abp/jquery-form" "~9.0.0" + "@abp/jquery-validation-unobtrusive" "~9.0.0" + "@abp/lodash" "~9.0.0" + "@abp/luxon" "~9.0.0" + "@abp/malihu-custom-scrollbar-plugin" "~9.0.0" + "@abp/moment" "~9.0.0" + "@abp/select2" "~9.0.0" + "@abp/sweetalert2" "~9.0.0" + "@abp/timeago" "~9.0.0" + "@abp/toastr" "~9.0.0" + +"@abp/aspnetcore.mvc.ui@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-9.0.0.tgz#93004dd056c130386c7b40c458f3a793d8c9e051" + integrity sha512-pvO5bh9baFcSbfW0s7tpMpbe6DKSC16jeyeluZLlvYxC0n2gkrv7H/hB5aMuBKIlh89aGY9DQIcMFC8iczL3Bg== dependencies: ansi-colors "^4.1.3" -"@abp/bootstrap-datepicker@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-9.0.0-rc.2.tgz#884343a8c0b881e6612cbbbf1fb9af0f40cbc223" - integrity sha512-JqPKn0xFyqoA4smY3gtUE/HcbG5QmLtFpZNG/zMnDq2JEtJt13xee9FguYXrlMOrM9PqAwnq2Wrc8s71ROh8Zg== +"@abp/bootstrap-datepicker@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-9.0.0.tgz#d6609e50568aac6a013abfcaa07817998e1eaa99" + integrity sha512-wxAeVsOVOJpidDn0g3FlJvpOsn5SVY5IpEG+FtUxSAKuWYJQWF6g5CaghrfS+FNDK9IHhxrgSMPMVBK9YlDSzw== dependencies: bootstrap-datepicker "^1.10.0" -"@abp/bootstrap-daterangepicker@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-9.0.0-rc.2.tgz#bc0e134e36da111aaa25f7d4d3e90d394c873b50" - integrity sha512-5KChSBquD7pQNiI3TgJSYHw549Pxuom8TAg+44edjEKRvR7KUR8IkfdImlZYHPeLmoUTnnWXiFKOIxOi9OjLoA== +"@abp/bootstrap-daterangepicker@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-9.0.0.tgz#fc2871e7d886accd8e4748cb763b695e10701c00" + integrity sha512-qS6SQR6X7wMCVLcuXatJ2+m1GNlpN71p7VDritxfwAMHa7WBRAAi8apX2WItwBAuLQ2s1uSA0Wp1KstHG3VPLA== dependencies: bootstrap-daterangepicker "^3.1.0" -"@abp/bootstrap@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-9.0.0-rc.2.tgz#cf0b2567f44030d5d0620ca36d9d25999cd25e0e" - integrity sha512-Fkagr1fTyeKDtsvn7TKJKRkWNaYd6ZmE1IhLffwLwDpyt26JBYK3XqGXT+eHFXXpSxrgANERVogSN5E46IU1OQ== +"@abp/bootstrap@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-9.0.0.tgz#5ab292e95ba7eef129cbaa1dc5f5d5c0af8530d7" + integrity sha512-jEr6su8BfoNxYvze/UlddE3DlezyPvQeiNhff8SDPqtRQ6XvjZ48O/JwtY01hK2njEDLOZINY5zJRGmO2OiOUw== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" bootstrap "^5.3.3" -"@abp/clipboard@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-9.0.0-rc.2.tgz#dfa4df015beba83f7c44d749a24987a74a419b59" - integrity sha512-xuhFygNc4c67QkVMqsArQ4qGRJX+qKwSx4LQIaASaZq91ACtU2r5iTjCDb/YFcUVxXXufNLvuFgARGJp5vvvxA== +"@abp/clipboard@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-9.0.0.tgz#21ae924dfef6ccf3c8a3913bb81caf22b57404e4" + integrity sha512-W6S7pihpQ6Wfj48Clk7hYgDvUtnRwkNIsk5t8s9+LxoAdJQGQFxh7SAW1QNavUv8QqsClNE1VtSU87c7rSoAbA== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" clipboard "^2.0.11" -"@abp/core@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-9.0.0-rc.2.tgz#f0344669a745581b1032de396b1165f4cb3ea834" - integrity sha512-rmlWc6ydzRWVvQpkqSGEXcmYx1WJvxLajC7Ts6epbmmyklrx+tA5uQqCiSlsJWfIyaejLOjDka319arukaMb/Q== +"@abp/core@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/core/-/core-9.0.0.tgz#dc5ea9139957e307f73ac1f40b179f991e3c2168" + integrity sha512-vzQyTpqVDx63pOI9e2QLUMWZCrSojHsRnzLlvl+/cKFi7jE1q/uSP66FPR2bwkD+DNLI/tn6is1Jx3skKA1FvA== dependencies: - "@abp/utils" "~9.0.0-rc.2" + "@abp/utils" "~9.0.0" -"@abp/datatables.net-bs5@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-9.0.0-rc.2.tgz#7f01e5e74530cd9bb13545917f00a5c38163745a" - integrity sha512-snZi/kAtkH4p1t1cUIKU5DRDz+U2CUHk7JAZE+g9bClMvmDTh4Kta5JmTW3g++JSh+C0LQzYXRPXnV7TgUcBgw== +"@abp/datatables.net-bs5@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-9.0.0.tgz#4daee90bdb6446e854ce65f2a3afabb2a13e49ae" + integrity sha512-ln10tcRwxcB0nuSgqJ/66strHsqMHDC03c0ktxEplAN34yP7KInjFf/U9Svo74K0nKlkJdMCgmqmT4CnBJZlIg== dependencies: - "@abp/datatables.net" "~9.0.0-rc.2" + "@abp/datatables.net" "~9.0.0" datatables.net-bs5 "^2.1.8" -"@abp/datatables.net@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-9.0.0-rc.2.tgz#cf5a5df0c6735080f2ba1f1746f4eb8d05d02c5b" - integrity sha512-hdJH5xN6SXTFZXnv+fTmcmFU19Fr2sIZMrfirUfH1of8qTn7cObjAe9r189PGt/3FZeFPA8pmfnNL6ZLwnLKtw== +"@abp/datatables.net@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-9.0.0.tgz#82b28518293c9091ec72d5defae2f5d2903d8bbc" + integrity sha512-QhuX3bGZOckM/fhIIGj/StMJIX2BBtNbLzjTR7WnKMMxDkv0+oDvjw6OqqpYKSvj/q3vY6sRWuCNdEzNi0Fk6A== dependencies: - "@abp/jquery" "~9.0.0-rc.2" + "@abp/jquery" "~9.0.0" datatables.net "^2.1.8" -"@abp/font-awesome@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-9.0.0-rc.2.tgz#1493057e28b2e1e8a434ff1599e8b4b72b8784d2" - integrity sha512-EsQYx89OBquIxqGLgjAgMpUeAnWW316ruAmmxzGsusVT9KuIL6iuA4j4bdM8/6wJgi6zm2A/bDBjiiDDg2Cyyg== +"@abp/font-awesome@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-9.0.0.tgz#51cce18434a51d050ebb0d822a8c193b7e32f73d" + integrity sha512-bEHRVzOk0V2kFMAvB/YXFYaDKWRFO0+ScO7jrEFtFgdHXBcqy+dk1aM/N69WalyNmjRRpnh03GhH1LRpwL4/xA== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" "@fortawesome/fontawesome-free" "^6.6.0" -"@abp/highlight.js@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/highlight.js/-/highlight.js-9.0.0-rc.2.tgz#c511f5cd29eef7089d491646ffe31797d4543be9" - integrity sha512-04XWQnuN2ri2Rlkauy7h3444RofCra4B/6GjN53YM3ekZ50Xhe3QsfMhkCzLn0Izgypa3FkNkFq86JvUbyH3Uw== +"@abp/highlight.js@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/highlight.js/-/highlight.js-9.0.0.tgz#6d924c9bb3d6b11dcd66a9a71aea873c9866ed6c" + integrity sha512-eGvgMUNYKW2B2h3QcpMRniaoQ1/9RJBXkn2VsyM8lVSfrfbOg26mMyw7J2BXvuEnXqtnVdFEG45cSFlAnTAVXQ== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" "@highlightjs/cdn-assets" "~11.10.0" -"@abp/jquery-form@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-9.0.0-rc.2.tgz#05a9082bc6c42fca3e001d97f77c0aa2e941448b" - integrity sha512-OUuwB/dgryiBG/iZCedwP2+8ot+PCeuAAMuZ1A/VXbNUJAbhiXF24tQM73wIhpAYcSc5egWjJ+VNTJKMKImTqA== +"@abp/jquery-form@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-9.0.0.tgz#6518eb117ee35c6bc57543fd1fccb0a8cf8e22f4" + integrity sha512-6qpfPGHrjADmm7Ne3zcXBGPuLngG8ldAn5fk9k2taftpyX0iR67/nZxiQ0ujaQGgaai5Wb3imNXMG96XLnubkQ== dependencies: - "@abp/jquery" "~9.0.0-rc.2" + "@abp/jquery" "~9.0.0" jquery-form "^4.3.0" -"@abp/jquery-validation-unobtrusive@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-9.0.0-rc.2.tgz#d38f053ad3a8509dc683dc3091128eb445579176" - integrity sha512-170ARAIz0NWuQnleB2nWPKYQl3x/Za2yxc0utjxY0rruHflNQPF2cMagLu+eBI6gDkThXNps74HiRPXOPdgc4A== +"@abp/jquery-validation-unobtrusive@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-9.0.0.tgz#8ee87dbdec5e92ab04ae9642a49af1598af31c1a" + integrity sha512-KlRQ1htyFmAIMS9xbHvHIcdhAgtPFe/u7c87MiWlk/CdhDrI3J+n5biLvQUzxCC+YWlwx27zBtPKx2vLeMRH6Q== dependencies: - "@abp/jquery-validation" "~9.0.0-rc.2" + "@abp/jquery-validation" "~9.0.0" jquery-validation-unobtrusive "^4.0.0" -"@abp/jquery-validation@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-9.0.0-rc.2.tgz#79c96c7eb48d5bebb3e7e86f8f9e2d6e2e45c5cb" - integrity sha512-6W2LiLgcC4FGTMLsoNkRBJTqDq6YR3ctLKzRfis9kOigkd0QT/PnB/451rrVb7+BCl9luKaA8DDYF671S8klFA== +"@abp/jquery-validation@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-9.0.0.tgz#681d8037c57b3875bd51c927e350ffce65d7c5d2" + integrity sha512-XgCUBFWbhTDcGepD/xkwA/1Hl4TyYitRttauDJk3tuyXhNtykvdugCCOPY4j2s6VoT1Sb/TFFvOcgEvlBwkKiw== dependencies: - "@abp/jquery" "~9.0.0-rc.2" + "@abp/jquery" "~9.0.0" jquery-validation "^1.21.0" -"@abp/jquery@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-9.0.0-rc.2.tgz#c8bd299d1b5558a4c3cef26b248d42e9a6303e33" - integrity sha512-GrO0gKdi20jlQ0YjWaddal0X0+5LkMpOAyMB1GdaDetLaaVjcZ+92zx1cApcAdIsCKgB+kyutRQv0b82o/EZPQ== +"@abp/jquery@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-9.0.0.tgz#6c67a9f927be598ab6201f8888e8a3cb8bba0686" + integrity sha512-cUXA7v6F1HqAc/w8fQGxHIfA/6BqO+4uHXDnSsJZtrI26DTLOgw5kBNnAz2W4xggGPCY7SKFHNRZuOW/QfVRPg== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" jquery "~3.7.1" -"@abp/lodash@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-9.0.0-rc.2.tgz#980a0ae2d95c83663f0f52f1b67b5cfb00d04b96" - integrity sha512-uwxv7WJqwRcGkVoB44JR1QJaMbe3RhCQsG6+Wee1Jjdgi2vkpFUCj2arM4Rxz1igntFjY2Z7NiBq+iL9HYIkSw== +"@abp/lodash@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-9.0.0.tgz#a4d42b2dfeb37859ff9f0079c7a8a6cabc982efe" + integrity sha512-xoAsOkkgnQdPH2OyFTgF6OlCLVbyGF4u8CrFcZWCZmuIFT9cg0+ZEiq//Vog1pg3Lf//N37ceGpOag1LwMe6cQ== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" lodash "^4.17.21" -"@abp/luxon@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-9.0.0-rc.2.tgz#1bb0eae53b707371489a4e0edf2869d7acc71da8" - integrity sha512-iWE8sbBWxCbNYSO3TTTzeotGS6kAnIwCKos/96mtaYJ4wzPW9pgF7K94CvwLAAg9NTsx/J/OGdmhhM2cULhv+w== +"@abp/luxon@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-9.0.0.tgz#a54dda13cbbd362481994d20d2e07c669c6ce109" + integrity sha512-aPejQnoVPfm60LnjwhfUkIsB+poNWusrBE0IHllxhvOVE+01nfa1Lvpp5AUWzV+XchPGOCSf+a29ds4EQWfNbg== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" luxon "^3.5.0" -"@abp/malihu-custom-scrollbar-plugin@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-9.0.0-rc.2.tgz#fce5c12be2bdf350b18aae52619309a474995442" - integrity sha512-e3JTnDSkjF9/MPh/nPqcvU8hkUxSMc5U6DnP169GBdVAYQwwnGD24x4QCWU7ch7s65FDJ8/uq7bYOcIAD0B+Dw== +"@abp/malihu-custom-scrollbar-plugin@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-9.0.0.tgz#b8a49202d531c711874a2bcdae5081ae0ed34c3f" + integrity sha512-iSZ9lKMnv5F2SplR+A4blhFEDq79lKbvBQuS7h/Di3KEHFOdJY4pA8NP8OR+PXOF3JfAezGyjqy7ydn/JNPRwA== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" malihu-custom-scrollbar-plugin "^3.1.5" -"@abp/moment@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-9.0.0-rc.2.tgz#2fc0feaaa0a26436cf00a6beccaa64f505aef301" - integrity sha512-yqkgu0bo3ra6HVFdS2wlqwTysciYOJWi/ERFVS2MfUkAKFA0P7mv8Jg5tB4vGY2Km++7r22kCDRlK3KUPmk21g== +"@abp/moment@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-9.0.0.tgz#9583e97472ddf608a9a5a6b8a37fee602b419900" + integrity sha512-wgyJSKmBmHLXZJN3dy3zK4i2JvWGgqnvdtrKURy/raEurxlymv8JF5JA971kTv6Kz2OA/OSYttpVJkDGUpPAhA== dependencies: moment "^2.30.1" -"@abp/prismjs@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-9.0.0-rc.2.tgz#2de7bc2882fee46d3d7e2da1fb66bca6b06cc4dd" - integrity sha512-rQ4dVGk+lEHFFSIBsJPqijeh4k3UgoDMZL1rns2a6NR+QnR0J2Slx3Awt8SH+inQFH2JiLHVo9q4bG+81vCsag== +"@abp/prismjs@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-9.0.0.tgz#2ac4a5ddc0c8e0462af027a4dd97a177a3d6f7a5" + integrity sha512-+evmBq5qV+Ix/TNqO2ljJn0jygW2rEgKNtABcBGmrZC8xiI7+2hjKmSE0e43qb+RDib8aJjwH8ya8wF7p68ZFw== dependencies: - "@abp/clipboard" "~9.0.0-rc.2" - "@abp/core" "~9.0.0-rc.2" + "@abp/clipboard" "~9.0.0" + "@abp/core" "~9.0.0" prismjs "^1.29.0" -"@abp/select2@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-9.0.0-rc.2.tgz#53806118fdfe9f9228e26c6867ce0e75e6572b81" - integrity sha512-arKdcs95+4zp5764iOz09aJ3C1F2SsBIzekpjpJwMBdLRfoleZZFm12itO8I4Jjb1R+2CkW6MXjLR5xL2aE0PQ== +"@abp/select2@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-9.0.0.tgz#71503eebb746f40a0e565dba1efa05d6ae937b77" + integrity sha512-l+Hz2Qmc7AcyaTJOyuDaV99RbBWYxYxbeyVEc4xKbRFbJxYBUxT/DFlyozEaoz+OU1fl4szO3UCthJ2yZvxCdg== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" select2 "^4.0.13" -"@abp/sweetalert2@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-9.0.0-rc.2.tgz#60b25d65b3e5eb53e18ba5b1f3663783562d2506" - integrity sha512-VJslD1AMDZJhOEko79UYIxIYeAmr1YUwJu8XNAurBGPa9sWGI+jPY/dYg3uptg8GEJHsFtog84m3nUQ/prRUcw== +"@abp/sweetalert2@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-9.0.0.tgz#71e511117c18b515e5c658e9cc0667770af65d91" + integrity sha512-wxDqoA6RUhkbcN27Kzslu/m2ai5T9AkJRtgs7pV55LvPv1ohuCPEUeTVVh8S/5Pgmr7aPFAPxaaCO32aPcImPw== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" sweetalert2 "^11.14.1" -"@abp/timeago@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-9.0.0-rc.2.tgz#72a7da1eda19beb34c352f3f43d2f5181b0b926a" - integrity sha512-zRj+TssaDXW2OM4mNn47G1tRg4BZ2sqbEiiUIQrU9hHMHmxOf8bAJhqsouGDDZF3xetcwKhmLN08VWK1sqqpQA== +"@abp/timeago@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-9.0.0.tgz#8f262ba2a74e1c133d0c129f8a0bc55c29441e1a" + integrity sha512-eaNdIUEtDXnuYqS5O7EGRV+j6XOLAsxz7gd5BIKR9lDujd8pEjSJkXKO+/0KxLTkUSy3JudIO37K1h2wTpbYZA== dependencies: - "@abp/jquery" "~9.0.0-rc.2" + "@abp/jquery" "~9.0.0" timeago "^1.6.7" -"@abp/toastr@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-9.0.0-rc.2.tgz#ddbf0b6362941f62c07c9820af59dcd6912331d0" - integrity sha512-l4z6z3Oc/JF4XJplqGETQtBkqzjbpobcfzEHeH6LjUeunLMEVQOtjhPUBLrhg4ZM0i9k46hmxsoOkWXu7tClyQ== +"@abp/toastr@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-9.0.0.tgz#74d74ecb3e7f2d63b2ff7735c89a40deb3dc3a13" + integrity sha512-n9uJvw8l2HoxeowPO4diEMxwchGh6puefhyRljFAAstzK77Mhn0u2J7kPynNv94rLSYTYoCxUeJ4TTN+/TVDGQ== dependencies: - "@abp/jquery" "~9.0.0-rc.2" + "@abp/jquery" "~9.0.0" toastr "^2.1.4" -"@abp/utils@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-9.0.0-rc.2.tgz#e644889f1c1c4828b509aea9ae3ae48439a5b89d" - integrity sha512-eIL3syPE0LzPyeHV5+pgRxw3/H2YTmK2U9VEOUu26ExiCMIt5Waf8T92BjaH9sLrMD5P9ZAT2jWaxh+VTsEtKA== +"@abp/utils@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-9.0.0.tgz#2264fd83105b061860edd98dbe0efdfe55803ed5" + integrity sha512-/SB4VYk3Av+ltXv6ovkFHG4iWiECLLitaYWcEHxVAO80ufNjrNnWpHFpXHP8u/RpXIp/CoNiHLr6j5TkZUTZjw== dependencies: just-compare "^2.3.0" diff --git a/modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/package.json b/modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/package.json index 596f9bd6a8..8857cdc4b9 100644 --- a/modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/package.json +++ b/modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/package.json @@ -3,8 +3,8 @@ "name": "asp.net", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.basic": "~9.0.0-rc.2", - "@abp/prismjs": "~9.0.0-rc.2" + "@abp/aspnetcore.mvc.ui.theme.basic": "~9.0.0", + "@abp/prismjs": "~9.0.0" }, "devDependencies": {} } diff --git a/modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/yarn.lock b/modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/yarn.lock index 4711769a05..01d7637c9e 100644 --- a/modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/yarn.lock +++ b/modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/yarn.lock @@ -2,211 +2,211 @@ # yarn lockfile v1 -"@abp/aspnetcore.mvc.ui.theme.basic@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-9.0.0-rc.2.tgz#db73b3121cbd02207842f0388999298df49392ac" - integrity sha512-vzUPdL1UJ+aXKcei0rCpm3VYX9twhmomd+HqfzcL65TtrXgIK8jCv4Wn0rRFfSGtUfM8OetIVVkmggIZusGTZQ== - dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "~9.0.0-rc.2" - -"@abp/aspnetcore.mvc.ui.theme.shared@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-9.0.0-rc.2.tgz#acaeaa5e0b329e5d836a198f7a3563d141d7fc79" - integrity sha512-hs8AoZwOnrMYmFl7/GQc6EUr5Jz5lTXWgSmp0l/DdH7f3INYEgCrIp5qvLFyNu8CHv6Gbegw2vGdpfDQbkiasw== - dependencies: - "@abp/aspnetcore.mvc.ui" "~9.0.0-rc.2" - "@abp/bootstrap" "~9.0.0-rc.2" - "@abp/bootstrap-datepicker" "~9.0.0-rc.2" - "@abp/bootstrap-daterangepicker" "~9.0.0-rc.2" - "@abp/datatables.net-bs5" "~9.0.0-rc.2" - "@abp/font-awesome" "~9.0.0-rc.2" - "@abp/jquery-form" "~9.0.0-rc.2" - "@abp/jquery-validation-unobtrusive" "~9.0.0-rc.2" - "@abp/lodash" "~9.0.0-rc.2" - "@abp/luxon" "~9.0.0-rc.2" - "@abp/malihu-custom-scrollbar-plugin" "~9.0.0-rc.2" - "@abp/moment" "~9.0.0-rc.2" - "@abp/select2" "~9.0.0-rc.2" - "@abp/sweetalert2" "~9.0.0-rc.2" - "@abp/timeago" "~9.0.0-rc.2" - "@abp/toastr" "~9.0.0-rc.2" - -"@abp/aspnetcore.mvc.ui@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-9.0.0-rc.2.tgz#5fc82ab4872b955cf46d755e99c656e0420a3c64" - integrity sha512-gGfHAsznxFIqTk6OFuRzcJ8D65VWmHkRqQjzmd97GZ1lNXRGDNGtYXbC/L1bA88O+qAXzhQ/c47h6in9cGh38w== +"@abp/aspnetcore.mvc.ui.theme.basic@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-9.0.0.tgz#e4b05d63446c24b612275e3949881e176d32527f" + integrity sha512-GHEt26xESe/TCg1q6ZjeUbxniqdxaiB1OPTZ9md7ONql6bEp8t9iUPeSlkyAZtQ7qBzwgkiLpkRFT+J21DftaQ== + dependencies: + "@abp/aspnetcore.mvc.ui.theme.shared" "~9.0.0" + +"@abp/aspnetcore.mvc.ui.theme.shared@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-9.0.0.tgz#a77b4b70fa6217146afd6a57211f57e2360564f2" + integrity sha512-QmZrSp+rfqfnC9W4QZ+nNdAq0rOALzRn1rsDpGDHhIHwyXB03QPdjzIWaEvldUYHzqg84cEP0LcqW4y57Xr1iw== + dependencies: + "@abp/aspnetcore.mvc.ui" "~9.0.0" + "@abp/bootstrap" "~9.0.0" + "@abp/bootstrap-datepicker" "~9.0.0" + "@abp/bootstrap-daterangepicker" "~9.0.0" + "@abp/datatables.net-bs5" "~9.0.0" + "@abp/font-awesome" "~9.0.0" + "@abp/jquery-form" "~9.0.0" + "@abp/jquery-validation-unobtrusive" "~9.0.0" + "@abp/lodash" "~9.0.0" + "@abp/luxon" "~9.0.0" + "@abp/malihu-custom-scrollbar-plugin" "~9.0.0" + "@abp/moment" "~9.0.0" + "@abp/select2" "~9.0.0" + "@abp/sweetalert2" "~9.0.0" + "@abp/timeago" "~9.0.0" + "@abp/toastr" "~9.0.0" + +"@abp/aspnetcore.mvc.ui@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-9.0.0.tgz#93004dd056c130386c7b40c458f3a793d8c9e051" + integrity sha512-pvO5bh9baFcSbfW0s7tpMpbe6DKSC16jeyeluZLlvYxC0n2gkrv7H/hB5aMuBKIlh89aGY9DQIcMFC8iczL3Bg== dependencies: ansi-colors "^4.1.3" -"@abp/bootstrap-datepicker@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-9.0.0-rc.2.tgz#884343a8c0b881e6612cbbbf1fb9af0f40cbc223" - integrity sha512-JqPKn0xFyqoA4smY3gtUE/HcbG5QmLtFpZNG/zMnDq2JEtJt13xee9FguYXrlMOrM9PqAwnq2Wrc8s71ROh8Zg== +"@abp/bootstrap-datepicker@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-9.0.0.tgz#d6609e50568aac6a013abfcaa07817998e1eaa99" + integrity sha512-wxAeVsOVOJpidDn0g3FlJvpOsn5SVY5IpEG+FtUxSAKuWYJQWF6g5CaghrfS+FNDK9IHhxrgSMPMVBK9YlDSzw== dependencies: bootstrap-datepicker "^1.10.0" -"@abp/bootstrap-daterangepicker@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-9.0.0-rc.2.tgz#bc0e134e36da111aaa25f7d4d3e90d394c873b50" - integrity sha512-5KChSBquD7pQNiI3TgJSYHw549Pxuom8TAg+44edjEKRvR7KUR8IkfdImlZYHPeLmoUTnnWXiFKOIxOi9OjLoA== +"@abp/bootstrap-daterangepicker@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-9.0.0.tgz#fc2871e7d886accd8e4748cb763b695e10701c00" + integrity sha512-qS6SQR6X7wMCVLcuXatJ2+m1GNlpN71p7VDritxfwAMHa7WBRAAi8apX2WItwBAuLQ2s1uSA0Wp1KstHG3VPLA== dependencies: bootstrap-daterangepicker "^3.1.0" -"@abp/bootstrap@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-9.0.0-rc.2.tgz#cf0b2567f44030d5d0620ca36d9d25999cd25e0e" - integrity sha512-Fkagr1fTyeKDtsvn7TKJKRkWNaYd6ZmE1IhLffwLwDpyt26JBYK3XqGXT+eHFXXpSxrgANERVogSN5E46IU1OQ== +"@abp/bootstrap@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-9.0.0.tgz#5ab292e95ba7eef129cbaa1dc5f5d5c0af8530d7" + integrity sha512-jEr6su8BfoNxYvze/UlddE3DlezyPvQeiNhff8SDPqtRQ6XvjZ48O/JwtY01hK2njEDLOZINY5zJRGmO2OiOUw== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" bootstrap "^5.3.3" -"@abp/clipboard@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-9.0.0-rc.2.tgz#dfa4df015beba83f7c44d749a24987a74a419b59" - integrity sha512-xuhFygNc4c67QkVMqsArQ4qGRJX+qKwSx4LQIaASaZq91ACtU2r5iTjCDb/YFcUVxXXufNLvuFgARGJp5vvvxA== +"@abp/clipboard@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-9.0.0.tgz#21ae924dfef6ccf3c8a3913bb81caf22b57404e4" + integrity sha512-W6S7pihpQ6Wfj48Clk7hYgDvUtnRwkNIsk5t8s9+LxoAdJQGQFxh7SAW1QNavUv8QqsClNE1VtSU87c7rSoAbA== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" clipboard "^2.0.11" -"@abp/core@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-9.0.0-rc.2.tgz#f0344669a745581b1032de396b1165f4cb3ea834" - integrity sha512-rmlWc6ydzRWVvQpkqSGEXcmYx1WJvxLajC7Ts6epbmmyklrx+tA5uQqCiSlsJWfIyaejLOjDka319arukaMb/Q== +"@abp/core@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/core/-/core-9.0.0.tgz#dc5ea9139957e307f73ac1f40b179f991e3c2168" + integrity sha512-vzQyTpqVDx63pOI9e2QLUMWZCrSojHsRnzLlvl+/cKFi7jE1q/uSP66FPR2bwkD+DNLI/tn6is1Jx3skKA1FvA== dependencies: - "@abp/utils" "~9.0.0-rc.2" + "@abp/utils" "~9.0.0" -"@abp/datatables.net-bs5@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-9.0.0-rc.2.tgz#7f01e5e74530cd9bb13545917f00a5c38163745a" - integrity sha512-snZi/kAtkH4p1t1cUIKU5DRDz+U2CUHk7JAZE+g9bClMvmDTh4Kta5JmTW3g++JSh+C0LQzYXRPXnV7TgUcBgw== +"@abp/datatables.net-bs5@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-9.0.0.tgz#4daee90bdb6446e854ce65f2a3afabb2a13e49ae" + integrity sha512-ln10tcRwxcB0nuSgqJ/66strHsqMHDC03c0ktxEplAN34yP7KInjFf/U9Svo74K0nKlkJdMCgmqmT4CnBJZlIg== dependencies: - "@abp/datatables.net" "~9.0.0-rc.2" + "@abp/datatables.net" "~9.0.0" datatables.net-bs5 "^2.1.8" -"@abp/datatables.net@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-9.0.0-rc.2.tgz#cf5a5df0c6735080f2ba1f1746f4eb8d05d02c5b" - integrity sha512-hdJH5xN6SXTFZXnv+fTmcmFU19Fr2sIZMrfirUfH1of8qTn7cObjAe9r189PGt/3FZeFPA8pmfnNL6ZLwnLKtw== +"@abp/datatables.net@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-9.0.0.tgz#82b28518293c9091ec72d5defae2f5d2903d8bbc" + integrity sha512-QhuX3bGZOckM/fhIIGj/StMJIX2BBtNbLzjTR7WnKMMxDkv0+oDvjw6OqqpYKSvj/q3vY6sRWuCNdEzNi0Fk6A== dependencies: - "@abp/jquery" "~9.0.0-rc.2" + "@abp/jquery" "~9.0.0" datatables.net "^2.1.8" -"@abp/font-awesome@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-9.0.0-rc.2.tgz#1493057e28b2e1e8a434ff1599e8b4b72b8784d2" - integrity sha512-EsQYx89OBquIxqGLgjAgMpUeAnWW316ruAmmxzGsusVT9KuIL6iuA4j4bdM8/6wJgi6zm2A/bDBjiiDDg2Cyyg== +"@abp/font-awesome@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-9.0.0.tgz#51cce18434a51d050ebb0d822a8c193b7e32f73d" + integrity sha512-bEHRVzOk0V2kFMAvB/YXFYaDKWRFO0+ScO7jrEFtFgdHXBcqy+dk1aM/N69WalyNmjRRpnh03GhH1LRpwL4/xA== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" "@fortawesome/fontawesome-free" "^6.6.0" -"@abp/jquery-form@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-9.0.0-rc.2.tgz#05a9082bc6c42fca3e001d97f77c0aa2e941448b" - integrity sha512-OUuwB/dgryiBG/iZCedwP2+8ot+PCeuAAMuZ1A/VXbNUJAbhiXF24tQM73wIhpAYcSc5egWjJ+VNTJKMKImTqA== +"@abp/jquery-form@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-9.0.0.tgz#6518eb117ee35c6bc57543fd1fccb0a8cf8e22f4" + integrity sha512-6qpfPGHrjADmm7Ne3zcXBGPuLngG8ldAn5fk9k2taftpyX0iR67/nZxiQ0ujaQGgaai5Wb3imNXMG96XLnubkQ== dependencies: - "@abp/jquery" "~9.0.0-rc.2" + "@abp/jquery" "~9.0.0" jquery-form "^4.3.0" -"@abp/jquery-validation-unobtrusive@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-9.0.0-rc.2.tgz#d38f053ad3a8509dc683dc3091128eb445579176" - integrity sha512-170ARAIz0NWuQnleB2nWPKYQl3x/Za2yxc0utjxY0rruHflNQPF2cMagLu+eBI6gDkThXNps74HiRPXOPdgc4A== +"@abp/jquery-validation-unobtrusive@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-9.0.0.tgz#8ee87dbdec5e92ab04ae9642a49af1598af31c1a" + integrity sha512-KlRQ1htyFmAIMS9xbHvHIcdhAgtPFe/u7c87MiWlk/CdhDrI3J+n5biLvQUzxCC+YWlwx27zBtPKx2vLeMRH6Q== dependencies: - "@abp/jquery-validation" "~9.0.0-rc.2" + "@abp/jquery-validation" "~9.0.0" jquery-validation-unobtrusive "^4.0.0" -"@abp/jquery-validation@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-9.0.0-rc.2.tgz#79c96c7eb48d5bebb3e7e86f8f9e2d6e2e45c5cb" - integrity sha512-6W2LiLgcC4FGTMLsoNkRBJTqDq6YR3ctLKzRfis9kOigkd0QT/PnB/451rrVb7+BCl9luKaA8DDYF671S8klFA== +"@abp/jquery-validation@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-9.0.0.tgz#681d8037c57b3875bd51c927e350ffce65d7c5d2" + integrity sha512-XgCUBFWbhTDcGepD/xkwA/1Hl4TyYitRttauDJk3tuyXhNtykvdugCCOPY4j2s6VoT1Sb/TFFvOcgEvlBwkKiw== dependencies: - "@abp/jquery" "~9.0.0-rc.2" + "@abp/jquery" "~9.0.0" jquery-validation "^1.21.0" -"@abp/jquery@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-9.0.0-rc.2.tgz#c8bd299d1b5558a4c3cef26b248d42e9a6303e33" - integrity sha512-GrO0gKdi20jlQ0YjWaddal0X0+5LkMpOAyMB1GdaDetLaaVjcZ+92zx1cApcAdIsCKgB+kyutRQv0b82o/EZPQ== +"@abp/jquery@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-9.0.0.tgz#6c67a9f927be598ab6201f8888e8a3cb8bba0686" + integrity sha512-cUXA7v6F1HqAc/w8fQGxHIfA/6BqO+4uHXDnSsJZtrI26DTLOgw5kBNnAz2W4xggGPCY7SKFHNRZuOW/QfVRPg== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" jquery "~3.7.1" -"@abp/lodash@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-9.0.0-rc.2.tgz#980a0ae2d95c83663f0f52f1b67b5cfb00d04b96" - integrity sha512-uwxv7WJqwRcGkVoB44JR1QJaMbe3RhCQsG6+Wee1Jjdgi2vkpFUCj2arM4Rxz1igntFjY2Z7NiBq+iL9HYIkSw== +"@abp/lodash@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-9.0.0.tgz#a4d42b2dfeb37859ff9f0079c7a8a6cabc982efe" + integrity sha512-xoAsOkkgnQdPH2OyFTgF6OlCLVbyGF4u8CrFcZWCZmuIFT9cg0+ZEiq//Vog1pg3Lf//N37ceGpOag1LwMe6cQ== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" lodash "^4.17.21" -"@abp/luxon@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-9.0.0-rc.2.tgz#1bb0eae53b707371489a4e0edf2869d7acc71da8" - integrity sha512-iWE8sbBWxCbNYSO3TTTzeotGS6kAnIwCKos/96mtaYJ4wzPW9pgF7K94CvwLAAg9NTsx/J/OGdmhhM2cULhv+w== +"@abp/luxon@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-9.0.0.tgz#a54dda13cbbd362481994d20d2e07c669c6ce109" + integrity sha512-aPejQnoVPfm60LnjwhfUkIsB+poNWusrBE0IHllxhvOVE+01nfa1Lvpp5AUWzV+XchPGOCSf+a29ds4EQWfNbg== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" luxon "^3.5.0" -"@abp/malihu-custom-scrollbar-plugin@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-9.0.0-rc.2.tgz#fce5c12be2bdf350b18aae52619309a474995442" - integrity sha512-e3JTnDSkjF9/MPh/nPqcvU8hkUxSMc5U6DnP169GBdVAYQwwnGD24x4QCWU7ch7s65FDJ8/uq7bYOcIAD0B+Dw== +"@abp/malihu-custom-scrollbar-plugin@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-9.0.0.tgz#b8a49202d531c711874a2bcdae5081ae0ed34c3f" + integrity sha512-iSZ9lKMnv5F2SplR+A4blhFEDq79lKbvBQuS7h/Di3KEHFOdJY4pA8NP8OR+PXOF3JfAezGyjqy7ydn/JNPRwA== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" malihu-custom-scrollbar-plugin "^3.1.5" -"@abp/moment@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-9.0.0-rc.2.tgz#2fc0feaaa0a26436cf00a6beccaa64f505aef301" - integrity sha512-yqkgu0bo3ra6HVFdS2wlqwTysciYOJWi/ERFVS2MfUkAKFA0P7mv8Jg5tB4vGY2Km++7r22kCDRlK3KUPmk21g== +"@abp/moment@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-9.0.0.tgz#9583e97472ddf608a9a5a6b8a37fee602b419900" + integrity sha512-wgyJSKmBmHLXZJN3dy3zK4i2JvWGgqnvdtrKURy/raEurxlymv8JF5JA971kTv6Kz2OA/OSYttpVJkDGUpPAhA== dependencies: moment "^2.30.1" -"@abp/prismjs@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-9.0.0-rc.2.tgz#2de7bc2882fee46d3d7e2da1fb66bca6b06cc4dd" - integrity sha512-rQ4dVGk+lEHFFSIBsJPqijeh4k3UgoDMZL1rns2a6NR+QnR0J2Slx3Awt8SH+inQFH2JiLHVo9q4bG+81vCsag== +"@abp/prismjs@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-9.0.0.tgz#2ac4a5ddc0c8e0462af027a4dd97a177a3d6f7a5" + integrity sha512-+evmBq5qV+Ix/TNqO2ljJn0jygW2rEgKNtABcBGmrZC8xiI7+2hjKmSE0e43qb+RDib8aJjwH8ya8wF7p68ZFw== dependencies: - "@abp/clipboard" "~9.0.0-rc.2" - "@abp/core" "~9.0.0-rc.2" + "@abp/clipboard" "~9.0.0" + "@abp/core" "~9.0.0" prismjs "^1.29.0" -"@abp/select2@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-9.0.0-rc.2.tgz#53806118fdfe9f9228e26c6867ce0e75e6572b81" - integrity sha512-arKdcs95+4zp5764iOz09aJ3C1F2SsBIzekpjpJwMBdLRfoleZZFm12itO8I4Jjb1R+2CkW6MXjLR5xL2aE0PQ== +"@abp/select2@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-9.0.0.tgz#71503eebb746f40a0e565dba1efa05d6ae937b77" + integrity sha512-l+Hz2Qmc7AcyaTJOyuDaV99RbBWYxYxbeyVEc4xKbRFbJxYBUxT/DFlyozEaoz+OU1fl4szO3UCthJ2yZvxCdg== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" select2 "^4.0.13" -"@abp/sweetalert2@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-9.0.0-rc.2.tgz#60b25d65b3e5eb53e18ba5b1f3663783562d2506" - integrity sha512-VJslD1AMDZJhOEko79UYIxIYeAmr1YUwJu8XNAurBGPa9sWGI+jPY/dYg3uptg8GEJHsFtog84m3nUQ/prRUcw== +"@abp/sweetalert2@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-9.0.0.tgz#71e511117c18b515e5c658e9cc0667770af65d91" + integrity sha512-wxDqoA6RUhkbcN27Kzslu/m2ai5T9AkJRtgs7pV55LvPv1ohuCPEUeTVVh8S/5Pgmr7aPFAPxaaCO32aPcImPw== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" sweetalert2 "^11.14.1" -"@abp/timeago@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-9.0.0-rc.2.tgz#72a7da1eda19beb34c352f3f43d2f5181b0b926a" - integrity sha512-zRj+TssaDXW2OM4mNn47G1tRg4BZ2sqbEiiUIQrU9hHMHmxOf8bAJhqsouGDDZF3xetcwKhmLN08VWK1sqqpQA== +"@abp/timeago@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-9.0.0.tgz#8f262ba2a74e1c133d0c129f8a0bc55c29441e1a" + integrity sha512-eaNdIUEtDXnuYqS5O7EGRV+j6XOLAsxz7gd5BIKR9lDujd8pEjSJkXKO+/0KxLTkUSy3JudIO37K1h2wTpbYZA== dependencies: - "@abp/jquery" "~9.0.0-rc.2" + "@abp/jquery" "~9.0.0" timeago "^1.6.7" -"@abp/toastr@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-9.0.0-rc.2.tgz#ddbf0b6362941f62c07c9820af59dcd6912331d0" - integrity sha512-l4z6z3Oc/JF4XJplqGETQtBkqzjbpobcfzEHeH6LjUeunLMEVQOtjhPUBLrhg4ZM0i9k46hmxsoOkWXu7tClyQ== +"@abp/toastr@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-9.0.0.tgz#74d74ecb3e7f2d63b2ff7735c89a40deb3dc3a13" + integrity sha512-n9uJvw8l2HoxeowPO4diEMxwchGh6puefhyRljFAAstzK77Mhn0u2J7kPynNv94rLSYTYoCxUeJ4TTN+/TVDGQ== dependencies: - "@abp/jquery" "~9.0.0-rc.2" + "@abp/jquery" "~9.0.0" toastr "^2.1.4" -"@abp/utils@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-9.0.0-rc.2.tgz#e644889f1c1c4828b509aea9ae3ae48439a5b89d" - integrity sha512-eIL3syPE0LzPyeHV5+pgRxw3/H2YTmK2U9VEOUu26ExiCMIt5Waf8T92BjaH9sLrMD5P9ZAT2jWaxh+VTsEtKA== +"@abp/utils@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-9.0.0.tgz#2264fd83105b061860edd98dbe0efdfe55803ed5" + integrity sha512-/SB4VYk3Av+ltXv6ovkFHG4iWiECLLitaYWcEHxVAO80ufNjrNnWpHFpXHP8u/RpXIp/CoNiHLr6j5TkZUTZjw== dependencies: just-compare "^2.3.0" diff --git a/modules/blogging/app/Volo.BloggingTestApp/package.json b/modules/blogging/app/Volo.BloggingTestApp/package.json index 42628a1fcb..25c37cda9f 100644 --- a/modules/blogging/app/Volo.BloggingTestApp/package.json +++ b/modules/blogging/app/Volo.BloggingTestApp/package.json @@ -3,7 +3,7 @@ "name": "volo.blogtestapp", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.basic": "~9.0.0-rc.2", - "@abp/blogging": "~9.0.0-rc.2" + "@abp/aspnetcore.mvc.ui.theme.basic": "~9.0.0", + "@abp/blogging": "~9.0.0" } } diff --git a/modules/blogging/app/Volo.BloggingTestApp/yarn.lock b/modules/blogging/app/Volo.BloggingTestApp/yarn.lock index 8aeea320e7..4a01d58b56 100644 --- a/modules/blogging/app/Volo.BloggingTestApp/yarn.lock +++ b/modules/blogging/app/Volo.BloggingTestApp/yarn.lock @@ -2,237 +2,237 @@ # yarn lockfile v1 -"@abp/aspnetcore.mvc.ui.theme.basic@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-9.0.0-rc.2.tgz#db73b3121cbd02207842f0388999298df49392ac" - integrity sha512-vzUPdL1UJ+aXKcei0rCpm3VYX9twhmomd+HqfzcL65TtrXgIK8jCv4Wn0rRFfSGtUfM8OetIVVkmggIZusGTZQ== - dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "~9.0.0-rc.2" - -"@abp/aspnetcore.mvc.ui.theme.shared@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-9.0.0-rc.2.tgz#acaeaa5e0b329e5d836a198f7a3563d141d7fc79" - integrity sha512-hs8AoZwOnrMYmFl7/GQc6EUr5Jz5lTXWgSmp0l/DdH7f3INYEgCrIp5qvLFyNu8CHv6Gbegw2vGdpfDQbkiasw== - dependencies: - "@abp/aspnetcore.mvc.ui" "~9.0.0-rc.2" - "@abp/bootstrap" "~9.0.0-rc.2" - "@abp/bootstrap-datepicker" "~9.0.0-rc.2" - "@abp/bootstrap-daterangepicker" "~9.0.0-rc.2" - "@abp/datatables.net-bs5" "~9.0.0-rc.2" - "@abp/font-awesome" "~9.0.0-rc.2" - "@abp/jquery-form" "~9.0.0-rc.2" - "@abp/jquery-validation-unobtrusive" "~9.0.0-rc.2" - "@abp/lodash" "~9.0.0-rc.2" - "@abp/luxon" "~9.0.0-rc.2" - "@abp/malihu-custom-scrollbar-plugin" "~9.0.0-rc.2" - "@abp/moment" "~9.0.0-rc.2" - "@abp/select2" "~9.0.0-rc.2" - "@abp/sweetalert2" "~9.0.0-rc.2" - "@abp/timeago" "~9.0.0-rc.2" - "@abp/toastr" "~9.0.0-rc.2" - -"@abp/aspnetcore.mvc.ui@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-9.0.0-rc.2.tgz#5fc82ab4872b955cf46d755e99c656e0420a3c64" - integrity sha512-gGfHAsznxFIqTk6OFuRzcJ8D65VWmHkRqQjzmd97GZ1lNXRGDNGtYXbC/L1bA88O+qAXzhQ/c47h6in9cGh38w== +"@abp/aspnetcore.mvc.ui.theme.basic@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-9.0.0.tgz#e4b05d63446c24b612275e3949881e176d32527f" + integrity sha512-GHEt26xESe/TCg1q6ZjeUbxniqdxaiB1OPTZ9md7ONql6bEp8t9iUPeSlkyAZtQ7qBzwgkiLpkRFT+J21DftaQ== + dependencies: + "@abp/aspnetcore.mvc.ui.theme.shared" "~9.0.0" + +"@abp/aspnetcore.mvc.ui.theme.shared@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-9.0.0.tgz#a77b4b70fa6217146afd6a57211f57e2360564f2" + integrity sha512-QmZrSp+rfqfnC9W4QZ+nNdAq0rOALzRn1rsDpGDHhIHwyXB03QPdjzIWaEvldUYHzqg84cEP0LcqW4y57Xr1iw== + dependencies: + "@abp/aspnetcore.mvc.ui" "~9.0.0" + "@abp/bootstrap" "~9.0.0" + "@abp/bootstrap-datepicker" "~9.0.0" + "@abp/bootstrap-daterangepicker" "~9.0.0" + "@abp/datatables.net-bs5" "~9.0.0" + "@abp/font-awesome" "~9.0.0" + "@abp/jquery-form" "~9.0.0" + "@abp/jquery-validation-unobtrusive" "~9.0.0" + "@abp/lodash" "~9.0.0" + "@abp/luxon" "~9.0.0" + "@abp/malihu-custom-scrollbar-plugin" "~9.0.0" + "@abp/moment" "~9.0.0" + "@abp/select2" "~9.0.0" + "@abp/sweetalert2" "~9.0.0" + "@abp/timeago" "~9.0.0" + "@abp/toastr" "~9.0.0" + +"@abp/aspnetcore.mvc.ui@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-9.0.0.tgz#93004dd056c130386c7b40c458f3a793d8c9e051" + integrity sha512-pvO5bh9baFcSbfW0s7tpMpbe6DKSC16jeyeluZLlvYxC0n2gkrv7H/hB5aMuBKIlh89aGY9DQIcMFC8iczL3Bg== dependencies: ansi-colors "^4.1.3" -"@abp/blogging@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/blogging/-/blogging-9.0.0-rc.2.tgz#3cc6c811590156f0b9549dff7421b7638867c215" - integrity sha512-/zRHwKRKq4qJ0UDlbMvNR3n/bbNJ/7iHlcS8N5Fs8gOWqKhHMo9bH6F4vYIJ+d7C0nnlKU+KSN4Ldwyg69N/UA== +"@abp/blogging@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/blogging/-/blogging-9.0.0.tgz#bba9e0288e215473b1851ab58d4898a2455c2afe" + integrity sha512-tsKqEYnVhDrBHVMOwSTLR+OudEnxBpj5RhDiLPA+MO+FSqiJpuxlDI2SlH2Sz7alCF1RnAM/alITvrKq9TR/gg== dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "~9.0.0-rc.2" - "@abp/owl.carousel" "~9.0.0-rc.2" - "@abp/prismjs" "~9.0.0-rc.2" - "@abp/tui-editor" "~9.0.0-rc.2" + "@abp/aspnetcore.mvc.ui.theme.shared" "~9.0.0" + "@abp/owl.carousel" "~9.0.0" + "@abp/prismjs" "~9.0.0" + "@abp/tui-editor" "~9.0.0" -"@abp/bootstrap-datepicker@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-9.0.0-rc.2.tgz#884343a8c0b881e6612cbbbf1fb9af0f40cbc223" - integrity sha512-JqPKn0xFyqoA4smY3gtUE/HcbG5QmLtFpZNG/zMnDq2JEtJt13xee9FguYXrlMOrM9PqAwnq2Wrc8s71ROh8Zg== +"@abp/bootstrap-datepicker@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-9.0.0.tgz#d6609e50568aac6a013abfcaa07817998e1eaa99" + integrity sha512-wxAeVsOVOJpidDn0g3FlJvpOsn5SVY5IpEG+FtUxSAKuWYJQWF6g5CaghrfS+FNDK9IHhxrgSMPMVBK9YlDSzw== dependencies: bootstrap-datepicker "^1.10.0" -"@abp/bootstrap-daterangepicker@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-9.0.0-rc.2.tgz#bc0e134e36da111aaa25f7d4d3e90d394c873b50" - integrity sha512-5KChSBquD7pQNiI3TgJSYHw549Pxuom8TAg+44edjEKRvR7KUR8IkfdImlZYHPeLmoUTnnWXiFKOIxOi9OjLoA== +"@abp/bootstrap-daterangepicker@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-9.0.0.tgz#fc2871e7d886accd8e4748cb763b695e10701c00" + integrity sha512-qS6SQR6X7wMCVLcuXatJ2+m1GNlpN71p7VDritxfwAMHa7WBRAAi8apX2WItwBAuLQ2s1uSA0Wp1KstHG3VPLA== dependencies: bootstrap-daterangepicker "^3.1.0" -"@abp/bootstrap@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-9.0.0-rc.2.tgz#cf0b2567f44030d5d0620ca36d9d25999cd25e0e" - integrity sha512-Fkagr1fTyeKDtsvn7TKJKRkWNaYd6ZmE1IhLffwLwDpyt26JBYK3XqGXT+eHFXXpSxrgANERVogSN5E46IU1OQ== +"@abp/bootstrap@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-9.0.0.tgz#5ab292e95ba7eef129cbaa1dc5f5d5c0af8530d7" + integrity sha512-jEr6su8BfoNxYvze/UlddE3DlezyPvQeiNhff8SDPqtRQ6XvjZ48O/JwtY01hK2njEDLOZINY5zJRGmO2OiOUw== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" bootstrap "^5.3.3" -"@abp/clipboard@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-9.0.0-rc.2.tgz#dfa4df015beba83f7c44d749a24987a74a419b59" - integrity sha512-xuhFygNc4c67QkVMqsArQ4qGRJX+qKwSx4LQIaASaZq91ACtU2r5iTjCDb/YFcUVxXXufNLvuFgARGJp5vvvxA== +"@abp/clipboard@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-9.0.0.tgz#21ae924dfef6ccf3c8a3913bb81caf22b57404e4" + integrity sha512-W6S7pihpQ6Wfj48Clk7hYgDvUtnRwkNIsk5t8s9+LxoAdJQGQFxh7SAW1QNavUv8QqsClNE1VtSU87c7rSoAbA== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" clipboard "^2.0.11" -"@abp/core@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-9.0.0-rc.2.tgz#f0344669a745581b1032de396b1165f4cb3ea834" - integrity sha512-rmlWc6ydzRWVvQpkqSGEXcmYx1WJvxLajC7Ts6epbmmyklrx+tA5uQqCiSlsJWfIyaejLOjDka319arukaMb/Q== +"@abp/core@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/core/-/core-9.0.0.tgz#dc5ea9139957e307f73ac1f40b179f991e3c2168" + integrity sha512-vzQyTpqVDx63pOI9e2QLUMWZCrSojHsRnzLlvl+/cKFi7jE1q/uSP66FPR2bwkD+DNLI/tn6is1Jx3skKA1FvA== dependencies: - "@abp/utils" "~9.0.0-rc.2" + "@abp/utils" "~9.0.0" -"@abp/datatables.net-bs5@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-9.0.0-rc.2.tgz#7f01e5e74530cd9bb13545917f00a5c38163745a" - integrity sha512-snZi/kAtkH4p1t1cUIKU5DRDz+U2CUHk7JAZE+g9bClMvmDTh4Kta5JmTW3g++JSh+C0LQzYXRPXnV7TgUcBgw== +"@abp/datatables.net-bs5@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-9.0.0.tgz#4daee90bdb6446e854ce65f2a3afabb2a13e49ae" + integrity sha512-ln10tcRwxcB0nuSgqJ/66strHsqMHDC03c0ktxEplAN34yP7KInjFf/U9Svo74K0nKlkJdMCgmqmT4CnBJZlIg== dependencies: - "@abp/datatables.net" "~9.0.0-rc.2" + "@abp/datatables.net" "~9.0.0" datatables.net-bs5 "^2.1.8" -"@abp/datatables.net@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-9.0.0-rc.2.tgz#cf5a5df0c6735080f2ba1f1746f4eb8d05d02c5b" - integrity sha512-hdJH5xN6SXTFZXnv+fTmcmFU19Fr2sIZMrfirUfH1of8qTn7cObjAe9r189PGt/3FZeFPA8pmfnNL6ZLwnLKtw== +"@abp/datatables.net@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-9.0.0.tgz#82b28518293c9091ec72d5defae2f5d2903d8bbc" + integrity sha512-QhuX3bGZOckM/fhIIGj/StMJIX2BBtNbLzjTR7WnKMMxDkv0+oDvjw6OqqpYKSvj/q3vY6sRWuCNdEzNi0Fk6A== dependencies: - "@abp/jquery" "~9.0.0-rc.2" + "@abp/jquery" "~9.0.0" datatables.net "^2.1.8" -"@abp/font-awesome@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-9.0.0-rc.2.tgz#1493057e28b2e1e8a434ff1599e8b4b72b8784d2" - integrity sha512-EsQYx89OBquIxqGLgjAgMpUeAnWW316ruAmmxzGsusVT9KuIL6iuA4j4bdM8/6wJgi6zm2A/bDBjiiDDg2Cyyg== +"@abp/font-awesome@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-9.0.0.tgz#51cce18434a51d050ebb0d822a8c193b7e32f73d" + integrity sha512-bEHRVzOk0V2kFMAvB/YXFYaDKWRFO0+ScO7jrEFtFgdHXBcqy+dk1aM/N69WalyNmjRRpnh03GhH1LRpwL4/xA== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" "@fortawesome/fontawesome-free" "^6.6.0" -"@abp/jquery-form@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-9.0.0-rc.2.tgz#05a9082bc6c42fca3e001d97f77c0aa2e941448b" - integrity sha512-OUuwB/dgryiBG/iZCedwP2+8ot+PCeuAAMuZ1A/VXbNUJAbhiXF24tQM73wIhpAYcSc5egWjJ+VNTJKMKImTqA== +"@abp/jquery-form@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-9.0.0.tgz#6518eb117ee35c6bc57543fd1fccb0a8cf8e22f4" + integrity sha512-6qpfPGHrjADmm7Ne3zcXBGPuLngG8ldAn5fk9k2taftpyX0iR67/nZxiQ0ujaQGgaai5Wb3imNXMG96XLnubkQ== dependencies: - "@abp/jquery" "~9.0.0-rc.2" + "@abp/jquery" "~9.0.0" jquery-form "^4.3.0" -"@abp/jquery-validation-unobtrusive@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-9.0.0-rc.2.tgz#d38f053ad3a8509dc683dc3091128eb445579176" - integrity sha512-170ARAIz0NWuQnleB2nWPKYQl3x/Za2yxc0utjxY0rruHflNQPF2cMagLu+eBI6gDkThXNps74HiRPXOPdgc4A== +"@abp/jquery-validation-unobtrusive@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-9.0.0.tgz#8ee87dbdec5e92ab04ae9642a49af1598af31c1a" + integrity sha512-KlRQ1htyFmAIMS9xbHvHIcdhAgtPFe/u7c87MiWlk/CdhDrI3J+n5biLvQUzxCC+YWlwx27zBtPKx2vLeMRH6Q== dependencies: - "@abp/jquery-validation" "~9.0.0-rc.2" + "@abp/jquery-validation" "~9.0.0" jquery-validation-unobtrusive "^4.0.0" -"@abp/jquery-validation@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-9.0.0-rc.2.tgz#79c96c7eb48d5bebb3e7e86f8f9e2d6e2e45c5cb" - integrity sha512-6W2LiLgcC4FGTMLsoNkRBJTqDq6YR3ctLKzRfis9kOigkd0QT/PnB/451rrVb7+BCl9luKaA8DDYF671S8klFA== +"@abp/jquery-validation@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-9.0.0.tgz#681d8037c57b3875bd51c927e350ffce65d7c5d2" + integrity sha512-XgCUBFWbhTDcGepD/xkwA/1Hl4TyYitRttauDJk3tuyXhNtykvdugCCOPY4j2s6VoT1Sb/TFFvOcgEvlBwkKiw== dependencies: - "@abp/jquery" "~9.0.0-rc.2" + "@abp/jquery" "~9.0.0" jquery-validation "^1.21.0" -"@abp/jquery@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-9.0.0-rc.2.tgz#c8bd299d1b5558a4c3cef26b248d42e9a6303e33" - integrity sha512-GrO0gKdi20jlQ0YjWaddal0X0+5LkMpOAyMB1GdaDetLaaVjcZ+92zx1cApcAdIsCKgB+kyutRQv0b82o/EZPQ== +"@abp/jquery@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-9.0.0.tgz#6c67a9f927be598ab6201f8888e8a3cb8bba0686" + integrity sha512-cUXA7v6F1HqAc/w8fQGxHIfA/6BqO+4uHXDnSsJZtrI26DTLOgw5kBNnAz2W4xggGPCY7SKFHNRZuOW/QfVRPg== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" jquery "~3.7.1" -"@abp/lodash@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-9.0.0-rc.2.tgz#980a0ae2d95c83663f0f52f1b67b5cfb00d04b96" - integrity sha512-uwxv7WJqwRcGkVoB44JR1QJaMbe3RhCQsG6+Wee1Jjdgi2vkpFUCj2arM4Rxz1igntFjY2Z7NiBq+iL9HYIkSw== +"@abp/lodash@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-9.0.0.tgz#a4d42b2dfeb37859ff9f0079c7a8a6cabc982efe" + integrity sha512-xoAsOkkgnQdPH2OyFTgF6OlCLVbyGF4u8CrFcZWCZmuIFT9cg0+ZEiq//Vog1pg3Lf//N37ceGpOag1LwMe6cQ== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" lodash "^4.17.21" -"@abp/luxon@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-9.0.0-rc.2.tgz#1bb0eae53b707371489a4e0edf2869d7acc71da8" - integrity sha512-iWE8sbBWxCbNYSO3TTTzeotGS6kAnIwCKos/96mtaYJ4wzPW9pgF7K94CvwLAAg9NTsx/J/OGdmhhM2cULhv+w== +"@abp/luxon@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-9.0.0.tgz#a54dda13cbbd362481994d20d2e07c669c6ce109" + integrity sha512-aPejQnoVPfm60LnjwhfUkIsB+poNWusrBE0IHllxhvOVE+01nfa1Lvpp5AUWzV+XchPGOCSf+a29ds4EQWfNbg== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" luxon "^3.5.0" -"@abp/malihu-custom-scrollbar-plugin@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-9.0.0-rc.2.tgz#fce5c12be2bdf350b18aae52619309a474995442" - integrity sha512-e3JTnDSkjF9/MPh/nPqcvU8hkUxSMc5U6DnP169GBdVAYQwwnGD24x4QCWU7ch7s65FDJ8/uq7bYOcIAD0B+Dw== +"@abp/malihu-custom-scrollbar-plugin@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-9.0.0.tgz#b8a49202d531c711874a2bcdae5081ae0ed34c3f" + integrity sha512-iSZ9lKMnv5F2SplR+A4blhFEDq79lKbvBQuS7h/Di3KEHFOdJY4pA8NP8OR+PXOF3JfAezGyjqy7ydn/JNPRwA== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" malihu-custom-scrollbar-plugin "^3.1.5" -"@abp/moment@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-9.0.0-rc.2.tgz#2fc0feaaa0a26436cf00a6beccaa64f505aef301" - integrity sha512-yqkgu0bo3ra6HVFdS2wlqwTysciYOJWi/ERFVS2MfUkAKFA0P7mv8Jg5tB4vGY2Km++7r22kCDRlK3KUPmk21g== +"@abp/moment@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-9.0.0.tgz#9583e97472ddf608a9a5a6b8a37fee602b419900" + integrity sha512-wgyJSKmBmHLXZJN3dy3zK4i2JvWGgqnvdtrKURy/raEurxlymv8JF5JA971kTv6Kz2OA/OSYttpVJkDGUpPAhA== dependencies: moment "^2.30.1" -"@abp/owl.carousel@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/owl.carousel/-/owl.carousel-9.0.0-rc.2.tgz#23871fd8ffe693670ea78bdeac52733558d1b266" - integrity sha512-GzD8XSr6dzlsOPYUPO1Ug7FUIIGwZA1O95STNKla8x02V40pbo+VgFrYg3TyHbY4u35eyl+xeNN5heJd57nr7w== +"@abp/owl.carousel@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/owl.carousel/-/owl.carousel-9.0.0.tgz#44f6b35199940aa98b9b97bfaeb7872779133ae5" + integrity sha512-zwlrvm4wxvM/4OlUsJPhEy4I+N+wX27dwCQ640eAZirHlmRrOydAADDP964LDX6ay3PqvW8VzH/e0iEFqUBLWg== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" owl.carousel "^2.3.4" -"@abp/prismjs@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-9.0.0-rc.2.tgz#2de7bc2882fee46d3d7e2da1fb66bca6b06cc4dd" - integrity sha512-rQ4dVGk+lEHFFSIBsJPqijeh4k3UgoDMZL1rns2a6NR+QnR0J2Slx3Awt8SH+inQFH2JiLHVo9q4bG+81vCsag== +"@abp/prismjs@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-9.0.0.tgz#2ac4a5ddc0c8e0462af027a4dd97a177a3d6f7a5" + integrity sha512-+evmBq5qV+Ix/TNqO2ljJn0jygW2rEgKNtABcBGmrZC8xiI7+2hjKmSE0e43qb+RDib8aJjwH8ya8wF7p68ZFw== dependencies: - "@abp/clipboard" "~9.0.0-rc.2" - "@abp/core" "~9.0.0-rc.2" + "@abp/clipboard" "~9.0.0" + "@abp/core" "~9.0.0" prismjs "^1.29.0" -"@abp/select2@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-9.0.0-rc.2.tgz#53806118fdfe9f9228e26c6867ce0e75e6572b81" - integrity sha512-arKdcs95+4zp5764iOz09aJ3C1F2SsBIzekpjpJwMBdLRfoleZZFm12itO8I4Jjb1R+2CkW6MXjLR5xL2aE0PQ== +"@abp/select2@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-9.0.0.tgz#71503eebb746f40a0e565dba1efa05d6ae937b77" + integrity sha512-l+Hz2Qmc7AcyaTJOyuDaV99RbBWYxYxbeyVEc4xKbRFbJxYBUxT/DFlyozEaoz+OU1fl4szO3UCthJ2yZvxCdg== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" select2 "^4.0.13" -"@abp/sweetalert2@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-9.0.0-rc.2.tgz#60b25d65b3e5eb53e18ba5b1f3663783562d2506" - integrity sha512-VJslD1AMDZJhOEko79UYIxIYeAmr1YUwJu8XNAurBGPa9sWGI+jPY/dYg3uptg8GEJHsFtog84m3nUQ/prRUcw== +"@abp/sweetalert2@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-9.0.0.tgz#71e511117c18b515e5c658e9cc0667770af65d91" + integrity sha512-wxDqoA6RUhkbcN27Kzslu/m2ai5T9AkJRtgs7pV55LvPv1ohuCPEUeTVVh8S/5Pgmr7aPFAPxaaCO32aPcImPw== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" sweetalert2 "^11.14.1" -"@abp/timeago@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-9.0.0-rc.2.tgz#72a7da1eda19beb34c352f3f43d2f5181b0b926a" - integrity sha512-zRj+TssaDXW2OM4mNn47G1tRg4BZ2sqbEiiUIQrU9hHMHmxOf8bAJhqsouGDDZF3xetcwKhmLN08VWK1sqqpQA== +"@abp/timeago@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-9.0.0.tgz#8f262ba2a74e1c133d0c129f8a0bc55c29441e1a" + integrity sha512-eaNdIUEtDXnuYqS5O7EGRV+j6XOLAsxz7gd5BIKR9lDujd8pEjSJkXKO+/0KxLTkUSy3JudIO37K1h2wTpbYZA== dependencies: - "@abp/jquery" "~9.0.0-rc.2" + "@abp/jquery" "~9.0.0" timeago "^1.6.7" -"@abp/toastr@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-9.0.0-rc.2.tgz#ddbf0b6362941f62c07c9820af59dcd6912331d0" - integrity sha512-l4z6z3Oc/JF4XJplqGETQtBkqzjbpobcfzEHeH6LjUeunLMEVQOtjhPUBLrhg4ZM0i9k46hmxsoOkWXu7tClyQ== +"@abp/toastr@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-9.0.0.tgz#74d74ecb3e7f2d63b2ff7735c89a40deb3dc3a13" + integrity sha512-n9uJvw8l2HoxeowPO4diEMxwchGh6puefhyRljFAAstzK77Mhn0u2J7kPynNv94rLSYTYoCxUeJ4TTN+/TVDGQ== dependencies: - "@abp/jquery" "~9.0.0-rc.2" + "@abp/jquery" "~9.0.0" toastr "^2.1.4" -"@abp/tui-editor@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/tui-editor/-/tui-editor-9.0.0-rc.2.tgz#abe8e13566b337be023881627d4bd0dd574ed89f" - integrity sha512-Skw3/+Rda6iIyygtlLeam2J0cAH27WNN3bKVavRK4NLvq3mp2qdiV2eHgfVcZDLyc1X2UbrrzkqD9BQ288S+ag== +"@abp/tui-editor@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/tui-editor/-/tui-editor-9.0.0.tgz#d9f7721c3d8e361d901a0e0e11e786b2e12b234a" + integrity sha512-TVadK2Yi3wlwyvEVshh1PxkNRppYmqaPB6QE1cOhrWZAFbP1fh1oFvfqQiHN3o+9RGHFcEnhEK3D+49aHuDh3Q== dependencies: - "@abp/jquery" "~9.0.0-rc.2" - "@abp/prismjs" "~9.0.0-rc.2" + "@abp/jquery" "~9.0.0" + "@abp/prismjs" "~9.0.0" -"@abp/utils@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-9.0.0-rc.2.tgz#e644889f1c1c4828b509aea9ae3ae48439a5b89d" - integrity sha512-eIL3syPE0LzPyeHV5+pgRxw3/H2YTmK2U9VEOUu26ExiCMIt5Waf8T92BjaH9sLrMD5P9ZAT2jWaxh+VTsEtKA== +"@abp/utils@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-9.0.0.tgz#2264fd83105b061860edd98dbe0efdfe55803ed5" + integrity sha512-/SB4VYk3Av+ltXv6ovkFHG4iWiECLLitaYWcEHxVAO80ufNjrNnWpHFpXHP8u/RpXIp/CoNiHLr6j5TkZUTZjw== dependencies: just-compare "^2.3.0" diff --git a/modules/client-simulation/demo/Volo.ClientSimulation.Demo/package.json b/modules/client-simulation/demo/Volo.ClientSimulation.Demo/package.json index 487234559a..e625cd894f 100644 --- a/modules/client-simulation/demo/Volo.ClientSimulation.Demo/package.json +++ b/modules/client-simulation/demo/Volo.ClientSimulation.Demo/package.json @@ -3,6 +3,6 @@ "name": "client-simulation-web", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.basic": "~9.0.0-rc.2" + "@abp/aspnetcore.mvc.ui.theme.basic": "~9.0.0" } } diff --git a/modules/client-simulation/demo/Volo.ClientSimulation.Demo/yarn.lock b/modules/client-simulation/demo/Volo.ClientSimulation.Demo/yarn.lock index db507796bb..9e01130758 100644 --- a/modules/client-simulation/demo/Volo.ClientSimulation.Demo/yarn.lock +++ b/modules/client-simulation/demo/Volo.ClientSimulation.Demo/yarn.lock @@ -2,194 +2,194 @@ # yarn lockfile v1 -"@abp/aspnetcore.mvc.ui.theme.basic@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-9.0.0-rc.2.tgz#db73b3121cbd02207842f0388999298df49392ac" - integrity sha512-vzUPdL1UJ+aXKcei0rCpm3VYX9twhmomd+HqfzcL65TtrXgIK8jCv4Wn0rRFfSGtUfM8OetIVVkmggIZusGTZQ== - dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "~9.0.0-rc.2" - -"@abp/aspnetcore.mvc.ui.theme.shared@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-9.0.0-rc.2.tgz#acaeaa5e0b329e5d836a198f7a3563d141d7fc79" - integrity sha512-hs8AoZwOnrMYmFl7/GQc6EUr5Jz5lTXWgSmp0l/DdH7f3INYEgCrIp5qvLFyNu8CHv6Gbegw2vGdpfDQbkiasw== - dependencies: - "@abp/aspnetcore.mvc.ui" "~9.0.0-rc.2" - "@abp/bootstrap" "~9.0.0-rc.2" - "@abp/bootstrap-datepicker" "~9.0.0-rc.2" - "@abp/bootstrap-daterangepicker" "~9.0.0-rc.2" - "@abp/datatables.net-bs5" "~9.0.0-rc.2" - "@abp/font-awesome" "~9.0.0-rc.2" - "@abp/jquery-form" "~9.0.0-rc.2" - "@abp/jquery-validation-unobtrusive" "~9.0.0-rc.2" - "@abp/lodash" "~9.0.0-rc.2" - "@abp/luxon" "~9.0.0-rc.2" - "@abp/malihu-custom-scrollbar-plugin" "~9.0.0-rc.2" - "@abp/moment" "~9.0.0-rc.2" - "@abp/select2" "~9.0.0-rc.2" - "@abp/sweetalert2" "~9.0.0-rc.2" - "@abp/timeago" "~9.0.0-rc.2" - "@abp/toastr" "~9.0.0-rc.2" - -"@abp/aspnetcore.mvc.ui@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-9.0.0-rc.2.tgz#5fc82ab4872b955cf46d755e99c656e0420a3c64" - integrity sha512-gGfHAsznxFIqTk6OFuRzcJ8D65VWmHkRqQjzmd97GZ1lNXRGDNGtYXbC/L1bA88O+qAXzhQ/c47h6in9cGh38w== +"@abp/aspnetcore.mvc.ui.theme.basic@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-9.0.0.tgz#e4b05d63446c24b612275e3949881e176d32527f" + integrity sha512-GHEt26xESe/TCg1q6ZjeUbxniqdxaiB1OPTZ9md7ONql6bEp8t9iUPeSlkyAZtQ7qBzwgkiLpkRFT+J21DftaQ== + dependencies: + "@abp/aspnetcore.mvc.ui.theme.shared" "~9.0.0" + +"@abp/aspnetcore.mvc.ui.theme.shared@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-9.0.0.tgz#a77b4b70fa6217146afd6a57211f57e2360564f2" + integrity sha512-QmZrSp+rfqfnC9W4QZ+nNdAq0rOALzRn1rsDpGDHhIHwyXB03QPdjzIWaEvldUYHzqg84cEP0LcqW4y57Xr1iw== + dependencies: + "@abp/aspnetcore.mvc.ui" "~9.0.0" + "@abp/bootstrap" "~9.0.0" + "@abp/bootstrap-datepicker" "~9.0.0" + "@abp/bootstrap-daterangepicker" "~9.0.0" + "@abp/datatables.net-bs5" "~9.0.0" + "@abp/font-awesome" "~9.0.0" + "@abp/jquery-form" "~9.0.0" + "@abp/jquery-validation-unobtrusive" "~9.0.0" + "@abp/lodash" "~9.0.0" + "@abp/luxon" "~9.0.0" + "@abp/malihu-custom-scrollbar-plugin" "~9.0.0" + "@abp/moment" "~9.0.0" + "@abp/select2" "~9.0.0" + "@abp/sweetalert2" "~9.0.0" + "@abp/timeago" "~9.0.0" + "@abp/toastr" "~9.0.0" + +"@abp/aspnetcore.mvc.ui@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-9.0.0.tgz#93004dd056c130386c7b40c458f3a793d8c9e051" + integrity sha512-pvO5bh9baFcSbfW0s7tpMpbe6DKSC16jeyeluZLlvYxC0n2gkrv7H/hB5aMuBKIlh89aGY9DQIcMFC8iczL3Bg== dependencies: ansi-colors "^4.1.3" -"@abp/bootstrap-datepicker@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-9.0.0-rc.2.tgz#884343a8c0b881e6612cbbbf1fb9af0f40cbc223" - integrity sha512-JqPKn0xFyqoA4smY3gtUE/HcbG5QmLtFpZNG/zMnDq2JEtJt13xee9FguYXrlMOrM9PqAwnq2Wrc8s71ROh8Zg== +"@abp/bootstrap-datepicker@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-9.0.0.tgz#d6609e50568aac6a013abfcaa07817998e1eaa99" + integrity sha512-wxAeVsOVOJpidDn0g3FlJvpOsn5SVY5IpEG+FtUxSAKuWYJQWF6g5CaghrfS+FNDK9IHhxrgSMPMVBK9YlDSzw== dependencies: bootstrap-datepicker "^1.10.0" -"@abp/bootstrap-daterangepicker@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-9.0.0-rc.2.tgz#bc0e134e36da111aaa25f7d4d3e90d394c873b50" - integrity sha512-5KChSBquD7pQNiI3TgJSYHw549Pxuom8TAg+44edjEKRvR7KUR8IkfdImlZYHPeLmoUTnnWXiFKOIxOi9OjLoA== +"@abp/bootstrap-daterangepicker@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-9.0.0.tgz#fc2871e7d886accd8e4748cb763b695e10701c00" + integrity sha512-qS6SQR6X7wMCVLcuXatJ2+m1GNlpN71p7VDritxfwAMHa7WBRAAi8apX2WItwBAuLQ2s1uSA0Wp1KstHG3VPLA== dependencies: bootstrap-daterangepicker "^3.1.0" -"@abp/bootstrap@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-9.0.0-rc.2.tgz#cf0b2567f44030d5d0620ca36d9d25999cd25e0e" - integrity sha512-Fkagr1fTyeKDtsvn7TKJKRkWNaYd6ZmE1IhLffwLwDpyt26JBYK3XqGXT+eHFXXpSxrgANERVogSN5E46IU1OQ== +"@abp/bootstrap@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-9.0.0.tgz#5ab292e95ba7eef129cbaa1dc5f5d5c0af8530d7" + integrity sha512-jEr6su8BfoNxYvze/UlddE3DlezyPvQeiNhff8SDPqtRQ6XvjZ48O/JwtY01hK2njEDLOZINY5zJRGmO2OiOUw== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" bootstrap "^5.3.3" -"@abp/core@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-9.0.0-rc.2.tgz#f0344669a745581b1032de396b1165f4cb3ea834" - integrity sha512-rmlWc6ydzRWVvQpkqSGEXcmYx1WJvxLajC7Ts6epbmmyklrx+tA5uQqCiSlsJWfIyaejLOjDka319arukaMb/Q== +"@abp/core@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/core/-/core-9.0.0.tgz#dc5ea9139957e307f73ac1f40b179f991e3c2168" + integrity sha512-vzQyTpqVDx63pOI9e2QLUMWZCrSojHsRnzLlvl+/cKFi7jE1q/uSP66FPR2bwkD+DNLI/tn6is1Jx3skKA1FvA== dependencies: - "@abp/utils" "~9.0.0-rc.2" + "@abp/utils" "~9.0.0" -"@abp/datatables.net-bs5@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-9.0.0-rc.2.tgz#7f01e5e74530cd9bb13545917f00a5c38163745a" - integrity sha512-snZi/kAtkH4p1t1cUIKU5DRDz+U2CUHk7JAZE+g9bClMvmDTh4Kta5JmTW3g++JSh+C0LQzYXRPXnV7TgUcBgw== +"@abp/datatables.net-bs5@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-9.0.0.tgz#4daee90bdb6446e854ce65f2a3afabb2a13e49ae" + integrity sha512-ln10tcRwxcB0nuSgqJ/66strHsqMHDC03c0ktxEplAN34yP7KInjFf/U9Svo74K0nKlkJdMCgmqmT4CnBJZlIg== dependencies: - "@abp/datatables.net" "~9.0.0-rc.2" + "@abp/datatables.net" "~9.0.0" datatables.net-bs5 "^2.1.8" -"@abp/datatables.net@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-9.0.0-rc.2.tgz#cf5a5df0c6735080f2ba1f1746f4eb8d05d02c5b" - integrity sha512-hdJH5xN6SXTFZXnv+fTmcmFU19Fr2sIZMrfirUfH1of8qTn7cObjAe9r189PGt/3FZeFPA8pmfnNL6ZLwnLKtw== +"@abp/datatables.net@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-9.0.0.tgz#82b28518293c9091ec72d5defae2f5d2903d8bbc" + integrity sha512-QhuX3bGZOckM/fhIIGj/StMJIX2BBtNbLzjTR7WnKMMxDkv0+oDvjw6OqqpYKSvj/q3vY6sRWuCNdEzNi0Fk6A== dependencies: - "@abp/jquery" "~9.0.0-rc.2" + "@abp/jquery" "~9.0.0" datatables.net "^2.1.8" -"@abp/font-awesome@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-9.0.0-rc.2.tgz#1493057e28b2e1e8a434ff1599e8b4b72b8784d2" - integrity sha512-EsQYx89OBquIxqGLgjAgMpUeAnWW316ruAmmxzGsusVT9KuIL6iuA4j4bdM8/6wJgi6zm2A/bDBjiiDDg2Cyyg== +"@abp/font-awesome@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-9.0.0.tgz#51cce18434a51d050ebb0d822a8c193b7e32f73d" + integrity sha512-bEHRVzOk0V2kFMAvB/YXFYaDKWRFO0+ScO7jrEFtFgdHXBcqy+dk1aM/N69WalyNmjRRpnh03GhH1LRpwL4/xA== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" "@fortawesome/fontawesome-free" "^6.6.0" -"@abp/jquery-form@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-9.0.0-rc.2.tgz#05a9082bc6c42fca3e001d97f77c0aa2e941448b" - integrity sha512-OUuwB/dgryiBG/iZCedwP2+8ot+PCeuAAMuZ1A/VXbNUJAbhiXF24tQM73wIhpAYcSc5egWjJ+VNTJKMKImTqA== +"@abp/jquery-form@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-9.0.0.tgz#6518eb117ee35c6bc57543fd1fccb0a8cf8e22f4" + integrity sha512-6qpfPGHrjADmm7Ne3zcXBGPuLngG8ldAn5fk9k2taftpyX0iR67/nZxiQ0ujaQGgaai5Wb3imNXMG96XLnubkQ== dependencies: - "@abp/jquery" "~9.0.0-rc.2" + "@abp/jquery" "~9.0.0" jquery-form "^4.3.0" -"@abp/jquery-validation-unobtrusive@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-9.0.0-rc.2.tgz#d38f053ad3a8509dc683dc3091128eb445579176" - integrity sha512-170ARAIz0NWuQnleB2nWPKYQl3x/Za2yxc0utjxY0rruHflNQPF2cMagLu+eBI6gDkThXNps74HiRPXOPdgc4A== +"@abp/jquery-validation-unobtrusive@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-9.0.0.tgz#8ee87dbdec5e92ab04ae9642a49af1598af31c1a" + integrity sha512-KlRQ1htyFmAIMS9xbHvHIcdhAgtPFe/u7c87MiWlk/CdhDrI3J+n5biLvQUzxCC+YWlwx27zBtPKx2vLeMRH6Q== dependencies: - "@abp/jquery-validation" "~9.0.0-rc.2" + "@abp/jquery-validation" "~9.0.0" jquery-validation-unobtrusive "^4.0.0" -"@abp/jquery-validation@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-9.0.0-rc.2.tgz#79c96c7eb48d5bebb3e7e86f8f9e2d6e2e45c5cb" - integrity sha512-6W2LiLgcC4FGTMLsoNkRBJTqDq6YR3ctLKzRfis9kOigkd0QT/PnB/451rrVb7+BCl9luKaA8DDYF671S8klFA== +"@abp/jquery-validation@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-9.0.0.tgz#681d8037c57b3875bd51c927e350ffce65d7c5d2" + integrity sha512-XgCUBFWbhTDcGepD/xkwA/1Hl4TyYitRttauDJk3tuyXhNtykvdugCCOPY4j2s6VoT1Sb/TFFvOcgEvlBwkKiw== dependencies: - "@abp/jquery" "~9.0.0-rc.2" + "@abp/jquery" "~9.0.0" jquery-validation "^1.21.0" -"@abp/jquery@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-9.0.0-rc.2.tgz#c8bd299d1b5558a4c3cef26b248d42e9a6303e33" - integrity sha512-GrO0gKdi20jlQ0YjWaddal0X0+5LkMpOAyMB1GdaDetLaaVjcZ+92zx1cApcAdIsCKgB+kyutRQv0b82o/EZPQ== +"@abp/jquery@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-9.0.0.tgz#6c67a9f927be598ab6201f8888e8a3cb8bba0686" + integrity sha512-cUXA7v6F1HqAc/w8fQGxHIfA/6BqO+4uHXDnSsJZtrI26DTLOgw5kBNnAz2W4xggGPCY7SKFHNRZuOW/QfVRPg== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" jquery "~3.7.1" -"@abp/lodash@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-9.0.0-rc.2.tgz#980a0ae2d95c83663f0f52f1b67b5cfb00d04b96" - integrity sha512-uwxv7WJqwRcGkVoB44JR1QJaMbe3RhCQsG6+Wee1Jjdgi2vkpFUCj2arM4Rxz1igntFjY2Z7NiBq+iL9HYIkSw== +"@abp/lodash@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-9.0.0.tgz#a4d42b2dfeb37859ff9f0079c7a8a6cabc982efe" + integrity sha512-xoAsOkkgnQdPH2OyFTgF6OlCLVbyGF4u8CrFcZWCZmuIFT9cg0+ZEiq//Vog1pg3Lf//N37ceGpOag1LwMe6cQ== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" lodash "^4.17.21" -"@abp/luxon@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-9.0.0-rc.2.tgz#1bb0eae53b707371489a4e0edf2869d7acc71da8" - integrity sha512-iWE8sbBWxCbNYSO3TTTzeotGS6kAnIwCKos/96mtaYJ4wzPW9pgF7K94CvwLAAg9NTsx/J/OGdmhhM2cULhv+w== +"@abp/luxon@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-9.0.0.tgz#a54dda13cbbd362481994d20d2e07c669c6ce109" + integrity sha512-aPejQnoVPfm60LnjwhfUkIsB+poNWusrBE0IHllxhvOVE+01nfa1Lvpp5AUWzV+XchPGOCSf+a29ds4EQWfNbg== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" luxon "^3.5.0" -"@abp/malihu-custom-scrollbar-plugin@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-9.0.0-rc.2.tgz#fce5c12be2bdf350b18aae52619309a474995442" - integrity sha512-e3JTnDSkjF9/MPh/nPqcvU8hkUxSMc5U6DnP169GBdVAYQwwnGD24x4QCWU7ch7s65FDJ8/uq7bYOcIAD0B+Dw== +"@abp/malihu-custom-scrollbar-plugin@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-9.0.0.tgz#b8a49202d531c711874a2bcdae5081ae0ed34c3f" + integrity sha512-iSZ9lKMnv5F2SplR+A4blhFEDq79lKbvBQuS7h/Di3KEHFOdJY4pA8NP8OR+PXOF3JfAezGyjqy7ydn/JNPRwA== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" malihu-custom-scrollbar-plugin "^3.1.5" -"@abp/moment@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-9.0.0-rc.2.tgz#2fc0feaaa0a26436cf00a6beccaa64f505aef301" - integrity sha512-yqkgu0bo3ra6HVFdS2wlqwTysciYOJWi/ERFVS2MfUkAKFA0P7mv8Jg5tB4vGY2Km++7r22kCDRlK3KUPmk21g== +"@abp/moment@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-9.0.0.tgz#9583e97472ddf608a9a5a6b8a37fee602b419900" + integrity sha512-wgyJSKmBmHLXZJN3dy3zK4i2JvWGgqnvdtrKURy/raEurxlymv8JF5JA971kTv6Kz2OA/OSYttpVJkDGUpPAhA== dependencies: moment "^2.30.1" -"@abp/select2@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-9.0.0-rc.2.tgz#53806118fdfe9f9228e26c6867ce0e75e6572b81" - integrity sha512-arKdcs95+4zp5764iOz09aJ3C1F2SsBIzekpjpJwMBdLRfoleZZFm12itO8I4Jjb1R+2CkW6MXjLR5xL2aE0PQ== +"@abp/select2@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-9.0.0.tgz#71503eebb746f40a0e565dba1efa05d6ae937b77" + integrity sha512-l+Hz2Qmc7AcyaTJOyuDaV99RbBWYxYxbeyVEc4xKbRFbJxYBUxT/DFlyozEaoz+OU1fl4szO3UCthJ2yZvxCdg== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" select2 "^4.0.13" -"@abp/sweetalert2@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-9.0.0-rc.2.tgz#60b25d65b3e5eb53e18ba5b1f3663783562d2506" - integrity sha512-VJslD1AMDZJhOEko79UYIxIYeAmr1YUwJu8XNAurBGPa9sWGI+jPY/dYg3uptg8GEJHsFtog84m3nUQ/prRUcw== +"@abp/sweetalert2@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-9.0.0.tgz#71e511117c18b515e5c658e9cc0667770af65d91" + integrity sha512-wxDqoA6RUhkbcN27Kzslu/m2ai5T9AkJRtgs7pV55LvPv1ohuCPEUeTVVh8S/5Pgmr7aPFAPxaaCO32aPcImPw== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" sweetalert2 "^11.14.1" -"@abp/timeago@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-9.0.0-rc.2.tgz#72a7da1eda19beb34c352f3f43d2f5181b0b926a" - integrity sha512-zRj+TssaDXW2OM4mNn47G1tRg4BZ2sqbEiiUIQrU9hHMHmxOf8bAJhqsouGDDZF3xetcwKhmLN08VWK1sqqpQA== +"@abp/timeago@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-9.0.0.tgz#8f262ba2a74e1c133d0c129f8a0bc55c29441e1a" + integrity sha512-eaNdIUEtDXnuYqS5O7EGRV+j6XOLAsxz7gd5BIKR9lDujd8pEjSJkXKO+/0KxLTkUSy3JudIO37K1h2wTpbYZA== dependencies: - "@abp/jquery" "~9.0.0-rc.2" + "@abp/jquery" "~9.0.0" timeago "^1.6.7" -"@abp/toastr@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-9.0.0-rc.2.tgz#ddbf0b6362941f62c07c9820af59dcd6912331d0" - integrity sha512-l4z6z3Oc/JF4XJplqGETQtBkqzjbpobcfzEHeH6LjUeunLMEVQOtjhPUBLrhg4ZM0i9k46hmxsoOkWXu7tClyQ== +"@abp/toastr@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-9.0.0.tgz#74d74ecb3e7f2d63b2ff7735c89a40deb3dc3a13" + integrity sha512-n9uJvw8l2HoxeowPO4diEMxwchGh6puefhyRljFAAstzK77Mhn0u2J7kPynNv94rLSYTYoCxUeJ4TTN+/TVDGQ== dependencies: - "@abp/jquery" "~9.0.0-rc.2" + "@abp/jquery" "~9.0.0" toastr "^2.1.4" -"@abp/utils@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-9.0.0-rc.2.tgz#e644889f1c1c4828b509aea9ae3ae48439a5b89d" - integrity sha512-eIL3syPE0LzPyeHV5+pgRxw3/H2YTmK2U9VEOUu26ExiCMIt5Waf8T92BjaH9sLrMD5P9ZAT2jWaxh+VTsEtKA== +"@abp/utils@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-9.0.0.tgz#2264fd83105b061860edd98dbe0efdfe55803ed5" + integrity sha512-/SB4VYk3Av+ltXv6ovkFHG4iWiECLLitaYWcEHxVAO80ufNjrNnWpHFpXHP8u/RpXIp/CoNiHLr6j5TkZUTZjw== dependencies: just-compare "^2.3.0" diff --git a/modules/cms-kit/angular/package.json b/modules/cms-kit/angular/package.json index 819a00231f..898a2d3e9c 100644 --- a/modules/cms-kit/angular/package.json +++ b/modules/cms-kit/angular/package.json @@ -15,11 +15,11 @@ }, "private": true, "dependencies": { - "@abp/ng.account": "~9.0.0-rc.2", - "@abp/ng.identity": "~9.0.0-rc.2", - "@abp/ng.setting-management": "~9.0.0-rc.2", - "@abp/ng.tenant-management": "~9.0.0-rc.2", - "@abp/ng.theme.basic": "~9.0.0-rc.2", + "@abp/ng.account": "~9.0.0", + "@abp/ng.identity": "~9.0.0", + "@abp/ng.setting-management": "~9.0.0", + "@abp/ng.tenant-management": "~9.0.0", + "@abp/ng.theme.basic": "~9.0.0", "@angular/animations": "~10.0.0", "@angular/common": "~10.0.0", "@angular/compiler": "~10.0.0", diff --git a/modules/cms-kit/angular/projects/cms-kit/package.json b/modules/cms-kit/angular/projects/cms-kit/package.json index 85c8b8ae73..a7ab8c38c1 100644 --- a/modules/cms-kit/angular/projects/cms-kit/package.json +++ b/modules/cms-kit/angular/projects/cms-kit/package.json @@ -4,8 +4,8 @@ "peerDependencies": { "@angular/common": "^9.1.11", "@angular/core": "^9.1.11", - "@abp/ng.core": ">=9.0.0-rc.2", - "@abp/ng.theme.shared": ">=9.0.0-rc.2" + "@abp/ng.core": ">=9.0.0", + "@abp/ng.theme.shared": ">=9.0.0" }, "dependencies": { "tslib": "^2.0.0" diff --git a/modules/cms-kit/host/Volo.CmsKit.IdentityServer/package.json b/modules/cms-kit/host/Volo.CmsKit.IdentityServer/package.json index ad4c41c0b4..0150cbe740 100644 --- a/modules/cms-kit/host/Volo.CmsKit.IdentityServer/package.json +++ b/modules/cms-kit/host/Volo.CmsKit.IdentityServer/package.json @@ -3,6 +3,6 @@ "name": "my-app-identityserver", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.basic": "~9.0.0-rc.2" + "@abp/aspnetcore.mvc.ui.theme.basic": "~9.0.0" } } diff --git a/modules/cms-kit/host/Volo.CmsKit.IdentityServer/yarn.lock b/modules/cms-kit/host/Volo.CmsKit.IdentityServer/yarn.lock index db507796bb..9e01130758 100644 --- a/modules/cms-kit/host/Volo.CmsKit.IdentityServer/yarn.lock +++ b/modules/cms-kit/host/Volo.CmsKit.IdentityServer/yarn.lock @@ -2,194 +2,194 @@ # yarn lockfile v1 -"@abp/aspnetcore.mvc.ui.theme.basic@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-9.0.0-rc.2.tgz#db73b3121cbd02207842f0388999298df49392ac" - integrity sha512-vzUPdL1UJ+aXKcei0rCpm3VYX9twhmomd+HqfzcL65TtrXgIK8jCv4Wn0rRFfSGtUfM8OetIVVkmggIZusGTZQ== - dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "~9.0.0-rc.2" - -"@abp/aspnetcore.mvc.ui.theme.shared@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-9.0.0-rc.2.tgz#acaeaa5e0b329e5d836a198f7a3563d141d7fc79" - integrity sha512-hs8AoZwOnrMYmFl7/GQc6EUr5Jz5lTXWgSmp0l/DdH7f3INYEgCrIp5qvLFyNu8CHv6Gbegw2vGdpfDQbkiasw== - dependencies: - "@abp/aspnetcore.mvc.ui" "~9.0.0-rc.2" - "@abp/bootstrap" "~9.0.0-rc.2" - "@abp/bootstrap-datepicker" "~9.0.0-rc.2" - "@abp/bootstrap-daterangepicker" "~9.0.0-rc.2" - "@abp/datatables.net-bs5" "~9.0.0-rc.2" - "@abp/font-awesome" "~9.0.0-rc.2" - "@abp/jquery-form" "~9.0.0-rc.2" - "@abp/jquery-validation-unobtrusive" "~9.0.0-rc.2" - "@abp/lodash" "~9.0.0-rc.2" - "@abp/luxon" "~9.0.0-rc.2" - "@abp/malihu-custom-scrollbar-plugin" "~9.0.0-rc.2" - "@abp/moment" "~9.0.0-rc.2" - "@abp/select2" "~9.0.0-rc.2" - "@abp/sweetalert2" "~9.0.0-rc.2" - "@abp/timeago" "~9.0.0-rc.2" - "@abp/toastr" "~9.0.0-rc.2" - -"@abp/aspnetcore.mvc.ui@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-9.0.0-rc.2.tgz#5fc82ab4872b955cf46d755e99c656e0420a3c64" - integrity sha512-gGfHAsznxFIqTk6OFuRzcJ8D65VWmHkRqQjzmd97GZ1lNXRGDNGtYXbC/L1bA88O+qAXzhQ/c47h6in9cGh38w== +"@abp/aspnetcore.mvc.ui.theme.basic@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-9.0.0.tgz#e4b05d63446c24b612275e3949881e176d32527f" + integrity sha512-GHEt26xESe/TCg1q6ZjeUbxniqdxaiB1OPTZ9md7ONql6bEp8t9iUPeSlkyAZtQ7qBzwgkiLpkRFT+J21DftaQ== + dependencies: + "@abp/aspnetcore.mvc.ui.theme.shared" "~9.0.0" + +"@abp/aspnetcore.mvc.ui.theme.shared@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-9.0.0.tgz#a77b4b70fa6217146afd6a57211f57e2360564f2" + integrity sha512-QmZrSp+rfqfnC9W4QZ+nNdAq0rOALzRn1rsDpGDHhIHwyXB03QPdjzIWaEvldUYHzqg84cEP0LcqW4y57Xr1iw== + dependencies: + "@abp/aspnetcore.mvc.ui" "~9.0.0" + "@abp/bootstrap" "~9.0.0" + "@abp/bootstrap-datepicker" "~9.0.0" + "@abp/bootstrap-daterangepicker" "~9.0.0" + "@abp/datatables.net-bs5" "~9.0.0" + "@abp/font-awesome" "~9.0.0" + "@abp/jquery-form" "~9.0.0" + "@abp/jquery-validation-unobtrusive" "~9.0.0" + "@abp/lodash" "~9.0.0" + "@abp/luxon" "~9.0.0" + "@abp/malihu-custom-scrollbar-plugin" "~9.0.0" + "@abp/moment" "~9.0.0" + "@abp/select2" "~9.0.0" + "@abp/sweetalert2" "~9.0.0" + "@abp/timeago" "~9.0.0" + "@abp/toastr" "~9.0.0" + +"@abp/aspnetcore.mvc.ui@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-9.0.0.tgz#93004dd056c130386c7b40c458f3a793d8c9e051" + integrity sha512-pvO5bh9baFcSbfW0s7tpMpbe6DKSC16jeyeluZLlvYxC0n2gkrv7H/hB5aMuBKIlh89aGY9DQIcMFC8iczL3Bg== dependencies: ansi-colors "^4.1.3" -"@abp/bootstrap-datepicker@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-9.0.0-rc.2.tgz#884343a8c0b881e6612cbbbf1fb9af0f40cbc223" - integrity sha512-JqPKn0xFyqoA4smY3gtUE/HcbG5QmLtFpZNG/zMnDq2JEtJt13xee9FguYXrlMOrM9PqAwnq2Wrc8s71ROh8Zg== +"@abp/bootstrap-datepicker@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-9.0.0.tgz#d6609e50568aac6a013abfcaa07817998e1eaa99" + integrity sha512-wxAeVsOVOJpidDn0g3FlJvpOsn5SVY5IpEG+FtUxSAKuWYJQWF6g5CaghrfS+FNDK9IHhxrgSMPMVBK9YlDSzw== dependencies: bootstrap-datepicker "^1.10.0" -"@abp/bootstrap-daterangepicker@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-9.0.0-rc.2.tgz#bc0e134e36da111aaa25f7d4d3e90d394c873b50" - integrity sha512-5KChSBquD7pQNiI3TgJSYHw549Pxuom8TAg+44edjEKRvR7KUR8IkfdImlZYHPeLmoUTnnWXiFKOIxOi9OjLoA== +"@abp/bootstrap-daterangepicker@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-9.0.0.tgz#fc2871e7d886accd8e4748cb763b695e10701c00" + integrity sha512-qS6SQR6X7wMCVLcuXatJ2+m1GNlpN71p7VDritxfwAMHa7WBRAAi8apX2WItwBAuLQ2s1uSA0Wp1KstHG3VPLA== dependencies: bootstrap-daterangepicker "^3.1.0" -"@abp/bootstrap@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-9.0.0-rc.2.tgz#cf0b2567f44030d5d0620ca36d9d25999cd25e0e" - integrity sha512-Fkagr1fTyeKDtsvn7TKJKRkWNaYd6ZmE1IhLffwLwDpyt26JBYK3XqGXT+eHFXXpSxrgANERVogSN5E46IU1OQ== +"@abp/bootstrap@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-9.0.0.tgz#5ab292e95ba7eef129cbaa1dc5f5d5c0af8530d7" + integrity sha512-jEr6su8BfoNxYvze/UlddE3DlezyPvQeiNhff8SDPqtRQ6XvjZ48O/JwtY01hK2njEDLOZINY5zJRGmO2OiOUw== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" bootstrap "^5.3.3" -"@abp/core@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-9.0.0-rc.2.tgz#f0344669a745581b1032de396b1165f4cb3ea834" - integrity sha512-rmlWc6ydzRWVvQpkqSGEXcmYx1WJvxLajC7Ts6epbmmyklrx+tA5uQqCiSlsJWfIyaejLOjDka319arukaMb/Q== +"@abp/core@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/core/-/core-9.0.0.tgz#dc5ea9139957e307f73ac1f40b179f991e3c2168" + integrity sha512-vzQyTpqVDx63pOI9e2QLUMWZCrSojHsRnzLlvl+/cKFi7jE1q/uSP66FPR2bwkD+DNLI/tn6is1Jx3skKA1FvA== dependencies: - "@abp/utils" "~9.0.0-rc.2" + "@abp/utils" "~9.0.0" -"@abp/datatables.net-bs5@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-9.0.0-rc.2.tgz#7f01e5e74530cd9bb13545917f00a5c38163745a" - integrity sha512-snZi/kAtkH4p1t1cUIKU5DRDz+U2CUHk7JAZE+g9bClMvmDTh4Kta5JmTW3g++JSh+C0LQzYXRPXnV7TgUcBgw== +"@abp/datatables.net-bs5@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-9.0.0.tgz#4daee90bdb6446e854ce65f2a3afabb2a13e49ae" + integrity sha512-ln10tcRwxcB0nuSgqJ/66strHsqMHDC03c0ktxEplAN34yP7KInjFf/U9Svo74K0nKlkJdMCgmqmT4CnBJZlIg== dependencies: - "@abp/datatables.net" "~9.0.0-rc.2" + "@abp/datatables.net" "~9.0.0" datatables.net-bs5 "^2.1.8" -"@abp/datatables.net@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-9.0.0-rc.2.tgz#cf5a5df0c6735080f2ba1f1746f4eb8d05d02c5b" - integrity sha512-hdJH5xN6SXTFZXnv+fTmcmFU19Fr2sIZMrfirUfH1of8qTn7cObjAe9r189PGt/3FZeFPA8pmfnNL6ZLwnLKtw== +"@abp/datatables.net@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-9.0.0.tgz#82b28518293c9091ec72d5defae2f5d2903d8bbc" + integrity sha512-QhuX3bGZOckM/fhIIGj/StMJIX2BBtNbLzjTR7WnKMMxDkv0+oDvjw6OqqpYKSvj/q3vY6sRWuCNdEzNi0Fk6A== dependencies: - "@abp/jquery" "~9.0.0-rc.2" + "@abp/jquery" "~9.0.0" datatables.net "^2.1.8" -"@abp/font-awesome@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-9.0.0-rc.2.tgz#1493057e28b2e1e8a434ff1599e8b4b72b8784d2" - integrity sha512-EsQYx89OBquIxqGLgjAgMpUeAnWW316ruAmmxzGsusVT9KuIL6iuA4j4bdM8/6wJgi6zm2A/bDBjiiDDg2Cyyg== +"@abp/font-awesome@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-9.0.0.tgz#51cce18434a51d050ebb0d822a8c193b7e32f73d" + integrity sha512-bEHRVzOk0V2kFMAvB/YXFYaDKWRFO0+ScO7jrEFtFgdHXBcqy+dk1aM/N69WalyNmjRRpnh03GhH1LRpwL4/xA== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" "@fortawesome/fontawesome-free" "^6.6.0" -"@abp/jquery-form@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-9.0.0-rc.2.tgz#05a9082bc6c42fca3e001d97f77c0aa2e941448b" - integrity sha512-OUuwB/dgryiBG/iZCedwP2+8ot+PCeuAAMuZ1A/VXbNUJAbhiXF24tQM73wIhpAYcSc5egWjJ+VNTJKMKImTqA== +"@abp/jquery-form@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-9.0.0.tgz#6518eb117ee35c6bc57543fd1fccb0a8cf8e22f4" + integrity sha512-6qpfPGHrjADmm7Ne3zcXBGPuLngG8ldAn5fk9k2taftpyX0iR67/nZxiQ0ujaQGgaai5Wb3imNXMG96XLnubkQ== dependencies: - "@abp/jquery" "~9.0.0-rc.2" + "@abp/jquery" "~9.0.0" jquery-form "^4.3.0" -"@abp/jquery-validation-unobtrusive@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-9.0.0-rc.2.tgz#d38f053ad3a8509dc683dc3091128eb445579176" - integrity sha512-170ARAIz0NWuQnleB2nWPKYQl3x/Za2yxc0utjxY0rruHflNQPF2cMagLu+eBI6gDkThXNps74HiRPXOPdgc4A== +"@abp/jquery-validation-unobtrusive@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-9.0.0.tgz#8ee87dbdec5e92ab04ae9642a49af1598af31c1a" + integrity sha512-KlRQ1htyFmAIMS9xbHvHIcdhAgtPFe/u7c87MiWlk/CdhDrI3J+n5biLvQUzxCC+YWlwx27zBtPKx2vLeMRH6Q== dependencies: - "@abp/jquery-validation" "~9.0.0-rc.2" + "@abp/jquery-validation" "~9.0.0" jquery-validation-unobtrusive "^4.0.0" -"@abp/jquery-validation@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-9.0.0-rc.2.tgz#79c96c7eb48d5bebb3e7e86f8f9e2d6e2e45c5cb" - integrity sha512-6W2LiLgcC4FGTMLsoNkRBJTqDq6YR3ctLKzRfis9kOigkd0QT/PnB/451rrVb7+BCl9luKaA8DDYF671S8klFA== +"@abp/jquery-validation@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-9.0.0.tgz#681d8037c57b3875bd51c927e350ffce65d7c5d2" + integrity sha512-XgCUBFWbhTDcGepD/xkwA/1Hl4TyYitRttauDJk3tuyXhNtykvdugCCOPY4j2s6VoT1Sb/TFFvOcgEvlBwkKiw== dependencies: - "@abp/jquery" "~9.0.0-rc.2" + "@abp/jquery" "~9.0.0" jquery-validation "^1.21.0" -"@abp/jquery@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-9.0.0-rc.2.tgz#c8bd299d1b5558a4c3cef26b248d42e9a6303e33" - integrity sha512-GrO0gKdi20jlQ0YjWaddal0X0+5LkMpOAyMB1GdaDetLaaVjcZ+92zx1cApcAdIsCKgB+kyutRQv0b82o/EZPQ== +"@abp/jquery@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-9.0.0.tgz#6c67a9f927be598ab6201f8888e8a3cb8bba0686" + integrity sha512-cUXA7v6F1HqAc/w8fQGxHIfA/6BqO+4uHXDnSsJZtrI26DTLOgw5kBNnAz2W4xggGPCY7SKFHNRZuOW/QfVRPg== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" jquery "~3.7.1" -"@abp/lodash@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-9.0.0-rc.2.tgz#980a0ae2d95c83663f0f52f1b67b5cfb00d04b96" - integrity sha512-uwxv7WJqwRcGkVoB44JR1QJaMbe3RhCQsG6+Wee1Jjdgi2vkpFUCj2arM4Rxz1igntFjY2Z7NiBq+iL9HYIkSw== +"@abp/lodash@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-9.0.0.tgz#a4d42b2dfeb37859ff9f0079c7a8a6cabc982efe" + integrity sha512-xoAsOkkgnQdPH2OyFTgF6OlCLVbyGF4u8CrFcZWCZmuIFT9cg0+ZEiq//Vog1pg3Lf//N37ceGpOag1LwMe6cQ== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" lodash "^4.17.21" -"@abp/luxon@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-9.0.0-rc.2.tgz#1bb0eae53b707371489a4e0edf2869d7acc71da8" - integrity sha512-iWE8sbBWxCbNYSO3TTTzeotGS6kAnIwCKos/96mtaYJ4wzPW9pgF7K94CvwLAAg9NTsx/J/OGdmhhM2cULhv+w== +"@abp/luxon@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-9.0.0.tgz#a54dda13cbbd362481994d20d2e07c669c6ce109" + integrity sha512-aPejQnoVPfm60LnjwhfUkIsB+poNWusrBE0IHllxhvOVE+01nfa1Lvpp5AUWzV+XchPGOCSf+a29ds4EQWfNbg== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" luxon "^3.5.0" -"@abp/malihu-custom-scrollbar-plugin@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-9.0.0-rc.2.tgz#fce5c12be2bdf350b18aae52619309a474995442" - integrity sha512-e3JTnDSkjF9/MPh/nPqcvU8hkUxSMc5U6DnP169GBdVAYQwwnGD24x4QCWU7ch7s65FDJ8/uq7bYOcIAD0B+Dw== +"@abp/malihu-custom-scrollbar-plugin@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-9.0.0.tgz#b8a49202d531c711874a2bcdae5081ae0ed34c3f" + integrity sha512-iSZ9lKMnv5F2SplR+A4blhFEDq79lKbvBQuS7h/Di3KEHFOdJY4pA8NP8OR+PXOF3JfAezGyjqy7ydn/JNPRwA== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" malihu-custom-scrollbar-plugin "^3.1.5" -"@abp/moment@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-9.0.0-rc.2.tgz#2fc0feaaa0a26436cf00a6beccaa64f505aef301" - integrity sha512-yqkgu0bo3ra6HVFdS2wlqwTysciYOJWi/ERFVS2MfUkAKFA0P7mv8Jg5tB4vGY2Km++7r22kCDRlK3KUPmk21g== +"@abp/moment@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-9.0.0.tgz#9583e97472ddf608a9a5a6b8a37fee602b419900" + integrity sha512-wgyJSKmBmHLXZJN3dy3zK4i2JvWGgqnvdtrKURy/raEurxlymv8JF5JA971kTv6Kz2OA/OSYttpVJkDGUpPAhA== dependencies: moment "^2.30.1" -"@abp/select2@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-9.0.0-rc.2.tgz#53806118fdfe9f9228e26c6867ce0e75e6572b81" - integrity sha512-arKdcs95+4zp5764iOz09aJ3C1F2SsBIzekpjpJwMBdLRfoleZZFm12itO8I4Jjb1R+2CkW6MXjLR5xL2aE0PQ== +"@abp/select2@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-9.0.0.tgz#71503eebb746f40a0e565dba1efa05d6ae937b77" + integrity sha512-l+Hz2Qmc7AcyaTJOyuDaV99RbBWYxYxbeyVEc4xKbRFbJxYBUxT/DFlyozEaoz+OU1fl4szO3UCthJ2yZvxCdg== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" select2 "^4.0.13" -"@abp/sweetalert2@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-9.0.0-rc.2.tgz#60b25d65b3e5eb53e18ba5b1f3663783562d2506" - integrity sha512-VJslD1AMDZJhOEko79UYIxIYeAmr1YUwJu8XNAurBGPa9sWGI+jPY/dYg3uptg8GEJHsFtog84m3nUQ/prRUcw== +"@abp/sweetalert2@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-9.0.0.tgz#71e511117c18b515e5c658e9cc0667770af65d91" + integrity sha512-wxDqoA6RUhkbcN27Kzslu/m2ai5T9AkJRtgs7pV55LvPv1ohuCPEUeTVVh8S/5Pgmr7aPFAPxaaCO32aPcImPw== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" sweetalert2 "^11.14.1" -"@abp/timeago@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-9.0.0-rc.2.tgz#72a7da1eda19beb34c352f3f43d2f5181b0b926a" - integrity sha512-zRj+TssaDXW2OM4mNn47G1tRg4BZ2sqbEiiUIQrU9hHMHmxOf8bAJhqsouGDDZF3xetcwKhmLN08VWK1sqqpQA== +"@abp/timeago@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-9.0.0.tgz#8f262ba2a74e1c133d0c129f8a0bc55c29441e1a" + integrity sha512-eaNdIUEtDXnuYqS5O7EGRV+j6XOLAsxz7gd5BIKR9lDujd8pEjSJkXKO+/0KxLTkUSy3JudIO37K1h2wTpbYZA== dependencies: - "@abp/jquery" "~9.0.0-rc.2" + "@abp/jquery" "~9.0.0" timeago "^1.6.7" -"@abp/toastr@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-9.0.0-rc.2.tgz#ddbf0b6362941f62c07c9820af59dcd6912331d0" - integrity sha512-l4z6z3Oc/JF4XJplqGETQtBkqzjbpobcfzEHeH6LjUeunLMEVQOtjhPUBLrhg4ZM0i9k46hmxsoOkWXu7tClyQ== +"@abp/toastr@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-9.0.0.tgz#74d74ecb3e7f2d63b2ff7735c89a40deb3dc3a13" + integrity sha512-n9uJvw8l2HoxeowPO4diEMxwchGh6puefhyRljFAAstzK77Mhn0u2J7kPynNv94rLSYTYoCxUeJ4TTN+/TVDGQ== dependencies: - "@abp/jquery" "~9.0.0-rc.2" + "@abp/jquery" "~9.0.0" toastr "^2.1.4" -"@abp/utils@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-9.0.0-rc.2.tgz#e644889f1c1c4828b509aea9ae3ae48439a5b89d" - integrity sha512-eIL3syPE0LzPyeHV5+pgRxw3/H2YTmK2U9VEOUu26ExiCMIt5Waf8T92BjaH9sLrMD5P9ZAT2jWaxh+VTsEtKA== +"@abp/utils@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-9.0.0.tgz#2264fd83105b061860edd98dbe0efdfe55803ed5" + integrity sha512-/SB4VYk3Av+ltXv6ovkFHG4iWiECLLitaYWcEHxVAO80ufNjrNnWpHFpXHP8u/RpXIp/CoNiHLr6j5TkZUTZjw== dependencies: just-compare "^2.3.0" diff --git a/modules/cms-kit/host/Volo.CmsKit.Web.Host/package.json b/modules/cms-kit/host/Volo.CmsKit.Web.Host/package.json index 49894b8882..8b5210b25f 100644 --- a/modules/cms-kit/host/Volo.CmsKit.Web.Host/package.json +++ b/modules/cms-kit/host/Volo.CmsKit.Web.Host/package.json @@ -3,6 +3,6 @@ "name": "my-app", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.basic": "~9.0.0-rc.2" + "@abp/aspnetcore.mvc.ui.theme.basic": "~9.0.0" } } diff --git a/modules/cms-kit/host/Volo.CmsKit.Web.Host/yarn.lock b/modules/cms-kit/host/Volo.CmsKit.Web.Host/yarn.lock index db507796bb..9e01130758 100644 --- a/modules/cms-kit/host/Volo.CmsKit.Web.Host/yarn.lock +++ b/modules/cms-kit/host/Volo.CmsKit.Web.Host/yarn.lock @@ -2,194 +2,194 @@ # yarn lockfile v1 -"@abp/aspnetcore.mvc.ui.theme.basic@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-9.0.0-rc.2.tgz#db73b3121cbd02207842f0388999298df49392ac" - integrity sha512-vzUPdL1UJ+aXKcei0rCpm3VYX9twhmomd+HqfzcL65TtrXgIK8jCv4Wn0rRFfSGtUfM8OetIVVkmggIZusGTZQ== - dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "~9.0.0-rc.2" - -"@abp/aspnetcore.mvc.ui.theme.shared@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-9.0.0-rc.2.tgz#acaeaa5e0b329e5d836a198f7a3563d141d7fc79" - integrity sha512-hs8AoZwOnrMYmFl7/GQc6EUr5Jz5lTXWgSmp0l/DdH7f3INYEgCrIp5qvLFyNu8CHv6Gbegw2vGdpfDQbkiasw== - dependencies: - "@abp/aspnetcore.mvc.ui" "~9.0.0-rc.2" - "@abp/bootstrap" "~9.0.0-rc.2" - "@abp/bootstrap-datepicker" "~9.0.0-rc.2" - "@abp/bootstrap-daterangepicker" "~9.0.0-rc.2" - "@abp/datatables.net-bs5" "~9.0.0-rc.2" - "@abp/font-awesome" "~9.0.0-rc.2" - "@abp/jquery-form" "~9.0.0-rc.2" - "@abp/jquery-validation-unobtrusive" "~9.0.0-rc.2" - "@abp/lodash" "~9.0.0-rc.2" - "@abp/luxon" "~9.0.0-rc.2" - "@abp/malihu-custom-scrollbar-plugin" "~9.0.0-rc.2" - "@abp/moment" "~9.0.0-rc.2" - "@abp/select2" "~9.0.0-rc.2" - "@abp/sweetalert2" "~9.0.0-rc.2" - "@abp/timeago" "~9.0.0-rc.2" - "@abp/toastr" "~9.0.0-rc.2" - -"@abp/aspnetcore.mvc.ui@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-9.0.0-rc.2.tgz#5fc82ab4872b955cf46d755e99c656e0420a3c64" - integrity sha512-gGfHAsznxFIqTk6OFuRzcJ8D65VWmHkRqQjzmd97GZ1lNXRGDNGtYXbC/L1bA88O+qAXzhQ/c47h6in9cGh38w== +"@abp/aspnetcore.mvc.ui.theme.basic@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-9.0.0.tgz#e4b05d63446c24b612275e3949881e176d32527f" + integrity sha512-GHEt26xESe/TCg1q6ZjeUbxniqdxaiB1OPTZ9md7ONql6bEp8t9iUPeSlkyAZtQ7qBzwgkiLpkRFT+J21DftaQ== + dependencies: + "@abp/aspnetcore.mvc.ui.theme.shared" "~9.0.0" + +"@abp/aspnetcore.mvc.ui.theme.shared@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-9.0.0.tgz#a77b4b70fa6217146afd6a57211f57e2360564f2" + integrity sha512-QmZrSp+rfqfnC9W4QZ+nNdAq0rOALzRn1rsDpGDHhIHwyXB03QPdjzIWaEvldUYHzqg84cEP0LcqW4y57Xr1iw== + dependencies: + "@abp/aspnetcore.mvc.ui" "~9.0.0" + "@abp/bootstrap" "~9.0.0" + "@abp/bootstrap-datepicker" "~9.0.0" + "@abp/bootstrap-daterangepicker" "~9.0.0" + "@abp/datatables.net-bs5" "~9.0.0" + "@abp/font-awesome" "~9.0.0" + "@abp/jquery-form" "~9.0.0" + "@abp/jquery-validation-unobtrusive" "~9.0.0" + "@abp/lodash" "~9.0.0" + "@abp/luxon" "~9.0.0" + "@abp/malihu-custom-scrollbar-plugin" "~9.0.0" + "@abp/moment" "~9.0.0" + "@abp/select2" "~9.0.0" + "@abp/sweetalert2" "~9.0.0" + "@abp/timeago" "~9.0.0" + "@abp/toastr" "~9.0.0" + +"@abp/aspnetcore.mvc.ui@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-9.0.0.tgz#93004dd056c130386c7b40c458f3a793d8c9e051" + integrity sha512-pvO5bh9baFcSbfW0s7tpMpbe6DKSC16jeyeluZLlvYxC0n2gkrv7H/hB5aMuBKIlh89aGY9DQIcMFC8iczL3Bg== dependencies: ansi-colors "^4.1.3" -"@abp/bootstrap-datepicker@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-9.0.0-rc.2.tgz#884343a8c0b881e6612cbbbf1fb9af0f40cbc223" - integrity sha512-JqPKn0xFyqoA4smY3gtUE/HcbG5QmLtFpZNG/zMnDq2JEtJt13xee9FguYXrlMOrM9PqAwnq2Wrc8s71ROh8Zg== +"@abp/bootstrap-datepicker@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-9.0.0.tgz#d6609e50568aac6a013abfcaa07817998e1eaa99" + integrity sha512-wxAeVsOVOJpidDn0g3FlJvpOsn5SVY5IpEG+FtUxSAKuWYJQWF6g5CaghrfS+FNDK9IHhxrgSMPMVBK9YlDSzw== dependencies: bootstrap-datepicker "^1.10.0" -"@abp/bootstrap-daterangepicker@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-9.0.0-rc.2.tgz#bc0e134e36da111aaa25f7d4d3e90d394c873b50" - integrity sha512-5KChSBquD7pQNiI3TgJSYHw549Pxuom8TAg+44edjEKRvR7KUR8IkfdImlZYHPeLmoUTnnWXiFKOIxOi9OjLoA== +"@abp/bootstrap-daterangepicker@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-9.0.0.tgz#fc2871e7d886accd8e4748cb763b695e10701c00" + integrity sha512-qS6SQR6X7wMCVLcuXatJ2+m1GNlpN71p7VDritxfwAMHa7WBRAAi8apX2WItwBAuLQ2s1uSA0Wp1KstHG3VPLA== dependencies: bootstrap-daterangepicker "^3.1.0" -"@abp/bootstrap@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-9.0.0-rc.2.tgz#cf0b2567f44030d5d0620ca36d9d25999cd25e0e" - integrity sha512-Fkagr1fTyeKDtsvn7TKJKRkWNaYd6ZmE1IhLffwLwDpyt26JBYK3XqGXT+eHFXXpSxrgANERVogSN5E46IU1OQ== +"@abp/bootstrap@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-9.0.0.tgz#5ab292e95ba7eef129cbaa1dc5f5d5c0af8530d7" + integrity sha512-jEr6su8BfoNxYvze/UlddE3DlezyPvQeiNhff8SDPqtRQ6XvjZ48O/JwtY01hK2njEDLOZINY5zJRGmO2OiOUw== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" bootstrap "^5.3.3" -"@abp/core@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-9.0.0-rc.2.tgz#f0344669a745581b1032de396b1165f4cb3ea834" - integrity sha512-rmlWc6ydzRWVvQpkqSGEXcmYx1WJvxLajC7Ts6epbmmyklrx+tA5uQqCiSlsJWfIyaejLOjDka319arukaMb/Q== +"@abp/core@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/core/-/core-9.0.0.tgz#dc5ea9139957e307f73ac1f40b179f991e3c2168" + integrity sha512-vzQyTpqVDx63pOI9e2QLUMWZCrSojHsRnzLlvl+/cKFi7jE1q/uSP66FPR2bwkD+DNLI/tn6is1Jx3skKA1FvA== dependencies: - "@abp/utils" "~9.0.0-rc.2" + "@abp/utils" "~9.0.0" -"@abp/datatables.net-bs5@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-9.0.0-rc.2.tgz#7f01e5e74530cd9bb13545917f00a5c38163745a" - integrity sha512-snZi/kAtkH4p1t1cUIKU5DRDz+U2CUHk7JAZE+g9bClMvmDTh4Kta5JmTW3g++JSh+C0LQzYXRPXnV7TgUcBgw== +"@abp/datatables.net-bs5@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-9.0.0.tgz#4daee90bdb6446e854ce65f2a3afabb2a13e49ae" + integrity sha512-ln10tcRwxcB0nuSgqJ/66strHsqMHDC03c0ktxEplAN34yP7KInjFf/U9Svo74K0nKlkJdMCgmqmT4CnBJZlIg== dependencies: - "@abp/datatables.net" "~9.0.0-rc.2" + "@abp/datatables.net" "~9.0.0" datatables.net-bs5 "^2.1.8" -"@abp/datatables.net@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-9.0.0-rc.2.tgz#cf5a5df0c6735080f2ba1f1746f4eb8d05d02c5b" - integrity sha512-hdJH5xN6SXTFZXnv+fTmcmFU19Fr2sIZMrfirUfH1of8qTn7cObjAe9r189PGt/3FZeFPA8pmfnNL6ZLwnLKtw== +"@abp/datatables.net@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-9.0.0.tgz#82b28518293c9091ec72d5defae2f5d2903d8bbc" + integrity sha512-QhuX3bGZOckM/fhIIGj/StMJIX2BBtNbLzjTR7WnKMMxDkv0+oDvjw6OqqpYKSvj/q3vY6sRWuCNdEzNi0Fk6A== dependencies: - "@abp/jquery" "~9.0.0-rc.2" + "@abp/jquery" "~9.0.0" datatables.net "^2.1.8" -"@abp/font-awesome@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-9.0.0-rc.2.tgz#1493057e28b2e1e8a434ff1599e8b4b72b8784d2" - integrity sha512-EsQYx89OBquIxqGLgjAgMpUeAnWW316ruAmmxzGsusVT9KuIL6iuA4j4bdM8/6wJgi6zm2A/bDBjiiDDg2Cyyg== +"@abp/font-awesome@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-9.0.0.tgz#51cce18434a51d050ebb0d822a8c193b7e32f73d" + integrity sha512-bEHRVzOk0V2kFMAvB/YXFYaDKWRFO0+ScO7jrEFtFgdHXBcqy+dk1aM/N69WalyNmjRRpnh03GhH1LRpwL4/xA== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" "@fortawesome/fontawesome-free" "^6.6.0" -"@abp/jquery-form@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-9.0.0-rc.2.tgz#05a9082bc6c42fca3e001d97f77c0aa2e941448b" - integrity sha512-OUuwB/dgryiBG/iZCedwP2+8ot+PCeuAAMuZ1A/VXbNUJAbhiXF24tQM73wIhpAYcSc5egWjJ+VNTJKMKImTqA== +"@abp/jquery-form@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-9.0.0.tgz#6518eb117ee35c6bc57543fd1fccb0a8cf8e22f4" + integrity sha512-6qpfPGHrjADmm7Ne3zcXBGPuLngG8ldAn5fk9k2taftpyX0iR67/nZxiQ0ujaQGgaai5Wb3imNXMG96XLnubkQ== dependencies: - "@abp/jquery" "~9.0.0-rc.2" + "@abp/jquery" "~9.0.0" jquery-form "^4.3.0" -"@abp/jquery-validation-unobtrusive@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-9.0.0-rc.2.tgz#d38f053ad3a8509dc683dc3091128eb445579176" - integrity sha512-170ARAIz0NWuQnleB2nWPKYQl3x/Za2yxc0utjxY0rruHflNQPF2cMagLu+eBI6gDkThXNps74HiRPXOPdgc4A== +"@abp/jquery-validation-unobtrusive@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-9.0.0.tgz#8ee87dbdec5e92ab04ae9642a49af1598af31c1a" + integrity sha512-KlRQ1htyFmAIMS9xbHvHIcdhAgtPFe/u7c87MiWlk/CdhDrI3J+n5biLvQUzxCC+YWlwx27zBtPKx2vLeMRH6Q== dependencies: - "@abp/jquery-validation" "~9.0.0-rc.2" + "@abp/jquery-validation" "~9.0.0" jquery-validation-unobtrusive "^4.0.0" -"@abp/jquery-validation@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-9.0.0-rc.2.tgz#79c96c7eb48d5bebb3e7e86f8f9e2d6e2e45c5cb" - integrity sha512-6W2LiLgcC4FGTMLsoNkRBJTqDq6YR3ctLKzRfis9kOigkd0QT/PnB/451rrVb7+BCl9luKaA8DDYF671S8klFA== +"@abp/jquery-validation@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-9.0.0.tgz#681d8037c57b3875bd51c927e350ffce65d7c5d2" + integrity sha512-XgCUBFWbhTDcGepD/xkwA/1Hl4TyYitRttauDJk3tuyXhNtykvdugCCOPY4j2s6VoT1Sb/TFFvOcgEvlBwkKiw== dependencies: - "@abp/jquery" "~9.0.0-rc.2" + "@abp/jquery" "~9.0.0" jquery-validation "^1.21.0" -"@abp/jquery@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-9.0.0-rc.2.tgz#c8bd299d1b5558a4c3cef26b248d42e9a6303e33" - integrity sha512-GrO0gKdi20jlQ0YjWaddal0X0+5LkMpOAyMB1GdaDetLaaVjcZ+92zx1cApcAdIsCKgB+kyutRQv0b82o/EZPQ== +"@abp/jquery@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-9.0.0.tgz#6c67a9f927be598ab6201f8888e8a3cb8bba0686" + integrity sha512-cUXA7v6F1HqAc/w8fQGxHIfA/6BqO+4uHXDnSsJZtrI26DTLOgw5kBNnAz2W4xggGPCY7SKFHNRZuOW/QfVRPg== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" jquery "~3.7.1" -"@abp/lodash@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-9.0.0-rc.2.tgz#980a0ae2d95c83663f0f52f1b67b5cfb00d04b96" - integrity sha512-uwxv7WJqwRcGkVoB44JR1QJaMbe3RhCQsG6+Wee1Jjdgi2vkpFUCj2arM4Rxz1igntFjY2Z7NiBq+iL9HYIkSw== +"@abp/lodash@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-9.0.0.tgz#a4d42b2dfeb37859ff9f0079c7a8a6cabc982efe" + integrity sha512-xoAsOkkgnQdPH2OyFTgF6OlCLVbyGF4u8CrFcZWCZmuIFT9cg0+ZEiq//Vog1pg3Lf//N37ceGpOag1LwMe6cQ== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" lodash "^4.17.21" -"@abp/luxon@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-9.0.0-rc.2.tgz#1bb0eae53b707371489a4e0edf2869d7acc71da8" - integrity sha512-iWE8sbBWxCbNYSO3TTTzeotGS6kAnIwCKos/96mtaYJ4wzPW9pgF7K94CvwLAAg9NTsx/J/OGdmhhM2cULhv+w== +"@abp/luxon@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-9.0.0.tgz#a54dda13cbbd362481994d20d2e07c669c6ce109" + integrity sha512-aPejQnoVPfm60LnjwhfUkIsB+poNWusrBE0IHllxhvOVE+01nfa1Lvpp5AUWzV+XchPGOCSf+a29ds4EQWfNbg== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" luxon "^3.5.0" -"@abp/malihu-custom-scrollbar-plugin@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-9.0.0-rc.2.tgz#fce5c12be2bdf350b18aae52619309a474995442" - integrity sha512-e3JTnDSkjF9/MPh/nPqcvU8hkUxSMc5U6DnP169GBdVAYQwwnGD24x4QCWU7ch7s65FDJ8/uq7bYOcIAD0B+Dw== +"@abp/malihu-custom-scrollbar-plugin@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-9.0.0.tgz#b8a49202d531c711874a2bcdae5081ae0ed34c3f" + integrity sha512-iSZ9lKMnv5F2SplR+A4blhFEDq79lKbvBQuS7h/Di3KEHFOdJY4pA8NP8OR+PXOF3JfAezGyjqy7ydn/JNPRwA== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" malihu-custom-scrollbar-plugin "^3.1.5" -"@abp/moment@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-9.0.0-rc.2.tgz#2fc0feaaa0a26436cf00a6beccaa64f505aef301" - integrity sha512-yqkgu0bo3ra6HVFdS2wlqwTysciYOJWi/ERFVS2MfUkAKFA0P7mv8Jg5tB4vGY2Km++7r22kCDRlK3KUPmk21g== +"@abp/moment@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-9.0.0.tgz#9583e97472ddf608a9a5a6b8a37fee602b419900" + integrity sha512-wgyJSKmBmHLXZJN3dy3zK4i2JvWGgqnvdtrKURy/raEurxlymv8JF5JA971kTv6Kz2OA/OSYttpVJkDGUpPAhA== dependencies: moment "^2.30.1" -"@abp/select2@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-9.0.0-rc.2.tgz#53806118fdfe9f9228e26c6867ce0e75e6572b81" - integrity sha512-arKdcs95+4zp5764iOz09aJ3C1F2SsBIzekpjpJwMBdLRfoleZZFm12itO8I4Jjb1R+2CkW6MXjLR5xL2aE0PQ== +"@abp/select2@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-9.0.0.tgz#71503eebb746f40a0e565dba1efa05d6ae937b77" + integrity sha512-l+Hz2Qmc7AcyaTJOyuDaV99RbBWYxYxbeyVEc4xKbRFbJxYBUxT/DFlyozEaoz+OU1fl4szO3UCthJ2yZvxCdg== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" select2 "^4.0.13" -"@abp/sweetalert2@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-9.0.0-rc.2.tgz#60b25d65b3e5eb53e18ba5b1f3663783562d2506" - integrity sha512-VJslD1AMDZJhOEko79UYIxIYeAmr1YUwJu8XNAurBGPa9sWGI+jPY/dYg3uptg8GEJHsFtog84m3nUQ/prRUcw== +"@abp/sweetalert2@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-9.0.0.tgz#71e511117c18b515e5c658e9cc0667770af65d91" + integrity sha512-wxDqoA6RUhkbcN27Kzslu/m2ai5T9AkJRtgs7pV55LvPv1ohuCPEUeTVVh8S/5Pgmr7aPFAPxaaCO32aPcImPw== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" sweetalert2 "^11.14.1" -"@abp/timeago@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-9.0.0-rc.2.tgz#72a7da1eda19beb34c352f3f43d2f5181b0b926a" - integrity sha512-zRj+TssaDXW2OM4mNn47G1tRg4BZ2sqbEiiUIQrU9hHMHmxOf8bAJhqsouGDDZF3xetcwKhmLN08VWK1sqqpQA== +"@abp/timeago@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-9.0.0.tgz#8f262ba2a74e1c133d0c129f8a0bc55c29441e1a" + integrity sha512-eaNdIUEtDXnuYqS5O7EGRV+j6XOLAsxz7gd5BIKR9lDujd8pEjSJkXKO+/0KxLTkUSy3JudIO37K1h2wTpbYZA== dependencies: - "@abp/jquery" "~9.0.0-rc.2" + "@abp/jquery" "~9.0.0" timeago "^1.6.7" -"@abp/toastr@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-9.0.0-rc.2.tgz#ddbf0b6362941f62c07c9820af59dcd6912331d0" - integrity sha512-l4z6z3Oc/JF4XJplqGETQtBkqzjbpobcfzEHeH6LjUeunLMEVQOtjhPUBLrhg4ZM0i9k46hmxsoOkWXu7tClyQ== +"@abp/toastr@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-9.0.0.tgz#74d74ecb3e7f2d63b2ff7735c89a40deb3dc3a13" + integrity sha512-n9uJvw8l2HoxeowPO4diEMxwchGh6puefhyRljFAAstzK77Mhn0u2J7kPynNv94rLSYTYoCxUeJ4TTN+/TVDGQ== dependencies: - "@abp/jquery" "~9.0.0-rc.2" + "@abp/jquery" "~9.0.0" toastr "^2.1.4" -"@abp/utils@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-9.0.0-rc.2.tgz#e644889f1c1c4828b509aea9ae3ae48439a5b89d" - integrity sha512-eIL3syPE0LzPyeHV5+pgRxw3/H2YTmK2U9VEOUu26ExiCMIt5Waf8T92BjaH9sLrMD5P9ZAT2jWaxh+VTsEtKA== +"@abp/utils@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-9.0.0.tgz#2264fd83105b061860edd98dbe0efdfe55803ed5" + integrity sha512-/SB4VYk3Av+ltXv6ovkFHG4iWiECLLitaYWcEHxVAO80ufNjrNnWpHFpXHP8u/RpXIp/CoNiHLr6j5TkZUTZjw== dependencies: just-compare "^2.3.0" diff --git a/modules/cms-kit/host/Volo.CmsKit.Web.Unified/package.json b/modules/cms-kit/host/Volo.CmsKit.Web.Unified/package.json index 7d09b0ec28..5619ca083e 100644 --- a/modules/cms-kit/host/Volo.CmsKit.Web.Unified/package.json +++ b/modules/cms-kit/host/Volo.CmsKit.Web.Unified/package.json @@ -3,7 +3,7 @@ "name": "my-app", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.basic": "~9.0.0-rc.2", - "@abp/cms-kit": "9.0.0-rc.2" + "@abp/aspnetcore.mvc.ui.theme.basic": "~9.0.0", + "@abp/cms-kit": "9.0.0" } } diff --git a/modules/cms-kit/host/Volo.CmsKit.Web.Unified/yarn.lock b/modules/cms-kit/host/Volo.CmsKit.Web.Unified/yarn.lock index 5f985b9791..3c5c5f9e97 100644 --- a/modules/cms-kit/host/Volo.CmsKit.Web.Unified/yarn.lock +++ b/modules/cms-kit/host/Volo.CmsKit.Web.Unified/yarn.lock @@ -2,302 +2,302 @@ # yarn lockfile v1 -"@abp/aspnetcore.mvc.ui.theme.basic@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-9.0.0-rc.2.tgz#db73b3121cbd02207842f0388999298df49392ac" - integrity sha512-vzUPdL1UJ+aXKcei0rCpm3VYX9twhmomd+HqfzcL65TtrXgIK8jCv4Wn0rRFfSGtUfM8OetIVVkmggIZusGTZQ== - dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "~9.0.0-rc.2" - -"@abp/aspnetcore.mvc.ui.theme.shared@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-9.0.0-rc.2.tgz#acaeaa5e0b329e5d836a198f7a3563d141d7fc79" - integrity sha512-hs8AoZwOnrMYmFl7/GQc6EUr5Jz5lTXWgSmp0l/DdH7f3INYEgCrIp5qvLFyNu8CHv6Gbegw2vGdpfDQbkiasw== - dependencies: - "@abp/aspnetcore.mvc.ui" "~9.0.0-rc.2" - "@abp/bootstrap" "~9.0.0-rc.2" - "@abp/bootstrap-datepicker" "~9.0.0-rc.2" - "@abp/bootstrap-daterangepicker" "~9.0.0-rc.2" - "@abp/datatables.net-bs5" "~9.0.0-rc.2" - "@abp/font-awesome" "~9.0.0-rc.2" - "@abp/jquery-form" "~9.0.0-rc.2" - "@abp/jquery-validation-unobtrusive" "~9.0.0-rc.2" - "@abp/lodash" "~9.0.0-rc.2" - "@abp/luxon" "~9.0.0-rc.2" - "@abp/malihu-custom-scrollbar-plugin" "~9.0.0-rc.2" - "@abp/moment" "~9.0.0-rc.2" - "@abp/select2" "~9.0.0-rc.2" - "@abp/sweetalert2" "~9.0.0-rc.2" - "@abp/timeago" "~9.0.0-rc.2" - "@abp/toastr" "~9.0.0-rc.2" - -"@abp/aspnetcore.mvc.ui@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-9.0.0-rc.2.tgz#5fc82ab4872b955cf46d755e99c656e0420a3c64" - integrity sha512-gGfHAsznxFIqTk6OFuRzcJ8D65VWmHkRqQjzmd97GZ1lNXRGDNGtYXbC/L1bA88O+qAXzhQ/c47h6in9cGh38w== +"@abp/aspnetcore.mvc.ui.theme.basic@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-9.0.0.tgz#e4b05d63446c24b612275e3949881e176d32527f" + integrity sha512-GHEt26xESe/TCg1q6ZjeUbxniqdxaiB1OPTZ9md7ONql6bEp8t9iUPeSlkyAZtQ7qBzwgkiLpkRFT+J21DftaQ== + dependencies: + "@abp/aspnetcore.mvc.ui.theme.shared" "~9.0.0" + +"@abp/aspnetcore.mvc.ui.theme.shared@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-9.0.0.tgz#a77b4b70fa6217146afd6a57211f57e2360564f2" + integrity sha512-QmZrSp+rfqfnC9W4QZ+nNdAq0rOALzRn1rsDpGDHhIHwyXB03QPdjzIWaEvldUYHzqg84cEP0LcqW4y57Xr1iw== + dependencies: + "@abp/aspnetcore.mvc.ui" "~9.0.0" + "@abp/bootstrap" "~9.0.0" + "@abp/bootstrap-datepicker" "~9.0.0" + "@abp/bootstrap-daterangepicker" "~9.0.0" + "@abp/datatables.net-bs5" "~9.0.0" + "@abp/font-awesome" "~9.0.0" + "@abp/jquery-form" "~9.0.0" + "@abp/jquery-validation-unobtrusive" "~9.0.0" + "@abp/lodash" "~9.0.0" + "@abp/luxon" "~9.0.0" + "@abp/malihu-custom-scrollbar-plugin" "~9.0.0" + "@abp/moment" "~9.0.0" + "@abp/select2" "~9.0.0" + "@abp/sweetalert2" "~9.0.0" + "@abp/timeago" "~9.0.0" + "@abp/toastr" "~9.0.0" + +"@abp/aspnetcore.mvc.ui@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-9.0.0.tgz#93004dd056c130386c7b40c458f3a793d8c9e051" + integrity sha512-pvO5bh9baFcSbfW0s7tpMpbe6DKSC16jeyeluZLlvYxC0n2gkrv7H/hB5aMuBKIlh89aGY9DQIcMFC8iczL3Bg== dependencies: ansi-colors "^4.1.3" -"@abp/bootstrap-datepicker@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-9.0.0-rc.2.tgz#884343a8c0b881e6612cbbbf1fb9af0f40cbc223" - integrity sha512-JqPKn0xFyqoA4smY3gtUE/HcbG5QmLtFpZNG/zMnDq2JEtJt13xee9FguYXrlMOrM9PqAwnq2Wrc8s71ROh8Zg== +"@abp/bootstrap-datepicker@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-9.0.0.tgz#d6609e50568aac6a013abfcaa07817998e1eaa99" + integrity sha512-wxAeVsOVOJpidDn0g3FlJvpOsn5SVY5IpEG+FtUxSAKuWYJQWF6g5CaghrfS+FNDK9IHhxrgSMPMVBK9YlDSzw== dependencies: bootstrap-datepicker "^1.10.0" -"@abp/bootstrap-daterangepicker@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-9.0.0-rc.2.tgz#bc0e134e36da111aaa25f7d4d3e90d394c873b50" - integrity sha512-5KChSBquD7pQNiI3TgJSYHw549Pxuom8TAg+44edjEKRvR7KUR8IkfdImlZYHPeLmoUTnnWXiFKOIxOi9OjLoA== +"@abp/bootstrap-daterangepicker@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-9.0.0.tgz#fc2871e7d886accd8e4748cb763b695e10701c00" + integrity sha512-qS6SQR6X7wMCVLcuXatJ2+m1GNlpN71p7VDritxfwAMHa7WBRAAi8apX2WItwBAuLQ2s1uSA0Wp1KstHG3VPLA== dependencies: bootstrap-daterangepicker "^3.1.0" -"@abp/bootstrap@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-9.0.0-rc.2.tgz#cf0b2567f44030d5d0620ca36d9d25999cd25e0e" - integrity sha512-Fkagr1fTyeKDtsvn7TKJKRkWNaYd6ZmE1IhLffwLwDpyt26JBYK3XqGXT+eHFXXpSxrgANERVogSN5E46IU1OQ== +"@abp/bootstrap@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-9.0.0.tgz#5ab292e95ba7eef129cbaa1dc5f5d5c0af8530d7" + integrity sha512-jEr6su8BfoNxYvze/UlddE3DlezyPvQeiNhff8SDPqtRQ6XvjZ48O/JwtY01hK2njEDLOZINY5zJRGmO2OiOUw== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" bootstrap "^5.3.3" -"@abp/clipboard@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-9.0.0-rc.2.tgz#dfa4df015beba83f7c44d749a24987a74a419b59" - integrity sha512-xuhFygNc4c67QkVMqsArQ4qGRJX+qKwSx4LQIaASaZq91ACtU2r5iTjCDb/YFcUVxXXufNLvuFgARGJp5vvvxA== +"@abp/clipboard@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-9.0.0.tgz#21ae924dfef6ccf3c8a3913bb81caf22b57404e4" + integrity sha512-W6S7pihpQ6Wfj48Clk7hYgDvUtnRwkNIsk5t8s9+LxoAdJQGQFxh7SAW1QNavUv8QqsClNE1VtSU87c7rSoAbA== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" clipboard "^2.0.11" -"@abp/cms-kit.admin@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/cms-kit.admin/-/cms-kit.admin-9.0.0-rc.2.tgz#6300fb61805c70aa0c5071a4d88db3fa0833ff9d" - integrity sha512-dqDlRU306GqE8F92A7Aj+5ONzSralXXdnlQVutpp95NE629S1I2LvndC8ehCkbqSBkDPT3sWIKirstInFiRpKw== +"@abp/cms-kit.admin@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/cms-kit.admin/-/cms-kit.admin-9.0.0.tgz#584337c9d751c9eae26be8f276683b5c3c23a499" + integrity sha512-SYixIuy7McA9UhaKmun8IG0QBmegvk8KBrE/6Uvo1Cmd6Z/oT9SS+i/f09+7UVtU+7x5kkL+9sIs/7sS79cY0g== dependencies: - "@abp/codemirror" "~9.0.0-rc.2" - "@abp/jstree" "~9.0.0-rc.2" - "@abp/markdown-it" "~9.0.0-rc.2" - "@abp/slugify" "~9.0.0-rc.2" - "@abp/tui-editor" "~9.0.0-rc.2" - "@abp/uppy" "~9.0.0-rc.2" + "@abp/codemirror" "~9.0.0" + "@abp/jstree" "~9.0.0" + "@abp/markdown-it" "~9.0.0" + "@abp/slugify" "~9.0.0" + "@abp/tui-editor" "~9.0.0" + "@abp/uppy" "~9.0.0" -"@abp/cms-kit.public@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/cms-kit.public/-/cms-kit.public-9.0.0-rc.2.tgz#3dc5d16dc9e329e8043e961e851167e1f8cae5ef" - integrity sha512-5dQr6SKY5v4fZ9l8eTZBwWcRbj8+1EA1MoamUaRHcoCDcDb+JnCfqUjDFCT4Tj+W4LxypmtSmeHrfSeYIJBEyg== +"@abp/cms-kit.public@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/cms-kit.public/-/cms-kit.public-9.0.0.tgz#bdc8f60bc5b1ffa640baced8c5562f93f7e8b754" + integrity sha512-s141fUfN9rcRdT4KKjR7PthITnFSx6RXrxPaXiOfNXPdnVQmgKRg7HhO92KJQKO+CeYbiMNO3Fpt9MSffvkEJQ== dependencies: - "@abp/highlight.js" "~9.0.0-rc.2" - "@abp/star-rating-svg" "~9.0.0-rc.2" + "@abp/highlight.js" "~9.0.0" + "@abp/star-rating-svg" "~9.0.0" -"@abp/cms-kit@9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/cms-kit/-/cms-kit-9.0.0-rc.2.tgz#afbc3e4d5616b5190b7c96cd87f326a1c4dca982" - integrity sha512-Au3LPZ64XKt22r63oQ1Z7DAanr3cdl5wdUpMLodJgw/n1ESH4Mi5gIKKH6InTo7ZjpVmQNdgqXA+/jw+SKTUdQ== +"@abp/cms-kit@9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/cms-kit/-/cms-kit-9.0.0.tgz#19364cf6ccfbf6ec927c21ce302a85dfe4215f1b" + integrity sha512-ZjakEuhKvDh1r3tVnDUxkQWj+9TJuqaFEI2vEiHysB81rM5mqKaOtATfhtC75CN5LDqiKCAzDs+6ty4YmTe1PQ== dependencies: - "@abp/cms-kit.admin" "~9.0.0-rc.2" - "@abp/cms-kit.public" "~9.0.0-rc.2" + "@abp/cms-kit.admin" "~9.0.0" + "@abp/cms-kit.public" "~9.0.0" -"@abp/codemirror@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/codemirror/-/codemirror-9.0.0-rc.2.tgz#63f6b271ac00faf7166b4cd9807b19c854b67756" - integrity sha512-V7LWwhtphp7UEfS6ivR7Ksi7W4Va30ecA5jTS4PGRLRb2R8GOEBvdIOBH6BqhqoQh3AKVtMiqr+IsinQZcBhrQ== +"@abp/codemirror@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/codemirror/-/codemirror-9.0.0.tgz#d398edce6ececdaf1f62e216f98a91b26fb595bd" + integrity sha512-tXcdoXjpco8VnjE/on4ax9USfz3lu03Y+TehAt1tbVQRBdhkGL+qFB/MrewRKUNM8TjSewuT7D4RxpmThABpNw== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" codemirror "^5.65.1" -"@abp/core@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-9.0.0-rc.2.tgz#f0344669a745581b1032de396b1165f4cb3ea834" - integrity sha512-rmlWc6ydzRWVvQpkqSGEXcmYx1WJvxLajC7Ts6epbmmyklrx+tA5uQqCiSlsJWfIyaejLOjDka319arukaMb/Q== +"@abp/core@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/core/-/core-9.0.0.tgz#dc5ea9139957e307f73ac1f40b179f991e3c2168" + integrity sha512-vzQyTpqVDx63pOI9e2QLUMWZCrSojHsRnzLlvl+/cKFi7jE1q/uSP66FPR2bwkD+DNLI/tn6is1Jx3skKA1FvA== dependencies: - "@abp/utils" "~9.0.0-rc.2" + "@abp/utils" "~9.0.0" -"@abp/datatables.net-bs5@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-9.0.0-rc.2.tgz#7f01e5e74530cd9bb13545917f00a5c38163745a" - integrity sha512-snZi/kAtkH4p1t1cUIKU5DRDz+U2CUHk7JAZE+g9bClMvmDTh4Kta5JmTW3g++JSh+C0LQzYXRPXnV7TgUcBgw== +"@abp/datatables.net-bs5@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-9.0.0.tgz#4daee90bdb6446e854ce65f2a3afabb2a13e49ae" + integrity sha512-ln10tcRwxcB0nuSgqJ/66strHsqMHDC03c0ktxEplAN34yP7KInjFf/U9Svo74K0nKlkJdMCgmqmT4CnBJZlIg== dependencies: - "@abp/datatables.net" "~9.0.0-rc.2" + "@abp/datatables.net" "~9.0.0" datatables.net-bs5 "^2.1.8" -"@abp/datatables.net@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-9.0.0-rc.2.tgz#cf5a5df0c6735080f2ba1f1746f4eb8d05d02c5b" - integrity sha512-hdJH5xN6SXTFZXnv+fTmcmFU19Fr2sIZMrfirUfH1of8qTn7cObjAe9r189PGt/3FZeFPA8pmfnNL6ZLwnLKtw== +"@abp/datatables.net@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-9.0.0.tgz#82b28518293c9091ec72d5defae2f5d2903d8bbc" + integrity sha512-QhuX3bGZOckM/fhIIGj/StMJIX2BBtNbLzjTR7WnKMMxDkv0+oDvjw6OqqpYKSvj/q3vY6sRWuCNdEzNi0Fk6A== dependencies: - "@abp/jquery" "~9.0.0-rc.2" + "@abp/jquery" "~9.0.0" datatables.net "^2.1.8" -"@abp/font-awesome@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-9.0.0-rc.2.tgz#1493057e28b2e1e8a434ff1599e8b4b72b8784d2" - integrity sha512-EsQYx89OBquIxqGLgjAgMpUeAnWW316ruAmmxzGsusVT9KuIL6iuA4j4bdM8/6wJgi6zm2A/bDBjiiDDg2Cyyg== +"@abp/font-awesome@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-9.0.0.tgz#51cce18434a51d050ebb0d822a8c193b7e32f73d" + integrity sha512-bEHRVzOk0V2kFMAvB/YXFYaDKWRFO0+ScO7jrEFtFgdHXBcqy+dk1aM/N69WalyNmjRRpnh03GhH1LRpwL4/xA== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" "@fortawesome/fontawesome-free" "^6.6.0" -"@abp/highlight.js@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/highlight.js/-/highlight.js-9.0.0-rc.2.tgz#c511f5cd29eef7089d491646ffe31797d4543be9" - integrity sha512-04XWQnuN2ri2Rlkauy7h3444RofCra4B/6GjN53YM3ekZ50Xhe3QsfMhkCzLn0Izgypa3FkNkFq86JvUbyH3Uw== +"@abp/highlight.js@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/highlight.js/-/highlight.js-9.0.0.tgz#6d924c9bb3d6b11dcd66a9a71aea873c9866ed6c" + integrity sha512-eGvgMUNYKW2B2h3QcpMRniaoQ1/9RJBXkn2VsyM8lVSfrfbOg26mMyw7J2BXvuEnXqtnVdFEG45cSFlAnTAVXQ== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" "@highlightjs/cdn-assets" "~11.10.0" -"@abp/jquery-form@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-9.0.0-rc.2.tgz#05a9082bc6c42fca3e001d97f77c0aa2e941448b" - integrity sha512-OUuwB/dgryiBG/iZCedwP2+8ot+PCeuAAMuZ1A/VXbNUJAbhiXF24tQM73wIhpAYcSc5egWjJ+VNTJKMKImTqA== +"@abp/jquery-form@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-9.0.0.tgz#6518eb117ee35c6bc57543fd1fccb0a8cf8e22f4" + integrity sha512-6qpfPGHrjADmm7Ne3zcXBGPuLngG8ldAn5fk9k2taftpyX0iR67/nZxiQ0ujaQGgaai5Wb3imNXMG96XLnubkQ== dependencies: - "@abp/jquery" "~9.0.0-rc.2" + "@abp/jquery" "~9.0.0" jquery-form "^4.3.0" -"@abp/jquery-validation-unobtrusive@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-9.0.0-rc.2.tgz#d38f053ad3a8509dc683dc3091128eb445579176" - integrity sha512-170ARAIz0NWuQnleB2nWPKYQl3x/Za2yxc0utjxY0rruHflNQPF2cMagLu+eBI6gDkThXNps74HiRPXOPdgc4A== +"@abp/jquery-validation-unobtrusive@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-9.0.0.tgz#8ee87dbdec5e92ab04ae9642a49af1598af31c1a" + integrity sha512-KlRQ1htyFmAIMS9xbHvHIcdhAgtPFe/u7c87MiWlk/CdhDrI3J+n5biLvQUzxCC+YWlwx27zBtPKx2vLeMRH6Q== dependencies: - "@abp/jquery-validation" "~9.0.0-rc.2" + "@abp/jquery-validation" "~9.0.0" jquery-validation-unobtrusive "^4.0.0" -"@abp/jquery-validation@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-9.0.0-rc.2.tgz#79c96c7eb48d5bebb3e7e86f8f9e2d6e2e45c5cb" - integrity sha512-6W2LiLgcC4FGTMLsoNkRBJTqDq6YR3ctLKzRfis9kOigkd0QT/PnB/451rrVb7+BCl9luKaA8DDYF671S8klFA== +"@abp/jquery-validation@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-9.0.0.tgz#681d8037c57b3875bd51c927e350ffce65d7c5d2" + integrity sha512-XgCUBFWbhTDcGepD/xkwA/1Hl4TyYitRttauDJk3tuyXhNtykvdugCCOPY4j2s6VoT1Sb/TFFvOcgEvlBwkKiw== dependencies: - "@abp/jquery" "~9.0.0-rc.2" + "@abp/jquery" "~9.0.0" jquery-validation "^1.21.0" -"@abp/jquery@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-9.0.0-rc.2.tgz#c8bd299d1b5558a4c3cef26b248d42e9a6303e33" - integrity sha512-GrO0gKdi20jlQ0YjWaddal0X0+5LkMpOAyMB1GdaDetLaaVjcZ+92zx1cApcAdIsCKgB+kyutRQv0b82o/EZPQ== +"@abp/jquery@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-9.0.0.tgz#6c67a9f927be598ab6201f8888e8a3cb8bba0686" + integrity sha512-cUXA7v6F1HqAc/w8fQGxHIfA/6BqO+4uHXDnSsJZtrI26DTLOgw5kBNnAz2W4xggGPCY7SKFHNRZuOW/QfVRPg== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" jquery "~3.7.1" -"@abp/jstree@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jstree/-/jstree-9.0.0-rc.2.tgz#7c0d59df045d5d9ab05ffcd54f3ec6e8928afc16" - integrity sha512-ixr6iNvCSFCPaFn/GwCwaHyEwZGJO9xYU7XXRDRa+SbN+lZggbRY7ttkIzv4aAfzMUtA9aCrN9HttJFwc21RSA== +"@abp/jstree@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/jstree/-/jstree-9.0.0.tgz#08190074df54e45fe414b7a349c25d6b1f1058a1" + integrity sha512-ZbXPazP2Yy/qDMw/b4U8Hz1ZxbxQej/PAREaAawd2R2GJoGi10U8iTt5WKJJQP8Fm42kFgQa/8EtVcckwIo4FA== dependencies: - "@abp/jquery" "~9.0.0-rc.2" + "@abp/jquery" "~9.0.0" jstree "^3.3.17" -"@abp/lodash@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-9.0.0-rc.2.tgz#980a0ae2d95c83663f0f52f1b67b5cfb00d04b96" - integrity sha512-uwxv7WJqwRcGkVoB44JR1QJaMbe3RhCQsG6+Wee1Jjdgi2vkpFUCj2arM4Rxz1igntFjY2Z7NiBq+iL9HYIkSw== +"@abp/lodash@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-9.0.0.tgz#a4d42b2dfeb37859ff9f0079c7a8a6cabc982efe" + integrity sha512-xoAsOkkgnQdPH2OyFTgF6OlCLVbyGF4u8CrFcZWCZmuIFT9cg0+ZEiq//Vog1pg3Lf//N37ceGpOag1LwMe6cQ== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" lodash "^4.17.21" -"@abp/luxon@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-9.0.0-rc.2.tgz#1bb0eae53b707371489a4e0edf2869d7acc71da8" - integrity sha512-iWE8sbBWxCbNYSO3TTTzeotGS6kAnIwCKos/96mtaYJ4wzPW9pgF7K94CvwLAAg9NTsx/J/OGdmhhM2cULhv+w== +"@abp/luxon@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-9.0.0.tgz#a54dda13cbbd362481994d20d2e07c669c6ce109" + integrity sha512-aPejQnoVPfm60LnjwhfUkIsB+poNWusrBE0IHllxhvOVE+01nfa1Lvpp5AUWzV+XchPGOCSf+a29ds4EQWfNbg== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" luxon "^3.5.0" -"@abp/malihu-custom-scrollbar-plugin@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-9.0.0-rc.2.tgz#fce5c12be2bdf350b18aae52619309a474995442" - integrity sha512-e3JTnDSkjF9/MPh/nPqcvU8hkUxSMc5U6DnP169GBdVAYQwwnGD24x4QCWU7ch7s65FDJ8/uq7bYOcIAD0B+Dw== +"@abp/malihu-custom-scrollbar-plugin@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-9.0.0.tgz#b8a49202d531c711874a2bcdae5081ae0ed34c3f" + integrity sha512-iSZ9lKMnv5F2SplR+A4blhFEDq79lKbvBQuS7h/Di3KEHFOdJY4pA8NP8OR+PXOF3JfAezGyjqy7ydn/JNPRwA== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" malihu-custom-scrollbar-plugin "^3.1.5" -"@abp/markdown-it@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/markdown-it/-/markdown-it-9.0.0-rc.2.tgz#94733e069533dc68140b905fd213dc3e1ec67561" - integrity sha512-WwY6EWX7aB4zaf0lB16Eo0KA+cJ0jyJy5U7Irp/rg8PasSXC2peq5BOmjFY0dnXFcFzsKlaY8dMiPB2ZW50wnA== +"@abp/markdown-it@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/markdown-it/-/markdown-it-9.0.0.tgz#f61e74e7f9205f3015074896cf184f90b8a11a1c" + integrity sha512-frjJ539DiM4H0nHwnt77T1ryoazJhy9836L7HEFiYsfXJHs92VohUr/K27899I3gRdA6h0tbLYumFK3ug83qiw== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" markdown-it "^14.1.0" -"@abp/moment@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-9.0.0-rc.2.tgz#2fc0feaaa0a26436cf00a6beccaa64f505aef301" - integrity sha512-yqkgu0bo3ra6HVFdS2wlqwTysciYOJWi/ERFVS2MfUkAKFA0P7mv8Jg5tB4vGY2Km++7r22kCDRlK3KUPmk21g== +"@abp/moment@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-9.0.0.tgz#9583e97472ddf608a9a5a6b8a37fee602b419900" + integrity sha512-wgyJSKmBmHLXZJN3dy3zK4i2JvWGgqnvdtrKURy/raEurxlymv8JF5JA971kTv6Kz2OA/OSYttpVJkDGUpPAhA== dependencies: moment "^2.30.1" -"@abp/prismjs@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-9.0.0-rc.2.tgz#2de7bc2882fee46d3d7e2da1fb66bca6b06cc4dd" - integrity sha512-rQ4dVGk+lEHFFSIBsJPqijeh4k3UgoDMZL1rns2a6NR+QnR0J2Slx3Awt8SH+inQFH2JiLHVo9q4bG+81vCsag== +"@abp/prismjs@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-9.0.0.tgz#2ac4a5ddc0c8e0462af027a4dd97a177a3d6f7a5" + integrity sha512-+evmBq5qV+Ix/TNqO2ljJn0jygW2rEgKNtABcBGmrZC8xiI7+2hjKmSE0e43qb+RDib8aJjwH8ya8wF7p68ZFw== dependencies: - "@abp/clipboard" "~9.0.0-rc.2" - "@abp/core" "~9.0.0-rc.2" + "@abp/clipboard" "~9.0.0" + "@abp/core" "~9.0.0" prismjs "^1.29.0" -"@abp/select2@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-9.0.0-rc.2.tgz#53806118fdfe9f9228e26c6867ce0e75e6572b81" - integrity sha512-arKdcs95+4zp5764iOz09aJ3C1F2SsBIzekpjpJwMBdLRfoleZZFm12itO8I4Jjb1R+2CkW6MXjLR5xL2aE0PQ== +"@abp/select2@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-9.0.0.tgz#71503eebb746f40a0e565dba1efa05d6ae937b77" + integrity sha512-l+Hz2Qmc7AcyaTJOyuDaV99RbBWYxYxbeyVEc4xKbRFbJxYBUxT/DFlyozEaoz+OU1fl4szO3UCthJ2yZvxCdg== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" select2 "^4.0.13" -"@abp/slugify@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/slugify/-/slugify-9.0.0-rc.2.tgz#6c613531fd0f956ba586c3fc3f97cb954060d06b" - integrity sha512-mch+VFoNLpgVK2JrWc96PHxXNX28plVWJDIy+hPlOwR9VVkKr8NgtYe+MrwCCOws/GI0WqlwqoAMZ4bdhEohqw== +"@abp/slugify@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/slugify/-/slugify-9.0.0.tgz#4bf4cade338697b68502cc73ac830d8dab10bbb8" + integrity sha512-tjHsQndDNDsQYubzQY8d+I/o1pQx4ehaSIw6xt0WyozogRegrxQ9QJUxOEQYtfNAgap0GipnxxvZSRBJINB4Cg== dependencies: slugify "^1.6.6" -"@abp/star-rating-svg@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/star-rating-svg/-/star-rating-svg-9.0.0-rc.2.tgz#293404430bff89d2f03b8dade8115e67ea9cab92" - integrity sha512-dpIixk5e7HaKv5G5nC7k6u1ML/eH+BXkBd4M2LOD9jKaMk/YcvHQyzz0YWcF44C29kcDEwc+/xPq2zPtWG0FvQ== +"@abp/star-rating-svg@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/star-rating-svg/-/star-rating-svg-9.0.0.tgz#1e0d2ca6e589d3f7b63e6cfe6f7ad6c723f86a81" + integrity sha512-OZtWoFG2n5KdnSYeMH4SMYaeET3ISmyREBy5rNVM4peacNejyEHrPadzHDMWcGFMjqveTn/jmN19Jyn9+HG0Vw== dependencies: - "@abp/jquery" "~9.0.0-rc.2" + "@abp/jquery" "~9.0.0" star-rating-svg "^3.5.0" -"@abp/sweetalert2@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-9.0.0-rc.2.tgz#60b25d65b3e5eb53e18ba5b1f3663783562d2506" - integrity sha512-VJslD1AMDZJhOEko79UYIxIYeAmr1YUwJu8XNAurBGPa9sWGI+jPY/dYg3uptg8GEJHsFtog84m3nUQ/prRUcw== +"@abp/sweetalert2@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-9.0.0.tgz#71e511117c18b515e5c658e9cc0667770af65d91" + integrity sha512-wxDqoA6RUhkbcN27Kzslu/m2ai5T9AkJRtgs7pV55LvPv1ohuCPEUeTVVh8S/5Pgmr7aPFAPxaaCO32aPcImPw== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" sweetalert2 "^11.14.1" -"@abp/timeago@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-9.0.0-rc.2.tgz#72a7da1eda19beb34c352f3f43d2f5181b0b926a" - integrity sha512-zRj+TssaDXW2OM4mNn47G1tRg4BZ2sqbEiiUIQrU9hHMHmxOf8bAJhqsouGDDZF3xetcwKhmLN08VWK1sqqpQA== +"@abp/timeago@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-9.0.0.tgz#8f262ba2a74e1c133d0c129f8a0bc55c29441e1a" + integrity sha512-eaNdIUEtDXnuYqS5O7EGRV+j6XOLAsxz7gd5BIKR9lDujd8pEjSJkXKO+/0KxLTkUSy3JudIO37K1h2wTpbYZA== dependencies: - "@abp/jquery" "~9.0.0-rc.2" + "@abp/jquery" "~9.0.0" timeago "^1.6.7" -"@abp/toastr@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-9.0.0-rc.2.tgz#ddbf0b6362941f62c07c9820af59dcd6912331d0" - integrity sha512-l4z6z3Oc/JF4XJplqGETQtBkqzjbpobcfzEHeH6LjUeunLMEVQOtjhPUBLrhg4ZM0i9k46hmxsoOkWXu7tClyQ== +"@abp/toastr@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-9.0.0.tgz#74d74ecb3e7f2d63b2ff7735c89a40deb3dc3a13" + integrity sha512-n9uJvw8l2HoxeowPO4diEMxwchGh6puefhyRljFAAstzK77Mhn0u2J7kPynNv94rLSYTYoCxUeJ4TTN+/TVDGQ== dependencies: - "@abp/jquery" "~9.0.0-rc.2" + "@abp/jquery" "~9.0.0" toastr "^2.1.4" -"@abp/tui-editor@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/tui-editor/-/tui-editor-9.0.0-rc.2.tgz#abe8e13566b337be023881627d4bd0dd574ed89f" - integrity sha512-Skw3/+Rda6iIyygtlLeam2J0cAH27WNN3bKVavRK4NLvq3mp2qdiV2eHgfVcZDLyc1X2UbrrzkqD9BQ288S+ag== +"@abp/tui-editor@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/tui-editor/-/tui-editor-9.0.0.tgz#d9f7721c3d8e361d901a0e0e11e786b2e12b234a" + integrity sha512-TVadK2Yi3wlwyvEVshh1PxkNRppYmqaPB6QE1cOhrWZAFbP1fh1oFvfqQiHN3o+9RGHFcEnhEK3D+49aHuDh3Q== dependencies: - "@abp/jquery" "~9.0.0-rc.2" - "@abp/prismjs" "~9.0.0-rc.2" + "@abp/jquery" "~9.0.0" + "@abp/prismjs" "~9.0.0" -"@abp/uppy@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/uppy/-/uppy-9.0.0-rc.2.tgz#bede50f95533f34c5ec17ec792a41a14fdcae9d2" - integrity sha512-dPdbVz+xMdFI/fAKtf3lX6sMXZi6U7IbifP0UI1slvMnGHtiKrnwWW64OnNCWpkWPUUBqz1HwASTRTyf4AzVJA== +"@abp/uppy@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/uppy/-/uppy-9.0.0.tgz#4def1e889093a4299f1c2445a87793cb3da2d4d7" + integrity sha512-Y9IbGu/t3rJefF7FSrsiHs9V+C/lAMtolivPwKhnOzxmUtoxbyc0O2W2uExZEihevbnk3PWe7dkFY5mZ30i6BA== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" uppy "^4.4.1" -"@abp/utils@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-9.0.0-rc.2.tgz#e644889f1c1c4828b509aea9ae3ae48439a5b89d" - integrity sha512-eIL3syPE0LzPyeHV5+pgRxw3/H2YTmK2U9VEOUu26ExiCMIt5Waf8T92BjaH9sLrMD5P9ZAT2jWaxh+VTsEtKA== +"@abp/utils@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-9.0.0.tgz#2264fd83105b061860edd98dbe0efdfe55803ed5" + integrity sha512-/SB4VYk3Av+ltXv6ovkFHG4iWiECLLitaYWcEHxVAO80ufNjrNnWpHFpXHP8u/RpXIp/CoNiHLr6j5TkZUTZjw== dependencies: just-compare "^2.3.0" diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Blogs/BlogDto.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Blogs/BlogDto.cs index 0245b1348e..93c5374281 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Blogs/BlogDto.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Blogs/BlogDto.cs @@ -11,4 +11,6 @@ public class BlogDto : ExtensibleEntityDto, IHasConcurrencyStamp public string Slug { get; set; } public string ConcurrencyStamp { get; set; } + + public int BlogPostCount { get; set; } } diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Blogs/IBlogAdminAppService.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Blogs/IBlogAdminAppService.cs index 647c2bde15..e0f2b3311b 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Blogs/IBlogAdminAppService.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/Blogs/IBlogAdminAppService.cs @@ -1,8 +1,13 @@ using System; +using System.Threading.Tasks; +using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Services; namespace Volo.CmsKit.Admin.Blogs; public interface IBlogAdminAppService : ICrudAppService { + Task> GetAllListAsync(); + + Task MoveAllBlogPostsAsync(Guid blogId, Guid? assignToBlogId = null); } diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Blogs/BlogAdminAppService.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Blogs/BlogAdminAppService.cs index d5f32c4bfc..e3ef03e2de 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Blogs/BlogAdminAppService.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Blogs/BlogAdminAppService.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.Authorization; using Volo.Abp.Application.Dtos; @@ -20,16 +21,19 @@ namespace Volo.CmsKit.Admin.Blogs; public class BlogAdminAppService : CmsKitAdminAppServiceBase, IBlogAdminAppService { protected IBlogRepository BlogRepository { get; } + protected IBlogPostRepository BlogPostRepository { get; } protected BlogManager BlogManager { get; } protected BlogFeatureManager BlogFeatureManager { get; } public BlogAdminAppService( IBlogRepository blogRepository, - BlogManager blogManager, + BlogManager blogManager, + IBlogPostRepository blogPostRepository, BlogFeatureManager blogFeatureManager = null) { BlogRepository = blogRepository; BlogManager = blogManager; + BlogPostRepository = blogPostRepository; BlogFeatureManager = blogFeatureManager; } @@ -37,20 +41,44 @@ public class BlogAdminAppService : CmsKitAdminAppServiceBase, IBlogAdminAppServi { var blog = await BlogRepository.GetAsync(id); - return ObjectMapper.Map(blog); + var blogDto = ObjectMapper.Map(blog); + blogDto.BlogPostCount = await BlogPostRepository.GetCountAsync(blogId : blog.Id); + + return blogDto; } public virtual async Task> GetListAsync(BlogGetListInput input) { var totalCount = await BlogRepository.GetCountAsync(input.Filter); - var blogs = await BlogRepository.GetListAsync( + var blogs = await BlogRepository.GetListWithBlogPostCountAsync( input.Filter, input.Sorting, input.MaxResultCount, input.SkipCount); + + var blogDtos = new PagedResultDto(totalCount, ObjectMapper.Map, List>(blogs.Select(x => x.Blog).ToList())); + + foreach (var blogDto in blogDtos.Items) + { + blogDto.BlogPostCount = blogs.First(x => x.Blog.Id == blogDto.Id).BlogPostCount; + } - return new PagedResultDto(totalCount, ObjectMapper.Map, List>(blogs)); + return blogDtos; + } + + public virtual async Task> GetAllListAsync() + { + var blogs = await BlogRepository.GetListWithBlogPostCountAsync(maxResultCount: int.MaxValue); + + var blogDtos = new ListResultDto(ObjectMapper.Map, List>(blogs.Select(x => x.Blog).ToList())); + + foreach (var blogDto in blogDtos.Items) + { + blogDto.BlogPostCount = blogs.First(x => x.Blog.Id == blogDto.Id).BlogPostCount; + } + + return blogDtos; } [Authorize(CmsKitAdminPermissions.Blogs.Create)] @@ -79,10 +107,18 @@ public class BlogAdminAppService : CmsKitAdminAppServiceBase, IBlogAdminAppServi return ObjectMapper.Map(blog); } + + [Authorize(CmsKitAdminPermissions.Blogs.Delete)] + public virtual async Task MoveAllBlogPostsAsync(Guid blogId, Guid? assignToBlogId) + { + var blog = await BlogRepository.GetAsync(blogId); + await BlogPostRepository.UpdateBlogAsync(blog.Id, assignToBlogId); + } [Authorize(CmsKitAdminPermissions.Blogs.Delete)] public virtual Task DeleteAsync(Guid id) { + return BlogRepository.DeleteAsync(id); } } diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/CmsKitAdminApplicationAutoMapperProfile.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/CmsKitAdminApplicationAutoMapperProfile.cs index a6a0d6512a..60f8ccb8a8 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/CmsKitAdminApplicationAutoMapperProfile.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/CmsKitAdminApplicationAutoMapperProfile.cs @@ -38,7 +38,7 @@ public class CmsKitAdminApplicationAutoMapperProfile : Profile CreateMap(MemberList.Source).MapExtraProperties(); CreateMap(MemberList.Source).MapExtraProperties(); - CreateMap().MapExtraProperties(); + CreateMap().Ignore(b => b.BlogPostCount).MapExtraProperties(); CreateMap(MemberList.Destination); diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi.Client/ClientProxies/Volo/CmsKit/Admin/Blogs/BlogAdminClientProxy.Generated.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi.Client/ClientProxies/Volo/CmsKit/Admin/Blogs/BlogAdminClientProxy.Generated.cs index d102ea4d1f..7eb5d91f3b 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi.Client/ClientProxies/Volo/CmsKit/Admin/Blogs/BlogAdminClientProxy.Generated.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi.Client/ClientProxies/Volo/CmsKit/Admin/Blogs/BlogAdminClientProxy.Generated.cs @@ -57,4 +57,18 @@ public partial class BlogAdminClientProxy : ClientProxyBase> GetAllListAsync() + { + return await RequestAsync>(nameof(GetAllListAsync)); + } + + public virtual async Task MoveAllBlogPostsAsync(Guid blogId, Guid? assignToBlogId) + { + await RequestAsync(nameof(MoveAllBlogPostsAsync), new ClientProxyRequestTypeValue + { + { typeof(Guid), blogId }, + { typeof(Guid?), assignToBlogId } + }); + } } diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi.Client/ClientProxies/cms-kit-admin-generate-proxy.json b/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi.Client/ClientProxies/cms-kit-admin-generate-proxy.json index cf4bbd1034..8f0e7e677d 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi.Client/ClientProxies/cms-kit-admin-generate-proxy.json +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi.Client/ClientProxies/cms-kit-admin-generate-proxy.json @@ -16,6 +16,39 @@ "type": "Volo.CmsKit.Admin.Blogs.IBlogAdminAppService", "name": "IBlogAdminAppService", "methods": [ + { + "name": "GetAllListAsync", + "parametersOnMethod": [], + "returnValue": { + "type": "Volo.Abp.Application.Dtos.ListResultDto", + "typeSimple": "Volo.Abp.Application.Dtos.ListResultDto" + } + }, + { + "name": "MoveAllBlogPostsAsync", + "parametersOnMethod": [ + { + "name": "blogId", + "typeAsString": "System.Guid, System.Private.CoreLib", + "type": "System.Guid", + "typeSimple": "string", + "isOptional": false, + "defaultValue": null + }, + { + "name": "assignToBlogId", + "typeAsString": "System.Nullable`1[[System.Guid, System.Private.CoreLib, Version=9.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], System.Private.CoreLib", + "type": "System.Guid?", + "typeSimple": "string?", + "isOptional": false, + "defaultValue": null + } + ], + "returnValue": { + "type": "System.Void", + "typeSimple": "System.Void" + } + }, { "name": "GetAsync", "parametersOnMethod": [ @@ -353,6 +386,90 @@ }, "allowAnonymous": false, "implementFrom": "Volo.Abp.Application.Services.IDeleteAppService" + }, + "GetAllListAsync": { + "uniqueName": "GetAllListAsync", + "name": "GetAllListAsync", + "httpMethod": "GET", + "url": "api/cms-kit-admin/blogs/all", + "supportedVersions": [], + "parametersOnMethod": [], + "parameters": [], + "returnValue": { + "type": "Volo.Abp.Application.Dtos.ListResultDto", + "typeSimple": "Volo.Abp.Application.Dtos.ListResultDto" + }, + "allowAnonymous": false, + "implementFrom": "Volo.CmsKit.Admin.Blogs.IBlogAdminAppService" + }, + "MoveAllBlogPostsAsyncByBlogIdAndAssignToBlogId": { + "uniqueName": "MoveAllBlogPostsAsyncByBlogIdAndAssignToBlogId", + "name": "MoveAllBlogPostsAsync", + "httpMethod": "PUT", + "url": "api/cms-kit-admin/blogs/{id}/move-all-blog-posts", + "supportedVersions": [], + "parametersOnMethod": [ + { + "name": "blogId", + "typeAsString": "System.Guid, System.Private.CoreLib", + "type": "System.Guid", + "typeSimple": "string", + "isOptional": false, + "defaultValue": null + }, + { + "name": "assignToBlogId", + "typeAsString": "System.Nullable`1[[System.Guid, System.Private.CoreLib, Version=9.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], System.Private.CoreLib", + "type": "System.Guid?", + "typeSimple": "string?", + "isOptional": false, + "defaultValue": null + } + ], + "parameters": [ + { + "nameOnMethod": "blogId", + "name": "blogId", + "jsonName": null, + "type": "System.Guid", + "typeSimple": "string", + "isOptional": false, + "defaultValue": null, + "constraintTypes": null, + "bindingSourceId": "ModelBinding", + "descriptorName": "" + }, + { + "nameOnMethod": "assignToBlogId", + "name": "assignToBlogId", + "jsonName": null, + "type": "System.Guid?", + "typeSimple": "string?", + "isOptional": false, + "defaultValue": null, + "constraintTypes": null, + "bindingSourceId": "Query", + "descriptorName": "" + }, + { + "nameOnMethod": "id", + "name": "id", + "jsonName": null, + "type": null, + "typeSimple": null, + "isOptional": false, + "defaultValue": null, + "constraintTypes": [], + "bindingSourceId": "Path", + "descriptorName": "" + } + ], + "returnValue": { + "type": "System.Void", + "typeSimple": "System.Void" + }, + "allowAnonymous": false, + "implementFrom": "Volo.CmsKit.Admin.Blogs.IBlogAdminAppService" } } }, diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Blogs/BlogAdminController.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Blogs/BlogAdminController.cs index e7d59ddbcd..f90215ed38 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Blogs/BlogAdminController.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/Blogs/BlogAdminController.cs @@ -62,4 +62,19 @@ public class BlogAdminController : CmsKitAdminController, IBlogAdminAppService { return BlogAdminAppService.DeleteAsync(id); } + + [HttpGet] + [Route("all")] + public Task> GetAllListAsync() + { + return BlogAdminAppService.GetAllListAsync(); + } + + [HttpPut] + [Route("{id}/move-all-blog-posts")] + [Authorize(CmsKitAdminPermissions.Blogs.Delete)] + public Task MoveAllBlogPostsAsync(Guid blogId, [FromQuery]Guid? assignToBlogId) + { + return BlogAdminAppService.MoveAllBlogPostsAsync(blogId, assignToBlogId); + } } diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Blogs/DeleteBlogModal.cshtml b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Blogs/DeleteBlogModal.cshtml new file mode 100644 index 0000000000..5f32d8e9bf --- /dev/null +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Blogs/DeleteBlogModal.cshtml @@ -0,0 +1,59 @@ +@page +@using Microsoft.AspNetCore.Mvc.Localization +@using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Modal +@using Volo.CmsKit.Admin.Web.Pages.CmsKit.Blogs +@using Volo.CmsKit.Localization +@model DeleteBlogModal +@inject IHtmlLocalizer L +@{ + Layout = null; +} + +
+ @{ + var deleteAllClicked = "checked"; + var deleteButtonDisabled = ""; + + + + + + +

@L.GetString("BlogDeletionConfirmationMessage", Model.Blog.Name).Value

+ + @if (Model.Blog.BlogPostCount > 0) + { +

@L.GetString("ChooseAnActionForBlog", Model.Blog.BlogPostCount).Value

+ + + if (Model.Blog.OtherBlogs.Any()) + { + deleteAllClicked = ""; + deleteButtonDisabled = "disabled"; +
+ + +
+ + } + +
+ + +
+ } +
+ + + + +
+ } + +
diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Blogs/DeleteBlogModal.cshtml.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Blogs/DeleteBlogModal.cshtml.cs new file mode 100644 index 0000000000..08e320b6f5 --- /dev/null +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Blogs/DeleteBlogModal.cshtml.cs @@ -0,0 +1,57 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Mvc.RazorPages; +using Volo.Abp.ObjectExtending; +using Volo.CmsKit.Admin.Blogs; + +namespace Volo.CmsKit.Admin.Web.Pages.CmsKit.Blogs; + +public class DeleteBlogModal : CmsKitAdminPageModel +{ + [BindProperty] + public BlogInfoModel Blog { get; set; } + + protected IBlogAdminAppService BlogAdminAppService { get; } + + public DeleteBlogModal(IBlogAdminAppService blogAdminAppService) + { + BlogAdminAppService = blogAdminAppService; + } + + public virtual async Task OnGetAsync(Guid id) + { + var blog = await BlogAdminAppService.GetAsync(id); + var allBlogs = await BlogAdminAppService.GetAllListAsync(); + + Blog = new BlogInfoModel + { + Id = blog.Id, + Name = blog.Name, + BlogPostCount = blog.BlogPostCount, + OtherBlogs = allBlogs.Items.Where(b => b.Id != blog.Id).Select(e => new KeyValuePair(e.Id, e.Name)).ToList() + }; + } + + public virtual async Task OnPostAsync() + { + await BlogAdminAppService.MoveAllBlogPostsAsync(Blog.Id, Blog.AssignToBlogId); + await BlogAdminAppService.DeleteAsync(Blog.Id); + return NoContent(); + } + + public class BlogInfoModel : ExtensibleObject + { + public Guid Id { get; set; } + + public string Name { get; set; } + + public int BlogPostCount { get; set; } + + public List> OtherBlogs { get; set; } + + public Guid? AssignToBlogId { get; set; } + } +} \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Blogs/index.js b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Blogs/index.js index 0ead857f17..eef9af3f09 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Blogs/index.js +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Blogs/index.js @@ -6,6 +6,35 @@ $(function () { var updateModal = new abp.ModalManager({ viewUrl: abp.appPath + "CmsKit/Blogs/UpdateModal", modalClass: 'updateBlog' }); var featuresModal = new abp.ModalManager(abp.appPath + "CmsKit/Blogs/FeaturesModal"); + + var deleteBlogModal = new abp.ModalManager(abp.appPath + 'CmsKit/Blogs/DeleteBlogModal'); + + deleteBlogModal.onResult(function(){ + abp.notify.success(l('DeletedSuccessfully')); + }); + + deleteBlogModal.onOpen(function () { + var $form = deleteBlogModal.getForm(); + $form.find('#assign').click(function () { + $form.find('#Blog_AssignToBlogId').show(); + $form.find('[type=submit]').attr("disabled","disabled") + }) + $form.find('#deleteAll').click(function () { + $form.find('#Blog_AssignToBlogId').hide(); + $form.find('#Blog_AssignToBlogId').val(""); + $form.find('[type=submit]').removeAttr("disabled"); + }) + + $("#Blog_AssignToBlogId").on("change", function () { + var val = $(this).val(); + if(val === ''){ + $form.find('[type=submit]').attr("disabled","disabled") + }else{ + $form.find('[type=submit]').removeAttr("disabled"); + } + }) + }) + var blogsService = volo.cmsKit.admin.blogs.blogAdmin; var dataTable = $("#BlogsTable").DataTable(abp.libs.datatables.normalizeConfiguration({ @@ -41,16 +70,10 @@ $(function () { { text: l('Delete'), visible: abp.auth.isGranted('CmsKit.Blogs.Delete'), - confirmMessage: function (data) { - return l("BlogDeletionConfirmationMessage", data.record.name) - }, action: function (data) { - blogsService - .delete(data.record.id) - .then(function () { - dataTable.ajax.reloadEx(); - abp.notify.success(l('DeletedSuccessfully')); - }); + deleteBlogModal.open({ + id: data.record.id + }); } } ] @@ -74,6 +97,7 @@ $(function () { createModal.open(); }); + createModal.onResult(function () { dataTable.ajax.reloadEx(); }); @@ -81,4 +105,8 @@ $(function () { updateModal.onResult(function () { dataTable.ajax.reloadEx(); }); + + deleteBlogModal.onResult(function () { + dataTable.ajax.reloadEx(); + }); }); \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/ar.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/ar.json index 8bd7267109..6f20a52e38 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/ar.json +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/ar.json @@ -250,6 +250,11 @@ "Hour": "س", "Day": "ي", "Week": "أ", - "DuplicateCommentAttemptMessage": "تم اكتشاف محاولة نشر تعليق مكررة. لقد تم بالفعل تقديم تعليقك." + "DuplicateCommentAttemptMessage": "تم اكتشاف محاولة نشر تعليق مكررة. لقد تم بالفعل تقديم تعليقك.", + "DuplicateCommentAttemptMessage": "تم اكتشاف محاولة نشر تعليق مكررة. لقد تم بالفعل تقديم تعليقك.", + "ChooseAnActionForBlog": "اختر إجراءً للمدونة", + "AssignBlogPostsToOtherBlog": "تعيين مشاركات المدونة إلى مدونة أخرى", + "SelectAnBlogToAssign": "حدد مدونة لتعيين مشاركات المدونة إليها", + "DeleteAllBlogPostsOfThisBlog": "حذف جميع مشاركات المدونة" } } \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/cs.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/cs.json index c4534837fa..946336668f 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/cs.json +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/cs.json @@ -227,6 +227,10 @@ "CssClass": "Třída CSS", "TagsHelpText": "Značky by měly být odděleny čárkami (např.: tag1, tag2, tag3)", "ThisPartOfContentCouldntBeLoaded": "Tato část obsahu nemohla být načtena.", - "DuplicateCommentAttemptMessage": "Byl zjištěn duplicitní pokus o vložení komentáře. Váš komentář již byl odeslán." + "DuplicateCommentAttemptMessage": "Byl zjištěn duplicitní pokus o vložení komentáře. Váš komentář již byl odeslán.", + "ChooseAnActionForBlog": "Vyberte akci pro blog", + "AssignBlogPostsToOtherBlog": "Přiřaďte blogové příspěvky k jinému blogu", + "SelectAnBlogToAssign": "Vyberte blog, ke kterému chcete přiřadit blogové příspěvky", + "DeleteAllBlogPostsOfThisBlog": "Smazat všechny blogové příspěvky tohoto blogu" } } \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/de-DE.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/de-DE.json index 98b8b731c4..49b5f96ff5 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/de-DE.json +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/de-DE.json @@ -161,6 +161,10 @@ "YourFullName": "Ihren vollständigen Namen", "YourMessage": "Ihre Nachricht", "YourReply": "Ihre Antwort", - "ThisPartOfContentCouldntBeLoaded": "Dieser Teil des Inhalts konnte nicht geladen werden." + "ThisPartOfContentCouldntBeLoaded": "Dieser Teil des Inhalts konnte nicht geladen werden.", + "ChooseAnActionForBlog": "Wählen Sie eine Aktion für den Blog", + "AssignBlogPostsToOtherBlog": "Blogbeiträge einem anderen Blog zuweisen", + "SelectAnBlogToAssign": "Wählen Sie einen Blog aus, um Blogbeiträge zuzuweisen", + "DeleteAllBlogPostsOfThisBlog": "Alle Blogbeiträge dieses Blogs löschen" } } \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/de.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/de.json index 31bae240c3..e950983d9c 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/de.json +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/de.json @@ -227,6 +227,10 @@ "CssClass": "CSS-Klasse", "TagsHelpText": "Tags sollten durch Kommas getrennt werden (z. B. Tag1, Tag2, Tag3).", "ThisPartOfContentCouldntBeLoaded": "Dieser Teil des Inhalts konnte nicht geladen werden.", - "DuplicateCommentAttemptMessage": "Es wurde versucht, einen doppelten Kommentar zu posten. Ihr Kommentar wurde bereits übermittelt." + "DuplicateCommentAttemptMessage": "Es wurde versucht, einen doppelten Kommentar zu posten. Ihr Kommentar wurde bereits übermittelt.", + "ChooseAnActionForBlog": "Wählen Sie eine Aktion für den Blog", + "AssignBlogPostsToOtherBlog": "Blogbeiträge einem anderen Blog zuweisen", + "SelectAnBlogToAssign": "Wählen Sie einen Blog aus, um Blogbeiträge zuzuweisen", + "DeleteAllBlogPostsOfThisBlog": "Alle Blogbeiträge dieses Blogs löschen" } } \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/el.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/el.json index 695cdd21eb..5c3bd58461 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/el.json +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/el.json @@ -184,6 +184,10 @@ "SelectAStatus": "Επιλέξτε μια κατάσταση", "Status": "Κατάσταση", "CmsKit.BlogPost.ScrollIndex": "Γραμμή γρήγορης πλοήγησης σε αναρτήσεις ιστολογίου", - "ThisPartOfContentCouldntBeLoaded": "Αυτό το τμήμα του περιεχομένου δεν μπορούσε να φορτωθεί." + "ThisPartOfContentCouldntBeLoaded": "Αυτό το τμήμα του περιεχομένου δεν μπορούσε να φορτωθεί.", + "ChooseAnActionForBlog": "Επιλέξτε μια ενέργεια για το ιστολόγιο", + "AssignBlogPostsToOtherBlog": "Ανάθεση αναρτήσεων ιστολογίου σε άλλο ιστολόγιο", + "SelectAnBlogToAssign": "Επιλέξτε ένα ιστολόγιο για να αναθέσετε αναρτήσεις ιστολογίου", + "DeleteAllBlogPostsOfThisBlog": "Διαγραφή όλων των αναρτήσεων ιστολογίου αυτού του ιστολογίου" } } \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/en-GB.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/en-GB.json index f6256d81ba..b8b9060f45 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/en-GB.json +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/en-GB.json @@ -28,6 +28,10 @@ "Undo": "Undo", "Update": "Update", "YourComment": "Your comment", - "YourReply": "Your reply" + "YourReply": "Your reply", + "ChooseAnActionForBlog": "Choose an action for the blog", + "AssignBlogPostsToOtherBlog": "Assign blog posts to another blog", + "SelectAnBlogToAssign": "Select a blog to assign", + "DeleteAllBlogPostsOfThisBlog": "Delete all blog posts of this blog" } } \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/en.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/en.json index 5805d87c6b..09b671bb53 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/en.json +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/en.json @@ -268,6 +268,11 @@ "Hour": "h", "Day": "d", "Week": "w", - "CommentSubmittedForApproval": "Your comment has been submitted for approval." + "CommentSubmittedForApproval": "Your comment has been submitted for approval.", + "CommentSubmittedForApproval": "Your comment has been submitted for approval.", + "ChooseAnActionForBlog": "Choose an action for the blog", + "AssignBlogPostsToOtherBlog": "Assign blog posts to another blog", + "SelectAnBlogToAssign": "Select a blog to assign", + "DeleteAllBlogPostsOfThisBlog": "Delete all blog posts of this blog" } } \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/es.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/es.json index e1ff8d7fc8..ffe5b410be 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/es.json +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/es.json @@ -227,6 +227,10 @@ "CssClass": "Clase CSS", "TagsHelpText": "Las etiquetas deben estar separadas por comas (por ejemplo: etiqueta1, etiqueta2, etiqueta3)", "ThisPartOfContentCouldntBeLoaded": "Esta parte del contenido no se pudo cargar.", - "DuplicateCommentAttemptMessage": "Intento de publicación de comentario duplicado detectado. Tu comentario ya ha sido enviado." + "DuplicateCommentAttemptMessage": "Intento de publicación de comentario duplicado detectado. Tu comentario ya ha sido enviado.", + "ChooseAnActionForBlog": "Elija una acción para el blog", + "AssignBlogPostsToOtherBlog": "Asignar publicaciones de blog a otro blog", + "SelectAnBlogToAssign": "Seleccione un blog para asignar publicaciones de blog", + "DeleteAllBlogPostsOfThisBlog": "Eliminar todas las publicaciones de blog de este blog" } } \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/fa.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/fa.json index e044cde1a5..fa6695709d 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/fa.json +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/fa.json @@ -183,6 +183,10 @@ "Status": "وضعیت", "CmsKit.BlogPost.ScrollIndex": "نوار پیمایش سریع در پست های وبلاگ", "CmsKit.BlogPost.PreventXssFeature": "جلوگیری از XSS", - "ThisPartOfContentCouldntBeLoaded": "این قسمت از محتوا قابل بارگیری نیست." + "ThisPartOfContentCouldntBeLoaded": "این قسمت از محتوا قابل بارگیری نیست.", + "ChooseAnActionForBlog": "یک عمل برای وبلاگ انتخاب کنید", + "AssignBlogPostsToOtherBlog": "پست های وبلاگ را به وبلاگ دیگری اختصاص دهید", + "SelectAnBlogToAssign": "یک وبلاگ برای اختصاص دادن انتخاب کنید", + "DeleteAllBlogPostsOfThisBlog": "تمام پست های وبلاگ این وبلاگ را حذف کنید" } } \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/fi.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/fi.json index 82d622f05f..f13dc7620c 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/fi.json +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/fi.json @@ -227,6 +227,10 @@ "CssClass": "CSS-luokka", "TagsHelpText": "Tunnisteet on erotettava pilkuilla (esim. tag1, tag2, tag3)", "ThisPartOfContentCouldntBeLoaded": "Tämä sisällön osa ei voitu ladata.", - "DuplicateCommentAttemptMessage": "Kopiokommenttiyritys havaittiin. Kommenttisi on jo lähetetty." + "DuplicateCommentAttemptMessage": "Kopiokommenttiyritys havaittiin. Kommenttisi on jo lähetetty.", + "ChooseAnActionForBlog": "Valitse toiminto blogille", + "AssignBlogPostsToOtherBlog": "Määritä blogiviestit toiseen blogiin", + "SelectAnBlogToAssign": "Valitse blogi, johon haluat määrittää", + "DeleteAllBlogPostsOfThisBlog": "Poista tämän blogin kaikki blogiviestit" } } \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/fr.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/fr.json index 634c1fec85..f2828aa40e 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/fr.json +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/fr.json @@ -227,6 +227,10 @@ "CssClass": "Classe CSS", "TagsHelpText": "Les balises doivent être séparées par des virgules (par exemple : tag1, tag2, tag3)", "ThisPartOfContentCouldntBeLoaded": "Cette partie du contenu n'a pas pu être chargée.", - "DuplicateCommentAttemptMessage": "Tentative de publication de commentaire en double détectée. Votre commentaire a déjà été soumis." + "DuplicateCommentAttemptMessage": "Tentative de publication de commentaire en double détectée. Votre commentaire a déjà été soumis.", + "ChooseAnActionForBlog": "Choisissez une action pour le blog", + "AssignBlogPostsToOtherBlog": "Attribuer des articles de blog à un autre blog", + "SelectAnBlogToAssign": "Sélectionnez un blog à attribuer", + "DeleteAllBlogPostsOfThisBlog": "Supprimer tous les articles de blog de ce blog" } } \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/hi.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/hi.json index dcea398df5..ad2dbc18d9 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/hi.json +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/hi.json @@ -227,6 +227,10 @@ "CssClass": "सीएसएस क्लास", "TagsHelpText": "टैग को अल्पविराम से अलग किया जाना चाहिए (जैसे: टैग1, टैग2, टैग3)", "ThisPartOfContentCouldntBeLoaded": "यह भाग लोड नहीं किया जा सका।", - "DuplicateCommentAttemptMessage": "डुप्लिकेट टिप्पणी पोस्ट प्रयास का पता चला। आपकी टिप्पणी पहले ही सबमिट की जा चुकी है." + "DuplicateCommentAttemptMessage": "डुप्लिकेट टिप्पणी पोस्ट प्रयास का पता चला। आपकी टिप्पणी पहले ही सबमिट की जा चुकी है.", + "ChooseAnActionForBlog": "ब्लॉग के लिए कोई कार्रवाई चुनें", + "AssignBlogPostsToOtherBlog": "अन्य ब्लॉग को ब्लॉग पोस्ट असाइन करें", + "SelectAnBlogToAssign": "असाइन करने के लिए एक ब्लॉग चुनें", + "DeleteAllBlogPostsOfThisBlog": "इस ब्लॉग के सभी ब्लॉग पोस्ट हटाएं" } } \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/hr.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/hr.json index d2dff83aee..8e35745e21 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/hr.json +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/hr.json @@ -227,6 +227,10 @@ "CssClass": "CSS klasa", "TagsHelpText": "Oznake trebaju biti odvojene zarezom (npr. oznaka1, oznaka2, oznaka3)", "ThisPartOfContentCouldntBeLoaded": "Ovaj dio sadržaja nije bilo moguće učitati.", - "DuplicateCommentAttemptMessage": "Otkriven pokušaj postavljanja duplikata komentara. Vaš komentar je već poslan." + "DuplicateCommentAttemptMessage": "Otkriven pokušaj postavljanja duplikata komentara. Vaš komentar je već poslan.", + "ChooseAnActionForBlog": "Odaberite radnju za blog", + "AssignBlogPostsToOtherBlog": "Dodijelite postove na blogu drugom blogu", + "SelectAnBlogToAssign": "Odaberite blog za dodjelu", + "DeleteAllBlogPostsOfThisBlog": "Izbrišite sve postove na blogu" } } \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/hu.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/hu.json index 219d9f95a7..9a3e4fb64e 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/hu.json +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/hu.json @@ -227,6 +227,10 @@ "CssClass": "CSS osztály", "TagsHelpText": "A címkéket vesszővel kell elválasztani (pl.: tag1, tag2, tag3)", "ThisPartOfContentCouldntBeLoaded": "A tartalom ezen része nem tölthető be.", - "DuplicateCommentAttemptMessage": "Ismétlődő megjegyzés közzétételi kísérlet észlelve. Megjegyzését már elküldtük." + "DuplicateCommentAttemptMessage": "Ismétlődő megjegyzés közzétételi kísérlet észlelve. Megjegyzését már elküldtük.", + "ChooseAnActionForBlog": "Válasszon egy műveletet a bloghoz", + "AssignBlogPostsToOtherBlog": "Blogbejegyzések hozzárendelése egy másik bloghoz", + "SelectAnBlogToAssign": "Válasszon egy blogot a hozzárendeléshez", + "DeleteAllBlogPostsOfThisBlog": "Ez a művelet törli az összes blogbejegyzést ebből a blogból. Biztos vagy benne?" } } \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/is.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/is.json index 6788847dd7..bf02d1ff68 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/is.json +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/is.json @@ -227,6 +227,10 @@ "CssClass": "CSS flokkur", "TagsHelpText": "Merki ættu að vera aðskilin með kommum (td: tag1, tag2, tag3)", "ThisPartOfContentCouldntBeLoaded": "Þessi hluti af efni gat ekki verið hlaðið inn.", - "DuplicateCommentAttemptMessage": "Tvítekin tilraun til að skrifa athugasemd fannst. Athugasemd þín hefur þegar verið send." + "DuplicateCommentAttemptMessage": "Tvítekin tilraun til að skrifa athugasemd fannst. Athugasemd þín hefur þegar verið send.", + "ChooseAnActionForBlog": "Veldu aðgerð fyrir blogg", + "AssignBlogPostsToOtherBlog": "Úthluta bloggfærslum til annars bloggs", + "SelectAnBlogToAssign": "Veldu blogg til að úthluta", + "DeleteAllBlogPostsOfThisBlog": "Eyða öllum bloggfærslum þessa bloggs" } } \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/it.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/it.json index c6d84a4f62..7506c439f3 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/it.json +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/it.json @@ -227,6 +227,10 @@ "CssClass": "Classe CSS", "TagsHelpText": "I tag devono essere separati da virgole (ad esempio: tag1, tag2, tag3)", "ThisPartOfContentCouldntBeLoaded": "Questa parte del contenuto non può essere caricata.", - "DuplicateCommentAttemptMessage": "Rilevato tentativo di pubblicare commenti duplicati. Il tuo commento è già stato inviato." + "DuplicateCommentAttemptMessage": "Rilevato tentativo di pubblicare commenti duplicati. Il tuo commento è già stato inviato.", + "ChooseAnActionForBlog": "Scegli un'azione per il blog", + "AssignBlogPostsToOtherBlog": "Assegna i post del blog ad un altro blog", + "SelectAnBlogToAssign": "Seleziona un blog a cui assegnare i post del blog", + "DeleteAllBlogPostsOfThisBlog": "Elimina tutti i post del blog di questo blog" } } \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/nl.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/nl.json index b7c275078a..1d367dfa5c 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/nl.json +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/nl.json @@ -227,6 +227,10 @@ "CssClass": "CSS-klasse", "TagsHelpText": "Tags moeten door komma's worden gescheiden (bijvoorbeeld: tag1, tag2, tag3)", "ThisPartOfContentCouldntBeLoaded": "Dit deel van de inhoud kon niet worden geladen.", - "DuplicateCommentAttemptMessage": "Dubbele poging tot posten van commentaar gedetecteerd. Uw reactie is al verzonden." + "DuplicateCommentAttemptMessage": "Dubbele poging tot posten van commentaar gedetecteerd. Uw reactie is al verzonden.", + "ChooseAnActionForBlog": "Kies een actie voor de blog", + "AssignBlogPostsToOtherBlog": "Wijs blogberichten toe aan een andere blog", + "SelectAnBlogToAssign": "Selecteer een blog om toe te wijzen", + "DeleteAllBlogPostsOfThisBlog": "Verwijder alle blogberichten van deze blog" } } \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/pl-PL.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/pl-PL.json index 5237c0dc95..0b084f585c 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/pl-PL.json +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/pl-PL.json @@ -227,6 +227,10 @@ "CssClass": "Klasa CSS", "TagsHelpText": "Tagi powinny być oddzielone przecinkami (np. tag1, tag2, tag3)", "ThisPartOfContentCouldntBeLoaded": "Ta część zawartości nie mogła zostać załadowana.", - "DuplicateCommentAttemptMessage": "Wykryto zduplikowaną próbę opublikowania komentarza. Twój komentarz został już przesłany." + "DuplicateCommentAttemptMessage": "Wykryto zduplikowaną próbę opublikowania komentarza. Twój komentarz został już przesłany.", + "ChooseAnActionForBlog": "Wybierz akcję dla bloga", + "AssignBlogPostsToOtherBlog": "Przypisz posty na blogu do innego bloga", + "SelectAnBlogToAssign": "Wybierz blog, do którego chcesz przypisać posty na blogu", + "DeleteAllBlogPostsOfThisBlog": "Usuń wszystkie posty na blogu tego bloga" } } \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/pt-BR.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/pt-BR.json index 3182469634..3991bc0595 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/pt-BR.json +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/pt-BR.json @@ -227,6 +227,10 @@ "CssClass": "Classe CSS", "TagsHelpText": "As tags devem ser separadas por vírgula (por exemplo: tag1, tag2, tag3)", "ThisPartOfContentCouldntBeLoaded": "Esta parte do conteúdo não pôde ser carregada.", - "DuplicateCommentAttemptMessage": "Tentativa duplicada de postagem de comentário detectada. Seu comentário já foi enviado." + "DuplicateCommentAttemptMessage": "Tentativa duplicada de postagem de comentário detectada. Seu comentário já foi enviado.", + "ChooseAnActionForBlog": "Escolha uma ação para o blog", + "AssignBlogPostsToOtherBlog": "Atribuir postagens de blog a outro blog", + "SelectAnBlogToAssign": "Selecione um blog para atribuir", + "DeleteAllBlogPostsOfThisBlog": "Excluir todas as postagens de blog deste blog" } } \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/ro-RO.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/ro-RO.json index 7b9173f477..c6b486a11a 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/ro-RO.json +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/ro-RO.json @@ -227,6 +227,10 @@ "CssClass": "Clasa CSS", "TagsHelpText": "Etichetele ar trebui să fie separate prin virgulă (de exemplu: tag1, tag2, tag3)", "ThisPartOfContentCouldntBeLoaded": "Această parte a conţinutului nu a putut fi încărcată.", - "DuplicateCommentAttemptMessage": "A fost detectată o încercare de postare de comentarii duplicată. Comentariul dvs. a fost deja trimis." + "DuplicateCommentAttemptMessage": "A fost detectată o încercare de postare de comentarii duplicată. Comentariul dvs. a fost deja trimis.", + "ChooseAnActionForBlog": "Alegeţi o acţiune pentru blog", + "AssignBlogPostsToOtherBlog": "Atribuiţi postările de blog la alt blog", + "SelectAnBlogToAssign": "Selectaţi un blog pentru a atribui postările de blog", + "DeleteAllBlogPostsOfThisBlog": "Ştergeţi toate postările de blog ale acestui blog" } } \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/ru.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/ru.json index 491435bc02..c23671c843 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/ru.json +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/ru.json @@ -227,6 +227,10 @@ "CssClass": "CSS-класс", "TagsHelpText": "Теги должны быть разделены запятыми (например: тег1, тег2, тег3).", "ThisPartOfContentCouldntBeLoaded": "Эта часть содержимого не может быть загружена.", - "DuplicateCommentAttemptMessage": "Обнаружена повторная попытка публикации комментария. Ваш комментарий уже отправлен." + "DuplicateCommentAttemptMessage": "Обнаружена повторная попытка публикации комментария. Ваш комментарий уже отправлен.", + "ChooseAnActionForBlog": "Выберите действие для блога", + "AssignBlogPostsToOtherBlog": "Назначить сообщения в блоге другому блогу", + "SelectAnBlogToAssign": "Выберите блог для назначения", + "DeleteAllBlogPostsOfThisBlog": "Удалить все сообщения в блоге этого блога" } } \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/sk.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/sk.json index c579340750..a1ff2cfb01 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/sk.json +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/sk.json @@ -227,6 +227,10 @@ "CssClass": "CSS trieda", "TagsHelpText": "Značky by mali byť oddelené čiarkou (napr.: tag1, tag2, tag3)", "ThisPartOfContentCouldntBeLoaded": "Táto časť obsahu sa nedá načítať.", - "DuplicateCommentAttemptMessage": "Zistil sa duplicitný pokus o uverejnenie komentára. Váš komentár už bol odoslaný." + "DuplicateCommentAttemptMessage": "Zistil sa duplicitný pokus o uverejnenie komentára. Váš komentár už bol odoslaný.", + "ChooseAnActionForBlog": "Vyberte akciu pre blog", + "AssignBlogPostsToOtherBlog": "Priradiť blogové príspevky k inému blogu", + "SelectAnBlogToAssign": "Vyberte blog, na ktorý chcete priradiť blogové príspevky", + "DeleteAllBlogPostsOfThisBlog": "Zmazať všetky blogové príspevky tohto blogu" } } \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/sl.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/sl.json index 6e3157f56e..b4d525c3e4 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/sl.json +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/sl.json @@ -227,6 +227,10 @@ "CssClass": "Razred CSS", "TagsHelpText": "Oznake morajo biti ločene z vejicami (npr. oznaka1, oznaka2, oznaka3)", "ThisPartOfContentCouldntBeLoaded": "Ta del vsebine ni bil naložen.", - "DuplicateCommentAttemptMessage": "Zaznan poskus podvojene objave komentarja. Vaš komentar je že oddan." + "DuplicateCommentAttemptMessage": "Zaznan poskus podvojene objave komentarja. Vaš komentar je že oddan.", + "ChooseAnActionForBlog": "Izberite dejanje za blog", + "AssignBlogPostsToOtherBlog": "Dodeli objave v blogu drugemu blogu", + "SelectAnBlogToAssign": "Izberite blog, ki mu želite dodeliti objave", + "DeleteAllBlogPostsOfThisBlog": "Izbriši vse objave v tem blogu" } } \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/sv.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/sv.json index 6e8962915b..f9604657ce 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/sv.json +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/sv.json @@ -254,6 +254,10 @@ "CommentAlertMessage": "Det finns {0} kommentarer som väntar på godkännande", "Settings:Menu:CmsKit": "CMS", "CommentsAwaitingApproval": "Kommentarer som väntar på godkännande", - "CommentSubmittedForApproval": "Din kommentar har skickats in för godkännande." + "CommentSubmittedForApproval": "Din kommentar har skickats in för godkännande.", + "ChooseAnActionForBlog": "Välj en åtgärd för bloggen", + "AssignBlogPostsToOtherBlog": "Tilldela blogginlägg till en annan blogg", + "SelectAnBlogToAssign": "Välj en blogg att tilldela", + "DeleteAllBlogPostsOfThisBlog": "Radera alla blogginlägg i denna blogg" } } \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/tr.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/tr.json index 3605cb9d3b..0e5d6d7c11 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/tr.json +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/tr.json @@ -218,6 +218,10 @@ "CaptchaCode": "Captcha kodu", "CommentTextRequired": "Yorum zorunlu", "PopularTags": "Popüler Etiketler", - "ThisPartOfContentCouldntBeLoaded": "Bu içerik yüklenemedi" + "ThisPartOfContentCouldntBeLoaded": "Bu içerik yüklenemedi", + "ChooseAnActionForBlog": "Blog için bir eylem seçin", + "AssignBlogPostsToOtherBlog": "Diğer bloglara blog yazıları atayın", + "SelectAnBlogToAssign": "Atanacak bir blog seçin", + "DeleteAllBlogPostsOfThisBlog": "Bu blogun tüm blog yazılarını sil" } } diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/vi.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/vi.json index 1ec430edc3..0a2159e104 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/vi.json +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/vi.json @@ -227,6 +227,10 @@ "CssClass": "Lớp CSS", "TagsHelpText": "Các thẻ phải được phân tách bằng dấu phẩy (ví dụ: tag1, tag2, tag3)", "ThisPartOfContentCouldntBeLoaded": "Phần này của nội dung không thể được tải.", - "DuplicateCommentAttemptMessage": "Đã phát hiện nỗ lực đăng bình luận trùng lặp. Bình luận của bạn đã được gửi." + "DuplicateCommentAttemptMessage": "Đã phát hiện nỗ lực đăng bình luận trùng lặp. Bình luận của bạn đã được gửi.", + "ChooseAnActionForBlog": "Chọn một hành động cho blog", + "AssignBlogPostsToOtherBlog": "Gán bài đăng trên blog cho blog khác", + "SelectAnBlogToAssign": "Chọn một blog để gán", + "DeleteAllBlogPostsOfThisBlog": "Xóa tất cả bài đăng trên blog của blog này" } } \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/zh-Hans.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/zh-Hans.json index c02fcf614d..18ae3004cb 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/zh-Hans.json +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/zh-Hans.json @@ -227,6 +227,10 @@ "CssClass": "CSS 类", "TagsHelpText": "标签应以逗号分隔(例如:标签 1,标签 2,标签 3)", "ThisPartOfContentCouldntBeLoaded": "这部分内容无法加载。", - "DuplicateCommentAttemptMessage": "检测到重复发表评论。您的评论已经提交。" + "DuplicateCommentAttemptMessage": "检测到重复发表评论。您的评论已经提交。", + "ChooseAnActionForBlog": "选择博客的操作", + "AssignBlogPostsToOtherBlog": "将博客文章分配给其他博客", + "SelectAnBlogToAssign": "选择要分配的博客", + "DeleteAllBlogPostsOfThisBlog": "删除此博客的所有博客文章" } } \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/zh-Hant.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/zh-Hant.json index 866fd3fcea..80c30a6be3 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/zh-Hant.json +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/zh-Hant.json @@ -227,6 +227,10 @@ "CssClass": "CSS類", "TagsHelpText": "標籤應以逗號分隔(例如:tag1、tag2、tag3)", "ThisPartOfContentCouldntBeLoaded": "這部分內容無法加載", - "DuplicateCommentAttemptMessage": "偵測到重複的評論貼文嘗試。您的評論已經提交。" + "DuplicateCommentAttemptMessage": "偵測到重複的評論貼文嘗試。您的評論已經提交。", + "ChooseAnActionForBlog": "選擇部落格的操作", + "AssignBlogPostsToOtherBlog": "將部落格文章分配給其他部落格", + "SelectAnBlogToAssign": "選擇要分配的部落格", + "DeleteAllBlogPostsOfThisBlog": "刪除此部落格的所有部落格文章" } } \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Blogs/BlogPost.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Blogs/BlogPost.cs index 3a4cf26c1b..a34a303008 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Blogs/BlogPost.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Blogs/BlogPost.cs @@ -53,7 +53,7 @@ public class BlogPost : FullAuditedAggregateRoot, IMultiTenant, IHasEntity ) : base(id) { TenantId = tenantId; - BlogId = blogId; + SetBlogId(blogId); AuthorId = authorId; SetTitle(title); SetSlug(slug); @@ -68,6 +68,11 @@ public class BlogPost : FullAuditedAggregateRoot, IMultiTenant, IHasEntity Title = Check.NotNullOrWhiteSpace(title, nameof(title), BlogPostConsts.MaxTitleLength); } + public virtual void SetBlogId(Guid blogId) + { + BlogId = blogId; + } + internal void SetSlug(string slug) { Check.NotNullOrWhiteSpace(slug, nameof(slug), BlogPostConsts.MaxSlugLength, BlogPostConsts.MinSlugLength); diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Blogs/BlogWithBlogPostCount.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Blogs/BlogWithBlogPostCount.cs new file mode 100644 index 0000000000..9a84402375 --- /dev/null +++ b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Blogs/BlogWithBlogPostCount.cs @@ -0,0 +1,14 @@ +namespace Volo.CmsKit.Blogs; + +public class BlogWithBlogPostCount +{ + public Blog Blog { get; set; } + + public int BlogPostCount { get; set; } + + public BlogWithBlogPostCount(Blog blog, int blogPostCount) + { + Blog = blog; + BlogPostCount = blogPostCount; + } +} \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Blogs/IBlogPostRepository.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Blogs/IBlogPostRepository.cs index 404d21dc83..885d0de800 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Blogs/IBlogPostRepository.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Blogs/IBlogPostRepository.cs @@ -44,4 +44,6 @@ public interface IBlogPostRepository : IBasicRepository Task GetAuthorHasBlogPostAsync(Guid id, CancellationToken cancellationToken = default); Task HasBlogPostWaitingForReviewAsync(CancellationToken cancellationToken = default); + + Task UpdateBlogAsync(Guid sourceBlogId, Guid? targetBlogId = null, CancellationToken cancellationToken = default); } \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Blogs/IBlogRepository.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Blogs/IBlogRepository.cs index 60005db319..aebdfc3f24 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Blogs/IBlogRepository.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Blogs/IBlogRepository.cs @@ -16,6 +16,13 @@ public interface IBlogRepository : IBasicRepository CancellationToken cancellationToken = default ); + Task> GetListWithBlogPostCountAsync( + string filter = null, + string sorting = null, + int maxResultCount = int.MaxValue, + int skipCount = 0, + CancellationToken cancellationToken = default); + Task GetCountAsync( string filter = null, CancellationToken cancellationToken = default diff --git a/modules/cms-kit/src/Volo.CmsKit.EntityFrameworkCore/Volo/CmsKit/Blogs/EfCoreBlogPostRepository.cs b/modules/cms-kit/src/Volo.CmsKit.EntityFrameworkCore/Volo/CmsKit/Blogs/EfCoreBlogPostRepository.cs index 266a04a910..1160387151 100644 --- a/modules/cms-kit/src/Volo.CmsKit.EntityFrameworkCore/Volo/CmsKit/Blogs/EfCoreBlogPostRepository.cs +++ b/modules/cms-kit/src/Volo.CmsKit.EntityFrameworkCore/Volo/CmsKit/Blogs/EfCoreBlogPostRepository.cs @@ -160,4 +160,17 @@ public class EfCoreBlogPostRepository : EfCoreRepository x.Status == BlogPostStatus.WaitingForReview, GetCancellationToken(cancellationToken)); } + + public async Task UpdateBlogAsync(Guid sourceBlogId, Guid? targetBlogId = null, CancellationToken cancellationToken = default) + { + if (targetBlogId != null) + { + await (await GetDbSetAsync()).Where(x => x.BlogId == sourceBlogId).ExecuteUpdateAsync(x => x.SetProperty(b => b.BlogId, targetBlogId.Value), GetCancellationToken(cancellationToken)); + + } + else + { + await (await GetDbSetAsync()).Where(x => x.BlogId == sourceBlogId).ExecuteDeleteAsync(GetCancellationToken(cancellationToken)); + } + } } \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.EntityFrameworkCore/Volo/CmsKit/Blogs/EfCoreBlogRepository.cs b/modules/cms-kit/src/Volo.CmsKit.EntityFrameworkCore/Volo/CmsKit/Blogs/EfCoreBlogRepository.cs index daf915f675..5234577f02 100644 --- a/modules/cms-kit/src/Volo.CmsKit.EntityFrameworkCore/Volo/CmsKit/Blogs/EfCoreBlogRepository.cs +++ b/modules/cms-kit/src/Volo.CmsKit.EntityFrameworkCore/Volo/CmsKit/Blogs/EfCoreBlogRepository.cs @@ -43,6 +43,31 @@ public class EfCoreBlogRepository : EfCoreRepository> GetListWithBlogPostCountAsync( + string filter = null, + string sorting = null, + int maxResultCount = int.MaxValue, + int skipCount = 0, + CancellationToken cancellationToken = default) + { + var blogs = await (await GetListQueryAsync(filter)).OrderBy(sorting.IsNullOrEmpty() ? "creationTime desc" : sorting) + .PageBy(skipCount, maxResultCount).ToListAsync(GetCancellationToken(cancellationToken)); + + var blogIds = blogs.Select(x => x.Id).ToArray(); + + var blogPostCount = await (await GetDbContextAsync()).Set() + .Where(blogPost => blogIds.Contains(blogPost.BlogId)) + .GroupBy(blogPost => blogPost.BlogId) + .Select(x => new + { + BlogId = x.Key, + Count = x.Count() + }) + .ToListAsync(GetCancellationToken(cancellationToken)); + + return blogs.Select(blog => new BlogWithBlogPostCount(blog, blogPostCount.FirstOrDefault(x => x.BlogId == blog.Id)?.Count ?? 0)).ToList(); + } + public virtual async Task GetCountAsync(string filter = null, CancellationToken cancellationToken = default) { var query = await GetListQueryAsync(filter); diff --git a/modules/cms-kit/src/Volo.CmsKit.MongoDB/Volo/CmsKit/MongoDB/Blogs/MongoBlogPostRepository.cs b/modules/cms-kit/src/Volo.CmsKit.MongoDB/Volo/CmsKit/MongoDB/Blogs/MongoBlogPostRepository.cs index d3ae31926b..d27fdf16b6 100644 --- a/modules/cms-kit/src/Volo.CmsKit.MongoDB/Volo/CmsKit/MongoDB/Blogs/MongoBlogPostRepository.cs +++ b/modules/cms-kit/src/Volo.CmsKit.MongoDB/Volo/CmsKit/MongoDB/Blogs/MongoBlogPostRepository.cs @@ -192,4 +192,24 @@ public class MongoBlogPostRepository : MongoDbRepository x.Status == BlogPostStatus.WaitingForReview, cancellationToken); } + + public async Task UpdateBlogAsync(Guid sourceBlogId, Guid? targetBlogId, CancellationToken cancellationToken = default) + { + cancellationToken = GetCancellationToken(cancellationToken); + var blogPosts = await (await GetMongoQueryableAsync(cancellationToken)).Where(x => x.BlogId == sourceBlogId).ToListAsync(cancellationToken); + if (targetBlogId.HasValue) + { + foreach (var blogPost in blogPosts) + { + blogPost.SetBlogId(targetBlogId.Value); + } + + await UpdateManyAsync(blogPosts, false, cancellationToken); + } + else + { + + await DeleteManyAsync(blogPosts, false, cancellationToken); + } + } } diff --git a/modules/cms-kit/src/Volo.CmsKit.MongoDB/Volo/CmsKit/MongoDB/Blogs/MongoBlogRepository.cs b/modules/cms-kit/src/Volo.CmsKit.MongoDB/Volo/CmsKit/MongoDB/Blogs/MongoBlogRepository.cs index b34c452621..98567899e5 100644 --- a/modules/cms-kit/src/Volo.CmsKit.MongoDB/Volo/CmsKit/MongoDB/Blogs/MongoBlogRepository.cs +++ b/modules/cms-kit/src/Volo.CmsKit.MongoDB/Volo/CmsKit/MongoDB/Blogs/MongoBlogRepository.cs @@ -49,6 +49,33 @@ public class MongoBlogRepository : MongoDbRepository> GetListWithBlogPostCountAsync( + string filter = null, + string sorting = null, + int maxResultCount = int.MaxValue, + int skipCount = 0, + CancellationToken cancellationToken = default) + { + var token = GetCancellationToken(cancellationToken); + + var blogs = await GetListQueryAsync(filter, token); + + var blogIds = blogs.OrderBy(sorting.IsNullOrEmpty() ? "creationTime desc" : sorting) + .PageBy(skipCount, maxResultCount).Select(x => x.Id).ToList(); + + var blogPostCount = await (await GetMongoQueryableAsync(token)) + .Where(blogPost => blogIds.Contains(blogPost.Id)) + .GroupBy(blogPost => blogPost.BlogId) + .Select(x => new + { + BlogId = x.Key, + Count = x.Count() + }) + .ToListAsync(GetCancellationToken(cancellationToken)); + + return blogs.Select(blog => new BlogWithBlogPostCount(blog, blogPostCount.FirstOrDefault(x => x.BlogId == blog.Id) != null ? blogPostCount.FirstOrDefault(x => x.BlogId == blog.Id).Count : 0)).ToList(); + } + public virtual async Task GetCountAsync(string filter = null, CancellationToken cancellationToken = default) { var token = GetCancellationToken(cancellationToken); diff --git a/modules/docs/app/VoloDocs.Web/package.json b/modules/docs/app/VoloDocs.Web/package.json index 51dbf39a97..9b2bca3795 100644 --- a/modules/docs/app/VoloDocs.Web/package.json +++ b/modules/docs/app/VoloDocs.Web/package.json @@ -3,7 +3,7 @@ "name": "volo.docstestapp", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.basic": "~9.0.0-rc.2", - "@abp/docs": "~9.0.0-rc.2" + "@abp/aspnetcore.mvc.ui.theme.basic": "~9.0.0", + "@abp/docs": "~9.0.0" } } diff --git a/modules/docs/app/VoloDocs.Web/yarn.lock b/modules/docs/app/VoloDocs.Web/yarn.lock index fcbfe59c8c..a17bc5cd05 100644 --- a/modules/docs/app/VoloDocs.Web/yarn.lock +++ b/modules/docs/app/VoloDocs.Web/yarn.lock @@ -2,238 +2,238 @@ # yarn lockfile v1 -"@abp/anchor-js@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/anchor-js/-/anchor-js-9.0.0-rc.2.tgz#50f13ecddb163f549ced84711e857dd6d98921e9" - integrity sha512-YYOY5oaN2GdN7em5cckSX0t3pTRaQ1TFkjilzRQHiAgwmS/B5SO09V9hvQ0lLvpIPGQ7JzaomkZxCaQpMLeMCA== +"@abp/anchor-js@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/anchor-js/-/anchor-js-9.0.0.tgz#6b87875ba144ad551df43f7dece4e8ac306a4d2a" + integrity sha512-0cSp5zOKsddu6riwAhSEw0y5OOK+0aAdiXPAx7Ivnj1WuzMBn6A42oxV00rt/3vJAtAP3l5Tt6aFSG8FHgHkQQ== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" anchor-js "^5.0.0" -"@abp/aspnetcore.mvc.ui.theme.basic@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-9.0.0-rc.2.tgz#db73b3121cbd02207842f0388999298df49392ac" - integrity sha512-vzUPdL1UJ+aXKcei0rCpm3VYX9twhmomd+HqfzcL65TtrXgIK8jCv4Wn0rRFfSGtUfM8OetIVVkmggIZusGTZQ== - dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "~9.0.0-rc.2" - -"@abp/aspnetcore.mvc.ui.theme.shared@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-9.0.0-rc.2.tgz#acaeaa5e0b329e5d836a198f7a3563d141d7fc79" - integrity sha512-hs8AoZwOnrMYmFl7/GQc6EUr5Jz5lTXWgSmp0l/DdH7f3INYEgCrIp5qvLFyNu8CHv6Gbegw2vGdpfDQbkiasw== - dependencies: - "@abp/aspnetcore.mvc.ui" "~9.0.0-rc.2" - "@abp/bootstrap" "~9.0.0-rc.2" - "@abp/bootstrap-datepicker" "~9.0.0-rc.2" - "@abp/bootstrap-daterangepicker" "~9.0.0-rc.2" - "@abp/datatables.net-bs5" "~9.0.0-rc.2" - "@abp/font-awesome" "~9.0.0-rc.2" - "@abp/jquery-form" "~9.0.0-rc.2" - "@abp/jquery-validation-unobtrusive" "~9.0.0-rc.2" - "@abp/lodash" "~9.0.0-rc.2" - "@abp/luxon" "~9.0.0-rc.2" - "@abp/malihu-custom-scrollbar-plugin" "~9.0.0-rc.2" - "@abp/moment" "~9.0.0-rc.2" - "@abp/select2" "~9.0.0-rc.2" - "@abp/sweetalert2" "~9.0.0-rc.2" - "@abp/timeago" "~9.0.0-rc.2" - "@abp/toastr" "~9.0.0-rc.2" - -"@abp/aspnetcore.mvc.ui@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-9.0.0-rc.2.tgz#5fc82ab4872b955cf46d755e99c656e0420a3c64" - integrity sha512-gGfHAsznxFIqTk6OFuRzcJ8D65VWmHkRqQjzmd97GZ1lNXRGDNGtYXbC/L1bA88O+qAXzhQ/c47h6in9cGh38w== +"@abp/aspnetcore.mvc.ui.theme.basic@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-9.0.0.tgz#e4b05d63446c24b612275e3949881e176d32527f" + integrity sha512-GHEt26xESe/TCg1q6ZjeUbxniqdxaiB1OPTZ9md7ONql6bEp8t9iUPeSlkyAZtQ7qBzwgkiLpkRFT+J21DftaQ== + dependencies: + "@abp/aspnetcore.mvc.ui.theme.shared" "~9.0.0" + +"@abp/aspnetcore.mvc.ui.theme.shared@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-9.0.0.tgz#a77b4b70fa6217146afd6a57211f57e2360564f2" + integrity sha512-QmZrSp+rfqfnC9W4QZ+nNdAq0rOALzRn1rsDpGDHhIHwyXB03QPdjzIWaEvldUYHzqg84cEP0LcqW4y57Xr1iw== + dependencies: + "@abp/aspnetcore.mvc.ui" "~9.0.0" + "@abp/bootstrap" "~9.0.0" + "@abp/bootstrap-datepicker" "~9.0.0" + "@abp/bootstrap-daterangepicker" "~9.0.0" + "@abp/datatables.net-bs5" "~9.0.0" + "@abp/font-awesome" "~9.0.0" + "@abp/jquery-form" "~9.0.0" + "@abp/jquery-validation-unobtrusive" "~9.0.0" + "@abp/lodash" "~9.0.0" + "@abp/luxon" "~9.0.0" + "@abp/malihu-custom-scrollbar-plugin" "~9.0.0" + "@abp/moment" "~9.0.0" + "@abp/select2" "~9.0.0" + "@abp/sweetalert2" "~9.0.0" + "@abp/timeago" "~9.0.0" + "@abp/toastr" "~9.0.0" + +"@abp/aspnetcore.mvc.ui@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-9.0.0.tgz#93004dd056c130386c7b40c458f3a793d8c9e051" + integrity sha512-pvO5bh9baFcSbfW0s7tpMpbe6DKSC16jeyeluZLlvYxC0n2gkrv7H/hB5aMuBKIlh89aGY9DQIcMFC8iczL3Bg== dependencies: ansi-colors "^4.1.3" -"@abp/bootstrap-datepicker@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-9.0.0-rc.2.tgz#884343a8c0b881e6612cbbbf1fb9af0f40cbc223" - integrity sha512-JqPKn0xFyqoA4smY3gtUE/HcbG5QmLtFpZNG/zMnDq2JEtJt13xee9FguYXrlMOrM9PqAwnq2Wrc8s71ROh8Zg== +"@abp/bootstrap-datepicker@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-9.0.0.tgz#d6609e50568aac6a013abfcaa07817998e1eaa99" + integrity sha512-wxAeVsOVOJpidDn0g3FlJvpOsn5SVY5IpEG+FtUxSAKuWYJQWF6g5CaghrfS+FNDK9IHhxrgSMPMVBK9YlDSzw== dependencies: bootstrap-datepicker "^1.10.0" -"@abp/bootstrap-daterangepicker@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-9.0.0-rc.2.tgz#bc0e134e36da111aaa25f7d4d3e90d394c873b50" - integrity sha512-5KChSBquD7pQNiI3TgJSYHw549Pxuom8TAg+44edjEKRvR7KUR8IkfdImlZYHPeLmoUTnnWXiFKOIxOi9OjLoA== +"@abp/bootstrap-daterangepicker@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-9.0.0.tgz#fc2871e7d886accd8e4748cb763b695e10701c00" + integrity sha512-qS6SQR6X7wMCVLcuXatJ2+m1GNlpN71p7VDritxfwAMHa7WBRAAi8apX2WItwBAuLQ2s1uSA0Wp1KstHG3VPLA== dependencies: bootstrap-daterangepicker "^3.1.0" -"@abp/bootstrap@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-9.0.0-rc.2.tgz#cf0b2567f44030d5d0620ca36d9d25999cd25e0e" - integrity sha512-Fkagr1fTyeKDtsvn7TKJKRkWNaYd6ZmE1IhLffwLwDpyt26JBYK3XqGXT+eHFXXpSxrgANERVogSN5E46IU1OQ== +"@abp/bootstrap@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-9.0.0.tgz#5ab292e95ba7eef129cbaa1dc5f5d5c0af8530d7" + integrity sha512-jEr6su8BfoNxYvze/UlddE3DlezyPvQeiNhff8SDPqtRQ6XvjZ48O/JwtY01hK2njEDLOZINY5zJRGmO2OiOUw== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" bootstrap "^5.3.3" -"@abp/clipboard@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-9.0.0-rc.2.tgz#dfa4df015beba83f7c44d749a24987a74a419b59" - integrity sha512-xuhFygNc4c67QkVMqsArQ4qGRJX+qKwSx4LQIaASaZq91ACtU2r5iTjCDb/YFcUVxXXufNLvuFgARGJp5vvvxA== +"@abp/clipboard@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-9.0.0.tgz#21ae924dfef6ccf3c8a3913bb81caf22b57404e4" + integrity sha512-W6S7pihpQ6Wfj48Clk7hYgDvUtnRwkNIsk5t8s9+LxoAdJQGQFxh7SAW1QNavUv8QqsClNE1VtSU87c7rSoAbA== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" clipboard "^2.0.11" -"@abp/core@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-9.0.0-rc.2.tgz#f0344669a745581b1032de396b1165f4cb3ea834" - integrity sha512-rmlWc6ydzRWVvQpkqSGEXcmYx1WJvxLajC7Ts6epbmmyklrx+tA5uQqCiSlsJWfIyaejLOjDka319arukaMb/Q== +"@abp/core@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/core/-/core-9.0.0.tgz#dc5ea9139957e307f73ac1f40b179f991e3c2168" + integrity sha512-vzQyTpqVDx63pOI9e2QLUMWZCrSojHsRnzLlvl+/cKFi7jE1q/uSP66FPR2bwkD+DNLI/tn6is1Jx3skKA1FvA== dependencies: - "@abp/utils" "~9.0.0-rc.2" + "@abp/utils" "~9.0.0" -"@abp/datatables.net-bs5@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-9.0.0-rc.2.tgz#7f01e5e74530cd9bb13545917f00a5c38163745a" - integrity sha512-snZi/kAtkH4p1t1cUIKU5DRDz+U2CUHk7JAZE+g9bClMvmDTh4Kta5JmTW3g++JSh+C0LQzYXRPXnV7TgUcBgw== +"@abp/datatables.net-bs5@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-9.0.0.tgz#4daee90bdb6446e854ce65f2a3afabb2a13e49ae" + integrity sha512-ln10tcRwxcB0nuSgqJ/66strHsqMHDC03c0ktxEplAN34yP7KInjFf/U9Svo74K0nKlkJdMCgmqmT4CnBJZlIg== dependencies: - "@abp/datatables.net" "~9.0.0-rc.2" + "@abp/datatables.net" "~9.0.0" datatables.net-bs5 "^2.1.8" -"@abp/datatables.net@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-9.0.0-rc.2.tgz#cf5a5df0c6735080f2ba1f1746f4eb8d05d02c5b" - integrity sha512-hdJH5xN6SXTFZXnv+fTmcmFU19Fr2sIZMrfirUfH1of8qTn7cObjAe9r189PGt/3FZeFPA8pmfnNL6ZLwnLKtw== +"@abp/datatables.net@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-9.0.0.tgz#82b28518293c9091ec72d5defae2f5d2903d8bbc" + integrity sha512-QhuX3bGZOckM/fhIIGj/StMJIX2BBtNbLzjTR7WnKMMxDkv0+oDvjw6OqqpYKSvj/q3vY6sRWuCNdEzNi0Fk6A== dependencies: - "@abp/jquery" "~9.0.0-rc.2" + "@abp/jquery" "~9.0.0" datatables.net "^2.1.8" -"@abp/docs@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/docs/-/docs-9.0.0-rc.2.tgz#cc68ed146197a165c51c06eff5a8b41416476e9c" - integrity sha512-BaWL/x/b9fE+GGwNbQVmUgpVyNJZAVqDZlZP0YUVjn4uz1KwvjJMPbhUws/0Xl647cQHSAz5S3LDQVQDQl+rYg== +"@abp/docs@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/docs/-/docs-9.0.0.tgz#37d785447de4230a92d742f7aa0560e702ae1671" + integrity sha512-wo7iImXCO+KRowEkYqPFK3Xkqi7k4tOBn3Mctye4BtPCRnwW1kIQuzAWJr7algXgE8OF3+jjMpy1A4tqTTrgLw== dependencies: - "@abp/anchor-js" "~9.0.0-rc.2" - "@abp/clipboard" "~9.0.0-rc.2" - "@abp/malihu-custom-scrollbar-plugin" "~9.0.0-rc.2" - "@abp/popper.js" "~9.0.0-rc.2" - "@abp/prismjs" "~9.0.0-rc.2" + "@abp/anchor-js" "~9.0.0" + "@abp/clipboard" "~9.0.0" + "@abp/malihu-custom-scrollbar-plugin" "~9.0.0" + "@abp/popper.js" "~9.0.0" + "@abp/prismjs" "~9.0.0" -"@abp/font-awesome@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-9.0.0-rc.2.tgz#1493057e28b2e1e8a434ff1599e8b4b72b8784d2" - integrity sha512-EsQYx89OBquIxqGLgjAgMpUeAnWW316ruAmmxzGsusVT9KuIL6iuA4j4bdM8/6wJgi6zm2A/bDBjiiDDg2Cyyg== +"@abp/font-awesome@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-9.0.0.tgz#51cce18434a51d050ebb0d822a8c193b7e32f73d" + integrity sha512-bEHRVzOk0V2kFMAvB/YXFYaDKWRFO0+ScO7jrEFtFgdHXBcqy+dk1aM/N69WalyNmjRRpnh03GhH1LRpwL4/xA== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" "@fortawesome/fontawesome-free" "^6.6.0" -"@abp/jquery-form@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-9.0.0-rc.2.tgz#05a9082bc6c42fca3e001d97f77c0aa2e941448b" - integrity sha512-OUuwB/dgryiBG/iZCedwP2+8ot+PCeuAAMuZ1A/VXbNUJAbhiXF24tQM73wIhpAYcSc5egWjJ+VNTJKMKImTqA== +"@abp/jquery-form@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-9.0.0.tgz#6518eb117ee35c6bc57543fd1fccb0a8cf8e22f4" + integrity sha512-6qpfPGHrjADmm7Ne3zcXBGPuLngG8ldAn5fk9k2taftpyX0iR67/nZxiQ0ujaQGgaai5Wb3imNXMG96XLnubkQ== dependencies: - "@abp/jquery" "~9.0.0-rc.2" + "@abp/jquery" "~9.0.0" jquery-form "^4.3.0" -"@abp/jquery-validation-unobtrusive@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-9.0.0-rc.2.tgz#d38f053ad3a8509dc683dc3091128eb445579176" - integrity sha512-170ARAIz0NWuQnleB2nWPKYQl3x/Za2yxc0utjxY0rruHflNQPF2cMagLu+eBI6gDkThXNps74HiRPXOPdgc4A== +"@abp/jquery-validation-unobtrusive@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-9.0.0.tgz#8ee87dbdec5e92ab04ae9642a49af1598af31c1a" + integrity sha512-KlRQ1htyFmAIMS9xbHvHIcdhAgtPFe/u7c87MiWlk/CdhDrI3J+n5biLvQUzxCC+YWlwx27zBtPKx2vLeMRH6Q== dependencies: - "@abp/jquery-validation" "~9.0.0-rc.2" + "@abp/jquery-validation" "~9.0.0" jquery-validation-unobtrusive "^4.0.0" -"@abp/jquery-validation@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-9.0.0-rc.2.tgz#79c96c7eb48d5bebb3e7e86f8f9e2d6e2e45c5cb" - integrity sha512-6W2LiLgcC4FGTMLsoNkRBJTqDq6YR3ctLKzRfis9kOigkd0QT/PnB/451rrVb7+BCl9luKaA8DDYF671S8klFA== +"@abp/jquery-validation@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-9.0.0.tgz#681d8037c57b3875bd51c927e350ffce65d7c5d2" + integrity sha512-XgCUBFWbhTDcGepD/xkwA/1Hl4TyYitRttauDJk3tuyXhNtykvdugCCOPY4j2s6VoT1Sb/TFFvOcgEvlBwkKiw== dependencies: - "@abp/jquery" "~9.0.0-rc.2" + "@abp/jquery" "~9.0.0" jquery-validation "^1.21.0" -"@abp/jquery@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-9.0.0-rc.2.tgz#c8bd299d1b5558a4c3cef26b248d42e9a6303e33" - integrity sha512-GrO0gKdi20jlQ0YjWaddal0X0+5LkMpOAyMB1GdaDetLaaVjcZ+92zx1cApcAdIsCKgB+kyutRQv0b82o/EZPQ== +"@abp/jquery@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-9.0.0.tgz#6c67a9f927be598ab6201f8888e8a3cb8bba0686" + integrity sha512-cUXA7v6F1HqAc/w8fQGxHIfA/6BqO+4uHXDnSsJZtrI26DTLOgw5kBNnAz2W4xggGPCY7SKFHNRZuOW/QfVRPg== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" jquery "~3.7.1" -"@abp/lodash@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-9.0.0-rc.2.tgz#980a0ae2d95c83663f0f52f1b67b5cfb00d04b96" - integrity sha512-uwxv7WJqwRcGkVoB44JR1QJaMbe3RhCQsG6+Wee1Jjdgi2vkpFUCj2arM4Rxz1igntFjY2Z7NiBq+iL9HYIkSw== +"@abp/lodash@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-9.0.0.tgz#a4d42b2dfeb37859ff9f0079c7a8a6cabc982efe" + integrity sha512-xoAsOkkgnQdPH2OyFTgF6OlCLVbyGF4u8CrFcZWCZmuIFT9cg0+ZEiq//Vog1pg3Lf//N37ceGpOag1LwMe6cQ== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" lodash "^4.17.21" -"@abp/luxon@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-9.0.0-rc.2.tgz#1bb0eae53b707371489a4e0edf2869d7acc71da8" - integrity sha512-iWE8sbBWxCbNYSO3TTTzeotGS6kAnIwCKos/96mtaYJ4wzPW9pgF7K94CvwLAAg9NTsx/J/OGdmhhM2cULhv+w== +"@abp/luxon@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-9.0.0.tgz#a54dda13cbbd362481994d20d2e07c669c6ce109" + integrity sha512-aPejQnoVPfm60LnjwhfUkIsB+poNWusrBE0IHllxhvOVE+01nfa1Lvpp5AUWzV+XchPGOCSf+a29ds4EQWfNbg== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" luxon "^3.5.0" -"@abp/malihu-custom-scrollbar-plugin@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-9.0.0-rc.2.tgz#fce5c12be2bdf350b18aae52619309a474995442" - integrity sha512-e3JTnDSkjF9/MPh/nPqcvU8hkUxSMc5U6DnP169GBdVAYQwwnGD24x4QCWU7ch7s65FDJ8/uq7bYOcIAD0B+Dw== +"@abp/malihu-custom-scrollbar-plugin@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-9.0.0.tgz#b8a49202d531c711874a2bcdae5081ae0ed34c3f" + integrity sha512-iSZ9lKMnv5F2SplR+A4blhFEDq79lKbvBQuS7h/Di3KEHFOdJY4pA8NP8OR+PXOF3JfAezGyjqy7ydn/JNPRwA== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" malihu-custom-scrollbar-plugin "^3.1.5" -"@abp/moment@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-9.0.0-rc.2.tgz#2fc0feaaa0a26436cf00a6beccaa64f505aef301" - integrity sha512-yqkgu0bo3ra6HVFdS2wlqwTysciYOJWi/ERFVS2MfUkAKFA0P7mv8Jg5tB4vGY2Km++7r22kCDRlK3KUPmk21g== +"@abp/moment@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-9.0.0.tgz#9583e97472ddf608a9a5a6b8a37fee602b419900" + integrity sha512-wgyJSKmBmHLXZJN3dy3zK4i2JvWGgqnvdtrKURy/raEurxlymv8JF5JA971kTv6Kz2OA/OSYttpVJkDGUpPAhA== dependencies: moment "^2.30.1" -"@abp/popper.js@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/popper.js/-/popper.js-9.0.0-rc.2.tgz#f2bb752d015077ca4f09362550a657083544f8a8" - integrity sha512-hwZvx02ULi5ShxLdBQogMBD+DCSQN3/aOT8NqrllasrHgzRQ9NhKi9Mdez+5mJMJKAaJz2kX41ivV7I5MOpb9g== +"@abp/popper.js@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/popper.js/-/popper.js-9.0.0.tgz#daeb5d966af64cb386633f0b17d68ab01af41557" + integrity sha512-Uc9yxvIySV/iDtXdPSb8J2wlw6OhnsC5pKRLdvV7lmFjxawVJF0eJQ7Wg5k77tMirEESL3VZMT2mekwT47c8zA== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" "@popperjs/core" "^2.11.8" -"@abp/prismjs@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-9.0.0-rc.2.tgz#2de7bc2882fee46d3d7e2da1fb66bca6b06cc4dd" - integrity sha512-rQ4dVGk+lEHFFSIBsJPqijeh4k3UgoDMZL1rns2a6NR+QnR0J2Slx3Awt8SH+inQFH2JiLHVo9q4bG+81vCsag== +"@abp/prismjs@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-9.0.0.tgz#2ac4a5ddc0c8e0462af027a4dd97a177a3d6f7a5" + integrity sha512-+evmBq5qV+Ix/TNqO2ljJn0jygW2rEgKNtABcBGmrZC8xiI7+2hjKmSE0e43qb+RDib8aJjwH8ya8wF7p68ZFw== dependencies: - "@abp/clipboard" "~9.0.0-rc.2" - "@abp/core" "~9.0.0-rc.2" + "@abp/clipboard" "~9.0.0" + "@abp/core" "~9.0.0" prismjs "^1.29.0" -"@abp/select2@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-9.0.0-rc.2.tgz#53806118fdfe9f9228e26c6867ce0e75e6572b81" - integrity sha512-arKdcs95+4zp5764iOz09aJ3C1F2SsBIzekpjpJwMBdLRfoleZZFm12itO8I4Jjb1R+2CkW6MXjLR5xL2aE0PQ== +"@abp/select2@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-9.0.0.tgz#71503eebb746f40a0e565dba1efa05d6ae937b77" + integrity sha512-l+Hz2Qmc7AcyaTJOyuDaV99RbBWYxYxbeyVEc4xKbRFbJxYBUxT/DFlyozEaoz+OU1fl4szO3UCthJ2yZvxCdg== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" select2 "^4.0.13" -"@abp/sweetalert2@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-9.0.0-rc.2.tgz#60b25d65b3e5eb53e18ba5b1f3663783562d2506" - integrity sha512-VJslD1AMDZJhOEko79UYIxIYeAmr1YUwJu8XNAurBGPa9sWGI+jPY/dYg3uptg8GEJHsFtog84m3nUQ/prRUcw== +"@abp/sweetalert2@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-9.0.0.tgz#71e511117c18b515e5c658e9cc0667770af65d91" + integrity sha512-wxDqoA6RUhkbcN27Kzslu/m2ai5T9AkJRtgs7pV55LvPv1ohuCPEUeTVVh8S/5Pgmr7aPFAPxaaCO32aPcImPw== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" sweetalert2 "^11.14.1" -"@abp/timeago@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-9.0.0-rc.2.tgz#72a7da1eda19beb34c352f3f43d2f5181b0b926a" - integrity sha512-zRj+TssaDXW2OM4mNn47G1tRg4BZ2sqbEiiUIQrU9hHMHmxOf8bAJhqsouGDDZF3xetcwKhmLN08VWK1sqqpQA== +"@abp/timeago@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-9.0.0.tgz#8f262ba2a74e1c133d0c129f8a0bc55c29441e1a" + integrity sha512-eaNdIUEtDXnuYqS5O7EGRV+j6XOLAsxz7gd5BIKR9lDujd8pEjSJkXKO+/0KxLTkUSy3JudIO37K1h2wTpbYZA== dependencies: - "@abp/jquery" "~9.0.0-rc.2" + "@abp/jquery" "~9.0.0" timeago "^1.6.7" -"@abp/toastr@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-9.0.0-rc.2.tgz#ddbf0b6362941f62c07c9820af59dcd6912331d0" - integrity sha512-l4z6z3Oc/JF4XJplqGETQtBkqzjbpobcfzEHeH6LjUeunLMEVQOtjhPUBLrhg4ZM0i9k46hmxsoOkWXu7tClyQ== +"@abp/toastr@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-9.0.0.tgz#74d74ecb3e7f2d63b2ff7735c89a40deb3dc3a13" + integrity sha512-n9uJvw8l2HoxeowPO4diEMxwchGh6puefhyRljFAAstzK77Mhn0u2J7kPynNv94rLSYTYoCxUeJ4TTN+/TVDGQ== dependencies: - "@abp/jquery" "~9.0.0-rc.2" + "@abp/jquery" "~9.0.0" toastr "^2.1.4" -"@abp/utils@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-9.0.0-rc.2.tgz#e644889f1c1c4828b509aea9ae3ae48439a5b89d" - integrity sha512-eIL3syPE0LzPyeHV5+pgRxw3/H2YTmK2U9VEOUu26ExiCMIt5Waf8T92BjaH9sLrMD5P9ZAT2jWaxh+VTsEtKA== +"@abp/utils@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-9.0.0.tgz#2264fd83105b061860edd98dbe0efdfe55803ed5" + integrity sha512-/SB4VYk3Av+ltXv6ovkFHG4iWiECLLitaYWcEHxVAO80ufNjrNnWpHFpXHP8u/RpXIp/CoNiHLr6j5TkZUTZjw== dependencies: just-compare "^2.3.0" diff --git a/modules/openiddict/app/OpenIddict.Demo.Server/package.json b/modules/openiddict/app/OpenIddict.Demo.Server/package.json index 49894b8882..8b5210b25f 100644 --- a/modules/openiddict/app/OpenIddict.Demo.Server/package.json +++ b/modules/openiddict/app/OpenIddict.Demo.Server/package.json @@ -3,6 +3,6 @@ "name": "my-app", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.basic": "~9.0.0-rc.2" + "@abp/aspnetcore.mvc.ui.theme.basic": "~9.0.0" } } diff --git a/modules/openiddict/app/angular/package.json b/modules/openiddict/app/angular/package.json index de241c6b2e..2dc6f65e2e 100644 --- a/modules/openiddict/app/angular/package.json +++ b/modules/openiddict/app/angular/package.json @@ -12,15 +12,15 @@ }, "private": true, "dependencies": { - "@abp/ng.account": "~9.0.0-rc.2", - "@abp/ng.components": "~9.0.0-rc.2", - "@abp/ng.core": "~9.0.0-rc.2", - "@abp/ng.oauth": "~9.0.0-rc.2", - "@abp/ng.identity": "~9.0.0-rc.2", - "@abp/ng.setting-management": "~9.0.0-rc.2", - "@abp/ng.tenant-management": "~9.0.0-rc.2", - "@abp/ng.theme.shared": "~9.0.0-rc.2", - "@abp/ng.theme.lepton-x": "~4.0.0-rc.2", + "@abp/ng.account": "~9.0.0", + "@abp/ng.components": "~9.0.0", + "@abp/ng.core": "~9.0.0", + "@abp/ng.oauth": "~9.0.0", + "@abp/ng.identity": "~9.0.0", + "@abp/ng.setting-management": "~9.0.0", + "@abp/ng.tenant-management": "~9.0.0", + "@abp/ng.theme.shared": "~9.0.0", + "@abp/ng.theme.lepton-x": "~4.0.0", "@angular/animations": "^15.0.1", "@angular/common": "^15.0.1", "@angular/compiler": "^15.0.1", @@ -36,7 +36,7 @@ "zone.js": "~0.11.4" }, "devDependencies": { - "@abp/ng.schematics": "~9.0.0-rc.2", + "@abp/ng.schematics": "~9.0.0", "@angular-devkit/build-angular": "^15.0.1", "@angular-eslint/builder": "~15.1.0", "@angular-eslint/eslint-plugin": "~15.1.0", diff --git a/modules/openiddict/src/Volo.Abp.OpenIddict.AspNetCore/Volo/Abp/OpenIddict/AbpErrorDescriptionConsts.cs b/modules/openiddict/src/Volo.Abp.OpenIddict.AspNetCore/Volo/Abp/OpenIddict/AbpErrorDescriptionConsts.cs new file mode 100644 index 0000000000..93839fa6e3 --- /dev/null +++ b/modules/openiddict/src/Volo.Abp.OpenIddict.AspNetCore/Volo/Abp/OpenIddict/AbpErrorDescriptionConsts.cs @@ -0,0 +1,8 @@ +namespace Volo.Abp.OpenIddict; + +public static class AbpErrorDescriptionConsts +{ + public const string RequiresTwoFactor = "RequiresTwoFactor"; + + public const string RequiresConfirmUser = "RequiresConfirmUser"; +} diff --git a/modules/openiddict/src/Volo.Abp.OpenIddict.AspNetCore/Volo/Abp/OpenIddict/AbpOpenIddictAspNetCoreModule.cs b/modules/openiddict/src/Volo.Abp.OpenIddict.AspNetCore/Volo/Abp/OpenIddict/AbpOpenIddictAspNetCoreModule.cs index 1b8fb5d39c..61f254f255 100644 --- a/modules/openiddict/src/Volo.Abp.OpenIddict.AspNetCore/Volo/Abp/OpenIddict/AbpOpenIddictAspNetCoreModule.cs +++ b/modules/openiddict/src/Volo.Abp.OpenIddict.AspNetCore/Volo/Abp/OpenIddict/AbpOpenIddictAspNetCoreModule.cs @@ -140,7 +140,5 @@ public class AbpOpenIddictAspNetCoreModule : AbpModule services.ExecutePreConfiguredActions(builder); }); - - services.ExecutePreConfiguredActions(openIddictBuilder); } } diff --git a/modules/openiddict/src/Volo.Abp.OpenIddict.AspNetCore/Volo/Abp/OpenIddict/Controllers/TokenController.Password.cs b/modules/openiddict/src/Volo.Abp.OpenIddict.AspNetCore/Volo/Abp/OpenIddict/Controllers/TokenController.Password.cs index 470debf115..392e696d08 100644 --- a/modules/openiddict/src/Volo.Abp.OpenIddict.AspNetCore/Volo/Abp/OpenIddict/Controllers/TokenController.Password.cs +++ b/modules/openiddict/src/Volo.Abp.OpenIddict.AspNetCore/Volo/Abp/OpenIddict/Controllers/TokenController.Password.cs @@ -127,7 +127,12 @@ public partial class TokenController return await HandlePeriodicallyChangePasswordAsync(request, user, request.Password); } - errorDescription = "You are not allowed to login! Your account is inactive or needs to confirm your email/phone number."; + if (user.IsActive) + { + return await HandleConfirmUserAsync(request, user); + } + + errorDescription = "You are not allowed to login! Your account is inactive."; } else { @@ -235,7 +240,7 @@ public partial class TokenController items: new Dictionary { [OpenIddictServerAspNetCoreConstants.Properties.Error] = OpenIddictConstants.Errors.InvalidGrant, - [OpenIddictServerAspNetCoreConstants.Properties.ErrorDescription] = nameof(SignInResult.RequiresTwoFactor) + [OpenIddictServerAspNetCoreConstants.Properties.ErrorDescription] = AbpErrorDescriptionConsts.RequiresTwoFactor }, parameters: new Dictionary { @@ -337,6 +342,26 @@ public partial class TokenController } } + protected virtual Task HandleConfirmUserAsync(OpenIddictRequest request, IdentityUser user) + { + Logger.LogInformation($"{request.Username} needs to confirm email/phone number"); + + var properties = new AuthenticationProperties( + items: new Dictionary + { + [OpenIddictServerAspNetCoreConstants.Properties.Error] = OpenIddictConstants.Errors.InvalidGrant, + [OpenIddictServerAspNetCoreConstants.Properties.ErrorDescription] = AbpErrorDescriptionConsts.RequiresConfirmUser + }, + parameters: new Dictionary + { + ["userId"] = user.Id.ToString("N"), + ["email"] = user.Email, + ["phoneNumber"] = user.PhoneNumber ?? "" + }); + + return Task.FromResult(Forbid(properties, OpenIddictServerAspNetCoreDefaults.AuthenticationScheme)); + } + protected virtual async Task SetSuccessResultAsync(OpenIddictRequest request, IdentityUser user) { // Clear the dynamic claims cache. diff --git a/modules/permission-management/src/Volo.Abp.PermissionManagement.Domain/Volo/Abp/PermissionManagement/PermissionDataSeeder.cs b/modules/permission-management/src/Volo.Abp.PermissionManagement.Domain/Volo/Abp/PermissionManagement/PermissionDataSeeder.cs index 4227819fa6..1e8a4aab7b 100644 --- a/modules/permission-management/src/Volo.Abp.PermissionManagement.Domain/Volo/Abp/PermissionManagement/PermissionDataSeeder.cs +++ b/modules/permission-management/src/Volo.Abp.PermissionManagement.Domain/Volo/Abp/PermissionManagement/PermissionDataSeeder.cs @@ -35,19 +35,12 @@ public class PermissionDataSeeder : IPermissionDataSeeder, ITransientDependency { var names = grantedPermissions.ToArray(); var existsPermissionGrants = (await PermissionGrantRepository.GetListAsync(names, providerName, providerKey)).Select(x => x.Name).ToList(); - - foreach (var permissionName in names.Except(existsPermissionGrants)) + var permissions = names.Except(existsPermissionGrants).Select(permissionName => new PermissionGrant(GuidGenerator.Create(), permissionName, providerName, providerKey, tenantId)).ToList(); + if (!permissions.Any()) { - await PermissionGrantRepository.InsertAsync( - new PermissionGrant( - GuidGenerator.Create(), - permissionName, - providerName, - providerKey, - tenantId - ) - ); + return; } + await PermissionGrantRepository.InsertManyAsync(permissions); } } } diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/package.json b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/package.json index f205e18814..35f62891f2 100644 --- a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/package.json +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/package.json @@ -3,6 +3,6 @@ "name": "demo-app", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.basic": "~9.0.0-rc.2" + "@abp/aspnetcore.mvc.ui.theme.basic": "~9.0.0" } } diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/yarn.lock b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/yarn.lock index db507796bb..9e01130758 100644 --- a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/yarn.lock +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/yarn.lock @@ -2,194 +2,194 @@ # yarn lockfile v1 -"@abp/aspnetcore.mvc.ui.theme.basic@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-9.0.0-rc.2.tgz#db73b3121cbd02207842f0388999298df49392ac" - integrity sha512-vzUPdL1UJ+aXKcei0rCpm3VYX9twhmomd+HqfzcL65TtrXgIK8jCv4Wn0rRFfSGtUfM8OetIVVkmggIZusGTZQ== - dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "~9.0.0-rc.2" - -"@abp/aspnetcore.mvc.ui.theme.shared@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-9.0.0-rc.2.tgz#acaeaa5e0b329e5d836a198f7a3563d141d7fc79" - integrity sha512-hs8AoZwOnrMYmFl7/GQc6EUr5Jz5lTXWgSmp0l/DdH7f3INYEgCrIp5qvLFyNu8CHv6Gbegw2vGdpfDQbkiasw== - dependencies: - "@abp/aspnetcore.mvc.ui" "~9.0.0-rc.2" - "@abp/bootstrap" "~9.0.0-rc.2" - "@abp/bootstrap-datepicker" "~9.0.0-rc.2" - "@abp/bootstrap-daterangepicker" "~9.0.0-rc.2" - "@abp/datatables.net-bs5" "~9.0.0-rc.2" - "@abp/font-awesome" "~9.0.0-rc.2" - "@abp/jquery-form" "~9.0.0-rc.2" - "@abp/jquery-validation-unobtrusive" "~9.0.0-rc.2" - "@abp/lodash" "~9.0.0-rc.2" - "@abp/luxon" "~9.0.0-rc.2" - "@abp/malihu-custom-scrollbar-plugin" "~9.0.0-rc.2" - "@abp/moment" "~9.0.0-rc.2" - "@abp/select2" "~9.0.0-rc.2" - "@abp/sweetalert2" "~9.0.0-rc.2" - "@abp/timeago" "~9.0.0-rc.2" - "@abp/toastr" "~9.0.0-rc.2" - -"@abp/aspnetcore.mvc.ui@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-9.0.0-rc.2.tgz#5fc82ab4872b955cf46d755e99c656e0420a3c64" - integrity sha512-gGfHAsznxFIqTk6OFuRzcJ8D65VWmHkRqQjzmd97GZ1lNXRGDNGtYXbC/L1bA88O+qAXzhQ/c47h6in9cGh38w== +"@abp/aspnetcore.mvc.ui.theme.basic@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-9.0.0.tgz#e4b05d63446c24b612275e3949881e176d32527f" + integrity sha512-GHEt26xESe/TCg1q6ZjeUbxniqdxaiB1OPTZ9md7ONql6bEp8t9iUPeSlkyAZtQ7qBzwgkiLpkRFT+J21DftaQ== + dependencies: + "@abp/aspnetcore.mvc.ui.theme.shared" "~9.0.0" + +"@abp/aspnetcore.mvc.ui.theme.shared@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-9.0.0.tgz#a77b4b70fa6217146afd6a57211f57e2360564f2" + integrity sha512-QmZrSp+rfqfnC9W4QZ+nNdAq0rOALzRn1rsDpGDHhIHwyXB03QPdjzIWaEvldUYHzqg84cEP0LcqW4y57Xr1iw== + dependencies: + "@abp/aspnetcore.mvc.ui" "~9.0.0" + "@abp/bootstrap" "~9.0.0" + "@abp/bootstrap-datepicker" "~9.0.0" + "@abp/bootstrap-daterangepicker" "~9.0.0" + "@abp/datatables.net-bs5" "~9.0.0" + "@abp/font-awesome" "~9.0.0" + "@abp/jquery-form" "~9.0.0" + "@abp/jquery-validation-unobtrusive" "~9.0.0" + "@abp/lodash" "~9.0.0" + "@abp/luxon" "~9.0.0" + "@abp/malihu-custom-scrollbar-plugin" "~9.0.0" + "@abp/moment" "~9.0.0" + "@abp/select2" "~9.0.0" + "@abp/sweetalert2" "~9.0.0" + "@abp/timeago" "~9.0.0" + "@abp/toastr" "~9.0.0" + +"@abp/aspnetcore.mvc.ui@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-9.0.0.tgz#93004dd056c130386c7b40c458f3a793d8c9e051" + integrity sha512-pvO5bh9baFcSbfW0s7tpMpbe6DKSC16jeyeluZLlvYxC0n2gkrv7H/hB5aMuBKIlh89aGY9DQIcMFC8iczL3Bg== dependencies: ansi-colors "^4.1.3" -"@abp/bootstrap-datepicker@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-9.0.0-rc.2.tgz#884343a8c0b881e6612cbbbf1fb9af0f40cbc223" - integrity sha512-JqPKn0xFyqoA4smY3gtUE/HcbG5QmLtFpZNG/zMnDq2JEtJt13xee9FguYXrlMOrM9PqAwnq2Wrc8s71ROh8Zg== +"@abp/bootstrap-datepicker@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-9.0.0.tgz#d6609e50568aac6a013abfcaa07817998e1eaa99" + integrity sha512-wxAeVsOVOJpidDn0g3FlJvpOsn5SVY5IpEG+FtUxSAKuWYJQWF6g5CaghrfS+FNDK9IHhxrgSMPMVBK9YlDSzw== dependencies: bootstrap-datepicker "^1.10.0" -"@abp/bootstrap-daterangepicker@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-9.0.0-rc.2.tgz#bc0e134e36da111aaa25f7d4d3e90d394c873b50" - integrity sha512-5KChSBquD7pQNiI3TgJSYHw549Pxuom8TAg+44edjEKRvR7KUR8IkfdImlZYHPeLmoUTnnWXiFKOIxOi9OjLoA== +"@abp/bootstrap-daterangepicker@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-9.0.0.tgz#fc2871e7d886accd8e4748cb763b695e10701c00" + integrity sha512-qS6SQR6X7wMCVLcuXatJ2+m1GNlpN71p7VDritxfwAMHa7WBRAAi8apX2WItwBAuLQ2s1uSA0Wp1KstHG3VPLA== dependencies: bootstrap-daterangepicker "^3.1.0" -"@abp/bootstrap@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-9.0.0-rc.2.tgz#cf0b2567f44030d5d0620ca36d9d25999cd25e0e" - integrity sha512-Fkagr1fTyeKDtsvn7TKJKRkWNaYd6ZmE1IhLffwLwDpyt26JBYK3XqGXT+eHFXXpSxrgANERVogSN5E46IU1OQ== +"@abp/bootstrap@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-9.0.0.tgz#5ab292e95ba7eef129cbaa1dc5f5d5c0af8530d7" + integrity sha512-jEr6su8BfoNxYvze/UlddE3DlezyPvQeiNhff8SDPqtRQ6XvjZ48O/JwtY01hK2njEDLOZINY5zJRGmO2OiOUw== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" bootstrap "^5.3.3" -"@abp/core@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-9.0.0-rc.2.tgz#f0344669a745581b1032de396b1165f4cb3ea834" - integrity sha512-rmlWc6ydzRWVvQpkqSGEXcmYx1WJvxLajC7Ts6epbmmyklrx+tA5uQqCiSlsJWfIyaejLOjDka319arukaMb/Q== +"@abp/core@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/core/-/core-9.0.0.tgz#dc5ea9139957e307f73ac1f40b179f991e3c2168" + integrity sha512-vzQyTpqVDx63pOI9e2QLUMWZCrSojHsRnzLlvl+/cKFi7jE1q/uSP66FPR2bwkD+DNLI/tn6is1Jx3skKA1FvA== dependencies: - "@abp/utils" "~9.0.0-rc.2" + "@abp/utils" "~9.0.0" -"@abp/datatables.net-bs5@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-9.0.0-rc.2.tgz#7f01e5e74530cd9bb13545917f00a5c38163745a" - integrity sha512-snZi/kAtkH4p1t1cUIKU5DRDz+U2CUHk7JAZE+g9bClMvmDTh4Kta5JmTW3g++JSh+C0LQzYXRPXnV7TgUcBgw== +"@abp/datatables.net-bs5@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-9.0.0.tgz#4daee90bdb6446e854ce65f2a3afabb2a13e49ae" + integrity sha512-ln10tcRwxcB0nuSgqJ/66strHsqMHDC03c0ktxEplAN34yP7KInjFf/U9Svo74K0nKlkJdMCgmqmT4CnBJZlIg== dependencies: - "@abp/datatables.net" "~9.0.0-rc.2" + "@abp/datatables.net" "~9.0.0" datatables.net-bs5 "^2.1.8" -"@abp/datatables.net@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-9.0.0-rc.2.tgz#cf5a5df0c6735080f2ba1f1746f4eb8d05d02c5b" - integrity sha512-hdJH5xN6SXTFZXnv+fTmcmFU19Fr2sIZMrfirUfH1of8qTn7cObjAe9r189PGt/3FZeFPA8pmfnNL6ZLwnLKtw== +"@abp/datatables.net@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-9.0.0.tgz#82b28518293c9091ec72d5defae2f5d2903d8bbc" + integrity sha512-QhuX3bGZOckM/fhIIGj/StMJIX2BBtNbLzjTR7WnKMMxDkv0+oDvjw6OqqpYKSvj/q3vY6sRWuCNdEzNi0Fk6A== dependencies: - "@abp/jquery" "~9.0.0-rc.2" + "@abp/jquery" "~9.0.0" datatables.net "^2.1.8" -"@abp/font-awesome@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-9.0.0-rc.2.tgz#1493057e28b2e1e8a434ff1599e8b4b72b8784d2" - integrity sha512-EsQYx89OBquIxqGLgjAgMpUeAnWW316ruAmmxzGsusVT9KuIL6iuA4j4bdM8/6wJgi6zm2A/bDBjiiDDg2Cyyg== +"@abp/font-awesome@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-9.0.0.tgz#51cce18434a51d050ebb0d822a8c193b7e32f73d" + integrity sha512-bEHRVzOk0V2kFMAvB/YXFYaDKWRFO0+ScO7jrEFtFgdHXBcqy+dk1aM/N69WalyNmjRRpnh03GhH1LRpwL4/xA== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" "@fortawesome/fontawesome-free" "^6.6.0" -"@abp/jquery-form@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-9.0.0-rc.2.tgz#05a9082bc6c42fca3e001d97f77c0aa2e941448b" - integrity sha512-OUuwB/dgryiBG/iZCedwP2+8ot+PCeuAAMuZ1A/VXbNUJAbhiXF24tQM73wIhpAYcSc5egWjJ+VNTJKMKImTqA== +"@abp/jquery-form@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-9.0.0.tgz#6518eb117ee35c6bc57543fd1fccb0a8cf8e22f4" + integrity sha512-6qpfPGHrjADmm7Ne3zcXBGPuLngG8ldAn5fk9k2taftpyX0iR67/nZxiQ0ujaQGgaai5Wb3imNXMG96XLnubkQ== dependencies: - "@abp/jquery" "~9.0.0-rc.2" + "@abp/jquery" "~9.0.0" jquery-form "^4.3.0" -"@abp/jquery-validation-unobtrusive@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-9.0.0-rc.2.tgz#d38f053ad3a8509dc683dc3091128eb445579176" - integrity sha512-170ARAIz0NWuQnleB2nWPKYQl3x/Za2yxc0utjxY0rruHflNQPF2cMagLu+eBI6gDkThXNps74HiRPXOPdgc4A== +"@abp/jquery-validation-unobtrusive@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-9.0.0.tgz#8ee87dbdec5e92ab04ae9642a49af1598af31c1a" + integrity sha512-KlRQ1htyFmAIMS9xbHvHIcdhAgtPFe/u7c87MiWlk/CdhDrI3J+n5biLvQUzxCC+YWlwx27zBtPKx2vLeMRH6Q== dependencies: - "@abp/jquery-validation" "~9.0.0-rc.2" + "@abp/jquery-validation" "~9.0.0" jquery-validation-unobtrusive "^4.0.0" -"@abp/jquery-validation@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-9.0.0-rc.2.tgz#79c96c7eb48d5bebb3e7e86f8f9e2d6e2e45c5cb" - integrity sha512-6W2LiLgcC4FGTMLsoNkRBJTqDq6YR3ctLKzRfis9kOigkd0QT/PnB/451rrVb7+BCl9luKaA8DDYF671S8klFA== +"@abp/jquery-validation@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-9.0.0.tgz#681d8037c57b3875bd51c927e350ffce65d7c5d2" + integrity sha512-XgCUBFWbhTDcGepD/xkwA/1Hl4TyYitRttauDJk3tuyXhNtykvdugCCOPY4j2s6VoT1Sb/TFFvOcgEvlBwkKiw== dependencies: - "@abp/jquery" "~9.0.0-rc.2" + "@abp/jquery" "~9.0.0" jquery-validation "^1.21.0" -"@abp/jquery@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-9.0.0-rc.2.tgz#c8bd299d1b5558a4c3cef26b248d42e9a6303e33" - integrity sha512-GrO0gKdi20jlQ0YjWaddal0X0+5LkMpOAyMB1GdaDetLaaVjcZ+92zx1cApcAdIsCKgB+kyutRQv0b82o/EZPQ== +"@abp/jquery@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-9.0.0.tgz#6c67a9f927be598ab6201f8888e8a3cb8bba0686" + integrity sha512-cUXA7v6F1HqAc/w8fQGxHIfA/6BqO+4uHXDnSsJZtrI26DTLOgw5kBNnAz2W4xggGPCY7SKFHNRZuOW/QfVRPg== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" jquery "~3.7.1" -"@abp/lodash@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-9.0.0-rc.2.tgz#980a0ae2d95c83663f0f52f1b67b5cfb00d04b96" - integrity sha512-uwxv7WJqwRcGkVoB44JR1QJaMbe3RhCQsG6+Wee1Jjdgi2vkpFUCj2arM4Rxz1igntFjY2Z7NiBq+iL9HYIkSw== +"@abp/lodash@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-9.0.0.tgz#a4d42b2dfeb37859ff9f0079c7a8a6cabc982efe" + integrity sha512-xoAsOkkgnQdPH2OyFTgF6OlCLVbyGF4u8CrFcZWCZmuIFT9cg0+ZEiq//Vog1pg3Lf//N37ceGpOag1LwMe6cQ== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" lodash "^4.17.21" -"@abp/luxon@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-9.0.0-rc.2.tgz#1bb0eae53b707371489a4e0edf2869d7acc71da8" - integrity sha512-iWE8sbBWxCbNYSO3TTTzeotGS6kAnIwCKos/96mtaYJ4wzPW9pgF7K94CvwLAAg9NTsx/J/OGdmhhM2cULhv+w== +"@abp/luxon@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-9.0.0.tgz#a54dda13cbbd362481994d20d2e07c669c6ce109" + integrity sha512-aPejQnoVPfm60LnjwhfUkIsB+poNWusrBE0IHllxhvOVE+01nfa1Lvpp5AUWzV+XchPGOCSf+a29ds4EQWfNbg== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" luxon "^3.5.0" -"@abp/malihu-custom-scrollbar-plugin@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-9.0.0-rc.2.tgz#fce5c12be2bdf350b18aae52619309a474995442" - integrity sha512-e3JTnDSkjF9/MPh/nPqcvU8hkUxSMc5U6DnP169GBdVAYQwwnGD24x4QCWU7ch7s65FDJ8/uq7bYOcIAD0B+Dw== +"@abp/malihu-custom-scrollbar-plugin@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-9.0.0.tgz#b8a49202d531c711874a2bcdae5081ae0ed34c3f" + integrity sha512-iSZ9lKMnv5F2SplR+A4blhFEDq79lKbvBQuS7h/Di3KEHFOdJY4pA8NP8OR+PXOF3JfAezGyjqy7ydn/JNPRwA== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" malihu-custom-scrollbar-plugin "^3.1.5" -"@abp/moment@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-9.0.0-rc.2.tgz#2fc0feaaa0a26436cf00a6beccaa64f505aef301" - integrity sha512-yqkgu0bo3ra6HVFdS2wlqwTysciYOJWi/ERFVS2MfUkAKFA0P7mv8Jg5tB4vGY2Km++7r22kCDRlK3KUPmk21g== +"@abp/moment@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-9.0.0.tgz#9583e97472ddf608a9a5a6b8a37fee602b419900" + integrity sha512-wgyJSKmBmHLXZJN3dy3zK4i2JvWGgqnvdtrKURy/raEurxlymv8JF5JA971kTv6Kz2OA/OSYttpVJkDGUpPAhA== dependencies: moment "^2.30.1" -"@abp/select2@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-9.0.0-rc.2.tgz#53806118fdfe9f9228e26c6867ce0e75e6572b81" - integrity sha512-arKdcs95+4zp5764iOz09aJ3C1F2SsBIzekpjpJwMBdLRfoleZZFm12itO8I4Jjb1R+2CkW6MXjLR5xL2aE0PQ== +"@abp/select2@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-9.0.0.tgz#71503eebb746f40a0e565dba1efa05d6ae937b77" + integrity sha512-l+Hz2Qmc7AcyaTJOyuDaV99RbBWYxYxbeyVEc4xKbRFbJxYBUxT/DFlyozEaoz+OU1fl4szO3UCthJ2yZvxCdg== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" select2 "^4.0.13" -"@abp/sweetalert2@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-9.0.0-rc.2.tgz#60b25d65b3e5eb53e18ba5b1f3663783562d2506" - integrity sha512-VJslD1AMDZJhOEko79UYIxIYeAmr1YUwJu8XNAurBGPa9sWGI+jPY/dYg3uptg8GEJHsFtog84m3nUQ/prRUcw== +"@abp/sweetalert2@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-9.0.0.tgz#71e511117c18b515e5c658e9cc0667770af65d91" + integrity sha512-wxDqoA6RUhkbcN27Kzslu/m2ai5T9AkJRtgs7pV55LvPv1ohuCPEUeTVVh8S/5Pgmr7aPFAPxaaCO32aPcImPw== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" sweetalert2 "^11.14.1" -"@abp/timeago@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-9.0.0-rc.2.tgz#72a7da1eda19beb34c352f3f43d2f5181b0b926a" - integrity sha512-zRj+TssaDXW2OM4mNn47G1tRg4BZ2sqbEiiUIQrU9hHMHmxOf8bAJhqsouGDDZF3xetcwKhmLN08VWK1sqqpQA== +"@abp/timeago@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-9.0.0.tgz#8f262ba2a74e1c133d0c129f8a0bc55c29441e1a" + integrity sha512-eaNdIUEtDXnuYqS5O7EGRV+j6XOLAsxz7gd5BIKR9lDujd8pEjSJkXKO+/0KxLTkUSy3JudIO37K1h2wTpbYZA== dependencies: - "@abp/jquery" "~9.0.0-rc.2" + "@abp/jquery" "~9.0.0" timeago "^1.6.7" -"@abp/toastr@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-9.0.0-rc.2.tgz#ddbf0b6362941f62c07c9820af59dcd6912331d0" - integrity sha512-l4z6z3Oc/JF4XJplqGETQtBkqzjbpobcfzEHeH6LjUeunLMEVQOtjhPUBLrhg4ZM0i9k46hmxsoOkWXu7tClyQ== +"@abp/toastr@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-9.0.0.tgz#74d74ecb3e7f2d63b2ff7735c89a40deb3dc3a13" + integrity sha512-n9uJvw8l2HoxeowPO4diEMxwchGh6puefhyRljFAAstzK77Mhn0u2J7kPynNv94rLSYTYoCxUeJ4TTN+/TVDGQ== dependencies: - "@abp/jquery" "~9.0.0-rc.2" + "@abp/jquery" "~9.0.0" toastr "^2.1.4" -"@abp/utils@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-9.0.0-rc.2.tgz#e644889f1c1c4828b509aea9ae3ae48439a5b89d" - integrity sha512-eIL3syPE0LzPyeHV5+pgRxw3/H2YTmK2U9VEOUu26ExiCMIt5Waf8T92BjaH9sLrMD5P9ZAT2jWaxh+VTsEtKA== +"@abp/utils@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-9.0.0.tgz#2264fd83105b061860edd98dbe0efdfe55803ed5" + integrity sha512-/SB4VYk3Av+ltXv6ovkFHG4iWiECLLitaYWcEHxVAO80ufNjrNnWpHFpXHP8u/RpXIp/CoNiHLr6j5TkZUTZjw== dependencies: just-compare "^2.3.0" diff --git a/modules/virtual-file-explorer/app/Volo.Abp.VirtualFileExplorer.DemoApp/package.json b/modules/virtual-file-explorer/app/Volo.Abp.VirtualFileExplorer.DemoApp/package.json index a7c7ea664b..a208eb337f 100644 --- a/modules/virtual-file-explorer/app/Volo.Abp.VirtualFileExplorer.DemoApp/package.json +++ b/modules/virtual-file-explorer/app/Volo.Abp.VirtualFileExplorer.DemoApp/package.json @@ -3,7 +3,7 @@ "version": "1.0.0", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.basic": "~9.0.0-rc.2", - "@abp/virtual-file-explorer": "~9.0.0-rc.2" + "@abp/aspnetcore.mvc.ui.theme.basic": "~9.0.0", + "@abp/virtual-file-explorer": "~9.0.0" } } diff --git a/modules/virtual-file-explorer/app/Volo.Abp.VirtualFileExplorer.DemoApp/yarn.lock b/modules/virtual-file-explorer/app/Volo.Abp.VirtualFileExplorer.DemoApp/yarn.lock index d81ac4fce9..c7af13ba41 100644 --- a/modules/virtual-file-explorer/app/Volo.Abp.VirtualFileExplorer.DemoApp/yarn.lock +++ b/modules/virtual-file-explorer/app/Volo.Abp.VirtualFileExplorer.DemoApp/yarn.lock @@ -2,221 +2,221 @@ # yarn lockfile v1 -"@abp/aspnetcore.mvc.ui.theme.basic@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-9.0.0-rc.2.tgz#db73b3121cbd02207842f0388999298df49392ac" - integrity sha512-vzUPdL1UJ+aXKcei0rCpm3VYX9twhmomd+HqfzcL65TtrXgIK8jCv4Wn0rRFfSGtUfM8OetIVVkmggIZusGTZQ== - dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "~9.0.0-rc.2" - -"@abp/aspnetcore.mvc.ui.theme.shared@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-9.0.0-rc.2.tgz#acaeaa5e0b329e5d836a198f7a3563d141d7fc79" - integrity sha512-hs8AoZwOnrMYmFl7/GQc6EUr5Jz5lTXWgSmp0l/DdH7f3INYEgCrIp5qvLFyNu8CHv6Gbegw2vGdpfDQbkiasw== - dependencies: - "@abp/aspnetcore.mvc.ui" "~9.0.0-rc.2" - "@abp/bootstrap" "~9.0.0-rc.2" - "@abp/bootstrap-datepicker" "~9.0.0-rc.2" - "@abp/bootstrap-daterangepicker" "~9.0.0-rc.2" - "@abp/datatables.net-bs5" "~9.0.0-rc.2" - "@abp/font-awesome" "~9.0.0-rc.2" - "@abp/jquery-form" "~9.0.0-rc.2" - "@abp/jquery-validation-unobtrusive" "~9.0.0-rc.2" - "@abp/lodash" "~9.0.0-rc.2" - "@abp/luxon" "~9.0.0-rc.2" - "@abp/malihu-custom-scrollbar-plugin" "~9.0.0-rc.2" - "@abp/moment" "~9.0.0-rc.2" - "@abp/select2" "~9.0.0-rc.2" - "@abp/sweetalert2" "~9.0.0-rc.2" - "@abp/timeago" "~9.0.0-rc.2" - "@abp/toastr" "~9.0.0-rc.2" - -"@abp/aspnetcore.mvc.ui@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-9.0.0-rc.2.tgz#5fc82ab4872b955cf46d755e99c656e0420a3c64" - integrity sha512-gGfHAsznxFIqTk6OFuRzcJ8D65VWmHkRqQjzmd97GZ1lNXRGDNGtYXbC/L1bA88O+qAXzhQ/c47h6in9cGh38w== +"@abp/aspnetcore.mvc.ui.theme.basic@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-9.0.0.tgz#e4b05d63446c24b612275e3949881e176d32527f" + integrity sha512-GHEt26xESe/TCg1q6ZjeUbxniqdxaiB1OPTZ9md7ONql6bEp8t9iUPeSlkyAZtQ7qBzwgkiLpkRFT+J21DftaQ== + dependencies: + "@abp/aspnetcore.mvc.ui.theme.shared" "~9.0.0" + +"@abp/aspnetcore.mvc.ui.theme.shared@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-9.0.0.tgz#a77b4b70fa6217146afd6a57211f57e2360564f2" + integrity sha512-QmZrSp+rfqfnC9W4QZ+nNdAq0rOALzRn1rsDpGDHhIHwyXB03QPdjzIWaEvldUYHzqg84cEP0LcqW4y57Xr1iw== + dependencies: + "@abp/aspnetcore.mvc.ui" "~9.0.0" + "@abp/bootstrap" "~9.0.0" + "@abp/bootstrap-datepicker" "~9.0.0" + "@abp/bootstrap-daterangepicker" "~9.0.0" + "@abp/datatables.net-bs5" "~9.0.0" + "@abp/font-awesome" "~9.0.0" + "@abp/jquery-form" "~9.0.0" + "@abp/jquery-validation-unobtrusive" "~9.0.0" + "@abp/lodash" "~9.0.0" + "@abp/luxon" "~9.0.0" + "@abp/malihu-custom-scrollbar-plugin" "~9.0.0" + "@abp/moment" "~9.0.0" + "@abp/select2" "~9.0.0" + "@abp/sweetalert2" "~9.0.0" + "@abp/timeago" "~9.0.0" + "@abp/toastr" "~9.0.0" + +"@abp/aspnetcore.mvc.ui@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-9.0.0.tgz#93004dd056c130386c7b40c458f3a793d8c9e051" + integrity sha512-pvO5bh9baFcSbfW0s7tpMpbe6DKSC16jeyeluZLlvYxC0n2gkrv7H/hB5aMuBKIlh89aGY9DQIcMFC8iczL3Bg== dependencies: ansi-colors "^4.1.3" -"@abp/bootstrap-datepicker@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-9.0.0-rc.2.tgz#884343a8c0b881e6612cbbbf1fb9af0f40cbc223" - integrity sha512-JqPKn0xFyqoA4smY3gtUE/HcbG5QmLtFpZNG/zMnDq2JEtJt13xee9FguYXrlMOrM9PqAwnq2Wrc8s71ROh8Zg== +"@abp/bootstrap-datepicker@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-9.0.0.tgz#d6609e50568aac6a013abfcaa07817998e1eaa99" + integrity sha512-wxAeVsOVOJpidDn0g3FlJvpOsn5SVY5IpEG+FtUxSAKuWYJQWF6g5CaghrfS+FNDK9IHhxrgSMPMVBK9YlDSzw== dependencies: bootstrap-datepicker "^1.10.0" -"@abp/bootstrap-daterangepicker@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-9.0.0-rc.2.tgz#bc0e134e36da111aaa25f7d4d3e90d394c873b50" - integrity sha512-5KChSBquD7pQNiI3TgJSYHw549Pxuom8TAg+44edjEKRvR7KUR8IkfdImlZYHPeLmoUTnnWXiFKOIxOi9OjLoA== +"@abp/bootstrap-daterangepicker@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-9.0.0.tgz#fc2871e7d886accd8e4748cb763b695e10701c00" + integrity sha512-qS6SQR6X7wMCVLcuXatJ2+m1GNlpN71p7VDritxfwAMHa7WBRAAi8apX2WItwBAuLQ2s1uSA0Wp1KstHG3VPLA== dependencies: bootstrap-daterangepicker "^3.1.0" -"@abp/bootstrap@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-9.0.0-rc.2.tgz#cf0b2567f44030d5d0620ca36d9d25999cd25e0e" - integrity sha512-Fkagr1fTyeKDtsvn7TKJKRkWNaYd6ZmE1IhLffwLwDpyt26JBYK3XqGXT+eHFXXpSxrgANERVogSN5E46IU1OQ== +"@abp/bootstrap@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-9.0.0.tgz#5ab292e95ba7eef129cbaa1dc5f5d5c0af8530d7" + integrity sha512-jEr6su8BfoNxYvze/UlddE3DlezyPvQeiNhff8SDPqtRQ6XvjZ48O/JwtY01hK2njEDLOZINY5zJRGmO2OiOUw== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" bootstrap "^5.3.3" -"@abp/clipboard@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-9.0.0-rc.2.tgz#dfa4df015beba83f7c44d749a24987a74a419b59" - integrity sha512-xuhFygNc4c67QkVMqsArQ4qGRJX+qKwSx4LQIaASaZq91ACtU2r5iTjCDb/YFcUVxXXufNLvuFgARGJp5vvvxA== +"@abp/clipboard@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-9.0.0.tgz#21ae924dfef6ccf3c8a3913bb81caf22b57404e4" + integrity sha512-W6S7pihpQ6Wfj48Clk7hYgDvUtnRwkNIsk5t8s9+LxoAdJQGQFxh7SAW1QNavUv8QqsClNE1VtSU87c7rSoAbA== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" clipboard "^2.0.11" -"@abp/core@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-9.0.0-rc.2.tgz#f0344669a745581b1032de396b1165f4cb3ea834" - integrity sha512-rmlWc6ydzRWVvQpkqSGEXcmYx1WJvxLajC7Ts6epbmmyklrx+tA5uQqCiSlsJWfIyaejLOjDka319arukaMb/Q== +"@abp/core@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/core/-/core-9.0.0.tgz#dc5ea9139957e307f73ac1f40b179f991e3c2168" + integrity sha512-vzQyTpqVDx63pOI9e2QLUMWZCrSojHsRnzLlvl+/cKFi7jE1q/uSP66FPR2bwkD+DNLI/tn6is1Jx3skKA1FvA== dependencies: - "@abp/utils" "~9.0.0-rc.2" + "@abp/utils" "~9.0.0" -"@abp/datatables.net-bs5@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-9.0.0-rc.2.tgz#7f01e5e74530cd9bb13545917f00a5c38163745a" - integrity sha512-snZi/kAtkH4p1t1cUIKU5DRDz+U2CUHk7JAZE+g9bClMvmDTh4Kta5JmTW3g++JSh+C0LQzYXRPXnV7TgUcBgw== +"@abp/datatables.net-bs5@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-9.0.0.tgz#4daee90bdb6446e854ce65f2a3afabb2a13e49ae" + integrity sha512-ln10tcRwxcB0nuSgqJ/66strHsqMHDC03c0ktxEplAN34yP7KInjFf/U9Svo74K0nKlkJdMCgmqmT4CnBJZlIg== dependencies: - "@abp/datatables.net" "~9.0.0-rc.2" + "@abp/datatables.net" "~9.0.0" datatables.net-bs5 "^2.1.8" -"@abp/datatables.net@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-9.0.0-rc.2.tgz#cf5a5df0c6735080f2ba1f1746f4eb8d05d02c5b" - integrity sha512-hdJH5xN6SXTFZXnv+fTmcmFU19Fr2sIZMrfirUfH1of8qTn7cObjAe9r189PGt/3FZeFPA8pmfnNL6ZLwnLKtw== +"@abp/datatables.net@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-9.0.0.tgz#82b28518293c9091ec72d5defae2f5d2903d8bbc" + integrity sha512-QhuX3bGZOckM/fhIIGj/StMJIX2BBtNbLzjTR7WnKMMxDkv0+oDvjw6OqqpYKSvj/q3vY6sRWuCNdEzNi0Fk6A== dependencies: - "@abp/jquery" "~9.0.0-rc.2" + "@abp/jquery" "~9.0.0" datatables.net "^2.1.8" -"@abp/font-awesome@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-9.0.0-rc.2.tgz#1493057e28b2e1e8a434ff1599e8b4b72b8784d2" - integrity sha512-EsQYx89OBquIxqGLgjAgMpUeAnWW316ruAmmxzGsusVT9KuIL6iuA4j4bdM8/6wJgi6zm2A/bDBjiiDDg2Cyyg== +"@abp/font-awesome@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-9.0.0.tgz#51cce18434a51d050ebb0d822a8c193b7e32f73d" + integrity sha512-bEHRVzOk0V2kFMAvB/YXFYaDKWRFO0+ScO7jrEFtFgdHXBcqy+dk1aM/N69WalyNmjRRpnh03GhH1LRpwL4/xA== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" "@fortawesome/fontawesome-free" "^6.6.0" -"@abp/jquery-form@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-9.0.0-rc.2.tgz#05a9082bc6c42fca3e001d97f77c0aa2e941448b" - integrity sha512-OUuwB/dgryiBG/iZCedwP2+8ot+PCeuAAMuZ1A/VXbNUJAbhiXF24tQM73wIhpAYcSc5egWjJ+VNTJKMKImTqA== +"@abp/jquery-form@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-9.0.0.tgz#6518eb117ee35c6bc57543fd1fccb0a8cf8e22f4" + integrity sha512-6qpfPGHrjADmm7Ne3zcXBGPuLngG8ldAn5fk9k2taftpyX0iR67/nZxiQ0ujaQGgaai5Wb3imNXMG96XLnubkQ== dependencies: - "@abp/jquery" "~9.0.0-rc.2" + "@abp/jquery" "~9.0.0" jquery-form "^4.3.0" -"@abp/jquery-validation-unobtrusive@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-9.0.0-rc.2.tgz#d38f053ad3a8509dc683dc3091128eb445579176" - integrity sha512-170ARAIz0NWuQnleB2nWPKYQl3x/Za2yxc0utjxY0rruHflNQPF2cMagLu+eBI6gDkThXNps74HiRPXOPdgc4A== +"@abp/jquery-validation-unobtrusive@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-9.0.0.tgz#8ee87dbdec5e92ab04ae9642a49af1598af31c1a" + integrity sha512-KlRQ1htyFmAIMS9xbHvHIcdhAgtPFe/u7c87MiWlk/CdhDrI3J+n5biLvQUzxCC+YWlwx27zBtPKx2vLeMRH6Q== dependencies: - "@abp/jquery-validation" "~9.0.0-rc.2" + "@abp/jquery-validation" "~9.0.0" jquery-validation-unobtrusive "^4.0.0" -"@abp/jquery-validation@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-9.0.0-rc.2.tgz#79c96c7eb48d5bebb3e7e86f8f9e2d6e2e45c5cb" - integrity sha512-6W2LiLgcC4FGTMLsoNkRBJTqDq6YR3ctLKzRfis9kOigkd0QT/PnB/451rrVb7+BCl9luKaA8DDYF671S8klFA== +"@abp/jquery-validation@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-9.0.0.tgz#681d8037c57b3875bd51c927e350ffce65d7c5d2" + integrity sha512-XgCUBFWbhTDcGepD/xkwA/1Hl4TyYitRttauDJk3tuyXhNtykvdugCCOPY4j2s6VoT1Sb/TFFvOcgEvlBwkKiw== dependencies: - "@abp/jquery" "~9.0.0-rc.2" + "@abp/jquery" "~9.0.0" jquery-validation "^1.21.0" -"@abp/jquery@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-9.0.0-rc.2.tgz#c8bd299d1b5558a4c3cef26b248d42e9a6303e33" - integrity sha512-GrO0gKdi20jlQ0YjWaddal0X0+5LkMpOAyMB1GdaDetLaaVjcZ+92zx1cApcAdIsCKgB+kyutRQv0b82o/EZPQ== +"@abp/jquery@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-9.0.0.tgz#6c67a9f927be598ab6201f8888e8a3cb8bba0686" + integrity sha512-cUXA7v6F1HqAc/w8fQGxHIfA/6BqO+4uHXDnSsJZtrI26DTLOgw5kBNnAz2W4xggGPCY7SKFHNRZuOW/QfVRPg== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" jquery "~3.7.1" -"@abp/lodash@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-9.0.0-rc.2.tgz#980a0ae2d95c83663f0f52f1b67b5cfb00d04b96" - integrity sha512-uwxv7WJqwRcGkVoB44JR1QJaMbe3RhCQsG6+Wee1Jjdgi2vkpFUCj2arM4Rxz1igntFjY2Z7NiBq+iL9HYIkSw== +"@abp/lodash@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-9.0.0.tgz#a4d42b2dfeb37859ff9f0079c7a8a6cabc982efe" + integrity sha512-xoAsOkkgnQdPH2OyFTgF6OlCLVbyGF4u8CrFcZWCZmuIFT9cg0+ZEiq//Vog1pg3Lf//N37ceGpOag1LwMe6cQ== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" lodash "^4.17.21" -"@abp/luxon@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-9.0.0-rc.2.tgz#1bb0eae53b707371489a4e0edf2869d7acc71da8" - integrity sha512-iWE8sbBWxCbNYSO3TTTzeotGS6kAnIwCKos/96mtaYJ4wzPW9pgF7K94CvwLAAg9NTsx/J/OGdmhhM2cULhv+w== +"@abp/luxon@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-9.0.0.tgz#a54dda13cbbd362481994d20d2e07c669c6ce109" + integrity sha512-aPejQnoVPfm60LnjwhfUkIsB+poNWusrBE0IHllxhvOVE+01nfa1Lvpp5AUWzV+XchPGOCSf+a29ds4EQWfNbg== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" luxon "^3.5.0" -"@abp/malihu-custom-scrollbar-plugin@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-9.0.0-rc.2.tgz#fce5c12be2bdf350b18aae52619309a474995442" - integrity sha512-e3JTnDSkjF9/MPh/nPqcvU8hkUxSMc5U6DnP169GBdVAYQwwnGD24x4QCWU7ch7s65FDJ8/uq7bYOcIAD0B+Dw== +"@abp/malihu-custom-scrollbar-plugin@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-9.0.0.tgz#b8a49202d531c711874a2bcdae5081ae0ed34c3f" + integrity sha512-iSZ9lKMnv5F2SplR+A4blhFEDq79lKbvBQuS7h/Di3KEHFOdJY4pA8NP8OR+PXOF3JfAezGyjqy7ydn/JNPRwA== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" malihu-custom-scrollbar-plugin "^3.1.5" -"@abp/moment@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-9.0.0-rc.2.tgz#2fc0feaaa0a26436cf00a6beccaa64f505aef301" - integrity sha512-yqkgu0bo3ra6HVFdS2wlqwTysciYOJWi/ERFVS2MfUkAKFA0P7mv8Jg5tB4vGY2Km++7r22kCDRlK3KUPmk21g== +"@abp/moment@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-9.0.0.tgz#9583e97472ddf608a9a5a6b8a37fee602b419900" + integrity sha512-wgyJSKmBmHLXZJN3dy3zK4i2JvWGgqnvdtrKURy/raEurxlymv8JF5JA971kTv6Kz2OA/OSYttpVJkDGUpPAhA== dependencies: moment "^2.30.1" -"@abp/prismjs@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-9.0.0-rc.2.tgz#2de7bc2882fee46d3d7e2da1fb66bca6b06cc4dd" - integrity sha512-rQ4dVGk+lEHFFSIBsJPqijeh4k3UgoDMZL1rns2a6NR+QnR0J2Slx3Awt8SH+inQFH2JiLHVo9q4bG+81vCsag== +"@abp/prismjs@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-9.0.0.tgz#2ac4a5ddc0c8e0462af027a4dd97a177a3d6f7a5" + integrity sha512-+evmBq5qV+Ix/TNqO2ljJn0jygW2rEgKNtABcBGmrZC8xiI7+2hjKmSE0e43qb+RDib8aJjwH8ya8wF7p68ZFw== dependencies: - "@abp/clipboard" "~9.0.0-rc.2" - "@abp/core" "~9.0.0-rc.2" + "@abp/clipboard" "~9.0.0" + "@abp/core" "~9.0.0" prismjs "^1.29.0" -"@abp/select2@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-9.0.0-rc.2.tgz#53806118fdfe9f9228e26c6867ce0e75e6572b81" - integrity sha512-arKdcs95+4zp5764iOz09aJ3C1F2SsBIzekpjpJwMBdLRfoleZZFm12itO8I4Jjb1R+2CkW6MXjLR5xL2aE0PQ== +"@abp/select2@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-9.0.0.tgz#71503eebb746f40a0e565dba1efa05d6ae937b77" + integrity sha512-l+Hz2Qmc7AcyaTJOyuDaV99RbBWYxYxbeyVEc4xKbRFbJxYBUxT/DFlyozEaoz+OU1fl4szO3UCthJ2yZvxCdg== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" select2 "^4.0.13" -"@abp/sweetalert2@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-9.0.0-rc.2.tgz#60b25d65b3e5eb53e18ba5b1f3663783562d2506" - integrity sha512-VJslD1AMDZJhOEko79UYIxIYeAmr1YUwJu8XNAurBGPa9sWGI+jPY/dYg3uptg8GEJHsFtog84m3nUQ/prRUcw== +"@abp/sweetalert2@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-9.0.0.tgz#71e511117c18b515e5c658e9cc0667770af65d91" + integrity sha512-wxDqoA6RUhkbcN27Kzslu/m2ai5T9AkJRtgs7pV55LvPv1ohuCPEUeTVVh8S/5Pgmr7aPFAPxaaCO32aPcImPw== dependencies: - "@abp/core" "~9.0.0-rc.2" + "@abp/core" "~9.0.0" sweetalert2 "^11.14.1" -"@abp/timeago@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-9.0.0-rc.2.tgz#72a7da1eda19beb34c352f3f43d2f5181b0b926a" - integrity sha512-zRj+TssaDXW2OM4mNn47G1tRg4BZ2sqbEiiUIQrU9hHMHmxOf8bAJhqsouGDDZF3xetcwKhmLN08VWK1sqqpQA== +"@abp/timeago@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-9.0.0.tgz#8f262ba2a74e1c133d0c129f8a0bc55c29441e1a" + integrity sha512-eaNdIUEtDXnuYqS5O7EGRV+j6XOLAsxz7gd5BIKR9lDujd8pEjSJkXKO+/0KxLTkUSy3JudIO37K1h2wTpbYZA== dependencies: - "@abp/jquery" "~9.0.0-rc.2" + "@abp/jquery" "~9.0.0" timeago "^1.6.7" -"@abp/toastr@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-9.0.0-rc.2.tgz#ddbf0b6362941f62c07c9820af59dcd6912331d0" - integrity sha512-l4z6z3Oc/JF4XJplqGETQtBkqzjbpobcfzEHeH6LjUeunLMEVQOtjhPUBLrhg4ZM0i9k46hmxsoOkWXu7tClyQ== +"@abp/toastr@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-9.0.0.tgz#74d74ecb3e7f2d63b2ff7735c89a40deb3dc3a13" + integrity sha512-n9uJvw8l2HoxeowPO4diEMxwchGh6puefhyRljFAAstzK77Mhn0u2J7kPynNv94rLSYTYoCxUeJ4TTN+/TVDGQ== dependencies: - "@abp/jquery" "~9.0.0-rc.2" + "@abp/jquery" "~9.0.0" toastr "^2.1.4" -"@abp/utils@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-9.0.0-rc.2.tgz#e644889f1c1c4828b509aea9ae3ae48439a5b89d" - integrity sha512-eIL3syPE0LzPyeHV5+pgRxw3/H2YTmK2U9VEOUu26ExiCMIt5Waf8T92BjaH9sLrMD5P9ZAT2jWaxh+VTsEtKA== +"@abp/utils@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-9.0.0.tgz#2264fd83105b061860edd98dbe0efdfe55803ed5" + integrity sha512-/SB4VYk3Av+ltXv6ovkFHG4iWiECLLitaYWcEHxVAO80ufNjrNnWpHFpXHP8u/RpXIp/CoNiHLr6j5TkZUTZjw== dependencies: just-compare "^2.3.0" -"@abp/virtual-file-explorer@~9.0.0-rc.2": - version "9.0.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/virtual-file-explorer/-/virtual-file-explorer-9.0.0-rc.2.tgz#5755078114cd42657351a5d57618bc8210900dd9" - integrity sha512-pjhF8+K0FfN2fUKS889mOv/QuZi8KcDxBdOcLBOaq1op6Uqf9olftWNe/udmyANTJvsN4FH7QLv96o2H0+dYHg== +"@abp/virtual-file-explorer@~9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@abp/virtual-file-explorer/-/virtual-file-explorer-9.0.0.tgz#d3216774bd8f04550ae410f49e574dca6680ac0e" + integrity sha512-3w44RM0VxgpYLf7i163r4rj4DGm7UXEviQgRrmSMUx/EkVMFkDtHoisDymDEdBAx74ZYiT7B9GASpTlSHI+gWw== dependencies: - "@abp/clipboard" "~9.0.0-rc.2" - "@abp/prismjs" "~9.0.0-rc.2" + "@abp/clipboard" "~9.0.0" + "@abp/prismjs" "~9.0.0" "@fortawesome/fontawesome-free@^6.6.0": version "6.6.0" diff --git a/npm/lerna.json b/npm/lerna.json index dadf9b6854..dfc1ca5399 100644 --- a/npm/lerna.json +++ b/npm/lerna.json @@ -1,5 +1,5 @@ { - "version": "9.0.0-rc.2", + "version": "9.0.0", "packages": [ "packs/*" ], diff --git a/npm/ng-packs/package.json b/npm/ng-packs/package.json index b45b6e8b8f..62c900f069 100644 --- a/npm/ng-packs/package.json +++ b/npm/ng-packs/package.json @@ -44,8 +44,8 @@ }, "private": true, "devDependencies": { - "@abp/ng.theme.lepton-x": "~4.0.0-rc.2", - "@abp/utils": "~9.0.0-rc.2", + "@abp/ng.theme.lepton-x": "~4.0.0", + "@abp/utils": "~9.0.0", "@angular-devkit/build-angular": "~18.1.0", "@angular-devkit/core": "~18.1.0", "@angular-devkit/schematics": "~18.1.0", diff --git a/npm/ng-packs/packages/account-core/package.json b/npm/ng-packs/packages/account-core/package.json index e4ca022b5a..f5c50b88bb 100644 --- a/npm/ng-packs/packages/account-core/package.json +++ b/npm/ng-packs/packages/account-core/package.json @@ -1,14 +1,14 @@ { "name": "@abp/ng.account.core", - "version": "9.0.0-rc.2", + "version": "9.0.0", "homepage": "https://abp.io", "repository": { "type": "git", "url": "https://github.com/abpframework/abp.git" }, "dependencies": { - "@abp/ng.core": "~9.0.0-rc.2", - "@abp/ng.theme.shared": "~9.0.0-rc.2", + "@abp/ng.core": "~9.0.0", + "@abp/ng.theme.shared": "~9.0.0", "tslib": "^2.0.0" }, "publishConfig": { diff --git a/npm/ng-packs/packages/account/package.json b/npm/ng-packs/packages/account/package.json index 60f21f1ec5..8dd0183733 100644 --- a/npm/ng-packs/packages/account/package.json +++ b/npm/ng-packs/packages/account/package.json @@ -1,14 +1,14 @@ { "name": "@abp/ng.account", - "version": "9.0.0-rc.2", + "version": "9.0.0", "homepage": "https://abp.io", "repository": { "type": "git", "url": "https://github.com/abpframework/abp.git" }, "dependencies": { - "@abp/ng.account.core": "~9.0.0-rc.2", - "@abp/ng.theme.shared": "~9.0.0-rc.2", + "@abp/ng.account.core": "~9.0.0", + "@abp/ng.theme.shared": "~9.0.0", "tslib": "^2.0.0" }, "publishConfig": { diff --git a/npm/ng-packs/packages/components/package.json b/npm/ng-packs/packages/components/package.json index 970b860ad7..71b46443f9 100644 --- a/npm/ng-packs/packages/components/package.json +++ b/npm/ng-packs/packages/components/package.json @@ -1,14 +1,14 @@ { "name": "@abp/ng.components", - "version": "9.0.0-rc.2", + "version": "9.0.0", "homepage": "https://abp.io", "repository": { "type": "git", "url": "https://github.com/abpframework/abp.git" }, "peerDependencies": { - "@abp/ng.core": ">=9.0.0-rc.2", - "@abp/ng.theme.shared": ">=9.0.0-rc.2" + "@abp/ng.core": ">=9.0.0", + "@abp/ng.theme.shared": ">=9.0.0" }, "dependencies": { "chart.js": "^3.5.1", diff --git a/npm/ng-packs/packages/components/page/src/page.component.ts b/npm/ng-packs/packages/components/page/src/page.component.ts index d0a48b145c..06a8e3af6d 100644 --- a/npm/ng-packs/packages/components/page/src/page.component.ts +++ b/npm/ng-packs/packages/components/page/src/page.component.ts @@ -45,7 +45,8 @@ export class PageComponent { this.breadcrumb || this.customTitle || this.customBreadcrumb || - this.customToolbar + this.customToolbar || + this.pageParts ); } } diff --git a/npm/ng-packs/packages/core/package.json b/npm/ng-packs/packages/core/package.json index 6e388ad2c6..ffa8294cde 100644 --- a/npm/ng-packs/packages/core/package.json +++ b/npm/ng-packs/packages/core/package.json @@ -1,13 +1,13 @@ { "name": "@abp/ng.core", - "version": "9.0.0-rc.2", + "version": "9.0.0", "homepage": "https://abp.io", "repository": { "type": "git", "url": "https://github.com/abpframework/abp.git" }, "dependencies": { - "@abp/utils": "~9.0.0-rc.2", + "@abp/utils": "~9.0.0", "just-clone": "^6.0.0", "just-compare": "^2.0.0", "ts-toolbelt": "^9.0.0", diff --git a/npm/ng-packs/packages/feature-management/package.json b/npm/ng-packs/packages/feature-management/package.json index f12752fbb9..76bda5d6ba 100644 --- a/npm/ng-packs/packages/feature-management/package.json +++ b/npm/ng-packs/packages/feature-management/package.json @@ -1,13 +1,13 @@ { "name": "@abp/ng.feature-management", - "version": "9.0.0-rc.2", + "version": "9.0.0", "homepage": "https://abp.io", "repository": { "type": "git", "url": "https://github.com/abpframework/abp.git" }, "dependencies": { - "@abp/ng.theme.shared": "~9.0.0-rc.2", + "@abp/ng.theme.shared": "~9.0.0", "tslib": "^2.0.0" }, "publishConfig": { diff --git a/npm/ng-packs/packages/generators/package.json b/npm/ng-packs/packages/generators/package.json index 5234d0f297..e20ce16306 100644 --- a/npm/ng-packs/packages/generators/package.json +++ b/npm/ng-packs/packages/generators/package.json @@ -1,6 +1,6 @@ { "name": "@abp/nx.generators", - "version": "9.0.0-rc.2", + "version": "9.0.0", "homepage": "https://abp.io", "generators": "./generators.json", "type": "commonjs", diff --git a/npm/ng-packs/packages/identity/package.json b/npm/ng-packs/packages/identity/package.json index 0d405a8140..8d12037ac4 100644 --- a/npm/ng-packs/packages/identity/package.json +++ b/npm/ng-packs/packages/identity/package.json @@ -1,15 +1,15 @@ { "name": "@abp/ng.identity", - "version": "9.0.0-rc.2", + "version": "9.0.0", "homepage": "https://abp.io", "repository": { "type": "git", "url": "https://github.com/abpframework/abp.git" }, "dependencies": { - "@abp/ng.components": "~9.0.0-rc.2", - "@abp/ng.permission-management": "~9.0.0-rc.2", - "@abp/ng.theme.shared": "~9.0.0-rc.2", + "@abp/ng.components": "~9.0.0", + "@abp/ng.permission-management": "~9.0.0", + "@abp/ng.theme.shared": "~9.0.0", "tslib": "^2.0.0" }, "publishConfig": { diff --git a/npm/ng-packs/packages/oauth/package.json b/npm/ng-packs/packages/oauth/package.json index b76342cf08..84b3d60e43 100644 --- a/npm/ng-packs/packages/oauth/package.json +++ b/npm/ng-packs/packages/oauth/package.json @@ -1,14 +1,14 @@ { "name": "@abp/ng.oauth", - "version": "9.0.0-rc.2", + "version": "9.0.0", "homepage": "https://abp.io", "repository": { "type": "git", "url": "https://github.com/abpframework/abp.git" }, "dependencies": { - "@abp/ng.core": "~9.0.0-rc.2", - "@abp/utils": "~9.0.0-rc.2", + "@abp/ng.core": "~9.0.0", + "@abp/utils": "~9.0.0", "angular-oauth2-oidc": "^17.0.0", "just-clone": "^6.0.0", "just-compare": "^2.0.0", diff --git a/npm/ng-packs/packages/permission-management/package.json b/npm/ng-packs/packages/permission-management/package.json index a639a8fbe8..6466d2ffd2 100644 --- a/npm/ng-packs/packages/permission-management/package.json +++ b/npm/ng-packs/packages/permission-management/package.json @@ -1,13 +1,13 @@ { "name": "@abp/ng.permission-management", - "version": "9.0.0-rc.2", + "version": "9.0.0", "homepage": "https://abp.io", "repository": { "type": "git", "url": "https://github.com/abpframework/abp.git" }, "dependencies": { - "@abp/ng.theme.shared": "~9.0.0-rc.2", + "@abp/ng.theme.shared": "~9.0.0", "tslib": "^2.0.0" }, "publishConfig": { diff --git a/npm/ng-packs/packages/schematics/package.json b/npm/ng-packs/packages/schematics/package.json index 6409b24963..292b57c82d 100644 --- a/npm/ng-packs/packages/schematics/package.json +++ b/npm/ng-packs/packages/schematics/package.json @@ -1,6 +1,6 @@ { "name": "@abp/ng.schematics", - "version": "9.0.0-rc.2", + "version": "9.0.0", "author": "", "schematics": "./collection.json", "dependencies": { diff --git a/npm/ng-packs/packages/schematics/src/commands/change-theme/index.ts b/npm/ng-packs/packages/schematics/src/commands/change-theme/index.ts index f922288f31..de0c75c2ef 100644 --- a/npm/ng-packs/packages/schematics/src/commands/change-theme/index.ts +++ b/npm/ng-packs/packages/schematics/src/commands/change-theme/index.ts @@ -15,6 +15,7 @@ import { import { ThemeOptionsEnum } from './theme-options.enum'; import { addImportToModule, + addProviderToModule, findNodes, getDecoratorMetadata, getMetadataField, @@ -49,8 +50,7 @@ function updateProjectStyle( throw new SchematicsException('The target project does not selected'); } - const isProjectLibrary = isLibrary(project); - if (isProjectLibrary) { + if (isLibrary(project)) { throw new SchematicsException('The library project does not supported'); } @@ -73,7 +73,9 @@ function updateAppModule(selectedProject: string, targetThemeName: ThemeOptionsE return chain([ removeImportPath(appModulePath, targetThemeName), removeImportFromNgModuleMetadata(appModulePath, targetThemeName), + removeProviderFromNgModuleMetadata(appModulePath, targetThemeName), insertImports(appModulePath, targetThemeName), + insertProviders(appModulePath, targetThemeName), ]); }; } @@ -151,6 +153,45 @@ export function removeImportFromNgModuleMetadata( }; } +export function removeProviderFromNgModuleMetadata( + appModulePath: string, + selectedTheme: ThemeOptionsEnum, +): Rule { + return (host: Tree) => { + const recorder = host.beginUpdate(appModulePath); + const source = createSourceFile(host, appModulePath); + const impMap = getImportPaths(selectedTheme, true); + + const node = getDecoratorMetadata(source, 'NgModule', '@angular/core')[0] || {}; + if (!node) { + throw new SchematicsException('The app module does not found'); + } + + const matchingProperties = getMetadataField(node as ts.ObjectLiteralExpression, 'providers'); + const assignment = matchingProperties[0] as ts.PropertyAssignment; + const assignmentInit = assignment.initializer as ts.ArrayLiteralExpression; + + const elements = assignmentInit.elements; + if (!elements || elements.length < 1) { + throw new SchematicsException(`Elements could not found: ${elements}`); + } + + const filteredElements = elements.filter(f => + impMap.filter(f => !!f.provider).some(s => f.getText().match(s.provider!)), + ); + + if (!filteredElements || filteredElements.length < 1) { + return; + } + + filteredElements.map(willRemoveModule => { + recorder.remove(willRemoveModule.getStart(), willRemoveModule.getWidth()); + }); + host.commitUpdate(recorder); + return host; + }; +} + export function insertImports(appModulePath: string, selectedTheme: ThemeOptionsEnum): Rule { return (host: Tree) => { const recorder = host.beginUpdate(appModulePath); @@ -170,7 +211,7 @@ export function insertImports(appModulePath: string, selectedTheme: ThemeOptions if (changes.length > 0) { for (const change of changes) { if (change instanceof InsertChange) { - recorder.insertLeft(change.pos, change.toAdd); + recorder.insertLeft(change.order, change.toAdd); } } } @@ -179,6 +220,35 @@ export function insertImports(appModulePath: string, selectedTheme: ThemeOptions }; } +export function insertProviders(appModulePath: string, selectedTheme: ThemeOptionsEnum): Rule { + return (host: Tree) => { + const recorder = host.beginUpdate(appModulePath); + const source = createSourceFile(host, appModulePath); + const selected = importMap.get(selectedTheme); + + if (!selected) { + return host; + } + + const changes: Change[] = []; + + selected.map(({ path, provider }) => { + if (provider) { + changes.push(...addProviderToModule(source, appModulePath, provider + '()', path)); + } + }); + + for (const change of changes) { + if (change instanceof InsertChange) { + recorder.insertLeft(change.order, change.toAdd); + } + } + + host.commitUpdate(recorder); + return host; + }; +} + export function createSourceFile(host: Tree, appModulePath: string): ts.SourceFile { const buffer = host.read(appModulePath); if (!buffer || buffer.length === 0) { diff --git a/npm/ng-packs/packages/schematics/src/commands/change-theme/style-map.ts b/npm/ng-packs/packages/schematics/src/commands/change-theme/style-map.ts index 4bf4300a2b..7dc9bf8053 100644 --- a/npm/ng-packs/packages/schematics/src/commands/change-theme/style-map.ts +++ b/npm/ng-packs/packages/schematics/src/commands/change-theme/style-map.ts @@ -11,6 +11,7 @@ export type StyleDefinition = export type ImportDefinition = { path: string; importName: string; + provider?: string; }; export const styleMap = new Map(); @@ -267,14 +268,16 @@ export const importMap = new Map(); importMap.set(ThemeOptionsEnum.Basic, [ { path: '@abp/ng.theme.basic', - importName: 'ThemeBasicModule.forRoot()', + importName: 'ThemeBasicModule', + provider: 'provideThemeBasicConfig', }, ]); importMap.set(ThemeOptionsEnum.Lepton, [ { path: '@volo/abp.ng.theme.lepton', - importName: 'ThemeLeptonModule.forRoot()', + importName: 'ThemeLeptonModule', + provider: 'provideThemeLepton', }, ]); diff --git a/npm/ng-packs/packages/schematics/src/utils/angular/ast-utils.ts b/npm/ng-packs/packages/schematics/src/utils/angular/ast-utils.ts index 55477b41d3..d435b90c85 100644 --- a/npm/ng-packs/packages/schematics/src/utils/angular/ast-utils.ts +++ b/npm/ng-packs/packages/schematics/src/utils/angular/ast-utils.ts @@ -399,7 +399,12 @@ export function addSymbolToNgModuleMetadata( if (importPath !== null) { return [ new InsertChange(ngModulePath, position, toInsert), - insertImport(source, ngModulePath, symbolName.replace(/\..*$/, ''), importPath), + insertImport( + source, + ngModulePath, + symbolName.replace(/\..*$/, '').replace(/\(\)/, ''), + importPath, + ), ]; } else { return [new InsertChange(ngModulePath, position, toInsert)]; @@ -449,7 +454,12 @@ export function addSymbolToNgModuleMetadata( if (importPath !== null) { return [ new InsertChange(ngModulePath, position, toInsert), - insertImport(source, ngModulePath, symbolName.replace(/\..*$/, ''), importPath), + insertImport( + source, + ngModulePath, + symbolName.replace(/\..*$/, '').replace(/\(\)/, ''), + importPath, + ), ]; } diff --git a/npm/ng-packs/packages/setting-management/package.json b/npm/ng-packs/packages/setting-management/package.json index 0197a9d3c4..fcf551be40 100644 --- a/npm/ng-packs/packages/setting-management/package.json +++ b/npm/ng-packs/packages/setting-management/package.json @@ -1,14 +1,14 @@ { "name": "@abp/ng.setting-management", - "version": "9.0.0-rc.2", + "version": "9.0.0", "homepage": "https://abp.io", "repository": { "type": "git", "url": "https://github.com/abpframework/abp.git" }, "dependencies": { - "@abp/ng.components": "~9.0.0-rc.2", - "@abp/ng.theme.shared": "~9.0.0-rc.2", + "@abp/ng.components": "~9.0.0", + "@abp/ng.theme.shared": "~9.0.0", "tslib": "^2.0.0" }, "publishConfig": { diff --git a/npm/ng-packs/packages/tenant-management/package.json b/npm/ng-packs/packages/tenant-management/package.json index c8723f26f6..c40c85a2a2 100644 --- a/npm/ng-packs/packages/tenant-management/package.json +++ b/npm/ng-packs/packages/tenant-management/package.json @@ -1,14 +1,14 @@ { "name": "@abp/ng.tenant-management", - "version": "9.0.0-rc.2", + "version": "9.0.0", "homepage": "https://abp.io", "repository": { "type": "git", "url": "https://github.com/abpframework/abp.git" }, "dependencies": { - "@abp/ng.feature-management": "~9.0.0-rc.2", - "@abp/ng.theme.shared": "~9.0.0-rc.2", + "@abp/ng.feature-management": "~9.0.0", + "@abp/ng.theme.shared": "~9.0.0", "tslib": "^2.0.0" }, "publishConfig": { diff --git a/npm/ng-packs/packages/theme-basic/package.json b/npm/ng-packs/packages/theme-basic/package.json index 068f5f5441..70db94483b 100644 --- a/npm/ng-packs/packages/theme-basic/package.json +++ b/npm/ng-packs/packages/theme-basic/package.json @@ -1,14 +1,14 @@ { "name": "@abp/ng.theme.basic", - "version": "9.0.0-rc.2", + "version": "9.0.0", "homepage": "https://abp.io", "repository": { "type": "git", "url": "https://github.com/abpframework/abp.git" }, "dependencies": { - "@abp/ng.account.core": "~9.0.0-rc.2", - "@abp/ng.theme.shared": "~9.0.0-rc.2", + "@abp/ng.account.core": "~9.0.0", + "@abp/ng.theme.shared": "~9.0.0", "tslib": "^2.0.0" }, "publishConfig": { diff --git a/npm/ng-packs/packages/theme-shared/package.json b/npm/ng-packs/packages/theme-shared/package.json index eb769fa1cb..af2e36dc45 100644 --- a/npm/ng-packs/packages/theme-shared/package.json +++ b/npm/ng-packs/packages/theme-shared/package.json @@ -1,13 +1,13 @@ { "name": "@abp/ng.theme.shared", - "version": "9.0.0-rc.2", + "version": "9.0.0", "homepage": "https://abp.io", "repository": { "type": "git", "url": "https://github.com/abpframework/abp.git" }, "dependencies": { - "@abp/ng.core": "~9.0.0-rc.2", + "@abp/ng.core": "~9.0.0", "@fortawesome/fontawesome-free": "^5.15.4", "@ng-bootstrap/ng-bootstrap": "~16.0.0", "@ngx-validate/core": "^0.2.0", diff --git a/npm/ng-packs/packages/theme-shared/src/lib/services/abstract-menu.service.ts b/npm/ng-packs/packages/theme-shared/src/lib/services/abstract-menu.service.ts index 4c3137b332..1af504f0ee 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/services/abstract-menu.service.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/services/abstract-menu.service.ts @@ -1,12 +1,12 @@ import { BehaviorSubject, Observable } from 'rxjs'; import { NavItem } from '../models/nav-item'; import { inject, Type } from '@angular/core'; -import { SORT_COMPARE_FUNC } from '@abp/ng.core'; +import { SORT_COMPARE_FUNC, SortableItem } from '@abp/ng.core'; export abstract class AbstractMenuService { protected abstract baseClass: Type; - protected readonly sortFn = inject(SORT_COMPARE_FUNC); + protected readonly sortFn: (a: SortableItem, b: SortableItem) => number; protected _items$ = new BehaviorSubject([]); @@ -18,6 +18,10 @@ export abstract class AbstractMenuService { return this._items$.asObservable(); } + constructor() { + this.sortFn = inject(SORT_COMPARE_FUNC); + } + addItems(newItems: T[]) { const items = [...this.items]; newItems.forEach(item => { diff --git a/npm/ng-packs/packages/theme-shared/src/lib/services/toaster.service.ts b/npm/ng-packs/packages/theme-shared/src/lib/services/toaster.service.ts index 9b45be4d1b..7b5496d879 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/services/toaster.service.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/services/toaster.service.ts @@ -4,7 +4,7 @@ import { PROJECTION_STRATEGY, Strict, } from '@abp/ng.core'; -import { ComponentRef, Injectable } from '@angular/core'; +import { ComponentRef, inject, Injectable } from '@angular/core'; import { ReplaySubject } from 'rxjs'; import { ToastContainerComponent } from '../components/toast-container/toast-container.component'; import { Toaster } from '../models'; @@ -20,8 +20,7 @@ export class ToasterService implements ToasterContract { private toasts = [] as Toaster.Toast[]; private containerComponentRef!: ComponentRef; - - constructor(private contentProjectionService: ContentProjectionService) {} + private contentProjectionService: ContentProjectionService; private setContainer() { this.containerComponentRef = this.contentProjectionService.projectContent( @@ -34,6 +33,10 @@ export class ToasterService implements ToasterContract { this.containerComponentRef.changeDetectorRef.detectChanges(); } + constructor() { + this.contentProjectionService = inject(ContentProjectionService); + } + /** * Creates an info toast with given parameters. * @param message Content of the toast diff --git a/npm/packs/anchor-js/package.json b/npm/packs/anchor-js/package.json index 8854ea360e..17c46b37e4 100644 --- a/npm/packs/anchor-js/package.json +++ b/npm/packs/anchor-js/package.json @@ -1,11 +1,11 @@ { - "version": "9.0.0-rc.2", + "version": "9.0.0", "name": "@abp/anchor-js", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/core": "~9.0.0-rc.2", + "@abp/core": "~9.0.0", "anchor-js": "^5.0.0" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", diff --git a/npm/packs/aspnetcore.components.server.basictheme/package.json b/npm/packs/aspnetcore.components.server.basictheme/package.json index b0375e8f76..de6fd1c68c 100644 --- a/npm/packs/aspnetcore.components.server.basictheme/package.json +++ b/npm/packs/aspnetcore.components.server.basictheme/package.json @@ -1,11 +1,11 @@ { - "version": "9.0.0-rc.2", + "version": "9.0.0", "name": "@abp/aspnetcore.components.server.basictheme", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/aspnetcore.components.server.theming": "~9.0.0-rc.2" + "@abp/aspnetcore.components.server.theming": "~9.0.0" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", "homepage": "https://abp.io", diff --git a/npm/packs/aspnetcore.components.server.theming/package.json b/npm/packs/aspnetcore.components.server.theming/package.json index adbe7c506f..79bc143b01 100644 --- a/npm/packs/aspnetcore.components.server.theming/package.json +++ b/npm/packs/aspnetcore.components.server.theming/package.json @@ -1,12 +1,12 @@ { - "version": "9.0.0-rc.2", + "version": "9.0.0", "name": "@abp/aspnetcore.components.server.theming", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/bootstrap": "~9.0.0-rc.2", - "@abp/font-awesome": "~9.0.0-rc.2" + "@abp/bootstrap": "~9.0.0", + "@abp/font-awesome": "~9.0.0" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", "homepage": "https://abp.io", diff --git a/npm/packs/aspnetcore.mvc.ui.theme.basic/package.json b/npm/packs/aspnetcore.mvc.ui.theme.basic/package.json index 65789cbbfe..87f07a509a 100644 --- a/npm/packs/aspnetcore.mvc.ui.theme.basic/package.json +++ b/npm/packs/aspnetcore.mvc.ui.theme.basic/package.json @@ -1,5 +1,5 @@ { - "version": "9.0.0-rc.2", + "version": "9.0.0", "name": "@abp/aspnetcore.mvc.ui.theme.basic", "repository": { "type": "git", @@ -10,7 +10,7 @@ "access": "public" }, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.shared": "~9.0.0-rc.2" + "@abp/aspnetcore.mvc.ui.theme.shared": "~9.0.0" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", "homepage": "https://abp.io", diff --git a/npm/packs/aspnetcore.mvc.ui.theme.shared/package.json b/npm/packs/aspnetcore.mvc.ui.theme.shared/package.json index 3532373227..f3d727c426 100644 --- a/npm/packs/aspnetcore.mvc.ui.theme.shared/package.json +++ b/npm/packs/aspnetcore.mvc.ui.theme.shared/package.json @@ -1,5 +1,5 @@ { - "version": "9.0.0-rc.2", + "version": "9.0.0", "name": "@abp/aspnetcore.mvc.ui.theme.shared", "repository": { "type": "git", @@ -10,22 +10,22 @@ "access": "public" }, "dependencies": { - "@abp/aspnetcore.mvc.ui": "~9.0.0-rc.2", - "@abp/bootstrap": "~9.0.0-rc.2", - "@abp/bootstrap-datepicker": "~9.0.0-rc.2", - "@abp/bootstrap-daterangepicker": "~9.0.0-rc.2", - "@abp/datatables.net-bs5": "~9.0.0-rc.2", - "@abp/font-awesome": "~9.0.0-rc.2", - "@abp/jquery-form": "~9.0.0-rc.2", - "@abp/jquery-validation-unobtrusive": "~9.0.0-rc.2", - "@abp/lodash": "~9.0.0-rc.2", - "@abp/luxon": "~9.0.0-rc.2", - "@abp/malihu-custom-scrollbar-plugin": "~9.0.0-rc.2", - "@abp/moment": "~9.0.0-rc.2", - "@abp/select2": "~9.0.0-rc.2", - "@abp/sweetalert2": "~9.0.0-rc.2", - "@abp/timeago": "~9.0.0-rc.2", - "@abp/toastr": "~9.0.0-rc.2" + "@abp/aspnetcore.mvc.ui": "~9.0.0", + "@abp/bootstrap": "~9.0.0", + "@abp/bootstrap-datepicker": "~9.0.0", + "@abp/bootstrap-daterangepicker": "~9.0.0", + "@abp/datatables.net-bs5": "~9.0.0", + "@abp/font-awesome": "~9.0.0", + "@abp/jquery-form": "~9.0.0", + "@abp/jquery-validation-unobtrusive": "~9.0.0", + "@abp/lodash": "~9.0.0", + "@abp/luxon": "~9.0.0", + "@abp/malihu-custom-scrollbar-plugin": "~9.0.0", + "@abp/moment": "~9.0.0", + "@abp/select2": "~9.0.0", + "@abp/sweetalert2": "~9.0.0", + "@abp/timeago": "~9.0.0", + "@abp/toastr": "~9.0.0" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", "homepage": "https://abp.io", diff --git a/npm/packs/aspnetcore.mvc.ui/package-lock.json b/npm/packs/aspnetcore.mvc.ui/package-lock.json index eb24394cb1..fc6a374e4f 100644 --- a/npm/packs/aspnetcore.mvc.ui/package-lock.json +++ b/npm/packs/aspnetcore.mvc.ui/package-lock.json @@ -1,6 +1,6 @@ { "name": "@abp/aspnetcore.mvc.ui", - "version": "9.0.0-rc.2", + "version": "9.0.0", "lockfileVersion": 1, "requires": true, "packages": { diff --git a/npm/packs/aspnetcore.mvc.ui/package.json b/npm/packs/aspnetcore.mvc.ui/package.json index 259417b93b..c37b1762ea 100644 --- a/npm/packs/aspnetcore.mvc.ui/package.json +++ b/npm/packs/aspnetcore.mvc.ui/package.json @@ -1,5 +1,5 @@ { - "version": "9.0.0-rc.2", + "version": "9.0.0", "name": "@abp/aspnetcore.mvc.ui", "repository": { "type": "git", diff --git a/npm/packs/blogging/package.json b/npm/packs/blogging/package.json index f806191fa3..c691ce6082 100644 --- a/npm/packs/blogging/package.json +++ b/npm/packs/blogging/package.json @@ -1,14 +1,14 @@ { - "version": "9.0.0-rc.2", + "version": "9.0.0", "name": "@abp/blogging", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.shared": "~9.0.0-rc.2", - "@abp/owl.carousel": "~9.0.0-rc.2", - "@abp/prismjs": "~9.0.0-rc.2", - "@abp/tui-editor": "~9.0.0-rc.2" + "@abp/aspnetcore.mvc.ui.theme.shared": "~9.0.0", + "@abp/owl.carousel": "~9.0.0", + "@abp/prismjs": "~9.0.0", + "@abp/tui-editor": "~9.0.0" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", "homepage": "https://abp.io", diff --git a/npm/packs/bootstrap-datepicker/package.json b/npm/packs/bootstrap-datepicker/package.json index 1e5c0c9a31..0d42e13dce 100644 --- a/npm/packs/bootstrap-datepicker/package.json +++ b/npm/packs/bootstrap-datepicker/package.json @@ -1,5 +1,5 @@ { - "version": "9.0.0-rc.2", + "version": "9.0.0", "name": "@abp/bootstrap-datepicker", "repository": { "type": "git", diff --git a/npm/packs/bootstrap-daterangepicker/package.json b/npm/packs/bootstrap-daterangepicker/package.json index df9978e5b5..26400f316d 100644 --- a/npm/packs/bootstrap-daterangepicker/package.json +++ b/npm/packs/bootstrap-daterangepicker/package.json @@ -1,5 +1,5 @@ { - "version": "9.0.0-rc.2", + "version": "9.0.0", "name": "@abp/bootstrap-daterangepicker", "repository": { "type": "git", diff --git a/npm/packs/bootstrap/package.json b/npm/packs/bootstrap/package.json index 13b0f6a3e4..cbd2520d2b 100644 --- a/npm/packs/bootstrap/package.json +++ b/npm/packs/bootstrap/package.json @@ -1,5 +1,5 @@ { - "version": "9.0.0-rc.2", + "version": "9.0.0", "name": "@abp/bootstrap", "repository": { "type": "git", @@ -10,7 +10,7 @@ "access": "public" }, "dependencies": { - "@abp/core": "~9.0.0-rc.2", + "@abp/core": "~9.0.0", "bootstrap": "^5.3.3" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", diff --git a/npm/packs/chart.js/package.json b/npm/packs/chart.js/package.json index f0431e2b53..6fecb8a392 100644 --- a/npm/packs/chart.js/package.json +++ b/npm/packs/chart.js/package.json @@ -1,5 +1,5 @@ { - "version": "9.0.0-rc.2", + "version": "9.0.0", "name": "@abp/chart.js", "publishConfig": { "access": "public" diff --git a/npm/packs/clipboard/package.json b/npm/packs/clipboard/package.json index 64b033bfa4..4d375265a3 100644 --- a/npm/packs/clipboard/package.json +++ b/npm/packs/clipboard/package.json @@ -1,11 +1,11 @@ { - "version": "9.0.0-rc.2", + "version": "9.0.0", "name": "@abp/clipboard", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/core": "~9.0.0-rc.2", + "@abp/core": "~9.0.0", "clipboard": "^2.0.11" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", diff --git a/npm/packs/cms-kit.admin/package.json b/npm/packs/cms-kit.admin/package.json index 6ccd0c7f2d..d851350dd0 100644 --- a/npm/packs/cms-kit.admin/package.json +++ b/npm/packs/cms-kit.admin/package.json @@ -1,16 +1,16 @@ { - "version": "9.0.0-rc.2", + "version": "9.0.0", "name": "@abp/cms-kit.admin", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/codemirror": "~9.0.0-rc.2", - "@abp/jstree": "~9.0.0-rc.2", - "@abp/markdown-it": "~9.0.0-rc.2", - "@abp/slugify": "~9.0.0-rc.2", - "@abp/tui-editor": "~9.0.0-rc.2", - "@abp/uppy": "~9.0.0-rc.2" + "@abp/codemirror": "~9.0.0", + "@abp/jstree": "~9.0.0", + "@abp/markdown-it": "~9.0.0", + "@abp/slugify": "~9.0.0", + "@abp/tui-editor": "~9.0.0", + "@abp/uppy": "~9.0.0" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", "homepage": "https://abp.io", diff --git a/npm/packs/cms-kit.public/package.json b/npm/packs/cms-kit.public/package.json index b142ee37b7..7d54b784dc 100644 --- a/npm/packs/cms-kit.public/package.json +++ b/npm/packs/cms-kit.public/package.json @@ -1,12 +1,12 @@ { - "version": "9.0.0-rc.2", + "version": "9.0.0", "name": "@abp/cms-kit.public", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/highlight.js": "~9.0.0-rc.2", - "@abp/star-rating-svg": "~9.0.0-rc.2" + "@abp/highlight.js": "~9.0.0", + "@abp/star-rating-svg": "~9.0.0" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", "homepage": "https://abp.io", diff --git a/npm/packs/cms-kit/package.json b/npm/packs/cms-kit/package.json index c5bedaac67..1f02ba49d0 100644 --- a/npm/packs/cms-kit/package.json +++ b/npm/packs/cms-kit/package.json @@ -1,12 +1,12 @@ { - "version": "9.0.0-rc.2", + "version": "9.0.0", "name": "@abp/cms-kit", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/cms-kit.admin": "~9.0.0-rc.2", - "@abp/cms-kit.public": "~9.0.0-rc.2" + "@abp/cms-kit.admin": "~9.0.0", + "@abp/cms-kit.public": "~9.0.0" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", "homepage": "https://abp.io", diff --git a/npm/packs/codemirror/package.json b/npm/packs/codemirror/package.json index d0f063327c..2577d0e374 100644 --- a/npm/packs/codemirror/package.json +++ b/npm/packs/codemirror/package.json @@ -1,11 +1,11 @@ { - "version": "9.0.0-rc.2", + "version": "9.0.0", "name": "@abp/codemirror", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/core": "~9.0.0-rc.2", + "@abp/core": "~9.0.0", "codemirror": "^5.65.1" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", diff --git a/npm/packs/core/package.json b/npm/packs/core/package.json index 7a154a6702..ac9bb8d4be 100644 --- a/npm/packs/core/package.json +++ b/npm/packs/core/package.json @@ -1,5 +1,5 @@ { - "version": "9.0.0-rc.2", + "version": "9.0.0", "name": "@abp/core", "repository": { "type": "git", @@ -10,7 +10,7 @@ "access": "public" }, "dependencies": { - "@abp/utils": "~9.0.0-rc.2" + "@abp/utils": "~9.0.0" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", "homepage": "https://abp.io", diff --git a/npm/packs/cropperjs/package.json b/npm/packs/cropperjs/package.json index 7c29883c5b..cd501fa378 100644 --- a/npm/packs/cropperjs/package.json +++ b/npm/packs/cropperjs/package.json @@ -1,11 +1,11 @@ { - "version": "9.0.0-rc.2", + "version": "9.0.0", "name": "@abp/cropperjs", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/core": "~9.0.0-rc.2", + "@abp/core": "~9.0.0", "cropperjs": "^1.6.2" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", diff --git a/npm/packs/datatables.net-bs4/package.json b/npm/packs/datatables.net-bs4/package.json index 1a0ea05e87..fe6719d8d9 100644 --- a/npm/packs/datatables.net-bs4/package.json +++ b/npm/packs/datatables.net-bs4/package.json @@ -1,5 +1,5 @@ { - "version": "9.0.0-rc.2", + "version": "9.0.0", "name": "@abp/datatables.net-bs4", "repository": { "type": "git", @@ -10,7 +10,7 @@ "access": "public" }, "dependencies": { - "@abp/datatables.net": "~9.0.0-rc.2", + "@abp/datatables.net": "~9.0.0", "datatables.net-bs4": "^2.1.8" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", diff --git a/npm/packs/datatables.net-bs5/package.json b/npm/packs/datatables.net-bs5/package.json index 3b7315f963..8f401bbb2c 100644 --- a/npm/packs/datatables.net-bs5/package.json +++ b/npm/packs/datatables.net-bs5/package.json @@ -1,11 +1,11 @@ { - "version": "9.0.0-rc.2", + "version": "9.0.0", "name": "@abp/datatables.net-bs5", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/datatables.net": "~9.0.0-rc.2", + "@abp/datatables.net": "~9.0.0", "datatables.net-bs5": "^2.1.8" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", diff --git a/npm/packs/datatables.net/package.json b/npm/packs/datatables.net/package.json index a24da96f35..ac51ee774e 100644 --- a/npm/packs/datatables.net/package.json +++ b/npm/packs/datatables.net/package.json @@ -1,5 +1,5 @@ { - "version": "9.0.0-rc.2", + "version": "9.0.0", "name": "@abp/datatables.net", "repository": { "type": "git", @@ -10,7 +10,7 @@ "access": "public" }, "dependencies": { - "@abp/jquery": "~9.0.0-rc.2", + "@abp/jquery": "~9.0.0", "datatables.net": "^2.1.8" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", diff --git a/npm/packs/docs/package.json b/npm/packs/docs/package.json index e8ba7ba405..a394a04dea 100644 --- a/npm/packs/docs/package.json +++ b/npm/packs/docs/package.json @@ -1,15 +1,15 @@ { - "version": "9.0.0-rc.2", + "version": "9.0.0", "name": "@abp/docs", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/anchor-js": "~9.0.0-rc.2", - "@abp/clipboard": "~9.0.0-rc.2", - "@abp/malihu-custom-scrollbar-plugin": "~9.0.0-rc.2", - "@abp/popper.js": "~9.0.0-rc.2", - "@abp/prismjs": "~9.0.0-rc.2" + "@abp/anchor-js": "~9.0.0", + "@abp/clipboard": "~9.0.0", + "@abp/malihu-custom-scrollbar-plugin": "~9.0.0", + "@abp/popper.js": "~9.0.0", + "@abp/prismjs": "~9.0.0" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", "homepage": "https://abp.io", diff --git a/npm/packs/flag-icon-css/package.json b/npm/packs/flag-icon-css/package.json index a40885d286..d452d190f1 100644 --- a/npm/packs/flag-icon-css/package.json +++ b/npm/packs/flag-icon-css/package.json @@ -1,5 +1,5 @@ { - "version": "9.0.0-rc.2", + "version": "9.0.0", "name": "@abp/flag-icon-css", "publishConfig": { "access": "public" diff --git a/npm/packs/flag-icons/package.json b/npm/packs/flag-icons/package.json index d4b5911be3..226df434e8 100644 --- a/npm/packs/flag-icons/package.json +++ b/npm/packs/flag-icons/package.json @@ -1,5 +1,5 @@ { - "version": "9.0.0-rc.2", + "version": "9.0.0", "name": "@abp/flag-icons", "publishConfig": { "access": "public" diff --git a/npm/packs/font-awesome/package.json b/npm/packs/font-awesome/package.json index b9243fdca5..61a5679668 100644 --- a/npm/packs/font-awesome/package.json +++ b/npm/packs/font-awesome/package.json @@ -1,5 +1,5 @@ { - "version": "9.0.0-rc.2", + "version": "9.0.0", "name": "@abp/font-awesome", "repository": { "type": "git", @@ -10,7 +10,7 @@ "access": "public" }, "dependencies": { - "@abp/core": "~9.0.0-rc.2", + "@abp/core": "~9.0.0", "@fortawesome/fontawesome-free": "^6.6.0" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", diff --git a/npm/packs/highlight.js/package.json b/npm/packs/highlight.js/package.json index fb165ee603..f2a4f8bd33 100644 --- a/npm/packs/highlight.js/package.json +++ b/npm/packs/highlight.js/package.json @@ -1,11 +1,11 @@ { - "version": "9.0.0-rc.2", + "version": "9.0.0", "name": "@abp/highlight.js", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/core": "~9.0.0-rc.2", + "@abp/core": "~9.0.0", "@highlightjs/cdn-assets": "~11.10.0" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", diff --git a/npm/packs/jquery-form/package.json b/npm/packs/jquery-form/package.json index 839d288ac0..df7ec86ea9 100644 --- a/npm/packs/jquery-form/package.json +++ b/npm/packs/jquery-form/package.json @@ -1,5 +1,5 @@ { - "version": "9.0.0-rc.2", + "version": "9.0.0", "name": "@abp/jquery-form", "repository": { "type": "git", @@ -10,7 +10,7 @@ "access": "public" }, "dependencies": { - "@abp/jquery": "~9.0.0-rc.2", + "@abp/jquery": "~9.0.0", "jquery-form": "^4.3.0" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", diff --git a/npm/packs/jquery-validation-unobtrusive/package.json b/npm/packs/jquery-validation-unobtrusive/package.json index 63114f6afd..3421260678 100644 --- a/npm/packs/jquery-validation-unobtrusive/package.json +++ b/npm/packs/jquery-validation-unobtrusive/package.json @@ -1,5 +1,5 @@ { - "version": "9.0.0-rc.2", + "version": "9.0.0", "name": "@abp/jquery-validation-unobtrusive", "repository": { "type": "git", @@ -10,7 +10,7 @@ "access": "public" }, "dependencies": { - "@abp/jquery-validation": "~9.0.0-rc.2", + "@abp/jquery-validation": "~9.0.0", "jquery-validation-unobtrusive": "^4.0.0" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", diff --git a/npm/packs/jquery-validation/package.json b/npm/packs/jquery-validation/package.json index dea56e2b33..5ba24ebcf9 100644 --- a/npm/packs/jquery-validation/package.json +++ b/npm/packs/jquery-validation/package.json @@ -1,5 +1,5 @@ { - "version": "9.0.0-rc.2", + "version": "9.0.0", "name": "@abp/jquery-validation", "repository": { "type": "git", @@ -10,7 +10,7 @@ "access": "public" }, "dependencies": { - "@abp/jquery": "~9.0.0-rc.2", + "@abp/jquery": "~9.0.0", "jquery-validation": "^1.21.0" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", diff --git a/npm/packs/jquery/package.json b/npm/packs/jquery/package.json index eff344b532..b48af1af76 100644 --- a/npm/packs/jquery/package.json +++ b/npm/packs/jquery/package.json @@ -1,5 +1,5 @@ { - "version": "9.0.0-rc.2", + "version": "9.0.0", "name": "@abp/jquery", "repository": { "type": "git", @@ -10,7 +10,7 @@ "access": "public" }, "dependencies": { - "@abp/core": "~9.0.0-rc.2", + "@abp/core": "~9.0.0", "jquery": "~3.7.1" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", diff --git a/npm/packs/jstree/package.json b/npm/packs/jstree/package.json index 3f42b5e7e1..030d09c70f 100644 --- a/npm/packs/jstree/package.json +++ b/npm/packs/jstree/package.json @@ -1,11 +1,11 @@ { - "version": "9.0.0-rc.2", + "version": "9.0.0", "name": "@abp/jstree", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/jquery": "~9.0.0-rc.2", + "@abp/jquery": "~9.0.0", "jstree": "^3.3.17" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", diff --git a/npm/packs/lodash/package.json b/npm/packs/lodash/package.json index 8d7aa6b5a6..7946b80bd8 100644 --- a/npm/packs/lodash/package.json +++ b/npm/packs/lodash/package.json @@ -1,5 +1,5 @@ { - "version": "9.0.0-rc.2", + "version": "9.0.0", "name": "@abp/lodash", "repository": { "type": "git", @@ -10,7 +10,7 @@ "access": "public" }, "dependencies": { - "@abp/core": "~9.0.0-rc.2", + "@abp/core": "~9.0.0", "lodash": "^4.17.21" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", diff --git a/npm/packs/luxon/package.json b/npm/packs/luxon/package.json index 048b98827c..5c47894cb1 100644 --- a/npm/packs/luxon/package.json +++ b/npm/packs/luxon/package.json @@ -1,5 +1,5 @@ { - "version": "9.0.0-rc.2", + "version": "9.0.0", "name": "@abp/luxon", "repository": { "type": "git", @@ -10,7 +10,7 @@ "access": "public" }, "dependencies": { - "@abp/core": "~9.0.0-rc.2", + "@abp/core": "~9.0.0", "luxon": "^3.5.0" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", diff --git a/npm/packs/malihu-custom-scrollbar-plugin/package.json b/npm/packs/malihu-custom-scrollbar-plugin/package.json index 40c352d23a..5a61f2bb9e 100644 --- a/npm/packs/malihu-custom-scrollbar-plugin/package.json +++ b/npm/packs/malihu-custom-scrollbar-plugin/package.json @@ -1,5 +1,5 @@ { - "version": "9.0.0-rc.2", + "version": "9.0.0", "name": "@abp/malihu-custom-scrollbar-plugin", "repository": { "type": "git", @@ -10,7 +10,7 @@ "access": "public" }, "dependencies": { - "@abp/core": "~9.0.0-rc.2", + "@abp/core": "~9.0.0", "malihu-custom-scrollbar-plugin": "^3.1.5" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", diff --git a/npm/packs/markdown-it/package.json b/npm/packs/markdown-it/package.json index 46fa82ac30..6587836f8c 100644 --- a/npm/packs/markdown-it/package.json +++ b/npm/packs/markdown-it/package.json @@ -1,11 +1,11 @@ { - "version": "9.0.0-rc.2", + "version": "9.0.0", "name": "@abp/markdown-it", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/core": "~9.0.0-rc.2", + "@abp/core": "~9.0.0", "markdown-it": "^14.1.0" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", diff --git a/npm/packs/moment/package.json b/npm/packs/moment/package.json index 7464b009e7..dff5f73832 100644 --- a/npm/packs/moment/package.json +++ b/npm/packs/moment/package.json @@ -1,5 +1,5 @@ { - "version": "9.0.0-rc.2", + "version": "9.0.0", "name": "@abp/moment", "repository": { "type": "git", diff --git a/npm/packs/owl.carousel/package.json b/npm/packs/owl.carousel/package.json index 9e308a3098..16226df141 100644 --- a/npm/packs/owl.carousel/package.json +++ b/npm/packs/owl.carousel/package.json @@ -1,11 +1,11 @@ { - "version": "9.0.0-rc.2", + "version": "9.0.0", "name": "@abp/owl.carousel", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/core": "~9.0.0-rc.2", + "@abp/core": "~9.0.0", "owl.carousel": "^2.3.4" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", diff --git a/npm/packs/popper.js/package.json b/npm/packs/popper.js/package.json index 000faa032d..ce2b69da9d 100644 --- a/npm/packs/popper.js/package.json +++ b/npm/packs/popper.js/package.json @@ -1,11 +1,11 @@ { - "version": "9.0.0-rc.2", + "version": "9.0.0", "name": "@abp/popper.js", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/core": "~9.0.0-rc.2", + "@abp/core": "~9.0.0", "@popperjs/core": "^2.11.8" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", diff --git a/npm/packs/prismjs/package.json b/npm/packs/prismjs/package.json index 04d89324a9..dbfd25d880 100644 --- a/npm/packs/prismjs/package.json +++ b/npm/packs/prismjs/package.json @@ -1,12 +1,12 @@ { - "version": "9.0.0-rc.2", + "version": "9.0.0", "name": "@abp/prismjs", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/clipboard": "~9.0.0-rc.2", - "@abp/core": "~9.0.0-rc.2", + "@abp/clipboard": "~9.0.0", + "@abp/core": "~9.0.0", "prismjs": "^1.29.0" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", diff --git a/npm/packs/qrcode/package.json b/npm/packs/qrcode/package.json index 1670789230..e323e7ee19 100644 --- a/npm/packs/qrcode/package.json +++ b/npm/packs/qrcode/package.json @@ -1,5 +1,5 @@ { - "version": "9.0.0-rc.2", + "version": "9.0.0", "name": "@abp/qrcode", "repository": { "type": "git", @@ -10,7 +10,7 @@ "access": "public" }, "dependencies": { - "@abp/core": "~9.0.0-rc.2" + "@abp/core": "~9.0.0" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", "homepage": "https://abp.io", diff --git a/npm/packs/select2/package.json b/npm/packs/select2/package.json index 049b2b2950..cfb3a2218c 100644 --- a/npm/packs/select2/package.json +++ b/npm/packs/select2/package.json @@ -1,5 +1,5 @@ { - "version": "9.0.0-rc.2", + "version": "9.0.0", "name": "@abp/select2", "repository": { "type": "git", @@ -10,7 +10,7 @@ "access": "public" }, "dependencies": { - "@abp/core": "~9.0.0-rc.2", + "@abp/core": "~9.0.0", "select2": "^4.0.13" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", diff --git a/npm/packs/signalr/package.json b/npm/packs/signalr/package.json index 8f26f85754..1b85ffd415 100644 --- a/npm/packs/signalr/package.json +++ b/npm/packs/signalr/package.json @@ -1,11 +1,11 @@ { - "version": "9.0.0-rc.2", + "version": "9.0.0", "name": "@abp/signalr", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/core": "~9.0.0-rc.2", + "@abp/core": "~9.0.0", "@microsoft/signalr": "~8.0.7" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", diff --git a/npm/packs/slugify/package.json b/npm/packs/slugify/package.json index e25cc4cdf7..3cee1c61b4 100644 --- a/npm/packs/slugify/package.json +++ b/npm/packs/slugify/package.json @@ -1,5 +1,5 @@ { - "version": "9.0.0-rc.2", + "version": "9.0.0", "name": "@abp/slugify", "publishConfig": { "access": "public" diff --git a/npm/packs/star-rating-svg/package.json b/npm/packs/star-rating-svg/package.json index 981cc5d0b7..5b4249f53b 100644 --- a/npm/packs/star-rating-svg/package.json +++ b/npm/packs/star-rating-svg/package.json @@ -1,11 +1,11 @@ { - "version": "9.0.0-rc.2", + "version": "9.0.0", "name": "@abp/star-rating-svg", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/jquery": "~9.0.0-rc.2", + "@abp/jquery": "~9.0.0", "star-rating-svg": "^3.5.0" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", diff --git a/npm/packs/sweetalert2/package.json b/npm/packs/sweetalert2/package.json index b43749d177..2a4fdeef6d 100644 --- a/npm/packs/sweetalert2/package.json +++ b/npm/packs/sweetalert2/package.json @@ -1,5 +1,5 @@ { - "version": "9.0.0-rc.2", + "version": "9.0.0", "name": "@abp/sweetalert2", "publishConfig": { "access": "public" @@ -10,7 +10,7 @@ "directory": "npm/packs/sweetalert2" }, "dependencies": { - "@abp/core": "~9.0.0-rc.2", + "@abp/core": "~9.0.0", "sweetalert2": "^11.14.1" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", diff --git a/npm/packs/timeago/package.json b/npm/packs/timeago/package.json index e43d03b5ff..e5fcde7ae9 100644 --- a/npm/packs/timeago/package.json +++ b/npm/packs/timeago/package.json @@ -1,5 +1,5 @@ { - "version": "9.0.0-rc.2", + "version": "9.0.0", "name": "@abp/timeago", "repository": { "type": "git", @@ -10,7 +10,7 @@ "access": "public" }, "dependencies": { - "@abp/jquery": "~9.0.0-rc.2", + "@abp/jquery": "~9.0.0", "timeago": "^1.6.7" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", diff --git a/npm/packs/toastr/package.json b/npm/packs/toastr/package.json index 8724af32e7..50fabf6edf 100644 --- a/npm/packs/toastr/package.json +++ b/npm/packs/toastr/package.json @@ -1,5 +1,5 @@ { - "version": "9.0.0-rc.2", + "version": "9.0.0", "name": "@abp/toastr", "repository": { "type": "git", @@ -10,7 +10,7 @@ "access": "public" }, "dependencies": { - "@abp/jquery": "~9.0.0-rc.2", + "@abp/jquery": "~9.0.0", "toastr": "^2.1.4" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", diff --git a/npm/packs/tui-editor/package.json b/npm/packs/tui-editor/package.json index 8d6dd2ee36..95cb135223 100644 --- a/npm/packs/tui-editor/package.json +++ b/npm/packs/tui-editor/package.json @@ -1,12 +1,12 @@ { - "version": "9.0.0-rc.2", + "version": "9.0.0", "name": "@abp/tui-editor", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/jquery": "~9.0.0-rc.2", - "@abp/prismjs": "~9.0.0-rc.2" + "@abp/jquery": "~9.0.0", + "@abp/prismjs": "~9.0.0" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", "homepage": "https://abp.io", diff --git a/npm/packs/uppy/package.json b/npm/packs/uppy/package.json index 8e15e7991d..3448e17b1a 100644 --- a/npm/packs/uppy/package.json +++ b/npm/packs/uppy/package.json @@ -1,11 +1,11 @@ { - "version": "9.0.0-rc.2", + "version": "9.0.0", "name": "@abp/uppy", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/core": "~9.0.0-rc.2", + "@abp/core": "~9.0.0", "uppy": "^4.4.1" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", diff --git a/npm/packs/utils/package.json b/npm/packs/utils/package.json index 29af959c9f..b677cfeae1 100644 --- a/npm/packs/utils/package.json +++ b/npm/packs/utils/package.json @@ -1,6 +1,6 @@ { "name": "@abp/utils", - "version": "9.0.0-rc.2", + "version": "9.0.0", "scripts": { "prepublishOnly": "yarn install --ignore-scripts && node prepublish.js", "ng": "ng", diff --git a/npm/packs/vee-validate/package.json b/npm/packs/vee-validate/package.json index d98120a802..d1bf13bcbb 100644 --- a/npm/packs/vee-validate/package.json +++ b/npm/packs/vee-validate/package.json @@ -1,11 +1,11 @@ { - "version": "9.0.0-rc.2", + "version": "9.0.0", "name": "@abp/vee-validate", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/vue": "~9.0.0-rc.2", + "@abp/vue": "~9.0.0", "vee-validate": "~3.4.4" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", diff --git a/npm/packs/virtual-file-explorer/package.json b/npm/packs/virtual-file-explorer/package.json index 945ac057a9..534fce1701 100644 --- a/npm/packs/virtual-file-explorer/package.json +++ b/npm/packs/virtual-file-explorer/package.json @@ -1,12 +1,12 @@ { - "version": "9.0.0-rc.2", + "version": "9.0.0", "name": "@abp/virtual-file-explorer", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/clipboard": "~9.0.0-rc.2", - "@abp/prismjs": "~9.0.0-rc.2" + "@abp/clipboard": "~9.0.0", + "@abp/prismjs": "~9.0.0" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", "homepage": "https://abp.io", diff --git a/npm/packs/vue/package.json b/npm/packs/vue/package.json index 5d1f5917c6..c43d4b2e23 100644 --- a/npm/packs/vue/package.json +++ b/npm/packs/vue/package.json @@ -1,5 +1,5 @@ { - "version": "9.0.0-rc.2", + "version": "9.0.0", "name": "@abp/vue", "publishConfig": { "access": "public" diff --git a/npm/packs/zxcvbn/package.json b/npm/packs/zxcvbn/package.json index eecf7edab9..eecc6af51e 100644 --- a/npm/packs/zxcvbn/package.json +++ b/npm/packs/zxcvbn/package.json @@ -1,11 +1,11 @@ { - "version": "9.0.0-rc.2", + "version": "9.0.0", "name": "@abp/zxcvbn", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/core": "~9.0.0-rc.2", + "@abp/core": "~9.0.0", "zxcvbn": "^4.4.2" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", diff --git a/source-code/Volo.Abp.Account.SourceCode/Volo.Abp.Account.SourceCode.zip b/source-code/Volo.Abp.Account.SourceCode/Volo.Abp.Account.SourceCode.zip index 57b19fcfc9..7f5f7706e4 100644 Binary files a/source-code/Volo.Abp.Account.SourceCode/Volo.Abp.Account.SourceCode.zip and b/source-code/Volo.Abp.Account.SourceCode/Volo.Abp.Account.SourceCode.zip differ diff --git a/source-code/Volo.Abp.AuditLogging.SourceCode/Volo.Abp.AuditLogging.SourceCode.zip b/source-code/Volo.Abp.AuditLogging.SourceCode/Volo.Abp.AuditLogging.SourceCode.zip index 1d500e3fa7..51a2b2c2af 100644 Binary files a/source-code/Volo.Abp.AuditLogging.SourceCode/Volo.Abp.AuditLogging.SourceCode.zip and b/source-code/Volo.Abp.AuditLogging.SourceCode/Volo.Abp.AuditLogging.SourceCode.zip differ diff --git a/source-code/Volo.Abp.BackgroundJobs.SourceCode/Volo.Abp.BackgroundJobs.SourceCode.zip b/source-code/Volo.Abp.BackgroundJobs.SourceCode/Volo.Abp.BackgroundJobs.SourceCode.zip index 7e990a4dcf..2bce0b40bf 100644 Binary files a/source-code/Volo.Abp.BackgroundJobs.SourceCode/Volo.Abp.BackgroundJobs.SourceCode.zip and b/source-code/Volo.Abp.BackgroundJobs.SourceCode/Volo.Abp.BackgroundJobs.SourceCode.zip differ diff --git a/source-code/Volo.Abp.BasicTheme.SourceCode/Volo.Abp.BasicTheme.SourceCode.zip b/source-code/Volo.Abp.BasicTheme.SourceCode/Volo.Abp.BasicTheme.SourceCode.zip index 2827971dcc..a053c74d56 100644 Binary files a/source-code/Volo.Abp.BasicTheme.SourceCode/Volo.Abp.BasicTheme.SourceCode.zip and b/source-code/Volo.Abp.BasicTheme.SourceCode/Volo.Abp.BasicTheme.SourceCode.zip differ diff --git a/source-code/Volo.Abp.BlobStoring.Database.SourceCode/Volo.Abp.BlobStoring.Database.SourceCode.zip b/source-code/Volo.Abp.BlobStoring.Database.SourceCode/Volo.Abp.BlobStoring.Database.SourceCode.zip index d94dd52540..5bf0990216 100644 Binary files a/source-code/Volo.Abp.BlobStoring.Database.SourceCode/Volo.Abp.BlobStoring.Database.SourceCode.zip and b/source-code/Volo.Abp.BlobStoring.Database.SourceCode/Volo.Abp.BlobStoring.Database.SourceCode.zip differ diff --git a/source-code/Volo.Abp.FeatureManagement.SourceCode/Volo.Abp.FeatureManagement.SourceCode.zip b/source-code/Volo.Abp.FeatureManagement.SourceCode/Volo.Abp.FeatureManagement.SourceCode.zip index ac941e2087..59c9f3a72f 100644 Binary files a/source-code/Volo.Abp.FeatureManagement.SourceCode/Volo.Abp.FeatureManagement.SourceCode.zip and b/source-code/Volo.Abp.FeatureManagement.SourceCode/Volo.Abp.FeatureManagement.SourceCode.zip differ diff --git a/source-code/Volo.Abp.Identity.SourceCode/Volo.Abp.Identity.SourceCode.zip b/source-code/Volo.Abp.Identity.SourceCode/Volo.Abp.Identity.SourceCode.zip index aadc5c9499..f25d630510 100644 Binary files a/source-code/Volo.Abp.Identity.SourceCode/Volo.Abp.Identity.SourceCode.zip and b/source-code/Volo.Abp.Identity.SourceCode/Volo.Abp.Identity.SourceCode.zip differ diff --git a/source-code/Volo.Abp.IdentityServer.SourceCode/Volo.Abp.IdentityServer.SourceCode.zip b/source-code/Volo.Abp.IdentityServer.SourceCode/Volo.Abp.IdentityServer.SourceCode.zip index a2fd410809..6eb9a02099 100644 Binary files a/source-code/Volo.Abp.IdentityServer.SourceCode/Volo.Abp.IdentityServer.SourceCode.zip and b/source-code/Volo.Abp.IdentityServer.SourceCode/Volo.Abp.IdentityServer.SourceCode.zip differ diff --git a/source-code/Volo.Abp.OpenIddict.SourceCode/Volo.Abp.OpenIddict.SourceCode.zip b/source-code/Volo.Abp.OpenIddict.SourceCode/Volo.Abp.OpenIddict.SourceCode.zip index b31d09da42..834bea98b0 100644 Binary files a/source-code/Volo.Abp.OpenIddict.SourceCode/Volo.Abp.OpenIddict.SourceCode.zip and b/source-code/Volo.Abp.OpenIddict.SourceCode/Volo.Abp.OpenIddict.SourceCode.zip differ diff --git a/source-code/Volo.Abp.PermissionManagement.SourceCode/Volo.Abp.PermissionManagement.SourceCode.zip b/source-code/Volo.Abp.PermissionManagement.SourceCode/Volo.Abp.PermissionManagement.SourceCode.zip index 0a06c3d86b..84706bf906 100644 Binary files a/source-code/Volo.Abp.PermissionManagement.SourceCode/Volo.Abp.PermissionManagement.SourceCode.zip and b/source-code/Volo.Abp.PermissionManagement.SourceCode/Volo.Abp.PermissionManagement.SourceCode.zip differ diff --git a/source-code/Volo.Abp.SettingManagement.SourceCode/Volo.Abp.SettingManagement.SourceCode.zip b/source-code/Volo.Abp.SettingManagement.SourceCode/Volo.Abp.SettingManagement.SourceCode.zip index e628835605..b92e04343b 100644 Binary files a/source-code/Volo.Abp.SettingManagement.SourceCode/Volo.Abp.SettingManagement.SourceCode.zip and b/source-code/Volo.Abp.SettingManagement.SourceCode/Volo.Abp.SettingManagement.SourceCode.zip differ diff --git a/source-code/Volo.Abp.TenantManagement.SourceCode/Volo.Abp.TenantManagement.SourceCode.zip b/source-code/Volo.Abp.TenantManagement.SourceCode/Volo.Abp.TenantManagement.SourceCode.zip index 424721109a..b160e3233d 100644 Binary files a/source-code/Volo.Abp.TenantManagement.SourceCode/Volo.Abp.TenantManagement.SourceCode.zip and b/source-code/Volo.Abp.TenantManagement.SourceCode/Volo.Abp.TenantManagement.SourceCode.zip differ diff --git a/source-code/Volo.Abp.Users.SourceCode/Volo.Abp.Users.SourceCode.zip b/source-code/Volo.Abp.Users.SourceCode/Volo.Abp.Users.SourceCode.zip index b07bd02481..71c4edbef9 100644 Binary files a/source-code/Volo.Abp.Users.SourceCode/Volo.Abp.Users.SourceCode.zip and b/source-code/Volo.Abp.Users.SourceCode/Volo.Abp.Users.SourceCode.zip differ diff --git a/source-code/Volo.Abp.VirtualFileExplorer.SourceCode/Volo.Abp.VirtualFileExplorer.SourceCode.zip b/source-code/Volo.Abp.VirtualFileExplorer.SourceCode/Volo.Abp.VirtualFileExplorer.SourceCode.zip index 7916abbe2a..e171ac938d 100644 Binary files a/source-code/Volo.Abp.VirtualFileExplorer.SourceCode/Volo.Abp.VirtualFileExplorer.SourceCode.zip and b/source-code/Volo.Abp.VirtualFileExplorer.SourceCode/Volo.Abp.VirtualFileExplorer.SourceCode.zip differ diff --git a/source-code/Volo.Blogging.SourceCode/Volo.Blogging.SourceCode.zip b/source-code/Volo.Blogging.SourceCode/Volo.Blogging.SourceCode.zip index b6f89555c1..fd461b2368 100644 Binary files a/source-code/Volo.Blogging.SourceCode/Volo.Blogging.SourceCode.zip and b/source-code/Volo.Blogging.SourceCode/Volo.Blogging.SourceCode.zip differ diff --git a/source-code/Volo.ClientSimulation.SourceCode/Volo.ClientSimulation.SourceCode.zip b/source-code/Volo.ClientSimulation.SourceCode/Volo.ClientSimulation.SourceCode.zip index 28d911d11e..14778e7cdc 100644 Binary files a/source-code/Volo.ClientSimulation.SourceCode/Volo.ClientSimulation.SourceCode.zip and b/source-code/Volo.ClientSimulation.SourceCode/Volo.ClientSimulation.SourceCode.zip differ diff --git a/source-code/Volo.CmsKit.SourceCode/Volo.CmsKit.SourceCode.zip b/source-code/Volo.CmsKit.SourceCode/Volo.CmsKit.SourceCode.zip index 2fbb5dc086..a2da5f97ed 100644 Binary files a/source-code/Volo.CmsKit.SourceCode/Volo.CmsKit.SourceCode.zip and b/source-code/Volo.CmsKit.SourceCode/Volo.CmsKit.SourceCode.zip differ diff --git a/source-code/Volo.Docs.SourceCode/Volo.Docs.SourceCode.zip b/source-code/Volo.Docs.SourceCode/Volo.Docs.SourceCode.zip index 7904bfcb6a..9a99d49ee5 100644 Binary files a/source-code/Volo.Docs.SourceCode/Volo.Docs.SourceCode.zip and b/source-code/Volo.Docs.SourceCode/Volo.Docs.SourceCode.zip differ diff --git a/templates/app-nolayers/angular/package.json b/templates/app-nolayers/angular/package.json index 12d0bba6e8..cbe3db28a1 100644 --- a/templates/app-nolayers/angular/package.json +++ b/templates/app-nolayers/angular/package.json @@ -12,15 +12,15 @@ }, "private": true, "dependencies": { - "@abp/ng.account": "~9.0.0-rc.2", - "@abp/ng.components": "~9.0.0-rc.2", - "@abp/ng.core": "~9.0.0-rc.2", - "@abp/ng.identity": "~9.0.0-rc.2", - "@abp/ng.oauth": "~9.0.0-rc.2", - "@abp/ng.setting-management": "~9.0.0-rc.2", - "@abp/ng.tenant-management": "~9.0.0-rc.2", - "@abp/ng.theme.lepton-x": "~4.0.0-rc.2", - "@abp/ng.theme.shared": "~9.0.0-rc.2", + "@abp/ng.account": "~9.0.0", + "@abp/ng.components": "~9.0.0", + "@abp/ng.core": "~9.0.0", + "@abp/ng.identity": "~9.0.0", + "@abp/ng.oauth": "~9.0.0", + "@abp/ng.setting-management": "~9.0.0", + "@abp/ng.tenant-management": "~9.0.0", + "@abp/ng.theme.lepton-x": "~4.0.0", + "@abp/ng.theme.shared": "~9.0.0", "@angular/animations": "~18.1.0", "@angular/common": "~18.1.0", "@angular/compiler": "~18.1.0", @@ -36,7 +36,7 @@ "zone.js": "~0.14.0" }, "devDependencies": { - "@abp/ng.schematics": "~9.0.0-rc.2", + "@abp/ng.schematics": "~9.0.0", "@angular-devkit/build-angular": "~18.1.0", "@angular-eslint/builder": "~18.1.0", "@angular-eslint/eslint-plugin": "~18.1.0", diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server.Mongo/MyCompanyName.MyProjectName.Blazor.Server.Mongo.csproj b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server.Mongo/MyCompanyName.MyProjectName.Blazor.Server.Mongo.csproj index 9ce68d0e33..d06be197e5 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server.Mongo/MyCompanyName.MyProjectName.Blazor.Server.Mongo.csproj +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server.Mongo/MyCompanyName.MyProjectName.Blazor.Server.Mongo.csproj @@ -82,7 +82,7 @@ - + diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server.Mongo/package.json b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server.Mongo/package.json index 806f6d8398..97f66ff625 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server.Mongo/package.json +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server.Mongo/package.json @@ -3,7 +3,7 @@ "name": "my-app", "private": true, "dependencies": { - "@abp/aspnetcore.components.server.leptonxlitetheme": "~4.0.0-rc.2", - "@abp/aspnetcore.mvc.ui.theme.leptonxlite": "~4.0.0-rc.2" + "@abp/aspnetcore.components.server.leptonxlitetheme": "~4.0.0", + "@abp/aspnetcore.mvc.ui.theme.leptonxlite": "~4.0.0" } } diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/MyCompanyName.MyProjectName.Blazor.Server.csproj b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/MyCompanyName.MyProjectName.Blazor.Server.csproj index f481302e92..76b7b565d2 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/MyCompanyName.MyProjectName.Blazor.Server.csproj +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/MyCompanyName.MyProjectName.Blazor.Server.csproj @@ -83,11 +83,11 @@ - + - + runtime; build; native; contentfiles; analyzers compile; contentFiles; build; buildMultitargeting; buildTransitive; analyzers; native diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/package.json b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/package.json index 8574d5e4f6..ad9e67c4e4 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/package.json +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/package.json @@ -3,7 +3,7 @@ "name": "my-app", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.leptonxlite": "~4.0.0-rc.2", - "@abp/aspnetcore.components.server.leptonxlitetheme": "~4.0.0-rc.2" + "@abp/aspnetcore.mvc.ui.theme.leptonxlite": "~4.0.0", + "@abp/aspnetcore.components.server.leptonxlitetheme": "~4.0.0" } } diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Client/MyCompanyName.MyProjectName.Blazor.WebAssembly.Client.csproj b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Client/MyCompanyName.MyProjectName.Blazor.WebAssembly.Client.csproj index 2312600fb9..df0c02e3db 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Client/MyCompanyName.MyProjectName.Blazor.WebAssembly.Client.csproj +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Client/MyCompanyName.MyProjectName.Blazor.WebAssembly.Client.csproj @@ -11,8 +11,8 @@ - - + + diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server.Mongo/MyCompanyName.MyProjectName.Blazor.WebAssembly.Server.Mongo.csproj b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server.Mongo/MyCompanyName.MyProjectName.Blazor.WebAssembly.Server.Mongo.csproj index 883e0a90be..b8bcbff275 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server.Mongo/MyCompanyName.MyProjectName.Blazor.WebAssembly.Server.Mongo.csproj +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server.Mongo/MyCompanyName.MyProjectName.Blazor.WebAssembly.Server.Mongo.csproj @@ -8,7 +8,7 @@ - + @@ -78,7 +78,7 @@ - + diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server.Mongo/package.json b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server.Mongo/package.json index b198098307..d775e0cfb4 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server.Mongo/package.json +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server.Mongo/package.json @@ -3,6 +3,6 @@ "name": "my-app", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.leptonxlite": "~4.0.0-rc.2" + "@abp/aspnetcore.mvc.ui.theme.leptonxlite": "~4.0.0" } } diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/MyCompanyName.MyProjectName.Blazor.WebAssembly.Server.csproj b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/MyCompanyName.MyProjectName.Blazor.WebAssembly.Server.csproj index 52de29eb90..dc71a76a65 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/MyCompanyName.MyProjectName.Blazor.WebAssembly.Server.csproj +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/MyCompanyName.MyProjectName.Blazor.WebAssembly.Server.csproj @@ -8,7 +8,7 @@ - + @@ -79,11 +79,11 @@ - + - + runtime; build; native; contentfiles; analyzers compile; contentFiles; build; buildMultitargeting; buildTransitive; analyzers; native diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/package.json b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/package.json index b198098307..d775e0cfb4 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/package.json +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/package.json @@ -3,6 +3,6 @@ "name": "my-app", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.leptonxlite": "~4.0.0-rc.2" + "@abp/aspnetcore.mvc.ui.theme.leptonxlite": "~4.0.0" } } diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Shared/MyCompanyName.MyProjectName.Blazor.WebAssembly.Shared.csproj b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Shared/MyCompanyName.MyProjectName.Blazor.WebAssembly.Shared.csproj index 2318234a65..3e42efdfac 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Shared/MyCompanyName.MyProjectName.Blazor.WebAssembly.Shared.csproj +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Shared/MyCompanyName.MyProjectName.Blazor.WebAssembly.Shared.csproj @@ -29,7 +29,7 @@ - + diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host.Mongo/MyCompanyName.MyProjectName.Host.Mongo.csproj b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host.Mongo/MyCompanyName.MyProjectName.Host.Mongo.csproj index 6148538dcd..c460a81865 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host.Mongo/MyCompanyName.MyProjectName.Host.Mongo.csproj +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host.Mongo/MyCompanyName.MyProjectName.Host.Mongo.csproj @@ -74,7 +74,7 @@ - + diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host.Mongo/package.json b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host.Mongo/package.json index b198098307..d775e0cfb4 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host.Mongo/package.json +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host.Mongo/package.json @@ -3,6 +3,6 @@ "name": "my-app", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.leptonxlite": "~4.0.0-rc.2" + "@abp/aspnetcore.mvc.ui.theme.leptonxlite": "~4.0.0" } } diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/MyCompanyName.MyProjectName.Host.csproj b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/MyCompanyName.MyProjectName.Host.csproj index dc6cb1f92e..5f329d6920 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/MyCompanyName.MyProjectName.Host.csproj +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/MyCompanyName.MyProjectName.Host.csproj @@ -75,11 +75,11 @@ - + - + runtime; build; native; contentfiles; analyzers compile; contentFiles; build; buildMultitargeting; buildTransitive; analyzers; native diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/package.json b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/package.json index b198098307..d775e0cfb4 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/package.json +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/package.json @@ -3,6 +3,6 @@ "name": "my-app", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.leptonxlite": "~4.0.0-rc.2" + "@abp/aspnetcore.mvc.ui.theme.leptonxlite": "~4.0.0" } } diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc.Mongo/MyCompanyName.MyProjectName.Mvc.Mongo.csproj b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc.Mongo/MyCompanyName.MyProjectName.Mvc.Mongo.csproj index a242bf36d4..f09966edc7 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc.Mongo/MyCompanyName.MyProjectName.Mvc.Mongo.csproj +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc.Mongo/MyCompanyName.MyProjectName.Mvc.Mongo.csproj @@ -77,7 +77,7 @@ - + diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc.Mongo/package.json b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc.Mongo/package.json index b198098307..d775e0cfb4 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc.Mongo/package.json +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc.Mongo/package.json @@ -3,6 +3,6 @@ "name": "my-app", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.leptonxlite": "~4.0.0-rc.2" + "@abp/aspnetcore.mvc.ui.theme.leptonxlite": "~4.0.0" } } diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/MyCompanyName.MyProjectName.Mvc.csproj b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/MyCompanyName.MyProjectName.Mvc.csproj index c8bd48c7d7..61c386a63a 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/MyCompanyName.MyProjectName.Mvc.csproj +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/MyCompanyName.MyProjectName.Mvc.csproj @@ -78,11 +78,11 @@ - + - + runtime; build; native; contentfiles; analyzers compile; contentFiles; build; buildMultitargeting; buildTransitive; analyzers; native diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/package.json b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/package.json index b198098307..d775e0cfb4 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/package.json +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/package.json @@ -3,6 +3,6 @@ "name": "my-app", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.leptonxlite": "~4.0.0-rc.2" + "@abp/aspnetcore.mvc.ui.theme.leptonxlite": "~4.0.0" } } diff --git a/templates/app/angular/package.json b/templates/app/angular/package.json index 12d0bba6e8..cbe3db28a1 100644 --- a/templates/app/angular/package.json +++ b/templates/app/angular/package.json @@ -12,15 +12,15 @@ }, "private": true, "dependencies": { - "@abp/ng.account": "~9.0.0-rc.2", - "@abp/ng.components": "~9.0.0-rc.2", - "@abp/ng.core": "~9.0.0-rc.2", - "@abp/ng.identity": "~9.0.0-rc.2", - "@abp/ng.oauth": "~9.0.0-rc.2", - "@abp/ng.setting-management": "~9.0.0-rc.2", - "@abp/ng.tenant-management": "~9.0.0-rc.2", - "@abp/ng.theme.lepton-x": "~4.0.0-rc.2", - "@abp/ng.theme.shared": "~9.0.0-rc.2", + "@abp/ng.account": "~9.0.0", + "@abp/ng.components": "~9.0.0", + "@abp/ng.core": "~9.0.0", + "@abp/ng.identity": "~9.0.0", + "@abp/ng.oauth": "~9.0.0", + "@abp/ng.setting-management": "~9.0.0", + "@abp/ng.tenant-management": "~9.0.0", + "@abp/ng.theme.lepton-x": "~4.0.0", + "@abp/ng.theme.shared": "~9.0.0", "@angular/animations": "~18.1.0", "@angular/common": "~18.1.0", "@angular/compiler": "~18.1.0", @@ -36,7 +36,7 @@ "zone.js": "~0.14.0" }, "devDependencies": { - "@abp/ng.schematics": "~9.0.0-rc.2", + "@abp/ng.schematics": "~9.0.0", "@angular-devkit/build-angular": "~18.1.0", "@angular-eslint/builder": "~18.1.0", "@angular-eslint/eslint-plugin": "~18.1.0", diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.AuthServer/MyCompanyName.MyProjectName.AuthServer.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.AuthServer/MyCompanyName.MyProjectName.AuthServer.csproj index b733c7a137..13944f80a4 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.AuthServer/MyCompanyName.MyProjectName.AuthServer.csproj +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.AuthServer/MyCompanyName.MyProjectName.AuthServer.csproj @@ -41,7 +41,7 @@ - + diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.AuthServer/package.json b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.AuthServer/package.json index 4a1a4c7eed..7ec238e365 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.AuthServer/package.json +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.AuthServer/package.json @@ -3,6 +3,6 @@ "name": "my-app-authserver", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.leptonxlite": "~4.0.0-rc.2" + "@abp/aspnetcore.mvc.ui.theme.leptonxlite": "~4.0.0" } } diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Client/MyCompanyName.MyProjectName.Blazor.Client.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Client/MyCompanyName.MyProjectName.Blazor.Client.csproj index eb0151bad6..f2b0571694 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Client/MyCompanyName.MyProjectName.Blazor.Client.csproj +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Client/MyCompanyName.MyProjectName.Blazor.Client.csproj @@ -14,8 +14,8 @@ - - + + diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server.Tiered/MyCompanyName.MyProjectName.Blazor.Server.Tiered.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server.Tiered/MyCompanyName.MyProjectName.Blazor.Server.Tiered.csproj index 16215b7c6b..94bd78031e 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server.Tiered/MyCompanyName.MyProjectName.Blazor.Server.Tiered.csproj +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server.Tiered/MyCompanyName.MyProjectName.Blazor.Server.Tiered.csproj @@ -18,7 +18,7 @@ - + diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server.Tiered/package.json b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server.Tiered/package.json index 8574d5e4f6..ad9e67c4e4 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server.Tiered/package.json +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server.Tiered/package.json @@ -3,7 +3,7 @@ "name": "my-app", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.leptonxlite": "~4.0.0-rc.2", - "@abp/aspnetcore.components.server.leptonxlitetheme": "~4.0.0-rc.2" + "@abp/aspnetcore.mvc.ui.theme.leptonxlite": "~4.0.0", + "@abp/aspnetcore.components.server.leptonxlitetheme": "~4.0.0" } } diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server/MyCompanyName.MyProjectName.Blazor.Server.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server/MyCompanyName.MyProjectName.Blazor.Server.csproj index 2bc6201973..4fbeda375d 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server/MyCompanyName.MyProjectName.Blazor.Server.csproj +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server/MyCompanyName.MyProjectName.Blazor.Server.csproj @@ -14,7 +14,7 @@ - + diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server/package.json b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server/package.json index 8574d5e4f6..ad9e67c4e4 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server/package.json +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server/package.json @@ -3,7 +3,7 @@ "name": "my-app", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.leptonxlite": "~4.0.0-rc.2", - "@abp/aspnetcore.components.server.leptonxlitetheme": "~4.0.0-rc.2" + "@abp/aspnetcore.mvc.ui.theme.leptonxlite": "~4.0.0", + "@abp/aspnetcore.components.server.leptonxlitetheme": "~4.0.0" } } diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp.Client/MyCompanyName.MyProjectName.Blazor.WebApp.Client.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp.Client/MyCompanyName.MyProjectName.Blazor.WebApp.Client.csproj index 7dfd350dcf..1d4c799c7d 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp.Client/MyCompanyName.MyProjectName.Blazor.WebApp.Client.csproj +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp.Client/MyCompanyName.MyProjectName.Blazor.WebApp.Client.csproj @@ -15,8 +15,8 @@ - - + + diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered.Client/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered.Client.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered.Client/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered.Client.csproj index 34234897a3..7060d8b09e 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered.Client/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered.Client.csproj +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered.Client/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered.Client.csproj @@ -15,8 +15,8 @@ - - + + diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered.csproj index 7d4950cba2..c4bfb0d359 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered.csproj +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered.csproj @@ -15,12 +15,12 @@ - + - + diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered/package.json b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered/package.json index 8574d5e4f6..ad9e67c4e4 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered/package.json +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered/package.json @@ -3,7 +3,7 @@ "name": "my-app", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.leptonxlite": "~4.0.0-rc.2", - "@abp/aspnetcore.components.server.leptonxlitetheme": "~4.0.0-rc.2" + "@abp/aspnetcore.mvc.ui.theme.leptonxlite": "~4.0.0", + "@abp/aspnetcore.components.server.leptonxlitetheme": "~4.0.0" } } diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp/MyCompanyName.MyProjectName.Blazor.WebApp.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp/MyCompanyName.MyProjectName.Blazor.WebApp.csproj index 6f64f14486..822e05a54b 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp/MyCompanyName.MyProjectName.Blazor.WebApp.csproj +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp/MyCompanyName.MyProjectName.Blazor.WebApp.csproj @@ -15,7 +15,7 @@ - + diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp/package.json b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp/package.json index 8574d5e4f6..ad9e67c4e4 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp/package.json +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp/package.json @@ -3,7 +3,7 @@ "name": "my-app", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.leptonxlite": "~4.0.0-rc.2", - "@abp/aspnetcore.components.server.leptonxlitetheme": "~4.0.0-rc.2" + "@abp/aspnetcore.mvc.ui.theme.leptonxlite": "~4.0.0", + "@abp/aspnetcore.components.server.leptonxlitetheme": "~4.0.0" } } diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/MyCompanyName.MyProjectName.Blazor.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/MyCompanyName.MyProjectName.Blazor.csproj index da9a63fc75..69553778ac 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/MyCompanyName.MyProjectName.Blazor.csproj +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/MyCompanyName.MyProjectName.Blazor.csproj @@ -8,7 +8,7 @@ - + diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.DbMigrator/MyCompanyName.MyProjectName.DbMigrator.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.DbMigrator/MyCompanyName.MyProjectName.DbMigrator.csproj index c647364ca3..bd94f629e5 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.DbMigrator/MyCompanyName.MyProjectName.DbMigrator.csproj +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.DbMigrator/MyCompanyName.MyProjectName.DbMigrator.csproj @@ -22,7 +22,7 @@ - + diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Domain.Shared/MyCompanyName.MyProjectName.Domain.Shared.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Domain.Shared/MyCompanyName.MyProjectName.Domain.Shared.csproj index 01270570ed..0d3400a8c9 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Domain.Shared/MyCompanyName.MyProjectName.Domain.Shared.csproj +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Domain.Shared/MyCompanyName.MyProjectName.Domain.Shared.csproj @@ -26,7 +26,7 @@ - + diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/MyCompanyName.MyProjectName.EntityFrameworkCore.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/MyCompanyName.MyProjectName.EntityFrameworkCore.csproj index 4f18b483aa..36df4c7aec 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/MyCompanyName.MyProjectName.EntityFrameworkCore.csproj +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/MyCompanyName.MyProjectName.EntityFrameworkCore.csproj @@ -22,7 +22,7 @@ - + all runtime; build; native; contentfiles; analyzers diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.Host/MyCompanyName.MyProjectName.HttpApi.Host.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.Host/MyCompanyName.MyProjectName.HttpApi.Host.csproj index 53dfd24853..0fca8d971f 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.Host/MyCompanyName.MyProjectName.HttpApi.Host.csproj +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.Host/MyCompanyName.MyProjectName.HttpApi.Host.csproj @@ -13,8 +13,8 @@ - - + + diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.HostWithIds/package.json b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.HostWithIds/package.json index b198098307..d775e0cfb4 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.HostWithIds/package.json +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.HostWithIds/package.json @@ -3,6 +3,6 @@ "name": "my-app", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.leptonxlite": "~4.0.0-rc.2" + "@abp/aspnetcore.mvc.ui.theme.leptonxlite": "~4.0.0" } } diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/MyCompanyName.MyProjectName.Web.Host.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/MyCompanyName.MyProjectName.Web.Host.csproj index 51a93f92b4..b42a3adb56 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/MyCompanyName.MyProjectName.Web.Host.csproj +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/MyCompanyName.MyProjectName.Web.Host.csproj @@ -19,7 +19,7 @@ - + diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/package.json b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/package.json index b198098307..d775e0cfb4 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/package.json +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/package.json @@ -3,6 +3,6 @@ "name": "my-app", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.leptonxlite": "~4.0.0-rc.2" + "@abp/aspnetcore.mvc.ui.theme.leptonxlite": "~4.0.0" } } diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web/package.json b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web/package.json index b198098307..d775e0cfb4 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web/package.json +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web/package.json @@ -3,6 +3,6 @@ "name": "my-app", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.leptonxlite": "~4.0.0-rc.2" + "@abp/aspnetcore.mvc.ui.theme.leptonxlite": "~4.0.0" } } diff --git a/templates/app/aspnet-core/test/MyCompanyName.MyProjectName.HttpApi.Client.ConsoleTestApp/MyCompanyName.MyProjectName.HttpApi.Client.ConsoleTestApp.csproj b/templates/app/aspnet-core/test/MyCompanyName.MyProjectName.HttpApi.Client.ConsoleTestApp/MyCompanyName.MyProjectName.HttpApi.Client.ConsoleTestApp.csproj index a57edeeebe..0cf25af2a2 100644 --- a/templates/app/aspnet-core/test/MyCompanyName.MyProjectName.HttpApi.Client.ConsoleTestApp/MyCompanyName.MyProjectName.HttpApi.Client.ConsoleTestApp.csproj +++ b/templates/app/aspnet-core/test/MyCompanyName.MyProjectName.HttpApi.Client.ConsoleTestApp/MyCompanyName.MyProjectName.HttpApi.Client.ConsoleTestApp.csproj @@ -22,8 +22,8 @@ - - + + diff --git a/templates/console/src/MyCompanyName.MyProjectName/MyCompanyName.MyProjectName.csproj b/templates/console/src/MyCompanyName.MyProjectName/MyCompanyName.MyProjectName.csproj index 098078a1aa..9b8ffed514 100644 --- a/templates/console/src/MyCompanyName.MyProjectName/MyCompanyName.MyProjectName.csproj +++ b/templates/console/src/MyCompanyName.MyProjectName/MyCompanyName.MyProjectName.csproj @@ -13,7 +13,7 @@ - + diff --git a/templates/maui/src/MyCompanyName.MyProjectName/MyCompanyName.MyProjectName.csproj b/templates/maui/src/MyCompanyName.MyProjectName/MyCompanyName.MyProjectName.csproj index fb0dc00cb5..b46b603ef3 100644 --- a/templates/maui/src/MyCompanyName.MyProjectName/MyCompanyName.MyProjectName.csproj +++ b/templates/maui/src/MyCompanyName.MyProjectName/MyCompanyName.MyProjectName.csproj @@ -35,7 +35,7 @@ - + diff --git a/templates/module/angular/package.json b/templates/module/angular/package.json index 1283f18908..98beecd5ad 100644 --- a/templates/module/angular/package.json +++ b/templates/module/angular/package.json @@ -13,15 +13,15 @@ }, "private": true, "dependencies": { - "@abp/ng.account": "~9.0.0-rc.2", - "@abp/ng.components": "~9.0.0-rc.2", - "@abp/ng.core": "~9.0.0-rc.2", - "@abp/ng.identity": "~9.0.0-rc.2", - "@abp/ng.oauth": "~9.0.0-rc.2", - "@abp/ng.setting-management": "~9.0.0-rc.2", - "@abp/ng.tenant-management": "~9.0.0-rc.2", - "@abp/ng.theme.basic": "~9.0.0-rc.2", - "@abp/ng.theme.shared": "~9.0.0-rc.2", + "@abp/ng.account": "~9.0.0", + "@abp/ng.components": "~9.0.0", + "@abp/ng.core": "~9.0.0", + "@abp/ng.identity": "~9.0.0", + "@abp/ng.oauth": "~9.0.0", + "@abp/ng.setting-management": "~9.0.0", + "@abp/ng.tenant-management": "~9.0.0", + "@abp/ng.theme.basic": "~9.0.0", + "@abp/ng.theme.shared": "~9.0.0", "@angular/animations": "~18.1.0", "@angular/common": "~18.1.0", "@angular/compiler": "~18.1.0", @@ -36,7 +36,7 @@ "zone.js": "~0.14.0" }, "devDependencies": { - "@abp/ng.schematics": "~9.0.0-rc.2", + "@abp/ng.schematics": "~9.0.0", "@angular-devkit/build-angular": "~18.1.0", "@angular-eslint/builder": "~18.1.0", "@angular-eslint/eslint-plugin": "~18.1.0", diff --git a/templates/module/angular/projects/my-project-name/package.json b/templates/module/angular/projects/my-project-name/package.json index 56d1c5fc59..bd1357bf6a 100644 --- a/templates/module/angular/projects/my-project-name/package.json +++ b/templates/module/angular/projects/my-project-name/package.json @@ -4,8 +4,8 @@ "peerDependencies": { "@angular/common": "~18.1.0", "@angular/core": "~18.1.0", - "@abp/ng.core": "~9.0.0-rc.2", - "@abp/ng.theme.shared": "~9.0.0-rc.2" + "@abp/ng.core": "~9.0.0", + "@abp/ng.theme.shared": "~9.0.0" }, "dependencies": { "tslib": "^2.1.0" diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/MyCompanyName.MyProjectName.AuthServer.csproj b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/MyCompanyName.MyProjectName.AuthServer.csproj index 216ceabcfc..7a5bb53c43 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/MyCompanyName.MyProjectName.AuthServer.csproj +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/MyCompanyName.MyProjectName.AuthServer.csproj @@ -13,8 +13,8 @@ - - + + all runtime; build; native; contentfiles; analyzers diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/package.json b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/package.json index 0b77b9e3c1..f9dcad0338 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/package.json +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/package.json @@ -3,6 +3,6 @@ "name": "my-app-authserver", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.basic": "~9.0.0-rc.2" + "@abp/aspnetcore.mvc.ui.theme.basic": "~9.0.0" } } diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Host.Client/MyCompanyName.MyProjectName.Blazor.Host.Client.csproj b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Host.Client/MyCompanyName.MyProjectName.Blazor.Host.Client.csproj index adb4502806..8b37d3a75f 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Host.Client/MyCompanyName.MyProjectName.Blazor.Host.Client.csproj +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Host.Client/MyCompanyName.MyProjectName.Blazor.Host.Client.csproj @@ -12,8 +12,8 @@ - - + + diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Host/MyCompanyName.MyProjectName.Blazor.Host.csproj b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Host/MyCompanyName.MyProjectName.Blazor.Host.csproj index a6c80f859f..107716d86b 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Host/MyCompanyName.MyProjectName.Blazor.Host.csproj +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Host/MyCompanyName.MyProjectName.Blazor.Host.csproj @@ -8,7 +8,7 @@ - + diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/MyCompanyName.MyProjectName.Blazor.Server.Host.csproj b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/MyCompanyName.MyProjectName.Blazor.Server.Host.csproj index 6467e5a791..4af0b61407 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/MyCompanyName.MyProjectName.Blazor.Server.Host.csproj +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/MyCompanyName.MyProjectName.Blazor.Server.Host.csproj @@ -17,7 +17,7 @@ - + diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/package.json b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/package.json index 0dbe4ef7f2..0c034306bf 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/package.json +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/package.json @@ -3,7 +3,7 @@ "name": "my-app", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.basic": "~9.0.0-rc.2", - "@abp/aspnetcore.components.server.basictheme": "~9.0.0-rc.2" + "@abp/aspnetcore.mvc.ui.theme.basic": "~9.0.0", + "@abp/aspnetcore.components.server.basictheme": "~9.0.0" } } diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.HttpApi.Host/MyCompanyName.MyProjectName.HttpApi.Host.csproj b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.HttpApi.Host/MyCompanyName.MyProjectName.HttpApi.Host.csproj index 86af04110e..a4b9ad63a1 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.HttpApi.Host/MyCompanyName.MyProjectName.HttpApi.Host.csproj +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.HttpApi.Host/MyCompanyName.MyProjectName.HttpApi.Host.csproj @@ -14,9 +14,9 @@ - - - + + + diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Host/MyCompanyName.MyProjectName.Web.Host.csproj b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Host/MyCompanyName.MyProjectName.Web.Host.csproj index 84a009aaf2..96163e2d58 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Host/MyCompanyName.MyProjectName.Web.Host.csproj +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Host/MyCompanyName.MyProjectName.Web.Host.csproj @@ -13,7 +13,7 @@ - + diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Host/package.json b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Host/package.json index 49894b8882..8b5210b25f 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Host/package.json +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Host/package.json @@ -3,6 +3,6 @@ "name": "my-app", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.basic": "~9.0.0-rc.2" + "@abp/aspnetcore.mvc.ui.theme.basic": "~9.0.0" } } diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/MyCompanyName.MyProjectName.Web.Unified.csproj b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/MyCompanyName.MyProjectName.Web.Unified.csproj index 0fbb65a2a8..b94e77f3d9 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/MyCompanyName.MyProjectName.Web.Unified.csproj +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/MyCompanyName.MyProjectName.Web.Unified.csproj @@ -13,7 +13,7 @@ - + all runtime; build; native; contentfiles; analyzers diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/package.json b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/package.json index 49894b8882..8b5210b25f 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/package.json +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/package.json @@ -3,6 +3,6 @@ "name": "my-app", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.basic": "~9.0.0-rc.2" + "@abp/aspnetcore.mvc.ui.theme.basic": "~9.0.0" } } diff --git a/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Domain.Shared/MyCompanyName.MyProjectName.Domain.Shared.csproj b/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Domain.Shared/MyCompanyName.MyProjectName.Domain.Shared.csproj index 23af865b55..bc4acfc86d 100644 --- a/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Domain.Shared/MyCompanyName.MyProjectName.Domain.Shared.csproj +++ b/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Domain.Shared/MyCompanyName.MyProjectName.Domain.Shared.csproj @@ -15,7 +15,7 @@ - + diff --git a/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Web/MyCompanyName.MyProjectName.Web.csproj b/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Web/MyCompanyName.MyProjectName.Web.csproj index 268d8a7af9..5bcf00b1b1 100644 --- a/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Web/MyCompanyName.MyProjectName.Web.csproj +++ b/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Web/MyCompanyName.MyProjectName.Web.csproj @@ -22,7 +22,7 @@ - + diff --git a/templates/module/aspnet-core/test/MyCompanyName.MyProjectName.EntityFrameworkCore.Tests/MyCompanyName.MyProjectName.EntityFrameworkCore.Tests.csproj b/templates/module/aspnet-core/test/MyCompanyName.MyProjectName.EntityFrameworkCore.Tests/MyCompanyName.MyProjectName.EntityFrameworkCore.Tests.csproj index 2fb6a5234f..b8adaa1a7e 100644 --- a/templates/module/aspnet-core/test/MyCompanyName.MyProjectName.EntityFrameworkCore.Tests/MyCompanyName.MyProjectName.EntityFrameworkCore.Tests.csproj +++ b/templates/module/aspnet-core/test/MyCompanyName.MyProjectName.EntityFrameworkCore.Tests/MyCompanyName.MyProjectName.EntityFrameworkCore.Tests.csproj @@ -10,7 +10,7 @@ - + diff --git a/templates/module/aspnet-core/test/MyCompanyName.MyProjectName.HttpApi.Client.ConsoleTestApp/MyCompanyName.MyProjectName.HttpApi.Client.ConsoleTestApp.csproj b/templates/module/aspnet-core/test/MyCompanyName.MyProjectName.HttpApi.Client.ConsoleTestApp/MyCompanyName.MyProjectName.HttpApi.Client.ConsoleTestApp.csproj index c3e150d6b9..077ac1ced3 100644 --- a/templates/module/aspnet-core/test/MyCompanyName.MyProjectName.HttpApi.Client.ConsoleTestApp/MyCompanyName.MyProjectName.HttpApi.Client.ConsoleTestApp.csproj +++ b/templates/module/aspnet-core/test/MyCompanyName.MyProjectName.HttpApi.Client.ConsoleTestApp/MyCompanyName.MyProjectName.HttpApi.Client.ConsoleTestApp.csproj @@ -23,7 +23,7 @@ - + diff --git a/templates/wpf/src/MyCompanyName.MyProjectName/MyCompanyName.MyProjectName.csproj b/templates/wpf/src/MyCompanyName.MyProjectName/MyCompanyName.MyProjectName.csproj index 5a0717a760..64e7affb94 100644 --- a/templates/wpf/src/MyCompanyName.MyProjectName/MyCompanyName.MyProjectName.csproj +++ b/templates/wpf/src/MyCompanyName.MyProjectName/MyCompanyName.MyProjectName.csproj @@ -14,7 +14,7 @@ - +