Merge branch 'dev' into net7

pull/13626/head
maliming 3 years ago
commit de775c1d87

@ -220,6 +220,7 @@
"SuccessfullyReIndexAllPosts": "All posts have been successfully reindexed.",
"Permission:FullSearch": "Full text search",
"Menu:CliAnalytics": "Cli Analytics",
"Menu:Reports": "Reports",
"TemplateName": "Template name",
"TemplateVersion": "Template version",
"DatabaseProvider": "Database provider",
@ -231,8 +232,10 @@
"UiFramework": "Ui framework",
"Options": "Options",
"CliAnalytics": "Cli Analytics",
"Reports": "Reports",
"Permission:CliAnalyticses": "Cli Analyticses",
"Permission:CliAnalytics": "Cli Analytics",
"Permission:Reports": "Reports",
"Search": "Search",
"ClearFilter": "Clear filter",
"LicensePrivateKey": "License private key",
@ -346,7 +349,7 @@
"AdditionalDeveloperCount": "Additional developer count",
"LicensePrice": "License price",
"PurchaseDate": "Purchase date",
"IsAbpBookDownloaded": "ABP book downloaded",
"IsAbpBookDownloaded": "Mastering ABP Book downloaded?",
"IsMasteringAbpBookDownloadEnabled": "ABP Book download enabled",
"Permission:Accounting:CustomPaymentLinkGenerator": "Custom Payment Link",
"CustomPaymentLink": "Custom Payment Link",
@ -381,7 +384,7 @@
"PurchaseItems": "Purchase Items",
"SuccessfullyUpdated": "Successfully updated",
"SuccessfullyAdded": "Successfully added",
"PurchaseState": "Purchase State",
"PurchaseState": "Purchase status",
"ShowBetweenDayCount": "Show Between Days",
"PurchaseOrder": "Purchase Order",
"ShowCreateInvoiceOfOrganization": "Create Invoice",
@ -400,6 +403,7 @@
"Deleted{0}": "[Deleted {0}]",
"Tags": "Tags",
"SetTagsInfo": "Tags should be comma-separated. Eg: CSharp, Entity Framework",
"RejectTrialLicenseWarningMessage": "Are you sure you want to reject this trial license request?"
"RejectTrialLicenseWarningMessage": "Are you sure you want to reject this trial license request?",
"ExportToExcel": "Export to Excel"
}
}

@ -361,8 +361,8 @@
"ActivateTrialLicenseSuccessMessage": "Deneme lisansı başarıyla etkinleştirildi!",
"PaymentRequestId": "Ödeme talep kimliği",
"PurchaseDate": "Satın alma tarihi",
"IsAbpBookDownloaded": "Abp kitabı indirildi",
"IsMasteringAbpBookDownloadEnabled": "Abp kitabı indirme etkinleştirildi",
"IsAbpBookDownloaded": "Mastering ABP kitabı indirildi mi?",
"IsMasteringAbpBookDownloadEnabled": "Mastering ABP kitabı indirme etkinleştirildi",
"Permission:Accounting:CustomPaymentLinkGenerator": "Özel Ödeme Bağlantısı",
"CustomPaymentLink": "Özel Ödeme Bağlantısı",
"Menu:CustomPaymentLink": "Özel Ödeme Bağlantısı",
@ -414,4 +414,4 @@
"Deleted{0}": "[{0} silindi]",
"Permission:BookDiscount": "Kitap indirimleri"
}
}
}

@ -268,7 +268,7 @@
"SeeABPSuiteDocument": "Check out the ABP Suite document to learn the usage of ABP Suite.",
"AskQuestionsOnSupport": "You can ask questions on ABP Commercial Support.",
"Documentation": "Documentation",
"SeeModulesDocument": "Check out the modules document for a list of all the commercial(pro) modules and their documents.",
"SeeModulesDocument": "See the modules page for a list of all the PRO modules.",
"Pricing": "Pricing",
"PricingExplanation": "Choose the features and functionality your business needs today. Easily upgrade as your business grows.",
"Team": "Team",
@ -745,6 +745,11 @@
"OnlineReviewersOnAbpCommercial": "Online Reviews on ABP Commercial",
"SeeWhatToldAboutAbpCommercial": "See what has been told about ABP Commercial and write your thoughts if you want.",
"BlazoriseLicense": "Do we need to buy Blazorise license?",
"BlazoriseLicenseExplanation": "We have an agreement between Volosoft and Megabit, with this agreement Blazorise license is bundled with ABP Commercial products therefore our customers do not need to purchase an extra Blazorise license."
"BlazoriseLicenseExplanation": "We have an agreement between Volosoft and Megabit, with this agreement Blazorise license is bundled with ABP Commercial products therefore our customers do not need to purchase an extra Blazorise license.",
"EFCore": "Entity Framework Core",
"All": "All",
"Mvc": "MVC",
"DataBaseProvider": "Data Provider",
"UIFramework": "UI Framework"
}
}

@ -10,16 +10,16 @@ Try this version and provide feedback for the stable ABP v6.0! Thank you to all.
Follow the steps below to try version 6.0.0 RC today:
1) **Upgrade** the ABP CLI to version `6.0.0-rc.1` using a command line terminal:
1) **Upgrade** the ABP CLI to version `6.0.0-rc.5` using a command line terminal:
````bash
dotnet tool update Volo.Abp.Cli -g --version 6.0.0-rc.1
dotnet tool update Volo.Abp.Cli -g --version 6.0.0-rc.5
````
**or install** it if you haven't before:
````bash
dotnet tool install Volo.Abp.Cli -g --version 6.0.0-rc.1
dotnet tool install Volo.Abp.Cli -g --version 6.0.0-rc.5
````
2) Create a **new application** with the `--preview` option:
@ -199,7 +199,7 @@ The following improvements have been made on [eShopOnAbp project](https://github
* Performance Improvements have been made in the **Settings Module** and tabs on the *Settings* page are lazy loading now.
* Some improvements have been made in the CMS Kit Module. You can see the improvements from [here](https://github.com/abpframework/abp/issues/11965).
If you want to see more details, you can check [the release on GitHub](https://github.com/abpframework/abp/releases/tag/6.0.0-rc.1), which contains a list of all the issues and pull requests closed in this version.
If you want to see more details, you can check [the release on GitHub](https://github.com/abpframework/abp/releases/tag/6.0.0-rc.5), which contains a list of all the issues and pull requests closed in this version.

@ -1,12 +1,12 @@
# How to Add Custom Properties to the User Entity
> **Note:** If your application is greater than version 4.3.3, please follow [this article](../2022-07-19-How-To-Add-Custom-Property-To-The-User-Entity/How-To-Add-Custom-Property-To-The-User-Entity.md).
> **Note:** If your application is greater than version 4.3.3, please follow [this article](https://community.abp.io/posts/how-to-add-custom-properties-to-the-user-entity-rixchoha).
## Introduction
In this step-by-step article, I will explain how you can customize the user entity class, which is available in every web application you create using the ABP framework, according to your needs. When you read this article, you will learn how to override the services of built-in modules, extend the entities, extend data transfer objects and customize the user interface in the applications you develop using the ABP framework.
> **Note:** This article is not about customizing the `Login` page. If you have such a need, please follow [this article](../2020-05-09-Customize-the-Login-Page-for-MVC-Razor-Page-Applications/POST.md).
> **Note:** This article is not about customizing the `Login` page. If you have such a need, please follow [this article](https://community.abp.io/posts/how-to-customize-the-login-page-for-mvc-razor-page-applications-9a40f3cd).
You can see the screenshots below which we will reach at the end of the article.

@ -1,12 +1,12 @@
# How to Add Custom Properties to the User Entity
> **Note:** If your application is less than version 4.4.x, please follow [this article](../2020-10-08-How-To-Add-Custom-Property-To-The-User-Entity/How-To-Add-Custom-Property-To-The-User-Entity.md).
> **Note:** If your application is less than version 4.4.x, please follow [this article](https://community.abp.io/posts/how-to-add-custom-property-to-the-user-entity-6ggxiddr).
## Introduction
In this step-by-step article, I will explain how you can customize the user entity class, which is available in every web application you create using the ABP framework, according to your needs. When you read this article, you will learn how to override the services of built-in modules, extend the entities, extend data transfer objects and customize the user interface in the applications you develop using the ABP framework.
> **Note:** This article is not about customizing the `Login` page. If you have such a need, please follow [this article](../2020-05-09-Customize-the-Login-Page-for-MVC-Razor-Page-Applications/POST.md).
> **Note:** This article is not about customizing the `Login` page. If you have such a need, please follow [this article](https://community.abp.io/posts/how-to-customize-the-login-page-for-mvc-razor-page-applications-9a40f3cd).
You can see the screenshots below which we will reach at the end of the article.

@ -8,18 +8,16 @@ In this article, I will show you how to create a gRPC service and consume it fro
## Creating the Application
> I will use ABP version 6.0 for this article. I am using the 6.0.0-rc.4 version since the stable version hasn't been published at the time I am writing this article. If it is released while you're reading this, do not specify the `--version` and `--preview` parameters in the following commands.
Install the [ABP CLI](https://docs.abp.io/en/abp/latest/CLI) if you haven't installed it yet:
````bash
dotnet tool install -g Volo.Abp.Cli --version 6.0.0-rc.4
dotnet tool install -g Volo.Abp.Cli
````
or update to version 6.0.0-rc.4 if you've already installed a previous version:
or update to the latest version if you've already installed an old version:
````bash
dotnet tool update Volo.Abp.Cli -g --version 6.0.0-rc.4
dotnet tool update Volo.Abp.Cli -g
````
Create an empty folder, open a command-line terminal and type the following command in the terminal window to create a new ABP solution using the ABP CLI:

@ -16,14 +16,14 @@
- In **MyApplication.HttpApi.Host.csproj** replace **project references**:
```csharp
<PackageReference Include="Volo.Abp.AspNetCore.Authentication.JwtBearer" Version="6.0.0-rc.1" />
<PackageReference Include="Volo.Abp.Account.Web.IdentityServer" Version="6.0.0-rc.1" />
<PackageReference Include="Volo.Abp.AspNetCore.Authentication.JwtBearer" Version="6.0.*" />
<PackageReference Include="Volo.Abp.Account.Web.IdentityServer" Version="6.0.*" />
```
with
```csharp
<PackageReference Include="Volo.Abp.Account.Web.OpenIddict" Version="6.0.0-rc.1" />
<PackageReference Include="Volo.Abp.Account.Web.OpenIddict" Version="6.0.*" />
```
- In the **MyApplicationHttpApiHostModule.cs** replace usings and **module dependencies**:
@ -117,13 +117,13 @@ This project is renamed to **AuthServer** after v6.0.0-rc1. You can also refacto
- In **MyApplication.IdentityServer.csproj** replace **project references**:
```csharp
<PackageReference Include="Volo.Abp.Account.Web.IdentityServer" Version="6.0.0-rc.1" />
<PackageReference Include="Volo.Abp.Account.Web.IdentityServer" Version="6.0.*" />
```
with
```csharp
<PackageReference Include="Volo.Abp.Account.Web.OpenIddict" Version="6.0.0-rc.1" />
<PackageReference Include="Volo.Abp.Account.Web.OpenIddict" Version="6.0.*" />
```
- In the **MyApplicationIdentityServerModule.cs** replace usings and **module dependencies**:

@ -5,14 +5,14 @@
- In the **MyApplication.Blazor.csproj** replace **project references**:
```csharp
<PackageReference Include="Volo.Abp.AspNetCore.Authentication.JwtBearer" Version="6.0.0-rc.1" />
<PackageReference Include="Volo.Abp.Account.Web.IdentityServer" Version="6.0.0-rc.1" />
<PackageReference Include="Volo.Abp.AspNetCore.Authentication.JwtBearer" Version="6.0.*" />
<PackageReference Include="Volo.Abp.Account.Web.IdentityServer" Version="6.0.*" />
```
with
```csharp
<PackageReference Include="Volo.Abp.Account.Web.OpenIddict" Version="6.0.0-rc.1" />
<PackageReference Include="Volo.Abp.Account.Web.OpenIddict" Version="6.0.*" />
```
- In the **MyApplicationBlazorModule.cs** replace usings and **module dependencies**:
@ -108,13 +108,13 @@ This project is renamed to **AuthServer** after v6.0.0-rc1. You can also refacto
- In **MyApplication.IdentityServer.csproj** replace **project references**:
```csharp
<PackageReference Include="Volo.Abp.Account.Web.IdentityServer" Version="6.0.0-rc.1" />
<PackageReference Include="Volo.Abp.Account.Web.IdentityServer" Version="6.0.*" />
```
with
```csharp
<PackageReference Include="Volo.Abp.Account.Web.OpenIddict" Version="6.0.0-rc.1" />
<PackageReference Include="Volo.Abp.Account.Web.OpenIddict" Version="6.0.*" />
```
- In **MyApplicationIdentityServerModule.cs** replace usings and **module dependencies**:

@ -34,14 +34,14 @@
- In the **MyApplication.HttpApi.Host.csproj** replace **project references**:
```csharp
<PackageReference Include="Volo.Abp.AspNetCore.Authentication.JwtBearer" Version="6.0.0-rc.1" />
<PackageReference Include="Volo.Abp.Account.Web.IdentityServer" Version="6.0.0-rc.1" />
<PackageReference Include="Volo.Abp.AspNetCore.Authentication.JwtBearer" Version="6.0.*" />
<PackageReference Include="Volo.Abp.Account.Web.IdentityServer" Version="6.0.*" />
```
with
```csharp
<PackageReference Include="Volo.Abp.Account.Web.OpenIddict" Version="6.0.0-rc.1" />
<PackageReference Include="Volo.Abp.Account.Web.OpenIddict" Version="6.0.*" />
```
- In the **MyApplicationHttpApiHostModule.cs** replace usings and **module dependencies**:
@ -136,13 +136,13 @@ This project is renamed to **AuthServer** after v6.0.0-rc1. You can also refacto
- In **MyApplication.IdentityServer.csproj** replace **project references**:
```csharp
<PackageReference Include="Volo.Abp.Account.Web.IdentityServer" Version="6.0.0-rc.1" />
<PackageReference Include="Volo.Abp.Account.Web.IdentityServer" Version="6.0.*" />
```
with
```csharp
<PackageReference Include="Volo.Abp.Account.Web.OpenIddict" Version="6.0.0-rc.1" />
<PackageReference Include="Volo.Abp.Account.Web.OpenIddict" Version="6.0.*" />
```
- In the **MyApplicationIdentityServerModule.cs** replace usings and **module dependencies**:

@ -5,14 +5,14 @@
- In **MyApplication.Web.csproj** replace **project references**:
```csharp
<PackageReference Include="Volo.Abp.AspNetCore.Authentication.JwtBearer" Version="6.0.0-rc.1" />
<PackageReference Include="Volo.Abp.Account.Web.IdentityServer" Version="6.0.0-rc.1" />
<PackageReference Include="Volo.Abp.AspNetCore.Authentication.JwtBearer" Version="6.0.*" />
<PackageReference Include="Volo.Abp.Account.Web.IdentityServer" Version="6.0.*" />
```
with
```csharp
<PackageReference Include="Volo.Abp.Account.Web" Version="6.0.0-rc.1" />
<PackageReference Include="Volo.Abp.Account.Web.OpenIddict" Version="6.0.*" />
```
- In **MyApplicationWebModule.cs** replace usings and **module dependencies**:
@ -50,6 +50,23 @@
context.Services.ForwardIdentityAuthenticationForBearer(OpenIddictValidationAspNetCoreDefaults.AuthenticationScheme);
}
```
- In the **MyApplicationWebModule.cs** add `PreConfigureServices` like below with your application name as the audience:
```csharp
public override void PreConfigureServices(ServiceConfigurationContext context)
{
PreConfigure<OpenIddictBuilder>(builder =>
{
builder.AddValidation(options =>
{
options.AddAudiences("MyApplication"); // Replace with your application name
options.UseLocalServer();
options.UseAspNetCore();
});
});
}
```
- In **MyApplicationWebModule.cs** `OnApplicationInitialization` method **replace IdentityServer and JwtToken midwares**:
@ -99,13 +116,13 @@ This project is renamed to **AuthServer** after v6.0.0-rc1. You can also refacto
- In **MyApplication.IdentityServer.csproj** replace **project references**:
```csharp
<PackageReference Include="Volo.Abp.Account.Web.IdentityServer" Version="6.0.0-rc.1" />
<PackageReference Include="Volo.Abp.Account.Web.IdentityServer" Version="6.0.*" />
```
with
```csharp
<PackageReference Include="Volo.Abp.Account.Web.OpenIddict" Version="6.0.0-rc.1" />
<PackageReference Include="Volo.Abp.Account.Web.OpenIddict" Version="6.0.*" />
```
- In **MyApplicationIdentityServerModule.cs** replace usings and **module dependencies**:

@ -20,11 +20,11 @@ Use the `abp update` command to update your existing application. See [Upgrading
- In **MyApplication.Domain.Shared.csproj** replace **project reference**:
```csharp
<PackageReference Include="Volo.Abp.IdentityServer.Domain.Shared" Version="6.0.0-rc.1" />
<PackageReference Include="Volo.Abp.IdentityServer.Domain.Shared" Version="6.0.*" />
```
with
```csharp
<PackageReference Include="Volo.Abp.OpenIddict.Domain.Shared" Version="6.0.0-rc.1" />
<PackageReference Include="Volo.Abp.OpenIddict.Domain.Shared" Version="6.0.*" />
```
- In **MyApplicationDomainSharedModule.cs** replace usings and **module dependencies:**
@ -45,15 +45,15 @@ Use the `abp update` command to update your existing application. See [Upgrading
- In **MyApplication.Domain.csproj** replace **project references**:
```csharp
<PackageReference Include="Volo.Abp.IdentityServer.Domain" Version="6.0.0-rc.1" />
<PackageReference Include="Volo.Abp.PermissionManagement.Domain.IdentityServer" Version="6.0.0-rc.1" />
<PackageReference Include="Volo.Abp.IdentityServer.Domain" Version="6.0.*" />
<PackageReference Include="Volo.Abp.PermissionManagement.Domain.IdentityServer" Version="6.0.*" />
```
with
```csharp
<PackageReference Include="Volo.Abp.OpenIddict.Domain" Version="6.0.0-rc.1" />
<PackageReference Include="Volo.Abp.PermissionManagement.Domain.OpenIddict" Version="6.0.0-rc.1" />
<PackageReference Include="Volo.Abp.OpenIddict.Domain" Version="6.0.*" />
<PackageReference Include="Volo.Abp.PermissionManagement.Domain.OpenIddict" Version="6.0.*" />
```
- In **MyApplicationDomainModule.cs** replace usings and **module dependencies**:
@ -90,13 +90,13 @@ If you are using MongoDB, skip this step and check the *MongoDB* layer section.
- In **MyApplication.EntityFrameworkCore.csproj** replace **project reference**:
```csharp
<PackageReference Include="Volo.Abp.IdentityServer.EntityFrameworkCore" Version="6.0.0-rc.1" />
<PackageReference Include="Volo.Abp.IdentityServer.EntityFrameworkCore" Version="6.0.*" />
```
with
```csharp
<PackageReference Include="Volo.Abp.OpenIddict.EntityFrameworkCore" Version="6.0.0-rc.1" />
<PackageReference Include="Volo.Abp.OpenIddict.EntityFrameworkCore" Version="6.0.*" />
```
- In **MyApplicationEntityFrameworkCoreModule.cs** replace usings and **module dependencies**:
@ -154,13 +154,13 @@ If you are using EntityFrameworkCore, skip this step and check the *EntityFramew
- In **MyApplication.MongoDB.csproj** replace **project reference**:
```csharp
<PackageReference Include="Volo.Abp.IdentityServer.MongoDB" Version="6.0.0-rc.1" />
<PackageReference Include="Volo.Abp.IdentityServer.MongoDB" Version="6.0.*" />
```
with
```csharp
<PackageReference Include="Volo.Abp.OpenIddict.MongoDB" Version="6.0.0-rc.1" />
<PackageReference Include="Volo.Abp.OpenIddict.MongoDB" Version="6.0.*" />
```
- In **MyApplicationMongoDbModule.cs** replace usings and **module dependencies**:

@ -82,3 +82,170 @@ To change the logos and brand color of `LeptonX`, simply add the following CSS t
### Server Side
In order to migrate to LeptonX on your server side projects (Host and/or AuthServer projects), please follow the [Server Side Migration](AspNetCore.md) document.
## Customization
### Layouts
The Angular version of LeptonX Lite provides **layout components** for your **user interface** on [ABP Framework Theming](https://docs.abp.io/en/abp/latest/UI/Angular/Theming). You can use layouts to **organize your user interface**. You can replace the **layout components** and some parts of the **layout components** with the [ABP replaceable component system](https://docs.abp.io/en/abp/latest/UI/Angular/Component-Replacement).
The main responsibility of a theme is to **provide** the layouts. There are **three pre-defined layouts that must be implemented by all the themes:**
* **ApplicationLayoutComponent:** The **default** layout which is used by the **main** application pages.
* **AccountLayoutComponent:** Mostly used by the **account module** for **login**, **register**, **forgot password**... pages.
* **EmptyLayoutComponent:** The **Minimal** layout that **has no layout components** at all.
The **Layout components** and all the replacable components are predefined in `eThemeLeptonXComponents` as enum.
### How to replace a component
```js
import { ReplaceableComponentsService } from '@abp/ng.core'; // imported ReplaceableComponentsService
import { eIdentityComponents } from '@abp/ng.identity'; // imported eIdentityComponents enum
import { eThemeLeptonXComponents } from '@abp/ng.theme.lepton-x'; // imported eThemeLeptonXComponents enum
//...
@Component(/* component metadata */)
export class AppComponent {
constructor(
private replaceableComponents: ReplaceableComponentsService, // injected the service
) {
this.replaceableComponents.add({
component: YourNewApplicationLayoutComponent,
key: eThemeLeptonXComponents.ApplicationLayout,
});
}
}
```
See the [Component Replacement](https://docs.abp.io/en/abp/latest/UI/Angular/Component-Replacement) documentation for more information on how to replace components.
### Brand Component
The **brand component** is a simple component that can be used to display your brand. It contains a **logo** and a **company name**. You can change the logo via css but if you want to change logo component, the key is `eThemeLeptonXComponents.Logo`
```js
///...
this.replaceableComponents.add({
component: YourNewLogoComponent,
key: eThemeLeptonXComponents.Logo,
});
///...
```
![Brand component](../../images/leptonxlite-brand-component.png)
## Breadcrumb Component
On websites that have a lot of pages, **breadcrumb navigation** can greatly **enhance the way users find their way** around. In terms of **usability**, breadcrumbs reduce the number of actions a website **visitor** needs to take in order to get to a **higher-level page**, and they **improve** the **findability** of **website sections** and **pages**.
```js
///...
this.replaceableComponents.add({
component: YourNewSidebarComponent,
key: eThemeLeptonXComponents.Breadcrumb,
});
///...
```
![Breadcrumb component](../../images/leptonxlite-breadcrumb-component.png)
## Sidebar Menu Component
Sidebar menus have been used as a **directory for Related Pages** to a **Service** offering, **Navigation** items to a **specific service** or topic and even just as **Links** the user may be interested in.
```js
///...
this.replaceableComponents.add({
component: YourNewSidebarComponent,
key: eThemeLeptonXComponents.Sidebar,
});
///...
```
![Sidebar menu component](../../images/leptonxlite-sidebar-menu-component.png)
## Page Alerts Component
Provides contextual **feedback messages** for typical user actions with a handful of **available** and **flexible** **alert messages**. Alerts are available for any length of text, as well as an **optional dismiss button**.
![Page alerts component](../../images/leptonxlite-page-alerts-component.png)
```js
///...
this.replaceableComponents.add({
component: YourNewPageAlertContainerComponent,
key: eThemeLeptonXComponents.PageAlertContainer,
});
///...
```
## Toolbar Component
![Breadcrumb component](../../images/leptonxlite-toolbar-component.png)
Toolbar items are used to add **extra functionality to the toolbar**. The toolbar is a **horizontal bar** that **contains** a group of **toolbar items**.
```js
///...
this.replaceableComponents.add({
component: YourNewNavItemsComponent,
key: eThemeLeptonXComponents.NavItems,
});
///...
```
## Toolbar Items
There are two parts to the toolbar. The first is Language-Switch. The second is the User-Profile element. You can swap out each of these parts individually.
## Language Switch Component
Think about a **multi-lingual** website and the first thing that could **hit your mind** is **the language switch component**. A **navigation bar** is a **great place** to **embed a language switch**. By embedding the language switch in the navigation bar of your website, you would **make it simpler** for users to **find it** and **easily** switch the **language** <u>**without trying to locate it across the website.**</u>
![Language switch component](../../images/leptonxlite-language-switch-component.png)
```js
///...
this.replaceableComponents.add({
component: YourNewLanguagesComponent,
key: eThemeLeptonXComponents.Languages,
});
///...
```
## User Menu Component
The **User Menu** is the **menu** that **drops down** when you **click your name** or **profile picture** in the **upper right corner** of your page (**in the toolbar**). It drops down options such as **Settings**, **Logout**, etc.
![User menu component](../../images/leptonxlite-user-menu-component.png)
```js
///...
this.replaceableComponents.add({
component: YourNewCurrentUserComponent,
key: eThemeLeptonXComponents.CurrentUser,
});
///...
```
Note: The language selection component in the Volo app is not replaceable. It is part of the settings menu.
## Mobile Navbar Component
The **mobile navbar component** is used to display the **navbar menu on mobile devices**. The mobile navbar component is a **dropdown menu** that contains language selection and user menu.
![Mobile user menu component](../../images/leptonxlite-mobile-user-menu-component.png)
```js
///...
this.replaceableComponents.add({
component: YourNewMobileNavbarComponent,
key: eThemeLeptonXComponents.MobileNavbar,
});
///...
```
## Mobile Navbar Items.
There are two parts of the mobile navbar. The mobile navbar has Language-Switch and User-Profile. You can swap out each of these parts individually.
The Mobile language-Selection component key is `eThemeLeptonXComponents.MobileLanguageSelection`.
The Mobile User-Profile component key is `eThemeLeptonXComponents.MobileUserProfile`.

Binary file not shown.

After

Width:  |  Height:  |  Size: 794 KiB

@ -1,7 +1,7 @@
{
"culture": "en-GB",
"texts": {
"GivenTenantIsNotExist": "Given tenant is not exist: {0}",
"GivenTenantIsNotExist": "Given tenant does not exist: {0}",
"GivenTenantIsNotAvailable": "Given tenant is not available: {0}",
"Tenant": "Tenant",
"Switch": "switch",

@ -36,7 +36,7 @@ var abp = abp || {};
var $a = $('<a/>');
if (fieldItem.displayNameHtml) {
$a.html(fieldItem.text);
$a.html(abp.utils.isFunction(fieldItem.text) ? fieldItem.text(record, tableInstance) : fieldItem.text);
} else {
if (fieldItem.icon !== undefined && fieldItem.icon) {
@ -45,7 +45,7 @@ var abp = abp || {};
$a.append($("<i>").addClass(fieldItem.iconClass + " me-1"));
}
$a.append(htmlEncode(fieldItem.text));
$a.append(htmlEncode(abp.utils.isFunction(fieldItem.text) ? fieldItem.text(record, tableInstance) : fieldItem.text));
}
if (fieldItem.action) {
@ -81,14 +81,14 @@ var abp = abp || {};
var $button = $('<button type="button" class="btn btn-primary abp-action-button"></button>');
if (firstItem.displayNameHtml) {
$button.html(firstItem.text);
$button.html(abp.utils.isFunction(firstItem.text) ? firstItem.text(record, tableInstance) : firstItem.text);
} else {
if (firstItem.icon !== undefined && firstItem.icon) {
$button.append($("<i>").addClass("fa fa-" + firstItem.icon + " me-1"));
} else if (firstItem.iconClass) {
$button.append($("<i>").addClass(firstItem.iconClass + " me-1"));
}
$button.append(htmlEncode(firstItem.text));
$button.append(htmlEncode(abp.utils.isFunction(firstItem.text) ? firstItem.text(record, tableInstance) : firstItem.text));
}
if (firstItem.enabled && !firstItem.enabled({ record: record, table: tableInstance })) {
@ -132,7 +132,7 @@ var abp = abp || {};
}
if (field.text) {
$dropdownButton.append(htmlEncode(field.text));
$dropdownButton.append(htmlEncode(abp.utils.isFunction(field.text) ? field.text(record, tableInstance) : field.text));
} else {
$dropdownButton.append(htmlEncode(localize("DatatableActionDropdownDefaultText")));
}
@ -272,7 +272,7 @@ var abp = abp || {};
}
});
//Delay for processing indicator
//Delay for processing indicator
var defaultDelayForProcessingIndicator = 500;
var _existingDefaultFnPreDrawCallback = $.fn.dataTable.defaults.fnPreDrawCallback;
$.extend(true,

@ -99,7 +99,7 @@
// add unchecked checkboxes because serializeArray ignores them
$(this).find("input[type=checkbox]").each(function () {
if (!$(this).is(':checked')) {
data.push({name: this.name, value: this.checked});
data.push({ name: this.name, value: this.checked });
}
});
@ -118,26 +118,7 @@
});
//map to object
var getVarName = function (v) {
return v.toString().replace(/\(\)\s?=\>\s?/, '');
}
var getNames = function (index, variable) {
var name = '';
for (var i = 0; i <= index; i++) {
if (i == 0) {
name = variable + '[' + i + ']'
} else {
name += '][' + variable + '[' + i + ']'
}
}
return name;
}
var obj = {};
var objName = getVarName(() => obj);
if (camelCase !== undefined ? camelCase : true) {
data.forEach(function (d) {
d.name = toCamelCase(d.name);
@ -146,18 +127,19 @@
data.map(function (x) {
var names = x.name.split(".");
var xName = getVarName(() => x);
var namesName = getVarName(() => names);
for (var i = 0; i < names.length; i++) {
var o = obj;
for (var j = 0; j <= i; j++) {
if ($.isEmptyObject(o[names[j]])) {
o[names[j]] = {};
}
var i = obj ? 0 : 1;
for (i = 0; i < names.length; i++) {
if (eval('!' + objName + '[' + getNames(i, '' + namesName + '') + ']')) {
eval('' + objName + '[' + getNames(i, '' + namesName + '') + '] = {}');
}
}
if (i == names.length - 1 && j == i) {
o[names[j]] = x.value;
}
if ($.isEmptyObject(eval('' + objName + '[' + getNames(names.length - 1, '' + namesName + '') + ']'))) {
eval('' + objName + '[' + getNames(names.length - 1, '' + namesName + '') + '] = ' + xName + '.value');
o = o[names[j]]
}
}
});

@ -1,6 +1,8 @@
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Options;
using Microsoft.Extensions.Primitives;
using Volo.Abp.DependencyInjection;
@ -8,6 +10,13 @@ namespace Volo.Abp.AspNetCore.Security;
public class AbpSecurityHeadersMiddleware : IMiddleware, ITransientDependency
{
public IOptions<AbpSecurityHeadersOptions> Options { get; set; }
public AbpSecurityHeadersMiddleware(IOptions<AbpSecurityHeadersOptions> options)
{
Options = options;
}
public async Task InvokeAsync(HttpContext context, RequestDelegate next)
{
/*X-Content-Type-Options header tells the browser to not try and “guess” what a mimetype of a resource might be, and to just take what mimetype the server has returned as fact.*/
@ -19,6 +28,17 @@ public class AbpSecurityHeadersMiddleware : IMiddleware, ITransientDependency
/*The X-Frame-Options HTTP response header can be used to indicate whether or not a browser should be allowed to render a page in a <frame>, <iframe> or <object>. SAMEORIGIN makes it being displayed in a frame on the same origin as the page itself. The spec leaves it up to browser vendors to decide whether this option applies to the top level, the parent, or the whole chain*/
AddHeaderIfNotExists(context, "X-Frame-Options", "SAMEORIGIN");
/*The X-Content-Type-Options response HTTP header is a marker used by the server to indicate that the MIME types advertised in the Content-Type headers should be followed and not be changed. The header allows you to avoid MIME type sniffing by saying that the MIME types are deliberately configured.*/
AddHeaderIfNotExists(context, "X-Content-Type-Options", "nosniff");
if (Options.Value.UseContentSecurityPolicyHeader)
{
AddHeaderIfNotExists(context, "Content-Security-Policy",
Options.Value.ContentSecurityPolicyValue.IsNullOrEmpty()
? "object-src 'none'; form-action 'self'; frame-ancestors 'none'"
: Options.Value.ContentSecurityPolicyValue);
}
await next.Invoke(context);
}

@ -0,0 +1,8 @@
namespace Volo.Abp.AspNetCore.Security;
public class AbpSecurityHeadersOptions
{
public bool UseContentSecurityPolicyHeader { get; set; }
public string ContentSecurityPolicyValue { get; set; }
}

@ -33,4 +33,19 @@ public class AbpDistributedCacheOptions
GlobalCacheEntryOptions = new DistributedCacheEntryOptions();
KeyPrefix = "";
}
public void ConfigureCache<TCacheItem>(DistributedCacheEntryOptions options)
{
ConfigureCache(typeof(TCacheItem), options);
}
public void ConfigureCache(Type cacheItemType, DistributedCacheEntryOptions options)
{
ConfigureCache(CacheNameAttribute.GetCacheName(cacheItemType), options);
}
public void ConfigureCache(string cacheName, DistributedCacheEntryOptions options)
{
CacheConfigurators.Add(name => cacheName != name ? null : options);
}
}

@ -16,6 +16,11 @@ public class CacheNameAttribute : Attribute
Name = name;
}
public static string GetCacheName<TCacheItem>()
{
return GetCacheName(typeof(TCacheItem));
}
public static string GetCacheName(Type cacheItemType)
{
var cacheNameAttribute = cacheItemType

@ -66,6 +66,9 @@ public class AbpCliCoreModule : AbpModule
options.Commands[InstallLibsCommand.Name] = typeof(InstallLibsCommand);
options.Commands[CleanCommand.Name] = typeof(CleanCommand);
options.Commands[CliCommand.Name] = typeof(CliCommand);
options.DisabledModulesToAddToSolution.Add("Volo.Abp.LeptonXTheme.Pro");
options.DisabledModulesToAddToSolution.Add("Volo.Abp.LeptonXTheme.Lite");
});
Configure<AbpCliServiceProxyOptions>(options =>

@ -7,6 +7,8 @@ public class AbpCliOptions
{
public Dictionary<string, Type> Commands { get; }
public List<string> DisabledModulesToAddToSolution { get; set; }
/// <summary>
/// Default value: true.
/// </summary>
@ -22,5 +24,6 @@ public class AbpCliOptions
public AbpCliOptions()
{
Commands = new Dictionary<string, Type>(StringComparer.OrdinalIgnoreCase);
DisabledModulesToAddToSolution = new();
}
}

@ -76,7 +76,7 @@ public class DefaultDotNetProjectBuilder : IDotNetProjectBuilder, ITransientDepe
Console.WriteLine("Executing...: dotnet build " + project.CsProjPath + " " + buildArguments);
var output = CmdHelper.RunCmdAndGetOutput(
"dotnet build " + project.CsProjPath + " " + buildArguments,
"dotnet build \"" + project.CsProjPath + "\" " + buildArguments,
out int buildStatus
);

@ -4,6 +4,7 @@ using System.Text;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Logging.Abstractions;
using System.Threading.Tasks;
using Microsoft.Extensions.Options;
using Volo.Abp.Cli.Args;
using Volo.Abp.Cli.ProjectBuilding.Templates.MvcModule;
using Volo.Abp.Cli.ProjectModification;
@ -14,6 +15,7 @@ namespace Volo.Abp.Cli.Commands;
public class AddModuleCommand : IConsoleCommand, ITransientDependency
{
private readonly AbpCliOptions _options;
public const string Name = "add-module";
private AddModuleInfoOutput _lastAddedModuleInfo;
@ -33,8 +35,12 @@ public class AddModuleCommand : IConsoleCommand, ITransientDependency
}
}
public AddModuleCommand(SolutionModuleAdder solutionModuleAdder, SolutionPackageVersionFinder solutionPackageVersionFinder)
public AddModuleCommand(
SolutionModuleAdder solutionModuleAdder,
SolutionPackageVersionFinder solutionPackageVersionFinder,
IOptions<AbpCliOptions> options)
{
_options = options.Value;
SolutionModuleAdder = solutionModuleAdder;
SolutionPackageVersionFinder = solutionPackageVersionFinder;
Logger = NullLogger<AddModuleCommand>.Instance;
@ -50,6 +56,13 @@ public class AddModuleCommand : IConsoleCommand, ITransientDependency
GetUsageInfo()
);
}
if (_options.DisabledModulesToAddToSolution.Contains(commandLineArgs.Target))
{
throw new CliUsageException(
$"{commandLineArgs.Target} Module is not available for this command! You can check the module's documentation for more info."
);
}
var newTemplate = commandLineArgs.Options.ContainsKey(Options.NewTemplate.Long);
var template = commandLineArgs.Options.GetOrNull(Options.Template.Short, Options.Template.Long);

@ -14,6 +14,7 @@ using Microsoft.Extensions.Logging.Abstractions;
using Newtonsoft.Json.Linq;
using NuGet.Versioning;
using Volo.Abp.Cli.Args;
using Volo.Abp.Cli.Auth;
using Volo.Abp.Cli.Commands.Services;
using Volo.Abp.Cli.Http;
using Volo.Abp.Cli.NuGet;
@ -32,6 +33,7 @@ public class SuiteCommand : IConsoleCommand, ITransientDependency
public ICmdHelper CmdHelper { get; }
private readonly AbpNuGetIndexUrlService _nuGetIndexUrlService;
private readonly NuGetService _nuGetService;
private readonly AuthService _authService;
private readonly CliHttpClientFactory _cliHttpClientFactory;
private const string SuitePackageName = "Volo.Abp.Suite";
public ILogger<SuiteCommand> Logger { get; set; }
@ -42,17 +44,28 @@ public class SuiteCommand : IConsoleCommand, ITransientDependency
AbpNuGetIndexUrlService nuGetIndexUrlService,
NuGetService nuGetService,
ICmdHelper cmdHelper,
AuthService authService,
CliHttpClientFactory cliHttpClientFactory)
{
CmdHelper = cmdHelper;
_nuGetIndexUrlService = nuGetIndexUrlService;
_nuGetService = nuGetService;
_authService = authService;
_cliHttpClientFactory = cliHttpClientFactory;
Logger = NullLogger<SuiteCommand>.Instance;
}
public async Task ExecuteAsync(CommandLineArgs commandLineArgs)
{
#if !DEBUG
var loginInfo = await _authService.GetLoginInfoAsync();
if (string.IsNullOrEmpty(loginInfo?.Organization))
{
throw new CliUsageException("Please login with your account.");
}
#endif
var operationType = NamespaceHelper.NormalizeNamespace(commandLineArgs.Target);
var preview = commandLineArgs.Options.ContainsKey(Options.Preview.Short) ||
@ -534,4 +547,4 @@ public class SuiteCommand : IConsoleCommand, ITransientDependency
}
}
}
}
}

@ -117,12 +117,13 @@ public class ProjectReferenceReplaceStep : ProjectBuildPipelineStep
var oldNodeIncludeValue = oldNode.Attributes["Include"].Value;
// ReSharper disable once PossibleNullReferenceException : Can not be null because nodes are selected with include attribute filter in previous method
if (oldNodeIncludeValue.Contains(_projectName))
if (oldNodeIncludeValue.Contains(_projectName) && _isMicroserviceServiceTemplate)
{
if (_isMicroserviceServiceTemplate || _entries.Any(e => e.Name.EndsWith(GetProjectNameWithExtensionFromProjectReference(oldNodeIncludeValue))))
{
continue;
}
continue;
}
if(_entries.Any(e => e.Name.EndsWith(GetProjectNameWithExtensionFromProjectReference(oldNodeIncludeValue))))
{
continue;
}
XmlNode newNode = GetNewReferenceNode(doc, oldNodeIncludeValue);

@ -163,6 +163,7 @@ public abstract class AppTemplateBase : TemplateInfo
if (context.BuildArgs.MobileApp == MobileApp.Maui)
{
steps.Add(new MauiChangeApplicationIdGuidStep());
steps.Add(new MauiChangePortStep());
}
else
{

@ -0,0 +1,80 @@
using System;
using System.Linq;
using Volo.Abp.Cli.ProjectBuilding.Building;
namespace Volo.Abp.Cli.ProjectBuilding.Templates.Maui;
public class MauiChangePortStep : ProjectBuildPipelineStep
{
public override void Execute(ProjectBuildContext context)
{
var appsettingsFile = context.Files.FirstOrDefault(x =>
!x.IsDirectory &&
x.Name.EndsWith("aspnet-core/src/MyCompanyName.MyProjectName.Maui/appsettings.json",
StringComparison.InvariantCultureIgnoreCase)
);
if (appsettingsFile == null)
{
return;
}
var ports = GetPorts(context);
appsettingsFile.NormalizeLineEndings();
var lines = appsettingsFile.GetLines();
for (var i = 1; i < lines.Length; i++)
{
var line = lines[i];
var previousLine = lines[i-1];
if (line.Contains("Authority") && line.Contains("localhost"))
{
line = line.Replace("44305", ports.AuthServerPort);
}
else if (previousLine.Contains("Default") && line.Contains("BaseUrl") && line.Contains("localhost"))
{
line = line.Replace("44305", ports.ApiHostPort);
}
lines[i] = line;
}
appsettingsFile.SetLines(lines);
}
private (string AuthServerPort, string ApiHostPort) GetPorts(ProjectBuildContext context)
{
var authServerPort = string.Empty;
var apiHostPort = string.Empty;
switch (context.BuildArgs.UiFramework)
{
case UiFramework.Angular:
case UiFramework.Blazor:
authServerPort = "44305";
apiHostPort = "44305";
break;
case UiFramework.BlazorServer:
authServerPort = "44308";
apiHostPort = "44308";
break;
case UiFramework.Mvc:
case UiFramework.NotSpecified:
authServerPort = "44303";
apiHostPort = "44303";
break;
}
if (context.BuildArgs.ExtraProperties.ContainsKey("separate-identity-server") ||
context.BuildArgs.ExtraProperties.ContainsKey("separate-auth-server") ||
context.BuildArgs.ExtraProperties.ContainsKey("tiered"))
{
authServerPort = "44301";
apiHostPort = "44300";
}
return (authServerPort, apiHostPort);
}
}

@ -16,16 +16,14 @@
<ItemGroup>
<ProjectReference Include="..\Volo.Abp.Auditing\Volo.Abp.Auditing.csproj" />
<ProjectReference Include="..\Volo.Abp.Caching\Volo.Abp.Caching.csproj" />
<ProjectReference Include="..\Volo.Abp.Data\Volo.Abp.Data.csproj" />
<ProjectReference Include="..\Volo.Abp.EventBus\Volo.Abp.EventBus.csproj" />
<ProjectReference Include="..\Volo.Abp.ExceptionHandling\Volo.Abp.ExceptionHandling.csproj" />
<ProjectReference Include="..\Volo.Abp.Guids\Volo.Abp.Guids.csproj" />
<ProjectReference Include="..\Volo.Abp.MultiTenancy\Volo.Abp.MultiTenancy.csproj" />
<ProjectReference Include="..\Volo.Abp.ObjectMapping\Volo.Abp.ObjectMapping.csproj" />
<ProjectReference Include="..\Volo.Abp.Specifications\Volo.Abp.Specifications.csproj" />
<ProjectReference Include="..\Volo.Abp.Threading\Volo.Abp.Threading.csproj" />
<ProjectReference Include="..\Volo.Abp.Timing\Volo.Abp.Timing.csproj" />
<ProjectReference Include="..\Volo.Abp.Uow\Volo.Abp.Uow.csproj" />
</ItemGroup>
</Project>

@ -1,17 +1,15 @@
using Microsoft.Extensions.DependencyInjection;
using Volo.Abp.Auditing;
using Volo.Abp.Caching;
using Volo.Abp.Data;
using Volo.Abp.Domain.Repositories;
using Volo.Abp.EventBus;
using Volo.Abp.ExceptionHandling;
using Volo.Abp.Guids;
using Volo.Abp.Modularity;
using Volo.Abp.MultiTenancy;
using Volo.Abp.ObjectMapping;
using Volo.Abp.Specifications;
using Volo.Abp.Threading;
using Volo.Abp.Timing;
using Volo.Abp.Uow;
namespace Volo.Abp.Domain;
@ -20,13 +18,11 @@ namespace Volo.Abp.Domain;
typeof(AbpDataModule),
typeof(AbpEventBusModule),
typeof(AbpGuidsModule),
typeof(AbpMultiTenancyModule),
typeof(AbpThreadingModule),
typeof(AbpTimingModule),
typeof(AbpUnitOfWorkModule),
typeof(AbpObjectMappingModule),
typeof(AbpExceptionHandlingModule),
typeof(AbpSpecificationsModule)
typeof(AbpSpecificationsModule),
typeof(AbpCachingModule)
)]
public class AbpDddDomainModule : AbpModule
{

@ -0,0 +1,70 @@
using System.Threading.Tasks;
using Volo.Abp.Caching;
using Volo.Abp.Domain.Entities.Events;
using Volo.Abp.Domain.Repositories;
using Volo.Abp.EventBus;
using Volo.Abp.Uow;
namespace Volo.Abp.Domain.Entities.Caching;
public abstract class EntityCacheBase<TEntity, TEntityCacheItem, TKey> :
IEntityCache<TEntityCacheItem, TKey>,
ILocalEventHandler<EntityChangedEventData<TEntity>>
where TEntity : Entity<TKey>
where TEntityCacheItem : class
{
protected IReadOnlyRepository<TEntity, TKey> Repository { get; }
protected IDistributedCache<TEntityCacheItem, TKey> Cache { get; }
protected IUnitOfWorkManager UnitOfWorkManager { get; }
protected EntityCacheBase(
IReadOnlyRepository<TEntity, TKey> repository,
IDistributedCache<TEntityCacheItem, TKey> cache,
IUnitOfWorkManager unitOfWorkManager)
{
Repository = repository;
Cache = cache;
UnitOfWorkManager = unitOfWorkManager;
}
public virtual async Task<TEntityCacheItem> FindAsync(TKey id)
{
return await Cache.GetOrAddAsync(
id,
async () => MapToCacheItem(await Repository.FindAsync(id))
);
}
public virtual async Task<TEntityCacheItem> GetAsync(TKey id)
{
return await Cache.GetOrAddAsync(
id,
async () => MapToCacheItem(await Repository.GetAsync(id))
);
}
protected abstract TEntityCacheItem MapToCacheItem(TEntity entity);
public async Task HandleEventAsync(EntityChangedEventData<TEntity> eventData)
{
if (eventData is EntityCreatedEventData<TEntity>)
{
return;
}
/* Why we are using double remove:
* First Cache.RemoveAsync drops the cache item in a unit of work.
* Some other application / thread may read the value from database and put it to the cache again
* before the UOW completes.
* The second Cache.RemoveAsync drops the cache item after the database transaction is complete.
* Only the second Cache.RemoveAsync may not be enough if the application crashes just after the UOW completes.
*/
await Cache.RemoveAsync(eventData.Entity.Id);
if(UnitOfWorkManager.Current != null)
{
await Cache.RemoveAsync(eventData.Entity.Id, considerUow: true);
}
}
}

@ -0,0 +1,82 @@
using System;
using JetBrains.Annotations;
using Microsoft.Extensions.Caching.Distributed;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.DependencyInjection.Extensions;
using Volo.Abp.Caching;
namespace Volo.Abp.Domain.Entities.Caching;
public static class EntityCacheServiceCollectionExtensions
{
public static IServiceCollection AddEntityCache<TEntity, TKey>(
this IServiceCollection services,
[CanBeNull] DistributedCacheEntryOptions cacheOptions = null)
where TEntity : Entity<TKey>
{
services
.TryAddTransient<
IEntityCache<TEntity, TKey>,
EntityCacheWithoutCacheItem<TEntity, TKey>
>();
services
.TryAddTransient<EntityCacheWithoutCacheItem<TEntity, TKey>>();
services.Configure<AbpDistributedCacheOptions>(options =>
{
options.ConfigureCache<TEntity>(cacheOptions ?? GetDefaultCacheOptions());
});
return services;
}
public static IServiceCollection AddEntityCache<TEntity, TEntityCacheItem, TKey>(
this IServiceCollection services,
[CanBeNull] DistributedCacheEntryOptions cacheOptions = null)
where TEntity : Entity<TKey>
where TEntityCacheItem : class
{
services
.TryAddTransient<
IEntityCache<TEntityCacheItem, TKey>,
EntityCacheWithObjectMapper<TEntity, TEntityCacheItem, TKey>
>();
services
.TryAddTransient<EntityCacheWithObjectMapper<TEntity, TEntityCacheItem, TKey>>();
services.Configure<AbpDistributedCacheOptions>(options =>
{
options.ConfigureCache<TEntityCacheItem>(cacheOptions ?? GetDefaultCacheOptions());
});
return services;
}
public static IServiceCollection AddEntityCache<TObjectMapperContext, TEntity, TEntityCacheItem, TKey>(
this IServiceCollection services,
[CanBeNull] DistributedCacheEntryOptions cacheOptions = null)
where TEntity : Entity<TKey>
where TEntityCacheItem : class
{
services
.TryAddTransient<
IEntityCache<TEntityCacheItem, TKey>,
EntityCacheWithObjectMapperContext<TObjectMapperContext, TEntity, TEntityCacheItem, TKey>
>();
services.TryAddTransient<EntityCacheWithObjectMapperContext<TObjectMapperContext, TEntity, TEntityCacheItem, TKey>>();
services.Configure<AbpDistributedCacheOptions>(options =>
{
options.ConfigureCache<TEntityCacheItem>(cacheOptions ?? GetDefaultCacheOptions());
});
return services;
}
private static DistributedCacheEntryOptions GetDefaultCacheOptions()
{
return new DistributedCacheEntryOptions {
AbsoluteExpirationRelativeToNow = TimeSpan.FromMinutes(2)
};
}
}

@ -0,0 +1,40 @@
using System;
using Volo.Abp.Caching;
using Volo.Abp.Domain.Repositories;
using Volo.Abp.ObjectMapping;
using Volo.Abp.Uow;
namespace Volo.Abp.Domain.Entities.Caching;
public class EntityCacheWithObjectMapper<TEntity, TEntityCacheItem, TKey> :
EntityCacheBase<TEntity, TEntityCacheItem, TKey>
where TEntity : Entity<TKey>
where TEntityCacheItem : class
{
protected IObjectMapper ObjectMapper { get; }
public EntityCacheWithObjectMapper(
IReadOnlyRepository<TEntity, TKey> repository,
IDistributedCache<TEntityCacheItem, TKey> cache,
IUnitOfWorkManager unitOfWorkManager,
IObjectMapper objectMapper)
: base(repository, cache, unitOfWorkManager)
{
ObjectMapper = objectMapper;
}
protected override TEntityCacheItem MapToCacheItem(TEntity entity)
{
if (entity == null)
{
return null;
}
if (typeof(TEntity) == typeof(TEntityCacheItem))
{
return entity.As<TEntityCacheItem>();
}
return ObjectMapper.Map<TEntity, TEntityCacheItem>(entity);
}
}

@ -0,0 +1,22 @@
using Volo.Abp.Caching;
using Volo.Abp.Domain.Repositories;
using Volo.Abp.ObjectMapping;
using Volo.Abp.Uow;
namespace Volo.Abp.Domain.Entities.Caching;
public class EntityCacheWithObjectMapperContext<TObjectMapperContext, TEntity, TEntityCacheItem, TKey> :
EntityCacheWithObjectMapper<TEntity, TEntityCacheItem, TKey>
where TEntity : Entity<TKey>
where TEntityCacheItem : class
{
public EntityCacheWithObjectMapperContext(
IReadOnlyRepository<TEntity, TKey> repository,
IDistributedCache<TEntityCacheItem, TKey> cache,
IUnitOfWorkManager unitOfWorkManager,
IObjectMapper objectMapper)// Intentionally injected with TContext
: base(repository, cache, unitOfWorkManager, objectMapper)
{
}
}

@ -0,0 +1,25 @@
using Volo.Abp.Caching;
using Volo.Abp.Domain.Repositories;
using Volo.Abp.Uow;
namespace Volo.Abp.Domain.Entities.Caching;
public class EntityCacheWithoutCacheItem<TEntity, TKey> :
EntityCacheBase<TEntity, TEntity, TKey>
where TEntity : Entity<TKey>
{
public EntityCacheWithoutCacheItem(
IReadOnlyRepository<TEntity, TKey> repository,
IDistributedCache<TEntity, TKey> cache,
IUnitOfWorkManager unitOfWorkManager)
: base(repository, cache, unitOfWorkManager)
{
}
protected override TEntity MapToCacheItem(TEntity entity)
{
return entity;
}
}

@ -0,0 +1,22 @@
using System.Threading.Tasks;
using JetBrains.Annotations;
namespace Volo.Abp.Domain.Entities.Caching;
public interface IEntityCache<TEntityCacheItem, in TKey>
where TEntityCacheItem : class
{
/// <summary>
/// Gets the entity with given <paramref name="id"/>,
/// or returns null if the entity was not found.
/// </summary>
[ItemCanBeNull]
Task<TEntityCacheItem> FindAsync(TKey id);
/// <summary>
/// Gets the entity with given <paramref name="id"/>,
/// or throws <see cref="EntityNotFoundException"/> if the entity was not found.
/// </summary>
[ItemNotNull]
Task<TEntityCacheItem> GetAsync(TKey id);
}

@ -1,12 +1,25 @@
using System.Linq;
using System.Threading.Tasks;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Shouldly;
using Volo.Abp.AspNetCore.Security;
using Xunit;
namespace Volo.Abp.AspNetCore.Mvc.Security.Headers;
public class SecurityHeadersTestController_Tests : AspNetCoreMvcTestBase
{
protected override void ConfigureServices(HostBuilderContext context, IServiceCollection services)
{
services.Configure<AbpSecurityHeadersOptions>(options =>
{
options.UseContentSecurityPolicyHeader = true;
});
base.ConfigureServices(context, services);
}
[Fact]
public async Task SecurityHeaders_Should_Be_Added()
{
@ -14,5 +27,7 @@ public class SecurityHeadersTestController_Tests : AspNetCoreMvcTestBase
responseMessage.Headers.ShouldContain(x => x.Key == "X-Content-Type-Options" & x.Value.First().ToString() == "nosniff");
responseMessage.Headers.ShouldContain(x => x.Key == "X-XSS-Protection" & x.Value.First().ToString() == "1; mode=block");
responseMessage.Headers.ShouldContain(x => x.Key == "X-Frame-Options" & x.Value.First().ToString() == "SAMEORIGIN");
responseMessage.Headers.ShouldContain(x => x.Key == "X-Content-Type-Options" & x.Value.First().ToString() == "nosniff");
responseMessage.Headers.ShouldContain(x => x.Key == "Content-Security-Policy" & x.Value.First().ToString() == "object-src 'none'; form-action 'self'; frame-ancestors 'none'");
}
}

@ -0,0 +1,7 @@
using Volo.Abp.TestApp.Testing;
namespace Volo.Abp.EntityFrameworkCore.Domain;
public class EntityCache_Tests : EntityCache_Tests<AbpEntityFrameworkCoreTestModule>
{
}

@ -3,6 +3,7 @@ using Microsoft.EntityFrameworkCore;
using Volo.Abp.EntityFrameworkCore.TestApp.SecondContext;
using Volo.Abp.EntityFrameworkCore.TestApp.ThirdDbContext;
using Volo.Abp.TestApp.Domain;
using Volo.Abp.TestApp.Testing;
namespace Volo.Abp.EntityFrameworkCore;
@ -19,6 +20,8 @@ public class TestMigrationsDbContext : AbpDbContext<TestMigrationsDbContext>
public DbSet<EntityWithIntPk> EntityWithIntPks { get; set; }
public DbSet<Author> Author { get; set; }
public DbSet<Product> Products { get; set; }
public TestMigrationsDbContext(DbContextOptions<TestMigrationsDbContext> options)
: base(options)
@ -51,5 +54,7 @@ public class TestMigrationsDbContext : AbpDbContext<TestMigrationsDbContext>
d.HasKey(x => new { x.CityId, x.Name });
});
});
modelBuilder.Entity<Product>();
}
}

@ -7,6 +7,7 @@ using Volo.Abp.EntityFrameworkCore.Modeling;
using Volo.Abp.EntityFrameworkCore.TestApp.FourthContext;
using Volo.Abp.EntityFrameworkCore.TestApp.ThirdDbContext;
using Volo.Abp.TestApp.Domain;
using Volo.Abp.TestApp.Testing;
namespace Volo.Abp.TestApp.EntityFrameworkCore;
@ -28,6 +29,8 @@ public class TestAppDbContext : AbpDbContext<TestAppDbContext>, IThirdDbContext,
public DbSet<Author> Author { get; set; }
public DbSet<FourthDbContextDummyEntity> FourthDummyEntities { get; set; }
public DbSet<Product> Products { get; set; }
public TestAppDbContext(DbContextOptions<TestAppDbContext> options)
: base(options)
@ -79,6 +82,8 @@ public class TestAppDbContext : AbpDbContext<TestAppDbContext>, IThirdDbContext,
b.ApplyObjectExtensionMappings();
});
modelBuilder.Entity<Product>();
modelBuilder.TryConfigureObjectExtensions<TestAppDbContext>();
}
}

@ -0,0 +1,7 @@
using Volo.Abp.TestApp.Testing;
namespace Volo.Abp.MemoryDb.DomainEvents;
public class EntityCache_Tests : EntityCache_Tests<AbpMemoryDbTestModule>
{
}

@ -2,6 +2,7 @@
using System.Collections.Generic;
using Volo.Abp.MemoryDb;
using Volo.Abp.TestApp.Domain;
using Volo.Abp.TestApp.Testing;
namespace Volo.Abp.TestApp.MemoryDb;
@ -9,8 +10,9 @@ public class TestAppMemoryDbContext : MemoryDbContext
{
private static readonly Type[] EntityTypeList = {
typeof(Person),
typeof(EntityWithIntPk)
};
typeof(EntityWithIntPk),
typeof(Product)
};
public override IReadOnlyList<Type> GetEntityTypes()
{

@ -0,0 +1,9 @@
using Volo.Abp.TestApp.Testing;
using Xunit;
namespace Volo.Abp.MongoDB.Domain;
[Collection(MongoTestCollection.Name)]
public class EntityCache_Tests : EntityCache_Tests<AbpMongoDbTestModule>
{
}

@ -2,6 +2,7 @@
using Volo.Abp.Data;
using Volo.Abp.MongoDB;
using Volo.Abp.TestApp.Domain;
using Volo.Abp.TestApp.Testing;
namespace Volo.Abp.TestApp.MongoDB;
@ -11,4 +12,6 @@ public interface ITestAppMongoDbContext : IAbpMongoDbContext
IMongoCollection<Person> People { get; }
IMongoCollection<City> Cities { get; }
IMongoCollection<Product> Products { get; }
}

@ -6,6 +6,7 @@ using Volo.Abp.MongoDB;
using Volo.Abp.MongoDB.TestApp.FourthContext;
using Volo.Abp.MongoDB.TestApp.ThirdDbContext;
using Volo.Abp.TestApp.Domain;
using Volo.Abp.TestApp.Testing;
namespace Volo.Abp.TestApp.MongoDB;
@ -23,6 +24,8 @@ public class TestAppMongoDbContext : AbpMongoDbContext, ITestAppMongoDbContext,
public IMongoCollection<ThirdDbContextDummyEntity> DummyEntities => Collection<ThirdDbContextDummyEntity>();
public IMongoCollection<FourthDbContextDummyEntity> FourthDummyEntities => Collection<FourthDbContextDummyEntity>();
public IMongoCollection<Product> Products => Collection<Product>();
protected internal override void CreateModel(IMongoModelBuilder modelBuilder)
{

@ -1,4 +1,5 @@
using AutoMapper;
using Volo.Abp.TestApp.Testing;
namespace Volo.Abp.TestApp.Domain;
@ -7,5 +8,7 @@ public class TestAutoMapProfile : Profile
public TestAutoMapProfile()
{
CreateMap<PersonEto, Person>().ReverseMap();
CreateMap<Product, ProductCacheItem>();
}
}

@ -1,11 +1,16 @@
using Microsoft.Extensions.DependencyInjection;
using System;
using Microsoft.Extensions.Caching.Distributed;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.DependencyInjection.Extensions;
using Volo.Abp.Application;
using Volo.Abp.Autofac;
using Volo.Abp.Modularity;
using Volo.Abp.TestApp.Domain;
using Volo.Abp.AutoMapper;
using Volo.Abp.Domain.Entities.Caching;
using Volo.Abp.Domain.Entities.Events.Distributed;
using Volo.Abp.TestApp.Application.Dto;
using Volo.Abp.TestApp.Testing;
using Volo.Abp.Threading;
namespace Volo.Abp.TestApp;
@ -22,6 +27,10 @@ public class TestAppModule : AbpModule
{
ConfigureAutoMapper();
ConfigureDistributedEventBus();
context.Services.Replace(ServiceDescriptor.Singleton<IDistributedCache, TestMemoryDistributedCache>());
context.Services.AddEntityCache<Product, Guid>();
context.Services.AddEntityCache<Product, ProductCacheItem, Guid>();
}
public override void OnApplicationInitialization(ApplicationInitializationContext context)

@ -3,6 +3,7 @@ using System.Threading.Tasks;
using Volo.Abp.DependencyInjection;
using Volo.Abp.Domain.Repositories;
using Volo.Abp.TestApp.Domain;
using Volo.Abp.TestApp.Testing;
namespace Volo.Abp.TestApp;
@ -15,19 +16,24 @@ public class TestDataBuilder : ITransientDependency
public static Guid IstanbulCityId { get; } = new Guid("4d734a0e-3e6b-4bad-bb43-ef8cf1b09633");
public static Guid LondonCityId { get; } = new Guid("27237527-605e-4652-a2a5-68e0e512da36");
public static Guid ProductId { get; } = new Guid("c5b3fbd4-7b0b-4a72-8d99-ccf6c8c98f61");
private readonly IBasicRepository<Person, Guid> _personRepository;
private readonly ICityRepository _cityRepository;
private readonly IRepository<EntityWithIntPk, int> _entityWithIntPksRepository;
private readonly IRepository<Product, Guid> _productRepository;
public TestDataBuilder(
IBasicRepository<Person, Guid> personRepository,
ICityRepository cityRepository,
IRepository<EntityWithIntPk, int> entityWithIntPksRepository)
IRepository<EntityWithIntPk, int> entityWithIntPksRepository,
IRepository<Product, Guid> productRepository)
{
_personRepository = personRepository;
_cityRepository = cityRepository;
_entityWithIntPksRepository = entityWithIntPksRepository;
_productRepository = productRepository;
}
public async Task BuildAsync()
@ -35,6 +41,7 @@ public class TestDataBuilder : ITransientDependency
await AddCities();
await AddPeople();
await AddEntitiesWithPks();
await AddProducts();
}
private async Task AddCities()
@ -87,4 +94,9 @@ public class TestDataBuilder : ITransientDependency
{
await _entityWithIntPksRepository.InsertAsync(new EntityWithIntPk("Entity1"));
}
private async Task AddProducts()
{
await _productRepository.InsertAsync(new Product(ProductId, "Product1", decimal.One));
}
}

@ -0,0 +1,93 @@
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.Extensions.Caching.Distributed;
using Microsoft.Extensions.Caching.Memory;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
using Volo.Abp.Caching;
using Volo.Abp.DependencyInjection;
namespace Volo.Abp.TestApp;
[DisableConventionalRegistration]
public class TestMemoryDistributedCache : MemoryDistributedCache, ICacheSupportsMultipleItems
{
public TestMemoryDistributedCache(IOptions<MemoryDistributedCacheOptions> optionsAccessor)
: base(optionsAccessor)
{
}
public TestMemoryDistributedCache(IOptions<MemoryDistributedCacheOptions> optionsAccessor, ILoggerFactory loggerFactory)
: base(optionsAccessor, loggerFactory)
{
}
public byte[][] GetMany(IEnumerable<string> keys)
{
var values = new List<byte[]>();
foreach (var key in keys)
{
values.Add(Get(key));
}
return values.ToArray();
}
public async Task<byte[][]> GetManyAsync(IEnumerable<string> keys, CancellationToken token = default)
{
var values = new List<byte[]>();
foreach (var key in keys)
{
values.Add(await GetAsync(key, token));
}
return values.ToArray();
}
public void SetMany(IEnumerable<KeyValuePair<string, byte[]>> items, DistributedCacheEntryOptions options)
{
foreach (var item in items)
{
Set(item.Key, item.Value, options);
}
}
public async Task SetManyAsync(IEnumerable<KeyValuePair<string, byte[]>> items, DistributedCacheEntryOptions options, CancellationToken token = default)
{
foreach (var item in items)
{
await SetAsync(item.Key, item.Value, options, token);
}
}
public void RefreshMany(IEnumerable<string> keys)
{
foreach (var key in keys)
{
Refresh(key);
}
}
public async Task RefreshManyAsync(IEnumerable<string> keys, CancellationToken token = default)
{
foreach (var key in keys)
{
await RefreshAsync(key, token);
}
}
public void RemoveMany(IEnumerable<string> keys)
{
foreach (var key in keys)
{
Remove(key);
}
}
public async Task RemoveManyAsync(IEnumerable<string> keys, CancellationToken token = default)
{
foreach (var key in keys)
{
await RemoveAsync(key, token);
}
}
}

@ -0,0 +1,122 @@
using System;
using System.Text.Json.Serialization;
using System.Threading.Tasks;
using Shouldly;
using Volo.Abp.Caching;
using Volo.Abp.Domain.Entities;
using Volo.Abp.Domain.Entities.Auditing;
using Volo.Abp.Domain.Entities.Caching;
using Volo.Abp.Domain.Repositories;
using Volo.Abp.Modularity;
using Xunit;
namespace Volo.Abp.TestApp.Testing;
public abstract class EntityCache_Tests<TStartupModule> : TestAppTestBase<TStartupModule>
where TStartupModule : IAbpModule
{
protected readonly IRepository<Product, Guid> ProductRepository;
protected readonly IEntityCache<Product, Guid> ProductEntityCache;
protected readonly IEntityCache<ProductCacheItem, Guid> ProductCacheItem;
protected EntityCache_Tests()
{
ProductRepository = GetRequiredService<IRepository<Product, Guid>>();
ProductEntityCache = GetRequiredService<IEntityCache<Product, Guid>>();
ProductCacheItem = GetRequiredService<IEntityCache<ProductCacheItem, Guid>>();
}
[Fact]
public async Task Should_Return_Null_IF_Entity_Not_Exist()
{
var notExistId = Guid.NewGuid();
(await ProductEntityCache.FindAsync(notExistId)).ShouldBeNull();
(await ProductCacheItem.FindAsync(notExistId)).ShouldBeNull();
}
[Fact]
public async Task Should_Throw_EntityNotFoundException_IF_Entity_Not_Exist()
{
var notExistId = Guid.NewGuid();
await Assert.ThrowsAsync<EntityNotFoundException>(() => ProductEntityCache.GetAsync(notExistId));
await Assert.ThrowsAsync<EntityNotFoundException>(() => ProductCacheItem.GetAsync(notExistId));
}
[Fact]
public async Task Should_Return_EntityCache()
{
var product = await ProductEntityCache.FindAsync(TestDataBuilder.ProductId);
product.ShouldNotBeNull();
product.Id.ShouldBe(TestDataBuilder.ProductId);
product.Name.ShouldBe("Product1");
product.Price.ShouldBe(decimal.One);
var productCacheItem = await ProductCacheItem.FindAsync(product.Id);
productCacheItem.ShouldNotBeNull();
productCacheItem.Id.ShouldBe(TestDataBuilder.ProductId);
productCacheItem.Name.ShouldBe("Product1");
productCacheItem.Price.ShouldBe(decimal.One);
}
[Fact]
public async Task Should_Return_Null_IF_Deleted()
{
await ProductRepository.DeleteAsync(TestDataBuilder.ProductId);
(await ProductEntityCache.FindAsync(TestDataBuilder.ProductId)).ShouldBeNull();
(await ProductCacheItem.FindAsync(TestDataBuilder.ProductId)).ShouldBeNull();
}
[Fact]
public async Task Should_Return_New_EntityCache_IF_Updated()
{
(await ProductEntityCache.FindAsync(TestDataBuilder.ProductId)).ShouldNotBeNull();
(await ProductCacheItem.FindAsync(TestDataBuilder.ProductId)).ShouldNotBeNull();
var product = await ProductRepository.FindAsync(TestDataBuilder.ProductId);
product.Name = "Product2";
product.Price = decimal.Zero;
await ProductRepository.UpdateAsync(product);
product = await ProductEntityCache.FindAsync(product.Id);
product.ShouldNotBeNull();
product.Id.ShouldBe(TestDataBuilder.ProductId);
product.Name.ShouldBe("Product2");
product.Price.ShouldBe(decimal.Zero);
var productCacheItem = await ProductCacheItem.FindAsync(product.Id);
productCacheItem.ShouldNotBeNull();
productCacheItem.Id.ShouldBe(TestDataBuilder.ProductId);
productCacheItem.Name.ShouldBe("Product2");
productCacheItem.Price.ShouldBe(decimal.Zero);
}
}
[Serializable]
public class Product : FullAuditedAggregateRoot<Guid>
{
public Product(Guid id, string name, decimal price)
: base(id)
{
Name = name;
Price = price;
}
[JsonInclude]
public override Guid Id { get; protected set; }
public string Name { get; set; }
public decimal Price { get; set; }
}
[Serializable]
[CacheName("ProductCacheItem")]
public class ProductCacheItem
{
public Guid Id { get; set; }
public string Name { get; set; }
public decimal Price { get; set; }
}

@ -1,8 +1,11 @@
@page "/account/manage-profile"
@using Microsoft.AspNetCore.Components.Forms
@using Microsoft.AspNetCore.Components.Forms
@using Volo.Abp.Account.Localization
@using Volo.Abp.AspNetCore.Components.Web
@using Volo.Abp.BlazoriseUI.Components.ObjectExtending
@using Volo.Abp.ObjectExtending
@using Volo.Abp.Data
@inject AbpBlazorMessageLocalizerHelper<AccountResource> LH
@inherits AbpAccountComponentBase
@ -20,15 +23,15 @@
<EditForm id="ChangePasswordForm" Model="@ChangePasswordModel" OnValidSubmit="ChangePasswordAsync">
<Field>
<FieldLabel>@L["DisplayName:CurrentPassword"]</FieldLabel>
<TextEdit Role="@TextRole.Password" @bind-Text="@ChangePasswordModel.CurrentPassword"/>
<TextEdit Role="@TextRole.Password" @bind-Text="@ChangePasswordModel.CurrentPassword" />
</Field>
<Field>
<FieldLabel>@L["DisplayName:NewPassword"]</FieldLabel>
<TextEdit Role="@TextRole.Password" @bind-Text="@ChangePasswordModel.NewPassword"/>
<TextEdit Role="@TextRole.Password" @bind-Text="@ChangePasswordModel.NewPassword" />
</Field>
<Field>
<FieldLabel>@L["DisplayName:NewPasswordConfirm"]</FieldLabel>
<TextEdit Role="@TextRole.Password" @bind-Text="@ChangePasswordModel.NewPasswordConfirm"/>
<TextEdit Role="@TextRole.Password" @bind-Text="@ChangePasswordModel.NewPasswordConfirm" />
</Field>
<Field>
<SubmitButton Form="ChangePasswordForm" Clicked="@ChangePasswordAsync" />
@ -42,27 +45,58 @@
<EditForm id="UpdatePersonalInfoForm" Model="@PersonalInfoModel" OnValidSubmit="UpdatePersonalInfoAsync">
<Field>
<FieldLabel>@L["DisplayName:UserName"]</FieldLabel>
<TextEdit @bind-Text="@PersonalInfoModel.UserName"/>
<TextEdit @bind-Text="@PersonalInfoModel.UserName" />
</Field>
<Fields>
<Field ColumnSize="ColumnSize.Is6">
<FieldLabel>@L["DisplayName:Name"]</FieldLabel>
<TextEdit @bind-Text="@PersonalInfoModel.Name"/>
<TextEdit @bind-Text="@PersonalInfoModel.Name" />
</Field>
<Field ColumnSize="ColumnSize.Is6">
<FieldLabel>@L["DisplayName:Surname"]</FieldLabel>
<TextEdit @bind-Text="@PersonalInfoModel.Surname"/>
<TextEdit @bind-Text="@PersonalInfoModel.Surname" />
</Field>
</Fields>
<Field>
<FieldLabel>@L["DisplayName:Email"]</FieldLabel>
<TextEdit @bind-Text="@PersonalInfoModel.Email"/>
<TextEdit @bind-Text="@PersonalInfoModel.Email" />
</Field>
<Field>
<FieldLabel>@L["DisplayName:PhoneNumber"]</FieldLabel>
<TextEdit @bind-Text="@PersonalInfoModel.PhoneNumber"/>
<TextEdit @bind-Text="@PersonalInfoModel.PhoneNumber" />
</Field>
<ExtensionProperties TEntityType="PersonalInfoModel" TResourceType="AccountResource" Entity="@PersonalInfoModel" LH="@LH"/>
// TODO: Move this logic to 'ExtensionProperties' component.
@foreach (var propertyInfo in ObjectExtensionManager.Instance.GetProperties<PersonalInfoModel>())
{
var isAllowed = propertyInfo.Configuration.GetOrDefault(IdentityModuleExtensionConsts.ConfigurationNames.AllowUserToEdit);
if (isAllowed == null || !isAllowed.Equals(true))
{
continue;
}
if (!propertyInfo.Name.EndsWith("_Text"))
{
if (propertyInfo.Type.IsEnum)
{
<SelectExtensionProperty PropertyInfo="@propertyInfo" Entity="@PersonalInfoModel" TEntity="PersonalInfoModel" TResourceType="AccountResource" LH="@LH" />
}
else if (!propertyInfo.Lookup.Url.IsNullOrEmpty())
{
<LookupExtensionProperty PropertyInfo="@propertyInfo" Entity="@PersonalInfoModel" TEntity="PersonalInfoModel" TResourceType="AccountResource" LH="@LH" />
}
else
{
var inputType = propertyInfo.GetInputType();
__builder.OpenComponent(0, inputType.MakeGenericType(new[] { typeof(PersonalInfoModel), typeof(AccountResource) }));
__builder.AddAttribute(1, "PropertyInfo", propertyInfo);
__builder.AddAttribute(2, "Entity", PersonalInfoModel);
__builder.AddAttribute(3, "LH", LH);
__builder.CloseComponent();
}
}
}
<Field>
<SubmitButton Form="UpdatePersonalInfoForm" Clicked="@UpdatePersonalInfoAsync" />
</Field>

@ -11,8 +11,8 @@
<p>@L["ResetPassword_Information"]</p>
<abp-input asp-for="UserId"/>
<abp-input asp-for="ResetToken"/>
<abp-input asp-for="Password"/>
<abp-input asp-for="ConfirmPassword"/>
<abp-input asp-for="Password" autocomplete="new-password" />
<abp-input asp-for="ConfirmPassword" autocomplete="new-password" />
<a abp-button="Secondary" asp-page="./Login">@L["Cancel"]</a>
<abp-button type="submit" button-type="Primary" text="@L["Submit"].Value"/>
</form>

@ -3,7 +3,7 @@
"name": "asp.net",
"private": true,
"dependencies": {
"@abp/aspnetcore.mvc.ui.theme.shared": "^6.0.0-rc.5",
"@abp/aspnetcore.mvc.ui.theme.shared": "^6.0.0",
"highlight.js": "^9.13.1"
},
"devDependencies": {}

@ -2,30 +2,30 @@
# yarn lockfile v1
"@abp/aspnetcore.mvc.ui.theme.shared@^6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-6.0.0-rc.5.tgz#d3f997b9f7b19b68e94df83dc5cf3053416d8da4"
integrity sha512-OX4iTN0tFAdkBJiYQAM1GFoqF5ZVcOZfo7N6xhscWqucXIVtcGut5fuL/qIWF8xSH6afN/wH//a0O5+DjGnPmw==
dependencies:
"@abp/aspnetcore.mvc.ui" "~6.0.0-rc.5"
"@abp/bootstrap" "~6.0.0-rc.5"
"@abp/bootstrap-datepicker" "~6.0.0-rc.5"
"@abp/datatables.net-bs5" "~6.0.0-rc.5"
"@abp/font-awesome" "~6.0.0-rc.5"
"@abp/jquery-form" "~6.0.0-rc.5"
"@abp/jquery-validation-unobtrusive" "~6.0.0-rc.5"
"@abp/lodash" "~6.0.0-rc.5"
"@abp/luxon" "~6.0.0-rc.5"
"@abp/malihu-custom-scrollbar-plugin" "~6.0.0-rc.5"
"@abp/select2" "~6.0.0-rc.5"
"@abp/sweetalert2" "~6.0.0-rc.5"
"@abp/timeago" "~6.0.0-rc.5"
"@abp/toastr" "~6.0.0-rc.5"
"@abp/aspnetcore.mvc.ui@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-6.0.0-rc.5.tgz#d7ab5693091c079dce6b5cfdd60832194881b571"
integrity sha512-U8NBcsL80joHsqQo+tnYkUwW+TyIwG5SRFZ3yfb2jTiu1KMlgGcY02+iTEZMF/BhQ3rPrxQ/pH2YmD6Ip095tw==
"@abp/aspnetcore.mvc.ui.theme.shared@^6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-6.0.0.tgz#47ab51282347788018dbc64b3effd3159b2d89fe"
integrity sha512-BMZ7dZi58WZFSJK76SPvujb0vOaOWXqURzhAPmdjD/3+rsx/FVT6A394muh8Ko0Fm3A5/WE2NNuKvwmIk107/Q==
dependencies:
"@abp/aspnetcore.mvc.ui" "~6.0.0"
"@abp/bootstrap" "~6.0.0"
"@abp/bootstrap-datepicker" "~6.0.0"
"@abp/datatables.net-bs5" "~6.0.0"
"@abp/font-awesome" "~6.0.0"
"@abp/jquery-form" "~6.0.0"
"@abp/jquery-validation-unobtrusive" "~6.0.0"
"@abp/lodash" "~6.0.0"
"@abp/luxon" "~6.0.0"
"@abp/malihu-custom-scrollbar-plugin" "~6.0.0"
"@abp/select2" "~6.0.0"
"@abp/sweetalert2" "~6.0.0"
"@abp/timeago" "~6.0.0"
"@abp/toastr" "~6.0.0"
"@abp/aspnetcore.mvc.ui@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-6.0.0.tgz#f579d8d46f53cc7a417afbdf745e547db62a7c74"
integrity sha512-z6vyEGvGCwlaAY3OKNj8cH14cWYvvwuqJ+bHIVHQ4iwwcCa0la/dwjuBEu9eKesdaOLlCBIMxar3LQ9ltcGHHw==
dependencies:
ansi-colors "^4.1.1"
extend-object "^1.0.0"
@ -34,144 +34,144 @@
merge-stream "^2.0.0"
micromatch "^4.0.2"
"@abp/bootstrap-datepicker@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-6.0.0-rc.5.tgz#4fe0c9b107ae23261121afeb5b72053822b0747f"
integrity sha512-PztuCk/15vhGlisjvZTn6soIZAJp/Mqc0+ipV7Z4O+qBphvp2nFD5lfiVM/E0r2Ql8HzkOq3BO56ZVb0IMIw1g==
"@abp/bootstrap-datepicker@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-6.0.0.tgz#2e75d721ad647a1bb8fc01868b1a64076889051c"
integrity sha512-6ktejU2B0yE6mgVC43quOdw2P/tiOthaGPdYJ9ogso4qMjgoIdWiqNkvz9W8F3BQIj0Ot236lCQXgHOaos98vA==
dependencies:
bootstrap-datepicker "^1.9.0"
"@abp/bootstrap@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-6.0.0-rc.5.tgz#83b08282b4b1496b853179780a3b1e953975bdc3"
integrity sha512-EoiygyyRYwXMO6bbeLuqbfaaZuHUrOGgC9dtVxtyFWgCbWiRAERaHrAHQ12WmxnFXGvXGmy9pATfYQB4ALuLWQ==
"@abp/bootstrap@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-6.0.0.tgz#da3dfc3ed50df72531a7565608f386330cfa3552"
integrity sha512-hDAuG83+8tznKJlSDV+rN58yHhHA/TgDUjz3x+LC9un5SISbt7JAWdlcaRmx38ghfsHRJ9U/tlm3XvWGjYJQOQ==
dependencies:
"@abp/core" "~6.0.0-rc.5"
"@abp/core" "~6.0.0"
bootstrap "^5.1.3"
"@abp/core@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-6.0.0-rc.5.tgz#09f9bfaca17383539e3b79554e26510ac27366fc"
integrity sha512-htOfVSUSaErPlXg5QraeOvIH0pcApYt/mvgnXTi49qZmzUJgzuZ7l8B2UC4KGLdyjhjHHY3Vy66jNrm98IsA2g==
"@abp/core@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-6.0.0.tgz#d0191fbf9b81db75bd48316ead4821dec073a9e2"
integrity sha512-X5hqT/Yat2BnTmUj2SlRTENv4tKGcu0Ex+eKPyNlVnk7bTnbmz+oYfYslkGlGni0/ocSYbS3exaQ2P+I84VSFg==
dependencies:
"@abp/utils" "~6.0.0-rc.5"
"@abp/utils" "~6.0.0"
"@abp/datatables.net-bs5@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-6.0.0-rc.5.tgz#a89a4b028ae3bdeef41be38442a79e51b959c51f"
integrity sha512-x2TvTfYkUOOuKakXYT/h9Qi2s1oUYO7PrX0kPuNjQo9Qa7GlDhH10AoyJeKu9AfB/PyczrEZn74IqOI8xh6gjA==
"@abp/datatables.net-bs5@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-6.0.0.tgz#f121500576ec5666498bfc8594b438fe63e3f609"
integrity sha512-bPQyHes9pRp8tLGWlDqizRs8pBid56koKr7JSryOapLQSGhvYFzqMztOtFTHsR5pgLeuuB0DT9cN3uHEjrLsWQ==
dependencies:
"@abp/datatables.net" "~6.0.0-rc.5"
"@abp/datatables.net" "~6.0.0"
datatables.net-bs5 "^1.11.4"
"@abp/datatables.net@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-6.0.0-rc.5.tgz#a3d8f7717f850346455abbeed6fa5ded752e47d3"
integrity sha512-h1LK1h8AKmp4oKfeHoFobnHImbj+BwtwcHU3xAUd7UF+tGBCmjBVNjaiPoUrTize+iwjZvBK5jea901NdJpWRA==
"@abp/datatables.net@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-6.0.0.tgz#9f9b1023399ced1e72d577c260fc4d5d1b3e12e2"
integrity sha512-LIgiyTJ7rek9Mt7P1rzIRcbcaWI3WAdTXFIwG8o4LcfEt7C24XEQI41fzIz4TeTqqRWKiM3LNT+pOaU6feT06w==
dependencies:
"@abp/jquery" "~6.0.0-rc.5"
"@abp/jquery" "~6.0.0"
datatables.net "^1.11.4"
"@abp/font-awesome@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-6.0.0-rc.5.tgz#5625867e26b36853053b0ff8561538ea59149365"
integrity sha512-KtZ9fOFzdQw03Xar68M7IExzLUyQR3zyxa/71vUNfspup3E6LkBXhKILm2nSmp1zJTPoGXRs7DiHO6CyBStBAg==
"@abp/font-awesome@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-6.0.0.tgz#843a52b3864516b49ed041f2ddf3fc65dfe22718"
integrity sha512-c86AOd2nLbQ75S3SnFM7PNasE4HPYJk8oLts88ImLEyy0p3gRfpjCzuLTYyS812M53OLIersRMKyd29UbxSKHw==
dependencies:
"@abp/core" "~6.0.0-rc.5"
"@abp/core" "~6.0.0"
"@fortawesome/fontawesome-free" "^5.15.4"
"@abp/jquery-form@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-6.0.0-rc.5.tgz#7c7f21b0314c93d618a4ba4ffba5d6134887e2c8"
integrity sha512-YSA3K/uvollrGR6xnyhtd4SPp+YmmDDYgL6HGygNSjl+JQbb0ZM/SSaN2TBi67Aq1FNs9TkOQegPIwVWB/LokQ==
"@abp/jquery-form@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-6.0.0.tgz#c8fef921f31622e7c6260550165bf32aa12260dc"
integrity sha512-jSw1Hf0R+7oQH8DP2ksue8ciMiYhxEJIcdw2wOKOhAPTheXbkuvFZxuAB1vI0EKe9ljLX0+c0UywWPfcwnhSpA==
dependencies:
"@abp/jquery" "~6.0.0-rc.5"
"@abp/jquery" "~6.0.0"
jquery-form "^4.3.0"
"@abp/jquery-validation-unobtrusive@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-6.0.0-rc.5.tgz#d649564c3fc079b91cb253e7537e8bbd62dae97d"
integrity sha512-i9Aa92au9HtxC9jo9WjNwHeDaem8dXFiB8jEHFbtzn74iZSF4ZYd0s+rgo7TscsKkXeiSMOy02FmYes6Ldpy1w==
"@abp/jquery-validation-unobtrusive@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-6.0.0.tgz#642472a3fbe080d4c40da367493e49e7ca46cff0"
integrity sha512-tKcbJsPjgFV8n8DY48MtB/4rMowxeJzFxQRKjRaMuYuMkrlSDmU7lh4YDAcfOOdGPMEYF3plBu/5wBnpLdURBA==
dependencies:
"@abp/jquery-validation" "~6.0.0-rc.5"
"@abp/jquery-validation" "~6.0.0"
jquery-validation-unobtrusive "^3.2.12"
"@abp/jquery-validation@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-6.0.0-rc.5.tgz#b61cd7e9be3d982aa12a579be7e9bcb8442ad03c"
integrity sha512-VdTvyRadDave2X6wTeqLlpeUQKaHohAdwB7ex57Y+WmXSsAlhB1Bwa33YjSkukpnRKYLpQ55KwVJ4iaSItyY2g==
"@abp/jquery-validation@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-6.0.0.tgz#a3fba4bcc24819f0a1d3e34eb8bd18ff9c50af08"
integrity sha512-ezMi9rB3R1EuGWBOBdnegvlHWfou4Qkppx7sBzpyaRfUagef1IhOrxDnOByviZP/53a31501FDM5Sn4qDu9G7Q==
dependencies:
"@abp/jquery" "~6.0.0-rc.5"
"@abp/jquery" "~6.0.0"
jquery-validation "^1.19.3"
"@abp/jquery@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-6.0.0-rc.5.tgz#c6e6d322512b26a57fc5a1e5fe4c0ea5da79a705"
integrity sha512-OKP96FFLpwaZnZZDLiwkzhE7bP0y4RCpeDtTrL5aLO/D9l7Vi66hZVAx4cliXTGwpu99joNFXlTmbwkilGqPMA==
"@abp/jquery@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-6.0.0.tgz#709de2b9109aaa3149b76faf8c9d7371f15c7069"
integrity sha512-mCDT1kepSgV2ecQfqVWXsqbbIqUCs33wBaQcnYpX+nTX1SsuiPZvDyqWYxDhKDzZ6E3kPuYv/c7+/InqXTbfCA==
dependencies:
"@abp/core" "~6.0.0-rc.5"
"@abp/core" "~6.0.0"
jquery "~3.6.0"
"@abp/lodash@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-6.0.0-rc.5.tgz#165107270460624a263cd88c8a7816a58cf41ca8"
integrity sha512-KieDq0v6wZB/kSZR2dJ+HKnPYHQng0udbxZqlha5dtlDJxRslz0eK9nVrB0VEzjs+xHrzTj10mpgyAjo21GR0Q==
"@abp/lodash@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-6.0.0.tgz#5f08f5cb262981cb6782587a05c1b3bd9f62eeef"
integrity sha512-3FNl1gZksfbRRXYQ8+PVer4OTHjIx31IYhHzHe766y6C1mDKnskQz7HaHEPQ3kMd6omyNPuj9Od9h4Y9fm3Bnw==
dependencies:
"@abp/core" "~6.0.0-rc.5"
"@abp/core" "~6.0.0"
lodash "^4.17.21"
"@abp/luxon@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-6.0.0-rc.5.tgz#e91b64da0b558c729f4b604a9b1bcbd35df40722"
integrity sha512-BgnkwH7JyMfmxVzkj1HGzwmjnQT6D2CZT5DzqnjtMN7JO5gQo20SE8QS5QHq7/LvaSI/34AeSCiCONWkMOufKg==
"@abp/luxon@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-6.0.0.tgz#764d3a6525c208d38631b1f0934b2762e1ddc512"
integrity sha512-Skzu4vjXSX5zKNVPND8V9/onqcElmjpY2UXO5XC+47Vd3+p4uSNjg9PG9/Eg9Y67Pw48AVpYlO/Kr6KcPlgEQQ==
dependencies:
"@abp/core" "~6.0.0-rc.5"
"@abp/core" "~6.0.0"
luxon "^2.3.0"
"@abp/malihu-custom-scrollbar-plugin@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-6.0.0-rc.5.tgz#61d23e5f7198b36a9faa1e6c79b04f2d5179e3c4"
integrity sha512-1xQIYhw+xX59dYEZ6o4dfZvfYSigXiWqh0M11O5Thfy6Ew0Vd3yYGp8+8xlCg5+ivsdYnIRmKHjdFpogYhyLiA==
"@abp/malihu-custom-scrollbar-plugin@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-6.0.0.tgz#abd5d95d0adad26efd5bb998089128ba4a1f83ad"
integrity sha512-/W4Rj30q9y+CJuNsVhDRE1FFLewuNykjbtdr2GGwlbp4+utE6aHJdBLfNlS0A0RRJN7B1RR25zWT2hrA5EwBqg==
dependencies:
"@abp/core" "~6.0.0-rc.5"
"@abp/core" "~6.0.0"
malihu-custom-scrollbar-plugin "^3.1.5"
"@abp/select2@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-6.0.0-rc.5.tgz#294eb907f85ef012b0b2f73e1b8561be3597cee6"
integrity sha512-P9tqcZbzC/ZSq8o0P2otTfSdSd9tBGyV6ngLUcZ2aA1R3+l4Lcp4rX9y81qPDaH9uLBOJkXd6AVTi11qBzPyZw==
"@abp/select2@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-6.0.0.tgz#72cd661069d3b5641f1a079bd6c8ce966524cb50"
integrity sha512-2XYEP3FgelO87D+5nTA0AeISNLrcGX5eAZkPbJo/9HL7xr0KxNNwc0SgtGM7mnxUNSb1KnDGGBhzglmWy9f0og==
dependencies:
"@abp/core" "~6.0.0-rc.5"
"@abp/core" "~6.0.0"
select2 "^4.0.13"
"@abp/sweetalert2@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-6.0.0-rc.5.tgz#baf7ef24a1551945bd476547c003056bb048409e"
integrity sha512-6N6+DkecO4AXEaCV09W9iRvZPQLn1sZaAFJBvzphwFVOWv3BivJTQCFJRQ5scqc31mWaZ4/UGjOdrq0a/qDiAQ==
"@abp/sweetalert2@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-6.0.0.tgz#61816fa63d3c01c045dfa1b9c706572ca74b054f"
integrity sha512-Bo3hlRN4//40YXYec3GFzHQRH1m2oWcFHOe2jrLre8aGZR2PLCurCjnB24ryi3kFTasOnVTf6N+RkBNOPdvweA==
dependencies:
"@abp/core" "~6.0.0-rc.5"
"@abp/core" "~6.0.0"
sweetalert2 "^11.3.6"
"@abp/timeago@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-6.0.0-rc.5.tgz#0dd52cf24574e10e523a5b6e90740a25123a7745"
integrity sha512-uIc9WZN7J7cqFsxCYt8egapQRGyBMFi8+7ega7OaxmO0R4t8+QisVOsyeXMQvWuF9M9gXKMKlrV5bP6nsnDg0A==
"@abp/timeago@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-6.0.0.tgz#8290a4d84a436007f4f5eb6e2990c64db7d5b27c"
integrity sha512-due1idv86iY9hMg+8TrC0JyFlydRklhlo+kcpOgNNTd9oCy/pJ/ShMDiTM/IcYiW8qwVBFYY9PH8JXGlxGDqrQ==
dependencies:
"@abp/jquery" "~6.0.0-rc.5"
"@abp/jquery" "~6.0.0"
timeago "^1.6.7"
"@abp/toastr@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-6.0.0-rc.5.tgz#8cfbe6d30b57282417feff3f1bccb5fc493c9215"
integrity sha512-UDn0+DP4BAULN9MERWP+QSJQdvZELhkaHcrwTEB80+wcNZ13xf2zShvO60+3rz63Nqf+/kwZcBMNFuwD2ekjww==
"@abp/toastr@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-6.0.0.tgz#62459b9541a20d41b875cf5e76489774c20f462b"
integrity sha512-LgZqsbKd3LIT7erc6aAMO04jBODtBiPDI3HnoCEc7CMu7HdJ22jlRkbBqXwRZsbbDuR35XEh77wYKegat3Yzgw==
dependencies:
"@abp/jquery" "~6.0.0-rc.5"
"@abp/jquery" "~6.0.0"
toastr "^2.1.4"
"@abp/utils@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-6.0.0-rc.5.tgz#c05df5bb5a776ea8a9bd4589d0df6a373bfff1ef"
integrity sha512-X/UGqMJu1vbz6WQOMP7+MXkUB3rIwnm/1PkmGOM+gFqmQJt21IEKbV/gG2/CNR4/QY02HJhj5v4/wm0UBEH56g==
"@abp/utils@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-6.0.0.tgz#62e5a363eea36f00d28ccf5d9b495dc63a4aa018"
integrity sha512-OMYSjdTy7QSofhjPvQ56I6Bw5B5juZ17KywOgkzPliMv6HVw1CT5BDLb8/Gp2jALj6Fu/4OLSa8WXBR6A4A0dw==
dependencies:
just-compare "^1.3.0"

@ -3,8 +3,8 @@
"name": "asp.net",
"private": true,
"dependencies": {
"@abp/aspnetcore.mvc.ui.theme.basic": "^6.0.0-rc.5",
"@abp/prismjs": "^6.0.0-rc.5"
"@abp/aspnetcore.mvc.ui.theme.basic": "^6.0.0",
"@abp/prismjs": "^6.0.0"
},
"devDependencies": {}
}

@ -2,37 +2,37 @@
# yarn lockfile v1
"@abp/aspnetcore.mvc.ui.theme.basic@^6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-6.0.0-rc.5.tgz#671940d72fd50e7eab5db922bcec2a27cdca28ed"
integrity sha512-w4cWXcF2aB5fF2J0Jco8ddPF1r522uSIc29zpvUWzUA0X4DC9m7QUairwVbsX5T3Xp4y6guLoizSMkfQe0Sb8A==
dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~6.0.0-rc.5"
"@abp/aspnetcore.mvc.ui.theme.shared@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-6.0.0-rc.5.tgz#d3f997b9f7b19b68e94df83dc5cf3053416d8da4"
integrity sha512-OX4iTN0tFAdkBJiYQAM1GFoqF5ZVcOZfo7N6xhscWqucXIVtcGut5fuL/qIWF8xSH6afN/wH//a0O5+DjGnPmw==
dependencies:
"@abp/aspnetcore.mvc.ui" "~6.0.0-rc.5"
"@abp/bootstrap" "~6.0.0-rc.5"
"@abp/bootstrap-datepicker" "~6.0.0-rc.5"
"@abp/datatables.net-bs5" "~6.0.0-rc.5"
"@abp/font-awesome" "~6.0.0-rc.5"
"@abp/jquery-form" "~6.0.0-rc.5"
"@abp/jquery-validation-unobtrusive" "~6.0.0-rc.5"
"@abp/lodash" "~6.0.0-rc.5"
"@abp/luxon" "~6.0.0-rc.5"
"@abp/malihu-custom-scrollbar-plugin" "~6.0.0-rc.5"
"@abp/select2" "~6.0.0-rc.5"
"@abp/sweetalert2" "~6.0.0-rc.5"
"@abp/timeago" "~6.0.0-rc.5"
"@abp/toastr" "~6.0.0-rc.5"
"@abp/aspnetcore.mvc.ui@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-6.0.0-rc.5.tgz#d7ab5693091c079dce6b5cfdd60832194881b571"
integrity sha512-U8NBcsL80joHsqQo+tnYkUwW+TyIwG5SRFZ3yfb2jTiu1KMlgGcY02+iTEZMF/BhQ3rPrxQ/pH2YmD6Ip095tw==
"@abp/aspnetcore.mvc.ui.theme.basic@^6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-6.0.0.tgz#7bef80e93a75fae848334ad847d031152cb7369a"
integrity sha512-YSnR6pfaWActO9fOndfhLJWF8Aj+p+yHcHTmTwmopTL4AdcjKM2mnGXzri9FN+jt9vxsyK2gxt+VtuHO87V8Xg==
dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~6.0.0"
"@abp/aspnetcore.mvc.ui.theme.shared@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-6.0.0.tgz#47ab51282347788018dbc64b3effd3159b2d89fe"
integrity sha512-BMZ7dZi58WZFSJK76SPvujb0vOaOWXqURzhAPmdjD/3+rsx/FVT6A394muh8Ko0Fm3A5/WE2NNuKvwmIk107/Q==
dependencies:
"@abp/aspnetcore.mvc.ui" "~6.0.0"
"@abp/bootstrap" "~6.0.0"
"@abp/bootstrap-datepicker" "~6.0.0"
"@abp/datatables.net-bs5" "~6.0.0"
"@abp/font-awesome" "~6.0.0"
"@abp/jquery-form" "~6.0.0"
"@abp/jquery-validation-unobtrusive" "~6.0.0"
"@abp/lodash" "~6.0.0"
"@abp/luxon" "~6.0.0"
"@abp/malihu-custom-scrollbar-plugin" "~6.0.0"
"@abp/select2" "~6.0.0"
"@abp/sweetalert2" "~6.0.0"
"@abp/timeago" "~6.0.0"
"@abp/toastr" "~6.0.0"
"@abp/aspnetcore.mvc.ui@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-6.0.0.tgz#f579d8d46f53cc7a417afbdf745e547db62a7c74"
integrity sha512-z6vyEGvGCwlaAY3OKNj8cH14cWYvvwuqJ+bHIVHQ4iwwcCa0la/dwjuBEu9eKesdaOLlCBIMxar3LQ9ltcGHHw==
dependencies:
ansi-colors "^4.1.1"
extend-object "^1.0.0"
@ -41,161 +41,161 @@
merge-stream "^2.0.0"
micromatch "^4.0.2"
"@abp/bootstrap-datepicker@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-6.0.0-rc.5.tgz#4fe0c9b107ae23261121afeb5b72053822b0747f"
integrity sha512-PztuCk/15vhGlisjvZTn6soIZAJp/Mqc0+ipV7Z4O+qBphvp2nFD5lfiVM/E0r2Ql8HzkOq3BO56ZVb0IMIw1g==
"@abp/bootstrap-datepicker@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-6.0.0.tgz#2e75d721ad647a1bb8fc01868b1a64076889051c"
integrity sha512-6ktejU2B0yE6mgVC43quOdw2P/tiOthaGPdYJ9ogso4qMjgoIdWiqNkvz9W8F3BQIj0Ot236lCQXgHOaos98vA==
dependencies:
bootstrap-datepicker "^1.9.0"
"@abp/bootstrap@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-6.0.0-rc.5.tgz#83b08282b4b1496b853179780a3b1e953975bdc3"
integrity sha512-EoiygyyRYwXMO6bbeLuqbfaaZuHUrOGgC9dtVxtyFWgCbWiRAERaHrAHQ12WmxnFXGvXGmy9pATfYQB4ALuLWQ==
"@abp/bootstrap@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-6.0.0.tgz#da3dfc3ed50df72531a7565608f386330cfa3552"
integrity sha512-hDAuG83+8tznKJlSDV+rN58yHhHA/TgDUjz3x+LC9un5SISbt7JAWdlcaRmx38ghfsHRJ9U/tlm3XvWGjYJQOQ==
dependencies:
"@abp/core" "~6.0.0-rc.5"
"@abp/core" "~6.0.0"
bootstrap "^5.1.3"
"@abp/clipboard@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-6.0.0-rc.5.tgz#071d3da1597a7ed706a60b75400ad5970b2a2eed"
integrity sha512-Vj1yvK7Vcqy1aZ9XIbqGDlwe4d1vneMIVA0hypAHtLi+0lLySgS8QAXUpXo0RkRoyksiTRuM2gRkJRZzdiXSNA==
"@abp/clipboard@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-6.0.0.tgz#eb9fd86a3660d33f85bfd29c6042ac3155f1e5ef"
integrity sha512-QwDap2HqynF0C5ybapQBO10RGen3B76eRs+4fzsOmLJYCDEa+bayj1wGwgfMx2Uezxb9Sd/DVEEn1qOC2D6PDQ==
dependencies:
"@abp/core" "~6.0.0-rc.5"
"@abp/core" "~6.0.0"
clipboard "^2.0.8"
"@abp/core@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-6.0.0-rc.5.tgz#09f9bfaca17383539e3b79554e26510ac27366fc"
integrity sha512-htOfVSUSaErPlXg5QraeOvIH0pcApYt/mvgnXTi49qZmzUJgzuZ7l8B2UC4KGLdyjhjHHY3Vy66jNrm98IsA2g==
"@abp/core@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-6.0.0.tgz#d0191fbf9b81db75bd48316ead4821dec073a9e2"
integrity sha512-X5hqT/Yat2BnTmUj2SlRTENv4tKGcu0Ex+eKPyNlVnk7bTnbmz+oYfYslkGlGni0/ocSYbS3exaQ2P+I84VSFg==
dependencies:
"@abp/utils" "~6.0.0-rc.5"
"@abp/utils" "~6.0.0"
"@abp/datatables.net-bs5@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-6.0.0-rc.5.tgz#a89a4b028ae3bdeef41be38442a79e51b959c51f"
integrity sha512-x2TvTfYkUOOuKakXYT/h9Qi2s1oUYO7PrX0kPuNjQo9Qa7GlDhH10AoyJeKu9AfB/PyczrEZn74IqOI8xh6gjA==
"@abp/datatables.net-bs5@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-6.0.0.tgz#f121500576ec5666498bfc8594b438fe63e3f609"
integrity sha512-bPQyHes9pRp8tLGWlDqizRs8pBid56koKr7JSryOapLQSGhvYFzqMztOtFTHsR5pgLeuuB0DT9cN3uHEjrLsWQ==
dependencies:
"@abp/datatables.net" "~6.0.0-rc.5"
"@abp/datatables.net" "~6.0.0"
datatables.net-bs5 "^1.11.4"
"@abp/datatables.net@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-6.0.0-rc.5.tgz#a3d8f7717f850346455abbeed6fa5ded752e47d3"
integrity sha512-h1LK1h8AKmp4oKfeHoFobnHImbj+BwtwcHU3xAUd7UF+tGBCmjBVNjaiPoUrTize+iwjZvBK5jea901NdJpWRA==
"@abp/datatables.net@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-6.0.0.tgz#9f9b1023399ced1e72d577c260fc4d5d1b3e12e2"
integrity sha512-LIgiyTJ7rek9Mt7P1rzIRcbcaWI3WAdTXFIwG8o4LcfEt7C24XEQI41fzIz4TeTqqRWKiM3LNT+pOaU6feT06w==
dependencies:
"@abp/jquery" "~6.0.0-rc.5"
"@abp/jquery" "~6.0.0"
datatables.net "^1.11.4"
"@abp/font-awesome@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-6.0.0-rc.5.tgz#5625867e26b36853053b0ff8561538ea59149365"
integrity sha512-KtZ9fOFzdQw03Xar68M7IExzLUyQR3zyxa/71vUNfspup3E6LkBXhKILm2nSmp1zJTPoGXRs7DiHO6CyBStBAg==
"@abp/font-awesome@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-6.0.0.tgz#843a52b3864516b49ed041f2ddf3fc65dfe22718"
integrity sha512-c86AOd2nLbQ75S3SnFM7PNasE4HPYJk8oLts88ImLEyy0p3gRfpjCzuLTYyS812M53OLIersRMKyd29UbxSKHw==
dependencies:
"@abp/core" "~6.0.0-rc.5"
"@abp/core" "~6.0.0"
"@fortawesome/fontawesome-free" "^5.15.4"
"@abp/jquery-form@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-6.0.0-rc.5.tgz#7c7f21b0314c93d618a4ba4ffba5d6134887e2c8"
integrity sha512-YSA3K/uvollrGR6xnyhtd4SPp+YmmDDYgL6HGygNSjl+JQbb0ZM/SSaN2TBi67Aq1FNs9TkOQegPIwVWB/LokQ==
"@abp/jquery-form@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-6.0.0.tgz#c8fef921f31622e7c6260550165bf32aa12260dc"
integrity sha512-jSw1Hf0R+7oQH8DP2ksue8ciMiYhxEJIcdw2wOKOhAPTheXbkuvFZxuAB1vI0EKe9ljLX0+c0UywWPfcwnhSpA==
dependencies:
"@abp/jquery" "~6.0.0-rc.5"
"@abp/jquery" "~6.0.0"
jquery-form "^4.3.0"
"@abp/jquery-validation-unobtrusive@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-6.0.0-rc.5.tgz#d649564c3fc079b91cb253e7537e8bbd62dae97d"
integrity sha512-i9Aa92au9HtxC9jo9WjNwHeDaem8dXFiB8jEHFbtzn74iZSF4ZYd0s+rgo7TscsKkXeiSMOy02FmYes6Ldpy1w==
"@abp/jquery-validation-unobtrusive@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-6.0.0.tgz#642472a3fbe080d4c40da367493e49e7ca46cff0"
integrity sha512-tKcbJsPjgFV8n8DY48MtB/4rMowxeJzFxQRKjRaMuYuMkrlSDmU7lh4YDAcfOOdGPMEYF3plBu/5wBnpLdURBA==
dependencies:
"@abp/jquery-validation" "~6.0.0-rc.5"
"@abp/jquery-validation" "~6.0.0"
jquery-validation-unobtrusive "^3.2.12"
"@abp/jquery-validation@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-6.0.0-rc.5.tgz#b61cd7e9be3d982aa12a579be7e9bcb8442ad03c"
integrity sha512-VdTvyRadDave2X6wTeqLlpeUQKaHohAdwB7ex57Y+WmXSsAlhB1Bwa33YjSkukpnRKYLpQ55KwVJ4iaSItyY2g==
"@abp/jquery-validation@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-6.0.0.tgz#a3fba4bcc24819f0a1d3e34eb8bd18ff9c50af08"
integrity sha512-ezMi9rB3R1EuGWBOBdnegvlHWfou4Qkppx7sBzpyaRfUagef1IhOrxDnOByviZP/53a31501FDM5Sn4qDu9G7Q==
dependencies:
"@abp/jquery" "~6.0.0-rc.5"
"@abp/jquery" "~6.0.0"
jquery-validation "^1.19.3"
"@abp/jquery@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-6.0.0-rc.5.tgz#c6e6d322512b26a57fc5a1e5fe4c0ea5da79a705"
integrity sha512-OKP96FFLpwaZnZZDLiwkzhE7bP0y4RCpeDtTrL5aLO/D9l7Vi66hZVAx4cliXTGwpu99joNFXlTmbwkilGqPMA==
"@abp/jquery@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-6.0.0.tgz#709de2b9109aaa3149b76faf8c9d7371f15c7069"
integrity sha512-mCDT1kepSgV2ecQfqVWXsqbbIqUCs33wBaQcnYpX+nTX1SsuiPZvDyqWYxDhKDzZ6E3kPuYv/c7+/InqXTbfCA==
dependencies:
"@abp/core" "~6.0.0-rc.5"
"@abp/core" "~6.0.0"
jquery "~3.6.0"
"@abp/lodash@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-6.0.0-rc.5.tgz#165107270460624a263cd88c8a7816a58cf41ca8"
integrity sha512-KieDq0v6wZB/kSZR2dJ+HKnPYHQng0udbxZqlha5dtlDJxRslz0eK9nVrB0VEzjs+xHrzTj10mpgyAjo21GR0Q==
"@abp/lodash@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-6.0.0.tgz#5f08f5cb262981cb6782587a05c1b3bd9f62eeef"
integrity sha512-3FNl1gZksfbRRXYQ8+PVer4OTHjIx31IYhHzHe766y6C1mDKnskQz7HaHEPQ3kMd6omyNPuj9Od9h4Y9fm3Bnw==
dependencies:
"@abp/core" "~6.0.0-rc.5"
"@abp/core" "~6.0.0"
lodash "^4.17.21"
"@abp/luxon@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-6.0.0-rc.5.tgz#e91b64da0b558c729f4b604a9b1bcbd35df40722"
integrity sha512-BgnkwH7JyMfmxVzkj1HGzwmjnQT6D2CZT5DzqnjtMN7JO5gQo20SE8QS5QHq7/LvaSI/34AeSCiCONWkMOufKg==
"@abp/luxon@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-6.0.0.tgz#764d3a6525c208d38631b1f0934b2762e1ddc512"
integrity sha512-Skzu4vjXSX5zKNVPND8V9/onqcElmjpY2UXO5XC+47Vd3+p4uSNjg9PG9/Eg9Y67Pw48AVpYlO/Kr6KcPlgEQQ==
dependencies:
"@abp/core" "~6.0.0-rc.5"
"@abp/core" "~6.0.0"
luxon "^2.3.0"
"@abp/malihu-custom-scrollbar-plugin@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-6.0.0-rc.5.tgz#61d23e5f7198b36a9faa1e6c79b04f2d5179e3c4"
integrity sha512-1xQIYhw+xX59dYEZ6o4dfZvfYSigXiWqh0M11O5Thfy6Ew0Vd3yYGp8+8xlCg5+ivsdYnIRmKHjdFpogYhyLiA==
"@abp/malihu-custom-scrollbar-plugin@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-6.0.0.tgz#abd5d95d0adad26efd5bb998089128ba4a1f83ad"
integrity sha512-/W4Rj30q9y+CJuNsVhDRE1FFLewuNykjbtdr2GGwlbp4+utE6aHJdBLfNlS0A0RRJN7B1RR25zWT2hrA5EwBqg==
dependencies:
"@abp/core" "~6.0.0-rc.5"
"@abp/core" "~6.0.0"
malihu-custom-scrollbar-plugin "^3.1.5"
"@abp/prismjs@^6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-6.0.0-rc.5.tgz#c908113295aed8ecf4b04c1691d9295b6af47964"
integrity sha512-SiRkUfqWf0VAwJ4nfassN+Me/0A6cIji2TWmSaKuOlen3Ph55iGy9od6nE5njnZqUAmuL8XqTisvt7Gx8Cd4DQ==
"@abp/prismjs@^6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-6.0.0.tgz#05f4ba60548035f7c88897e9792d8ed446860991"
integrity sha512-BtbX6kORlDhcmrnSXNw9Q1lnKNNvuMkaoQMmluNGFZXx1jUX9hfRkipD8Stbvjq85B9dzcVawocwP8Qu12Fn9A==
dependencies:
"@abp/clipboard" "~6.0.0-rc.5"
"@abp/core" "~6.0.0-rc.5"
"@abp/clipboard" "~6.0.0"
"@abp/core" "~6.0.0"
prismjs "^1.26.0"
"@abp/select2@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-6.0.0-rc.5.tgz#294eb907f85ef012b0b2f73e1b8561be3597cee6"
integrity sha512-P9tqcZbzC/ZSq8o0P2otTfSdSd9tBGyV6ngLUcZ2aA1R3+l4Lcp4rX9y81qPDaH9uLBOJkXd6AVTi11qBzPyZw==
"@abp/select2@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-6.0.0.tgz#72cd661069d3b5641f1a079bd6c8ce966524cb50"
integrity sha512-2XYEP3FgelO87D+5nTA0AeISNLrcGX5eAZkPbJo/9HL7xr0KxNNwc0SgtGM7mnxUNSb1KnDGGBhzglmWy9f0og==
dependencies:
"@abp/core" "~6.0.0-rc.5"
"@abp/core" "~6.0.0"
select2 "^4.0.13"
"@abp/sweetalert2@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-6.0.0-rc.5.tgz#baf7ef24a1551945bd476547c003056bb048409e"
integrity sha512-6N6+DkecO4AXEaCV09W9iRvZPQLn1sZaAFJBvzphwFVOWv3BivJTQCFJRQ5scqc31mWaZ4/UGjOdrq0a/qDiAQ==
"@abp/sweetalert2@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-6.0.0.tgz#61816fa63d3c01c045dfa1b9c706572ca74b054f"
integrity sha512-Bo3hlRN4//40YXYec3GFzHQRH1m2oWcFHOe2jrLre8aGZR2PLCurCjnB24ryi3kFTasOnVTf6N+RkBNOPdvweA==
dependencies:
"@abp/core" "~6.0.0-rc.5"
"@abp/core" "~6.0.0"
sweetalert2 "^11.3.6"
"@abp/timeago@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-6.0.0-rc.5.tgz#0dd52cf24574e10e523a5b6e90740a25123a7745"
integrity sha512-uIc9WZN7J7cqFsxCYt8egapQRGyBMFi8+7ega7OaxmO0R4t8+QisVOsyeXMQvWuF9M9gXKMKlrV5bP6nsnDg0A==
"@abp/timeago@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-6.0.0.tgz#8290a4d84a436007f4f5eb6e2990c64db7d5b27c"
integrity sha512-due1idv86iY9hMg+8TrC0JyFlydRklhlo+kcpOgNNTd9oCy/pJ/ShMDiTM/IcYiW8qwVBFYY9PH8JXGlxGDqrQ==
dependencies:
"@abp/jquery" "~6.0.0-rc.5"
"@abp/jquery" "~6.0.0"
timeago "^1.6.7"
"@abp/toastr@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-6.0.0-rc.5.tgz#8cfbe6d30b57282417feff3f1bccb5fc493c9215"
integrity sha512-UDn0+DP4BAULN9MERWP+QSJQdvZELhkaHcrwTEB80+wcNZ13xf2zShvO60+3rz63Nqf+/kwZcBMNFuwD2ekjww==
"@abp/toastr@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-6.0.0.tgz#62459b9541a20d41b875cf5e76489774c20f462b"
integrity sha512-LgZqsbKd3LIT7erc6aAMO04jBODtBiPDI3HnoCEc7CMu7HdJ22jlRkbBqXwRZsbbDuR35XEh77wYKegat3Yzgw==
dependencies:
"@abp/jquery" "~6.0.0-rc.5"
"@abp/jquery" "~6.0.0"
toastr "^2.1.4"
"@abp/utils@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-6.0.0-rc.5.tgz#c05df5bb5a776ea8a9bd4589d0df6a373bfff1ef"
integrity sha512-X/UGqMJu1vbz6WQOMP7+MXkUB3rIwnm/1PkmGOM+gFqmQJt21IEKbV/gG2/CNR4/QY02HJhj5v4/wm0UBEH56g==
"@abp/utils@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-6.0.0.tgz#62e5a363eea36f00d28ccf5d9b495dc63a4aa018"
integrity sha512-OMYSjdTy7QSofhjPvQ56I6Bw5B5juZ17KywOgkzPliMv6HVw1CT5BDLb8/Gp2jALj6Fu/4OLSa8WXBR6A4A0dw==
dependencies:
just-compare "^1.3.0"

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

@ -2,37 +2,37 @@
# yarn lockfile v1
"@abp/aspnetcore.mvc.ui.theme.basic@^6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-6.0.0-rc.5.tgz#671940d72fd50e7eab5db922bcec2a27cdca28ed"
integrity sha512-w4cWXcF2aB5fF2J0Jco8ddPF1r522uSIc29zpvUWzUA0X4DC9m7QUairwVbsX5T3Xp4y6guLoizSMkfQe0Sb8A==
dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~6.0.0-rc.5"
"@abp/aspnetcore.mvc.ui.theme.shared@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-6.0.0-rc.5.tgz#d3f997b9f7b19b68e94df83dc5cf3053416d8da4"
integrity sha512-OX4iTN0tFAdkBJiYQAM1GFoqF5ZVcOZfo7N6xhscWqucXIVtcGut5fuL/qIWF8xSH6afN/wH//a0O5+DjGnPmw==
dependencies:
"@abp/aspnetcore.mvc.ui" "~6.0.0-rc.5"
"@abp/bootstrap" "~6.0.0-rc.5"
"@abp/bootstrap-datepicker" "~6.0.0-rc.5"
"@abp/datatables.net-bs5" "~6.0.0-rc.5"
"@abp/font-awesome" "~6.0.0-rc.5"
"@abp/jquery-form" "~6.0.0-rc.5"
"@abp/jquery-validation-unobtrusive" "~6.0.0-rc.5"
"@abp/lodash" "~6.0.0-rc.5"
"@abp/luxon" "~6.0.0-rc.5"
"@abp/malihu-custom-scrollbar-plugin" "~6.0.0-rc.5"
"@abp/select2" "~6.0.0-rc.5"
"@abp/sweetalert2" "~6.0.0-rc.5"
"@abp/timeago" "~6.0.0-rc.5"
"@abp/toastr" "~6.0.0-rc.5"
"@abp/aspnetcore.mvc.ui@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-6.0.0-rc.5.tgz#d7ab5693091c079dce6b5cfdd60832194881b571"
integrity sha512-U8NBcsL80joHsqQo+tnYkUwW+TyIwG5SRFZ3yfb2jTiu1KMlgGcY02+iTEZMF/BhQ3rPrxQ/pH2YmD6Ip095tw==
"@abp/aspnetcore.mvc.ui.theme.basic@^6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-6.0.0.tgz#7bef80e93a75fae848334ad847d031152cb7369a"
integrity sha512-YSnR6pfaWActO9fOndfhLJWF8Aj+p+yHcHTmTwmopTL4AdcjKM2mnGXzri9FN+jt9vxsyK2gxt+VtuHO87V8Xg==
dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~6.0.0"
"@abp/aspnetcore.mvc.ui.theme.shared@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-6.0.0.tgz#47ab51282347788018dbc64b3effd3159b2d89fe"
integrity sha512-BMZ7dZi58WZFSJK76SPvujb0vOaOWXqURzhAPmdjD/3+rsx/FVT6A394muh8Ko0Fm3A5/WE2NNuKvwmIk107/Q==
dependencies:
"@abp/aspnetcore.mvc.ui" "~6.0.0"
"@abp/bootstrap" "~6.0.0"
"@abp/bootstrap-datepicker" "~6.0.0"
"@abp/datatables.net-bs5" "~6.0.0"
"@abp/font-awesome" "~6.0.0"
"@abp/jquery-form" "~6.0.0"
"@abp/jquery-validation-unobtrusive" "~6.0.0"
"@abp/lodash" "~6.0.0"
"@abp/luxon" "~6.0.0"
"@abp/malihu-custom-scrollbar-plugin" "~6.0.0"
"@abp/select2" "~6.0.0"
"@abp/sweetalert2" "~6.0.0"
"@abp/timeago" "~6.0.0"
"@abp/toastr" "~6.0.0"
"@abp/aspnetcore.mvc.ui@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-6.0.0.tgz#f579d8d46f53cc7a417afbdf745e547db62a7c74"
integrity sha512-z6vyEGvGCwlaAY3OKNj8cH14cWYvvwuqJ+bHIVHQ4iwwcCa0la/dwjuBEu9eKesdaOLlCBIMxar3LQ9ltcGHHw==
dependencies:
ansi-colors "^4.1.1"
extend-object "^1.0.0"
@ -41,187 +41,187 @@
merge-stream "^2.0.0"
micromatch "^4.0.2"
"@abp/blogging@^6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/blogging/-/blogging-6.0.0-rc.5.tgz#3556fa57cc3e37bbb6437b0617139c9c3ec41556"
integrity sha512-oMonxRWUmN0qTGqclvr2Tb+f51qf1lzkTCJsU9WsjuT120MD8xlPS5Gpv2au5emTDsWbc11fdNs3nG56Ahwxgg==
"@abp/blogging@^6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/blogging/-/blogging-6.0.0.tgz#b9c8d02bfa86885c61a8869c10e812042b27c942"
integrity sha512-XXqj1bflLFZIZl3EOggfEP4nHtK/Ii5+lXkheoQJSCSjGmhW2jiTrLKs6blwqEYdN4KK/8zs2rRpHz1ACaaf0Q==
dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~6.0.0-rc.5"
"@abp/owl.carousel" "~6.0.0-rc.5"
"@abp/prismjs" "~6.0.0-rc.5"
"@abp/tui-editor" "~6.0.0-rc.5"
"@abp/aspnetcore.mvc.ui.theme.shared" "~6.0.0"
"@abp/owl.carousel" "~6.0.0"
"@abp/prismjs" "~6.0.0"
"@abp/tui-editor" "~6.0.0"
"@abp/bootstrap-datepicker@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-6.0.0-rc.5.tgz#4fe0c9b107ae23261121afeb5b72053822b0747f"
integrity sha512-PztuCk/15vhGlisjvZTn6soIZAJp/Mqc0+ipV7Z4O+qBphvp2nFD5lfiVM/E0r2Ql8HzkOq3BO56ZVb0IMIw1g==
"@abp/bootstrap-datepicker@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-6.0.0.tgz#2e75d721ad647a1bb8fc01868b1a64076889051c"
integrity sha512-6ktejU2B0yE6mgVC43quOdw2P/tiOthaGPdYJ9ogso4qMjgoIdWiqNkvz9W8F3BQIj0Ot236lCQXgHOaos98vA==
dependencies:
bootstrap-datepicker "^1.9.0"
"@abp/bootstrap@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-6.0.0-rc.5.tgz#83b08282b4b1496b853179780a3b1e953975bdc3"
integrity sha512-EoiygyyRYwXMO6bbeLuqbfaaZuHUrOGgC9dtVxtyFWgCbWiRAERaHrAHQ12WmxnFXGvXGmy9pATfYQB4ALuLWQ==
"@abp/bootstrap@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-6.0.0.tgz#da3dfc3ed50df72531a7565608f386330cfa3552"
integrity sha512-hDAuG83+8tznKJlSDV+rN58yHhHA/TgDUjz3x+LC9un5SISbt7JAWdlcaRmx38ghfsHRJ9U/tlm3XvWGjYJQOQ==
dependencies:
"@abp/core" "~6.0.0-rc.5"
"@abp/core" "~6.0.0"
bootstrap "^5.1.3"
"@abp/clipboard@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-6.0.0-rc.5.tgz#071d3da1597a7ed706a60b75400ad5970b2a2eed"
integrity sha512-Vj1yvK7Vcqy1aZ9XIbqGDlwe4d1vneMIVA0hypAHtLi+0lLySgS8QAXUpXo0RkRoyksiTRuM2gRkJRZzdiXSNA==
"@abp/clipboard@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-6.0.0.tgz#eb9fd86a3660d33f85bfd29c6042ac3155f1e5ef"
integrity sha512-QwDap2HqynF0C5ybapQBO10RGen3B76eRs+4fzsOmLJYCDEa+bayj1wGwgfMx2Uezxb9Sd/DVEEn1qOC2D6PDQ==
dependencies:
"@abp/core" "~6.0.0-rc.5"
"@abp/core" "~6.0.0"
clipboard "^2.0.8"
"@abp/core@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-6.0.0-rc.5.tgz#09f9bfaca17383539e3b79554e26510ac27366fc"
integrity sha512-htOfVSUSaErPlXg5QraeOvIH0pcApYt/mvgnXTi49qZmzUJgzuZ7l8B2UC4KGLdyjhjHHY3Vy66jNrm98IsA2g==
"@abp/core@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-6.0.0.tgz#d0191fbf9b81db75bd48316ead4821dec073a9e2"
integrity sha512-X5hqT/Yat2BnTmUj2SlRTENv4tKGcu0Ex+eKPyNlVnk7bTnbmz+oYfYslkGlGni0/ocSYbS3exaQ2P+I84VSFg==
dependencies:
"@abp/utils" "~6.0.0-rc.5"
"@abp/utils" "~6.0.0"
"@abp/datatables.net-bs5@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-6.0.0-rc.5.tgz#a89a4b028ae3bdeef41be38442a79e51b959c51f"
integrity sha512-x2TvTfYkUOOuKakXYT/h9Qi2s1oUYO7PrX0kPuNjQo9Qa7GlDhH10AoyJeKu9AfB/PyczrEZn74IqOI8xh6gjA==
"@abp/datatables.net-bs5@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-6.0.0.tgz#f121500576ec5666498bfc8594b438fe63e3f609"
integrity sha512-bPQyHes9pRp8tLGWlDqizRs8pBid56koKr7JSryOapLQSGhvYFzqMztOtFTHsR5pgLeuuB0DT9cN3uHEjrLsWQ==
dependencies:
"@abp/datatables.net" "~6.0.0-rc.5"
"@abp/datatables.net" "~6.0.0"
datatables.net-bs5 "^1.11.4"
"@abp/datatables.net@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-6.0.0-rc.5.tgz#a3d8f7717f850346455abbeed6fa5ded752e47d3"
integrity sha512-h1LK1h8AKmp4oKfeHoFobnHImbj+BwtwcHU3xAUd7UF+tGBCmjBVNjaiPoUrTize+iwjZvBK5jea901NdJpWRA==
"@abp/datatables.net@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-6.0.0.tgz#9f9b1023399ced1e72d577c260fc4d5d1b3e12e2"
integrity sha512-LIgiyTJ7rek9Mt7P1rzIRcbcaWI3WAdTXFIwG8o4LcfEt7C24XEQI41fzIz4TeTqqRWKiM3LNT+pOaU6feT06w==
dependencies:
"@abp/jquery" "~6.0.0-rc.5"
"@abp/jquery" "~6.0.0"
datatables.net "^1.11.4"
"@abp/font-awesome@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-6.0.0-rc.5.tgz#5625867e26b36853053b0ff8561538ea59149365"
integrity sha512-KtZ9fOFzdQw03Xar68M7IExzLUyQR3zyxa/71vUNfspup3E6LkBXhKILm2nSmp1zJTPoGXRs7DiHO6CyBStBAg==
"@abp/font-awesome@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-6.0.0.tgz#843a52b3864516b49ed041f2ddf3fc65dfe22718"
integrity sha512-c86AOd2nLbQ75S3SnFM7PNasE4HPYJk8oLts88ImLEyy0p3gRfpjCzuLTYyS812M53OLIersRMKyd29UbxSKHw==
dependencies:
"@abp/core" "~6.0.0-rc.5"
"@abp/core" "~6.0.0"
"@fortawesome/fontawesome-free" "^5.15.4"
"@abp/jquery-form@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-6.0.0-rc.5.tgz#7c7f21b0314c93d618a4ba4ffba5d6134887e2c8"
integrity sha512-YSA3K/uvollrGR6xnyhtd4SPp+YmmDDYgL6HGygNSjl+JQbb0ZM/SSaN2TBi67Aq1FNs9TkOQegPIwVWB/LokQ==
"@abp/jquery-form@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-6.0.0.tgz#c8fef921f31622e7c6260550165bf32aa12260dc"
integrity sha512-jSw1Hf0R+7oQH8DP2ksue8ciMiYhxEJIcdw2wOKOhAPTheXbkuvFZxuAB1vI0EKe9ljLX0+c0UywWPfcwnhSpA==
dependencies:
"@abp/jquery" "~6.0.0-rc.5"
"@abp/jquery" "~6.0.0"
jquery-form "^4.3.0"
"@abp/jquery-validation-unobtrusive@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-6.0.0-rc.5.tgz#d649564c3fc079b91cb253e7537e8bbd62dae97d"
integrity sha512-i9Aa92au9HtxC9jo9WjNwHeDaem8dXFiB8jEHFbtzn74iZSF4ZYd0s+rgo7TscsKkXeiSMOy02FmYes6Ldpy1w==
"@abp/jquery-validation-unobtrusive@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-6.0.0.tgz#642472a3fbe080d4c40da367493e49e7ca46cff0"
integrity sha512-tKcbJsPjgFV8n8DY48MtB/4rMowxeJzFxQRKjRaMuYuMkrlSDmU7lh4YDAcfOOdGPMEYF3plBu/5wBnpLdURBA==
dependencies:
"@abp/jquery-validation" "~6.0.0-rc.5"
"@abp/jquery-validation" "~6.0.0"
jquery-validation-unobtrusive "^3.2.12"
"@abp/jquery-validation@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-6.0.0-rc.5.tgz#b61cd7e9be3d982aa12a579be7e9bcb8442ad03c"
integrity sha512-VdTvyRadDave2X6wTeqLlpeUQKaHohAdwB7ex57Y+WmXSsAlhB1Bwa33YjSkukpnRKYLpQ55KwVJ4iaSItyY2g==
"@abp/jquery-validation@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-6.0.0.tgz#a3fba4bcc24819f0a1d3e34eb8bd18ff9c50af08"
integrity sha512-ezMi9rB3R1EuGWBOBdnegvlHWfou4Qkppx7sBzpyaRfUagef1IhOrxDnOByviZP/53a31501FDM5Sn4qDu9G7Q==
dependencies:
"@abp/jquery" "~6.0.0-rc.5"
"@abp/jquery" "~6.0.0"
jquery-validation "^1.19.3"
"@abp/jquery@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-6.0.0-rc.5.tgz#c6e6d322512b26a57fc5a1e5fe4c0ea5da79a705"
integrity sha512-OKP96FFLpwaZnZZDLiwkzhE7bP0y4RCpeDtTrL5aLO/D9l7Vi66hZVAx4cliXTGwpu99joNFXlTmbwkilGqPMA==
"@abp/jquery@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-6.0.0.tgz#709de2b9109aaa3149b76faf8c9d7371f15c7069"
integrity sha512-mCDT1kepSgV2ecQfqVWXsqbbIqUCs33wBaQcnYpX+nTX1SsuiPZvDyqWYxDhKDzZ6E3kPuYv/c7+/InqXTbfCA==
dependencies:
"@abp/core" "~6.0.0-rc.5"
"@abp/core" "~6.0.0"
jquery "~3.6.0"
"@abp/lodash@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-6.0.0-rc.5.tgz#165107270460624a263cd88c8a7816a58cf41ca8"
integrity sha512-KieDq0v6wZB/kSZR2dJ+HKnPYHQng0udbxZqlha5dtlDJxRslz0eK9nVrB0VEzjs+xHrzTj10mpgyAjo21GR0Q==
"@abp/lodash@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-6.0.0.tgz#5f08f5cb262981cb6782587a05c1b3bd9f62eeef"
integrity sha512-3FNl1gZksfbRRXYQ8+PVer4OTHjIx31IYhHzHe766y6C1mDKnskQz7HaHEPQ3kMd6omyNPuj9Od9h4Y9fm3Bnw==
dependencies:
"@abp/core" "~6.0.0-rc.5"
"@abp/core" "~6.0.0"
lodash "^4.17.21"
"@abp/luxon@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-6.0.0-rc.5.tgz#e91b64da0b558c729f4b604a9b1bcbd35df40722"
integrity sha512-BgnkwH7JyMfmxVzkj1HGzwmjnQT6D2CZT5DzqnjtMN7JO5gQo20SE8QS5QHq7/LvaSI/34AeSCiCONWkMOufKg==
"@abp/luxon@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-6.0.0.tgz#764d3a6525c208d38631b1f0934b2762e1ddc512"
integrity sha512-Skzu4vjXSX5zKNVPND8V9/onqcElmjpY2UXO5XC+47Vd3+p4uSNjg9PG9/Eg9Y67Pw48AVpYlO/Kr6KcPlgEQQ==
dependencies:
"@abp/core" "~6.0.0-rc.5"
"@abp/core" "~6.0.0"
luxon "^2.3.0"
"@abp/malihu-custom-scrollbar-plugin@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-6.0.0-rc.5.tgz#61d23e5f7198b36a9faa1e6c79b04f2d5179e3c4"
integrity sha512-1xQIYhw+xX59dYEZ6o4dfZvfYSigXiWqh0M11O5Thfy6Ew0Vd3yYGp8+8xlCg5+ivsdYnIRmKHjdFpogYhyLiA==
"@abp/malihu-custom-scrollbar-plugin@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-6.0.0.tgz#abd5d95d0adad26efd5bb998089128ba4a1f83ad"
integrity sha512-/W4Rj30q9y+CJuNsVhDRE1FFLewuNykjbtdr2GGwlbp4+utE6aHJdBLfNlS0A0RRJN7B1RR25zWT2hrA5EwBqg==
dependencies:
"@abp/core" "~6.0.0-rc.5"
"@abp/core" "~6.0.0"
malihu-custom-scrollbar-plugin "^3.1.5"
"@abp/owl.carousel@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/owl.carousel/-/owl.carousel-6.0.0-rc.5.tgz#19dabc93a7d59059f9b544176969d0a30b9d321c"
integrity sha512-mF2S5vnAZ57E5poif0uYdJsuQfdAmis+s/8adlz0xHp8PU8A8LeTYsCY43HDU34WP+oCPeT8DpcGRAm/B0BE8Q==
"@abp/owl.carousel@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/owl.carousel/-/owl.carousel-6.0.0.tgz#58c5b069c61e6ecf9894d83d8a65661bf847348b"
integrity sha512-eIh2pJXsRojJpdyiL4r86Nak/yGMf6kVPIFk7+u+VXZBAGxc6svf+l43fCOl8Xq/LHdm2JUeMp1lY3Zf1or8CQ==
dependencies:
"@abp/core" "~6.0.0-rc.5"
"@abp/core" "~6.0.0"
owl.carousel "^2.3.4"
"@abp/prismjs@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-6.0.0-rc.5.tgz#c908113295aed8ecf4b04c1691d9295b6af47964"
integrity sha512-SiRkUfqWf0VAwJ4nfassN+Me/0A6cIji2TWmSaKuOlen3Ph55iGy9od6nE5njnZqUAmuL8XqTisvt7Gx8Cd4DQ==
"@abp/prismjs@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-6.0.0.tgz#05f4ba60548035f7c88897e9792d8ed446860991"
integrity sha512-BtbX6kORlDhcmrnSXNw9Q1lnKNNvuMkaoQMmluNGFZXx1jUX9hfRkipD8Stbvjq85B9dzcVawocwP8Qu12Fn9A==
dependencies:
"@abp/clipboard" "~6.0.0-rc.5"
"@abp/core" "~6.0.0-rc.5"
"@abp/clipboard" "~6.0.0"
"@abp/core" "~6.0.0"
prismjs "^1.26.0"
"@abp/select2@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-6.0.0-rc.5.tgz#294eb907f85ef012b0b2f73e1b8561be3597cee6"
integrity sha512-P9tqcZbzC/ZSq8o0P2otTfSdSd9tBGyV6ngLUcZ2aA1R3+l4Lcp4rX9y81qPDaH9uLBOJkXd6AVTi11qBzPyZw==
"@abp/select2@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-6.0.0.tgz#72cd661069d3b5641f1a079bd6c8ce966524cb50"
integrity sha512-2XYEP3FgelO87D+5nTA0AeISNLrcGX5eAZkPbJo/9HL7xr0KxNNwc0SgtGM7mnxUNSb1KnDGGBhzglmWy9f0og==
dependencies:
"@abp/core" "~6.0.0-rc.5"
"@abp/core" "~6.0.0"
select2 "^4.0.13"
"@abp/sweetalert2@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-6.0.0-rc.5.tgz#baf7ef24a1551945bd476547c003056bb048409e"
integrity sha512-6N6+DkecO4AXEaCV09W9iRvZPQLn1sZaAFJBvzphwFVOWv3BivJTQCFJRQ5scqc31mWaZ4/UGjOdrq0a/qDiAQ==
"@abp/sweetalert2@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-6.0.0.tgz#61816fa63d3c01c045dfa1b9c706572ca74b054f"
integrity sha512-Bo3hlRN4//40YXYec3GFzHQRH1m2oWcFHOe2jrLre8aGZR2PLCurCjnB24ryi3kFTasOnVTf6N+RkBNOPdvweA==
dependencies:
"@abp/core" "~6.0.0-rc.5"
"@abp/core" "~6.0.0"
sweetalert2 "^11.3.6"
"@abp/timeago@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-6.0.0-rc.5.tgz#0dd52cf24574e10e523a5b6e90740a25123a7745"
integrity sha512-uIc9WZN7J7cqFsxCYt8egapQRGyBMFi8+7ega7OaxmO0R4t8+QisVOsyeXMQvWuF9M9gXKMKlrV5bP6nsnDg0A==
"@abp/timeago@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-6.0.0.tgz#8290a4d84a436007f4f5eb6e2990c64db7d5b27c"
integrity sha512-due1idv86iY9hMg+8TrC0JyFlydRklhlo+kcpOgNNTd9oCy/pJ/ShMDiTM/IcYiW8qwVBFYY9PH8JXGlxGDqrQ==
dependencies:
"@abp/jquery" "~6.0.0-rc.5"
"@abp/jquery" "~6.0.0"
timeago "^1.6.7"
"@abp/toastr@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-6.0.0-rc.5.tgz#8cfbe6d30b57282417feff3f1bccb5fc493c9215"
integrity sha512-UDn0+DP4BAULN9MERWP+QSJQdvZELhkaHcrwTEB80+wcNZ13xf2zShvO60+3rz63Nqf+/kwZcBMNFuwD2ekjww==
"@abp/toastr@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-6.0.0.tgz#62459b9541a20d41b875cf5e76489774c20f462b"
integrity sha512-LgZqsbKd3LIT7erc6aAMO04jBODtBiPDI3HnoCEc7CMu7HdJ22jlRkbBqXwRZsbbDuR35XEh77wYKegat3Yzgw==
dependencies:
"@abp/jquery" "~6.0.0-rc.5"
"@abp/jquery" "~6.0.0"
toastr "^2.1.4"
"@abp/tui-editor@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/tui-editor/-/tui-editor-6.0.0-rc.5.tgz#9d9e6035d8b145d9d7ebe9f236ecf2c140f00a6b"
integrity sha512-Q+Nx+nvqj7iUUDH4uCHxxJ2dZssJ6nxzNmIhlL5jW2rAotQGbUkw1ByQeFJBA83qGVD8whlBZUKNEIz06JYcvA==
"@abp/tui-editor@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/tui-editor/-/tui-editor-6.0.0.tgz#907059be960ee24f75ac3418800e9601edfad672"
integrity sha512-6xLoH0DcZGBlXazPEVBA7sJP4kaNG26+aYOTa3g21cl4dgiMmUqzFV+XiEEUbyOkAPyuW+MJXWCeH1R496dx9A==
dependencies:
"@abp/jquery" "~6.0.0-rc.5"
"@abp/prismjs" "~6.0.0-rc.5"
"@abp/jquery" "~6.0.0"
"@abp/prismjs" "~6.0.0"
"@abp/utils@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-6.0.0-rc.5.tgz#c05df5bb5a776ea8a9bd4589d0df6a373bfff1ef"
integrity sha512-X/UGqMJu1vbz6WQOMP7+MXkUB3rIwnm/1PkmGOM+gFqmQJt21IEKbV/gG2/CNR4/QY02HJhj5v4/wm0UBEH56g==
"@abp/utils@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-6.0.0.tgz#62e5a363eea36f00d28ccf5d9b495dc63a4aa018"
integrity sha512-OMYSjdTy7QSofhjPvQ56I6Bw5B5juZ17KywOgkzPliMv6HVw1CT5BDLb8/Gp2jALj6Fu/4OLSa8WXBR6A4A0dw==
dependencies:
just-compare "^1.3.0"

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

@ -2,37 +2,37 @@
# yarn lockfile v1
"@abp/aspnetcore.mvc.ui.theme.basic@^6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-6.0.0-rc.5.tgz#671940d72fd50e7eab5db922bcec2a27cdca28ed"
integrity sha512-w4cWXcF2aB5fF2J0Jco8ddPF1r522uSIc29zpvUWzUA0X4DC9m7QUairwVbsX5T3Xp4y6guLoizSMkfQe0Sb8A==
dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~6.0.0-rc.5"
"@abp/aspnetcore.mvc.ui.theme.shared@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-6.0.0-rc.5.tgz#d3f997b9f7b19b68e94df83dc5cf3053416d8da4"
integrity sha512-OX4iTN0tFAdkBJiYQAM1GFoqF5ZVcOZfo7N6xhscWqucXIVtcGut5fuL/qIWF8xSH6afN/wH//a0O5+DjGnPmw==
dependencies:
"@abp/aspnetcore.mvc.ui" "~6.0.0-rc.5"
"@abp/bootstrap" "~6.0.0-rc.5"
"@abp/bootstrap-datepicker" "~6.0.0-rc.5"
"@abp/datatables.net-bs5" "~6.0.0-rc.5"
"@abp/font-awesome" "~6.0.0-rc.5"
"@abp/jquery-form" "~6.0.0-rc.5"
"@abp/jquery-validation-unobtrusive" "~6.0.0-rc.5"
"@abp/lodash" "~6.0.0-rc.5"
"@abp/luxon" "~6.0.0-rc.5"
"@abp/malihu-custom-scrollbar-plugin" "~6.0.0-rc.5"
"@abp/select2" "~6.0.0-rc.5"
"@abp/sweetalert2" "~6.0.0-rc.5"
"@abp/timeago" "~6.0.0-rc.5"
"@abp/toastr" "~6.0.0-rc.5"
"@abp/aspnetcore.mvc.ui@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-6.0.0-rc.5.tgz#d7ab5693091c079dce6b5cfdd60832194881b571"
integrity sha512-U8NBcsL80joHsqQo+tnYkUwW+TyIwG5SRFZ3yfb2jTiu1KMlgGcY02+iTEZMF/BhQ3rPrxQ/pH2YmD6Ip095tw==
"@abp/aspnetcore.mvc.ui.theme.basic@^6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-6.0.0.tgz#7bef80e93a75fae848334ad847d031152cb7369a"
integrity sha512-YSnR6pfaWActO9fOndfhLJWF8Aj+p+yHcHTmTwmopTL4AdcjKM2mnGXzri9FN+jt9vxsyK2gxt+VtuHO87V8Xg==
dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~6.0.0"
"@abp/aspnetcore.mvc.ui.theme.shared@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-6.0.0.tgz#47ab51282347788018dbc64b3effd3159b2d89fe"
integrity sha512-BMZ7dZi58WZFSJK76SPvujb0vOaOWXqURzhAPmdjD/3+rsx/FVT6A394muh8Ko0Fm3A5/WE2NNuKvwmIk107/Q==
dependencies:
"@abp/aspnetcore.mvc.ui" "~6.0.0"
"@abp/bootstrap" "~6.0.0"
"@abp/bootstrap-datepicker" "~6.0.0"
"@abp/datatables.net-bs5" "~6.0.0"
"@abp/font-awesome" "~6.0.0"
"@abp/jquery-form" "~6.0.0"
"@abp/jquery-validation-unobtrusive" "~6.0.0"
"@abp/lodash" "~6.0.0"
"@abp/luxon" "~6.0.0"
"@abp/malihu-custom-scrollbar-plugin" "~6.0.0"
"@abp/select2" "~6.0.0"
"@abp/sweetalert2" "~6.0.0"
"@abp/timeago" "~6.0.0"
"@abp/toastr" "~6.0.0"
"@abp/aspnetcore.mvc.ui@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-6.0.0.tgz#f579d8d46f53cc7a417afbdf745e547db62a7c74"
integrity sha512-z6vyEGvGCwlaAY3OKNj8cH14cWYvvwuqJ+bHIVHQ4iwwcCa0la/dwjuBEu9eKesdaOLlCBIMxar3LQ9ltcGHHw==
dependencies:
ansi-colors "^4.1.1"
extend-object "^1.0.0"
@ -41,144 +41,144 @@
merge-stream "^2.0.0"
micromatch "^4.0.2"
"@abp/bootstrap-datepicker@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-6.0.0-rc.5.tgz#4fe0c9b107ae23261121afeb5b72053822b0747f"
integrity sha512-PztuCk/15vhGlisjvZTn6soIZAJp/Mqc0+ipV7Z4O+qBphvp2nFD5lfiVM/E0r2Ql8HzkOq3BO56ZVb0IMIw1g==
"@abp/bootstrap-datepicker@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-6.0.0.tgz#2e75d721ad647a1bb8fc01868b1a64076889051c"
integrity sha512-6ktejU2B0yE6mgVC43quOdw2P/tiOthaGPdYJ9ogso4qMjgoIdWiqNkvz9W8F3BQIj0Ot236lCQXgHOaos98vA==
dependencies:
bootstrap-datepicker "^1.9.0"
"@abp/bootstrap@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-6.0.0-rc.5.tgz#83b08282b4b1496b853179780a3b1e953975bdc3"
integrity sha512-EoiygyyRYwXMO6bbeLuqbfaaZuHUrOGgC9dtVxtyFWgCbWiRAERaHrAHQ12WmxnFXGvXGmy9pATfYQB4ALuLWQ==
"@abp/bootstrap@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-6.0.0.tgz#da3dfc3ed50df72531a7565608f386330cfa3552"
integrity sha512-hDAuG83+8tznKJlSDV+rN58yHhHA/TgDUjz3x+LC9un5SISbt7JAWdlcaRmx38ghfsHRJ9U/tlm3XvWGjYJQOQ==
dependencies:
"@abp/core" "~6.0.0-rc.5"
"@abp/core" "~6.0.0"
bootstrap "^5.1.3"
"@abp/core@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-6.0.0-rc.5.tgz#09f9bfaca17383539e3b79554e26510ac27366fc"
integrity sha512-htOfVSUSaErPlXg5QraeOvIH0pcApYt/mvgnXTi49qZmzUJgzuZ7l8B2UC4KGLdyjhjHHY3Vy66jNrm98IsA2g==
"@abp/core@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-6.0.0.tgz#d0191fbf9b81db75bd48316ead4821dec073a9e2"
integrity sha512-X5hqT/Yat2BnTmUj2SlRTENv4tKGcu0Ex+eKPyNlVnk7bTnbmz+oYfYslkGlGni0/ocSYbS3exaQ2P+I84VSFg==
dependencies:
"@abp/utils" "~6.0.0-rc.5"
"@abp/utils" "~6.0.0"
"@abp/datatables.net-bs5@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-6.0.0-rc.5.tgz#a89a4b028ae3bdeef41be38442a79e51b959c51f"
integrity sha512-x2TvTfYkUOOuKakXYT/h9Qi2s1oUYO7PrX0kPuNjQo9Qa7GlDhH10AoyJeKu9AfB/PyczrEZn74IqOI8xh6gjA==
"@abp/datatables.net-bs5@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-6.0.0.tgz#f121500576ec5666498bfc8594b438fe63e3f609"
integrity sha512-bPQyHes9pRp8tLGWlDqizRs8pBid56koKr7JSryOapLQSGhvYFzqMztOtFTHsR5pgLeuuB0DT9cN3uHEjrLsWQ==
dependencies:
"@abp/datatables.net" "~6.0.0-rc.5"
"@abp/datatables.net" "~6.0.0"
datatables.net-bs5 "^1.11.4"
"@abp/datatables.net@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-6.0.0-rc.5.tgz#a3d8f7717f850346455abbeed6fa5ded752e47d3"
integrity sha512-h1LK1h8AKmp4oKfeHoFobnHImbj+BwtwcHU3xAUd7UF+tGBCmjBVNjaiPoUrTize+iwjZvBK5jea901NdJpWRA==
"@abp/datatables.net@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-6.0.0.tgz#9f9b1023399ced1e72d577c260fc4d5d1b3e12e2"
integrity sha512-LIgiyTJ7rek9Mt7P1rzIRcbcaWI3WAdTXFIwG8o4LcfEt7C24XEQI41fzIz4TeTqqRWKiM3LNT+pOaU6feT06w==
dependencies:
"@abp/jquery" "~6.0.0-rc.5"
"@abp/jquery" "~6.0.0"
datatables.net "^1.11.4"
"@abp/font-awesome@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-6.0.0-rc.5.tgz#5625867e26b36853053b0ff8561538ea59149365"
integrity sha512-KtZ9fOFzdQw03Xar68M7IExzLUyQR3zyxa/71vUNfspup3E6LkBXhKILm2nSmp1zJTPoGXRs7DiHO6CyBStBAg==
"@abp/font-awesome@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-6.0.0.tgz#843a52b3864516b49ed041f2ddf3fc65dfe22718"
integrity sha512-c86AOd2nLbQ75S3SnFM7PNasE4HPYJk8oLts88ImLEyy0p3gRfpjCzuLTYyS812M53OLIersRMKyd29UbxSKHw==
dependencies:
"@abp/core" "~6.0.0-rc.5"
"@abp/core" "~6.0.0"
"@fortawesome/fontawesome-free" "^5.15.4"
"@abp/jquery-form@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-6.0.0-rc.5.tgz#7c7f21b0314c93d618a4ba4ffba5d6134887e2c8"
integrity sha512-YSA3K/uvollrGR6xnyhtd4SPp+YmmDDYgL6HGygNSjl+JQbb0ZM/SSaN2TBi67Aq1FNs9TkOQegPIwVWB/LokQ==
"@abp/jquery-form@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-6.0.0.tgz#c8fef921f31622e7c6260550165bf32aa12260dc"
integrity sha512-jSw1Hf0R+7oQH8DP2ksue8ciMiYhxEJIcdw2wOKOhAPTheXbkuvFZxuAB1vI0EKe9ljLX0+c0UywWPfcwnhSpA==
dependencies:
"@abp/jquery" "~6.0.0-rc.5"
"@abp/jquery" "~6.0.0"
jquery-form "^4.3.0"
"@abp/jquery-validation-unobtrusive@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-6.0.0-rc.5.tgz#d649564c3fc079b91cb253e7537e8bbd62dae97d"
integrity sha512-i9Aa92au9HtxC9jo9WjNwHeDaem8dXFiB8jEHFbtzn74iZSF4ZYd0s+rgo7TscsKkXeiSMOy02FmYes6Ldpy1w==
"@abp/jquery-validation-unobtrusive@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-6.0.0.tgz#642472a3fbe080d4c40da367493e49e7ca46cff0"
integrity sha512-tKcbJsPjgFV8n8DY48MtB/4rMowxeJzFxQRKjRaMuYuMkrlSDmU7lh4YDAcfOOdGPMEYF3plBu/5wBnpLdURBA==
dependencies:
"@abp/jquery-validation" "~6.0.0-rc.5"
"@abp/jquery-validation" "~6.0.0"
jquery-validation-unobtrusive "^3.2.12"
"@abp/jquery-validation@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-6.0.0-rc.5.tgz#b61cd7e9be3d982aa12a579be7e9bcb8442ad03c"
integrity sha512-VdTvyRadDave2X6wTeqLlpeUQKaHohAdwB7ex57Y+WmXSsAlhB1Bwa33YjSkukpnRKYLpQ55KwVJ4iaSItyY2g==
"@abp/jquery-validation@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-6.0.0.tgz#a3fba4bcc24819f0a1d3e34eb8bd18ff9c50af08"
integrity sha512-ezMi9rB3R1EuGWBOBdnegvlHWfou4Qkppx7sBzpyaRfUagef1IhOrxDnOByviZP/53a31501FDM5Sn4qDu9G7Q==
dependencies:
"@abp/jquery" "~6.0.0-rc.5"
"@abp/jquery" "~6.0.0"
jquery-validation "^1.19.3"
"@abp/jquery@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-6.0.0-rc.5.tgz#c6e6d322512b26a57fc5a1e5fe4c0ea5da79a705"
integrity sha512-OKP96FFLpwaZnZZDLiwkzhE7bP0y4RCpeDtTrL5aLO/D9l7Vi66hZVAx4cliXTGwpu99joNFXlTmbwkilGqPMA==
"@abp/jquery@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-6.0.0.tgz#709de2b9109aaa3149b76faf8c9d7371f15c7069"
integrity sha512-mCDT1kepSgV2ecQfqVWXsqbbIqUCs33wBaQcnYpX+nTX1SsuiPZvDyqWYxDhKDzZ6E3kPuYv/c7+/InqXTbfCA==
dependencies:
"@abp/core" "~6.0.0-rc.5"
"@abp/core" "~6.0.0"
jquery "~3.6.0"
"@abp/lodash@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-6.0.0-rc.5.tgz#165107270460624a263cd88c8a7816a58cf41ca8"
integrity sha512-KieDq0v6wZB/kSZR2dJ+HKnPYHQng0udbxZqlha5dtlDJxRslz0eK9nVrB0VEzjs+xHrzTj10mpgyAjo21GR0Q==
"@abp/lodash@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-6.0.0.tgz#5f08f5cb262981cb6782587a05c1b3bd9f62eeef"
integrity sha512-3FNl1gZksfbRRXYQ8+PVer4OTHjIx31IYhHzHe766y6C1mDKnskQz7HaHEPQ3kMd6omyNPuj9Od9h4Y9fm3Bnw==
dependencies:
"@abp/core" "~6.0.0-rc.5"
"@abp/core" "~6.0.0"
lodash "^4.17.21"
"@abp/luxon@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-6.0.0-rc.5.tgz#e91b64da0b558c729f4b604a9b1bcbd35df40722"
integrity sha512-BgnkwH7JyMfmxVzkj1HGzwmjnQT6D2CZT5DzqnjtMN7JO5gQo20SE8QS5QHq7/LvaSI/34AeSCiCONWkMOufKg==
"@abp/luxon@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-6.0.0.tgz#764d3a6525c208d38631b1f0934b2762e1ddc512"
integrity sha512-Skzu4vjXSX5zKNVPND8V9/onqcElmjpY2UXO5XC+47Vd3+p4uSNjg9PG9/Eg9Y67Pw48AVpYlO/Kr6KcPlgEQQ==
dependencies:
"@abp/core" "~6.0.0-rc.5"
"@abp/core" "~6.0.0"
luxon "^2.3.0"
"@abp/malihu-custom-scrollbar-plugin@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-6.0.0-rc.5.tgz#61d23e5f7198b36a9faa1e6c79b04f2d5179e3c4"
integrity sha512-1xQIYhw+xX59dYEZ6o4dfZvfYSigXiWqh0M11O5Thfy6Ew0Vd3yYGp8+8xlCg5+ivsdYnIRmKHjdFpogYhyLiA==
"@abp/malihu-custom-scrollbar-plugin@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-6.0.0.tgz#abd5d95d0adad26efd5bb998089128ba4a1f83ad"
integrity sha512-/W4Rj30q9y+CJuNsVhDRE1FFLewuNykjbtdr2GGwlbp4+utE6aHJdBLfNlS0A0RRJN7B1RR25zWT2hrA5EwBqg==
dependencies:
"@abp/core" "~6.0.0-rc.5"
"@abp/core" "~6.0.0"
malihu-custom-scrollbar-plugin "^3.1.5"
"@abp/select2@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-6.0.0-rc.5.tgz#294eb907f85ef012b0b2f73e1b8561be3597cee6"
integrity sha512-P9tqcZbzC/ZSq8o0P2otTfSdSd9tBGyV6ngLUcZ2aA1R3+l4Lcp4rX9y81qPDaH9uLBOJkXd6AVTi11qBzPyZw==
"@abp/select2@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-6.0.0.tgz#72cd661069d3b5641f1a079bd6c8ce966524cb50"
integrity sha512-2XYEP3FgelO87D+5nTA0AeISNLrcGX5eAZkPbJo/9HL7xr0KxNNwc0SgtGM7mnxUNSb1KnDGGBhzglmWy9f0og==
dependencies:
"@abp/core" "~6.0.0-rc.5"
"@abp/core" "~6.0.0"
select2 "^4.0.13"
"@abp/sweetalert2@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-6.0.0-rc.5.tgz#baf7ef24a1551945bd476547c003056bb048409e"
integrity sha512-6N6+DkecO4AXEaCV09W9iRvZPQLn1sZaAFJBvzphwFVOWv3BivJTQCFJRQ5scqc31mWaZ4/UGjOdrq0a/qDiAQ==
"@abp/sweetalert2@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-6.0.0.tgz#61816fa63d3c01c045dfa1b9c706572ca74b054f"
integrity sha512-Bo3hlRN4//40YXYec3GFzHQRH1m2oWcFHOe2jrLre8aGZR2PLCurCjnB24ryi3kFTasOnVTf6N+RkBNOPdvweA==
dependencies:
"@abp/core" "~6.0.0-rc.5"
"@abp/core" "~6.0.0"
sweetalert2 "^11.3.6"
"@abp/timeago@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-6.0.0-rc.5.tgz#0dd52cf24574e10e523a5b6e90740a25123a7745"
integrity sha512-uIc9WZN7J7cqFsxCYt8egapQRGyBMFi8+7ega7OaxmO0R4t8+QisVOsyeXMQvWuF9M9gXKMKlrV5bP6nsnDg0A==
"@abp/timeago@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-6.0.0.tgz#8290a4d84a436007f4f5eb6e2990c64db7d5b27c"
integrity sha512-due1idv86iY9hMg+8TrC0JyFlydRklhlo+kcpOgNNTd9oCy/pJ/ShMDiTM/IcYiW8qwVBFYY9PH8JXGlxGDqrQ==
dependencies:
"@abp/jquery" "~6.0.0-rc.5"
"@abp/jquery" "~6.0.0"
timeago "^1.6.7"
"@abp/toastr@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-6.0.0-rc.5.tgz#8cfbe6d30b57282417feff3f1bccb5fc493c9215"
integrity sha512-UDn0+DP4BAULN9MERWP+QSJQdvZELhkaHcrwTEB80+wcNZ13xf2zShvO60+3rz63Nqf+/kwZcBMNFuwD2ekjww==
"@abp/toastr@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-6.0.0.tgz#62459b9541a20d41b875cf5e76489774c20f462b"
integrity sha512-LgZqsbKd3LIT7erc6aAMO04jBODtBiPDI3HnoCEc7CMu7HdJ22jlRkbBqXwRZsbbDuR35XEh77wYKegat3Yzgw==
dependencies:
"@abp/jquery" "~6.0.0-rc.5"
"@abp/jquery" "~6.0.0"
toastr "^2.1.4"
"@abp/utils@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-6.0.0-rc.5.tgz#c05df5bb5a776ea8a9bd4589d0df6a373bfff1ef"
integrity sha512-X/UGqMJu1vbz6WQOMP7+MXkUB3rIwnm/1PkmGOM+gFqmQJt21IEKbV/gG2/CNR4/QY02HJhj5v4/wm0UBEH56g==
"@abp/utils@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-6.0.0.tgz#62e5a363eea36f00d28ccf5d9b495dc63a4aa018"
integrity sha512-OMYSjdTy7QSofhjPvQ56I6Bw5B5juZ17KywOgkzPliMv6HVw1CT5BDLb8/Gp2jALj6Fu/4OLSa8WXBR6A4A0dw==
dependencies:
just-compare "^1.3.0"

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

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

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

@ -2,37 +2,37 @@
# yarn lockfile v1
"@abp/aspnetcore.mvc.ui.theme.basic@^6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-6.0.0-rc.5.tgz#671940d72fd50e7eab5db922bcec2a27cdca28ed"
integrity sha512-w4cWXcF2aB5fF2J0Jco8ddPF1r522uSIc29zpvUWzUA0X4DC9m7QUairwVbsX5T3Xp4y6guLoizSMkfQe0Sb8A==
dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~6.0.0-rc.5"
"@abp/aspnetcore.mvc.ui.theme.shared@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-6.0.0-rc.5.tgz#d3f997b9f7b19b68e94df83dc5cf3053416d8da4"
integrity sha512-OX4iTN0tFAdkBJiYQAM1GFoqF5ZVcOZfo7N6xhscWqucXIVtcGut5fuL/qIWF8xSH6afN/wH//a0O5+DjGnPmw==
dependencies:
"@abp/aspnetcore.mvc.ui" "~6.0.0-rc.5"
"@abp/bootstrap" "~6.0.0-rc.5"
"@abp/bootstrap-datepicker" "~6.0.0-rc.5"
"@abp/datatables.net-bs5" "~6.0.0-rc.5"
"@abp/font-awesome" "~6.0.0-rc.5"
"@abp/jquery-form" "~6.0.0-rc.5"
"@abp/jquery-validation-unobtrusive" "~6.0.0-rc.5"
"@abp/lodash" "~6.0.0-rc.5"
"@abp/luxon" "~6.0.0-rc.5"
"@abp/malihu-custom-scrollbar-plugin" "~6.0.0-rc.5"
"@abp/select2" "~6.0.0-rc.5"
"@abp/sweetalert2" "~6.0.0-rc.5"
"@abp/timeago" "~6.0.0-rc.5"
"@abp/toastr" "~6.0.0-rc.5"
"@abp/aspnetcore.mvc.ui@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-6.0.0-rc.5.tgz#d7ab5693091c079dce6b5cfdd60832194881b571"
integrity sha512-U8NBcsL80joHsqQo+tnYkUwW+TyIwG5SRFZ3yfb2jTiu1KMlgGcY02+iTEZMF/BhQ3rPrxQ/pH2YmD6Ip095tw==
"@abp/aspnetcore.mvc.ui.theme.basic@^6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-6.0.0.tgz#7bef80e93a75fae848334ad847d031152cb7369a"
integrity sha512-YSnR6pfaWActO9fOndfhLJWF8Aj+p+yHcHTmTwmopTL4AdcjKM2mnGXzri9FN+jt9vxsyK2gxt+VtuHO87V8Xg==
dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~6.0.0"
"@abp/aspnetcore.mvc.ui.theme.shared@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-6.0.0.tgz#47ab51282347788018dbc64b3effd3159b2d89fe"
integrity sha512-BMZ7dZi58WZFSJK76SPvujb0vOaOWXqURzhAPmdjD/3+rsx/FVT6A394muh8Ko0Fm3A5/WE2NNuKvwmIk107/Q==
dependencies:
"@abp/aspnetcore.mvc.ui" "~6.0.0"
"@abp/bootstrap" "~6.0.0"
"@abp/bootstrap-datepicker" "~6.0.0"
"@abp/datatables.net-bs5" "~6.0.0"
"@abp/font-awesome" "~6.0.0"
"@abp/jquery-form" "~6.0.0"
"@abp/jquery-validation-unobtrusive" "~6.0.0"
"@abp/lodash" "~6.0.0"
"@abp/luxon" "~6.0.0"
"@abp/malihu-custom-scrollbar-plugin" "~6.0.0"
"@abp/select2" "~6.0.0"
"@abp/sweetalert2" "~6.0.0"
"@abp/timeago" "~6.0.0"
"@abp/toastr" "~6.0.0"
"@abp/aspnetcore.mvc.ui@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-6.0.0.tgz#f579d8d46f53cc7a417afbdf745e547db62a7c74"
integrity sha512-z6vyEGvGCwlaAY3OKNj8cH14cWYvvwuqJ+bHIVHQ4iwwcCa0la/dwjuBEu9eKesdaOLlCBIMxar3LQ9ltcGHHw==
dependencies:
ansi-colors "^4.1.1"
extend-object "^1.0.0"
@ -41,144 +41,144 @@
merge-stream "^2.0.0"
micromatch "^4.0.2"
"@abp/bootstrap-datepicker@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-6.0.0-rc.5.tgz#4fe0c9b107ae23261121afeb5b72053822b0747f"
integrity sha512-PztuCk/15vhGlisjvZTn6soIZAJp/Mqc0+ipV7Z4O+qBphvp2nFD5lfiVM/E0r2Ql8HzkOq3BO56ZVb0IMIw1g==
"@abp/bootstrap-datepicker@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-6.0.0.tgz#2e75d721ad647a1bb8fc01868b1a64076889051c"
integrity sha512-6ktejU2B0yE6mgVC43quOdw2P/tiOthaGPdYJ9ogso4qMjgoIdWiqNkvz9W8F3BQIj0Ot236lCQXgHOaos98vA==
dependencies:
bootstrap-datepicker "^1.9.0"
"@abp/bootstrap@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-6.0.0-rc.5.tgz#83b08282b4b1496b853179780a3b1e953975bdc3"
integrity sha512-EoiygyyRYwXMO6bbeLuqbfaaZuHUrOGgC9dtVxtyFWgCbWiRAERaHrAHQ12WmxnFXGvXGmy9pATfYQB4ALuLWQ==
"@abp/bootstrap@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-6.0.0.tgz#da3dfc3ed50df72531a7565608f386330cfa3552"
integrity sha512-hDAuG83+8tznKJlSDV+rN58yHhHA/TgDUjz3x+LC9un5SISbt7JAWdlcaRmx38ghfsHRJ9U/tlm3XvWGjYJQOQ==
dependencies:
"@abp/core" "~6.0.0-rc.5"
"@abp/core" "~6.0.0"
bootstrap "^5.1.3"
"@abp/core@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-6.0.0-rc.5.tgz#09f9bfaca17383539e3b79554e26510ac27366fc"
integrity sha512-htOfVSUSaErPlXg5QraeOvIH0pcApYt/mvgnXTi49qZmzUJgzuZ7l8B2UC4KGLdyjhjHHY3Vy66jNrm98IsA2g==
"@abp/core@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-6.0.0.tgz#d0191fbf9b81db75bd48316ead4821dec073a9e2"
integrity sha512-X5hqT/Yat2BnTmUj2SlRTENv4tKGcu0Ex+eKPyNlVnk7bTnbmz+oYfYslkGlGni0/ocSYbS3exaQ2P+I84VSFg==
dependencies:
"@abp/utils" "~6.0.0-rc.5"
"@abp/utils" "~6.0.0"
"@abp/datatables.net-bs5@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-6.0.0-rc.5.tgz#a89a4b028ae3bdeef41be38442a79e51b959c51f"
integrity sha512-x2TvTfYkUOOuKakXYT/h9Qi2s1oUYO7PrX0kPuNjQo9Qa7GlDhH10AoyJeKu9AfB/PyczrEZn74IqOI8xh6gjA==
"@abp/datatables.net-bs5@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-6.0.0.tgz#f121500576ec5666498bfc8594b438fe63e3f609"
integrity sha512-bPQyHes9pRp8tLGWlDqizRs8pBid56koKr7JSryOapLQSGhvYFzqMztOtFTHsR5pgLeuuB0DT9cN3uHEjrLsWQ==
dependencies:
"@abp/datatables.net" "~6.0.0-rc.5"
"@abp/datatables.net" "~6.0.0"
datatables.net-bs5 "^1.11.4"
"@abp/datatables.net@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-6.0.0-rc.5.tgz#a3d8f7717f850346455abbeed6fa5ded752e47d3"
integrity sha512-h1LK1h8AKmp4oKfeHoFobnHImbj+BwtwcHU3xAUd7UF+tGBCmjBVNjaiPoUrTize+iwjZvBK5jea901NdJpWRA==
"@abp/datatables.net@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-6.0.0.tgz#9f9b1023399ced1e72d577c260fc4d5d1b3e12e2"
integrity sha512-LIgiyTJ7rek9Mt7P1rzIRcbcaWI3WAdTXFIwG8o4LcfEt7C24XEQI41fzIz4TeTqqRWKiM3LNT+pOaU6feT06w==
dependencies:
"@abp/jquery" "~6.0.0-rc.5"
"@abp/jquery" "~6.0.0"
datatables.net "^1.11.4"
"@abp/font-awesome@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-6.0.0-rc.5.tgz#5625867e26b36853053b0ff8561538ea59149365"
integrity sha512-KtZ9fOFzdQw03Xar68M7IExzLUyQR3zyxa/71vUNfspup3E6LkBXhKILm2nSmp1zJTPoGXRs7DiHO6CyBStBAg==
"@abp/font-awesome@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-6.0.0.tgz#843a52b3864516b49ed041f2ddf3fc65dfe22718"
integrity sha512-c86AOd2nLbQ75S3SnFM7PNasE4HPYJk8oLts88ImLEyy0p3gRfpjCzuLTYyS812M53OLIersRMKyd29UbxSKHw==
dependencies:
"@abp/core" "~6.0.0-rc.5"
"@abp/core" "~6.0.0"
"@fortawesome/fontawesome-free" "^5.15.4"
"@abp/jquery-form@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-6.0.0-rc.5.tgz#7c7f21b0314c93d618a4ba4ffba5d6134887e2c8"
integrity sha512-YSA3K/uvollrGR6xnyhtd4SPp+YmmDDYgL6HGygNSjl+JQbb0ZM/SSaN2TBi67Aq1FNs9TkOQegPIwVWB/LokQ==
"@abp/jquery-form@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-6.0.0.tgz#c8fef921f31622e7c6260550165bf32aa12260dc"
integrity sha512-jSw1Hf0R+7oQH8DP2ksue8ciMiYhxEJIcdw2wOKOhAPTheXbkuvFZxuAB1vI0EKe9ljLX0+c0UywWPfcwnhSpA==
dependencies:
"@abp/jquery" "~6.0.0-rc.5"
"@abp/jquery" "~6.0.0"
jquery-form "^4.3.0"
"@abp/jquery-validation-unobtrusive@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-6.0.0-rc.5.tgz#d649564c3fc079b91cb253e7537e8bbd62dae97d"
integrity sha512-i9Aa92au9HtxC9jo9WjNwHeDaem8dXFiB8jEHFbtzn74iZSF4ZYd0s+rgo7TscsKkXeiSMOy02FmYes6Ldpy1w==
"@abp/jquery-validation-unobtrusive@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-6.0.0.tgz#642472a3fbe080d4c40da367493e49e7ca46cff0"
integrity sha512-tKcbJsPjgFV8n8DY48MtB/4rMowxeJzFxQRKjRaMuYuMkrlSDmU7lh4YDAcfOOdGPMEYF3plBu/5wBnpLdURBA==
dependencies:
"@abp/jquery-validation" "~6.0.0-rc.5"
"@abp/jquery-validation" "~6.0.0"
jquery-validation-unobtrusive "^3.2.12"
"@abp/jquery-validation@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-6.0.0-rc.5.tgz#b61cd7e9be3d982aa12a579be7e9bcb8442ad03c"
integrity sha512-VdTvyRadDave2X6wTeqLlpeUQKaHohAdwB7ex57Y+WmXSsAlhB1Bwa33YjSkukpnRKYLpQ55KwVJ4iaSItyY2g==
"@abp/jquery-validation@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-6.0.0.tgz#a3fba4bcc24819f0a1d3e34eb8bd18ff9c50af08"
integrity sha512-ezMi9rB3R1EuGWBOBdnegvlHWfou4Qkppx7sBzpyaRfUagef1IhOrxDnOByviZP/53a31501FDM5Sn4qDu9G7Q==
dependencies:
"@abp/jquery" "~6.0.0-rc.5"
"@abp/jquery" "~6.0.0"
jquery-validation "^1.19.3"
"@abp/jquery@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-6.0.0-rc.5.tgz#c6e6d322512b26a57fc5a1e5fe4c0ea5da79a705"
integrity sha512-OKP96FFLpwaZnZZDLiwkzhE7bP0y4RCpeDtTrL5aLO/D9l7Vi66hZVAx4cliXTGwpu99joNFXlTmbwkilGqPMA==
"@abp/jquery@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-6.0.0.tgz#709de2b9109aaa3149b76faf8c9d7371f15c7069"
integrity sha512-mCDT1kepSgV2ecQfqVWXsqbbIqUCs33wBaQcnYpX+nTX1SsuiPZvDyqWYxDhKDzZ6E3kPuYv/c7+/InqXTbfCA==
dependencies:
"@abp/core" "~6.0.0-rc.5"
"@abp/core" "~6.0.0"
jquery "~3.6.0"
"@abp/lodash@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-6.0.0-rc.5.tgz#165107270460624a263cd88c8a7816a58cf41ca8"
integrity sha512-KieDq0v6wZB/kSZR2dJ+HKnPYHQng0udbxZqlha5dtlDJxRslz0eK9nVrB0VEzjs+xHrzTj10mpgyAjo21GR0Q==
"@abp/lodash@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-6.0.0.tgz#5f08f5cb262981cb6782587a05c1b3bd9f62eeef"
integrity sha512-3FNl1gZksfbRRXYQ8+PVer4OTHjIx31IYhHzHe766y6C1mDKnskQz7HaHEPQ3kMd6omyNPuj9Od9h4Y9fm3Bnw==
dependencies:
"@abp/core" "~6.0.0-rc.5"
"@abp/core" "~6.0.0"
lodash "^4.17.21"
"@abp/luxon@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-6.0.0-rc.5.tgz#e91b64da0b558c729f4b604a9b1bcbd35df40722"
integrity sha512-BgnkwH7JyMfmxVzkj1HGzwmjnQT6D2CZT5DzqnjtMN7JO5gQo20SE8QS5QHq7/LvaSI/34AeSCiCONWkMOufKg==
"@abp/luxon@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-6.0.0.tgz#764d3a6525c208d38631b1f0934b2762e1ddc512"
integrity sha512-Skzu4vjXSX5zKNVPND8V9/onqcElmjpY2UXO5XC+47Vd3+p4uSNjg9PG9/Eg9Y67Pw48AVpYlO/Kr6KcPlgEQQ==
dependencies:
"@abp/core" "~6.0.0-rc.5"
"@abp/core" "~6.0.0"
luxon "^2.3.0"
"@abp/malihu-custom-scrollbar-plugin@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-6.0.0-rc.5.tgz#61d23e5f7198b36a9faa1e6c79b04f2d5179e3c4"
integrity sha512-1xQIYhw+xX59dYEZ6o4dfZvfYSigXiWqh0M11O5Thfy6Ew0Vd3yYGp8+8xlCg5+ivsdYnIRmKHjdFpogYhyLiA==
"@abp/malihu-custom-scrollbar-plugin@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-6.0.0.tgz#abd5d95d0adad26efd5bb998089128ba4a1f83ad"
integrity sha512-/W4Rj30q9y+CJuNsVhDRE1FFLewuNykjbtdr2GGwlbp4+utE6aHJdBLfNlS0A0RRJN7B1RR25zWT2hrA5EwBqg==
dependencies:
"@abp/core" "~6.0.0-rc.5"
"@abp/core" "~6.0.0"
malihu-custom-scrollbar-plugin "^3.1.5"
"@abp/select2@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-6.0.0-rc.5.tgz#294eb907f85ef012b0b2f73e1b8561be3597cee6"
integrity sha512-P9tqcZbzC/ZSq8o0P2otTfSdSd9tBGyV6ngLUcZ2aA1R3+l4Lcp4rX9y81qPDaH9uLBOJkXd6AVTi11qBzPyZw==
"@abp/select2@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-6.0.0.tgz#72cd661069d3b5641f1a079bd6c8ce966524cb50"
integrity sha512-2XYEP3FgelO87D+5nTA0AeISNLrcGX5eAZkPbJo/9HL7xr0KxNNwc0SgtGM7mnxUNSb1KnDGGBhzglmWy9f0og==
dependencies:
"@abp/core" "~6.0.0-rc.5"
"@abp/core" "~6.0.0"
select2 "^4.0.13"
"@abp/sweetalert2@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-6.0.0-rc.5.tgz#baf7ef24a1551945bd476547c003056bb048409e"
integrity sha512-6N6+DkecO4AXEaCV09W9iRvZPQLn1sZaAFJBvzphwFVOWv3BivJTQCFJRQ5scqc31mWaZ4/UGjOdrq0a/qDiAQ==
"@abp/sweetalert2@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-6.0.0.tgz#61816fa63d3c01c045dfa1b9c706572ca74b054f"
integrity sha512-Bo3hlRN4//40YXYec3GFzHQRH1m2oWcFHOe2jrLre8aGZR2PLCurCjnB24ryi3kFTasOnVTf6N+RkBNOPdvweA==
dependencies:
"@abp/core" "~6.0.0-rc.5"
"@abp/core" "~6.0.0"
sweetalert2 "^11.3.6"
"@abp/timeago@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-6.0.0-rc.5.tgz#0dd52cf24574e10e523a5b6e90740a25123a7745"
integrity sha512-uIc9WZN7J7cqFsxCYt8egapQRGyBMFi8+7ega7OaxmO0R4t8+QisVOsyeXMQvWuF9M9gXKMKlrV5bP6nsnDg0A==
"@abp/timeago@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-6.0.0.tgz#8290a4d84a436007f4f5eb6e2990c64db7d5b27c"
integrity sha512-due1idv86iY9hMg+8TrC0JyFlydRklhlo+kcpOgNNTd9oCy/pJ/ShMDiTM/IcYiW8qwVBFYY9PH8JXGlxGDqrQ==
dependencies:
"@abp/jquery" "~6.0.0-rc.5"
"@abp/jquery" "~6.0.0"
timeago "^1.6.7"
"@abp/toastr@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-6.0.0-rc.5.tgz#8cfbe6d30b57282417feff3f1bccb5fc493c9215"
integrity sha512-UDn0+DP4BAULN9MERWP+QSJQdvZELhkaHcrwTEB80+wcNZ13xf2zShvO60+3rz63Nqf+/kwZcBMNFuwD2ekjww==
"@abp/toastr@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-6.0.0.tgz#62459b9541a20d41b875cf5e76489774c20f462b"
integrity sha512-LgZqsbKd3LIT7erc6aAMO04jBODtBiPDI3HnoCEc7CMu7HdJ22jlRkbBqXwRZsbbDuR35XEh77wYKegat3Yzgw==
dependencies:
"@abp/jquery" "~6.0.0-rc.5"
"@abp/jquery" "~6.0.0"
toastr "^2.1.4"
"@abp/utils@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-6.0.0-rc.5.tgz#c05df5bb5a776ea8a9bd4589d0df6a373bfff1ef"
integrity sha512-X/UGqMJu1vbz6WQOMP7+MXkUB3rIwnm/1PkmGOM+gFqmQJt21IEKbV/gG2/CNR4/QY02HJhj5v4/wm0UBEH56g==
"@abp/utils@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-6.0.0.tgz#62e5a363eea36f00d28ccf5d9b495dc63a4aa018"
integrity sha512-OMYSjdTy7QSofhjPvQ56I6Bw5B5juZ17KywOgkzPliMv6HVw1CT5BDLb8/Gp2jALj6Fu/4OLSa8WXBR6A4A0dw==
dependencies:
just-compare "^1.3.0"

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

@ -2,37 +2,37 @@
# yarn lockfile v1
"@abp/aspnetcore.mvc.ui.theme.basic@^6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-6.0.0-rc.5.tgz#671940d72fd50e7eab5db922bcec2a27cdca28ed"
integrity sha512-w4cWXcF2aB5fF2J0Jco8ddPF1r522uSIc29zpvUWzUA0X4DC9m7QUairwVbsX5T3Xp4y6guLoizSMkfQe0Sb8A==
dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~6.0.0-rc.5"
"@abp/aspnetcore.mvc.ui.theme.shared@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-6.0.0-rc.5.tgz#d3f997b9f7b19b68e94df83dc5cf3053416d8da4"
integrity sha512-OX4iTN0tFAdkBJiYQAM1GFoqF5ZVcOZfo7N6xhscWqucXIVtcGut5fuL/qIWF8xSH6afN/wH//a0O5+DjGnPmw==
dependencies:
"@abp/aspnetcore.mvc.ui" "~6.0.0-rc.5"
"@abp/bootstrap" "~6.0.0-rc.5"
"@abp/bootstrap-datepicker" "~6.0.0-rc.5"
"@abp/datatables.net-bs5" "~6.0.0-rc.5"
"@abp/font-awesome" "~6.0.0-rc.5"
"@abp/jquery-form" "~6.0.0-rc.5"
"@abp/jquery-validation-unobtrusive" "~6.0.0-rc.5"
"@abp/lodash" "~6.0.0-rc.5"
"@abp/luxon" "~6.0.0-rc.5"
"@abp/malihu-custom-scrollbar-plugin" "~6.0.0-rc.5"
"@abp/select2" "~6.0.0-rc.5"
"@abp/sweetalert2" "~6.0.0-rc.5"
"@abp/timeago" "~6.0.0-rc.5"
"@abp/toastr" "~6.0.0-rc.5"
"@abp/aspnetcore.mvc.ui@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-6.0.0-rc.5.tgz#d7ab5693091c079dce6b5cfdd60832194881b571"
integrity sha512-U8NBcsL80joHsqQo+tnYkUwW+TyIwG5SRFZ3yfb2jTiu1KMlgGcY02+iTEZMF/BhQ3rPrxQ/pH2YmD6Ip095tw==
"@abp/aspnetcore.mvc.ui.theme.basic@^6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-6.0.0.tgz#7bef80e93a75fae848334ad847d031152cb7369a"
integrity sha512-YSnR6pfaWActO9fOndfhLJWF8Aj+p+yHcHTmTwmopTL4AdcjKM2mnGXzri9FN+jt9vxsyK2gxt+VtuHO87V8Xg==
dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~6.0.0"
"@abp/aspnetcore.mvc.ui.theme.shared@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-6.0.0.tgz#47ab51282347788018dbc64b3effd3159b2d89fe"
integrity sha512-BMZ7dZi58WZFSJK76SPvujb0vOaOWXqURzhAPmdjD/3+rsx/FVT6A394muh8Ko0Fm3A5/WE2NNuKvwmIk107/Q==
dependencies:
"@abp/aspnetcore.mvc.ui" "~6.0.0"
"@abp/bootstrap" "~6.0.0"
"@abp/bootstrap-datepicker" "~6.0.0"
"@abp/datatables.net-bs5" "~6.0.0"
"@abp/font-awesome" "~6.0.0"
"@abp/jquery-form" "~6.0.0"
"@abp/jquery-validation-unobtrusive" "~6.0.0"
"@abp/lodash" "~6.0.0"
"@abp/luxon" "~6.0.0"
"@abp/malihu-custom-scrollbar-plugin" "~6.0.0"
"@abp/select2" "~6.0.0"
"@abp/sweetalert2" "~6.0.0"
"@abp/timeago" "~6.0.0"
"@abp/toastr" "~6.0.0"
"@abp/aspnetcore.mvc.ui@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-6.0.0.tgz#f579d8d46f53cc7a417afbdf745e547db62a7c74"
integrity sha512-z6vyEGvGCwlaAY3OKNj8cH14cWYvvwuqJ+bHIVHQ4iwwcCa0la/dwjuBEu9eKesdaOLlCBIMxar3LQ9ltcGHHw==
dependencies:
ansi-colors "^4.1.1"
extend-object "^1.0.0"
@ -41,144 +41,144 @@
merge-stream "^2.0.0"
micromatch "^4.0.2"
"@abp/bootstrap-datepicker@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-6.0.0-rc.5.tgz#4fe0c9b107ae23261121afeb5b72053822b0747f"
integrity sha512-PztuCk/15vhGlisjvZTn6soIZAJp/Mqc0+ipV7Z4O+qBphvp2nFD5lfiVM/E0r2Ql8HzkOq3BO56ZVb0IMIw1g==
"@abp/bootstrap-datepicker@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-6.0.0.tgz#2e75d721ad647a1bb8fc01868b1a64076889051c"
integrity sha512-6ktejU2B0yE6mgVC43quOdw2P/tiOthaGPdYJ9ogso4qMjgoIdWiqNkvz9W8F3BQIj0Ot236lCQXgHOaos98vA==
dependencies:
bootstrap-datepicker "^1.9.0"
"@abp/bootstrap@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-6.0.0-rc.5.tgz#83b08282b4b1496b853179780a3b1e953975bdc3"
integrity sha512-EoiygyyRYwXMO6bbeLuqbfaaZuHUrOGgC9dtVxtyFWgCbWiRAERaHrAHQ12WmxnFXGvXGmy9pATfYQB4ALuLWQ==
"@abp/bootstrap@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-6.0.0.tgz#da3dfc3ed50df72531a7565608f386330cfa3552"
integrity sha512-hDAuG83+8tznKJlSDV+rN58yHhHA/TgDUjz3x+LC9un5SISbt7JAWdlcaRmx38ghfsHRJ9U/tlm3XvWGjYJQOQ==
dependencies:
"@abp/core" "~6.0.0-rc.5"
"@abp/core" "~6.0.0"
bootstrap "^5.1.3"
"@abp/core@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-6.0.0-rc.5.tgz#09f9bfaca17383539e3b79554e26510ac27366fc"
integrity sha512-htOfVSUSaErPlXg5QraeOvIH0pcApYt/mvgnXTi49qZmzUJgzuZ7l8B2UC4KGLdyjhjHHY3Vy66jNrm98IsA2g==
"@abp/core@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-6.0.0.tgz#d0191fbf9b81db75bd48316ead4821dec073a9e2"
integrity sha512-X5hqT/Yat2BnTmUj2SlRTENv4tKGcu0Ex+eKPyNlVnk7bTnbmz+oYfYslkGlGni0/ocSYbS3exaQ2P+I84VSFg==
dependencies:
"@abp/utils" "~6.0.0-rc.5"
"@abp/utils" "~6.0.0"
"@abp/datatables.net-bs5@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-6.0.0-rc.5.tgz#a89a4b028ae3bdeef41be38442a79e51b959c51f"
integrity sha512-x2TvTfYkUOOuKakXYT/h9Qi2s1oUYO7PrX0kPuNjQo9Qa7GlDhH10AoyJeKu9AfB/PyczrEZn74IqOI8xh6gjA==
"@abp/datatables.net-bs5@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-6.0.0.tgz#f121500576ec5666498bfc8594b438fe63e3f609"
integrity sha512-bPQyHes9pRp8tLGWlDqizRs8pBid56koKr7JSryOapLQSGhvYFzqMztOtFTHsR5pgLeuuB0DT9cN3uHEjrLsWQ==
dependencies:
"@abp/datatables.net" "~6.0.0-rc.5"
"@abp/datatables.net" "~6.0.0"
datatables.net-bs5 "^1.11.4"
"@abp/datatables.net@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-6.0.0-rc.5.tgz#a3d8f7717f850346455abbeed6fa5ded752e47d3"
integrity sha512-h1LK1h8AKmp4oKfeHoFobnHImbj+BwtwcHU3xAUd7UF+tGBCmjBVNjaiPoUrTize+iwjZvBK5jea901NdJpWRA==
"@abp/datatables.net@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-6.0.0.tgz#9f9b1023399ced1e72d577c260fc4d5d1b3e12e2"
integrity sha512-LIgiyTJ7rek9Mt7P1rzIRcbcaWI3WAdTXFIwG8o4LcfEt7C24XEQI41fzIz4TeTqqRWKiM3LNT+pOaU6feT06w==
dependencies:
"@abp/jquery" "~6.0.0-rc.5"
"@abp/jquery" "~6.0.0"
datatables.net "^1.11.4"
"@abp/font-awesome@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-6.0.0-rc.5.tgz#5625867e26b36853053b0ff8561538ea59149365"
integrity sha512-KtZ9fOFzdQw03Xar68M7IExzLUyQR3zyxa/71vUNfspup3E6LkBXhKILm2nSmp1zJTPoGXRs7DiHO6CyBStBAg==
"@abp/font-awesome@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-6.0.0.tgz#843a52b3864516b49ed041f2ddf3fc65dfe22718"
integrity sha512-c86AOd2nLbQ75S3SnFM7PNasE4HPYJk8oLts88ImLEyy0p3gRfpjCzuLTYyS812M53OLIersRMKyd29UbxSKHw==
dependencies:
"@abp/core" "~6.0.0-rc.5"
"@abp/core" "~6.0.0"
"@fortawesome/fontawesome-free" "^5.15.4"
"@abp/jquery-form@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-6.0.0-rc.5.tgz#7c7f21b0314c93d618a4ba4ffba5d6134887e2c8"
integrity sha512-YSA3K/uvollrGR6xnyhtd4SPp+YmmDDYgL6HGygNSjl+JQbb0ZM/SSaN2TBi67Aq1FNs9TkOQegPIwVWB/LokQ==
"@abp/jquery-form@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-6.0.0.tgz#c8fef921f31622e7c6260550165bf32aa12260dc"
integrity sha512-jSw1Hf0R+7oQH8DP2ksue8ciMiYhxEJIcdw2wOKOhAPTheXbkuvFZxuAB1vI0EKe9ljLX0+c0UywWPfcwnhSpA==
dependencies:
"@abp/jquery" "~6.0.0-rc.5"
"@abp/jquery" "~6.0.0"
jquery-form "^4.3.0"
"@abp/jquery-validation-unobtrusive@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-6.0.0-rc.5.tgz#d649564c3fc079b91cb253e7537e8bbd62dae97d"
integrity sha512-i9Aa92au9HtxC9jo9WjNwHeDaem8dXFiB8jEHFbtzn74iZSF4ZYd0s+rgo7TscsKkXeiSMOy02FmYes6Ldpy1w==
"@abp/jquery-validation-unobtrusive@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-6.0.0.tgz#642472a3fbe080d4c40da367493e49e7ca46cff0"
integrity sha512-tKcbJsPjgFV8n8DY48MtB/4rMowxeJzFxQRKjRaMuYuMkrlSDmU7lh4YDAcfOOdGPMEYF3plBu/5wBnpLdURBA==
dependencies:
"@abp/jquery-validation" "~6.0.0-rc.5"
"@abp/jquery-validation" "~6.0.0"
jquery-validation-unobtrusive "^3.2.12"
"@abp/jquery-validation@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-6.0.0-rc.5.tgz#b61cd7e9be3d982aa12a579be7e9bcb8442ad03c"
integrity sha512-VdTvyRadDave2X6wTeqLlpeUQKaHohAdwB7ex57Y+WmXSsAlhB1Bwa33YjSkukpnRKYLpQ55KwVJ4iaSItyY2g==
"@abp/jquery-validation@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-6.0.0.tgz#a3fba4bcc24819f0a1d3e34eb8bd18ff9c50af08"
integrity sha512-ezMi9rB3R1EuGWBOBdnegvlHWfou4Qkppx7sBzpyaRfUagef1IhOrxDnOByviZP/53a31501FDM5Sn4qDu9G7Q==
dependencies:
"@abp/jquery" "~6.0.0-rc.5"
"@abp/jquery" "~6.0.0"
jquery-validation "^1.19.3"
"@abp/jquery@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-6.0.0-rc.5.tgz#c6e6d322512b26a57fc5a1e5fe4c0ea5da79a705"
integrity sha512-OKP96FFLpwaZnZZDLiwkzhE7bP0y4RCpeDtTrL5aLO/D9l7Vi66hZVAx4cliXTGwpu99joNFXlTmbwkilGqPMA==
"@abp/jquery@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-6.0.0.tgz#709de2b9109aaa3149b76faf8c9d7371f15c7069"
integrity sha512-mCDT1kepSgV2ecQfqVWXsqbbIqUCs33wBaQcnYpX+nTX1SsuiPZvDyqWYxDhKDzZ6E3kPuYv/c7+/InqXTbfCA==
dependencies:
"@abp/core" "~6.0.0-rc.5"
"@abp/core" "~6.0.0"
jquery "~3.6.0"
"@abp/lodash@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-6.0.0-rc.5.tgz#165107270460624a263cd88c8a7816a58cf41ca8"
integrity sha512-KieDq0v6wZB/kSZR2dJ+HKnPYHQng0udbxZqlha5dtlDJxRslz0eK9nVrB0VEzjs+xHrzTj10mpgyAjo21GR0Q==
"@abp/lodash@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-6.0.0.tgz#5f08f5cb262981cb6782587a05c1b3bd9f62eeef"
integrity sha512-3FNl1gZksfbRRXYQ8+PVer4OTHjIx31IYhHzHe766y6C1mDKnskQz7HaHEPQ3kMd6omyNPuj9Od9h4Y9fm3Bnw==
dependencies:
"@abp/core" "~6.0.0-rc.5"
"@abp/core" "~6.0.0"
lodash "^4.17.21"
"@abp/luxon@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-6.0.0-rc.5.tgz#e91b64da0b558c729f4b604a9b1bcbd35df40722"
integrity sha512-BgnkwH7JyMfmxVzkj1HGzwmjnQT6D2CZT5DzqnjtMN7JO5gQo20SE8QS5QHq7/LvaSI/34AeSCiCONWkMOufKg==
"@abp/luxon@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-6.0.0.tgz#764d3a6525c208d38631b1f0934b2762e1ddc512"
integrity sha512-Skzu4vjXSX5zKNVPND8V9/onqcElmjpY2UXO5XC+47Vd3+p4uSNjg9PG9/Eg9Y67Pw48AVpYlO/Kr6KcPlgEQQ==
dependencies:
"@abp/core" "~6.0.0-rc.5"
"@abp/core" "~6.0.0"
luxon "^2.3.0"
"@abp/malihu-custom-scrollbar-plugin@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-6.0.0-rc.5.tgz#61d23e5f7198b36a9faa1e6c79b04f2d5179e3c4"
integrity sha512-1xQIYhw+xX59dYEZ6o4dfZvfYSigXiWqh0M11O5Thfy6Ew0Vd3yYGp8+8xlCg5+ivsdYnIRmKHjdFpogYhyLiA==
"@abp/malihu-custom-scrollbar-plugin@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-6.0.0.tgz#abd5d95d0adad26efd5bb998089128ba4a1f83ad"
integrity sha512-/W4Rj30q9y+CJuNsVhDRE1FFLewuNykjbtdr2GGwlbp4+utE6aHJdBLfNlS0A0RRJN7B1RR25zWT2hrA5EwBqg==
dependencies:
"@abp/core" "~6.0.0-rc.5"
"@abp/core" "~6.0.0"
malihu-custom-scrollbar-plugin "^3.1.5"
"@abp/select2@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-6.0.0-rc.5.tgz#294eb907f85ef012b0b2f73e1b8561be3597cee6"
integrity sha512-P9tqcZbzC/ZSq8o0P2otTfSdSd9tBGyV6ngLUcZ2aA1R3+l4Lcp4rX9y81qPDaH9uLBOJkXd6AVTi11qBzPyZw==
"@abp/select2@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-6.0.0.tgz#72cd661069d3b5641f1a079bd6c8ce966524cb50"
integrity sha512-2XYEP3FgelO87D+5nTA0AeISNLrcGX5eAZkPbJo/9HL7xr0KxNNwc0SgtGM7mnxUNSb1KnDGGBhzglmWy9f0og==
dependencies:
"@abp/core" "~6.0.0-rc.5"
"@abp/core" "~6.0.0"
select2 "^4.0.13"
"@abp/sweetalert2@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-6.0.0-rc.5.tgz#baf7ef24a1551945bd476547c003056bb048409e"
integrity sha512-6N6+DkecO4AXEaCV09W9iRvZPQLn1sZaAFJBvzphwFVOWv3BivJTQCFJRQ5scqc31mWaZ4/UGjOdrq0a/qDiAQ==
"@abp/sweetalert2@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-6.0.0.tgz#61816fa63d3c01c045dfa1b9c706572ca74b054f"
integrity sha512-Bo3hlRN4//40YXYec3GFzHQRH1m2oWcFHOe2jrLre8aGZR2PLCurCjnB24ryi3kFTasOnVTf6N+RkBNOPdvweA==
dependencies:
"@abp/core" "~6.0.0-rc.5"
"@abp/core" "~6.0.0"
sweetalert2 "^11.3.6"
"@abp/timeago@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-6.0.0-rc.5.tgz#0dd52cf24574e10e523a5b6e90740a25123a7745"
integrity sha512-uIc9WZN7J7cqFsxCYt8egapQRGyBMFi8+7ega7OaxmO0R4t8+QisVOsyeXMQvWuF9M9gXKMKlrV5bP6nsnDg0A==
"@abp/timeago@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-6.0.0.tgz#8290a4d84a436007f4f5eb6e2990c64db7d5b27c"
integrity sha512-due1idv86iY9hMg+8TrC0JyFlydRklhlo+kcpOgNNTd9oCy/pJ/ShMDiTM/IcYiW8qwVBFYY9PH8JXGlxGDqrQ==
dependencies:
"@abp/jquery" "~6.0.0-rc.5"
"@abp/jquery" "~6.0.0"
timeago "^1.6.7"
"@abp/toastr@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-6.0.0-rc.5.tgz#8cfbe6d30b57282417feff3f1bccb5fc493c9215"
integrity sha512-UDn0+DP4BAULN9MERWP+QSJQdvZELhkaHcrwTEB80+wcNZ13xf2zShvO60+3rz63Nqf+/kwZcBMNFuwD2ekjww==
"@abp/toastr@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-6.0.0.tgz#62459b9541a20d41b875cf5e76489774c20f462b"
integrity sha512-LgZqsbKd3LIT7erc6aAMO04jBODtBiPDI3HnoCEc7CMu7HdJ22jlRkbBqXwRZsbbDuR35XEh77wYKegat3Yzgw==
dependencies:
"@abp/jquery" "~6.0.0-rc.5"
"@abp/jquery" "~6.0.0"
toastr "^2.1.4"
"@abp/utils@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-6.0.0-rc.5.tgz#c05df5bb5a776ea8a9bd4589d0df6a373bfff1ef"
integrity sha512-X/UGqMJu1vbz6WQOMP7+MXkUB3rIwnm/1PkmGOM+gFqmQJt21IEKbV/gG2/CNR4/QY02HJhj5v4/wm0UBEH56g==
"@abp/utils@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-6.0.0.tgz#62e5a363eea36f00d28ccf5d9b495dc63a4aa018"
integrity sha512-OMYSjdTy7QSofhjPvQ56I6Bw5B5juZ17KywOgkzPliMv6HVw1CT5BDLb8/Gp2jALj6Fu/4OLSa8WXBR6A4A0dw==
dependencies:
just-compare "^1.3.0"

@ -13,7 +13,7 @@ using Volo.CmsKit.EntityFrameworkCore;
namespace Volo.CmsKit.Migrations
{
[DbContext(typeof(UnifiedDbContext))]
[Migration("20220504032430_Initial")]
[Migration("20220808112328_Initial")]
partial class Initial
{
protected override void BuildTargetModel(ModelBuilder modelBuilder)
@ -21,7 +21,7 @@ namespace Volo.CmsKit.Migrations
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer)
.HasAnnotation("ProductVersion", "6.0.0")
.HasAnnotation("ProductVersion", "6.0.5")
.HasAnnotation("Relational:MaxIdentifierLength", 128);
SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder, 1L, 1);
@ -1662,6 +1662,9 @@ namespace Volo.CmsKit.Migrations
.HasDefaultValue(false)
.HasColumnName("IsDeleted");
b.Property<bool>("IsHomePage")
.HasColumnType("bit");
b.Property<DateTime?>("LastModificationTime")
.HasColumnType("datetime2")
.HasColumnName("LastModificationTime");

@ -433,6 +433,7 @@ namespace Volo.CmsKit.Migrations
Content = table.Column<string>(type: "nvarchar(max)", maxLength: 2147483647, nullable: true),
Script = table.Column<string>(type: "nvarchar(max)", nullable: true),
Style = table.Column<string>(type: "nvarchar(max)", nullable: true),
IsHomePage = table.Column<bool>(type: "bit", nullable: false),
ExtraProperties = table.Column<string>(type: "nvarchar(max)", nullable: true),
ConcurrencyStamp = table.Column<string>(type: "nvarchar(40)", maxLength: 40, nullable: true),
CreationTime = table.Column<DateTime>(type: "datetime2", nullable: false),

@ -19,7 +19,7 @@ namespace Volo.CmsKit.Migrations
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer)
.HasAnnotation("ProductVersion", "6.0.0")
.HasAnnotation("ProductVersion", "6.0.5")
.HasAnnotation("Relational:MaxIdentifierLength", 128);
SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder, 1L, 1);
@ -1660,6 +1660,9 @@ namespace Volo.CmsKit.Migrations
.HasDefaultValue(false)
.HasColumnName("IsDeleted");
b.Property<bool>("IsHomePage")
.HasColumnType("bit");
b.Property<DateTime?>("LastModificationTime")
.HasColumnType("datetime2")
.HasColumnName("LastModificationTime");

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

@ -2,37 +2,37 @@
# yarn lockfile v1
"@abp/aspnetcore.mvc.ui.theme.basic@^6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-6.0.0-rc.5.tgz#671940d72fd50e7eab5db922bcec2a27cdca28ed"
integrity sha512-w4cWXcF2aB5fF2J0Jco8ddPF1r522uSIc29zpvUWzUA0X4DC9m7QUairwVbsX5T3Xp4y6guLoizSMkfQe0Sb8A==
dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~6.0.0-rc.5"
"@abp/aspnetcore.mvc.ui.theme.shared@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-6.0.0-rc.5.tgz#d3f997b9f7b19b68e94df83dc5cf3053416d8da4"
integrity sha512-OX4iTN0tFAdkBJiYQAM1GFoqF5ZVcOZfo7N6xhscWqucXIVtcGut5fuL/qIWF8xSH6afN/wH//a0O5+DjGnPmw==
dependencies:
"@abp/aspnetcore.mvc.ui" "~6.0.0-rc.5"
"@abp/bootstrap" "~6.0.0-rc.5"
"@abp/bootstrap-datepicker" "~6.0.0-rc.5"
"@abp/datatables.net-bs5" "~6.0.0-rc.5"
"@abp/font-awesome" "~6.0.0-rc.5"
"@abp/jquery-form" "~6.0.0-rc.5"
"@abp/jquery-validation-unobtrusive" "~6.0.0-rc.5"
"@abp/lodash" "~6.0.0-rc.5"
"@abp/luxon" "~6.0.0-rc.5"
"@abp/malihu-custom-scrollbar-plugin" "~6.0.0-rc.5"
"@abp/select2" "~6.0.0-rc.5"
"@abp/sweetalert2" "~6.0.0-rc.5"
"@abp/timeago" "~6.0.0-rc.5"
"@abp/toastr" "~6.0.0-rc.5"
"@abp/aspnetcore.mvc.ui@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-6.0.0-rc.5.tgz#d7ab5693091c079dce6b5cfdd60832194881b571"
integrity sha512-U8NBcsL80joHsqQo+tnYkUwW+TyIwG5SRFZ3yfb2jTiu1KMlgGcY02+iTEZMF/BhQ3rPrxQ/pH2YmD6Ip095tw==
"@abp/aspnetcore.mvc.ui.theme.basic@^6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-6.0.0.tgz#7bef80e93a75fae848334ad847d031152cb7369a"
integrity sha512-YSnR6pfaWActO9fOndfhLJWF8Aj+p+yHcHTmTwmopTL4AdcjKM2mnGXzri9FN+jt9vxsyK2gxt+VtuHO87V8Xg==
dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~6.0.0"
"@abp/aspnetcore.mvc.ui.theme.shared@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-6.0.0.tgz#47ab51282347788018dbc64b3effd3159b2d89fe"
integrity sha512-BMZ7dZi58WZFSJK76SPvujb0vOaOWXqURzhAPmdjD/3+rsx/FVT6A394muh8Ko0Fm3A5/WE2NNuKvwmIk107/Q==
dependencies:
"@abp/aspnetcore.mvc.ui" "~6.0.0"
"@abp/bootstrap" "~6.0.0"
"@abp/bootstrap-datepicker" "~6.0.0"
"@abp/datatables.net-bs5" "~6.0.0"
"@abp/font-awesome" "~6.0.0"
"@abp/jquery-form" "~6.0.0"
"@abp/jquery-validation-unobtrusive" "~6.0.0"
"@abp/lodash" "~6.0.0"
"@abp/luxon" "~6.0.0"
"@abp/malihu-custom-scrollbar-plugin" "~6.0.0"
"@abp/select2" "~6.0.0"
"@abp/sweetalert2" "~6.0.0"
"@abp/timeago" "~6.0.0"
"@abp/toastr" "~6.0.0"
"@abp/aspnetcore.mvc.ui@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-6.0.0.tgz#f579d8d46f53cc7a417afbdf745e547db62a7c74"
integrity sha512-z6vyEGvGCwlaAY3OKNj8cH14cWYvvwuqJ+bHIVHQ4iwwcCa0la/dwjuBEu9eKesdaOLlCBIMxar3LQ9ltcGHHw==
dependencies:
ansi-colors "^4.1.1"
extend-object "^1.0.0"
@ -41,243 +41,243 @@
merge-stream "^2.0.0"
micromatch "^4.0.2"
"@abp/bootstrap-datepicker@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-6.0.0-rc.5.tgz#4fe0c9b107ae23261121afeb5b72053822b0747f"
integrity sha512-PztuCk/15vhGlisjvZTn6soIZAJp/Mqc0+ipV7Z4O+qBphvp2nFD5lfiVM/E0r2Ql8HzkOq3BO56ZVb0IMIw1g==
"@abp/bootstrap-datepicker@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-6.0.0.tgz#2e75d721ad647a1bb8fc01868b1a64076889051c"
integrity sha512-6ktejU2B0yE6mgVC43quOdw2P/tiOthaGPdYJ9ogso4qMjgoIdWiqNkvz9W8F3BQIj0Ot236lCQXgHOaos98vA==
dependencies:
bootstrap-datepicker "^1.9.0"
"@abp/bootstrap@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-6.0.0-rc.5.tgz#83b08282b4b1496b853179780a3b1e953975bdc3"
integrity sha512-EoiygyyRYwXMO6bbeLuqbfaaZuHUrOGgC9dtVxtyFWgCbWiRAERaHrAHQ12WmxnFXGvXGmy9pATfYQB4ALuLWQ==
"@abp/bootstrap@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-6.0.0.tgz#da3dfc3ed50df72531a7565608f386330cfa3552"
integrity sha512-hDAuG83+8tznKJlSDV+rN58yHhHA/TgDUjz3x+LC9un5SISbt7JAWdlcaRmx38ghfsHRJ9U/tlm3XvWGjYJQOQ==
dependencies:
"@abp/core" "~6.0.0-rc.5"
"@abp/core" "~6.0.0"
bootstrap "^5.1.3"
"@abp/clipboard@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-6.0.0-rc.5.tgz#071d3da1597a7ed706a60b75400ad5970b2a2eed"
integrity sha512-Vj1yvK7Vcqy1aZ9XIbqGDlwe4d1vneMIVA0hypAHtLi+0lLySgS8QAXUpXo0RkRoyksiTRuM2gRkJRZzdiXSNA==
"@abp/clipboard@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-6.0.0.tgz#eb9fd86a3660d33f85bfd29c6042ac3155f1e5ef"
integrity sha512-QwDap2HqynF0C5ybapQBO10RGen3B76eRs+4fzsOmLJYCDEa+bayj1wGwgfMx2Uezxb9Sd/DVEEn1qOC2D6PDQ==
dependencies:
"@abp/core" "~6.0.0-rc.5"
"@abp/core" "~6.0.0"
clipboard "^2.0.8"
"@abp/cms-kit.admin@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/cms-kit.admin/-/cms-kit.admin-6.0.0-rc.5.tgz#646988447d89d305a9cf6ce0ccacec0d4cbae5c7"
integrity sha512-p3e3nMC1YmR/eU9T5GSJwsc/mGS2XUTnzSbd3s+NmPs0fXf8wZhzzbBERi0BbSh0mEJSUUiuFZpu5l+BdblCUQ==
"@abp/cms-kit.admin@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/cms-kit.admin/-/cms-kit.admin-6.0.0.tgz#4b6e4dbe6d0406bb055a118d786507ee8ffba1e4"
integrity sha512-PWXDGqRuCXAA19A2n5zTHTBSYt9HnE0HRWNIm32pUmlS6JiBtbmbOdSVkj3crPHRjTKlJjc+iFLGD03tGRGsoA==
dependencies:
"@abp/codemirror" "~6.0.0-rc.5"
"@abp/jstree" "~6.0.0-rc.5"
"@abp/slugify" "~6.0.0-rc.5"
"@abp/tui-editor" "~6.0.0-rc.5"
"@abp/uppy" "~6.0.0-rc.5"
"@abp/codemirror" "~6.0.0"
"@abp/jstree" "~6.0.0"
"@abp/slugify" "~6.0.0"
"@abp/tui-editor" "~6.0.0"
"@abp/uppy" "~6.0.0"
"@abp/cms-kit.public@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/cms-kit.public/-/cms-kit.public-6.0.0-rc.5.tgz#9d386e74af2ca006650853006eba0ba5580dcb8e"
integrity sha512-0LD1rsP8uStqjRTQECirkrgJqn+NJ+bV3b2d/bEd430AxdxOw45J2DFRnVzIS/ZS5J8UmqyCC9d9cypunUT9ng==
"@abp/cms-kit.public@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/cms-kit.public/-/cms-kit.public-6.0.0.tgz#63cf9e4bc3c213362edec9037f3b6ca11c7701d0"
integrity sha512-gREwIELg9/925oWjz/7VXTAyZsIMgj287WDLU8zsiR+3tDyOCrZAGI7r2PNoxetSXnbfAy/WCFQxj/qyBxE+9g==
dependencies:
"@abp/highlight.js" "~6.0.0-rc.5"
"@abp/star-rating-svg" "~6.0.0-rc.5"
"@abp/highlight.js" "~6.0.0"
"@abp/star-rating-svg" "~6.0.0"
"@abp/cms-kit@6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/cms-kit/-/cms-kit-6.0.0-rc.5.tgz#413632d5d8111f69f9a9c20d5929e597a171bd95"
integrity sha512-J5LUYa/R9LBZDHgSWPvyo+mJWujZOJkINHGjdnurwgsf7LT2Ep6LZjldQFD8yvJVoca5FLCVX+ViRhNLcbeeFg==
"@abp/cms-kit@6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/cms-kit/-/cms-kit-6.0.0.tgz#73207c6b845dd3c5e17f3fa9bd3abc87fa02f87f"
integrity sha512-3U78M5yg2ciSD0nQqyN0QKcRNqx7LVDeVzjHnt6XO5Y+SLJF9oYmJjNnjAcppW2GfUaSr6Br98MCz7k8W7uXjQ==
dependencies:
"@abp/cms-kit.admin" "~6.0.0-rc.5"
"@abp/cms-kit.public" "~6.0.0-rc.5"
"@abp/cms-kit.admin" "~6.0.0"
"@abp/cms-kit.public" "~6.0.0"
"@abp/codemirror@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/codemirror/-/codemirror-6.0.0-rc.5.tgz#2cb4f4f9e841fba7cd1e19d7081ac8d1475665af"
integrity sha512-mHDC9TAuKxjXp1We7lgko9y0rYeIy/EwNFFEbm6DLQKkPFDFgYfNhzKhgRvt2WyndBIfLgQRed9aWZLFkpkcIg==
"@abp/codemirror@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/codemirror/-/codemirror-6.0.0.tgz#4d644ea0acebd051473df2d51e87cbfd0a524547"
integrity sha512-j+5pFtaj2EvNFsRyUkqYtjJ6mhW0W4vRw2yCd0QPI0z+ZG2NY1qugeH4H6Cir4tuZlp5tZohXJE3M+BYGHhXFA==
dependencies:
"@abp/core" "~6.0.0-rc.5"
"@abp/core" "~6.0.0"
codemirror "^5.65.1"
"@abp/core@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-6.0.0-rc.5.tgz#09f9bfaca17383539e3b79554e26510ac27366fc"
integrity sha512-htOfVSUSaErPlXg5QraeOvIH0pcApYt/mvgnXTi49qZmzUJgzuZ7l8B2UC4KGLdyjhjHHY3Vy66jNrm98IsA2g==
"@abp/core@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-6.0.0.tgz#d0191fbf9b81db75bd48316ead4821dec073a9e2"
integrity sha512-X5hqT/Yat2BnTmUj2SlRTENv4tKGcu0Ex+eKPyNlVnk7bTnbmz+oYfYslkGlGni0/ocSYbS3exaQ2P+I84VSFg==
dependencies:
"@abp/utils" "~6.0.0-rc.5"
"@abp/utils" "~6.0.0"
"@abp/datatables.net-bs5@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-6.0.0-rc.5.tgz#a89a4b028ae3bdeef41be38442a79e51b959c51f"
integrity sha512-x2TvTfYkUOOuKakXYT/h9Qi2s1oUYO7PrX0kPuNjQo9Qa7GlDhH10AoyJeKu9AfB/PyczrEZn74IqOI8xh6gjA==
"@abp/datatables.net-bs5@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-6.0.0.tgz#f121500576ec5666498bfc8594b438fe63e3f609"
integrity sha512-bPQyHes9pRp8tLGWlDqizRs8pBid56koKr7JSryOapLQSGhvYFzqMztOtFTHsR5pgLeuuB0DT9cN3uHEjrLsWQ==
dependencies:
"@abp/datatables.net" "~6.0.0-rc.5"
"@abp/datatables.net" "~6.0.0"
datatables.net-bs5 "^1.11.4"
"@abp/datatables.net@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-6.0.0-rc.5.tgz#a3d8f7717f850346455abbeed6fa5ded752e47d3"
integrity sha512-h1LK1h8AKmp4oKfeHoFobnHImbj+BwtwcHU3xAUd7UF+tGBCmjBVNjaiPoUrTize+iwjZvBK5jea901NdJpWRA==
"@abp/datatables.net@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-6.0.0.tgz#9f9b1023399ced1e72d577c260fc4d5d1b3e12e2"
integrity sha512-LIgiyTJ7rek9Mt7P1rzIRcbcaWI3WAdTXFIwG8o4LcfEt7C24XEQI41fzIz4TeTqqRWKiM3LNT+pOaU6feT06w==
dependencies:
"@abp/jquery" "~6.0.0-rc.5"
"@abp/jquery" "~6.0.0"
datatables.net "^1.11.4"
"@abp/font-awesome@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-6.0.0-rc.5.tgz#5625867e26b36853053b0ff8561538ea59149365"
integrity sha512-KtZ9fOFzdQw03Xar68M7IExzLUyQR3zyxa/71vUNfspup3E6LkBXhKILm2nSmp1zJTPoGXRs7DiHO6CyBStBAg==
"@abp/font-awesome@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-6.0.0.tgz#843a52b3864516b49ed041f2ddf3fc65dfe22718"
integrity sha512-c86AOd2nLbQ75S3SnFM7PNasE4HPYJk8oLts88ImLEyy0p3gRfpjCzuLTYyS812M53OLIersRMKyd29UbxSKHw==
dependencies:
"@abp/core" "~6.0.0-rc.5"
"@abp/core" "~6.0.0"
"@fortawesome/fontawesome-free" "^5.15.4"
"@abp/highlight.js@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/highlight.js/-/highlight.js-6.0.0-rc.5.tgz#daa41be253d266867903d175c87ee4a1c0d5507b"
integrity sha512-GjMXoPUtwoZ/M1n+VlIthFswKFU+WNSOW8jr3FKiGDDwY0kjRXNWsuLaQ+fewHZFFpTrPAUfpkRYk/aKFa1eQQ==
"@abp/highlight.js@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/highlight.js/-/highlight.js-6.0.0.tgz#3b8b79470de8ab3d227fa32b3eea9c72b8bef3b1"
integrity sha512-MT2FflUQallp4RLtkIyojQez9HaRUMKd2pPs++4mSWD/rdl9Q0HsSPRbvdJVsH6v7Ymaun16Q1DmnINft5c+Aw==
dependencies:
"@abp/core" "~6.0.0-rc.5"
"@abp/core" "~6.0.0"
"@highlightjs/cdn-assets" "~11.4.0"
"@abp/jquery-form@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-6.0.0-rc.5.tgz#7c7f21b0314c93d618a4ba4ffba5d6134887e2c8"
integrity sha512-YSA3K/uvollrGR6xnyhtd4SPp+YmmDDYgL6HGygNSjl+JQbb0ZM/SSaN2TBi67Aq1FNs9TkOQegPIwVWB/LokQ==
"@abp/jquery-form@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-6.0.0.tgz#c8fef921f31622e7c6260550165bf32aa12260dc"
integrity sha512-jSw1Hf0R+7oQH8DP2ksue8ciMiYhxEJIcdw2wOKOhAPTheXbkuvFZxuAB1vI0EKe9ljLX0+c0UywWPfcwnhSpA==
dependencies:
"@abp/jquery" "~6.0.0-rc.5"
"@abp/jquery" "~6.0.0"
jquery-form "^4.3.0"
"@abp/jquery-validation-unobtrusive@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-6.0.0-rc.5.tgz#d649564c3fc079b91cb253e7537e8bbd62dae97d"
integrity sha512-i9Aa92au9HtxC9jo9WjNwHeDaem8dXFiB8jEHFbtzn74iZSF4ZYd0s+rgo7TscsKkXeiSMOy02FmYes6Ldpy1w==
"@abp/jquery-validation-unobtrusive@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-6.0.0.tgz#642472a3fbe080d4c40da367493e49e7ca46cff0"
integrity sha512-tKcbJsPjgFV8n8DY48MtB/4rMowxeJzFxQRKjRaMuYuMkrlSDmU7lh4YDAcfOOdGPMEYF3plBu/5wBnpLdURBA==
dependencies:
"@abp/jquery-validation" "~6.0.0-rc.5"
"@abp/jquery-validation" "~6.0.0"
jquery-validation-unobtrusive "^3.2.12"
"@abp/jquery-validation@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-6.0.0-rc.5.tgz#b61cd7e9be3d982aa12a579be7e9bcb8442ad03c"
integrity sha512-VdTvyRadDave2X6wTeqLlpeUQKaHohAdwB7ex57Y+WmXSsAlhB1Bwa33YjSkukpnRKYLpQ55KwVJ4iaSItyY2g==
"@abp/jquery-validation@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-6.0.0.tgz#a3fba4bcc24819f0a1d3e34eb8bd18ff9c50af08"
integrity sha512-ezMi9rB3R1EuGWBOBdnegvlHWfou4Qkppx7sBzpyaRfUagef1IhOrxDnOByviZP/53a31501FDM5Sn4qDu9G7Q==
dependencies:
"@abp/jquery" "~6.0.0-rc.5"
"@abp/jquery" "~6.0.0"
jquery-validation "^1.19.3"
"@abp/jquery@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-6.0.0-rc.5.tgz#c6e6d322512b26a57fc5a1e5fe4c0ea5da79a705"
integrity sha512-OKP96FFLpwaZnZZDLiwkzhE7bP0y4RCpeDtTrL5aLO/D9l7Vi66hZVAx4cliXTGwpu99joNFXlTmbwkilGqPMA==
"@abp/jquery@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-6.0.0.tgz#709de2b9109aaa3149b76faf8c9d7371f15c7069"
integrity sha512-mCDT1kepSgV2ecQfqVWXsqbbIqUCs33wBaQcnYpX+nTX1SsuiPZvDyqWYxDhKDzZ6E3kPuYv/c7+/InqXTbfCA==
dependencies:
"@abp/core" "~6.0.0-rc.5"
"@abp/core" "~6.0.0"
jquery "~3.6.0"
"@abp/jstree@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/jstree/-/jstree-6.0.0-rc.5.tgz#520f9f1898cb99b392318e0ad6f28c64c84ba69f"
integrity sha512-rNVUn+UMCDZ+Q3V5Ss5CUB1HKQxr6xWAmTejHWHmRO4O7zypxejkNJaT88J2QHFon9GjhzojRksMKvgfWZ+ftg==
"@abp/jstree@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/jstree/-/jstree-6.0.0.tgz#5609e73a4fe4964a6c81fe30ee6a14e407fc8d62"
integrity sha512-/vLZLR5GoaX7AsTXWJOlUSXI9U4yxsH0Jj1PP8O/3Ff4+wH5bFO59RWm/i9E49gwej6F2N8P20do5AKzOhTfLw==
dependencies:
"@abp/jquery" "~6.0.0-rc.5"
"@abp/jquery" "~6.0.0"
jstree "^3.3.12"
"@abp/lodash@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-6.0.0-rc.5.tgz#165107270460624a263cd88c8a7816a58cf41ca8"
integrity sha512-KieDq0v6wZB/kSZR2dJ+HKnPYHQng0udbxZqlha5dtlDJxRslz0eK9nVrB0VEzjs+xHrzTj10mpgyAjo21GR0Q==
"@abp/lodash@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-6.0.0.tgz#5f08f5cb262981cb6782587a05c1b3bd9f62eeef"
integrity sha512-3FNl1gZksfbRRXYQ8+PVer4OTHjIx31IYhHzHe766y6C1mDKnskQz7HaHEPQ3kMd6omyNPuj9Od9h4Y9fm3Bnw==
dependencies:
"@abp/core" "~6.0.0-rc.5"
"@abp/core" "~6.0.0"
lodash "^4.17.21"
"@abp/luxon@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-6.0.0-rc.5.tgz#e91b64da0b558c729f4b604a9b1bcbd35df40722"
integrity sha512-BgnkwH7JyMfmxVzkj1HGzwmjnQT6D2CZT5DzqnjtMN7JO5gQo20SE8QS5QHq7/LvaSI/34AeSCiCONWkMOufKg==
"@abp/luxon@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-6.0.0.tgz#764d3a6525c208d38631b1f0934b2762e1ddc512"
integrity sha512-Skzu4vjXSX5zKNVPND8V9/onqcElmjpY2UXO5XC+47Vd3+p4uSNjg9PG9/Eg9Y67Pw48AVpYlO/Kr6KcPlgEQQ==
dependencies:
"@abp/core" "~6.0.0-rc.5"
"@abp/core" "~6.0.0"
luxon "^2.3.0"
"@abp/malihu-custom-scrollbar-plugin@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-6.0.0-rc.5.tgz#61d23e5f7198b36a9faa1e6c79b04f2d5179e3c4"
integrity sha512-1xQIYhw+xX59dYEZ6o4dfZvfYSigXiWqh0M11O5Thfy6Ew0Vd3yYGp8+8xlCg5+ivsdYnIRmKHjdFpogYhyLiA==
"@abp/malihu-custom-scrollbar-plugin@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-6.0.0.tgz#abd5d95d0adad26efd5bb998089128ba4a1f83ad"
integrity sha512-/W4Rj30q9y+CJuNsVhDRE1FFLewuNykjbtdr2GGwlbp4+utE6aHJdBLfNlS0A0RRJN7B1RR25zWT2hrA5EwBqg==
dependencies:
"@abp/core" "~6.0.0-rc.5"
"@abp/core" "~6.0.0"
malihu-custom-scrollbar-plugin "^3.1.5"
"@abp/prismjs@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-6.0.0-rc.5.tgz#c908113295aed8ecf4b04c1691d9295b6af47964"
integrity sha512-SiRkUfqWf0VAwJ4nfassN+Me/0A6cIji2TWmSaKuOlen3Ph55iGy9od6nE5njnZqUAmuL8XqTisvt7Gx8Cd4DQ==
"@abp/prismjs@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-6.0.0.tgz#05f4ba60548035f7c88897e9792d8ed446860991"
integrity sha512-BtbX6kORlDhcmrnSXNw9Q1lnKNNvuMkaoQMmluNGFZXx1jUX9hfRkipD8Stbvjq85B9dzcVawocwP8Qu12Fn9A==
dependencies:
"@abp/clipboard" "~6.0.0-rc.5"
"@abp/core" "~6.0.0-rc.5"
"@abp/clipboard" "~6.0.0"
"@abp/core" "~6.0.0"
prismjs "^1.26.0"
"@abp/select2@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-6.0.0-rc.5.tgz#294eb907f85ef012b0b2f73e1b8561be3597cee6"
integrity sha512-P9tqcZbzC/ZSq8o0P2otTfSdSd9tBGyV6ngLUcZ2aA1R3+l4Lcp4rX9y81qPDaH9uLBOJkXd6AVTi11qBzPyZw==
"@abp/select2@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-6.0.0.tgz#72cd661069d3b5641f1a079bd6c8ce966524cb50"
integrity sha512-2XYEP3FgelO87D+5nTA0AeISNLrcGX5eAZkPbJo/9HL7xr0KxNNwc0SgtGM7mnxUNSb1KnDGGBhzglmWy9f0og==
dependencies:
"@abp/core" "~6.0.0-rc.5"
"@abp/core" "~6.0.0"
select2 "^4.0.13"
"@abp/slugify@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/slugify/-/slugify-6.0.0-rc.5.tgz#d4d6e62e3c38f7f15b0a8be7c4a9cc4c847a1dbc"
integrity sha512-W7yGpFfHi4gTjlEls+OlqY4Az+VXp97tJR+OMP+ZpHbTUlPlcHTu9JUTtX3ulGcIB1N4m8pbabKIDttnZghGqw==
"@abp/slugify@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/slugify/-/slugify-6.0.0.tgz#16b97cfb4ae768fd809f8e3b6d1b1c2f29bec29d"
integrity sha512-UkhmRbnqmC38dcwlbICkE5STwnUMgDY7kOTn/EaxbrNSkoI7Dgqk/tv+zp2rGQZvFyZHaa4h/czaTi15JcCBAw==
dependencies:
slugify "^1.6.5"
"@abp/star-rating-svg@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/star-rating-svg/-/star-rating-svg-6.0.0-rc.5.tgz#bb123c006c98abd9803c47bde5aa74cf672225c6"
integrity sha512-nkIwpI2lAF6jkCTRVl7/i+SSnV87WcC98eTY3Wm/RHeZn6IyAVg7kc/lWFv/eZwpvWZgHhXsRjVfUISqJPBjzw==
"@abp/star-rating-svg@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/star-rating-svg/-/star-rating-svg-6.0.0.tgz#6f3f9ee5e55e35080dfbe023401970b840811bf4"
integrity sha512-HoiuNTiP/Kg7KbSdP1LVAvxZ5isQxqQkj9BeFst8N5UtCu0rrfNirsJmu/yZoLqcvfRc4Q6Zx9mTTio1mMbblQ==
dependencies:
"@abp/jquery" "~6.0.0-rc.5"
"@abp/jquery" "~6.0.0"
star-rating-svg "^3.5.0"
"@abp/sweetalert2@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-6.0.0-rc.5.tgz#baf7ef24a1551945bd476547c003056bb048409e"
integrity sha512-6N6+DkecO4AXEaCV09W9iRvZPQLn1sZaAFJBvzphwFVOWv3BivJTQCFJRQ5scqc31mWaZ4/UGjOdrq0a/qDiAQ==
"@abp/sweetalert2@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-6.0.0.tgz#61816fa63d3c01c045dfa1b9c706572ca74b054f"
integrity sha512-Bo3hlRN4//40YXYec3GFzHQRH1m2oWcFHOe2jrLre8aGZR2PLCurCjnB24ryi3kFTasOnVTf6N+RkBNOPdvweA==
dependencies:
"@abp/core" "~6.0.0-rc.5"
"@abp/core" "~6.0.0"
sweetalert2 "^11.3.6"
"@abp/timeago@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-6.0.0-rc.5.tgz#0dd52cf24574e10e523a5b6e90740a25123a7745"
integrity sha512-uIc9WZN7J7cqFsxCYt8egapQRGyBMFi8+7ega7OaxmO0R4t8+QisVOsyeXMQvWuF9M9gXKMKlrV5bP6nsnDg0A==
"@abp/timeago@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-6.0.0.tgz#8290a4d84a436007f4f5eb6e2990c64db7d5b27c"
integrity sha512-due1idv86iY9hMg+8TrC0JyFlydRklhlo+kcpOgNNTd9oCy/pJ/ShMDiTM/IcYiW8qwVBFYY9PH8JXGlxGDqrQ==
dependencies:
"@abp/jquery" "~6.0.0-rc.5"
"@abp/jquery" "~6.0.0"
timeago "^1.6.7"
"@abp/toastr@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-6.0.0-rc.5.tgz#8cfbe6d30b57282417feff3f1bccb5fc493c9215"
integrity sha512-UDn0+DP4BAULN9MERWP+QSJQdvZELhkaHcrwTEB80+wcNZ13xf2zShvO60+3rz63Nqf+/kwZcBMNFuwD2ekjww==
"@abp/toastr@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-6.0.0.tgz#62459b9541a20d41b875cf5e76489774c20f462b"
integrity sha512-LgZqsbKd3LIT7erc6aAMO04jBODtBiPDI3HnoCEc7CMu7HdJ22jlRkbBqXwRZsbbDuR35XEh77wYKegat3Yzgw==
dependencies:
"@abp/jquery" "~6.0.0-rc.5"
"@abp/jquery" "~6.0.0"
toastr "^2.1.4"
"@abp/tui-editor@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/tui-editor/-/tui-editor-6.0.0-rc.5.tgz#9d9e6035d8b145d9d7ebe9f236ecf2c140f00a6b"
integrity sha512-Q+Nx+nvqj7iUUDH4uCHxxJ2dZssJ6nxzNmIhlL5jW2rAotQGbUkw1ByQeFJBA83qGVD8whlBZUKNEIz06JYcvA==
"@abp/tui-editor@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/tui-editor/-/tui-editor-6.0.0.tgz#907059be960ee24f75ac3418800e9601edfad672"
integrity sha512-6xLoH0DcZGBlXazPEVBA7sJP4kaNG26+aYOTa3g21cl4dgiMmUqzFV+XiEEUbyOkAPyuW+MJXWCeH1R496dx9A==
dependencies:
"@abp/jquery" "~6.0.0-rc.5"
"@abp/prismjs" "~6.0.0-rc.5"
"@abp/jquery" "~6.0.0"
"@abp/prismjs" "~6.0.0"
"@abp/uppy@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/uppy/-/uppy-6.0.0-rc.5.tgz#6e81fc0ee281f43db9a91cb15ff8d317e81b0535"
integrity sha512-T6FBrGuPJ66BgkdwMmjELzuKCOa2vCtYyVzhiUC+le4tEaSunSvk54pDgXqV0ahgV3CzJ7myMzmGyyKCV6kIwg==
"@abp/uppy@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/uppy/-/uppy-6.0.0.tgz#00348e2d911e4a3fd733d4b9c60cf9fee6087b4e"
integrity sha512-IEhzcFPx9z0gzem4VMXuqLSiwB2yfopXhOYjnItxjyck6oVw2HsorpyPHFYTl4EpJVQmHuXXDcTVkXMpyIs6Vw==
dependencies:
"@abp/core" "~6.0.0-rc.5"
"@abp/core" "~6.0.0"
uppy "^1.16.1"
"@abp/utils@~6.0.0-rc.5":
version "6.0.0-rc.5"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-6.0.0-rc.5.tgz#c05df5bb5a776ea8a9bd4589d0df6a373bfff1ef"
integrity sha512-X/UGqMJu1vbz6WQOMP7+MXkUB3rIwnm/1PkmGOM+gFqmQJt21IEKbV/gG2/CNR4/QY02HJhj5v4/wm0UBEH56g==
"@abp/utils@~6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-6.0.0.tgz#62e5a363eea36f00d28ccf5d9b495dc63a4aa018"
integrity sha512-OMYSjdTy7QSofhjPvQ56I6Bw5B5juZ17KywOgkzPliMv6HVw1CT5BDLb8/Gp2jALj6Fu/4OLSa8WXBR6A4A0dw==
dependencies:
just-compare "^1.3.0"

@ -1,11 +1,10 @@
using System;
using System.Threading.Tasks;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Application.Services;
using Volo.Abp.Content;
namespace Volo.CmsKit.Admin.Pages;
public interface IPageAdminAppService : ICrudAppService<PageDto, PageDto, Guid, GetPagesInputDto, CreatePageInputDto, UpdatePageInputDto>
{
Task SetAsHomePageAsync(Guid id);
}

@ -17,5 +17,7 @@ public class PageDto : AuditedEntityDto<Guid>, IHasConcurrencyStamp
public string Style { get; set; }
public bool IsHomePage { get; set; }
public string ConcurrencyStamp { get; set; }
}

@ -35,6 +35,8 @@ public class CmsKitAdminPermissionDefinitionProvider : PermissionDefinitionProvi
.RequireGlobalFeatures(typeof(PagesFeature));
pageManagement.AddChild(CmsKitAdminPermissions.Pages.Delete, L("Permission:PageManagement:Delete"))
.RequireGlobalFeatures(typeof(PagesFeature));
pageManagement.AddChild(CmsKitAdminPermissions.Pages.SetAsHomePage, L("Permission:PageManagement:SetAsHomePage"))
.RequireGlobalFeatures(typeof(PagesFeature));
var blogManagement = cmsGroup.AddPermission(CmsKitAdminPermissions.Blogs.Default, L("Permission:BlogManagement"))
.RequireGlobalFeatures(typeof(BlogsFeature));

@ -1,8 +1,6 @@
using Volo.Abp.Reflection;
namespace Volo.CmsKit.Permissions;
namespace Volo.CmsKit.Permissions;
public class CmsKitAdminPermissions
public static class CmsKitAdminPermissions
{
public const string GroupName = "CmsKit";
@ -34,6 +32,7 @@ public class CmsKitAdminPermissions
public const string Create = Default + ".Create";
public const string Update = Default + ".Update";
public const string Delete = Default + ".Delete";
public const string SetAsHomePage = Default + ".SetAsHomePage";
}
public static class Blogs

@ -86,4 +86,14 @@ public class PageAdminAppService : CmsKitAdminAppServiceBase, IPageAdminAppServi
{
await PageRepository.DeleteAsync(id);
}
[Authorize(CmsKitAdminPermissions.Pages.SetAsHomePage)]
public virtual async Task SetAsHomePageAsync(Guid id)
{
var page = await PageRepository.GetAsync(id);
await PageManager.SetHomePageAsync(page);
await PageRepository.UpdateAsync(page);
}
}

@ -55,4 +55,12 @@ public partial class PageAdminClientProxy : ClientProxyBase<IPageAdminAppService
{ typeof(Guid), id }
});
}
public virtual async Task SetAsHomePageAsync(Guid id)
{
await RequestAsync(nameof(SetAsHomePageAsync), new ClientProxyRequestTypeValue
{
{ typeof(Guid), id }
});
}
}

@ -675,6 +675,43 @@
},
"allowAnonymous": false,
"implementFrom": "Volo.Abp.Application.Services.IDeleteAppService<System.Guid>"
},
"SetAsHomePageAsyncById": {
"uniqueName": "SetAsHomePageAsyncById",
"name": "SetAsHomePageAsync",
"httpMethod": "PUT",
"url": "api/cms-kit-admin/pages/setashomepage/{id}",
"supportedVersions": [],
"parametersOnMethod": [
{
"name": "id",
"typeAsString": "System.Guid, System.Private.CoreLib",
"type": "System.Guid",
"typeSimple": "string",
"isOptional": false,
"defaultValue": null
}
],
"parameters": [
{
"nameOnMethod": "id",
"name": "id",
"jsonName": null,
"type": "System.Guid",
"typeSimple": "string",
"isOptional": false,
"defaultValue": null,
"constraintTypes": [],
"bindingSourceId": "Path",
"descriptorName": ""
}
],
"returnValue": {
"type": "System.Void",
"typeSimple": "System.Void"
},
"allowAnonymous": false,
"implementFrom": "Volo.CmsKit.Admin.Pages.IPageAdminAppService"
}
}
},

@ -62,4 +62,12 @@ public class PageAdminController : CmsKitAdminController, IPageAdminAppService
{
return PageAdminAppService.DeleteAsync(id);
}
[HttpPut]
[Authorize(CmsKitAdminPermissions.Pages.SetAsHomePage)]
[Route("setashomepage/{id}")]
public virtual Task SetAsHomePageAsync([FromRoute] Guid id)
{
return PageAdminAppService.SetAsHomePageAsync(id);
}
}

@ -1,19 +1,19 @@
using Microsoft.AspNetCore.Mvc.RazorPages;
using Microsoft.Extensions.DependencyInjection;
using Volo.Abp.AspNetCore.Mvc;
using Volo.CmsKit.Admin.Web.Menus;
using Volo.Abp.AspNetCore.Mvc.Localization;
using Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.PageToolbars;
using Volo.Abp.AutoMapper;
using Volo.Abp.Http.ProxyScripting.Generators.JQuery;
using Volo.Abp.Localization;
using Volo.Abp.Modularity;
using Volo.Abp.UI.Navigation;
using Volo.Abp.VirtualFileSystem;
using Volo.CmsKit.Admin.MediaDescriptors;
using Volo.CmsKit.Admin.Web.Menus;
using Volo.CmsKit.Localization;
using Volo.CmsKit.Web;
using Volo.CmsKit.Permissions;
using Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.PageToolbars;
using Volo.Abp.Localization;
using Volo.Abp.AutoMapper;
using Volo.Abp.Http.ProxyScripting.Generators.JQuery;
using Volo.CmsKit.Admin.MediaDescriptors;
using Volo.CmsKit.Web;
namespace Volo.CmsKit.Admin.Web;
@ -64,6 +64,7 @@ public class CmsKitAdminWebModule : AbpModule
options.Conventions.AuthorizeFolder("/CmsKit/Pages", CmsKitAdminPermissions.Pages.Default);
options.Conventions.AuthorizeFolder("/CmsKit/Pages/Create", CmsKitAdminPermissions.Pages.Create);
options.Conventions.AuthorizeFolder("/CmsKit/Pages/Update", CmsKitAdminPermissions.Pages.Update);
options.Conventions.AuthorizeFolder("/CmsKit/Pages/SetAsHomePage", CmsKitAdminPermissions.Pages.SetAsHomePage);
options.Conventions.AuthorizeFolder("/CmsKit/Blogs", CmsKitAdminPermissions.Blogs.Default);
options.Conventions.AuthorizeFolder("/CmsKit/Blogs/Create", CmsKitAdminPermissions.Blogs.Create);
options.Conventions.AuthorizeFolder("/CmsKit/Blogs/Update", CmsKitAdminPermissions.Blogs.Update);
@ -98,7 +99,7 @@ public class CmsKitAdminWebModule : AbpModule
Configure<AbpPageToolbarOptions>(options =>
{
options.Configure<Volo.CmsKit.Admin.Web.Pages.CmsKit.Tags.IndexModel>(
options.Configure<Pages.CmsKit.Tags.IndexModel>(
toolbar =>
{
toolbar.AddButton(
@ -110,7 +111,7 @@ public class CmsKitAdminWebModule : AbpModule
}
);
options.Configure<Volo.CmsKit.Admin.Web.Pages.CmsKit.Pages.IndexModel>(
options.Configure<Pages.CmsKit.Pages.IndexModel>(
toolbar =>
{
toolbar.AddButton(
@ -121,7 +122,7 @@ public class CmsKitAdminWebModule : AbpModule
);
});
options.Configure<Volo.CmsKit.Admin.Web.Pages.CmsKit.Blogs.IndexModel>(
options.Configure<Pages.CmsKit.Blogs.IndexModel>(
toolbar =>
{
toolbar.AddButton(
@ -133,7 +134,7 @@ public class CmsKitAdminWebModule : AbpModule
);
});
options.Configure<Volo.CmsKit.Admin.Web.Pages.CmsKit.BlogPosts.IndexModel>(
options.Configure<Pages.CmsKit.BlogPosts.IndexModel>(
toolbar =>
{
toolbar.AddButton(
@ -145,7 +146,7 @@ public class CmsKitAdminWebModule : AbpModule
);
});
options.Configure<Volo.CmsKit.Admin.Web.Pages.CmsKit.Menus.MenuItems.IndexModel>(
options.Configure<Pages.CmsKit.Menus.MenuItems.IndexModel>(
toolbar =>
{
toolbar.AddButton(

@ -10,7 +10,9 @@ $(function (){
return $datePicker.data('date');
};
moment.localeData().preparse = (s)=>s;
moment.localeData().postformat = (s)=>s;
$('.singledatepicker').daterangepicker({
"singleDatePicker": true,
"showDropdowns": true,

@ -1,4 +1,4 @@
$(function (){
$(function () {
var l = abp.localization.getResource("CmsKit");
var pagesService = volo.cmsKit.admin.pages.pageAdmin;
@ -17,7 +17,7 @@ $(function (){
scrollCollapse: true,
scrollX: true,
ordering: true,
order: [[3, "desc"]],
order: [[4, "desc"]],
ajax: abp.libs.datatables.createAjax(pagesService.getList, getFilter),
columnDefs: [
{
@ -46,6 +46,21 @@ $(function (){
abp.notify.success(l('SuccessfullyDeleted'));
});
}
},
{
text: l('SetAsHomePage'),
visible: abp.auth.isGranted('CmsKit.Pages.SetAsHomePage'),
action: function (data) {
pagesService
.setAsHomePage(data.record.id)
.then(function () {
_dataTable.ajax.reload();
data.record.isHomePage ?
abp.notify.warn(l('RemovedSettingAsHomePage'))
: abp.notify.success(l('CompletedSettingAsHomePage'));
});
}
}
]
}
@ -60,6 +75,11 @@ $(function (){
orderable: true,
data: "slug"
},
{
title: l("IsHomePage"),
orderable: true,
data: "isHomePage"
},
{
title: l("CreationTime"),
orderable: true,

@ -136,6 +136,14 @@
}, ajaxParams));
};
volo.cmsKit.admin.pages.pageAdmin.setAsHomePage = function(id, ajaxParams) {
return abp.ajax($.extend(true, {
url: abp.appPath + 'api/cms-kit-admin/pages/setashomepage/' + id + '',
type: 'PUT',
dataType: null
}, ajaxParams));
};
})();
// controller volo.cmsKit.admin.menus.menuItemAdmin

@ -11,7 +11,8 @@ public static class CmsKitErrorCodes
public static class Pages
{
public const string SlugAlreadyExist = "CmsKit:Page:0001";
}
public const string MultipleHomePage = "CmsKit:Page:0002";
}
public static class Ratings
{

@ -112,6 +112,7 @@
"Permission:PageManagement:Create": "Create",
"Permission:PageManagement:Delete": "Delete",
"Permission:PageManagement:Update": "Update",
"Permission:PageManagement:SetAsHomePage": "Set As Home Page",
"Permission:TagManagement": "Tag Management",
"Permission:TagManagement.Create": "Create",
"Permission:TagManagement.Delete": "Delete",
@ -188,6 +189,10 @@
"SelectAnAuthor": "Select an Author",
"InThisDocument": "In This Document",
"GoToTop": "Go To Top",
"SetAsHomePage": "Change Home Page Status",
"CompletedSettingAsHomePage": "Set as home page",
"IsHomePage": "Is Home Page",
"RemovedSettingAsHomePage": "Removed setting the home page",
"Feature:CmsKitGroup": "Cms Kit",
"Feature:BlogEnable": "Enabled blog page",
"Feature:BlogEnableDescription": "Enable blog page in the application.",

@ -112,6 +112,7 @@
"Permission:PageManagement:Create": "Oluşturmak",
"Permission:PageManagement:Delete": "Silmek",
"Permission:PageManagement:Update": "Güncelleme",
"Permission:PageManagement:SetAsHomePage": "Anasayfa Olarak Ayarla",
"Permission:TagManagement": "Etiket Yönetimi",
"Permission:TagManagement.Create": "Etiket Oluşturma",
"Permission:TagManagement.Delete": "Etiket Silme",
@ -161,8 +162,6 @@
"YourReply": "Cevabınız",
"MarkdownSupported": "<a href=\"https://www.markdownguide.org/basic-syntax/\">Markdown</a> destekler.",
"GlobalResources": "Global Kaynaklar",
"Script": "Script",
"Style": "Style",
"SavedSuccessfully": "Başarıyla kaydedildi",
"CmsKit.BlogPost.Status.0": "Taslak",
"CmsKit.BlogPost.Status.1": "Yayınlandı",
@ -189,6 +188,10 @@
"Add": "Ekle",
"AddWidget": "Widget Ekle",
"PleaseConfigureWidgets": "Lütfen widget'leri yapılandırın",
"SetAsHomePage": "Ana sayfa Durumunu Değiştir",
"CompletedSettingAsHomePage": "Ana Sayfa olarak ayarlandı",
"IsHomePage": "Ana Sayfa Mı",
"RemovedSettingAsHomePage": "Ana sayfa ayarı kaldırıldı",
"Permission:GlobalResources": "Global Kaynaklar",
"Feature:CmsKitGroup": "Cms Kit",
"Feature:BlogEnable": "Blog sayfasını etkinleştirin",

@ -22,4 +22,6 @@ public interface IPageRepository : IBasicRepository<Page, Guid>
Task<Page> FindBySlugAsync(string slug, CancellationToken cancellationToken = default);
Task<bool> ExistsAsync(string slug, CancellationToken cancellationToken = default);
Task<List<Page>> GetListOfHomePagesAsync(CancellationToken cancellationToken = default);
}

@ -0,0 +1,23 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.Text;
using System.Threading.Tasks;
using Volo.Abp;
namespace Volo.CmsKit.Domain.Volo.CmsKit.Pages;
[Serializable]
public class MultipleHomePageException : BusinessException
{
public MultipleHomePageException()
{
Code = CmsKitErrorCodes.Pages.MultipleHomePage;
}
public MultipleHomePageException(SerializationInfo serializationInfo, StreamingContext context)
: base(serializationInfo, context)
{
}
}

@ -20,6 +20,8 @@ public class Page : FullAuditedAggregateRoot<Guid>, IMultiTenant
public virtual string Style { get; protected set; }
public virtual bool IsHomePage { get; protected set; }
protected Page()
{
}
@ -49,9 +51,7 @@ public class Page : FullAuditedAggregateRoot<Guid>, IMultiTenant
internal virtual void SetSlug(string slug)
{
Slug = SlugNormalizer.Normalize(
Check.NotNullOrEmpty(slug, nameof(slug), PageConsts.MaxSlugLength)
);
Slug = SlugNormalizer.Normalize(Check.NotNullOrEmpty(slug, nameof(slug), PageConsts.MaxSlugLength));
}
public virtual void SetContent(string content)
@ -68,4 +68,9 @@ public class Page : FullAuditedAggregateRoot<Guid>, IMultiTenant
{
Style = Check.Length(style, nameof(style), PageConsts.MaxStyleLength);
}
internal void SetIsHomePage(bool isHomePage)
{
IsHomePage = isHomePage;
}
}

@ -1,9 +1,6 @@
using JetBrains.Annotations;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Linq;
using System.Threading.Tasks;
using JetBrains.Annotations;
using Volo.Abp;
using Volo.Abp.Domain.Services;
@ -11,49 +8,75 @@ namespace Volo.CmsKit.Pages;
public class PageManager : DomainService
{
protected IPageRepository PageRepository { get; }
public PageManager(IPageRepository pageRepository)
{
PageRepository = pageRepository;
}
public virtual async Task<Page> CreateAsync(
[NotNull] string title,
[NotNull] string slug,
[CanBeNull] string content = null,
[CanBeNull] string script = null,
[CanBeNull] string style = null)
{
Check.NotNullOrEmpty(title, nameof(title));
Check.NotNullOrEmpty(slug, nameof(slug));
await CheckPageSlugAsync(slug);
return new Page(
GuidGenerator.Create(),
title,
slug,
content,
script,
style,
CurrentTenant.Id);
}
public virtual async Task SetSlugAsync(Page page, string newSlug)
{
if (page.Slug != newSlug)
{
await CheckPageSlugAsync(newSlug);
page.SetSlug(newSlug);
}
}
protected virtual async Task CheckPageSlugAsync(string slug)
{
if (await PageRepository.ExistsAsync(slug))
{
throw new PageSlugAlreadyExistsException(slug);
}
}
protected IPageRepository PageRepository { get; }
public PageManager(IPageRepository pageRepository)
{
PageRepository = pageRepository;
}
public virtual async Task<Page> CreateAsync(
[NotNull] string title,
[NotNull] string slug,
[CanBeNull] string content = null,
[CanBeNull] string script = null,
[CanBeNull] string style = null)
{
Check.NotNullOrEmpty(title, nameof(title));
Check.NotNullOrEmpty(slug, nameof(slug));
await CheckPageSlugAsync(slug);
return new Page(
GuidGenerator.Create(),
title,
slug,
content,
script,
style,
CurrentTenant.Id);
}
public virtual async Task SetSlugAsync(Page page, string newSlug)
{
if (page.Slug != newSlug)
{
await CheckPageSlugAsync(newSlug);
page.SetSlug(newSlug);
}
}
public virtual async Task SetHomePageAsync(Page page)
{
var currentHomePages = await PageRepository.GetListAsync();
foreach (var homePage in currentHomePages)
{
homePage.SetIsHomePage(false);
}
await PageRepository.UpdateManyAsync(currentHomePages);
page.SetIsHomePage(true);
}
public virtual async Task<Page> GetHomePageAsync()
{
var currentHomePages = await PageRepository.GetListAsync();
if (currentHomePages.Count > 1)
{
throw new BusinessException("There can be only one home page.");
}
return currentHomePages.FirstOrDefault();
}
protected virtual async Task CheckPageSlugAsync(string slug)
{
if (await PageRepository.ExistsAsync(slug))
{
throw new PageSlugAlreadyExistsException(slug);
}
}
}

@ -63,4 +63,9 @@ public class EfCorePageRepository : EfCoreRepository<ICmsKitDbContext, Page, Gui
Check.NotNullOrEmpty(slug, nameof(slug));
return await (await GetDbSetAsync()).AnyAsync(x => x.Slug == slug, GetCancellationToken(cancellationToken));
}
public virtual Task<List<Page>> GetListOfHomePagesAsync(CancellationToken cancellationToken = default)
{
return GetListAsync(x => x.IsHomePage, cancellationToken: GetCancellationToken(cancellationToken));
}
}

@ -71,4 +71,9 @@ public class MongoPageRepository : MongoDbRepository<ICmsKitMongoDbContext, Page
return await (await GetMongoQueryableAsync(cancellationToken)).AnyAsync(x => x.Slug == slug,
GetCancellationToken(cancellationToken));
}
public virtual Task<List<Page>> GetListOfHomePagesAsync(CancellationToken cancellationToken = default)
{
return GetListAsync(x => x.IsHomePage, cancellationToken: GetCancellationToken(cancellationToken));
}
}

@ -8,4 +8,5 @@ namespace Volo.CmsKit.Public.Pages;
public interface IPagePublicAppService : IApplicationService
{
Task<PageDto> FindBySlugAsync([NotNull] string slug);
Task<PageDto> FindDefaultHomePageAsync();
}

@ -1,4 +1,7 @@
using System.Threading.Tasks;
using System;
using System.Threading.Tasks;
using Microsoft.Extensions.Caching.Distributed;
using Volo.Abp.Caching;
using Volo.Abp.Features;
using Volo.Abp.GlobalFeatures;
using Volo.CmsKit.Contents;
@ -13,10 +16,15 @@ namespace Volo.CmsKit.Public.Pages;
public class PagePublicAppService : CmsKitPublicAppServiceBase, IPagePublicAppService
{
protected IPageRepository PageRepository { get; }
protected PageManager PageManager { get; }
public PagePublicAppService(IPageRepository pageRepository)
protected IDistributedCache<PageDto> PageCache { get; }
public PagePublicAppService(IPageRepository pageRepository, PageManager pageManager, IDistributedCache<PageDto> pageCache)
{
PageRepository = pageRepository;
PageManager = pageManager;
PageCache = pageCache;
}
public virtual async Task<PageDto> FindBySlugAsync(string slug)
@ -30,4 +38,24 @@ public class PagePublicAppService : CmsKitPublicAppServiceBase, IPagePublicAppSe
return ObjectMapper.Map<Page, PageDto>(page);
}
public virtual async Task<PageDto> FindDefaultHomePageAsync()
{
var pageDto = await PageCache.GetAsync("DefaultHomePage");
if (pageDto is null)
{
var page = await PageManager.GetHomePageAsync();
if (page is null)
{
return null;
}
pageDto = ObjectMapper.Map<Page, PageDto>(page);
await PageCache.SetAsync("DefaultHomePage", pageDto,
new DistributedCacheEntryOptions { AbsoluteExpiration = DateTimeOffset.Now.AddHours(1) });
}
return pageDto;
}
}

@ -2,8 +2,11 @@
using System;
using System.Threading.Tasks;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Http.Client;
using Volo.Abp.Http.Modeling;
using Volo.Abp.DependencyInjection;
using Volo.Abp.Http.Client.ClientProxying;
using Volo.CmsKit.Public.Blogs;
using Volo.CmsKit.Contents;
using Volo.CmsKit.Users;

@ -1,7 +1,12 @@
// This file is automatically generated by ABP framework to use MVC Controllers from CSharp
using System;
using System.Threading.Tasks;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Http.Client;
using Volo.Abp.Http.Modeling;
using Volo.Abp.DependencyInjection;
using Volo.Abp.Http.Client.ClientProxying;
using Volo.CmsKit.Public.Pages;
using Volo.CmsKit.Contents;
// ReSharper disable once CheckNamespace
@ -18,4 +23,9 @@ public partial class PagesPublicClientProxy : ClientProxyBase<IPagePublicAppServ
{ typeof(string), slug }
});
}
public virtual async Task<PageDto> FindDefaultHomePageAsync()
{
return await RequestAsync<PageDto>(nameof(FindDefaultHomePageAsync));
}
}

@ -553,6 +553,21 @@
},
"allowAnonymous": null,
"implementFrom": "Volo.CmsKit.Public.Pages.IPagePublicAppService"
},
"FindDefaultHomePageAsync": {
"uniqueName": "FindDefaultHomePageAsync",
"name": "FindDefaultHomePageAsync",
"httpMethod": "GET",
"url": "api/cms-kit-public/pages",
"supportedVersions": [],
"parametersOnMethod": [],
"parameters": [],
"returnValue": {
"type": "Volo.CmsKit.Contents.PageDto",
"typeSimple": "Volo.CmsKit.Contents.PageDto"
},
"allowAnonymous": null,
"implementFrom": "Volo.CmsKit.Public.Pages.IPagePublicAppService"
}
}
},

@ -29,4 +29,10 @@ public class PagesPublicController : CmsKitPublicControllerBase, IPagePublicAppS
{
return PageAppService.FindBySlugAsync(slug);
}
[HttpGet]
public Task<PageDto> FindDefaultHomePageAsync()
{
return PageAppService.FindDefaultHomePageAsync();
}
}

@ -1,9 +1,11 @@
using Markdig;
using Microsoft.AspNetCore.Mvc.RazorPages;
using Microsoft.Extensions.DependencyInjection;
using Volo.Abp;
using Volo.Abp.AspNetCore.Mvc.Localization;
using Volo.Abp.Ui.LayoutHooks;
using Volo.Abp.AutoMapper;
using Volo.Abp.Caching;
using Volo.Abp.GlobalFeatures;
using Volo.Abp.Http.ProxyScripting.Generators.JQuery;
using Volo.Abp.Modularity;
@ -75,6 +77,11 @@ public class CmsKitPublicWebModule : AbpModule
{
options.DisableModule(CmsKitPublicRemoteServiceConsts.ModuleName);
});
Configure<AbpDistributedCacheOptions>(options =>
{
options.KeyPrefix = "CmsKit:";
});
}
public override void PostConfigureServices(ServiceConfigurationContext context)
@ -88,21 +95,27 @@ public class CmsKitPublicWebModule : AbpModule
options.Conventions.AddPageRoute("/Public/CmsKit/Blogs/BlogPost", @"/blogs/{blogSlug}/{blogPostSlug:minlength(1)}");
});
}
if (GlobalFeatureManager.Instance.IsEnabled<GlobalResourcesFeature>())
{
Configure<AbpLayoutHookOptions>(options =>
{
options.Add(
LayoutHooks.Head.Last,
typeof(GlobalStyleViewComponent)
LayoutHooks.Head.Last,
typeof(GlobalStyleViewComponent)
);
options.Add(
LayoutHooks.Body.Last,
typeof(GlobalScriptViewComponent)
LayoutHooks.Body.Last,
typeof(GlobalScriptViewComponent)
);
});
}
}
public override void OnApplicationInitialization(ApplicationInitializationContext context)
{
var app = context.GetApplicationBuilder();
app.UseHomePageDefaultMiddleware();
}
}

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

Loading…
Cancel
Save