Browse Source

Merge branch 'dev' of https://github.com/abpframework/abp into dev

pull/5292/head
jonny-xhl 6 years ago
parent
commit
6297d7e941
  1. 26
      docs/en/CLI.md
  2. 14
      docs/en/Data-Filtering.md
  3. 38
      docs/en/UI/Angular/Component-Replacement.md
  4. 125
      docs/en/UI/Angular/Service-Proxies.md
  5. BIN
      docs/en/UI/Angular/images/generated-files-via-generate-proxy.png
  6. 14
      docs/zh-Hans/Data-Filtering.md
  7. 11
      docs/zh-Hans/Virtual-File-System.md
  8. 10
      framework/src/Volo.Abp.AspNetCore.Mvc.Contracts/Volo/Abp/AspNetCore/Mvc/ApplicationConfigurations/CurrentUserDto.cs
  9. 5
      framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/ApplicationConfigurations/AbpApplicationConfigurationAppService.cs
  10. 2
      framework/src/Volo.Abp.EntityFrameworkCore.Oracle/Volo.Abp.EntityFrameworkCore.Oracle.csproj
  11. 30
      framework/src/Volo.Abp.Features/Volo/Abp/Features/FeatureDefinition.cs
  12. 11
      framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpClaimTypes.cs
  13. 6
      framework/src/Volo.Abp.Security/Volo/Abp/Users/CurrentUser.cs
  14. 8
      framework/src/Volo.Abp.Security/Volo/Abp/Users/ICurrentUser.cs
  15. 2
      framework/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/package.json
  16. 2
      framework/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/abp/utils/abp-utils.umd.js.map
  17. 2
      framework/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/abp/utils/abp-utils.umd.min.js.map
  18. 222
      framework/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/yarn.lock
  19. 2
      framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/package.json
  20. 2
      framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/abp/utils/abp-utils.umd.js.map
  21. 2
      framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/abp/utils/abp-utils.umd.min.js.map
  22. 236
      framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/yarn.lock
  23. 4
      modules/blogging/app/Volo.BloggingTestApp/package.json
  24. 2
      modules/blogging/app/Volo.BloggingTestApp/wwwroot/libs/abp/utils/abp-utils.umd.js.map
  25. 2
      modules/blogging/app/Volo.BloggingTestApp/wwwroot/libs/abp/utils/abp-utils.umd.min.js.map
  26. 330
      modules/blogging/app/Volo.BloggingTestApp/yarn.lock
  27. 2
      modules/client-simulation/demo/Volo.ClientSimulation.Demo/package.json
  28. 2
      modules/client-simulation/demo/Volo.ClientSimulation.Demo/wwwroot/libs/abp/utils/abp-utils.umd.js.map
  29. 2
      modules/client-simulation/demo/Volo.ClientSimulation.Demo/wwwroot/libs/abp/utils/abp-utils.umd.min.js.map
  30. 236
      modules/client-simulation/demo/Volo.ClientSimulation.Demo/yarn.lock
  31. 10
      modules/cms-kit/angular/package.json
  32. 4
      modules/cms-kit/angular/projects/cms-kit/package.json
  33. 2
      modules/cms-kit/host/Volo.CmsKit.IdentityServer/package.json
  34. 2
      modules/cms-kit/host/Volo.CmsKit.IdentityServer/wwwroot/libs/abp/utils/abp-utils.umd.js.map
  35. 2
      modules/cms-kit/host/Volo.CmsKit.IdentityServer/wwwroot/libs/abp/utils/abp-utils.umd.min.js.map
  36. 236
      modules/cms-kit/host/Volo.CmsKit.IdentityServer/yarn.lock
  37. 2
      modules/cms-kit/host/Volo.CmsKit.Web.Host/package.json
  38. 2
      modules/cms-kit/host/Volo.CmsKit.Web.Host/wwwroot/libs/abp/utils/abp-utils.umd.js.map
  39. 2
      modules/cms-kit/host/Volo.CmsKit.Web.Host/wwwroot/libs/abp/utils/abp-utils.umd.min.js.map
  40. 236
      modules/cms-kit/host/Volo.CmsKit.Web.Host/yarn.lock
  41. 2
      modules/cms-kit/host/Volo.CmsKit.Web.Unified/package.json
  42. 2
      modules/cms-kit/host/Volo.CmsKit.Web.Unified/wwwroot/libs/abp/utils/abp-utils.umd.js.map
  43. 2
      modules/cms-kit/host/Volo.CmsKit.Web.Unified/wwwroot/libs/abp/utils/abp-utils.umd.min.js.map
  44. 236
      modules/cms-kit/host/Volo.CmsKit.Web.Unified/yarn.lock
  45. 4
      modules/cms-kit/test/Volo.CmsKit.Application.Tests/Reactions/ReactionPublicAppService_Tests.cs
  46. 4
      modules/docs/app/VoloDocs.Web/package.json
  47. 2
      modules/docs/app/VoloDocs.Web/wwwroot/libs/abp/utils/abp-utils.umd.js.map
  48. 2
      modules/docs/app/VoloDocs.Web/wwwroot/libs/abp/utils/abp-utils.umd.min.js.map
  49. 296
      modules/docs/app/VoloDocs.Web/yarn.lock
  50. 16
      modules/feature-management/src/Volo.Abp.FeatureManagement.Application.Contracts/Volo/Abp/FeatureManagement/FeatureManagementPermissions.cs
  51. 28
      modules/feature-management/src/Volo.Abp.FeatureManagement.Application.Contracts/Volo/Abp/FeatureManagement/FeaturePermissionDefinitionProvider.cs
  52. 4
      modules/feature-management/src/Volo.Abp.FeatureManagement.Application.Contracts/Volo/Abp/FeatureManagement/IFeatureAppService.cs
  53. 33
      modules/feature-management/src/Volo.Abp.FeatureManagement.Application/Volo/Abp/FeatureManagement/FeatureAppService.cs
  54. 6
      modules/feature-management/src/Volo.Abp.FeatureManagement.Domain.Shared/Volo/Abp/FeatureManagement/Localization/Domain/en.json
  55. 6
      modules/feature-management/src/Volo.Abp.FeatureManagement.Domain.Shared/Volo/Abp/FeatureManagement/Localization/Domain/tr.json
  56. 6
      modules/feature-management/src/Volo.Abp.FeatureManagement.Domain.Shared/Volo/Abp/FeatureManagement/Localization/Domain/zh-Hans.json
  57. 6
      modules/feature-management/src/Volo.Abp.FeatureManagement.Domain.Shared/Volo/Abp/FeatureManagement/Localization/Domain/zh-Hant.json
  58. 2
      modules/feature-management/src/Volo.Abp.FeatureManagement.Domain/Volo/Abp/FeatureManagement/AbpFeatureManagementDomainModule.cs
  59. 2
      modules/feature-management/src/Volo.Abp.FeatureManagement.HttpApi/Volo/Abp/FeatureManagement/FeaturesController.cs
  60. 3
      modules/feature-management/src/Volo.Abp.FeatureManagement.Web/Pages/FeatureManagement/FeatureManagementModal.cshtml.cs
  61. 14
      modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/AbpIdentityDomainModule.cs
  62. 38
      modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/AbpUserClaimsPrincipalFactory.cs
  63. 21
      modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/ClaimsIdentityExtensions.cs
  64. 7
      modules/tenant-management/src/Volo.Abp.TenantManagement.Domain.Shared/Volo/Abp/TenantManagement/Localization/Resources/en.json
  65. 3
      modules/tenant-management/src/Volo.Abp.TenantManagement.Domain.Shared/Volo/Abp/TenantManagement/Localization/Resources/tr.json
  66. 3
      modules/tenant-management/src/Volo.Abp.TenantManagement.Domain.Shared/Volo/Abp/TenantManagement/Localization/Resources/zh-Hans.json
  67. 3
      modules/tenant-management/src/Volo.Abp.TenantManagement.Domain.Shared/Volo/Abp/TenantManagement/Localization/Resources/zh-Hant.json
  68. 9
      modules/tenant-management/src/Volo.Abp.TenantManagement.Web/Pages/TenantManagement/Tenants/Index.cshtml
  69. 9
      modules/tenant-management/src/Volo.Abp.TenantManagement.Web/Pages/TenantManagement/Tenants/Index.js
  70. 2
      npm/lerna.json
  71. 2
      npm/ng-packs/lerna.version.json
  72. 22
      npm/ng-packs/package.json
  73. 4
      npm/ng-packs/packages/account/package.json
  74. 4
      npm/ng-packs/packages/components/package.json
  75. 11
      npm/ng-packs/packages/components/tree/src/lib/utils/nz-tree-adapter.ts
  76. 4
      npm/ng-packs/packages/core/package.json
  77. 3
      npm/ng-packs/packages/core/src/lib/core.module.ts
  78. 16
      npm/ng-packs/packages/core/src/lib/services/routes.service.ts
  79. 41
      npm/ng-packs/packages/core/src/lib/strategies/auth-flow.strategy.ts
  80. 24
      npm/ng-packs/packages/core/src/lib/tests/routes.service.spec.ts
  81. 20
      npm/ng-packs/packages/core/src/lib/utils/file-utils.ts
  82. 1
      npm/ng-packs/packages/core/src/lib/utils/index.ts
  83. 10
      npm/ng-packs/packages/core/src/lib/utils/tree-utils.ts
  84. 4
      npm/ng-packs/packages/feature-management/package.json
  85. 6
      npm/ng-packs/packages/identity/package.json
  86. 4
      npm/ng-packs/packages/permission-management/package.json
  87. 2
      npm/ng-packs/packages/schematics/package.json
  88. 4
      npm/ng-packs/packages/schematics/src/constants/proxy.ts
  89. 4
      npm/ng-packs/packages/schematics/src/utils/barrel.ts
  90. 4
      npm/ng-packs/packages/setting-management/package.json
  91. 6
      npm/ng-packs/packages/tenant-management/package.json
  92. 4
      npm/ng-packs/packages/theme-basic/package.json
  93. 4
      npm/ng-packs/packages/theme-shared/package.json
  94. 5
      npm/ng-packs/packages/theme-shared/src/lib/constants/styles.ts
  95. 67
      npm/ng-packs/packages/theme-shared/src/lib/directives/ngx-datatable-default.directive.ts
  96. 1089
      npm/ng-packs/yarn.lock
  97. 4
      npm/packs/anchor-js/package.json
  98. 4
      npm/packs/aspnetcore.mvc.ui.theme.basic/package.json
  99. 30
      npm/packs/aspnetcore.mvc.ui.theme.shared/package.json
  100. 2
      npm/packs/aspnetcore.mvc.ui/package.json

26
docs/en/CLI.md

@ -31,6 +31,7 @@ Here, the list of all available commands before explaining their details:
* **`update`**: Automatically updates all ABP related NuGet and NPM packages in a solution. * **`update`**: Automatically updates all ABP related NuGet and NPM packages in a solution.
* **`add-package`**: Adds an ABP package to a project. * **`add-package`**: Adds an ABP package to a project.
* **`add-module`**: Adds a [multi-package application module](https://docs.abp.io/en/abp/latest/Modules/Index) to a solution. * **`add-module`**: Adds a [multi-package application module](https://docs.abp.io/en/abp/latest/Modules/Index) to a solution.
* **`get-source`**: Downloads the source code of a module.
* **`generate-proxy`**: Generates client side proxies to use HTTP API endpoints. * **`generate-proxy`**: Generates client side proxies to use HTTP API endpoints.
* **`remove-proxy`**: Removes previously generated client side proxies. * **`remove-proxy`**: Removes previously generated client side proxies.
* **`switch-to-preview`**: Switches to the latest preview version of the ABP Framework. * **`switch-to-preview`**: Switches to the latest preview version of the ABP Framework.
@ -178,6 +179,31 @@ abp add-module Volo.Blogging
* `-sp` or `--startup-project`: Relative path to the project folder of the startup project. Default value is the current folder. * `-sp` or `--startup-project`: Relative path to the project folder of the startup project. Default value is the current folder.
* `--with-source-code`: Add source code of the module instead of NuGet/NPM packages. * `--with-source-code`: Add source code of the module instead of NuGet/NPM packages.
### get-source
Downloads the source code of a module to your computer.
Usage
````bash
abp get-source <module-name> [options]
````
Example:
```bash
abp get-source Volo.Blogging
abp get-source Volo.Blogging --local-framework-ref --abp-path D:\GitHub\abp
```
#### Options
* `--output-folder` or `-o`: Specifies the directory that source code will be downloaded in. If not specified, current directory is used.
* `--version` or `-v`: Specifies the version of the source code that will be downloaded. If not specified, latest version is used.
* `--preview`: If no version option is specified, this option specifies if latest [preview version](Previews.md) will be used instead of latest stable version.
* `-- local-framework-ref --abp-path`: Path of [ABP Framework GitHub repository](https://github.com/abpframework/abp) in your computer. This will be used for converting project references to your local system. If this is not specified, project references will be converted to NuGet references.
### generate-proxy ### generate-proxy
Generates Angular service proxies for your HTTP APIs to make easy to consume your services from the client side. Your host (server) application must be up and running before running this command. Generates Angular service proxies for your HTTP APIs to make easy to consume your services from the client side. Your host (server) application must be up and running before running this command.

14
docs/en/Data-Filtering.md

@ -151,11 +151,21 @@ public class Book : AggregateRoot<Guid>, IIsActive
ABP uses [EF Core's Global Query Filters](https://docs.microsoft.com/en-us/ef/core/querying/filters) system for the [EF Core Integration](Entity-Framework-Core.md). So, it is well integrated to EF Core and works as expected even if you directly work with `DbContext`. ABP uses [EF Core's Global Query Filters](https://docs.microsoft.com/en-us/ef/core/querying/filters) system for the [EF Core Integration](Entity-Framework-Core.md). So, it is well integrated to EF Core and works as expected even if you directly work with `DbContext`.
Best way to implement a custom filter is to override `CreateFilterExpression` method for your `DbContext`. Example: Best way to implement a custom filter is to override `ShouldFilterEntity` and `CreateFilterExpression` method for your `DbContext`. Example:
````csharp ````csharp
protected bool IsActiveFilterEnabled => DataFilter?.IsEnabled<IIsActive>() ?? false; protected bool IsActiveFilterEnabled => DataFilter?.IsEnabled<IIsActive>() ?? false;
protected override bool ShouldFilterEntity<TEntity>(IMutableEntityType entityType)
{
if (typeof(IIsActive).IsAssignableFrom(typeof(TEntity)))
{
return true;
}
return base.ShouldFilterEntity<TEntity>(entityType);
}
protected override Expression<Func<TEntity, bool>> CreateFilterExpression<TEntity>() protected override Expression<Func<TEntity, bool>> CreateFilterExpression<TEntity>()
{ {
var expression = base.CreateFilterExpression<TEntity>(); var expression = base.CreateFilterExpression<TEntity>();
@ -174,7 +184,7 @@ protected override Expression<Func<TEntity, bool>> CreateFilterExpression<TEntit
```` ````
* Added a `IsActiveFilterEnabled` property to check if `IIsActive` is enabled or not. It internally uses the `IDataFilter` service introduced before. * Added a `IsActiveFilterEnabled` property to check if `IIsActive` is enabled or not. It internally uses the `IDataFilter` service introduced before.
* Overrided the `CreateFilterExpression` method, checked if given entity implements the `IIsActive` interface and combines the expressions if necessary. * Overrided the `ShouldFilterEntity` and `CreateFilterExpression` methods, checked if given entity implements the `IIsActive` interface and combines the expressions if necessary.
### MongoDB ### MongoDB

38
docs/en/UI/Angular/Component-Replacement.md

@ -145,9 +145,7 @@ The final UI looks like below:
Run the following command in `angular` folder to create a new component called `RoutesComponent`. Run the following command in `angular` folder to create a new component called `RoutesComponent`.
```bash ```bash
yarn ng generate component routes --entryComponent yarn ng generate component routes
# You don't need the --entryComponent option in Angular 9
``` ```
Open the generated `routes.component.ts` in `src/app/routes` folder and replace its content with the following: Open the generated `routes.component.ts` in `src/app/routes` folder and replace its content with the following:
@ -187,6 +185,21 @@ export class RoutesComponent implements AfterViewInit {
} }
``` ```
Import the `SharedModule` to the `imports` array of `AppModule`:
```js
// app.module.ts
import { SharedModule } from './shared/shared.module';
@NgModule({
imports: [
//...
SharedModule
]
)}
```
Open the generated `routes.component.html` in `src/app/routes` folder and replace its content with the following: Open the generated `routes.component.html` in `src/app/routes` folder and replace its content with the following:
```html ```html
@ -327,9 +340,7 @@ The final UI looks like below:
Run the following command in `angular` folder to create a new component called `NavItemsComponent`. Run the following command in `angular` folder to create a new component called `NavItemsComponent`.
```bash ```bash
yarn ng generate component nav-items --entryComponent yarn ng generate component nav-items
# You don't need the --entryComponent option in Angular 9
``` ```
Open the generated `nav-items.component.ts` in `src/app/nav-items` folder and replace the content with the following: Open the generated `nav-items.component.ts` in `src/app/nav-items` folder and replace the content with the following:
@ -414,6 +425,21 @@ export class NavItemsComponent implements AfterViewInit {
} }
``` ```
Import the `SharedModule` to the `imports` array of `AppModule`:
```js
// app.module.ts
import { SharedModule } from './shared/shared.module';
@NgModule({
imports: [
//...
SharedModule
]
)}
```
Open the generated `nav-items.component.html` in `src/app/nav-items` folder and replace the content with the following: Open the generated `nav-items.component.html` in `src/app/nav-items` folder and replace the content with the following:
```html ```html

125
docs/en/UI/Angular/Service-Proxies.md

@ -1,47 +1,94 @@
## Service Proxies ## Service Proxies
> THIS DOCUMENT IS OUTDATED. IT IS BEING UPDATED. MEANWHILE, YOU CAN [SEE THIS ARTICLE](https://github.com/abpframework/abp/blob/dev/docs/en/Blog-Posts/2020-09-07%20Angular-Service-Proxies/POST.md) TO LEARN HOW TO USE THE ABP ANGULAR SERVICE PROXIES.
It is common to call a REST endpoint in the server from our Angular applications. In this case, we generally create **services** (those have methods for each service method on the server side) and **model objects** (matches to [DTOs](../../Data-Transfer-Objects) in the server side). It is common to call a REST endpoint in the server from our Angular applications. In this case, we generally create **services** (those have methods for each service method on the server side) and **model objects** (matches to [DTOs](../../Data-Transfer-Objects) in the server side).
In addition to manually creating such server-interacting services, we could use tools like [NSWAG](https://github.com/RicoSuter/NSwag) to generate service proxies for us. But NSWAG has the following problems we've experienced: In addition to manually creating such server-interacting services, we could use tools like [NSWAG](https://github.com/RicoSuter/NSwag) to generate service proxies for us. But NSWAG has the following problems we've experienced:
* It generates a **big, single** .ts file which has some problems; - It generates a **big, single** .ts file which has some problems;
* It get **too large** when your application grows. - It get **too large** when your application grows.
* It doesn't fit into the **[modular](../../Module-Development-Basics) approach** of the ABP framework. - It doesn't fit into the **[modular](../../Module-Development-Basics) approach** of the ABP framework.
* It creates a bit **ugly code**. We want to have a clean code (just like if we write manually). - It creates a bit **ugly code**. We want to have a clean code (just like if we write manually).
* It can not generate the same **method signature** declared in the server side (because swagger.json doesn't exactly reflect the method signature of the backend service). We've created an endpoint that exposes server side method contacts to allow clients generate a better aligned client proxies. - It can not generate the same **method signature** declared in the server side (because swagger.json doesn't exactly reflect the method signature of the backend service). We've created an endpoint that exposes server side method contacts to allow clients generate a better aligned client proxies.
ABP CLI `generate-proxies` command automatically generates the typescript client proxies by creating folders which separated by module names in the `src/app` folder. ABP CLI changes that via the `generate-proxy` command. It automatically generates the client proxies in TypeScript. by creating folders which separated by module names in the `src/app` folder.
Run the following command in the **root folder** of the angular application: Run the following command in the **root folder** of the angular application:
```bash ```bash
abp generate-proxy abp generate-proxy
``` ```
It only creates proxies only for your own application's services. It doesn't create proxies for the services of the application modules you're using (by default). There are several options. See the [CLI documentation](../../CLI). The command without any parameters creates proxies only for your own application's services and places them in your default Angular application. There are several parameters you may use to modify this behavior. See the [CLI documentation](../../CLI) for details.
The files generated with the `--module all` option like below: The generated files will be placed in a folder called `proxy` at the root of target project.
![generated-files-via-generate-proxy](./images/generated-files-via-generate-proxy.png) ![generated-files-via-generate-proxy](./images/generated-files-via-generate-proxy.png)
Each folder will have models, enums, and services defined at related namespace accompanied by a barrel export, i.e. an `index.ts` file for easier imports.
> The cammand is able to find application/library roots by reading `angular.json` file. Make sure you have either defined your target project as the `defaultProject` or pass the `--target` parameter to the command. This also means that you may have a monorepo workspace.
### Angular Project Configuration
> If you've created your project with version 3.1 or later, you can skip this part since it will be already installed in your solution.
For a solution that was created before v3.1, follow the steps below to configure your Angular application:
1. Add `@abp/ng.schematics` package to the `devDependencies` of the Angular project. Run the following command in the root folder of the angular application:
```bash
npm install @abp/ng.schematics -D
```
2. Add `rootNamespace` property to the `/src/environments/environment.ts` in your application project as shown below. `MyCompanyName.MyProjectName` should be replaced by the root namespace of your .NET project.
```js
export const environment: Config.Environment = {
// other environment variables...
apis: {
default: {
rootNamespace: "MyCompanyName.MyProjectName",
// other environment variables...
},
},
};
```
3. [OPTIONAL] Add the following paths to `tsconfig.base.json` in order to have a shortcut for importing proxies:
```json
{
// other TS configuration...
"compilerOptions": {
// other TS configuration...
"paths": {
"@proxy": ["src/app/proxy/index.ts"],
"@proxy/*": ["src/app/proxy/*"]
}
}
}
```
> The destination the `proxy` folder is created and the paths above may change based on your project structure.
### Services ### Services
Each generated service matches a back-end controller. The services methods call back-end APIs via [RestService](./Http-Requests#restservice). The `generate-proxy` command generates one service per back-end controller and a method (property with a function value actually) for each action in the controller. These methods call backend APIs via [RestService](./Http-Requests#restservice).
A variable named `apiName` (available as of v2.4) is defined in each service. `apiName` matches the module's RemoteServiceName. This variable passes to the `RestService` as a parameter at each request. If there is no microservice API defined in the environment, `RestService` uses the default. See [getting a specific API endpoint from application config](./Http-Requests#how-to-get-a-specific-api-endpoint-from-application-config) A variable named `apiName` (available as of v2.4) is defined in each service. `apiName` matches the module's RemoteServiceName. This variable passes to the `RestService` as a parameter at each request. If there is no microservice API defined in the environment, `RestService` uses the default. See [getting a specific API endpoint from application config](./Http-Requests#how-to-get-a-specific-api-endpoint-from-application-config)
The `providedIn` property of the services is defined as `'root'`. Therefore no need to add a service as a provider to a module. You can use a service by injecting it into a constructor as shown below: The `providedIn` property of the services is defined as `'root'`. Therefore there is no need to provide them in a module. You can use them directly by injecting them into constructor as shown below:
```js ```js
import { AbpApplicationConfigurationService } from '../abp/applicationconfiguration/services'; import { BookService } from '@proxy/books';
//... @Component(/* component metadata here */)
export class HomeComponent{ export class BookComponent implements OnInit {
constructor(private appConfigService: AbpApplicationConfigurationService) {} constructor(private service: BookService) {}
ngOnInit() { ngOnInit() {
this.appConfigService.get().subscribe() this.service.get().subscribe(
// do something with the response
);
} }
} }
``` ```
@ -50,20 +97,48 @@ The Angular compiler removes the services that have not been injected anywhere f
### Models ### Models
The generated models match the DTOs in the back-end. Each model is generated as a class under the `src/app/*/models` folder. The `generate-proxy` command generates interfaces matching DTOs in the back-end. There are also a few [core DTOs](https://github.com/abpframework/abp/blob/dev/npm/ng-packs/packages/core/src/lib/models/dtos.ts) in the `@abp/ng.core` package. In combination, these models can be used to reflect the APIs.
```js
import { PagedResultDto } from "@abp/ng.core";
import { BookDto } from "@proxy/books";
@Component(/* component metadata here */)
export class BookComponent implements OnInit {
data: PagedResultDto<BookDto> = {
items: [],
totalCount: 0,
};
}
```
There are a few [base classes](https://github.com/abpframework/abp/blob/dev/npm/ng-packs/packages/core/src/lib/models/dtos.ts) in the `@abp/ng.core` package. Some models extend these classes. ### Enums
A class instance can be created as shown below: Enums have always been difficult to populate in the frontend. The `generate-proxy` command genarates enums in a separate file and exports a ready-to-use options constant from the same file. So you can import them as follows:
```js ```js
import { IdentityRoleCreateDto } from '../identity/role/models' import { bookGenreOptions } from "@proxy/books";
//...
const instance = new IdentityRoleCreateDto({name: 'Role 1', isDefault: false, isPublic: true}) @Component(/* component metadata here */)
export class BookComponent implements OnInit {
genres = bookGenreOptions;
}
```
...and consume the options in the template as follows:
```html
<!-- simplified for sake of clarity -->
<select formControlName="genre">
<option [ngValue]="null">Select a genre</option>
<option *ngFor="let genre of genres" [ngValue]="genre.value">
{%{{{ genre.key }}}%}
</option>
</select>
``` ```
Initial values ​​can optionally be passed to each class constructor. > Please [see this article](https://github.com/abpframework/abp/blob/dev/docs/en/Blog-Posts/2020-09-07%20Angular-Service-Proxies/POST.md) to learn more about service proxies.
## What's Next? ## What's Next?
* [HTTP Requests](./Http-Requests) - [HTTP Requests](./Http-Requests)

BIN
docs/en/UI/Angular/images/generated-files-via-generate-proxy.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 63 KiB

After

Width:  |  Height:  |  Size: 83 KiB

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

@ -151,11 +151,21 @@ public class Book : AggregateRoot<Guid>, IIsActive
ABP使用[EF Core的全局过滤](https://docs.microsoft.com/en-us/ef/core/querying/filters)系统用于[EF Core 集成](Entity-Framework-Core.md). 所以它很好的集成到EF Core中,即使你直接使用 `DbContext` 它也可以正常工作. ABP使用[EF Core的全局过滤](https://docs.microsoft.com/en-us/ef/core/querying/filters)系统用于[EF Core 集成](Entity-Framework-Core.md). 所以它很好的集成到EF Core中,即使你直接使用 `DbContext` 它也可以正常工作.
实现自定义过滤的最佳方法是为重写你的 `DbContext` 的 `CreateFilterExpression` 方法. 示例: 实现自定义过滤的最佳方法是为重写你的 `DbContext` 的 `ShouldFilterEntity` 和 `CreateFilterExpression` 方法. 示例:
````csharp ````csharp
protected bool IsActiveFilterEnabled => DataFilter?.IsEnabled<IIsActive>() ?? false; protected bool IsActiveFilterEnabled => DataFilter?.IsEnabled<IIsActive>() ?? false;
protected override bool ShouldFilterEntity<TEntity>(IMutableEntityType entityType)
{
if (typeof(IIsActive).IsAssignableFrom(typeof(TEntity)))
{
return true;
}
return base.ShouldFilterEntity<TEntity>(entityType);
}
protected override Expression<Func<TEntity, bool>> CreateFilterExpression<TEntity>() protected override Expression<Func<TEntity, bool>> CreateFilterExpression<TEntity>()
{ {
var expression = base.CreateFilterExpression<TEntity>(); var expression = base.CreateFilterExpression<TEntity>();
@ -174,7 +184,7 @@ protected override Expression<Func<TEntity, bool>> CreateFilterExpression<TEntit
```` ````
* 添加 `IsActiveFilterEnabled` 属性用于检查是否启用了 `IIsActive` . 内部使用了之前介绍到的 `IDataFilter` 服务. * 添加 `IsActiveFilterEnabled` 属性用于检查是否启用了 `IIsActive` . 内部使用了之前介绍到的 `IDataFilter` 服务.
* 重写 `CreateFilterExpression` 方法检查给定实体是否实现 `IIsActive` 接口,在必要时组合表达式. * 重写 `ShouldFilterEntity` 和 `CreateFilterExpression` 方法检查给定实体是否实现 `IIsActive` 接口,在必要时组合表达式.
### MongoDB ### MongoDB

11
docs/zh-Hans/Virtual-File-System.md

@ -27,13 +27,20 @@
如果需要添加多个文件, 这样做会很乏味. 作为选择, 你可以直接编辑 **.csproj** 文件: 如果需要添加多个文件, 这样做会很乏味. 作为选择, 你可以直接编辑 **.csproj** 文件:
````C#
<ItemGroup>
<EmbeddedResource Include="MyResources\**\*.*" />
<Content Remove="MyResources\**\*.*" />
</ItemGroup>
````
此配置以递归方式添加项目的 **MyResources** 文件夹下的所有文件(包括将来新添加的文件).
如果文件名包含一些特殊字符,在项目/程序集中嵌入文件可能会导致问题. 为了克服这个限制; 如果文件名包含一些特殊字符,在项目/程序集中嵌入文件可能会导致问题. 为了克服这个限制;
1. 将[Microsoft.Extensions.FileProviders.Embedded](https://www.nuget.org/packages/Microsoft.Extensions.FileProviders.Embedded) NuGet包添加到包含嵌入式资源的项目中. 1. 将[Microsoft.Extensions.FileProviders.Embedded](https://www.nuget.org/packages/Microsoft.Extensions.FileProviders.Embedded) NuGet包添加到包含嵌入式资源的项目中.
2. 添加 `<GenerateEmbeddedFilesManifest>true</GenerateEmbeddedFilesManifest>` 到 `.csproj` 文件的 `<PropertyConfig>...</PropertyConfig>` 部分中. 2. 添加 `<GenerateEmbeddedFilesManifest>true</GenerateEmbeddedFilesManifest>` 到 `.csproj` 文件的 `<PropertyConfig>...</PropertyConfig>` 部分中.
此配置以递归方式添加项目的 **MyResources** 文件夹下的所有文件(包括将来新添加的文件).
> 尽管这两个步骤是可选的,并且ABP无需这些配置即可工作,但强烈建议你这样做. > 尽管这两个步骤是可选的,并且ABP无需这些配置即可工作,但强烈建议你这样做.
### 配置AbpVirtualFileSystemOptions ### 配置AbpVirtualFileSystemOptions

10
framework/src/Volo.Abp.AspNetCore.Mvc.Contracts/Volo/Abp/AspNetCore/Mvc/ApplicationConfigurations/CurrentUserDto.cs

@ -13,8 +13,18 @@ namespace Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations
public string UserName { get; set; } public string UserName { get; set; }
public string Name { get; set; }
public string SurName { get; set; }
public string Email { get; set; } public string Email { get; set; }
public bool EmailVerified { get; set; }
public string PhoneNumber { get; set; }
public bool PhoneNumberVerified { get; set; }
public string[] Roles { get; set; } public string[] Roles { get; set; }
} }
} }

5
framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/ApplicationConfigurations/AbpApplicationConfigurationAppService.cs

@ -117,7 +117,12 @@ namespace Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations
Id = _currentUser.Id, Id = _currentUser.Id,
TenantId = _currentUser.TenantId, TenantId = _currentUser.TenantId,
UserName = _currentUser.UserName, UserName = _currentUser.UserName,
SurName = _currentUser.SurName,
Name = _currentUser.Name,
Email = _currentUser.Email, Email = _currentUser.Email,
EmailVerified = _currentUser.EmailVerified,
PhoneNumber = _currentUser.PhoneNumber,
PhoneNumberVerified = _currentUser.PhoneNumberVerified,
Roles = _currentUser.Roles Roles = _currentUser.Roles
}; };
} }

2
framework/src/Volo.Abp.EntityFrameworkCore.Oracle/Volo.Abp.EntityFrameworkCore.Oracle.csproj

@ -19,7 +19,7 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Oracle.EntityFrameworkCore" Version="3.19.0-beta1" /> <PackageReference Include="Oracle.EntityFrameworkCore" Version="3.19.80" />
</ItemGroup> </ItemGroup>
</Project> </Project>

30
framework/src/Volo.Abp.Features/Volo/Abp/Features/FeatureDefinition.cs

@ -51,6 +51,12 @@ namespace Volo.Abp.Features
/// </summary> /// </summary>
public bool IsVisibleToClients { get; set; } public bool IsVisibleToClients { get; set; }
/// <summary>
/// Can host use this feature.
/// Default: true.
/// </summary>
public bool IsAvailableToHost { get; set; }
/// <summary> /// <summary>
/// A list of allowed providers to get/set value of this feature. /// A list of allowed providers to get/set value of this feature.
/// An empty list indicates that all providers are allowed. /// An empty list indicates that all providers are allowed.
@ -93,7 +99,8 @@ namespace Volo.Abp.Features
ILocalizableString displayName = null, ILocalizableString displayName = null,
ILocalizableString description = null, ILocalizableString description = null,
IStringValueType valueType = null, IStringValueType valueType = null,
bool isVisibleToClients = true) bool isVisibleToClients = true,
bool isAvailableToHost = true)
{ {
Name = name; Name = name;
DefaultValue = defaultValue; DefaultValue = defaultValue;
@ -101,6 +108,7 @@ namespace Volo.Abp.Features
Description = description; Description = description;
ValueType = valueType; ValueType = valueType;
IsVisibleToClients = isVisibleToClients; IsVisibleToClients = isVisibleToClients;
IsAvailableToHost = isAvailableToHost;
Properties = new Dictionary<string, object>(); Properties = new Dictionary<string, object>();
AllowedProviders = new List<string>(); AllowedProviders = new List<string>();
@ -136,20 +144,22 @@ namespace Volo.Abp.Features
/// </summary> /// </summary>
/// <returns>Returns a newly created child feature</returns> /// <returns>Returns a newly created child feature</returns>
public FeatureDefinition CreateChild( public FeatureDefinition CreateChild(
string name, string name,
string defaultValue = null, string defaultValue = null,
ILocalizableString displayName = null, ILocalizableString displayName = null,
ILocalizableString description = null, ILocalizableString description = null,
IStringValueType valueType = null, IStringValueType valueType = null,
bool isVisibleToClients = true) bool isVisibleToClients = true,
bool isAvailableToHost = true)
{ {
var feature = new FeatureDefinition( var feature = new FeatureDefinition(
name, name,
defaultValue, defaultValue,
displayName, displayName,
description, description,
valueType, valueType,
isVisibleToClients) isVisibleToClients,
isAvailableToHost)
{ {
Parent = this Parent = this
}; };
@ -175,4 +185,4 @@ namespace Volo.Abp.Features
return $"[{nameof(FeatureDefinition)}: {Name}]"; return $"[{nameof(FeatureDefinition)}: {Name}]";
} }
} }
} }

11
framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/AbpClaimTypes.cs

@ -13,6 +13,16 @@ namespace Volo.Abp.Security.Claims
/// </summary> /// </summary>
public static string UserName { get; set; } = ClaimTypes.Name; public static string UserName { get; set; } = ClaimTypes.Name;
/// <summary>
/// Default: <see cref="ClaimTypes.GivenName"/>
/// </summary>
public static string Name { get; set; } = ClaimTypes.GivenName;
/// <summary>
/// Default: <see cref="ClaimTypes.Surname"/>
/// </summary>
public static string SurName { get; set; } = ClaimTypes.Surname;
/// <summary> /// <summary>
/// Default: <see cref="ClaimTypes.NameIdentifier"/> /// Default: <see cref="ClaimTypes.NameIdentifier"/>
/// </summary> /// </summary>
@ -48,7 +58,6 @@ namespace Volo.Abp.Security.Claims
/// </summary> /// </summary>
public static string TenantId { get; set; } = "tenantid"; public static string TenantId { get; set; } = "tenantid";
/// <summary> /// <summary>
/// Default: "editionid". /// Default: "editionid".
/// </summary> /// </summary>

6
framework/src/Volo.Abp.Security/Volo/Abp/Users/CurrentUser.cs

@ -17,6 +17,10 @@ namespace Volo.Abp.Users
public virtual string UserName => this.FindClaimValue(AbpClaimTypes.UserName); public virtual string UserName => this.FindClaimValue(AbpClaimTypes.UserName);
public virtual string Name => this.FindClaimValue(AbpClaimTypes.Name);
public virtual string SurName => this.FindClaimValue(AbpClaimTypes.SurName);
public virtual string PhoneNumber => this.FindClaimValue(AbpClaimTypes.PhoneNumber); public virtual string PhoneNumber => this.FindClaimValue(AbpClaimTypes.PhoneNumber);
public virtual bool PhoneNumberVerified => string.Equals(this.FindClaimValue(AbpClaimTypes.PhoneNumberVerified), "true", StringComparison.InvariantCultureIgnoreCase); public virtual bool PhoneNumberVerified => string.Equals(this.FindClaimValue(AbpClaimTypes.PhoneNumberVerified), "true", StringComparison.InvariantCultureIgnoreCase);
@ -56,4 +60,4 @@ namespace Volo.Abp.Users
return FindClaims(AbpClaimTypes.Role).Any(c => c.Value == roleName); return FindClaims(AbpClaimTypes.Role).Any(c => c.Value == roleName);
} }
} }
} }

8
framework/src/Volo.Abp.Security/Volo/Abp/Users/ICurrentUser.cs

@ -14,9 +14,15 @@ namespace Volo.Abp.Users
[CanBeNull] [CanBeNull]
string UserName { get; } string UserName { get; }
[CanBeNull]
string Name { get; }
[CanBeNull]
string SurName { get; }
[CanBeNull] [CanBeNull]
string PhoneNumber { get; } string PhoneNumber { get; }
bool PhoneNumberVerified { get; } bool PhoneNumberVerified { get; }
[CanBeNull] [CanBeNull]

2
framework/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/package.json

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

2
framework/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/abp/utils/abp-utils.umd.js.map

File diff suppressed because one or more lines are too long

2
framework/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/abp/utils/abp-utils.umd.min.js.map

File diff suppressed because one or more lines are too long

222
framework/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/yarn.lock

@ -2,30 +2,30 @@
# yarn lockfile v1 # yarn lockfile v1
"@abp/aspnetcore.mvc.ui.theme.shared@^3.1.0": "@abp/aspnetcore.mvc.ui.theme.shared@^3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-3.1.0.tgz#9a9cc4a2c2bdfada9c69e35e15cc5491f1256712" resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-3.1.2.tgz#88ea020b1d26f3e551ff81b96a848c700bed97ca"
integrity sha512-DnLebcBACGTlCyJ05CRP3KXCGqWw1X3aXsdDnqQlohrLGwZHxDMZfS8HswhclG2Ak44MQn/4VtuUqRAs1PKlLg== integrity sha512-CjqinzcmES96dJ+IzEDSYO+uJE3Z3k3CZ5jGfgg97N0rYCTkt9LzYpuFHGeX4W+qI2qMurr5jstgsuLQY0cCzg==
dependencies: dependencies:
"@abp/aspnetcore.mvc.ui" "~3.1.0" "@abp/aspnetcore.mvc.ui" "~3.1.2"
"@abp/bootstrap" "~3.1.0" "@abp/bootstrap" "~3.1.2"
"@abp/bootstrap-datepicker" "~3.1.0" "@abp/bootstrap-datepicker" "~3.1.2"
"@abp/datatables.net-bs4" "~3.1.0" "@abp/datatables.net-bs4" "~3.1.2"
"@abp/font-awesome" "~3.1.0" "@abp/font-awesome" "~3.1.2"
"@abp/jquery-form" "~3.1.0" "@abp/jquery-form" "~3.1.2"
"@abp/jquery-validation-unobtrusive" "~3.1.0" "@abp/jquery-validation-unobtrusive" "~3.1.2"
"@abp/lodash" "~3.1.0" "@abp/lodash" "~3.1.2"
"@abp/luxon" "~3.1.0" "@abp/luxon" "~3.1.2"
"@abp/malihu-custom-scrollbar-plugin" "~3.1.0" "@abp/malihu-custom-scrollbar-plugin" "~3.1.2"
"@abp/select2" "~3.1.0" "@abp/select2" "~3.1.2"
"@abp/sweetalert" "~3.1.0" "@abp/sweetalert" "~3.1.2"
"@abp/timeago" "~3.1.0" "@abp/timeago" "~3.1.2"
"@abp/toastr" "~3.1.0" "@abp/toastr" "~3.1.2"
"@abp/aspnetcore.mvc.ui@~3.1.0": "@abp/aspnetcore.mvc.ui@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-3.1.0.tgz#4a80efec4d1c41d266af919068dfbb6f6324fa7f" resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-3.1.2.tgz#4689ff7e4b722803f2133856f2fb39171bbfd752"
integrity sha512-y6kVikbuCJlQbAvMdA/j2DwxLX0Fv8rRhjmmfr/ocEDrMridt1a5rO5JqDab8WvJKJjDudoobf1mSk9ZNxtyvQ== integrity sha512-jlBR+IgKuNGCerHbx6BEn2f1Xf9Vi9Dgge1/5VYzqu2MVk7dHRXHE7WYkZqpJuQKZtGMxF3c8ul2/u6uGlkmqw==
dependencies: dependencies:
ansi-colors "^4.1.1" ansi-colors "^4.1.1"
extend-object "^1.0.0" extend-object "^1.0.0"
@ -34,144 +34,144 @@
path "^0.12.7" path "^0.12.7"
rimraf "^3.0.2" rimraf "^3.0.2"
"@abp/bootstrap-datepicker@~3.1.0": "@abp/bootstrap-datepicker@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-3.1.0.tgz#47198667eafa4a920dd72f38a22452bdeadf0edd" resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-3.1.2.tgz#90ed84f4345bf8e47c0a05511fab9c63a5a3424c"
integrity sha512-yBmEuiorGNa5LSvjXfVGJ/CLlW/fGwij07I+gbGnwY0gVp4ydfA15LJfuCdfHBo2ZIDFXe7hQuVYFEH1gbLpkA== integrity sha512-sY9jXReDXCNzuSoNCiSkUD9cbdj9W/AR/glOsCb29zC7GX3XLEykuT42b8W6Kl6prS5NgfmXaX2pZOuyv0KBeQ==
dependencies: dependencies:
bootstrap-datepicker "^1.9.0" bootstrap-datepicker "^1.9.0"
"@abp/bootstrap@~3.1.0": "@abp/bootstrap@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-3.1.0.tgz#7bd7b81a67712154fa12d01b6051e71f316be048" resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-3.1.2.tgz#d80e14d0cfa0b3213fafecf275520eddd9b846e2"
integrity sha512-I64cCBo0OS14A29y/dEhKBPeXPt1djNoxZo4OXhHZAAmOM3fP3t8y9nDNCr3L2r6/FT8RQH7AW0/jJjER94KvA== integrity sha512-neI766oMxwrwrsQc477koPXaT2/yy1mG4djGvnC+g2DgLeqxU7ye6dt6Lf/rKmQuZD9jtz28920wPN3N4N/HrQ==
dependencies: dependencies:
"@abp/core" "~3.1.0" "@abp/core" "~3.1.2"
bootstrap "^4.5.0" bootstrap "^4.5.0"
bootstrap-v4-rtl "4.4.1-2" bootstrap-v4-rtl "4.4.1-2"
"@abp/core@~3.1.0": "@abp/core@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-3.1.0.tgz#13ce01a68f0e2e9ab976f30d7bf892a9037af4f7" resolved "https://registry.yarnpkg.com/@abp/core/-/core-3.1.2.tgz#1d204b2f6eb3c04e036a30b416ecf77d5ce51a47"
integrity sha512-hLN0W5/0PuyIBIGxmLQvnbec0eBlXB1vS7YqrmiMv0WPgnHXx36FXfUUuX74JHTfTQFMGWL3EOrzm6UBe2+0VA== integrity sha512-Tb/E8VHTESFoioj0gO1PB5AxZB5aIZSgAS4/V5GFne4Z399DPwkX8+XJIIRtQVzlFySAdoA37Emml/7eHCvMMQ==
dependencies: dependencies:
"@abp/utils" "^3.1.0" "@abp/utils" "^3.1.2"
"@abp/datatables.net-bs4@~3.1.0": "@abp/datatables.net-bs4@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-3.1.0.tgz#c8033ffff1a360c6cb98f8871ecec5d8f94c3ef6" resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-3.1.2.tgz#23530f20d01776c34669c7d15df5ecd19beb6c95"
integrity sha512-3xx3Er8i8IJ/mYEYl+MxGyY+sZo965f0MCoIAGPV7dNuULfiNYPhvym+4LXzocRZUlF4qrXxXPLo3njiCQNAUQ== integrity sha512-dbJOTSkiyYHMW3Og9kQFqcSONNE+ElEHgfO/sfIT4Aj9hFpNHkGBTnaDTYXJ22ViFcSMWOTynvg6u+I3ZHe8qw==
dependencies: dependencies:
"@abp/datatables.net" "~3.1.0" "@abp/datatables.net" "~3.1.2"
datatables.net-bs4 "^1.10.21" datatables.net-bs4 "^1.10.21"
"@abp/datatables.net@~3.1.0": "@abp/datatables.net@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-3.1.0.tgz#db4fe94cf4216a59a3121d0d38b57092d7524f2a" resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-3.1.2.tgz#34a0718bdac6802336484c4011067cf665cdd413"
integrity sha512-9av6Dk1qEMAahjZCEn3hAP9mNCvr8HBcYBEqhGMACCk+rLjAJgzKKzV80cvlerg1VGoBTdQ0NgN22ywsWqDyOg== integrity sha512-TJWp/+sMZIQqEy1F7Zb4/kSvrUQoC3AfG5qrSFIRmKyZMEsuUzTLugtfYWUi0BKEHdc454ErWrGuD1MCMIzEsQ==
dependencies: dependencies:
"@abp/jquery" "~3.1.0" "@abp/jquery" "~3.1.2"
datatables.net "^1.10.21" datatables.net "^1.10.21"
"@abp/font-awesome@~3.1.0": "@abp/font-awesome@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-3.1.0.tgz#00792619894b8d0f15801df641ee57eda1d7cdba" resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-3.1.2.tgz#1b14dc64cfe5f903bbcc25a4d2c88df54b561e87"
integrity sha512-fRd8QtVmfBiEoQpYgvVoNUcoyje3mtGqfIVtzeH2wnwEWKEO8SFfMcuWetyY2pk06VgpRnKNHGumyHnaNTCiUQ== integrity sha512-33C0lAioBWcIs5wU+M7+SF06+Yvoq9BKVDjPx1R8TndphOfXU6IRneZvHDCLig76EY/BNcEYEREbv33Wqnie9Q==
dependencies: dependencies:
"@abp/core" "~3.1.0" "@abp/core" "~3.1.2"
"@fortawesome/fontawesome-free" "^5.13.0" "@fortawesome/fontawesome-free" "^5.13.0"
"@abp/jquery-form@~3.1.0": "@abp/jquery-form@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-3.1.0.tgz#d095dea5200a13714dddd4ff1067126a01944440" resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-3.1.2.tgz#8d516356e443e0ae8f1367ce3090e84a5afc2867"
integrity sha512-Bs1BJ1coJMC8kFme9SffIicUSx7ULGzvdHfatzEbL6oH7KCSU/smBRTdAuZ/l85Qfftd0C6R9ibXehgKlagQKw== integrity sha512-UCWZLnu7qETSeX69Wui0VtMpEiPrRv2+JsoJKsS3XcqXehNGJktMc5H5sNCDgPaQXzE5SY6hWnfLBj88014T6g==
dependencies: dependencies:
"@abp/jquery" "~3.1.0" "@abp/jquery" "~3.1.2"
jquery-form "^4.3.0" jquery-form "^4.3.0"
"@abp/jquery-validation-unobtrusive@~3.1.0": "@abp/jquery-validation-unobtrusive@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-3.1.0.tgz#c4a6e99f8cadc437b83574fbb2437beaccb23241" resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-3.1.2.tgz#64e6c2f287c21a4a569f4152936e84afa4a66c50"
integrity sha512-WpZPnfx0MR9E1c7TB9M/hU4AkToTaPsLg+P7HfCihB6g7SVrjdLxP4w90lIejro3raK2BjU4726FHqgFQSygTA== integrity sha512-soZjLE2ygApecWs9DqKh7hRkf067esvLXSQOwUvw5WdeHOWccgAu/GxzAeFzwNA3CpfjFGoHqNNeSnETLLVEUQ==
dependencies: dependencies:
"@abp/jquery-validation" "~3.1.0" "@abp/jquery-validation" "~3.1.2"
jquery-validation-unobtrusive "^3.2.11" jquery-validation-unobtrusive "^3.2.11"
"@abp/jquery-validation@~3.1.0": "@abp/jquery-validation@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-3.1.0.tgz#ace497b864df008385a2fcabf6ef7e014a663a1d" resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-3.1.2.tgz#a34fea85a67e2552d9ee278ecc22b5740bbcc5eb"
integrity sha512-kq36uSs54SVTYcGsy/CQZlIW98mfmhfNOHsnxn/W4U1prMSZdH7yegCEfHlHN2ERtubD6UEWHxx5D1JUyDsmvg== integrity sha512-RrzdY3nay9/OHpd58DyJ9oYnwr3++6gJoI135QMYz+otlJnUjrM6bFfqSeWQaetvbiCVy7nOVYVyqIFO7KgQUw==
dependencies: dependencies:
"@abp/jquery" "~3.1.0" "@abp/jquery" "~3.1.2"
jquery-validation "^1.19.2" jquery-validation "^1.19.2"
"@abp/jquery@~3.1.0": "@abp/jquery@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-3.1.0.tgz#e110148d13478ea86de8cff092164d7bd7a9ef63" resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-3.1.2.tgz#f890d872d2d0287e7c195801f8c51c88c64602a0"
integrity sha512-8QzEMTHW0HNYrQbC11w28DxD3jGdaWlrGvAExmitBYIv9i1BYg/6M4bcKOVJPhiQoR50aCe+6xInFhNgfRNBCw== integrity sha512-Pk3Ybx/S88rFThDUlziiKIq7uKwiu2J1xYuzJTlP+xc1IgIcJNkBONl07KFdoHvctOtFtdf4mVN7SGYmNePK4g==
dependencies: dependencies:
"@abp/core" "~3.1.0" "@abp/core" "~3.1.2"
jquery "~3.5.1" jquery "~3.5.1"
"@abp/lodash@~3.1.0": "@abp/lodash@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-3.1.0.tgz#a4175342b4fc14a92b8344ea783554c40e4e450c" resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-3.1.2.tgz#07ab3001e463f1c452865ff98e051251322c7061"
integrity sha512-RVclkRFjrjPtNVaAPJVPJJmI9QFbc2vZfwG+utDV4aZzytZOgESN8q8IbOGaCIj8KzvX1LeBSqvDRP81l9c5Tg== integrity sha512-0XMWCKQJyPVpn22OVEYlQR7+zEn1yz4sTb5ilUFhLOSTHXEOJXNVzxEYlGYCPUjxGZFvZH+vdeurSjXdIOOB5w==
dependencies: dependencies:
"@abp/core" "~3.1.0" "@abp/core" "~3.1.2"
lodash "^4.17.15" lodash "^4.17.15"
"@abp/luxon@~3.1.0": "@abp/luxon@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-3.1.0.tgz#867f4395315b0727b39f9b5a5f4dc9bca7cfafde" resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-3.1.2.tgz#ed3adfd1e7e46939c2ac456d44d9987b0d923334"
integrity sha512-Pf+g5yGCqKDEhGMM/V75zX/8pPJUoIv7xJdF9sLRTERr5NpsS8/23DZIn2KmzbNLThHDkAmayBxHZko4Ri1ykw== integrity sha512-fZj3yIT1H+I6vcRxMONw9VRYLWfvzdzLeDZ1xlkXsC4NqI7cK6vchYNTqZlTg4zH6DNYNg6+WOoxQ8ao8a00QA==
dependencies: dependencies:
luxon "^1.24.1" luxon "^1.24.1"
"@abp/malihu-custom-scrollbar-plugin@~3.1.0": "@abp/malihu-custom-scrollbar-plugin@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.1.0.tgz#eab16ac9cddfbe9982baf946a468718dee34589e" resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.1.2.tgz#3556912136a85289b0b237e5bb7368b08f5efac8"
integrity sha512-/6TXbzyUh8qSMwZss1tTWkAeAnrAvSHeJRF32iVCYx769+6HJ4QZt1BWyT6/jgAdEHZspePh1+xAsrPRDZJ5aA== integrity sha512-b0uU/PwNOQaAurEkEZ4e4103pGomeKduo3Rg0hsyN7eeUrTzNw2tq1AQlgGRxw2v1pzyOvzNd0v14jyERE947g==
dependencies: dependencies:
"@abp/core" "~3.1.0" "@abp/core" "~3.1.2"
malihu-custom-scrollbar-plugin "^3.1.5" malihu-custom-scrollbar-plugin "^3.1.5"
"@abp/select2@~3.1.0": "@abp/select2@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-3.1.0.tgz#459386918f15c591549e7c5b1d411536f781c2a0" resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-3.1.2.tgz#05997301b2800249ed560c4d24c9bfcfee68f99a"
integrity sha512-I0dOXi9oPdzWQVZ5s4Lo4q6tTezQuqXSzZClmnJaQzkf7pCftnji+S727bkUIjwjkFAsT/YNMBCzgJBaiHS3uQ== integrity sha512-PyIiCGkvRUEfSyVF4M7p4BzHgaUG7lysYPop0R1tGiJcEVSxkXvhCJnEODPYiqvVjdFFKVz8Ni1R+xpEIEL/2w==
dependencies: dependencies:
"@abp/core" "~3.1.0" "@abp/core" "~3.1.2"
select2 "^4.0.13" select2 "^4.0.13"
"@abp/sweetalert@~3.1.0": "@abp/sweetalert@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-3.1.0.tgz#498df5abb8f68b660cd37f10e287188b6417c3ff" resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-3.1.2.tgz#18b062b0d5c5d5c78b4f8d13186587ab87d46464"
integrity sha512-9YxVZQfrsGWdVmKeWAG4CoD+B0VObR94SsQQgUiYcl/07PPDxDPZHX/sh1H+pqHXv9/qpPOTS3/PCQAeIfuG/w== integrity sha512-MJXLyrqPgxiy5NViyVvo6iasDoO3Jfdb3+4Jf+5PFlR7pZd1MmhmvNWn/rc5yFcCwOKvJkXVaWYaT9UsvZPxIA==
dependencies: dependencies:
"@abp/core" "~3.1.0" "@abp/core" "~3.1.2"
sweetalert "^2.1.2" sweetalert "^2.1.2"
"@abp/timeago@~3.1.0": "@abp/timeago@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-3.1.0.tgz#abae5287e01d36107516416256a1ccfcb0ca7953" resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-3.1.2.tgz#120cdd99a9dde1fbd1276571fdc5f415eee2941e"
integrity sha512-xVOq5/5l/0w9vmWIF7dZzqa+7nl7NNG7ER8gbrdPOX86rCsD12DIOkFDLi+Q41kxzp7wbphDZIT/7RsPrhgDDQ== integrity sha512-C3d1RLMEUBctPA/ASpqt9+gumsziYu0De7PWdmCmkPC7q23JpZaOmvWffaTpP2QoInyQXUPo51obOmEaC23InQ==
dependencies: dependencies:
"@abp/jquery" "~3.1.0" "@abp/jquery" "~3.1.2"
timeago "^1.6.7" timeago "^1.6.7"
"@abp/toastr@~3.1.0": "@abp/toastr@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-3.1.0.tgz#cebbb95c1f0b36306a0a58215dfda48a3ebe5f20" resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-3.1.2.tgz#3f8838423559482b8791cd7ce5bb6ff3a8f3722a"
integrity sha512-94PqZmbayVJnDKMrqbVhW0Z3D/sL3sV5gXfd53Ac5KNQvsBmQZ5/SvuuwuDzWYMQm0XwZ1h4fLAiTuoBMIxWCQ== integrity sha512-Omb/7Mkv73hRunVfWbRJxlNoTC3cqKJACB+pAcB5rb+rCTiR3c9HaSf1C7ljlofpxY/AKMN+JfJZP9VmgH2e4g==
dependencies: dependencies:
"@abp/jquery" "~3.1.0" "@abp/jquery" "~3.1.2"
toastr "^2.1.4" toastr "^2.1.4"
"@abp/utils@^3.1.0": "@abp/utils@^3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-3.1.0.tgz#ccbfed6591ab11466bf3fed740c8422acf6a84df" resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-3.1.2.tgz#e9bca8f6133dc2af587c45825e734d2accabcd96"
integrity sha512-I5yjM1ovqcpBAT2LFOfwLibVE0Ql6XbP3tQj6YMEZ/foDXekn/4P6Spgq5DTZCMo+0jskS0D8NfL7Ce4p89buw== integrity sha512-wnbHGQDGkQYazez1YSXAZ0ZDbsIZZr2ZN8V4LtOSAfzmYhPhFZ5qftoM0xoxlbmsuLLX6QtiPvxU35kEmlZPyg==
dependencies: dependencies:
just-compare "^1.3.0" just-compare "^1.3.0"

2
framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/package.json

@ -3,7 +3,7 @@
"name": "asp.net", "name": "asp.net",
"private": true, "private": true,
"dependencies": { "dependencies": {
"@abp/aspnetcore.mvc.ui.theme.basic": "^3.1.0" "@abp/aspnetcore.mvc.ui.theme.basic": "^3.1.2"
}, },
"devDependencies": {} "devDependencies": {}
} }

2
framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/abp/utils/abp-utils.umd.js.map

File diff suppressed because one or more lines are too long

2
framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/wwwroot/libs/abp/utils/abp-utils.umd.min.js.map

File diff suppressed because one or more lines are too long

236
framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/yarn.lock

@ -2,37 +2,37 @@
# yarn lockfile v1 # yarn lockfile v1
"@abp/aspnetcore.mvc.ui.theme.basic@^3.1.0": "@abp/aspnetcore.mvc.ui.theme.basic@^3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-3.1.0.tgz#5f1f308621cced2f0a4272fe612f485558bcab07" resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-3.1.2.tgz#202b33837a470079c1bd44fbf4a645c071ad4a00"
integrity sha512-zaRw34HwEESbYPYPsn0wH4lE4o9PuwJzovS1T2vmRg8wDgeOSkxC7uFU5If1QcFHuADkI3jfsyk8Xe9nEqz2Jg== integrity sha512-gvU9CJnEMBjNrRlpHGqlLK00xTdxcUe0z9ZRHucT9bPS3V4+Xe1c9cnpMM9oDpsMo5oha0suxTx695/G1t/jaA==
dependencies: dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~3.1.0" "@abp/aspnetcore.mvc.ui.theme.shared" "~3.1.2"
"@abp/aspnetcore.mvc.ui.theme.shared@~3.1.0": "@abp/aspnetcore.mvc.ui.theme.shared@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-3.1.0.tgz#9a9cc4a2c2bdfada9c69e35e15cc5491f1256712" resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-3.1.2.tgz#88ea020b1d26f3e551ff81b96a848c700bed97ca"
integrity sha512-DnLebcBACGTlCyJ05CRP3KXCGqWw1X3aXsdDnqQlohrLGwZHxDMZfS8HswhclG2Ak44MQn/4VtuUqRAs1PKlLg== integrity sha512-CjqinzcmES96dJ+IzEDSYO+uJE3Z3k3CZ5jGfgg97N0rYCTkt9LzYpuFHGeX4W+qI2qMurr5jstgsuLQY0cCzg==
dependencies: dependencies:
"@abp/aspnetcore.mvc.ui" "~3.1.0" "@abp/aspnetcore.mvc.ui" "~3.1.2"
"@abp/bootstrap" "~3.1.0" "@abp/bootstrap" "~3.1.2"
"@abp/bootstrap-datepicker" "~3.1.0" "@abp/bootstrap-datepicker" "~3.1.2"
"@abp/datatables.net-bs4" "~3.1.0" "@abp/datatables.net-bs4" "~3.1.2"
"@abp/font-awesome" "~3.1.0" "@abp/font-awesome" "~3.1.2"
"@abp/jquery-form" "~3.1.0" "@abp/jquery-form" "~3.1.2"
"@abp/jquery-validation-unobtrusive" "~3.1.0" "@abp/jquery-validation-unobtrusive" "~3.1.2"
"@abp/lodash" "~3.1.0" "@abp/lodash" "~3.1.2"
"@abp/luxon" "~3.1.0" "@abp/luxon" "~3.1.2"
"@abp/malihu-custom-scrollbar-plugin" "~3.1.0" "@abp/malihu-custom-scrollbar-plugin" "~3.1.2"
"@abp/select2" "~3.1.0" "@abp/select2" "~3.1.2"
"@abp/sweetalert" "~3.1.0" "@abp/sweetalert" "~3.1.2"
"@abp/timeago" "~3.1.0" "@abp/timeago" "~3.1.2"
"@abp/toastr" "~3.1.0" "@abp/toastr" "~3.1.2"
"@abp/aspnetcore.mvc.ui@~3.1.0": "@abp/aspnetcore.mvc.ui@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-3.1.0.tgz#4a80efec4d1c41d266af919068dfbb6f6324fa7f" resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-3.1.2.tgz#4689ff7e4b722803f2133856f2fb39171bbfd752"
integrity sha512-y6kVikbuCJlQbAvMdA/j2DwxLX0Fv8rRhjmmfr/ocEDrMridt1a5rO5JqDab8WvJKJjDudoobf1mSk9ZNxtyvQ== integrity sha512-jlBR+IgKuNGCerHbx6BEn2f1Xf9Vi9Dgge1/5VYzqu2MVk7dHRXHE7WYkZqpJuQKZtGMxF3c8ul2/u6uGlkmqw==
dependencies: dependencies:
ansi-colors "^4.1.1" ansi-colors "^4.1.1"
extend-object "^1.0.0" extend-object "^1.0.0"
@ -41,144 +41,144 @@
path "^0.12.7" path "^0.12.7"
rimraf "^3.0.2" rimraf "^3.0.2"
"@abp/bootstrap-datepicker@~3.1.0": "@abp/bootstrap-datepicker@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-3.1.0.tgz#47198667eafa4a920dd72f38a22452bdeadf0edd" resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-3.1.2.tgz#90ed84f4345bf8e47c0a05511fab9c63a5a3424c"
integrity sha512-yBmEuiorGNa5LSvjXfVGJ/CLlW/fGwij07I+gbGnwY0gVp4ydfA15LJfuCdfHBo2ZIDFXe7hQuVYFEH1gbLpkA== integrity sha512-sY9jXReDXCNzuSoNCiSkUD9cbdj9W/AR/glOsCb29zC7GX3XLEykuT42b8W6Kl6prS5NgfmXaX2pZOuyv0KBeQ==
dependencies: dependencies:
bootstrap-datepicker "^1.9.0" bootstrap-datepicker "^1.9.0"
"@abp/bootstrap@~3.1.0": "@abp/bootstrap@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-3.1.0.tgz#7bd7b81a67712154fa12d01b6051e71f316be048" resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-3.1.2.tgz#d80e14d0cfa0b3213fafecf275520eddd9b846e2"
integrity sha512-I64cCBo0OS14A29y/dEhKBPeXPt1djNoxZo4OXhHZAAmOM3fP3t8y9nDNCr3L2r6/FT8RQH7AW0/jJjER94KvA== integrity sha512-neI766oMxwrwrsQc477koPXaT2/yy1mG4djGvnC+g2DgLeqxU7ye6dt6Lf/rKmQuZD9jtz28920wPN3N4N/HrQ==
dependencies: dependencies:
"@abp/core" "~3.1.0" "@abp/core" "~3.1.2"
bootstrap "^4.5.0" bootstrap "^4.5.0"
bootstrap-v4-rtl "4.4.1-2" bootstrap-v4-rtl "4.4.1-2"
"@abp/core@~3.1.0": "@abp/core@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-3.1.0.tgz#13ce01a68f0e2e9ab976f30d7bf892a9037af4f7" resolved "https://registry.yarnpkg.com/@abp/core/-/core-3.1.2.tgz#1d204b2f6eb3c04e036a30b416ecf77d5ce51a47"
integrity sha512-hLN0W5/0PuyIBIGxmLQvnbec0eBlXB1vS7YqrmiMv0WPgnHXx36FXfUUuX74JHTfTQFMGWL3EOrzm6UBe2+0VA== integrity sha512-Tb/E8VHTESFoioj0gO1PB5AxZB5aIZSgAS4/V5GFne4Z399DPwkX8+XJIIRtQVzlFySAdoA37Emml/7eHCvMMQ==
dependencies: dependencies:
"@abp/utils" "^3.1.0" "@abp/utils" "^3.1.2"
"@abp/datatables.net-bs4@~3.1.0": "@abp/datatables.net-bs4@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-3.1.0.tgz#c8033ffff1a360c6cb98f8871ecec5d8f94c3ef6" resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-3.1.2.tgz#23530f20d01776c34669c7d15df5ecd19beb6c95"
integrity sha512-3xx3Er8i8IJ/mYEYl+MxGyY+sZo965f0MCoIAGPV7dNuULfiNYPhvym+4LXzocRZUlF4qrXxXPLo3njiCQNAUQ== integrity sha512-dbJOTSkiyYHMW3Og9kQFqcSONNE+ElEHgfO/sfIT4Aj9hFpNHkGBTnaDTYXJ22ViFcSMWOTynvg6u+I3ZHe8qw==
dependencies: dependencies:
"@abp/datatables.net" "~3.1.0" "@abp/datatables.net" "~3.1.2"
datatables.net-bs4 "^1.10.21" datatables.net-bs4 "^1.10.21"
"@abp/datatables.net@~3.1.0": "@abp/datatables.net@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-3.1.0.tgz#db4fe94cf4216a59a3121d0d38b57092d7524f2a" resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-3.1.2.tgz#34a0718bdac6802336484c4011067cf665cdd413"
integrity sha512-9av6Dk1qEMAahjZCEn3hAP9mNCvr8HBcYBEqhGMACCk+rLjAJgzKKzV80cvlerg1VGoBTdQ0NgN22ywsWqDyOg== integrity sha512-TJWp/+sMZIQqEy1F7Zb4/kSvrUQoC3AfG5qrSFIRmKyZMEsuUzTLugtfYWUi0BKEHdc454ErWrGuD1MCMIzEsQ==
dependencies: dependencies:
"@abp/jquery" "~3.1.0" "@abp/jquery" "~3.1.2"
datatables.net "^1.10.21" datatables.net "^1.10.21"
"@abp/font-awesome@~3.1.0": "@abp/font-awesome@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-3.1.0.tgz#00792619894b8d0f15801df641ee57eda1d7cdba" resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-3.1.2.tgz#1b14dc64cfe5f903bbcc25a4d2c88df54b561e87"
integrity sha512-fRd8QtVmfBiEoQpYgvVoNUcoyje3mtGqfIVtzeH2wnwEWKEO8SFfMcuWetyY2pk06VgpRnKNHGumyHnaNTCiUQ== integrity sha512-33C0lAioBWcIs5wU+M7+SF06+Yvoq9BKVDjPx1R8TndphOfXU6IRneZvHDCLig76EY/BNcEYEREbv33Wqnie9Q==
dependencies: dependencies:
"@abp/core" "~3.1.0" "@abp/core" "~3.1.2"
"@fortawesome/fontawesome-free" "^5.13.0" "@fortawesome/fontawesome-free" "^5.13.0"
"@abp/jquery-form@~3.1.0": "@abp/jquery-form@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-3.1.0.tgz#d095dea5200a13714dddd4ff1067126a01944440" resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-3.1.2.tgz#8d516356e443e0ae8f1367ce3090e84a5afc2867"
integrity sha512-Bs1BJ1coJMC8kFme9SffIicUSx7ULGzvdHfatzEbL6oH7KCSU/smBRTdAuZ/l85Qfftd0C6R9ibXehgKlagQKw== integrity sha512-UCWZLnu7qETSeX69Wui0VtMpEiPrRv2+JsoJKsS3XcqXehNGJktMc5H5sNCDgPaQXzE5SY6hWnfLBj88014T6g==
dependencies: dependencies:
"@abp/jquery" "~3.1.0" "@abp/jquery" "~3.1.2"
jquery-form "^4.3.0" jquery-form "^4.3.0"
"@abp/jquery-validation-unobtrusive@~3.1.0": "@abp/jquery-validation-unobtrusive@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-3.1.0.tgz#c4a6e99f8cadc437b83574fbb2437beaccb23241" resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-3.1.2.tgz#64e6c2f287c21a4a569f4152936e84afa4a66c50"
integrity sha512-WpZPnfx0MR9E1c7TB9M/hU4AkToTaPsLg+P7HfCihB6g7SVrjdLxP4w90lIejro3raK2BjU4726FHqgFQSygTA== integrity sha512-soZjLE2ygApecWs9DqKh7hRkf067esvLXSQOwUvw5WdeHOWccgAu/GxzAeFzwNA3CpfjFGoHqNNeSnETLLVEUQ==
dependencies: dependencies:
"@abp/jquery-validation" "~3.1.0" "@abp/jquery-validation" "~3.1.2"
jquery-validation-unobtrusive "^3.2.11" jquery-validation-unobtrusive "^3.2.11"
"@abp/jquery-validation@~3.1.0": "@abp/jquery-validation@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-3.1.0.tgz#ace497b864df008385a2fcabf6ef7e014a663a1d" resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-3.1.2.tgz#a34fea85a67e2552d9ee278ecc22b5740bbcc5eb"
integrity sha512-kq36uSs54SVTYcGsy/CQZlIW98mfmhfNOHsnxn/W4U1prMSZdH7yegCEfHlHN2ERtubD6UEWHxx5D1JUyDsmvg== integrity sha512-RrzdY3nay9/OHpd58DyJ9oYnwr3++6gJoI135QMYz+otlJnUjrM6bFfqSeWQaetvbiCVy7nOVYVyqIFO7KgQUw==
dependencies: dependencies:
"@abp/jquery" "~3.1.0" "@abp/jquery" "~3.1.2"
jquery-validation "^1.19.2" jquery-validation "^1.19.2"
"@abp/jquery@~3.1.0": "@abp/jquery@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-3.1.0.tgz#e110148d13478ea86de8cff092164d7bd7a9ef63" resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-3.1.2.tgz#f890d872d2d0287e7c195801f8c51c88c64602a0"
integrity sha512-8QzEMTHW0HNYrQbC11w28DxD3jGdaWlrGvAExmitBYIv9i1BYg/6M4bcKOVJPhiQoR50aCe+6xInFhNgfRNBCw== integrity sha512-Pk3Ybx/S88rFThDUlziiKIq7uKwiu2J1xYuzJTlP+xc1IgIcJNkBONl07KFdoHvctOtFtdf4mVN7SGYmNePK4g==
dependencies: dependencies:
"@abp/core" "~3.1.0" "@abp/core" "~3.1.2"
jquery "~3.5.1" jquery "~3.5.1"
"@abp/lodash@~3.1.0": "@abp/lodash@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-3.1.0.tgz#a4175342b4fc14a92b8344ea783554c40e4e450c" resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-3.1.2.tgz#07ab3001e463f1c452865ff98e051251322c7061"
integrity sha512-RVclkRFjrjPtNVaAPJVPJJmI9QFbc2vZfwG+utDV4aZzytZOgESN8q8IbOGaCIj8KzvX1LeBSqvDRP81l9c5Tg== integrity sha512-0XMWCKQJyPVpn22OVEYlQR7+zEn1yz4sTb5ilUFhLOSTHXEOJXNVzxEYlGYCPUjxGZFvZH+vdeurSjXdIOOB5w==
dependencies: dependencies:
"@abp/core" "~3.1.0" "@abp/core" "~3.1.2"
lodash "^4.17.15" lodash "^4.17.15"
"@abp/luxon@~3.1.0": "@abp/luxon@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-3.1.0.tgz#867f4395315b0727b39f9b5a5f4dc9bca7cfafde" resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-3.1.2.tgz#ed3adfd1e7e46939c2ac456d44d9987b0d923334"
integrity sha512-Pf+g5yGCqKDEhGMM/V75zX/8pPJUoIv7xJdF9sLRTERr5NpsS8/23DZIn2KmzbNLThHDkAmayBxHZko4Ri1ykw== integrity sha512-fZj3yIT1H+I6vcRxMONw9VRYLWfvzdzLeDZ1xlkXsC4NqI7cK6vchYNTqZlTg4zH6DNYNg6+WOoxQ8ao8a00QA==
dependencies: dependencies:
luxon "^1.24.1" luxon "^1.24.1"
"@abp/malihu-custom-scrollbar-plugin@~3.1.0": "@abp/malihu-custom-scrollbar-plugin@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.1.0.tgz#eab16ac9cddfbe9982baf946a468718dee34589e" resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.1.2.tgz#3556912136a85289b0b237e5bb7368b08f5efac8"
integrity sha512-/6TXbzyUh8qSMwZss1tTWkAeAnrAvSHeJRF32iVCYx769+6HJ4QZt1BWyT6/jgAdEHZspePh1+xAsrPRDZJ5aA== integrity sha512-b0uU/PwNOQaAurEkEZ4e4103pGomeKduo3Rg0hsyN7eeUrTzNw2tq1AQlgGRxw2v1pzyOvzNd0v14jyERE947g==
dependencies: dependencies:
"@abp/core" "~3.1.0" "@abp/core" "~3.1.2"
malihu-custom-scrollbar-plugin "^3.1.5" malihu-custom-scrollbar-plugin "^3.1.5"
"@abp/select2@~3.1.0": "@abp/select2@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-3.1.0.tgz#459386918f15c591549e7c5b1d411536f781c2a0" resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-3.1.2.tgz#05997301b2800249ed560c4d24c9bfcfee68f99a"
integrity sha512-I0dOXi9oPdzWQVZ5s4Lo4q6tTezQuqXSzZClmnJaQzkf7pCftnji+S727bkUIjwjkFAsT/YNMBCzgJBaiHS3uQ== integrity sha512-PyIiCGkvRUEfSyVF4M7p4BzHgaUG7lysYPop0R1tGiJcEVSxkXvhCJnEODPYiqvVjdFFKVz8Ni1R+xpEIEL/2w==
dependencies: dependencies:
"@abp/core" "~3.1.0" "@abp/core" "~3.1.2"
select2 "^4.0.13" select2 "^4.0.13"
"@abp/sweetalert@~3.1.0": "@abp/sweetalert@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-3.1.0.tgz#498df5abb8f68b660cd37f10e287188b6417c3ff" resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-3.1.2.tgz#18b062b0d5c5d5c78b4f8d13186587ab87d46464"
integrity sha512-9YxVZQfrsGWdVmKeWAG4CoD+B0VObR94SsQQgUiYcl/07PPDxDPZHX/sh1H+pqHXv9/qpPOTS3/PCQAeIfuG/w== integrity sha512-MJXLyrqPgxiy5NViyVvo6iasDoO3Jfdb3+4Jf+5PFlR7pZd1MmhmvNWn/rc5yFcCwOKvJkXVaWYaT9UsvZPxIA==
dependencies: dependencies:
"@abp/core" "~3.1.0" "@abp/core" "~3.1.2"
sweetalert "^2.1.2" sweetalert "^2.1.2"
"@abp/timeago@~3.1.0": "@abp/timeago@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-3.1.0.tgz#abae5287e01d36107516416256a1ccfcb0ca7953" resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-3.1.2.tgz#120cdd99a9dde1fbd1276571fdc5f415eee2941e"
integrity sha512-xVOq5/5l/0w9vmWIF7dZzqa+7nl7NNG7ER8gbrdPOX86rCsD12DIOkFDLi+Q41kxzp7wbphDZIT/7RsPrhgDDQ== integrity sha512-C3d1RLMEUBctPA/ASpqt9+gumsziYu0De7PWdmCmkPC7q23JpZaOmvWffaTpP2QoInyQXUPo51obOmEaC23InQ==
dependencies: dependencies:
"@abp/jquery" "~3.1.0" "@abp/jquery" "~3.1.2"
timeago "^1.6.7" timeago "^1.6.7"
"@abp/toastr@~3.1.0": "@abp/toastr@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-3.1.0.tgz#cebbb95c1f0b36306a0a58215dfda48a3ebe5f20" resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-3.1.2.tgz#3f8838423559482b8791cd7ce5bb6ff3a8f3722a"
integrity sha512-94PqZmbayVJnDKMrqbVhW0Z3D/sL3sV5gXfd53Ac5KNQvsBmQZ5/SvuuwuDzWYMQm0XwZ1h4fLAiTuoBMIxWCQ== integrity sha512-Omb/7Mkv73hRunVfWbRJxlNoTC3cqKJACB+pAcB5rb+rCTiR3c9HaSf1C7ljlofpxY/AKMN+JfJZP9VmgH2e4g==
dependencies: dependencies:
"@abp/jquery" "~3.1.0" "@abp/jquery" "~3.1.2"
toastr "^2.1.4" toastr "^2.1.4"
"@abp/utils@^3.1.0": "@abp/utils@^3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-3.1.0.tgz#ccbfed6591ab11466bf3fed740c8422acf6a84df" resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-3.1.2.tgz#e9bca8f6133dc2af587c45825e734d2accabcd96"
integrity sha512-I5yjM1ovqcpBAT2LFOfwLibVE0Ql6XbP3tQj6YMEZ/foDXekn/4P6Spgq5DTZCMo+0jskS0D8NfL7Ce4p89buw== integrity sha512-wnbHGQDGkQYazez1YSXAZ0ZDbsIZZr2ZN8V4LtOSAfzmYhPhFZ5qftoM0xoxlbmsuLLX6QtiPvxU35kEmlZPyg==
dependencies: dependencies:
just-compare "^1.3.0" just-compare "^1.3.0"

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

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

2
modules/blogging/app/Volo.BloggingTestApp/wwwroot/libs/abp/utils/abp-utils.umd.js.map

File diff suppressed because one or more lines are too long

2
modules/blogging/app/Volo.BloggingTestApp/wwwroot/libs/abp/utils/abp-utils.umd.min.js.map

File diff suppressed because one or more lines are too long

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

@ -2,37 +2,37 @@
# yarn lockfile v1 # yarn lockfile v1
"@abp/aspnetcore.mvc.ui.theme.basic@^3.1.0": "@abp/aspnetcore.mvc.ui.theme.basic@^3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-3.1.0.tgz#5f1f308621cced2f0a4272fe612f485558bcab07" resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-3.1.2.tgz#202b33837a470079c1bd44fbf4a645c071ad4a00"
integrity sha512-zaRw34HwEESbYPYPsn0wH4lE4o9PuwJzovS1T2vmRg8wDgeOSkxC7uFU5If1QcFHuADkI3jfsyk8Xe9nEqz2Jg== integrity sha512-gvU9CJnEMBjNrRlpHGqlLK00xTdxcUe0z9ZRHucT9bPS3V4+Xe1c9cnpMM9oDpsMo5oha0suxTx695/G1t/jaA==
dependencies: dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~3.1.0" "@abp/aspnetcore.mvc.ui.theme.shared" "~3.1.2"
"@abp/aspnetcore.mvc.ui.theme.shared@~3.1.0": "@abp/aspnetcore.mvc.ui.theme.shared@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-3.1.0.tgz#9a9cc4a2c2bdfada9c69e35e15cc5491f1256712" resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-3.1.2.tgz#88ea020b1d26f3e551ff81b96a848c700bed97ca"
integrity sha512-DnLebcBACGTlCyJ05CRP3KXCGqWw1X3aXsdDnqQlohrLGwZHxDMZfS8HswhclG2Ak44MQn/4VtuUqRAs1PKlLg== integrity sha512-CjqinzcmES96dJ+IzEDSYO+uJE3Z3k3CZ5jGfgg97N0rYCTkt9LzYpuFHGeX4W+qI2qMurr5jstgsuLQY0cCzg==
dependencies: dependencies:
"@abp/aspnetcore.mvc.ui" "~3.1.0" "@abp/aspnetcore.mvc.ui" "~3.1.2"
"@abp/bootstrap" "~3.1.0" "@abp/bootstrap" "~3.1.2"
"@abp/bootstrap-datepicker" "~3.1.0" "@abp/bootstrap-datepicker" "~3.1.2"
"@abp/datatables.net-bs4" "~3.1.0" "@abp/datatables.net-bs4" "~3.1.2"
"@abp/font-awesome" "~3.1.0" "@abp/font-awesome" "~3.1.2"
"@abp/jquery-form" "~3.1.0" "@abp/jquery-form" "~3.1.2"
"@abp/jquery-validation-unobtrusive" "~3.1.0" "@abp/jquery-validation-unobtrusive" "~3.1.2"
"@abp/lodash" "~3.1.0" "@abp/lodash" "~3.1.2"
"@abp/luxon" "~3.1.0" "@abp/luxon" "~3.1.2"
"@abp/malihu-custom-scrollbar-plugin" "~3.1.0" "@abp/malihu-custom-scrollbar-plugin" "~3.1.2"
"@abp/select2" "~3.1.0" "@abp/select2" "~3.1.2"
"@abp/sweetalert" "~3.1.0" "@abp/sweetalert" "~3.1.2"
"@abp/timeago" "~3.1.0" "@abp/timeago" "~3.1.2"
"@abp/toastr" "~3.1.0" "@abp/toastr" "~3.1.2"
"@abp/aspnetcore.mvc.ui@~3.1.0": "@abp/aspnetcore.mvc.ui@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-3.1.0.tgz#4a80efec4d1c41d266af919068dfbb6f6324fa7f" resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-3.1.2.tgz#4689ff7e4b722803f2133856f2fb39171bbfd752"
integrity sha512-y6kVikbuCJlQbAvMdA/j2DwxLX0Fv8rRhjmmfr/ocEDrMridt1a5rO5JqDab8WvJKJjDudoobf1mSk9ZNxtyvQ== integrity sha512-jlBR+IgKuNGCerHbx6BEn2f1Xf9Vi9Dgge1/5VYzqu2MVk7dHRXHE7WYkZqpJuQKZtGMxF3c8ul2/u6uGlkmqw==
dependencies: dependencies:
ansi-colors "^4.1.1" ansi-colors "^4.1.1"
extend-object "^1.0.0" extend-object "^1.0.0"
@ -41,213 +41,213 @@
path "^0.12.7" path "^0.12.7"
rimraf "^3.0.2" rimraf "^3.0.2"
"@abp/blogging@^3.1.0": "@abp/blogging@^3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/blogging/-/blogging-3.1.0.tgz#627c827abfb0716a6124fea519d06d3fc8740d46" resolved "https://registry.yarnpkg.com/@abp/blogging/-/blogging-3.1.2.tgz#7adde6ee9cccfcc3b7c0715491d4856daaff02db"
integrity sha512-+UadxN3jBGzo2t+w38638BNRm9OGB2UNzw2AfkffomFPvhzA8OUzyhdpwb0+sVqXfom+GmnvRVIr8YB193gOvw== integrity sha512-4QKq5uvGxXAJlu5Vb6D5Njap0Llb4VhqqV1LFvgR14ARb8n5BguqL66Pt+Ke5nPXxaZJz5VbyUl1P3Gp+iqS8w==
dependencies: dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~3.1.0" "@abp/aspnetcore.mvc.ui.theme.shared" "~3.1.2"
"@abp/owl.carousel" "~3.1.0" "@abp/owl.carousel" "~3.1.2"
"@abp/prismjs" "~3.1.0" "@abp/prismjs" "~3.1.2"
"@abp/tui-editor" "~3.1.0" "@abp/tui-editor" "~3.1.2"
"@abp/bootstrap-datepicker@~3.1.0": "@abp/bootstrap-datepicker@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-3.1.0.tgz#47198667eafa4a920dd72f38a22452bdeadf0edd" resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-3.1.2.tgz#90ed84f4345bf8e47c0a05511fab9c63a5a3424c"
integrity sha512-yBmEuiorGNa5LSvjXfVGJ/CLlW/fGwij07I+gbGnwY0gVp4ydfA15LJfuCdfHBo2ZIDFXe7hQuVYFEH1gbLpkA== integrity sha512-sY9jXReDXCNzuSoNCiSkUD9cbdj9W/AR/glOsCb29zC7GX3XLEykuT42b8W6Kl6prS5NgfmXaX2pZOuyv0KBeQ==
dependencies: dependencies:
bootstrap-datepicker "^1.9.0" bootstrap-datepicker "^1.9.0"
"@abp/bootstrap@~3.1.0": "@abp/bootstrap@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-3.1.0.tgz#7bd7b81a67712154fa12d01b6051e71f316be048" resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-3.1.2.tgz#d80e14d0cfa0b3213fafecf275520eddd9b846e2"
integrity sha512-I64cCBo0OS14A29y/dEhKBPeXPt1djNoxZo4OXhHZAAmOM3fP3t8y9nDNCr3L2r6/FT8RQH7AW0/jJjER94KvA== integrity sha512-neI766oMxwrwrsQc477koPXaT2/yy1mG4djGvnC+g2DgLeqxU7ye6dt6Lf/rKmQuZD9jtz28920wPN3N4N/HrQ==
dependencies: dependencies:
"@abp/core" "~3.1.0" "@abp/core" "~3.1.2"
bootstrap "^4.5.0" bootstrap "^4.5.0"
bootstrap-v4-rtl "4.4.1-2" bootstrap-v4-rtl "4.4.1-2"
"@abp/clipboard@~3.1.0": "@abp/clipboard@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-3.1.0.tgz#3d994bee312beb3f4977e734a2e4da98b8617279" resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-3.1.2.tgz#ee561db080c6b0836fd77628543cc3c31cd687c8"
integrity sha512-HE9X86G471eOJYrVEM9NIJFLjzvfiW0vtqj4gGjhrwAPin2p44Jby5r8UGOKFY1wr/qZQbbuwmhVih78maDwIA== integrity sha512-ybx3E1eLsfrPhPDb8f/KQJrH8G9+E5+WNsmYopKkQP2v3Un/9QGme7CslT7oytExJ7P++Y3LZ2ZhfBwQLicxxQ==
dependencies: dependencies:
"@abp/core" "~3.1.0" "@abp/core" "~3.1.2"
clipboard "^2.0.6" clipboard "^2.0.6"
"@abp/codemirror@~3.1.0": "@abp/codemirror@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/codemirror/-/codemirror-3.1.0.tgz#870b3f9c057063d355a5796b0e7e040e22a324f6" resolved "https://registry.yarnpkg.com/@abp/codemirror/-/codemirror-3.1.2.tgz#63701fd6eb30bd45d4251cca2d5bbd75b8491f6b"
integrity sha512-xldfttjZ3BKoKQ5qiHdWNfGTUrcYnwbBQiitA9lYZkLedEkqOodyX8qCSTYbw1A69dWWJAEaj5vnq05xMldcaQ== integrity sha512-BxW3y/Ps7iiczlmctyvn3gjTnpGJnDfQtKVfeZ0TYKRbbs4B5z3ZHPhYAxH+t6eULJcyzIWBxl3UgrgjTaadgA==
dependencies: dependencies:
"@abp/core" "~3.1.0" "@abp/core" "~3.1.2"
codemirror "^5.54.0" codemirror "^5.54.0"
"@abp/core@~3.1.0": "@abp/core@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-3.1.0.tgz#13ce01a68f0e2e9ab976f30d7bf892a9037af4f7" resolved "https://registry.yarnpkg.com/@abp/core/-/core-3.1.2.tgz#1d204b2f6eb3c04e036a30b416ecf77d5ce51a47"
integrity sha512-hLN0W5/0PuyIBIGxmLQvnbec0eBlXB1vS7YqrmiMv0WPgnHXx36FXfUUuX74JHTfTQFMGWL3EOrzm6UBe2+0VA== integrity sha512-Tb/E8VHTESFoioj0gO1PB5AxZB5aIZSgAS4/V5GFne4Z399DPwkX8+XJIIRtQVzlFySAdoA37Emml/7eHCvMMQ==
dependencies: dependencies:
"@abp/utils" "^3.1.0" "@abp/utils" "^3.1.2"
"@abp/datatables.net-bs4@~3.1.0": "@abp/datatables.net-bs4@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-3.1.0.tgz#c8033ffff1a360c6cb98f8871ecec5d8f94c3ef6" resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-3.1.2.tgz#23530f20d01776c34669c7d15df5ecd19beb6c95"
integrity sha512-3xx3Er8i8IJ/mYEYl+MxGyY+sZo965f0MCoIAGPV7dNuULfiNYPhvym+4LXzocRZUlF4qrXxXPLo3njiCQNAUQ== integrity sha512-dbJOTSkiyYHMW3Og9kQFqcSONNE+ElEHgfO/sfIT4Aj9hFpNHkGBTnaDTYXJ22ViFcSMWOTynvg6u+I3ZHe8qw==
dependencies: dependencies:
"@abp/datatables.net" "~3.1.0" "@abp/datatables.net" "~3.1.2"
datatables.net-bs4 "^1.10.21" datatables.net-bs4 "^1.10.21"
"@abp/datatables.net@~3.1.0": "@abp/datatables.net@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-3.1.0.tgz#db4fe94cf4216a59a3121d0d38b57092d7524f2a" resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-3.1.2.tgz#34a0718bdac6802336484c4011067cf665cdd413"
integrity sha512-9av6Dk1qEMAahjZCEn3hAP9mNCvr8HBcYBEqhGMACCk+rLjAJgzKKzV80cvlerg1VGoBTdQ0NgN22ywsWqDyOg== integrity sha512-TJWp/+sMZIQqEy1F7Zb4/kSvrUQoC3AfG5qrSFIRmKyZMEsuUzTLugtfYWUi0BKEHdc454ErWrGuD1MCMIzEsQ==
dependencies: dependencies:
"@abp/jquery" "~3.1.0" "@abp/jquery" "~3.1.2"
datatables.net "^1.10.21" datatables.net "^1.10.21"
"@abp/font-awesome@~3.1.0": "@abp/font-awesome@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-3.1.0.tgz#00792619894b8d0f15801df641ee57eda1d7cdba" resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-3.1.2.tgz#1b14dc64cfe5f903bbcc25a4d2c88df54b561e87"
integrity sha512-fRd8QtVmfBiEoQpYgvVoNUcoyje3mtGqfIVtzeH2wnwEWKEO8SFfMcuWetyY2pk06VgpRnKNHGumyHnaNTCiUQ== integrity sha512-33C0lAioBWcIs5wU+M7+SF06+Yvoq9BKVDjPx1R8TndphOfXU6IRneZvHDCLig76EY/BNcEYEREbv33Wqnie9Q==
dependencies: dependencies:
"@abp/core" "~3.1.0" "@abp/core" "~3.1.2"
"@fortawesome/fontawesome-free" "^5.13.0" "@fortawesome/fontawesome-free" "^5.13.0"
"@abp/highlight.js@~3.1.0": "@abp/highlight.js@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/highlight.js/-/highlight.js-3.1.0.tgz#89a9288c2456817f346ec0abafe90432755073e1" resolved "https://registry.yarnpkg.com/@abp/highlight.js/-/highlight.js-3.1.2.tgz#24f22bbd762532d82af8f3dcbbbc48bd05d0c716"
integrity sha512-4tlstlYCkC56nosd/EQLsCCUy+GyEibwpPNPhtPkCMJ1J5iU7TlGYqbcmvRtqSpDWiSziueRggWME6+CtL4/EA== integrity sha512-GAEKizLly5U8XlKJ+pogiNLRnLo8hocpMpUNr61FR+y1crROS0g2pSCe0Iuq+BNuBX+npJKpUpv1GIQwY3cQqQ==
dependencies: dependencies:
"@abp/core" "~3.1.0" "@abp/core" "~3.1.2"
"@abp/jquery-form@~3.1.0": "@abp/jquery-form@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-3.1.0.tgz#d095dea5200a13714dddd4ff1067126a01944440" resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-3.1.2.tgz#8d516356e443e0ae8f1367ce3090e84a5afc2867"
integrity sha512-Bs1BJ1coJMC8kFme9SffIicUSx7ULGzvdHfatzEbL6oH7KCSU/smBRTdAuZ/l85Qfftd0C6R9ibXehgKlagQKw== integrity sha512-UCWZLnu7qETSeX69Wui0VtMpEiPrRv2+JsoJKsS3XcqXehNGJktMc5H5sNCDgPaQXzE5SY6hWnfLBj88014T6g==
dependencies: dependencies:
"@abp/jquery" "~3.1.0" "@abp/jquery" "~3.1.2"
jquery-form "^4.3.0" jquery-form "^4.3.0"
"@abp/jquery-validation-unobtrusive@~3.1.0": "@abp/jquery-validation-unobtrusive@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-3.1.0.tgz#c4a6e99f8cadc437b83574fbb2437beaccb23241" resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-3.1.2.tgz#64e6c2f287c21a4a569f4152936e84afa4a66c50"
integrity sha512-WpZPnfx0MR9E1c7TB9M/hU4AkToTaPsLg+P7HfCihB6g7SVrjdLxP4w90lIejro3raK2BjU4726FHqgFQSygTA== integrity sha512-soZjLE2ygApecWs9DqKh7hRkf067esvLXSQOwUvw5WdeHOWccgAu/GxzAeFzwNA3CpfjFGoHqNNeSnETLLVEUQ==
dependencies: dependencies:
"@abp/jquery-validation" "~3.1.0" "@abp/jquery-validation" "~3.1.2"
jquery-validation-unobtrusive "^3.2.11" jquery-validation-unobtrusive "^3.2.11"
"@abp/jquery-validation@~3.1.0": "@abp/jquery-validation@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-3.1.0.tgz#ace497b864df008385a2fcabf6ef7e014a663a1d" resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-3.1.2.tgz#a34fea85a67e2552d9ee278ecc22b5740bbcc5eb"
integrity sha512-kq36uSs54SVTYcGsy/CQZlIW98mfmhfNOHsnxn/W4U1prMSZdH7yegCEfHlHN2ERtubD6UEWHxx5D1JUyDsmvg== integrity sha512-RrzdY3nay9/OHpd58DyJ9oYnwr3++6gJoI135QMYz+otlJnUjrM6bFfqSeWQaetvbiCVy7nOVYVyqIFO7KgQUw==
dependencies: dependencies:
"@abp/jquery" "~3.1.0" "@abp/jquery" "~3.1.2"
jquery-validation "^1.19.2" jquery-validation "^1.19.2"
"@abp/jquery@~3.1.0": "@abp/jquery@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-3.1.0.tgz#e110148d13478ea86de8cff092164d7bd7a9ef63" resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-3.1.2.tgz#f890d872d2d0287e7c195801f8c51c88c64602a0"
integrity sha512-8QzEMTHW0HNYrQbC11w28DxD3jGdaWlrGvAExmitBYIv9i1BYg/6M4bcKOVJPhiQoR50aCe+6xInFhNgfRNBCw== integrity sha512-Pk3Ybx/S88rFThDUlziiKIq7uKwiu2J1xYuzJTlP+xc1IgIcJNkBONl07KFdoHvctOtFtdf4mVN7SGYmNePK4g==
dependencies: dependencies:
"@abp/core" "~3.1.0" "@abp/core" "~3.1.2"
jquery "~3.5.1" jquery "~3.5.1"
"@abp/lodash@~3.1.0": "@abp/lodash@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-3.1.0.tgz#a4175342b4fc14a92b8344ea783554c40e4e450c" resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-3.1.2.tgz#07ab3001e463f1c452865ff98e051251322c7061"
integrity sha512-RVclkRFjrjPtNVaAPJVPJJmI9QFbc2vZfwG+utDV4aZzytZOgESN8q8IbOGaCIj8KzvX1LeBSqvDRP81l9c5Tg== integrity sha512-0XMWCKQJyPVpn22OVEYlQR7+zEn1yz4sTb5ilUFhLOSTHXEOJXNVzxEYlGYCPUjxGZFvZH+vdeurSjXdIOOB5w==
dependencies: dependencies:
"@abp/core" "~3.1.0" "@abp/core" "~3.1.2"
lodash "^4.17.15" lodash "^4.17.15"
"@abp/luxon@~3.1.0": "@abp/luxon@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-3.1.0.tgz#867f4395315b0727b39f9b5a5f4dc9bca7cfafde" resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-3.1.2.tgz#ed3adfd1e7e46939c2ac456d44d9987b0d923334"
integrity sha512-Pf+g5yGCqKDEhGMM/V75zX/8pPJUoIv7xJdF9sLRTERr5NpsS8/23DZIn2KmzbNLThHDkAmayBxHZko4Ri1ykw== integrity sha512-fZj3yIT1H+I6vcRxMONw9VRYLWfvzdzLeDZ1xlkXsC4NqI7cK6vchYNTqZlTg4zH6DNYNg6+WOoxQ8ao8a00QA==
dependencies: dependencies:
luxon "^1.24.1" luxon "^1.24.1"
"@abp/malihu-custom-scrollbar-plugin@~3.1.0": "@abp/malihu-custom-scrollbar-plugin@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.1.0.tgz#eab16ac9cddfbe9982baf946a468718dee34589e" resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.1.2.tgz#3556912136a85289b0b237e5bb7368b08f5efac8"
integrity sha512-/6TXbzyUh8qSMwZss1tTWkAeAnrAvSHeJRF32iVCYx769+6HJ4QZt1BWyT6/jgAdEHZspePh1+xAsrPRDZJ5aA== integrity sha512-b0uU/PwNOQaAurEkEZ4e4103pGomeKduo3Rg0hsyN7eeUrTzNw2tq1AQlgGRxw2v1pzyOvzNd0v14jyERE947g==
dependencies: dependencies:
"@abp/core" "~3.1.0" "@abp/core" "~3.1.2"
malihu-custom-scrollbar-plugin "^3.1.5" malihu-custom-scrollbar-plugin "^3.1.5"
"@abp/markdown-it@~3.1.0": "@abp/markdown-it@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/markdown-it/-/markdown-it-3.1.0.tgz#7c37311718d1f50ba9f64180f9eba21c54509867" resolved "https://registry.yarnpkg.com/@abp/markdown-it/-/markdown-it-3.1.2.tgz#8437038687cabb9679ab81c2e995d4ff3823f22f"
integrity sha512-XTIsIDSVJ3p1fgfW84SB4P6t3qWsr26Xa/gargQX+A2yh2yQOcKYwv3RDQdA3e4N3kTgKenmNES/qsNnoPObhA== integrity sha512-hoxIO05mf3WNiT2l5iQNjvJQO3p8F6nkVyW9b4ZOHcZoGFQb8DWPp3ONBJk/ZRVYpYfo+/n3sB4ADsUi2oin3w==
dependencies: dependencies:
"@abp/core" "~3.1.0" "@abp/core" "~3.1.2"
markdown-it "^11.0.0" markdown-it "^11.0.0"
"@abp/owl.carousel@~3.1.0": "@abp/owl.carousel@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/owl.carousel/-/owl.carousel-3.1.0.tgz#597c7f029303d97b0bc0c61737512526cc6535a4" resolved "https://registry.yarnpkg.com/@abp/owl.carousel/-/owl.carousel-3.1.2.tgz#86e272d3f88d34a201cdea2220f6eb415a4ed85f"
integrity sha512-Rwa2j3xgjDgrMPUR+wKdMDLJ0BznMcig/nU4W8MVUEee6awbuVPjWI2BKWbU8Og+VDvfFVcwmDP6RyWEy02JvQ== integrity sha512-/zIB15W6HFq9ssq9YWHWrikV/fH6gID4X2gkJWeuz89MUg/dtJlPWLMfiN8zAKgG6Uf7rbBmJ4C2/ilI5IoEgA==
dependencies: dependencies:
"@abp/core" "~3.1.0" "@abp/core" "~3.1.2"
owl.carousel "^2.3.4" owl.carousel "^2.3.4"
"@abp/prismjs@~3.1.0": "@abp/prismjs@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-3.1.0.tgz#11dee74a803c4d79b0a41ed0c3a4f1946c44968a" resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-3.1.2.tgz#884011843c44d85a80d4fd85648bc94ef119bbd6"
integrity sha512-SJ3bWT9UXLSGKMiNKyJeRt/3WjD4qXc4DuEAD2RxRT+tBDd17FG18VTfjLMPcSGtTt+zTK2+tbcxZN5hUfVW9g== integrity sha512-UQAOc/FgISgvTi1irPQjehJ42pLEaA1m5K1JileFTCWwUji/t5Vb8RSQe4cjIKPwRpb6p7CEJLI9SFxCtUEF8g==
dependencies: dependencies:
"@abp/clipboard" "~3.1.0" "@abp/clipboard" "~3.1.2"
"@abp/core" "~3.1.0" "@abp/core" "~3.1.2"
prismjs "^1.20.0" prismjs "^1.20.0"
"@abp/select2@~3.1.0": "@abp/select2@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-3.1.0.tgz#459386918f15c591549e7c5b1d411536f781c2a0" resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-3.1.2.tgz#05997301b2800249ed560c4d24c9bfcfee68f99a"
integrity sha512-I0dOXi9oPdzWQVZ5s4Lo4q6tTezQuqXSzZClmnJaQzkf7pCftnji+S727bkUIjwjkFAsT/YNMBCzgJBaiHS3uQ== integrity sha512-PyIiCGkvRUEfSyVF4M7p4BzHgaUG7lysYPop0R1tGiJcEVSxkXvhCJnEODPYiqvVjdFFKVz8Ni1R+xpEIEL/2w==
dependencies: dependencies:
"@abp/core" "~3.1.0" "@abp/core" "~3.1.2"
select2 "^4.0.13" select2 "^4.0.13"
"@abp/sweetalert@~3.1.0": "@abp/sweetalert@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-3.1.0.tgz#498df5abb8f68b660cd37f10e287188b6417c3ff" resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-3.1.2.tgz#18b062b0d5c5d5c78b4f8d13186587ab87d46464"
integrity sha512-9YxVZQfrsGWdVmKeWAG4CoD+B0VObR94SsQQgUiYcl/07PPDxDPZHX/sh1H+pqHXv9/qpPOTS3/PCQAeIfuG/w== integrity sha512-MJXLyrqPgxiy5NViyVvo6iasDoO3Jfdb3+4Jf+5PFlR7pZd1MmhmvNWn/rc5yFcCwOKvJkXVaWYaT9UsvZPxIA==
dependencies: dependencies:
"@abp/core" "~3.1.0" "@abp/core" "~3.1.2"
sweetalert "^2.1.2" sweetalert "^2.1.2"
"@abp/timeago@~3.1.0": "@abp/timeago@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-3.1.0.tgz#abae5287e01d36107516416256a1ccfcb0ca7953" resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-3.1.2.tgz#120cdd99a9dde1fbd1276571fdc5f415eee2941e"
integrity sha512-xVOq5/5l/0w9vmWIF7dZzqa+7nl7NNG7ER8gbrdPOX86rCsD12DIOkFDLi+Q41kxzp7wbphDZIT/7RsPrhgDDQ== integrity sha512-C3d1RLMEUBctPA/ASpqt9+gumsziYu0De7PWdmCmkPC7q23JpZaOmvWffaTpP2QoInyQXUPo51obOmEaC23InQ==
dependencies: dependencies:
"@abp/jquery" "~3.1.0" "@abp/jquery" "~3.1.2"
timeago "^1.6.7" timeago "^1.6.7"
"@abp/toastr@~3.1.0": "@abp/toastr@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-3.1.0.tgz#cebbb95c1f0b36306a0a58215dfda48a3ebe5f20" resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-3.1.2.tgz#3f8838423559482b8791cd7ce5bb6ff3a8f3722a"
integrity sha512-94PqZmbayVJnDKMrqbVhW0Z3D/sL3sV5gXfd53Ac5KNQvsBmQZ5/SvuuwuDzWYMQm0XwZ1h4fLAiTuoBMIxWCQ== integrity sha512-Omb/7Mkv73hRunVfWbRJxlNoTC3cqKJACB+pAcB5rb+rCTiR3c9HaSf1C7ljlofpxY/AKMN+JfJZP9VmgH2e4g==
dependencies: dependencies:
"@abp/jquery" "~3.1.0" "@abp/jquery" "~3.1.2"
toastr "^2.1.4" toastr "^2.1.4"
"@abp/tui-editor@~3.1.0": "@abp/tui-editor@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/tui-editor/-/tui-editor-3.1.0.tgz#1c607e1d1518ae07db6e5db4f1ef2690c337ef2f" resolved "https://registry.yarnpkg.com/@abp/tui-editor/-/tui-editor-3.1.2.tgz#8796a2518d7d43babf19018ae4deaf347046a93b"
integrity sha512-0cq4vLLxUSU+n5CYGnJD78w2bveMZ9+oZjdL+WJmEsb9J/tIlNtsKTIJLDRRcbOyn/fbWzQkOj039JmWOuzVaQ== integrity sha512-CH1yixb6C+3tRcKu6lrXOToj+jxca5IvVMO0Hfa8xeoGt+FZdS9ATMEiBB09TVhNL/jxAAb7qT4YaXNzk1BOtg==
dependencies: dependencies:
"@abp/codemirror" "~3.1.0" "@abp/codemirror" "~3.1.2"
"@abp/highlight.js" "~3.1.0" "@abp/highlight.js" "~3.1.2"
"@abp/jquery" "~3.1.0" "@abp/jquery" "~3.1.2"
"@abp/markdown-it" "~3.1.0" "@abp/markdown-it" "~3.1.2"
tui-editor "^1.4.10" tui-editor "^1.4.10"
"@abp/utils@^3.1.0": "@abp/utils@^3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-3.1.0.tgz#ccbfed6591ab11466bf3fed740c8422acf6a84df" resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-3.1.2.tgz#e9bca8f6133dc2af587c45825e734d2accabcd96"
integrity sha512-I5yjM1ovqcpBAT2LFOfwLibVE0Ql6XbP3tQj6YMEZ/foDXekn/4P6Spgq5DTZCMo+0jskS0D8NfL7Ce4p89buw== integrity sha512-wnbHGQDGkQYazez1YSXAZ0ZDbsIZZr2ZN8V4LtOSAfzmYhPhFZ5qftoM0xoxlbmsuLLX6QtiPvxU35kEmlZPyg==
dependencies: dependencies:
just-compare "^1.3.0" just-compare "^1.3.0"

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

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

2
modules/client-simulation/demo/Volo.ClientSimulation.Demo/wwwroot/libs/abp/utils/abp-utils.umd.js.map

File diff suppressed because one or more lines are too long

2
modules/client-simulation/demo/Volo.ClientSimulation.Demo/wwwroot/libs/abp/utils/abp-utils.umd.min.js.map

File diff suppressed because one or more lines are too long

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

@ -2,37 +2,37 @@
# yarn lockfile v1 # yarn lockfile v1
"@abp/aspnetcore.mvc.ui.theme.basic@^3.1.0": "@abp/aspnetcore.mvc.ui.theme.basic@^3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-3.1.0.tgz#5f1f308621cced2f0a4272fe612f485558bcab07" resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-3.1.2.tgz#202b33837a470079c1bd44fbf4a645c071ad4a00"
integrity sha512-zaRw34HwEESbYPYPsn0wH4lE4o9PuwJzovS1T2vmRg8wDgeOSkxC7uFU5If1QcFHuADkI3jfsyk8Xe9nEqz2Jg== integrity sha512-gvU9CJnEMBjNrRlpHGqlLK00xTdxcUe0z9ZRHucT9bPS3V4+Xe1c9cnpMM9oDpsMo5oha0suxTx695/G1t/jaA==
dependencies: dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~3.1.0" "@abp/aspnetcore.mvc.ui.theme.shared" "~3.1.2"
"@abp/aspnetcore.mvc.ui.theme.shared@~3.1.0": "@abp/aspnetcore.mvc.ui.theme.shared@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-3.1.0.tgz#9a9cc4a2c2bdfada9c69e35e15cc5491f1256712" resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-3.1.2.tgz#88ea020b1d26f3e551ff81b96a848c700bed97ca"
integrity sha512-DnLebcBACGTlCyJ05CRP3KXCGqWw1X3aXsdDnqQlohrLGwZHxDMZfS8HswhclG2Ak44MQn/4VtuUqRAs1PKlLg== integrity sha512-CjqinzcmES96dJ+IzEDSYO+uJE3Z3k3CZ5jGfgg97N0rYCTkt9LzYpuFHGeX4W+qI2qMurr5jstgsuLQY0cCzg==
dependencies: dependencies:
"@abp/aspnetcore.mvc.ui" "~3.1.0" "@abp/aspnetcore.mvc.ui" "~3.1.2"
"@abp/bootstrap" "~3.1.0" "@abp/bootstrap" "~3.1.2"
"@abp/bootstrap-datepicker" "~3.1.0" "@abp/bootstrap-datepicker" "~3.1.2"
"@abp/datatables.net-bs4" "~3.1.0" "@abp/datatables.net-bs4" "~3.1.2"
"@abp/font-awesome" "~3.1.0" "@abp/font-awesome" "~3.1.2"
"@abp/jquery-form" "~3.1.0" "@abp/jquery-form" "~3.1.2"
"@abp/jquery-validation-unobtrusive" "~3.1.0" "@abp/jquery-validation-unobtrusive" "~3.1.2"
"@abp/lodash" "~3.1.0" "@abp/lodash" "~3.1.2"
"@abp/luxon" "~3.1.0" "@abp/luxon" "~3.1.2"
"@abp/malihu-custom-scrollbar-plugin" "~3.1.0" "@abp/malihu-custom-scrollbar-plugin" "~3.1.2"
"@abp/select2" "~3.1.0" "@abp/select2" "~3.1.2"
"@abp/sweetalert" "~3.1.0" "@abp/sweetalert" "~3.1.2"
"@abp/timeago" "~3.1.0" "@abp/timeago" "~3.1.2"
"@abp/toastr" "~3.1.0" "@abp/toastr" "~3.1.2"
"@abp/aspnetcore.mvc.ui@~3.1.0": "@abp/aspnetcore.mvc.ui@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-3.1.0.tgz#4a80efec4d1c41d266af919068dfbb6f6324fa7f" resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-3.1.2.tgz#4689ff7e4b722803f2133856f2fb39171bbfd752"
integrity sha512-y6kVikbuCJlQbAvMdA/j2DwxLX0Fv8rRhjmmfr/ocEDrMridt1a5rO5JqDab8WvJKJjDudoobf1mSk9ZNxtyvQ== integrity sha512-jlBR+IgKuNGCerHbx6BEn2f1Xf9Vi9Dgge1/5VYzqu2MVk7dHRXHE7WYkZqpJuQKZtGMxF3c8ul2/u6uGlkmqw==
dependencies: dependencies:
ansi-colors "^4.1.1" ansi-colors "^4.1.1"
extend-object "^1.0.0" extend-object "^1.0.0"
@ -41,144 +41,144 @@
path "^0.12.7" path "^0.12.7"
rimraf "^3.0.2" rimraf "^3.0.2"
"@abp/bootstrap-datepicker@~3.1.0": "@abp/bootstrap-datepicker@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-3.1.0.tgz#47198667eafa4a920dd72f38a22452bdeadf0edd" resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-3.1.2.tgz#90ed84f4345bf8e47c0a05511fab9c63a5a3424c"
integrity sha512-yBmEuiorGNa5LSvjXfVGJ/CLlW/fGwij07I+gbGnwY0gVp4ydfA15LJfuCdfHBo2ZIDFXe7hQuVYFEH1gbLpkA== integrity sha512-sY9jXReDXCNzuSoNCiSkUD9cbdj9W/AR/glOsCb29zC7GX3XLEykuT42b8W6Kl6prS5NgfmXaX2pZOuyv0KBeQ==
dependencies: dependencies:
bootstrap-datepicker "^1.9.0" bootstrap-datepicker "^1.9.0"
"@abp/bootstrap@~3.1.0": "@abp/bootstrap@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-3.1.0.tgz#7bd7b81a67712154fa12d01b6051e71f316be048" resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-3.1.2.tgz#d80e14d0cfa0b3213fafecf275520eddd9b846e2"
integrity sha512-I64cCBo0OS14A29y/dEhKBPeXPt1djNoxZo4OXhHZAAmOM3fP3t8y9nDNCr3L2r6/FT8RQH7AW0/jJjER94KvA== integrity sha512-neI766oMxwrwrsQc477koPXaT2/yy1mG4djGvnC+g2DgLeqxU7ye6dt6Lf/rKmQuZD9jtz28920wPN3N4N/HrQ==
dependencies: dependencies:
"@abp/core" "~3.1.0" "@abp/core" "~3.1.2"
bootstrap "^4.5.0" bootstrap "^4.5.0"
bootstrap-v4-rtl "4.4.1-2" bootstrap-v4-rtl "4.4.1-2"
"@abp/core@~3.1.0": "@abp/core@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-3.1.0.tgz#13ce01a68f0e2e9ab976f30d7bf892a9037af4f7" resolved "https://registry.yarnpkg.com/@abp/core/-/core-3.1.2.tgz#1d204b2f6eb3c04e036a30b416ecf77d5ce51a47"
integrity sha512-hLN0W5/0PuyIBIGxmLQvnbec0eBlXB1vS7YqrmiMv0WPgnHXx36FXfUUuX74JHTfTQFMGWL3EOrzm6UBe2+0VA== integrity sha512-Tb/E8VHTESFoioj0gO1PB5AxZB5aIZSgAS4/V5GFne4Z399DPwkX8+XJIIRtQVzlFySAdoA37Emml/7eHCvMMQ==
dependencies: dependencies:
"@abp/utils" "^3.1.0" "@abp/utils" "^3.1.2"
"@abp/datatables.net-bs4@~3.1.0": "@abp/datatables.net-bs4@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-3.1.0.tgz#c8033ffff1a360c6cb98f8871ecec5d8f94c3ef6" resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-3.1.2.tgz#23530f20d01776c34669c7d15df5ecd19beb6c95"
integrity sha512-3xx3Er8i8IJ/mYEYl+MxGyY+sZo965f0MCoIAGPV7dNuULfiNYPhvym+4LXzocRZUlF4qrXxXPLo3njiCQNAUQ== integrity sha512-dbJOTSkiyYHMW3Og9kQFqcSONNE+ElEHgfO/sfIT4Aj9hFpNHkGBTnaDTYXJ22ViFcSMWOTynvg6u+I3ZHe8qw==
dependencies: dependencies:
"@abp/datatables.net" "~3.1.0" "@abp/datatables.net" "~3.1.2"
datatables.net-bs4 "^1.10.21" datatables.net-bs4 "^1.10.21"
"@abp/datatables.net@~3.1.0": "@abp/datatables.net@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-3.1.0.tgz#db4fe94cf4216a59a3121d0d38b57092d7524f2a" resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-3.1.2.tgz#34a0718bdac6802336484c4011067cf665cdd413"
integrity sha512-9av6Dk1qEMAahjZCEn3hAP9mNCvr8HBcYBEqhGMACCk+rLjAJgzKKzV80cvlerg1VGoBTdQ0NgN22ywsWqDyOg== integrity sha512-TJWp/+sMZIQqEy1F7Zb4/kSvrUQoC3AfG5qrSFIRmKyZMEsuUzTLugtfYWUi0BKEHdc454ErWrGuD1MCMIzEsQ==
dependencies: dependencies:
"@abp/jquery" "~3.1.0" "@abp/jquery" "~3.1.2"
datatables.net "^1.10.21" datatables.net "^1.10.21"
"@abp/font-awesome@~3.1.0": "@abp/font-awesome@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-3.1.0.tgz#00792619894b8d0f15801df641ee57eda1d7cdba" resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-3.1.2.tgz#1b14dc64cfe5f903bbcc25a4d2c88df54b561e87"
integrity sha512-fRd8QtVmfBiEoQpYgvVoNUcoyje3mtGqfIVtzeH2wnwEWKEO8SFfMcuWetyY2pk06VgpRnKNHGumyHnaNTCiUQ== integrity sha512-33C0lAioBWcIs5wU+M7+SF06+Yvoq9BKVDjPx1R8TndphOfXU6IRneZvHDCLig76EY/BNcEYEREbv33Wqnie9Q==
dependencies: dependencies:
"@abp/core" "~3.1.0" "@abp/core" "~3.1.2"
"@fortawesome/fontawesome-free" "^5.13.0" "@fortawesome/fontawesome-free" "^5.13.0"
"@abp/jquery-form@~3.1.0": "@abp/jquery-form@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-3.1.0.tgz#d095dea5200a13714dddd4ff1067126a01944440" resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-3.1.2.tgz#8d516356e443e0ae8f1367ce3090e84a5afc2867"
integrity sha512-Bs1BJ1coJMC8kFme9SffIicUSx7ULGzvdHfatzEbL6oH7KCSU/smBRTdAuZ/l85Qfftd0C6R9ibXehgKlagQKw== integrity sha512-UCWZLnu7qETSeX69Wui0VtMpEiPrRv2+JsoJKsS3XcqXehNGJktMc5H5sNCDgPaQXzE5SY6hWnfLBj88014T6g==
dependencies: dependencies:
"@abp/jquery" "~3.1.0" "@abp/jquery" "~3.1.2"
jquery-form "^4.3.0" jquery-form "^4.3.0"
"@abp/jquery-validation-unobtrusive@~3.1.0": "@abp/jquery-validation-unobtrusive@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-3.1.0.tgz#c4a6e99f8cadc437b83574fbb2437beaccb23241" resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-3.1.2.tgz#64e6c2f287c21a4a569f4152936e84afa4a66c50"
integrity sha512-WpZPnfx0MR9E1c7TB9M/hU4AkToTaPsLg+P7HfCihB6g7SVrjdLxP4w90lIejro3raK2BjU4726FHqgFQSygTA== integrity sha512-soZjLE2ygApecWs9DqKh7hRkf067esvLXSQOwUvw5WdeHOWccgAu/GxzAeFzwNA3CpfjFGoHqNNeSnETLLVEUQ==
dependencies: dependencies:
"@abp/jquery-validation" "~3.1.0" "@abp/jquery-validation" "~3.1.2"
jquery-validation-unobtrusive "^3.2.11" jquery-validation-unobtrusive "^3.2.11"
"@abp/jquery-validation@~3.1.0": "@abp/jquery-validation@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-3.1.0.tgz#ace497b864df008385a2fcabf6ef7e014a663a1d" resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-3.1.2.tgz#a34fea85a67e2552d9ee278ecc22b5740bbcc5eb"
integrity sha512-kq36uSs54SVTYcGsy/CQZlIW98mfmhfNOHsnxn/W4U1prMSZdH7yegCEfHlHN2ERtubD6UEWHxx5D1JUyDsmvg== integrity sha512-RrzdY3nay9/OHpd58DyJ9oYnwr3++6gJoI135QMYz+otlJnUjrM6bFfqSeWQaetvbiCVy7nOVYVyqIFO7KgQUw==
dependencies: dependencies:
"@abp/jquery" "~3.1.0" "@abp/jquery" "~3.1.2"
jquery-validation "^1.19.2" jquery-validation "^1.19.2"
"@abp/jquery@~3.1.0": "@abp/jquery@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-3.1.0.tgz#e110148d13478ea86de8cff092164d7bd7a9ef63" resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-3.1.2.tgz#f890d872d2d0287e7c195801f8c51c88c64602a0"
integrity sha512-8QzEMTHW0HNYrQbC11w28DxD3jGdaWlrGvAExmitBYIv9i1BYg/6M4bcKOVJPhiQoR50aCe+6xInFhNgfRNBCw== integrity sha512-Pk3Ybx/S88rFThDUlziiKIq7uKwiu2J1xYuzJTlP+xc1IgIcJNkBONl07KFdoHvctOtFtdf4mVN7SGYmNePK4g==
dependencies: dependencies:
"@abp/core" "~3.1.0" "@abp/core" "~3.1.2"
jquery "~3.5.1" jquery "~3.5.1"
"@abp/lodash@~3.1.0": "@abp/lodash@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-3.1.0.tgz#a4175342b4fc14a92b8344ea783554c40e4e450c" resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-3.1.2.tgz#07ab3001e463f1c452865ff98e051251322c7061"
integrity sha512-RVclkRFjrjPtNVaAPJVPJJmI9QFbc2vZfwG+utDV4aZzytZOgESN8q8IbOGaCIj8KzvX1LeBSqvDRP81l9c5Tg== integrity sha512-0XMWCKQJyPVpn22OVEYlQR7+zEn1yz4sTb5ilUFhLOSTHXEOJXNVzxEYlGYCPUjxGZFvZH+vdeurSjXdIOOB5w==
dependencies: dependencies:
"@abp/core" "~3.1.0" "@abp/core" "~3.1.2"
lodash "^4.17.15" lodash "^4.17.15"
"@abp/luxon@~3.1.0": "@abp/luxon@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-3.1.0.tgz#867f4395315b0727b39f9b5a5f4dc9bca7cfafde" resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-3.1.2.tgz#ed3adfd1e7e46939c2ac456d44d9987b0d923334"
integrity sha512-Pf+g5yGCqKDEhGMM/V75zX/8pPJUoIv7xJdF9sLRTERr5NpsS8/23DZIn2KmzbNLThHDkAmayBxHZko4Ri1ykw== integrity sha512-fZj3yIT1H+I6vcRxMONw9VRYLWfvzdzLeDZ1xlkXsC4NqI7cK6vchYNTqZlTg4zH6DNYNg6+WOoxQ8ao8a00QA==
dependencies: dependencies:
luxon "^1.24.1" luxon "^1.24.1"
"@abp/malihu-custom-scrollbar-plugin@~3.1.0": "@abp/malihu-custom-scrollbar-plugin@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.1.0.tgz#eab16ac9cddfbe9982baf946a468718dee34589e" resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.1.2.tgz#3556912136a85289b0b237e5bb7368b08f5efac8"
integrity sha512-/6TXbzyUh8qSMwZss1tTWkAeAnrAvSHeJRF32iVCYx769+6HJ4QZt1BWyT6/jgAdEHZspePh1+xAsrPRDZJ5aA== integrity sha512-b0uU/PwNOQaAurEkEZ4e4103pGomeKduo3Rg0hsyN7eeUrTzNw2tq1AQlgGRxw2v1pzyOvzNd0v14jyERE947g==
dependencies: dependencies:
"@abp/core" "~3.1.0" "@abp/core" "~3.1.2"
malihu-custom-scrollbar-plugin "^3.1.5" malihu-custom-scrollbar-plugin "^3.1.5"
"@abp/select2@~3.1.0": "@abp/select2@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-3.1.0.tgz#459386918f15c591549e7c5b1d411536f781c2a0" resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-3.1.2.tgz#05997301b2800249ed560c4d24c9bfcfee68f99a"
integrity sha512-I0dOXi9oPdzWQVZ5s4Lo4q6tTezQuqXSzZClmnJaQzkf7pCftnji+S727bkUIjwjkFAsT/YNMBCzgJBaiHS3uQ== integrity sha512-PyIiCGkvRUEfSyVF4M7p4BzHgaUG7lysYPop0R1tGiJcEVSxkXvhCJnEODPYiqvVjdFFKVz8Ni1R+xpEIEL/2w==
dependencies: dependencies:
"@abp/core" "~3.1.0" "@abp/core" "~3.1.2"
select2 "^4.0.13" select2 "^4.0.13"
"@abp/sweetalert@~3.1.0": "@abp/sweetalert@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-3.1.0.tgz#498df5abb8f68b660cd37f10e287188b6417c3ff" resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-3.1.2.tgz#18b062b0d5c5d5c78b4f8d13186587ab87d46464"
integrity sha512-9YxVZQfrsGWdVmKeWAG4CoD+B0VObR94SsQQgUiYcl/07PPDxDPZHX/sh1H+pqHXv9/qpPOTS3/PCQAeIfuG/w== integrity sha512-MJXLyrqPgxiy5NViyVvo6iasDoO3Jfdb3+4Jf+5PFlR7pZd1MmhmvNWn/rc5yFcCwOKvJkXVaWYaT9UsvZPxIA==
dependencies: dependencies:
"@abp/core" "~3.1.0" "@abp/core" "~3.1.2"
sweetalert "^2.1.2" sweetalert "^2.1.2"
"@abp/timeago@~3.1.0": "@abp/timeago@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-3.1.0.tgz#abae5287e01d36107516416256a1ccfcb0ca7953" resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-3.1.2.tgz#120cdd99a9dde1fbd1276571fdc5f415eee2941e"
integrity sha512-xVOq5/5l/0w9vmWIF7dZzqa+7nl7NNG7ER8gbrdPOX86rCsD12DIOkFDLi+Q41kxzp7wbphDZIT/7RsPrhgDDQ== integrity sha512-C3d1RLMEUBctPA/ASpqt9+gumsziYu0De7PWdmCmkPC7q23JpZaOmvWffaTpP2QoInyQXUPo51obOmEaC23InQ==
dependencies: dependencies:
"@abp/jquery" "~3.1.0" "@abp/jquery" "~3.1.2"
timeago "^1.6.7" timeago "^1.6.7"
"@abp/toastr@~3.1.0": "@abp/toastr@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-3.1.0.tgz#cebbb95c1f0b36306a0a58215dfda48a3ebe5f20" resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-3.1.2.tgz#3f8838423559482b8791cd7ce5bb6ff3a8f3722a"
integrity sha512-94PqZmbayVJnDKMrqbVhW0Z3D/sL3sV5gXfd53Ac5KNQvsBmQZ5/SvuuwuDzWYMQm0XwZ1h4fLAiTuoBMIxWCQ== integrity sha512-Omb/7Mkv73hRunVfWbRJxlNoTC3cqKJACB+pAcB5rb+rCTiR3c9HaSf1C7ljlofpxY/AKMN+JfJZP9VmgH2e4g==
dependencies: dependencies:
"@abp/jquery" "~3.1.0" "@abp/jquery" "~3.1.2"
toastr "^2.1.4" toastr "^2.1.4"
"@abp/utils@^3.1.0": "@abp/utils@^3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-3.1.0.tgz#ccbfed6591ab11466bf3fed740c8422acf6a84df" resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-3.1.2.tgz#e9bca8f6133dc2af587c45825e734d2accabcd96"
integrity sha512-I5yjM1ovqcpBAT2LFOfwLibVE0Ql6XbP3tQj6YMEZ/foDXekn/4P6Spgq5DTZCMo+0jskS0D8NfL7Ce4p89buw== integrity sha512-wnbHGQDGkQYazez1YSXAZ0ZDbsIZZr2ZN8V4LtOSAfzmYhPhFZ5qftoM0xoxlbmsuLLX6QtiPvxU35kEmlZPyg==
dependencies: dependencies:
just-compare "^1.3.0" just-compare "^1.3.0"

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

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

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

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

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

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

2
modules/cms-kit/host/Volo.CmsKit.IdentityServer/wwwroot/libs/abp/utils/abp-utils.umd.js.map

File diff suppressed because one or more lines are too long

2
modules/cms-kit/host/Volo.CmsKit.IdentityServer/wwwroot/libs/abp/utils/abp-utils.umd.min.js.map

File diff suppressed because one or more lines are too long

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

@ -2,37 +2,37 @@
# yarn lockfile v1 # yarn lockfile v1
"@abp/aspnetcore.mvc.ui.theme.basic@^3.1.0": "@abp/aspnetcore.mvc.ui.theme.basic@^3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-3.1.0.tgz#5f1f308621cced2f0a4272fe612f485558bcab07" resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-3.1.2.tgz#202b33837a470079c1bd44fbf4a645c071ad4a00"
integrity sha512-zaRw34HwEESbYPYPsn0wH4lE4o9PuwJzovS1T2vmRg8wDgeOSkxC7uFU5If1QcFHuADkI3jfsyk8Xe9nEqz2Jg== integrity sha512-gvU9CJnEMBjNrRlpHGqlLK00xTdxcUe0z9ZRHucT9bPS3V4+Xe1c9cnpMM9oDpsMo5oha0suxTx695/G1t/jaA==
dependencies: dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~3.1.0" "@abp/aspnetcore.mvc.ui.theme.shared" "~3.1.2"
"@abp/aspnetcore.mvc.ui.theme.shared@~3.1.0": "@abp/aspnetcore.mvc.ui.theme.shared@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-3.1.0.tgz#9a9cc4a2c2bdfada9c69e35e15cc5491f1256712" resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-3.1.2.tgz#88ea020b1d26f3e551ff81b96a848c700bed97ca"
integrity sha512-DnLebcBACGTlCyJ05CRP3KXCGqWw1X3aXsdDnqQlohrLGwZHxDMZfS8HswhclG2Ak44MQn/4VtuUqRAs1PKlLg== integrity sha512-CjqinzcmES96dJ+IzEDSYO+uJE3Z3k3CZ5jGfgg97N0rYCTkt9LzYpuFHGeX4W+qI2qMurr5jstgsuLQY0cCzg==
dependencies: dependencies:
"@abp/aspnetcore.mvc.ui" "~3.1.0" "@abp/aspnetcore.mvc.ui" "~3.1.2"
"@abp/bootstrap" "~3.1.0" "@abp/bootstrap" "~3.1.2"
"@abp/bootstrap-datepicker" "~3.1.0" "@abp/bootstrap-datepicker" "~3.1.2"
"@abp/datatables.net-bs4" "~3.1.0" "@abp/datatables.net-bs4" "~3.1.2"
"@abp/font-awesome" "~3.1.0" "@abp/font-awesome" "~3.1.2"
"@abp/jquery-form" "~3.1.0" "@abp/jquery-form" "~3.1.2"
"@abp/jquery-validation-unobtrusive" "~3.1.0" "@abp/jquery-validation-unobtrusive" "~3.1.2"
"@abp/lodash" "~3.1.0" "@abp/lodash" "~3.1.2"
"@abp/luxon" "~3.1.0" "@abp/luxon" "~3.1.2"
"@abp/malihu-custom-scrollbar-plugin" "~3.1.0" "@abp/malihu-custom-scrollbar-plugin" "~3.1.2"
"@abp/select2" "~3.1.0" "@abp/select2" "~3.1.2"
"@abp/sweetalert" "~3.1.0" "@abp/sweetalert" "~3.1.2"
"@abp/timeago" "~3.1.0" "@abp/timeago" "~3.1.2"
"@abp/toastr" "~3.1.0" "@abp/toastr" "~3.1.2"
"@abp/aspnetcore.mvc.ui@~3.1.0": "@abp/aspnetcore.mvc.ui@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-3.1.0.tgz#4a80efec4d1c41d266af919068dfbb6f6324fa7f" resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-3.1.2.tgz#4689ff7e4b722803f2133856f2fb39171bbfd752"
integrity sha512-y6kVikbuCJlQbAvMdA/j2DwxLX0Fv8rRhjmmfr/ocEDrMridt1a5rO5JqDab8WvJKJjDudoobf1mSk9ZNxtyvQ== integrity sha512-jlBR+IgKuNGCerHbx6BEn2f1Xf9Vi9Dgge1/5VYzqu2MVk7dHRXHE7WYkZqpJuQKZtGMxF3c8ul2/u6uGlkmqw==
dependencies: dependencies:
ansi-colors "^4.1.1" ansi-colors "^4.1.1"
extend-object "^1.0.0" extend-object "^1.0.0"
@ -41,144 +41,144 @@
path "^0.12.7" path "^0.12.7"
rimraf "^3.0.2" rimraf "^3.0.2"
"@abp/bootstrap-datepicker@~3.1.0": "@abp/bootstrap-datepicker@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-3.1.0.tgz#47198667eafa4a920dd72f38a22452bdeadf0edd" resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-3.1.2.tgz#90ed84f4345bf8e47c0a05511fab9c63a5a3424c"
integrity sha512-yBmEuiorGNa5LSvjXfVGJ/CLlW/fGwij07I+gbGnwY0gVp4ydfA15LJfuCdfHBo2ZIDFXe7hQuVYFEH1gbLpkA== integrity sha512-sY9jXReDXCNzuSoNCiSkUD9cbdj9W/AR/glOsCb29zC7GX3XLEykuT42b8W6Kl6prS5NgfmXaX2pZOuyv0KBeQ==
dependencies: dependencies:
bootstrap-datepicker "^1.9.0" bootstrap-datepicker "^1.9.0"
"@abp/bootstrap@~3.1.0": "@abp/bootstrap@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-3.1.0.tgz#7bd7b81a67712154fa12d01b6051e71f316be048" resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-3.1.2.tgz#d80e14d0cfa0b3213fafecf275520eddd9b846e2"
integrity sha512-I64cCBo0OS14A29y/dEhKBPeXPt1djNoxZo4OXhHZAAmOM3fP3t8y9nDNCr3L2r6/FT8RQH7AW0/jJjER94KvA== integrity sha512-neI766oMxwrwrsQc477koPXaT2/yy1mG4djGvnC+g2DgLeqxU7ye6dt6Lf/rKmQuZD9jtz28920wPN3N4N/HrQ==
dependencies: dependencies:
"@abp/core" "~3.1.0" "@abp/core" "~3.1.2"
bootstrap "^4.5.0" bootstrap "^4.5.0"
bootstrap-v4-rtl "4.4.1-2" bootstrap-v4-rtl "4.4.1-2"
"@abp/core@~3.1.0": "@abp/core@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-3.1.0.tgz#13ce01a68f0e2e9ab976f30d7bf892a9037af4f7" resolved "https://registry.yarnpkg.com/@abp/core/-/core-3.1.2.tgz#1d204b2f6eb3c04e036a30b416ecf77d5ce51a47"
integrity sha512-hLN0W5/0PuyIBIGxmLQvnbec0eBlXB1vS7YqrmiMv0WPgnHXx36FXfUUuX74JHTfTQFMGWL3EOrzm6UBe2+0VA== integrity sha512-Tb/E8VHTESFoioj0gO1PB5AxZB5aIZSgAS4/V5GFne4Z399DPwkX8+XJIIRtQVzlFySAdoA37Emml/7eHCvMMQ==
dependencies: dependencies:
"@abp/utils" "^3.1.0" "@abp/utils" "^3.1.2"
"@abp/datatables.net-bs4@~3.1.0": "@abp/datatables.net-bs4@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-3.1.0.tgz#c8033ffff1a360c6cb98f8871ecec5d8f94c3ef6" resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-3.1.2.tgz#23530f20d01776c34669c7d15df5ecd19beb6c95"
integrity sha512-3xx3Er8i8IJ/mYEYl+MxGyY+sZo965f0MCoIAGPV7dNuULfiNYPhvym+4LXzocRZUlF4qrXxXPLo3njiCQNAUQ== integrity sha512-dbJOTSkiyYHMW3Og9kQFqcSONNE+ElEHgfO/sfIT4Aj9hFpNHkGBTnaDTYXJ22ViFcSMWOTynvg6u+I3ZHe8qw==
dependencies: dependencies:
"@abp/datatables.net" "~3.1.0" "@abp/datatables.net" "~3.1.2"
datatables.net-bs4 "^1.10.21" datatables.net-bs4 "^1.10.21"
"@abp/datatables.net@~3.1.0": "@abp/datatables.net@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-3.1.0.tgz#db4fe94cf4216a59a3121d0d38b57092d7524f2a" resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-3.1.2.tgz#34a0718bdac6802336484c4011067cf665cdd413"
integrity sha512-9av6Dk1qEMAahjZCEn3hAP9mNCvr8HBcYBEqhGMACCk+rLjAJgzKKzV80cvlerg1VGoBTdQ0NgN22ywsWqDyOg== integrity sha512-TJWp/+sMZIQqEy1F7Zb4/kSvrUQoC3AfG5qrSFIRmKyZMEsuUzTLugtfYWUi0BKEHdc454ErWrGuD1MCMIzEsQ==
dependencies: dependencies:
"@abp/jquery" "~3.1.0" "@abp/jquery" "~3.1.2"
datatables.net "^1.10.21" datatables.net "^1.10.21"
"@abp/font-awesome@~3.1.0": "@abp/font-awesome@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-3.1.0.tgz#00792619894b8d0f15801df641ee57eda1d7cdba" resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-3.1.2.tgz#1b14dc64cfe5f903bbcc25a4d2c88df54b561e87"
integrity sha512-fRd8QtVmfBiEoQpYgvVoNUcoyje3mtGqfIVtzeH2wnwEWKEO8SFfMcuWetyY2pk06VgpRnKNHGumyHnaNTCiUQ== integrity sha512-33C0lAioBWcIs5wU+M7+SF06+Yvoq9BKVDjPx1R8TndphOfXU6IRneZvHDCLig76EY/BNcEYEREbv33Wqnie9Q==
dependencies: dependencies:
"@abp/core" "~3.1.0" "@abp/core" "~3.1.2"
"@fortawesome/fontawesome-free" "^5.13.0" "@fortawesome/fontawesome-free" "^5.13.0"
"@abp/jquery-form@~3.1.0": "@abp/jquery-form@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-3.1.0.tgz#d095dea5200a13714dddd4ff1067126a01944440" resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-3.1.2.tgz#8d516356e443e0ae8f1367ce3090e84a5afc2867"
integrity sha512-Bs1BJ1coJMC8kFme9SffIicUSx7ULGzvdHfatzEbL6oH7KCSU/smBRTdAuZ/l85Qfftd0C6R9ibXehgKlagQKw== integrity sha512-UCWZLnu7qETSeX69Wui0VtMpEiPrRv2+JsoJKsS3XcqXehNGJktMc5H5sNCDgPaQXzE5SY6hWnfLBj88014T6g==
dependencies: dependencies:
"@abp/jquery" "~3.1.0" "@abp/jquery" "~3.1.2"
jquery-form "^4.3.0" jquery-form "^4.3.0"
"@abp/jquery-validation-unobtrusive@~3.1.0": "@abp/jquery-validation-unobtrusive@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-3.1.0.tgz#c4a6e99f8cadc437b83574fbb2437beaccb23241" resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-3.1.2.tgz#64e6c2f287c21a4a569f4152936e84afa4a66c50"
integrity sha512-WpZPnfx0MR9E1c7TB9M/hU4AkToTaPsLg+P7HfCihB6g7SVrjdLxP4w90lIejro3raK2BjU4726FHqgFQSygTA== integrity sha512-soZjLE2ygApecWs9DqKh7hRkf067esvLXSQOwUvw5WdeHOWccgAu/GxzAeFzwNA3CpfjFGoHqNNeSnETLLVEUQ==
dependencies: dependencies:
"@abp/jquery-validation" "~3.1.0" "@abp/jquery-validation" "~3.1.2"
jquery-validation-unobtrusive "^3.2.11" jquery-validation-unobtrusive "^3.2.11"
"@abp/jquery-validation@~3.1.0": "@abp/jquery-validation@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-3.1.0.tgz#ace497b864df008385a2fcabf6ef7e014a663a1d" resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-3.1.2.tgz#a34fea85a67e2552d9ee278ecc22b5740bbcc5eb"
integrity sha512-kq36uSs54SVTYcGsy/CQZlIW98mfmhfNOHsnxn/W4U1prMSZdH7yegCEfHlHN2ERtubD6UEWHxx5D1JUyDsmvg== integrity sha512-RrzdY3nay9/OHpd58DyJ9oYnwr3++6gJoI135QMYz+otlJnUjrM6bFfqSeWQaetvbiCVy7nOVYVyqIFO7KgQUw==
dependencies: dependencies:
"@abp/jquery" "~3.1.0" "@abp/jquery" "~3.1.2"
jquery-validation "^1.19.2" jquery-validation "^1.19.2"
"@abp/jquery@~3.1.0": "@abp/jquery@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-3.1.0.tgz#e110148d13478ea86de8cff092164d7bd7a9ef63" resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-3.1.2.tgz#f890d872d2d0287e7c195801f8c51c88c64602a0"
integrity sha512-8QzEMTHW0HNYrQbC11w28DxD3jGdaWlrGvAExmitBYIv9i1BYg/6M4bcKOVJPhiQoR50aCe+6xInFhNgfRNBCw== integrity sha512-Pk3Ybx/S88rFThDUlziiKIq7uKwiu2J1xYuzJTlP+xc1IgIcJNkBONl07KFdoHvctOtFtdf4mVN7SGYmNePK4g==
dependencies: dependencies:
"@abp/core" "~3.1.0" "@abp/core" "~3.1.2"
jquery "~3.5.1" jquery "~3.5.1"
"@abp/lodash@~3.1.0": "@abp/lodash@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-3.1.0.tgz#a4175342b4fc14a92b8344ea783554c40e4e450c" resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-3.1.2.tgz#07ab3001e463f1c452865ff98e051251322c7061"
integrity sha512-RVclkRFjrjPtNVaAPJVPJJmI9QFbc2vZfwG+utDV4aZzytZOgESN8q8IbOGaCIj8KzvX1LeBSqvDRP81l9c5Tg== integrity sha512-0XMWCKQJyPVpn22OVEYlQR7+zEn1yz4sTb5ilUFhLOSTHXEOJXNVzxEYlGYCPUjxGZFvZH+vdeurSjXdIOOB5w==
dependencies: dependencies:
"@abp/core" "~3.1.0" "@abp/core" "~3.1.2"
lodash "^4.17.15" lodash "^4.17.15"
"@abp/luxon@~3.1.0": "@abp/luxon@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-3.1.0.tgz#867f4395315b0727b39f9b5a5f4dc9bca7cfafde" resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-3.1.2.tgz#ed3adfd1e7e46939c2ac456d44d9987b0d923334"
integrity sha512-Pf+g5yGCqKDEhGMM/V75zX/8pPJUoIv7xJdF9sLRTERr5NpsS8/23DZIn2KmzbNLThHDkAmayBxHZko4Ri1ykw== integrity sha512-fZj3yIT1H+I6vcRxMONw9VRYLWfvzdzLeDZ1xlkXsC4NqI7cK6vchYNTqZlTg4zH6DNYNg6+WOoxQ8ao8a00QA==
dependencies: dependencies:
luxon "^1.24.1" luxon "^1.24.1"
"@abp/malihu-custom-scrollbar-plugin@~3.1.0": "@abp/malihu-custom-scrollbar-plugin@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.1.0.tgz#eab16ac9cddfbe9982baf946a468718dee34589e" resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.1.2.tgz#3556912136a85289b0b237e5bb7368b08f5efac8"
integrity sha512-/6TXbzyUh8qSMwZss1tTWkAeAnrAvSHeJRF32iVCYx769+6HJ4QZt1BWyT6/jgAdEHZspePh1+xAsrPRDZJ5aA== integrity sha512-b0uU/PwNOQaAurEkEZ4e4103pGomeKduo3Rg0hsyN7eeUrTzNw2tq1AQlgGRxw2v1pzyOvzNd0v14jyERE947g==
dependencies: dependencies:
"@abp/core" "~3.1.0" "@abp/core" "~3.1.2"
malihu-custom-scrollbar-plugin "^3.1.5" malihu-custom-scrollbar-plugin "^3.1.5"
"@abp/select2@~3.1.0": "@abp/select2@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-3.1.0.tgz#459386918f15c591549e7c5b1d411536f781c2a0" resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-3.1.2.tgz#05997301b2800249ed560c4d24c9bfcfee68f99a"
integrity sha512-I0dOXi9oPdzWQVZ5s4Lo4q6tTezQuqXSzZClmnJaQzkf7pCftnji+S727bkUIjwjkFAsT/YNMBCzgJBaiHS3uQ== integrity sha512-PyIiCGkvRUEfSyVF4M7p4BzHgaUG7lysYPop0R1tGiJcEVSxkXvhCJnEODPYiqvVjdFFKVz8Ni1R+xpEIEL/2w==
dependencies: dependencies:
"@abp/core" "~3.1.0" "@abp/core" "~3.1.2"
select2 "^4.0.13" select2 "^4.0.13"
"@abp/sweetalert@~3.1.0": "@abp/sweetalert@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-3.1.0.tgz#498df5abb8f68b660cd37f10e287188b6417c3ff" resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-3.1.2.tgz#18b062b0d5c5d5c78b4f8d13186587ab87d46464"
integrity sha512-9YxVZQfrsGWdVmKeWAG4CoD+B0VObR94SsQQgUiYcl/07PPDxDPZHX/sh1H+pqHXv9/qpPOTS3/PCQAeIfuG/w== integrity sha512-MJXLyrqPgxiy5NViyVvo6iasDoO3Jfdb3+4Jf+5PFlR7pZd1MmhmvNWn/rc5yFcCwOKvJkXVaWYaT9UsvZPxIA==
dependencies: dependencies:
"@abp/core" "~3.1.0" "@abp/core" "~3.1.2"
sweetalert "^2.1.2" sweetalert "^2.1.2"
"@abp/timeago@~3.1.0": "@abp/timeago@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-3.1.0.tgz#abae5287e01d36107516416256a1ccfcb0ca7953" resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-3.1.2.tgz#120cdd99a9dde1fbd1276571fdc5f415eee2941e"
integrity sha512-xVOq5/5l/0w9vmWIF7dZzqa+7nl7NNG7ER8gbrdPOX86rCsD12DIOkFDLi+Q41kxzp7wbphDZIT/7RsPrhgDDQ== integrity sha512-C3d1RLMEUBctPA/ASpqt9+gumsziYu0De7PWdmCmkPC7q23JpZaOmvWffaTpP2QoInyQXUPo51obOmEaC23InQ==
dependencies: dependencies:
"@abp/jquery" "~3.1.0" "@abp/jquery" "~3.1.2"
timeago "^1.6.7" timeago "^1.6.7"
"@abp/toastr@~3.1.0": "@abp/toastr@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-3.1.0.tgz#cebbb95c1f0b36306a0a58215dfda48a3ebe5f20" resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-3.1.2.tgz#3f8838423559482b8791cd7ce5bb6ff3a8f3722a"
integrity sha512-94PqZmbayVJnDKMrqbVhW0Z3D/sL3sV5gXfd53Ac5KNQvsBmQZ5/SvuuwuDzWYMQm0XwZ1h4fLAiTuoBMIxWCQ== integrity sha512-Omb/7Mkv73hRunVfWbRJxlNoTC3cqKJACB+pAcB5rb+rCTiR3c9HaSf1C7ljlofpxY/AKMN+JfJZP9VmgH2e4g==
dependencies: dependencies:
"@abp/jquery" "~3.1.0" "@abp/jquery" "~3.1.2"
toastr "^2.1.4" toastr "^2.1.4"
"@abp/utils@^3.1.0": "@abp/utils@^3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-3.1.0.tgz#ccbfed6591ab11466bf3fed740c8422acf6a84df" resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-3.1.2.tgz#e9bca8f6133dc2af587c45825e734d2accabcd96"
integrity sha512-I5yjM1ovqcpBAT2LFOfwLibVE0Ql6XbP3tQj6YMEZ/foDXekn/4P6Spgq5DTZCMo+0jskS0D8NfL7Ce4p89buw== integrity sha512-wnbHGQDGkQYazez1YSXAZ0ZDbsIZZr2ZN8V4LtOSAfzmYhPhFZ5qftoM0xoxlbmsuLLX6QtiPvxU35kEmlZPyg==
dependencies: dependencies:
just-compare "^1.3.0" just-compare "^1.3.0"

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

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

2
modules/cms-kit/host/Volo.CmsKit.Web.Host/wwwroot/libs/abp/utils/abp-utils.umd.js.map

File diff suppressed because one or more lines are too long

2
modules/cms-kit/host/Volo.CmsKit.Web.Host/wwwroot/libs/abp/utils/abp-utils.umd.min.js.map

File diff suppressed because one or more lines are too long

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

@ -2,37 +2,37 @@
# yarn lockfile v1 # yarn lockfile v1
"@abp/aspnetcore.mvc.ui.theme.basic@^3.1.0": "@abp/aspnetcore.mvc.ui.theme.basic@^3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-3.1.0.tgz#5f1f308621cced2f0a4272fe612f485558bcab07" resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-3.1.2.tgz#202b33837a470079c1bd44fbf4a645c071ad4a00"
integrity sha512-zaRw34HwEESbYPYPsn0wH4lE4o9PuwJzovS1T2vmRg8wDgeOSkxC7uFU5If1QcFHuADkI3jfsyk8Xe9nEqz2Jg== integrity sha512-gvU9CJnEMBjNrRlpHGqlLK00xTdxcUe0z9ZRHucT9bPS3V4+Xe1c9cnpMM9oDpsMo5oha0suxTx695/G1t/jaA==
dependencies: dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~3.1.0" "@abp/aspnetcore.mvc.ui.theme.shared" "~3.1.2"
"@abp/aspnetcore.mvc.ui.theme.shared@~3.1.0": "@abp/aspnetcore.mvc.ui.theme.shared@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-3.1.0.tgz#9a9cc4a2c2bdfada9c69e35e15cc5491f1256712" resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-3.1.2.tgz#88ea020b1d26f3e551ff81b96a848c700bed97ca"
integrity sha512-DnLebcBACGTlCyJ05CRP3KXCGqWw1X3aXsdDnqQlohrLGwZHxDMZfS8HswhclG2Ak44MQn/4VtuUqRAs1PKlLg== integrity sha512-CjqinzcmES96dJ+IzEDSYO+uJE3Z3k3CZ5jGfgg97N0rYCTkt9LzYpuFHGeX4W+qI2qMurr5jstgsuLQY0cCzg==
dependencies: dependencies:
"@abp/aspnetcore.mvc.ui" "~3.1.0" "@abp/aspnetcore.mvc.ui" "~3.1.2"
"@abp/bootstrap" "~3.1.0" "@abp/bootstrap" "~3.1.2"
"@abp/bootstrap-datepicker" "~3.1.0" "@abp/bootstrap-datepicker" "~3.1.2"
"@abp/datatables.net-bs4" "~3.1.0" "@abp/datatables.net-bs4" "~3.1.2"
"@abp/font-awesome" "~3.1.0" "@abp/font-awesome" "~3.1.2"
"@abp/jquery-form" "~3.1.0" "@abp/jquery-form" "~3.1.2"
"@abp/jquery-validation-unobtrusive" "~3.1.0" "@abp/jquery-validation-unobtrusive" "~3.1.2"
"@abp/lodash" "~3.1.0" "@abp/lodash" "~3.1.2"
"@abp/luxon" "~3.1.0" "@abp/luxon" "~3.1.2"
"@abp/malihu-custom-scrollbar-plugin" "~3.1.0" "@abp/malihu-custom-scrollbar-plugin" "~3.1.2"
"@abp/select2" "~3.1.0" "@abp/select2" "~3.1.2"
"@abp/sweetalert" "~3.1.0" "@abp/sweetalert" "~3.1.2"
"@abp/timeago" "~3.1.0" "@abp/timeago" "~3.1.2"
"@abp/toastr" "~3.1.0" "@abp/toastr" "~3.1.2"
"@abp/aspnetcore.mvc.ui@~3.1.0": "@abp/aspnetcore.mvc.ui@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-3.1.0.tgz#4a80efec4d1c41d266af919068dfbb6f6324fa7f" resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-3.1.2.tgz#4689ff7e4b722803f2133856f2fb39171bbfd752"
integrity sha512-y6kVikbuCJlQbAvMdA/j2DwxLX0Fv8rRhjmmfr/ocEDrMridt1a5rO5JqDab8WvJKJjDudoobf1mSk9ZNxtyvQ== integrity sha512-jlBR+IgKuNGCerHbx6BEn2f1Xf9Vi9Dgge1/5VYzqu2MVk7dHRXHE7WYkZqpJuQKZtGMxF3c8ul2/u6uGlkmqw==
dependencies: dependencies:
ansi-colors "^4.1.1" ansi-colors "^4.1.1"
extend-object "^1.0.0" extend-object "^1.0.0"
@ -41,144 +41,144 @@
path "^0.12.7" path "^0.12.7"
rimraf "^3.0.2" rimraf "^3.0.2"
"@abp/bootstrap-datepicker@~3.1.0": "@abp/bootstrap-datepicker@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-3.1.0.tgz#47198667eafa4a920dd72f38a22452bdeadf0edd" resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-3.1.2.tgz#90ed84f4345bf8e47c0a05511fab9c63a5a3424c"
integrity sha512-yBmEuiorGNa5LSvjXfVGJ/CLlW/fGwij07I+gbGnwY0gVp4ydfA15LJfuCdfHBo2ZIDFXe7hQuVYFEH1gbLpkA== integrity sha512-sY9jXReDXCNzuSoNCiSkUD9cbdj9W/AR/glOsCb29zC7GX3XLEykuT42b8W6Kl6prS5NgfmXaX2pZOuyv0KBeQ==
dependencies: dependencies:
bootstrap-datepicker "^1.9.0" bootstrap-datepicker "^1.9.0"
"@abp/bootstrap@~3.1.0": "@abp/bootstrap@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-3.1.0.tgz#7bd7b81a67712154fa12d01b6051e71f316be048" resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-3.1.2.tgz#d80e14d0cfa0b3213fafecf275520eddd9b846e2"
integrity sha512-I64cCBo0OS14A29y/dEhKBPeXPt1djNoxZo4OXhHZAAmOM3fP3t8y9nDNCr3L2r6/FT8RQH7AW0/jJjER94KvA== integrity sha512-neI766oMxwrwrsQc477koPXaT2/yy1mG4djGvnC+g2DgLeqxU7ye6dt6Lf/rKmQuZD9jtz28920wPN3N4N/HrQ==
dependencies: dependencies:
"@abp/core" "~3.1.0" "@abp/core" "~3.1.2"
bootstrap "^4.5.0" bootstrap "^4.5.0"
bootstrap-v4-rtl "4.4.1-2" bootstrap-v4-rtl "4.4.1-2"
"@abp/core@~3.1.0": "@abp/core@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-3.1.0.tgz#13ce01a68f0e2e9ab976f30d7bf892a9037af4f7" resolved "https://registry.yarnpkg.com/@abp/core/-/core-3.1.2.tgz#1d204b2f6eb3c04e036a30b416ecf77d5ce51a47"
integrity sha512-hLN0W5/0PuyIBIGxmLQvnbec0eBlXB1vS7YqrmiMv0WPgnHXx36FXfUUuX74JHTfTQFMGWL3EOrzm6UBe2+0VA== integrity sha512-Tb/E8VHTESFoioj0gO1PB5AxZB5aIZSgAS4/V5GFne4Z399DPwkX8+XJIIRtQVzlFySAdoA37Emml/7eHCvMMQ==
dependencies: dependencies:
"@abp/utils" "^3.1.0" "@abp/utils" "^3.1.2"
"@abp/datatables.net-bs4@~3.1.0": "@abp/datatables.net-bs4@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-3.1.0.tgz#c8033ffff1a360c6cb98f8871ecec5d8f94c3ef6" resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-3.1.2.tgz#23530f20d01776c34669c7d15df5ecd19beb6c95"
integrity sha512-3xx3Er8i8IJ/mYEYl+MxGyY+sZo965f0MCoIAGPV7dNuULfiNYPhvym+4LXzocRZUlF4qrXxXPLo3njiCQNAUQ== integrity sha512-dbJOTSkiyYHMW3Og9kQFqcSONNE+ElEHgfO/sfIT4Aj9hFpNHkGBTnaDTYXJ22ViFcSMWOTynvg6u+I3ZHe8qw==
dependencies: dependencies:
"@abp/datatables.net" "~3.1.0" "@abp/datatables.net" "~3.1.2"
datatables.net-bs4 "^1.10.21" datatables.net-bs4 "^1.10.21"
"@abp/datatables.net@~3.1.0": "@abp/datatables.net@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-3.1.0.tgz#db4fe94cf4216a59a3121d0d38b57092d7524f2a" resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-3.1.2.tgz#34a0718bdac6802336484c4011067cf665cdd413"
integrity sha512-9av6Dk1qEMAahjZCEn3hAP9mNCvr8HBcYBEqhGMACCk+rLjAJgzKKzV80cvlerg1VGoBTdQ0NgN22ywsWqDyOg== integrity sha512-TJWp/+sMZIQqEy1F7Zb4/kSvrUQoC3AfG5qrSFIRmKyZMEsuUzTLugtfYWUi0BKEHdc454ErWrGuD1MCMIzEsQ==
dependencies: dependencies:
"@abp/jquery" "~3.1.0" "@abp/jquery" "~3.1.2"
datatables.net "^1.10.21" datatables.net "^1.10.21"
"@abp/font-awesome@~3.1.0": "@abp/font-awesome@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-3.1.0.tgz#00792619894b8d0f15801df641ee57eda1d7cdba" resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-3.1.2.tgz#1b14dc64cfe5f903bbcc25a4d2c88df54b561e87"
integrity sha512-fRd8QtVmfBiEoQpYgvVoNUcoyje3mtGqfIVtzeH2wnwEWKEO8SFfMcuWetyY2pk06VgpRnKNHGumyHnaNTCiUQ== integrity sha512-33C0lAioBWcIs5wU+M7+SF06+Yvoq9BKVDjPx1R8TndphOfXU6IRneZvHDCLig76EY/BNcEYEREbv33Wqnie9Q==
dependencies: dependencies:
"@abp/core" "~3.1.0" "@abp/core" "~3.1.2"
"@fortawesome/fontawesome-free" "^5.13.0" "@fortawesome/fontawesome-free" "^5.13.0"
"@abp/jquery-form@~3.1.0": "@abp/jquery-form@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-3.1.0.tgz#d095dea5200a13714dddd4ff1067126a01944440" resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-3.1.2.tgz#8d516356e443e0ae8f1367ce3090e84a5afc2867"
integrity sha512-Bs1BJ1coJMC8kFme9SffIicUSx7ULGzvdHfatzEbL6oH7KCSU/smBRTdAuZ/l85Qfftd0C6R9ibXehgKlagQKw== integrity sha512-UCWZLnu7qETSeX69Wui0VtMpEiPrRv2+JsoJKsS3XcqXehNGJktMc5H5sNCDgPaQXzE5SY6hWnfLBj88014T6g==
dependencies: dependencies:
"@abp/jquery" "~3.1.0" "@abp/jquery" "~3.1.2"
jquery-form "^4.3.0" jquery-form "^4.3.0"
"@abp/jquery-validation-unobtrusive@~3.1.0": "@abp/jquery-validation-unobtrusive@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-3.1.0.tgz#c4a6e99f8cadc437b83574fbb2437beaccb23241" resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-3.1.2.tgz#64e6c2f287c21a4a569f4152936e84afa4a66c50"
integrity sha512-WpZPnfx0MR9E1c7TB9M/hU4AkToTaPsLg+P7HfCihB6g7SVrjdLxP4w90lIejro3raK2BjU4726FHqgFQSygTA== integrity sha512-soZjLE2ygApecWs9DqKh7hRkf067esvLXSQOwUvw5WdeHOWccgAu/GxzAeFzwNA3CpfjFGoHqNNeSnETLLVEUQ==
dependencies: dependencies:
"@abp/jquery-validation" "~3.1.0" "@abp/jquery-validation" "~3.1.2"
jquery-validation-unobtrusive "^3.2.11" jquery-validation-unobtrusive "^3.2.11"
"@abp/jquery-validation@~3.1.0": "@abp/jquery-validation@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-3.1.0.tgz#ace497b864df008385a2fcabf6ef7e014a663a1d" resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-3.1.2.tgz#a34fea85a67e2552d9ee278ecc22b5740bbcc5eb"
integrity sha512-kq36uSs54SVTYcGsy/CQZlIW98mfmhfNOHsnxn/W4U1prMSZdH7yegCEfHlHN2ERtubD6UEWHxx5D1JUyDsmvg== integrity sha512-RrzdY3nay9/OHpd58DyJ9oYnwr3++6gJoI135QMYz+otlJnUjrM6bFfqSeWQaetvbiCVy7nOVYVyqIFO7KgQUw==
dependencies: dependencies:
"@abp/jquery" "~3.1.0" "@abp/jquery" "~3.1.2"
jquery-validation "^1.19.2" jquery-validation "^1.19.2"
"@abp/jquery@~3.1.0": "@abp/jquery@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-3.1.0.tgz#e110148d13478ea86de8cff092164d7bd7a9ef63" resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-3.1.2.tgz#f890d872d2d0287e7c195801f8c51c88c64602a0"
integrity sha512-8QzEMTHW0HNYrQbC11w28DxD3jGdaWlrGvAExmitBYIv9i1BYg/6M4bcKOVJPhiQoR50aCe+6xInFhNgfRNBCw== integrity sha512-Pk3Ybx/S88rFThDUlziiKIq7uKwiu2J1xYuzJTlP+xc1IgIcJNkBONl07KFdoHvctOtFtdf4mVN7SGYmNePK4g==
dependencies: dependencies:
"@abp/core" "~3.1.0" "@abp/core" "~3.1.2"
jquery "~3.5.1" jquery "~3.5.1"
"@abp/lodash@~3.1.0": "@abp/lodash@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-3.1.0.tgz#a4175342b4fc14a92b8344ea783554c40e4e450c" resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-3.1.2.tgz#07ab3001e463f1c452865ff98e051251322c7061"
integrity sha512-RVclkRFjrjPtNVaAPJVPJJmI9QFbc2vZfwG+utDV4aZzytZOgESN8q8IbOGaCIj8KzvX1LeBSqvDRP81l9c5Tg== integrity sha512-0XMWCKQJyPVpn22OVEYlQR7+zEn1yz4sTb5ilUFhLOSTHXEOJXNVzxEYlGYCPUjxGZFvZH+vdeurSjXdIOOB5w==
dependencies: dependencies:
"@abp/core" "~3.1.0" "@abp/core" "~3.1.2"
lodash "^4.17.15" lodash "^4.17.15"
"@abp/luxon@~3.1.0": "@abp/luxon@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-3.1.0.tgz#867f4395315b0727b39f9b5a5f4dc9bca7cfafde" resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-3.1.2.tgz#ed3adfd1e7e46939c2ac456d44d9987b0d923334"
integrity sha512-Pf+g5yGCqKDEhGMM/V75zX/8pPJUoIv7xJdF9sLRTERr5NpsS8/23DZIn2KmzbNLThHDkAmayBxHZko4Ri1ykw== integrity sha512-fZj3yIT1H+I6vcRxMONw9VRYLWfvzdzLeDZ1xlkXsC4NqI7cK6vchYNTqZlTg4zH6DNYNg6+WOoxQ8ao8a00QA==
dependencies: dependencies:
luxon "^1.24.1" luxon "^1.24.1"
"@abp/malihu-custom-scrollbar-plugin@~3.1.0": "@abp/malihu-custom-scrollbar-plugin@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.1.0.tgz#eab16ac9cddfbe9982baf946a468718dee34589e" resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.1.2.tgz#3556912136a85289b0b237e5bb7368b08f5efac8"
integrity sha512-/6TXbzyUh8qSMwZss1tTWkAeAnrAvSHeJRF32iVCYx769+6HJ4QZt1BWyT6/jgAdEHZspePh1+xAsrPRDZJ5aA== integrity sha512-b0uU/PwNOQaAurEkEZ4e4103pGomeKduo3Rg0hsyN7eeUrTzNw2tq1AQlgGRxw2v1pzyOvzNd0v14jyERE947g==
dependencies: dependencies:
"@abp/core" "~3.1.0" "@abp/core" "~3.1.2"
malihu-custom-scrollbar-plugin "^3.1.5" malihu-custom-scrollbar-plugin "^3.1.5"
"@abp/select2@~3.1.0": "@abp/select2@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-3.1.0.tgz#459386918f15c591549e7c5b1d411536f781c2a0" resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-3.1.2.tgz#05997301b2800249ed560c4d24c9bfcfee68f99a"
integrity sha512-I0dOXi9oPdzWQVZ5s4Lo4q6tTezQuqXSzZClmnJaQzkf7pCftnji+S727bkUIjwjkFAsT/YNMBCzgJBaiHS3uQ== integrity sha512-PyIiCGkvRUEfSyVF4M7p4BzHgaUG7lysYPop0R1tGiJcEVSxkXvhCJnEODPYiqvVjdFFKVz8Ni1R+xpEIEL/2w==
dependencies: dependencies:
"@abp/core" "~3.1.0" "@abp/core" "~3.1.2"
select2 "^4.0.13" select2 "^4.0.13"
"@abp/sweetalert@~3.1.0": "@abp/sweetalert@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-3.1.0.tgz#498df5abb8f68b660cd37f10e287188b6417c3ff" resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-3.1.2.tgz#18b062b0d5c5d5c78b4f8d13186587ab87d46464"
integrity sha512-9YxVZQfrsGWdVmKeWAG4CoD+B0VObR94SsQQgUiYcl/07PPDxDPZHX/sh1H+pqHXv9/qpPOTS3/PCQAeIfuG/w== integrity sha512-MJXLyrqPgxiy5NViyVvo6iasDoO3Jfdb3+4Jf+5PFlR7pZd1MmhmvNWn/rc5yFcCwOKvJkXVaWYaT9UsvZPxIA==
dependencies: dependencies:
"@abp/core" "~3.1.0" "@abp/core" "~3.1.2"
sweetalert "^2.1.2" sweetalert "^2.1.2"
"@abp/timeago@~3.1.0": "@abp/timeago@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-3.1.0.tgz#abae5287e01d36107516416256a1ccfcb0ca7953" resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-3.1.2.tgz#120cdd99a9dde1fbd1276571fdc5f415eee2941e"
integrity sha512-xVOq5/5l/0w9vmWIF7dZzqa+7nl7NNG7ER8gbrdPOX86rCsD12DIOkFDLi+Q41kxzp7wbphDZIT/7RsPrhgDDQ== integrity sha512-C3d1RLMEUBctPA/ASpqt9+gumsziYu0De7PWdmCmkPC7q23JpZaOmvWffaTpP2QoInyQXUPo51obOmEaC23InQ==
dependencies: dependencies:
"@abp/jquery" "~3.1.0" "@abp/jquery" "~3.1.2"
timeago "^1.6.7" timeago "^1.6.7"
"@abp/toastr@~3.1.0": "@abp/toastr@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-3.1.0.tgz#cebbb95c1f0b36306a0a58215dfda48a3ebe5f20" resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-3.1.2.tgz#3f8838423559482b8791cd7ce5bb6ff3a8f3722a"
integrity sha512-94PqZmbayVJnDKMrqbVhW0Z3D/sL3sV5gXfd53Ac5KNQvsBmQZ5/SvuuwuDzWYMQm0XwZ1h4fLAiTuoBMIxWCQ== integrity sha512-Omb/7Mkv73hRunVfWbRJxlNoTC3cqKJACB+pAcB5rb+rCTiR3c9HaSf1C7ljlofpxY/AKMN+JfJZP9VmgH2e4g==
dependencies: dependencies:
"@abp/jquery" "~3.1.0" "@abp/jquery" "~3.1.2"
toastr "^2.1.4" toastr "^2.1.4"
"@abp/utils@^3.1.0": "@abp/utils@^3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-3.1.0.tgz#ccbfed6591ab11466bf3fed740c8422acf6a84df" resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-3.1.2.tgz#e9bca8f6133dc2af587c45825e734d2accabcd96"
integrity sha512-I5yjM1ovqcpBAT2LFOfwLibVE0Ql6XbP3tQj6YMEZ/foDXekn/4P6Spgq5DTZCMo+0jskS0D8NfL7Ce4p89buw== integrity sha512-wnbHGQDGkQYazez1YSXAZ0ZDbsIZZr2ZN8V4LtOSAfzmYhPhFZ5qftoM0xoxlbmsuLLX6QtiPvxU35kEmlZPyg==
dependencies: dependencies:
just-compare "^1.3.0" just-compare "^1.3.0"

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

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

2
modules/cms-kit/host/Volo.CmsKit.Web.Unified/wwwroot/libs/abp/utils/abp-utils.umd.js.map

File diff suppressed because one or more lines are too long

2
modules/cms-kit/host/Volo.CmsKit.Web.Unified/wwwroot/libs/abp/utils/abp-utils.umd.min.js.map

File diff suppressed because one or more lines are too long

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

@ -2,37 +2,37 @@
# yarn lockfile v1 # yarn lockfile v1
"@abp/aspnetcore.mvc.ui.theme.basic@^3.1.0": "@abp/aspnetcore.mvc.ui.theme.basic@^3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-3.1.0.tgz#5f1f308621cced2f0a4272fe612f485558bcab07" resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-3.1.2.tgz#202b33837a470079c1bd44fbf4a645c071ad4a00"
integrity sha512-zaRw34HwEESbYPYPsn0wH4lE4o9PuwJzovS1T2vmRg8wDgeOSkxC7uFU5If1QcFHuADkI3jfsyk8Xe9nEqz2Jg== integrity sha512-gvU9CJnEMBjNrRlpHGqlLK00xTdxcUe0z9ZRHucT9bPS3V4+Xe1c9cnpMM9oDpsMo5oha0suxTx695/G1t/jaA==
dependencies: dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~3.1.0" "@abp/aspnetcore.mvc.ui.theme.shared" "~3.1.2"
"@abp/aspnetcore.mvc.ui.theme.shared@~3.1.0": "@abp/aspnetcore.mvc.ui.theme.shared@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-3.1.0.tgz#9a9cc4a2c2bdfada9c69e35e15cc5491f1256712" resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-3.1.2.tgz#88ea020b1d26f3e551ff81b96a848c700bed97ca"
integrity sha512-DnLebcBACGTlCyJ05CRP3KXCGqWw1X3aXsdDnqQlohrLGwZHxDMZfS8HswhclG2Ak44MQn/4VtuUqRAs1PKlLg== integrity sha512-CjqinzcmES96dJ+IzEDSYO+uJE3Z3k3CZ5jGfgg97N0rYCTkt9LzYpuFHGeX4W+qI2qMurr5jstgsuLQY0cCzg==
dependencies: dependencies:
"@abp/aspnetcore.mvc.ui" "~3.1.0" "@abp/aspnetcore.mvc.ui" "~3.1.2"
"@abp/bootstrap" "~3.1.0" "@abp/bootstrap" "~3.1.2"
"@abp/bootstrap-datepicker" "~3.1.0" "@abp/bootstrap-datepicker" "~3.1.2"
"@abp/datatables.net-bs4" "~3.1.0" "@abp/datatables.net-bs4" "~3.1.2"
"@abp/font-awesome" "~3.1.0" "@abp/font-awesome" "~3.1.2"
"@abp/jquery-form" "~3.1.0" "@abp/jquery-form" "~3.1.2"
"@abp/jquery-validation-unobtrusive" "~3.1.0" "@abp/jquery-validation-unobtrusive" "~3.1.2"
"@abp/lodash" "~3.1.0" "@abp/lodash" "~3.1.2"
"@abp/luxon" "~3.1.0" "@abp/luxon" "~3.1.2"
"@abp/malihu-custom-scrollbar-plugin" "~3.1.0" "@abp/malihu-custom-scrollbar-plugin" "~3.1.2"
"@abp/select2" "~3.1.0" "@abp/select2" "~3.1.2"
"@abp/sweetalert" "~3.1.0" "@abp/sweetalert" "~3.1.2"
"@abp/timeago" "~3.1.0" "@abp/timeago" "~3.1.2"
"@abp/toastr" "~3.1.0" "@abp/toastr" "~3.1.2"
"@abp/aspnetcore.mvc.ui@~3.1.0": "@abp/aspnetcore.mvc.ui@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-3.1.0.tgz#4a80efec4d1c41d266af919068dfbb6f6324fa7f" resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-3.1.2.tgz#4689ff7e4b722803f2133856f2fb39171bbfd752"
integrity sha512-y6kVikbuCJlQbAvMdA/j2DwxLX0Fv8rRhjmmfr/ocEDrMridt1a5rO5JqDab8WvJKJjDudoobf1mSk9ZNxtyvQ== integrity sha512-jlBR+IgKuNGCerHbx6BEn2f1Xf9Vi9Dgge1/5VYzqu2MVk7dHRXHE7WYkZqpJuQKZtGMxF3c8ul2/u6uGlkmqw==
dependencies: dependencies:
ansi-colors "^4.1.1" ansi-colors "^4.1.1"
extend-object "^1.0.0" extend-object "^1.0.0"
@ -41,144 +41,144 @@
path "^0.12.7" path "^0.12.7"
rimraf "^3.0.2" rimraf "^3.0.2"
"@abp/bootstrap-datepicker@~3.1.0": "@abp/bootstrap-datepicker@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-3.1.0.tgz#47198667eafa4a920dd72f38a22452bdeadf0edd" resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-3.1.2.tgz#90ed84f4345bf8e47c0a05511fab9c63a5a3424c"
integrity sha512-yBmEuiorGNa5LSvjXfVGJ/CLlW/fGwij07I+gbGnwY0gVp4ydfA15LJfuCdfHBo2ZIDFXe7hQuVYFEH1gbLpkA== integrity sha512-sY9jXReDXCNzuSoNCiSkUD9cbdj9W/AR/glOsCb29zC7GX3XLEykuT42b8W6Kl6prS5NgfmXaX2pZOuyv0KBeQ==
dependencies: dependencies:
bootstrap-datepicker "^1.9.0" bootstrap-datepicker "^1.9.0"
"@abp/bootstrap@~3.1.0": "@abp/bootstrap@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-3.1.0.tgz#7bd7b81a67712154fa12d01b6051e71f316be048" resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-3.1.2.tgz#d80e14d0cfa0b3213fafecf275520eddd9b846e2"
integrity sha512-I64cCBo0OS14A29y/dEhKBPeXPt1djNoxZo4OXhHZAAmOM3fP3t8y9nDNCr3L2r6/FT8RQH7AW0/jJjER94KvA== integrity sha512-neI766oMxwrwrsQc477koPXaT2/yy1mG4djGvnC+g2DgLeqxU7ye6dt6Lf/rKmQuZD9jtz28920wPN3N4N/HrQ==
dependencies: dependencies:
"@abp/core" "~3.1.0" "@abp/core" "~3.1.2"
bootstrap "^4.5.0" bootstrap "^4.5.0"
bootstrap-v4-rtl "4.4.1-2" bootstrap-v4-rtl "4.4.1-2"
"@abp/core@~3.1.0": "@abp/core@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-3.1.0.tgz#13ce01a68f0e2e9ab976f30d7bf892a9037af4f7" resolved "https://registry.yarnpkg.com/@abp/core/-/core-3.1.2.tgz#1d204b2f6eb3c04e036a30b416ecf77d5ce51a47"
integrity sha512-hLN0W5/0PuyIBIGxmLQvnbec0eBlXB1vS7YqrmiMv0WPgnHXx36FXfUUuX74JHTfTQFMGWL3EOrzm6UBe2+0VA== integrity sha512-Tb/E8VHTESFoioj0gO1PB5AxZB5aIZSgAS4/V5GFne4Z399DPwkX8+XJIIRtQVzlFySAdoA37Emml/7eHCvMMQ==
dependencies: dependencies:
"@abp/utils" "^3.1.0" "@abp/utils" "^3.1.2"
"@abp/datatables.net-bs4@~3.1.0": "@abp/datatables.net-bs4@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-3.1.0.tgz#c8033ffff1a360c6cb98f8871ecec5d8f94c3ef6" resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-3.1.2.tgz#23530f20d01776c34669c7d15df5ecd19beb6c95"
integrity sha512-3xx3Er8i8IJ/mYEYl+MxGyY+sZo965f0MCoIAGPV7dNuULfiNYPhvym+4LXzocRZUlF4qrXxXPLo3njiCQNAUQ== integrity sha512-dbJOTSkiyYHMW3Og9kQFqcSONNE+ElEHgfO/sfIT4Aj9hFpNHkGBTnaDTYXJ22ViFcSMWOTynvg6u+I3ZHe8qw==
dependencies: dependencies:
"@abp/datatables.net" "~3.1.0" "@abp/datatables.net" "~3.1.2"
datatables.net-bs4 "^1.10.21" datatables.net-bs4 "^1.10.21"
"@abp/datatables.net@~3.1.0": "@abp/datatables.net@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-3.1.0.tgz#db4fe94cf4216a59a3121d0d38b57092d7524f2a" resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-3.1.2.tgz#34a0718bdac6802336484c4011067cf665cdd413"
integrity sha512-9av6Dk1qEMAahjZCEn3hAP9mNCvr8HBcYBEqhGMACCk+rLjAJgzKKzV80cvlerg1VGoBTdQ0NgN22ywsWqDyOg== integrity sha512-TJWp/+sMZIQqEy1F7Zb4/kSvrUQoC3AfG5qrSFIRmKyZMEsuUzTLugtfYWUi0BKEHdc454ErWrGuD1MCMIzEsQ==
dependencies: dependencies:
"@abp/jquery" "~3.1.0" "@abp/jquery" "~3.1.2"
datatables.net "^1.10.21" datatables.net "^1.10.21"
"@abp/font-awesome@~3.1.0": "@abp/font-awesome@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-3.1.0.tgz#00792619894b8d0f15801df641ee57eda1d7cdba" resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-3.1.2.tgz#1b14dc64cfe5f903bbcc25a4d2c88df54b561e87"
integrity sha512-fRd8QtVmfBiEoQpYgvVoNUcoyje3mtGqfIVtzeH2wnwEWKEO8SFfMcuWetyY2pk06VgpRnKNHGumyHnaNTCiUQ== integrity sha512-33C0lAioBWcIs5wU+M7+SF06+Yvoq9BKVDjPx1R8TndphOfXU6IRneZvHDCLig76EY/BNcEYEREbv33Wqnie9Q==
dependencies: dependencies:
"@abp/core" "~3.1.0" "@abp/core" "~3.1.2"
"@fortawesome/fontawesome-free" "^5.13.0" "@fortawesome/fontawesome-free" "^5.13.0"
"@abp/jquery-form@~3.1.0": "@abp/jquery-form@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-3.1.0.tgz#d095dea5200a13714dddd4ff1067126a01944440" resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-3.1.2.tgz#8d516356e443e0ae8f1367ce3090e84a5afc2867"
integrity sha512-Bs1BJ1coJMC8kFme9SffIicUSx7ULGzvdHfatzEbL6oH7KCSU/smBRTdAuZ/l85Qfftd0C6R9ibXehgKlagQKw== integrity sha512-UCWZLnu7qETSeX69Wui0VtMpEiPrRv2+JsoJKsS3XcqXehNGJktMc5H5sNCDgPaQXzE5SY6hWnfLBj88014T6g==
dependencies: dependencies:
"@abp/jquery" "~3.1.0" "@abp/jquery" "~3.1.2"
jquery-form "^4.3.0" jquery-form "^4.3.0"
"@abp/jquery-validation-unobtrusive@~3.1.0": "@abp/jquery-validation-unobtrusive@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-3.1.0.tgz#c4a6e99f8cadc437b83574fbb2437beaccb23241" resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-3.1.2.tgz#64e6c2f287c21a4a569f4152936e84afa4a66c50"
integrity sha512-WpZPnfx0MR9E1c7TB9M/hU4AkToTaPsLg+P7HfCihB6g7SVrjdLxP4w90lIejro3raK2BjU4726FHqgFQSygTA== integrity sha512-soZjLE2ygApecWs9DqKh7hRkf067esvLXSQOwUvw5WdeHOWccgAu/GxzAeFzwNA3CpfjFGoHqNNeSnETLLVEUQ==
dependencies: dependencies:
"@abp/jquery-validation" "~3.1.0" "@abp/jquery-validation" "~3.1.2"
jquery-validation-unobtrusive "^3.2.11" jquery-validation-unobtrusive "^3.2.11"
"@abp/jquery-validation@~3.1.0": "@abp/jquery-validation@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-3.1.0.tgz#ace497b864df008385a2fcabf6ef7e014a663a1d" resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-3.1.2.tgz#a34fea85a67e2552d9ee278ecc22b5740bbcc5eb"
integrity sha512-kq36uSs54SVTYcGsy/CQZlIW98mfmhfNOHsnxn/W4U1prMSZdH7yegCEfHlHN2ERtubD6UEWHxx5D1JUyDsmvg== integrity sha512-RrzdY3nay9/OHpd58DyJ9oYnwr3++6gJoI135QMYz+otlJnUjrM6bFfqSeWQaetvbiCVy7nOVYVyqIFO7KgQUw==
dependencies: dependencies:
"@abp/jquery" "~3.1.0" "@abp/jquery" "~3.1.2"
jquery-validation "^1.19.2" jquery-validation "^1.19.2"
"@abp/jquery@~3.1.0": "@abp/jquery@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-3.1.0.tgz#e110148d13478ea86de8cff092164d7bd7a9ef63" resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-3.1.2.tgz#f890d872d2d0287e7c195801f8c51c88c64602a0"
integrity sha512-8QzEMTHW0HNYrQbC11w28DxD3jGdaWlrGvAExmitBYIv9i1BYg/6M4bcKOVJPhiQoR50aCe+6xInFhNgfRNBCw== integrity sha512-Pk3Ybx/S88rFThDUlziiKIq7uKwiu2J1xYuzJTlP+xc1IgIcJNkBONl07KFdoHvctOtFtdf4mVN7SGYmNePK4g==
dependencies: dependencies:
"@abp/core" "~3.1.0" "@abp/core" "~3.1.2"
jquery "~3.5.1" jquery "~3.5.1"
"@abp/lodash@~3.1.0": "@abp/lodash@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-3.1.0.tgz#a4175342b4fc14a92b8344ea783554c40e4e450c" resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-3.1.2.tgz#07ab3001e463f1c452865ff98e051251322c7061"
integrity sha512-RVclkRFjrjPtNVaAPJVPJJmI9QFbc2vZfwG+utDV4aZzytZOgESN8q8IbOGaCIj8KzvX1LeBSqvDRP81l9c5Tg== integrity sha512-0XMWCKQJyPVpn22OVEYlQR7+zEn1yz4sTb5ilUFhLOSTHXEOJXNVzxEYlGYCPUjxGZFvZH+vdeurSjXdIOOB5w==
dependencies: dependencies:
"@abp/core" "~3.1.0" "@abp/core" "~3.1.2"
lodash "^4.17.15" lodash "^4.17.15"
"@abp/luxon@~3.1.0": "@abp/luxon@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-3.1.0.tgz#867f4395315b0727b39f9b5a5f4dc9bca7cfafde" resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-3.1.2.tgz#ed3adfd1e7e46939c2ac456d44d9987b0d923334"
integrity sha512-Pf+g5yGCqKDEhGMM/V75zX/8pPJUoIv7xJdF9sLRTERr5NpsS8/23DZIn2KmzbNLThHDkAmayBxHZko4Ri1ykw== integrity sha512-fZj3yIT1H+I6vcRxMONw9VRYLWfvzdzLeDZ1xlkXsC4NqI7cK6vchYNTqZlTg4zH6DNYNg6+WOoxQ8ao8a00QA==
dependencies: dependencies:
luxon "^1.24.1" luxon "^1.24.1"
"@abp/malihu-custom-scrollbar-plugin@~3.1.0": "@abp/malihu-custom-scrollbar-plugin@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.1.0.tgz#eab16ac9cddfbe9982baf946a468718dee34589e" resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.1.2.tgz#3556912136a85289b0b237e5bb7368b08f5efac8"
integrity sha512-/6TXbzyUh8qSMwZss1tTWkAeAnrAvSHeJRF32iVCYx769+6HJ4QZt1BWyT6/jgAdEHZspePh1+xAsrPRDZJ5aA== integrity sha512-b0uU/PwNOQaAurEkEZ4e4103pGomeKduo3Rg0hsyN7eeUrTzNw2tq1AQlgGRxw2v1pzyOvzNd0v14jyERE947g==
dependencies: dependencies:
"@abp/core" "~3.1.0" "@abp/core" "~3.1.2"
malihu-custom-scrollbar-plugin "^3.1.5" malihu-custom-scrollbar-plugin "^3.1.5"
"@abp/select2@~3.1.0": "@abp/select2@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-3.1.0.tgz#459386918f15c591549e7c5b1d411536f781c2a0" resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-3.1.2.tgz#05997301b2800249ed560c4d24c9bfcfee68f99a"
integrity sha512-I0dOXi9oPdzWQVZ5s4Lo4q6tTezQuqXSzZClmnJaQzkf7pCftnji+S727bkUIjwjkFAsT/YNMBCzgJBaiHS3uQ== integrity sha512-PyIiCGkvRUEfSyVF4M7p4BzHgaUG7lysYPop0R1tGiJcEVSxkXvhCJnEODPYiqvVjdFFKVz8Ni1R+xpEIEL/2w==
dependencies: dependencies:
"@abp/core" "~3.1.0" "@abp/core" "~3.1.2"
select2 "^4.0.13" select2 "^4.0.13"
"@abp/sweetalert@~3.1.0": "@abp/sweetalert@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-3.1.0.tgz#498df5abb8f68b660cd37f10e287188b6417c3ff" resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-3.1.2.tgz#18b062b0d5c5d5c78b4f8d13186587ab87d46464"
integrity sha512-9YxVZQfrsGWdVmKeWAG4CoD+B0VObR94SsQQgUiYcl/07PPDxDPZHX/sh1H+pqHXv9/qpPOTS3/PCQAeIfuG/w== integrity sha512-MJXLyrqPgxiy5NViyVvo6iasDoO3Jfdb3+4Jf+5PFlR7pZd1MmhmvNWn/rc5yFcCwOKvJkXVaWYaT9UsvZPxIA==
dependencies: dependencies:
"@abp/core" "~3.1.0" "@abp/core" "~3.1.2"
sweetalert "^2.1.2" sweetalert "^2.1.2"
"@abp/timeago@~3.1.0": "@abp/timeago@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-3.1.0.tgz#abae5287e01d36107516416256a1ccfcb0ca7953" resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-3.1.2.tgz#120cdd99a9dde1fbd1276571fdc5f415eee2941e"
integrity sha512-xVOq5/5l/0w9vmWIF7dZzqa+7nl7NNG7ER8gbrdPOX86rCsD12DIOkFDLi+Q41kxzp7wbphDZIT/7RsPrhgDDQ== integrity sha512-C3d1RLMEUBctPA/ASpqt9+gumsziYu0De7PWdmCmkPC7q23JpZaOmvWffaTpP2QoInyQXUPo51obOmEaC23InQ==
dependencies: dependencies:
"@abp/jquery" "~3.1.0" "@abp/jquery" "~3.1.2"
timeago "^1.6.7" timeago "^1.6.7"
"@abp/toastr@~3.1.0": "@abp/toastr@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-3.1.0.tgz#cebbb95c1f0b36306a0a58215dfda48a3ebe5f20" resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-3.1.2.tgz#3f8838423559482b8791cd7ce5bb6ff3a8f3722a"
integrity sha512-94PqZmbayVJnDKMrqbVhW0Z3D/sL3sV5gXfd53Ac5KNQvsBmQZ5/SvuuwuDzWYMQm0XwZ1h4fLAiTuoBMIxWCQ== integrity sha512-Omb/7Mkv73hRunVfWbRJxlNoTC3cqKJACB+pAcB5rb+rCTiR3c9HaSf1C7ljlofpxY/AKMN+JfJZP9VmgH2e4g==
dependencies: dependencies:
"@abp/jquery" "~3.1.0" "@abp/jquery" "~3.1.2"
toastr "^2.1.4" toastr "^2.1.4"
"@abp/utils@^3.1.0": "@abp/utils@^3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-3.1.0.tgz#ccbfed6591ab11466bf3fed740c8422acf6a84df" resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-3.1.2.tgz#e9bca8f6133dc2af587c45825e734d2accabcd96"
integrity sha512-I5yjM1ovqcpBAT2LFOfwLibVE0Ql6XbP3tQj6YMEZ/foDXekn/4P6Spgq5DTZCMo+0jskS0D8NfL7Ce4p89buw== integrity sha512-wnbHGQDGkQYazez1YSXAZ0ZDbsIZZr2ZN8V4LtOSAfzmYhPhFZ5qftoM0xoxlbmsuLLX6QtiPvxU35kEmlZPyg==
dependencies: dependencies:
just-compare "^1.3.0" just-compare "^1.3.0"

4
modules/cms-kit/test/Volo.CmsKit.Application.Tests/Reactions/ReactionPublicAppService_Tests.cs

@ -60,14 +60,14 @@ namespace Volo.CmsKit.Reactions
await _reactionPublicAppService.CreateAsync( await _reactionPublicAppService.CreateAsync(
_cmsKitTestData.EntityType2, _cmsKitTestData.EntityType2,
_cmsKitTestData.EntityId2, _cmsKitTestData.EntityId2,
StandardReactions.Hooray StandardReactions.Eyes
); );
UsingDbContext(context => UsingDbContext(context =>
{ {
var reaction = context.Set<UserReaction>().FirstOrDefault(x => var reaction = context.Set<UserReaction>().FirstOrDefault(x =>
x.CreatorId == _cmsKitTestData.User1Id && x.CreatorId == _cmsKitTestData.User1Id &&
x.ReactionName == StandardReactions.Hooray && x.ReactionName == StandardReactions.Eyes &&
x.EntityId == _cmsKitTestData.EntityId2 && x.EntityId == _cmsKitTestData.EntityId2 &&
x.EntityType == _cmsKitTestData.EntityType2); x.EntityType == _cmsKitTestData.EntityType2);

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

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

2
modules/docs/app/VoloDocs.Web/wwwroot/libs/abp/utils/abp-utils.umd.js.map

File diff suppressed because one or more lines are too long

2
modules/docs/app/VoloDocs.Web/wwwroot/libs/abp/utils/abp-utils.umd.min.js.map

File diff suppressed because one or more lines are too long

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

@ -2,45 +2,45 @@
# yarn lockfile v1 # yarn lockfile v1
"@abp/anchor-js@~3.1.0": "@abp/anchor-js@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/anchor-js/-/anchor-js-3.1.0.tgz#ef19fb00dee826f7ec13a17d4ff8917b8a7ad3d8" resolved "https://registry.yarnpkg.com/@abp/anchor-js/-/anchor-js-3.1.2.tgz#eb1f5043fad84622b7f3567963d5d94b5f8c60b3"
integrity sha512-L4Oow3fk7AoiBxEXhGY2C9aYyuC0QYWMrXVbllWfFKZVwItErI3ItNQjgVGOAk2k5D8ahEYEtp+KnlZm6ROW2Q== integrity sha512-cELNHIZA3mePvATpvQ/yVbu4gk36dESNxWkCB31nigRXo5mnjOv1YcDpyJzp8PjSk+oXJlwz5inFbiYMtQfaFQ==
dependencies: dependencies:
"@abp/core" "~3.1.0" "@abp/core" "~3.1.2"
anchor-js "^4.2.2" anchor-js "^4.2.2"
"@abp/aspnetcore.mvc.ui.theme.basic@^3.1.0": "@abp/aspnetcore.mvc.ui.theme.basic@^3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-3.1.0.tgz#5f1f308621cced2f0a4272fe612f485558bcab07" resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-3.1.2.tgz#202b33837a470079c1bd44fbf4a645c071ad4a00"
integrity sha512-zaRw34HwEESbYPYPsn0wH4lE4o9PuwJzovS1T2vmRg8wDgeOSkxC7uFU5If1QcFHuADkI3jfsyk8Xe9nEqz2Jg== integrity sha512-gvU9CJnEMBjNrRlpHGqlLK00xTdxcUe0z9ZRHucT9bPS3V4+Xe1c9cnpMM9oDpsMo5oha0suxTx695/G1t/jaA==
dependencies: dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~3.1.0" "@abp/aspnetcore.mvc.ui.theme.shared" "~3.1.2"
"@abp/aspnetcore.mvc.ui.theme.shared@~3.1.0": "@abp/aspnetcore.mvc.ui.theme.shared@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-3.1.0.tgz#9a9cc4a2c2bdfada9c69e35e15cc5491f1256712" resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-3.1.2.tgz#88ea020b1d26f3e551ff81b96a848c700bed97ca"
integrity sha512-DnLebcBACGTlCyJ05CRP3KXCGqWw1X3aXsdDnqQlohrLGwZHxDMZfS8HswhclG2Ak44MQn/4VtuUqRAs1PKlLg== integrity sha512-CjqinzcmES96dJ+IzEDSYO+uJE3Z3k3CZ5jGfgg97N0rYCTkt9LzYpuFHGeX4W+qI2qMurr5jstgsuLQY0cCzg==
dependencies: dependencies:
"@abp/aspnetcore.mvc.ui" "~3.1.0" "@abp/aspnetcore.mvc.ui" "~3.1.2"
"@abp/bootstrap" "~3.1.0" "@abp/bootstrap" "~3.1.2"
"@abp/bootstrap-datepicker" "~3.1.0" "@abp/bootstrap-datepicker" "~3.1.2"
"@abp/datatables.net-bs4" "~3.1.0" "@abp/datatables.net-bs4" "~3.1.2"
"@abp/font-awesome" "~3.1.0" "@abp/font-awesome" "~3.1.2"
"@abp/jquery-form" "~3.1.0" "@abp/jquery-form" "~3.1.2"
"@abp/jquery-validation-unobtrusive" "~3.1.0" "@abp/jquery-validation-unobtrusive" "~3.1.2"
"@abp/lodash" "~3.1.0" "@abp/lodash" "~3.1.2"
"@abp/luxon" "~3.1.0" "@abp/luxon" "~3.1.2"
"@abp/malihu-custom-scrollbar-plugin" "~3.1.0" "@abp/malihu-custom-scrollbar-plugin" "~3.1.2"
"@abp/select2" "~3.1.0" "@abp/select2" "~3.1.2"
"@abp/sweetalert" "~3.1.0" "@abp/sweetalert" "~3.1.2"
"@abp/timeago" "~3.1.0" "@abp/timeago" "~3.1.2"
"@abp/toastr" "~3.1.0" "@abp/toastr" "~3.1.2"
"@abp/aspnetcore.mvc.ui@~3.1.0": "@abp/aspnetcore.mvc.ui@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-3.1.0.tgz#4a80efec4d1c41d266af919068dfbb6f6324fa7f" resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-3.1.2.tgz#4689ff7e4b722803f2133856f2fb39171bbfd752"
integrity sha512-y6kVikbuCJlQbAvMdA/j2DwxLX0Fv8rRhjmmfr/ocEDrMridt1a5rO5JqDab8WvJKJjDudoobf1mSk9ZNxtyvQ== integrity sha512-jlBR+IgKuNGCerHbx6BEn2f1Xf9Vi9Dgge1/5VYzqu2MVk7dHRXHE7WYkZqpJuQKZtGMxF3c8ul2/u6uGlkmqw==
dependencies: dependencies:
ansi-colors "^4.1.1" ansi-colors "^4.1.1"
extend-object "^1.0.0" extend-object "^1.0.0"
@ -49,180 +49,180 @@
path "^0.12.7" path "^0.12.7"
rimraf "^3.0.2" rimraf "^3.0.2"
"@abp/bootstrap-datepicker@~3.1.0": "@abp/bootstrap-datepicker@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-3.1.0.tgz#47198667eafa4a920dd72f38a22452bdeadf0edd" resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-3.1.2.tgz#90ed84f4345bf8e47c0a05511fab9c63a5a3424c"
integrity sha512-yBmEuiorGNa5LSvjXfVGJ/CLlW/fGwij07I+gbGnwY0gVp4ydfA15LJfuCdfHBo2ZIDFXe7hQuVYFEH1gbLpkA== integrity sha512-sY9jXReDXCNzuSoNCiSkUD9cbdj9W/AR/glOsCb29zC7GX3XLEykuT42b8W6Kl6prS5NgfmXaX2pZOuyv0KBeQ==
dependencies: dependencies:
bootstrap-datepicker "^1.9.0" bootstrap-datepicker "^1.9.0"
"@abp/bootstrap@~3.1.0": "@abp/bootstrap@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-3.1.0.tgz#7bd7b81a67712154fa12d01b6051e71f316be048" resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-3.1.2.tgz#d80e14d0cfa0b3213fafecf275520eddd9b846e2"
integrity sha512-I64cCBo0OS14A29y/dEhKBPeXPt1djNoxZo4OXhHZAAmOM3fP3t8y9nDNCr3L2r6/FT8RQH7AW0/jJjER94KvA== integrity sha512-neI766oMxwrwrsQc477koPXaT2/yy1mG4djGvnC+g2DgLeqxU7ye6dt6Lf/rKmQuZD9jtz28920wPN3N4N/HrQ==
dependencies: dependencies:
"@abp/core" "~3.1.0" "@abp/core" "~3.1.2"
bootstrap "^4.5.0" bootstrap "^4.5.0"
bootstrap-v4-rtl "4.4.1-2" bootstrap-v4-rtl "4.4.1-2"
"@abp/clipboard@~3.1.0": "@abp/clipboard@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-3.1.0.tgz#3d994bee312beb3f4977e734a2e4da98b8617279" resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-3.1.2.tgz#ee561db080c6b0836fd77628543cc3c31cd687c8"
integrity sha512-HE9X86G471eOJYrVEM9NIJFLjzvfiW0vtqj4gGjhrwAPin2p44Jby5r8UGOKFY1wr/qZQbbuwmhVih78maDwIA== integrity sha512-ybx3E1eLsfrPhPDb8f/KQJrH8G9+E5+WNsmYopKkQP2v3Un/9QGme7CslT7oytExJ7P++Y3LZ2ZhfBwQLicxxQ==
dependencies: dependencies:
"@abp/core" "~3.1.0" "@abp/core" "~3.1.2"
clipboard "^2.0.6" clipboard "^2.0.6"
"@abp/core@~3.1.0": "@abp/core@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-3.1.0.tgz#13ce01a68f0e2e9ab976f30d7bf892a9037af4f7" resolved "https://registry.yarnpkg.com/@abp/core/-/core-3.1.2.tgz#1d204b2f6eb3c04e036a30b416ecf77d5ce51a47"
integrity sha512-hLN0W5/0PuyIBIGxmLQvnbec0eBlXB1vS7YqrmiMv0WPgnHXx36FXfUUuX74JHTfTQFMGWL3EOrzm6UBe2+0VA== integrity sha512-Tb/E8VHTESFoioj0gO1PB5AxZB5aIZSgAS4/V5GFne4Z399DPwkX8+XJIIRtQVzlFySAdoA37Emml/7eHCvMMQ==
dependencies: dependencies:
"@abp/utils" "^3.1.0" "@abp/utils" "^3.1.2"
"@abp/datatables.net-bs4@~3.1.0": "@abp/datatables.net-bs4@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-3.1.0.tgz#c8033ffff1a360c6cb98f8871ecec5d8f94c3ef6" resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-3.1.2.tgz#23530f20d01776c34669c7d15df5ecd19beb6c95"
integrity sha512-3xx3Er8i8IJ/mYEYl+MxGyY+sZo965f0MCoIAGPV7dNuULfiNYPhvym+4LXzocRZUlF4qrXxXPLo3njiCQNAUQ== integrity sha512-dbJOTSkiyYHMW3Og9kQFqcSONNE+ElEHgfO/sfIT4Aj9hFpNHkGBTnaDTYXJ22ViFcSMWOTynvg6u+I3ZHe8qw==
dependencies: dependencies:
"@abp/datatables.net" "~3.1.0" "@abp/datatables.net" "~3.1.2"
datatables.net-bs4 "^1.10.21" datatables.net-bs4 "^1.10.21"
"@abp/datatables.net@~3.1.0": "@abp/datatables.net@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-3.1.0.tgz#db4fe94cf4216a59a3121d0d38b57092d7524f2a" resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-3.1.2.tgz#34a0718bdac6802336484c4011067cf665cdd413"
integrity sha512-9av6Dk1qEMAahjZCEn3hAP9mNCvr8HBcYBEqhGMACCk+rLjAJgzKKzV80cvlerg1VGoBTdQ0NgN22ywsWqDyOg== integrity sha512-TJWp/+sMZIQqEy1F7Zb4/kSvrUQoC3AfG5qrSFIRmKyZMEsuUzTLugtfYWUi0BKEHdc454ErWrGuD1MCMIzEsQ==
dependencies: dependencies:
"@abp/jquery" "~3.1.0" "@abp/jquery" "~3.1.2"
datatables.net "^1.10.21" datatables.net "^1.10.21"
"@abp/docs@^3.1.0": "@abp/docs@^3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/docs/-/docs-3.1.0.tgz#7a36d134de0c722e52c9096245cf3c45cc8a113a" resolved "https://registry.yarnpkg.com/@abp/docs/-/docs-3.1.2.tgz#6c4e283c80cc502cf6e04ac3448265a8f02bad35"
integrity sha512-qbLB4l3aIEqYYEpKGdb89wk2CaAJJuL2Ww0psPwsIJjDFjxOveBUwzATpQ7rKxM7i7gxQCKXbaTDYi404FI+ZA== integrity sha512-YnC+IiMLQuZsp8Lc/MC6uB4xAWSG5CVdCsxJdGOBtmPS2SlaE2+2nAM0TtBK7i7190zoCHda4PZRRjjAwtbvAQ==
dependencies: dependencies:
"@abp/anchor-js" "~3.1.0" "@abp/anchor-js" "~3.1.2"
"@abp/clipboard" "~3.1.0" "@abp/clipboard" "~3.1.2"
"@abp/malihu-custom-scrollbar-plugin" "~3.1.0" "@abp/malihu-custom-scrollbar-plugin" "~3.1.2"
"@abp/popper.js" "~3.1.0" "@abp/popper.js" "~3.1.2"
"@abp/prismjs" "~3.1.0" "@abp/prismjs" "~3.1.2"
"@abp/font-awesome@~3.1.0": "@abp/font-awesome@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-3.1.0.tgz#00792619894b8d0f15801df641ee57eda1d7cdba" resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-3.1.2.tgz#1b14dc64cfe5f903bbcc25a4d2c88df54b561e87"
integrity sha512-fRd8QtVmfBiEoQpYgvVoNUcoyje3mtGqfIVtzeH2wnwEWKEO8SFfMcuWetyY2pk06VgpRnKNHGumyHnaNTCiUQ== integrity sha512-33C0lAioBWcIs5wU+M7+SF06+Yvoq9BKVDjPx1R8TndphOfXU6IRneZvHDCLig76EY/BNcEYEREbv33Wqnie9Q==
dependencies: dependencies:
"@abp/core" "~3.1.0" "@abp/core" "~3.1.2"
"@fortawesome/fontawesome-free" "^5.13.0" "@fortawesome/fontawesome-free" "^5.13.0"
"@abp/jquery-form@~3.1.0": "@abp/jquery-form@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-3.1.0.tgz#d095dea5200a13714dddd4ff1067126a01944440" resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-3.1.2.tgz#8d516356e443e0ae8f1367ce3090e84a5afc2867"
integrity sha512-Bs1BJ1coJMC8kFme9SffIicUSx7ULGzvdHfatzEbL6oH7KCSU/smBRTdAuZ/l85Qfftd0C6R9ibXehgKlagQKw== integrity sha512-UCWZLnu7qETSeX69Wui0VtMpEiPrRv2+JsoJKsS3XcqXehNGJktMc5H5sNCDgPaQXzE5SY6hWnfLBj88014T6g==
dependencies: dependencies:
"@abp/jquery" "~3.1.0" "@abp/jquery" "~3.1.2"
jquery-form "^4.3.0" jquery-form "^4.3.0"
"@abp/jquery-validation-unobtrusive@~3.1.0": "@abp/jquery-validation-unobtrusive@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-3.1.0.tgz#c4a6e99f8cadc437b83574fbb2437beaccb23241" resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-3.1.2.tgz#64e6c2f287c21a4a569f4152936e84afa4a66c50"
integrity sha512-WpZPnfx0MR9E1c7TB9M/hU4AkToTaPsLg+P7HfCihB6g7SVrjdLxP4w90lIejro3raK2BjU4726FHqgFQSygTA== integrity sha512-soZjLE2ygApecWs9DqKh7hRkf067esvLXSQOwUvw5WdeHOWccgAu/GxzAeFzwNA3CpfjFGoHqNNeSnETLLVEUQ==
dependencies: dependencies:
"@abp/jquery-validation" "~3.1.0" "@abp/jquery-validation" "~3.1.2"
jquery-validation-unobtrusive "^3.2.11" jquery-validation-unobtrusive "^3.2.11"
"@abp/jquery-validation@~3.1.0": "@abp/jquery-validation@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-3.1.0.tgz#ace497b864df008385a2fcabf6ef7e014a663a1d" resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-3.1.2.tgz#a34fea85a67e2552d9ee278ecc22b5740bbcc5eb"
integrity sha512-kq36uSs54SVTYcGsy/CQZlIW98mfmhfNOHsnxn/W4U1prMSZdH7yegCEfHlHN2ERtubD6UEWHxx5D1JUyDsmvg== integrity sha512-RrzdY3nay9/OHpd58DyJ9oYnwr3++6gJoI135QMYz+otlJnUjrM6bFfqSeWQaetvbiCVy7nOVYVyqIFO7KgQUw==
dependencies: dependencies:
"@abp/jquery" "~3.1.0" "@abp/jquery" "~3.1.2"
jquery-validation "^1.19.2" jquery-validation "^1.19.2"
"@abp/jquery@~3.1.0": "@abp/jquery@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-3.1.0.tgz#e110148d13478ea86de8cff092164d7bd7a9ef63" resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-3.1.2.tgz#f890d872d2d0287e7c195801f8c51c88c64602a0"
integrity sha512-8QzEMTHW0HNYrQbC11w28DxD3jGdaWlrGvAExmitBYIv9i1BYg/6M4bcKOVJPhiQoR50aCe+6xInFhNgfRNBCw== integrity sha512-Pk3Ybx/S88rFThDUlziiKIq7uKwiu2J1xYuzJTlP+xc1IgIcJNkBONl07KFdoHvctOtFtdf4mVN7SGYmNePK4g==
dependencies: dependencies:
"@abp/core" "~3.1.0" "@abp/core" "~3.1.2"
jquery "~3.5.1" jquery "~3.5.1"
"@abp/lodash@~3.1.0": "@abp/lodash@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-3.1.0.tgz#a4175342b4fc14a92b8344ea783554c40e4e450c" resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-3.1.2.tgz#07ab3001e463f1c452865ff98e051251322c7061"
integrity sha512-RVclkRFjrjPtNVaAPJVPJJmI9QFbc2vZfwG+utDV4aZzytZOgESN8q8IbOGaCIj8KzvX1LeBSqvDRP81l9c5Tg== integrity sha512-0XMWCKQJyPVpn22OVEYlQR7+zEn1yz4sTb5ilUFhLOSTHXEOJXNVzxEYlGYCPUjxGZFvZH+vdeurSjXdIOOB5w==
dependencies: dependencies:
"@abp/core" "~3.1.0" "@abp/core" "~3.1.2"
lodash "^4.17.15" lodash "^4.17.15"
"@abp/luxon@~3.1.0": "@abp/luxon@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-3.1.0.tgz#867f4395315b0727b39f9b5a5f4dc9bca7cfafde" resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-3.1.2.tgz#ed3adfd1e7e46939c2ac456d44d9987b0d923334"
integrity sha512-Pf+g5yGCqKDEhGMM/V75zX/8pPJUoIv7xJdF9sLRTERr5NpsS8/23DZIn2KmzbNLThHDkAmayBxHZko4Ri1ykw== integrity sha512-fZj3yIT1H+I6vcRxMONw9VRYLWfvzdzLeDZ1xlkXsC4NqI7cK6vchYNTqZlTg4zH6DNYNg6+WOoxQ8ao8a00QA==
dependencies: dependencies:
luxon "^1.24.1" luxon "^1.24.1"
"@abp/malihu-custom-scrollbar-plugin@~3.1.0": "@abp/malihu-custom-scrollbar-plugin@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.1.0.tgz#eab16ac9cddfbe9982baf946a468718dee34589e" resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.1.2.tgz#3556912136a85289b0b237e5bb7368b08f5efac8"
integrity sha512-/6TXbzyUh8qSMwZss1tTWkAeAnrAvSHeJRF32iVCYx769+6HJ4QZt1BWyT6/jgAdEHZspePh1+xAsrPRDZJ5aA== integrity sha512-b0uU/PwNOQaAurEkEZ4e4103pGomeKduo3Rg0hsyN7eeUrTzNw2tq1AQlgGRxw2v1pzyOvzNd0v14jyERE947g==
dependencies: dependencies:
"@abp/core" "~3.1.0" "@abp/core" "~3.1.2"
malihu-custom-scrollbar-plugin "^3.1.5" malihu-custom-scrollbar-plugin "^3.1.5"
"@abp/popper.js@~3.1.0": "@abp/popper.js@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/popper.js/-/popper.js-3.1.0.tgz#d8b2e7fc6ec3e080f225d76e02909da682b9592b" resolved "https://registry.yarnpkg.com/@abp/popper.js/-/popper.js-3.1.2.tgz#e611547c2981d3d12fa0da119403131fb07495f8"
integrity sha512-4dUR6aPeZS+VQi1ByG/Rgo9mKD+vP38Tq0f41//EDu8xqvnl7JYNaCEFZzbOBcDuSUC+akGJrYWjCbJ0vRJKXw== integrity sha512-OtjNi1B44HUZ9vn5W9LZrrXNmGWLL+Ds96vVJ0GHo7DAi+xAMtalCqlhUyR0NT7uTOrKucE48rZvnJ/SxOiuOw==
dependencies: dependencies:
"@abp/core" "~3.1.0" "@abp/core" "~3.1.2"
popper.js "^1.16.0" popper.js "^1.16.0"
"@abp/prismjs@~3.1.0": "@abp/prismjs@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-3.1.0.tgz#11dee74a803c4d79b0a41ed0c3a4f1946c44968a" resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-3.1.2.tgz#884011843c44d85a80d4fd85648bc94ef119bbd6"
integrity sha512-SJ3bWT9UXLSGKMiNKyJeRt/3WjD4qXc4DuEAD2RxRT+tBDd17FG18VTfjLMPcSGtTt+zTK2+tbcxZN5hUfVW9g== integrity sha512-UQAOc/FgISgvTi1irPQjehJ42pLEaA1m5K1JileFTCWwUji/t5Vb8RSQe4cjIKPwRpb6p7CEJLI9SFxCtUEF8g==
dependencies: dependencies:
"@abp/clipboard" "~3.1.0" "@abp/clipboard" "~3.1.2"
"@abp/core" "~3.1.0" "@abp/core" "~3.1.2"
prismjs "^1.20.0" prismjs "^1.20.0"
"@abp/select2@~3.1.0": "@abp/select2@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-3.1.0.tgz#459386918f15c591549e7c5b1d411536f781c2a0" resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-3.1.2.tgz#05997301b2800249ed560c4d24c9bfcfee68f99a"
integrity sha512-I0dOXi9oPdzWQVZ5s4Lo4q6tTezQuqXSzZClmnJaQzkf7pCftnji+S727bkUIjwjkFAsT/YNMBCzgJBaiHS3uQ== integrity sha512-PyIiCGkvRUEfSyVF4M7p4BzHgaUG7lysYPop0R1tGiJcEVSxkXvhCJnEODPYiqvVjdFFKVz8Ni1R+xpEIEL/2w==
dependencies: dependencies:
"@abp/core" "~3.1.0" "@abp/core" "~3.1.2"
select2 "^4.0.13" select2 "^4.0.13"
"@abp/sweetalert@~3.1.0": "@abp/sweetalert@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-3.1.0.tgz#498df5abb8f68b660cd37f10e287188b6417c3ff" resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-3.1.2.tgz#18b062b0d5c5d5c78b4f8d13186587ab87d46464"
integrity sha512-9YxVZQfrsGWdVmKeWAG4CoD+B0VObR94SsQQgUiYcl/07PPDxDPZHX/sh1H+pqHXv9/qpPOTS3/PCQAeIfuG/w== integrity sha512-MJXLyrqPgxiy5NViyVvo6iasDoO3Jfdb3+4Jf+5PFlR7pZd1MmhmvNWn/rc5yFcCwOKvJkXVaWYaT9UsvZPxIA==
dependencies: dependencies:
"@abp/core" "~3.1.0" "@abp/core" "~3.1.2"
sweetalert "^2.1.2" sweetalert "^2.1.2"
"@abp/timeago@~3.1.0": "@abp/timeago@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-3.1.0.tgz#abae5287e01d36107516416256a1ccfcb0ca7953" resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-3.1.2.tgz#120cdd99a9dde1fbd1276571fdc5f415eee2941e"
integrity sha512-xVOq5/5l/0w9vmWIF7dZzqa+7nl7NNG7ER8gbrdPOX86rCsD12DIOkFDLi+Q41kxzp7wbphDZIT/7RsPrhgDDQ== integrity sha512-C3d1RLMEUBctPA/ASpqt9+gumsziYu0De7PWdmCmkPC7q23JpZaOmvWffaTpP2QoInyQXUPo51obOmEaC23InQ==
dependencies: dependencies:
"@abp/jquery" "~3.1.0" "@abp/jquery" "~3.1.2"
timeago "^1.6.7" timeago "^1.6.7"
"@abp/toastr@~3.1.0": "@abp/toastr@~3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-3.1.0.tgz#cebbb95c1f0b36306a0a58215dfda48a3ebe5f20" resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-3.1.2.tgz#3f8838423559482b8791cd7ce5bb6ff3a8f3722a"
integrity sha512-94PqZmbayVJnDKMrqbVhW0Z3D/sL3sV5gXfd53Ac5KNQvsBmQZ5/SvuuwuDzWYMQm0XwZ1h4fLAiTuoBMIxWCQ== integrity sha512-Omb/7Mkv73hRunVfWbRJxlNoTC3cqKJACB+pAcB5rb+rCTiR3c9HaSf1C7ljlofpxY/AKMN+JfJZP9VmgH2e4g==
dependencies: dependencies:
"@abp/jquery" "~3.1.0" "@abp/jquery" "~3.1.2"
toastr "^2.1.4" toastr "^2.1.4"
"@abp/utils@^3.1.0": "@abp/utils@^3.1.2":
version "3.1.0" version "3.1.2"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-3.1.0.tgz#ccbfed6591ab11466bf3fed740c8422acf6a84df" resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-3.1.2.tgz#e9bca8f6133dc2af587c45825e734d2accabcd96"
integrity sha512-I5yjM1ovqcpBAT2LFOfwLibVE0Ql6XbP3tQj6YMEZ/foDXekn/4P6Spgq5DTZCMo+0jskS0D8NfL7Ce4p89buw== integrity sha512-wnbHGQDGkQYazez1YSXAZ0ZDbsIZZr2ZN8V4LtOSAfzmYhPhFZ5qftoM0xoxlbmsuLLX6QtiPvxU35kEmlZPyg==
dependencies: dependencies:
just-compare "^1.3.0" just-compare "^1.3.0"

16
modules/feature-management/src/Volo.Abp.FeatureManagement.Application.Contracts/Volo/Abp/FeatureManagement/FeatureManagementPermissions.cs

@ -0,0 +1,16 @@
using Volo.Abp.Reflection;
namespace Volo.Abp.FeatureManagement
{
public class FeatureManagementPermissions
{
public const string GroupName = "FeatureManagement";
public const string ManageHostFeatures = GroupName + ".ManageHostFeatures";
public static string[] GetAll()
{
return ReflectionHelper.GetPublicConstantsRecursively(typeof(FeatureManagementPermissions));
}
}
}

28
modules/feature-management/src/Volo.Abp.FeatureManagement.Application.Contracts/Volo/Abp/FeatureManagement/FeaturePermissionDefinitionProvider.cs

@ -0,0 +1,28 @@
using Volo.Abp.Authorization.Permissions;
using Volo.Abp.FeatureManagement.Localization;
using Volo.Abp.Localization;
using Volo.Abp.MultiTenancy;
namespace Volo.Abp.FeatureManagement
{
public class FeaturePermissionDefinitionProvider : PermissionDefinitionProvider
{
public override void Define(IPermissionDefinitionContext context)
{
var featureManagementGroup = context.AddGroup(
FeatureManagementPermissions.GroupName,
L("Permission:FeatureManagement"),
multiTenancySide: MultiTenancySides.Host);
featureManagementGroup.AddPermission(
FeatureManagementPermissions.ManageHostFeatures,
L("Permission:FeatureManagement.ManageHostFeatures"),
multiTenancySide: MultiTenancySides.Host);
}
private static LocalizableString L(string name)
{
return LocalizableString.Create<AbpFeatureManagementResource>(name);
}
}
}

4
modules/feature-management/src/Volo.Abp.FeatureManagement.Application.Contracts/Volo/Abp/FeatureManagement/IFeatureAppService.cs

@ -6,8 +6,8 @@ namespace Volo.Abp.FeatureManagement
{ {
public interface IFeatureAppService : IApplicationService public interface IFeatureAppService : IApplicationService
{ {
Task<GetFeatureListResultDto> GetAsync([NotNull] string providerName, [NotNull] string providerKey); Task<GetFeatureListResultDto> GetAsync([NotNull] string providerName, string providerKey);
Task UpdateAsync([NotNull] string providerName, [NotNull] string providerKey, UpdateFeaturesDto input); Task UpdateAsync([NotNull] string providerName, string providerKey, UpdateFeaturesDto input);
} }
} }

33
modules/feature-management/src/Volo.Abp.FeatureManagement.Application/Volo/Abp/FeatureManagement/FeatureAppService.cs

@ -1,5 +1,6 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks; using System.Threading.Tasks;
using JetBrains.Annotations; using JetBrains.Annotations;
using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Authorization;
@ -25,9 +26,9 @@ namespace Volo.Abp.FeatureManagement
Options = options.Value; Options = options.Value;
} }
public virtual async Task<GetFeatureListResultDto> GetAsync([NotNull] string providerName, [NotNull] string providerKey) public virtual async Task<GetFeatureListResultDto> GetAsync([NotNull] string providerName, string providerKey)
{ {
await CheckProviderPolicy(providerName); await CheckProviderPolicy(providerName, providerKey);
var result = new GetFeatureListResultDto var result = new GetFeatureListResultDto
{ {
@ -45,6 +46,14 @@ namespace Volo.Abp.FeatureManagement
foreach (var featureDefinition in group.GetFeaturesWithChildren()) foreach (var featureDefinition in group.GetFeaturesWithChildren())
{ {
if (providerName == TenantFeatureValueProvider.ProviderName &&
CurrentTenant.Id == null &&
providerKey == null &&
!featureDefinition.IsAvailableToHost)
{
continue;
}
var feature = await FeatureManager.GetOrNullWithProviderAsync(featureDefinition.Name, providerName, providerKey); var feature = await FeatureManager.GetOrNullWithProviderAsync(featureDefinition.Name, providerName, providerKey);
groupDto.Features.Add(new FeatureDto groupDto.Features.Add(new FeatureDto
{ {
@ -70,9 +79,9 @@ namespace Volo.Abp.FeatureManagement
return result; return result;
} }
public virtual async Task UpdateAsync([NotNull] string providerName, [NotNull] string providerKey, UpdateFeaturesDto input) public virtual async Task UpdateAsync([NotNull] string providerName, string providerKey, UpdateFeaturesDto input)
{ {
await CheckProviderPolicy(providerName); await CheckProviderPolicy(providerName, providerKey);
foreach (var feature in input.Features) foreach (var feature in input.Features)
{ {
@ -93,12 +102,20 @@ namespace Volo.Abp.FeatureManagement
} }
} }
protected virtual async Task CheckProviderPolicy(string providerName) protected virtual async Task CheckProviderPolicy(string providerName, string providerKey)
{ {
var policyName = Options.ProviderPolicies.GetOrDefault(providerName); string policyName;
if (policyName.IsNullOrEmpty()) if (providerName == TenantFeatureValueProvider.ProviderName && CurrentTenant.Id == null && providerKey == null )
{
policyName = "FeatureManagement.ManageHostFeatures";
}
else
{ {
throw new AbpException($"No policy defined to get/set permissions for the provider '{policyName}'. Use {nameof(FeatureManagementOptions)} to map the policy."); policyName = Options.ProviderPolicies.GetOrDefault(providerName);
if (policyName.IsNullOrEmpty())
{
throw new AbpException($"No policy defined to get/set permissions for the provider '{policyName}'. Use {nameof(FeatureManagementOptions)} to map the policy.");
}
} }
await AuthorizationService.CheckAsync(policyName); await AuthorizationService.CheckAsync(policyName);

6
modules/feature-management/src/Volo.Abp.FeatureManagement.Domain.Shared/Volo/Abp/FeatureManagement/Localization/Domain/en.json

@ -2,6 +2,8 @@
"culture": "en", "culture": "en",
"texts": { "texts": {
"Features": "Features", "Features": "Features",
"NoFeatureFoundMessage": "There isn't any available feature." "NoFeatureFoundMessage": "There isn't any available feature.",
"Permission:FeatureManagement": "Feature management",
"Permission:FeatureManagement.ManageHostFeatures": "Manage Host features"
} }
} }

6
modules/feature-management/src/Volo.Abp.FeatureManagement.Domain.Shared/Volo/Abp/FeatureManagement/Localization/Domain/tr.json

@ -2,6 +2,8 @@
"culture": "tr", "culture": "tr",
"texts": { "texts": {
"Features": "Özellikler", "Features": "Özellikler",
"NoFeatureFoundMessage": "Hiç özellik yok." "NoFeatureFoundMessage": "Hiç özellik yok.",
"Permission:FeatureManagement": "Özellik yönetimi",
"Permission:FeatureManagement.ManageHostFeatures": "Host özelliklerini düzenle"
} }
} }

6
modules/feature-management/src/Volo.Abp.FeatureManagement.Domain.Shared/Volo/Abp/FeatureManagement/Localization/Domain/zh-Hans.json

@ -2,6 +2,8 @@
"culture": "zh-Hans", "culture": "zh-Hans",
"texts": { "texts": {
"Features": "功能", "Features": "功能",
"NoFeatureFoundMessage": "没有可用的功能." "NoFeatureFoundMessage": "没有可用的功能.",
"Permission:FeatureManagement": "特性管理",
"Permission:FeatureManagement.ManageHostFeatures": "管理Host特性"
} }
} }

6
modules/feature-management/src/Volo.Abp.FeatureManagement.Domain.Shared/Volo/Abp/FeatureManagement/Localization/Domain/zh-Hant.json

@ -2,6 +2,8 @@
"culture": "zh-Hant", "culture": "zh-Hant",
"texts": { "texts": {
"Features": "功能", "Features": "功能",
"NoFeatureFoundMessage": "沒有可用的功能." "NoFeatureFoundMessage": "沒有可用的功能.",
"Permission:FeatureManagement": "功能管理",
"Permission:FeatureManagement.ManageHostFeatures": "管理Host功能"
} }
} }

2
modules/feature-management/src/Volo.Abp.FeatureManagement.Domain/Volo/Abp/FeatureManagement/AbpFeatureManagementDomainModule.cs

@ -1,10 +1,8 @@
using Volo.Abp.Caching; using Volo.Abp.Caching;
using Volo.Abp.FeatureManagement.Localization; using Volo.Abp.FeatureManagement.Localization;
using Volo.Abp.Features; using Volo.Abp.Features;
using Volo.Abp.Localization;
using Volo.Abp.Localization.ExceptionHandling; using Volo.Abp.Localization.ExceptionHandling;
using Volo.Abp.Modularity; using Volo.Abp.Modularity;
using Volo.Abp.VirtualFileSystem;
namespace Volo.Abp.FeatureManagement namespace Volo.Abp.FeatureManagement
{ {

2
modules/feature-management/src/Volo.Abp.FeatureManagement.HttpApi/Volo/Abp/FeatureManagement/FeaturesController.cs

@ -28,4 +28,4 @@ namespace Volo.Abp.FeatureManagement
return FeatureAppService.UpdateAsync(providerName, providerKey, input); return FeatureAppService.UpdateAsync(providerName, providerKey, input);
} }
} }
} }

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

@ -16,7 +16,6 @@ namespace Volo.Abp.FeatureManagement.Web.Pages.FeatureManagement
[BindProperty(SupportsGet = true)] [BindProperty(SupportsGet = true)]
public string ProviderName { get; set; } public string ProviderName { get; set; }
[Required]
[HiddenInput] [HiddenInput]
[BindProperty(SupportsGet = true)] [BindProperty(SupportsGet = true)]
public string ProviderKey { get; set; } public string ProviderKey { get; set; }
@ -83,8 +82,6 @@ namespace Volo.Abp.FeatureManagement.Web.Pages.FeatureManagement
public string Value { get; set; } public string Value { get; set; }
public string ProviderName { get; set; }
public bool BoolValue { get; set; } public bool BoolValue { get; set; }
public string Type { get; set; } public string Type { get; set; }

14
modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/AbpIdentityDomainModule.cs

@ -8,6 +8,7 @@ using Volo.Abp.Domain.Entities.Events.Distributed;
using Volo.Abp.Modularity; using Volo.Abp.Modularity;
using Volo.Abp.ObjectExtending; using Volo.Abp.ObjectExtending;
using Volo.Abp.ObjectExtending.Modularity; using Volo.Abp.ObjectExtending.Modularity;
using Volo.Abp.Security.Claims;
using Volo.Abp.Users; using Volo.Abp.Users;
namespace Volo.Abp.Identity namespace Volo.Abp.Identity
@ -36,7 +37,7 @@ namespace Volo.Abp.Identity
options.EtoMappings.Add<IdentityRole, IdentityRoleEto>(typeof(AbpIdentityDomainModule)); options.EtoMappings.Add<IdentityRole, IdentityRoleEto>(typeof(AbpIdentityDomainModule));
options.EtoMappings.Add<OrganizationUnit, OrganizationUnitEto>(typeof(AbpIdentityDomainModule)); options.EtoMappings.Add<OrganizationUnit, OrganizationUnitEto>(typeof(AbpIdentityDomainModule));
}); });
var identityBuilder = context.Services.AddAbpIdentity(options => var identityBuilder = context.Services.AddAbpIdentity(options =>
{ {
options.User.RequireUniqueEmail = true; options.User.RequireUniqueEmail = true;
@ -45,6 +46,13 @@ namespace Volo.Abp.Identity
context.Services.AddObjectAccessor(identityBuilder); context.Services.AddObjectAccessor(identityBuilder);
context.Services.ExecutePreConfiguredActions(identityBuilder); context.Services.ExecutePreConfiguredActions(identityBuilder);
Configure<IdentityOptions>(options =>
{
options.ClaimsIdentity.UserIdClaimType = AbpClaimTypes.UserId;
options.ClaimsIdentity.UserNameClaimType = AbpClaimTypes.UserName;
options.ClaimsIdentity.RoleClaimType = AbpClaimTypes.Role;
});
AddAbpIdentityOptionsFactory(context.Services); AddAbpIdentityOptionsFactory(context.Services);
} }
@ -67,7 +75,7 @@ namespace Volo.Abp.Identity
IdentityModuleExtensionConsts.EntityNames.ClaimType, IdentityModuleExtensionConsts.EntityNames.ClaimType,
typeof(IdentityClaimType) typeof(IdentityClaimType)
); );
ModuleExtensionConfigurationHelper.ApplyEntityConfigurationToEntity( ModuleExtensionConfigurationHelper.ApplyEntityConfigurationToEntity(
IdentityModuleExtensionConsts.ModuleName, IdentityModuleExtensionConsts.ModuleName,
IdentityModuleExtensionConsts.EntityNames.OrganizationUnit, IdentityModuleExtensionConsts.EntityNames.OrganizationUnit,
@ -81,4 +89,4 @@ namespace Volo.Abp.Identity
services.Replace(ServiceDescriptor.Scoped<IOptions<IdentityOptions>, OptionsManager<IdentityOptions>>()); services.Replace(ServiceDescriptor.Scoped<IOptions<IdentityOptions>, OptionsManager<IdentityOptions>>());
} }
} }
} }

38
modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/AbpUserClaimsPrincipalFactory.cs

@ -1,4 +1,5 @@
using System.Linq; using System;
using System.Linq;
using System.Security.Claims; using System.Security.Claims;
using System.Threading.Tasks; using System.Threading.Tasks;
using Microsoft.AspNetCore.Identity; using Microsoft.AspNetCore.Identity;
@ -6,6 +7,7 @@ using Microsoft.Extensions.Options;
using Volo.Abp.DependencyInjection; using Volo.Abp.DependencyInjection;
using Volo.Abp.Security.Claims; using Volo.Abp.Security.Claims;
using Volo.Abp.Uow; using Volo.Abp.Uow;
using Volo.Abp.Users;
namespace Volo.Abp.Identity namespace Volo.Abp.Identity
{ {
@ -13,11 +15,11 @@ namespace Volo.Abp.Identity
{ {
public AbpUserClaimsPrincipalFactory( public AbpUserClaimsPrincipalFactory(
UserManager<IdentityUser> userManager, UserManager<IdentityUser> userManager,
RoleManager<IdentityRole> roleManager, RoleManager<IdentityRole> roleManager,
IOptions<IdentityOptions> options) IOptions<IdentityOptions> options)
: base( : base(
userManager, userManager,
roleManager, roleManager,
options) options)
{ {
} }
@ -26,14 +28,34 @@ namespace Volo.Abp.Identity
public override async Task<ClaimsPrincipal> CreateAsync(IdentityUser user) public override async Task<ClaimsPrincipal> CreateAsync(IdentityUser user)
{ {
var principal = await base.CreateAsync(user); var principal = await base.CreateAsync(user);
var identity = principal.Identities.First();
if (user.TenantId.HasValue) if (user.TenantId.HasValue)
{ {
principal.Identities identity.AddIfNotContains(new Claim(AbpClaimTypes.TenantId, user.TenantId.ToString()));
.First()
.AddClaim(new Claim(AbpClaimTypes.TenantId, user.TenantId.ToString()));
} }
if (!user.Name.IsNullOrWhiteSpace())
{
identity.AddIfNotContains(new Claim(AbpClaimTypes.Name, user.Name));
}
if (!user.Surname.IsNullOrWhiteSpace())
{
identity.AddIfNotContains(new Claim(AbpClaimTypes.SurName, user.Surname));
}
if (!user.PhoneNumber.IsNullOrWhiteSpace())
{
identity.AddIfNotContains(new Claim(AbpClaimTypes.PhoneNumber, user.PhoneNumber));
}
identity.AddIfNotContains(new Claim(AbpClaimTypes.PhoneNumberVerified, user.PhoneNumberConfirmed.ToString()));
if (!user.Email.IsNullOrWhiteSpace())
{
identity.AddIfNotContains(new Claim(AbpClaimTypes.Email, user.Email));
}
identity.AddIfNotContains(new Claim(AbpClaimTypes.EmailVerified, user.EmailConfirmed.ToString()));
return principal; return principal;
} }
} }

21
modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/ClaimsIdentityExtensions.cs

@ -0,0 +1,21 @@
using System;
using System.Linq;
using System.Security.Claims;
namespace Volo.Abp.Identity
{
public static class ClaimsIdentityExtensions
{
public static ClaimsIdentity AddIfNotContains(this ClaimsIdentity claimsIdentity, Claim claim)
{
if (!claimsIdentity.Claims.Any(existClaim =>
existClaim != null &&
string.Equals(existClaim.Type, claim.Type, StringComparison.OrdinalIgnoreCase)))
{
claimsIdentity.AddClaim(claim);
}
return claimsIdentity;
}
}
}

7
modules/tenant-management/src/Volo.Abp.TenantManagement.Domain.Shared/Volo/Abp/TenantManagement/Localization/Resources/en.json

@ -10,13 +10,14 @@
"ConnectionStrings": "Connection Strings", "ConnectionStrings": "Connection Strings",
"DisplayName:DefaultConnectionString": "Default Connection String", "DisplayName:DefaultConnectionString": "Default Connection String",
"DisplayName:UseSharedDatabase": "Use the Shared Database", "DisplayName:UseSharedDatabase": "Use the Shared Database",
"ManageHostFeatures": "Manage Host features",
"Permission:TenantManagement": "Tenant management", "Permission:TenantManagement": "Tenant management",
"Permission:Create": "Create", "Permission:Create": "Create",
"Permission:Edit": "Edit", "Permission:Edit": "Edit",
"Permission:Delete": "Delete", "Permission:Delete": "Delete",
"Permission:ManageConnectionStrings": "Manage connection strings", "Permission:ManageConnectionStrings": "Manage connection strings",
"Permission:ManageFeatures": "Manage features", "Permission:ManageFeatures": "Manage features",
"DisplayName:AdminEmailAddress": "Admin Email Address", "DisplayName:AdminEmailAddress": "Admin Email Address",
"DisplayName:AdminPassword": "Admin Password" "DisplayName:AdminPassword": "Admin Password"
} }
} }

3
modules/tenant-management/src/Volo.Abp.TenantManagement.Domain.Shared/Volo/Abp/TenantManagement/Localization/Resources/tr.json

@ -10,6 +10,7 @@
"ConnectionStrings": "Bağlantı cümlesi", "ConnectionStrings": "Bağlantı cümlesi",
"DisplayName:DefaultConnectionString": "Varsayılan bağlantı cümlesi", "DisplayName:DefaultConnectionString": "Varsayılan bağlantı cümlesi",
"DisplayName:UseSharedDatabase": "Paylaşılan veritabanını kullan", "DisplayName:UseSharedDatabase": "Paylaşılan veritabanını kullan",
"ManageHostFeatures": "Toplantı Sahibi özelliklerini yönetin",
"Permission:TenantManagement": "Müşteri yönetimi", "Permission:TenantManagement": "Müşteri yönetimi",
"Permission:Create": "Oluşturma", "Permission:Create": "Oluşturma",
"Permission:Edit": "Düzenleme", "Permission:Edit": "Düzenleme",
@ -19,4 +20,4 @@
"DisplayName:AdminEmailAddress": "Admin Eposta Adresi", "DisplayName:AdminEmailAddress": "Admin Eposta Adresi",
"DisplayName:AdminPassword": "Admin Şifresi" "DisplayName:AdminPassword": "Admin Şifresi"
} }
} }

3
modules/tenant-management/src/Volo.Abp.TenantManagement.Domain.Shared/Volo/Abp/TenantManagement/Localization/Resources/zh-Hans.json

@ -10,6 +10,7 @@
"ConnectionStrings": "连接字符串", "ConnectionStrings": "连接字符串",
"DisplayName:DefaultConnectionString": "默认连接字符串", "DisplayName:DefaultConnectionString": "默认连接字符串",
"DisplayName:UseSharedDatabase": "使用共享数据库", "DisplayName:UseSharedDatabase": "使用共享数据库",
"ManageHostFeatures": "管理Host特性",
"Permission:TenantManagement": "租户管理", "Permission:TenantManagement": "租户管理",
"Permission:Create": "创建", "Permission:Create": "创建",
"Permission:Edit": "编辑", "Permission:Edit": "编辑",
@ -17,4 +18,4 @@
"Permission:ManageConnectionStrings": "管理连接字符串", "Permission:ManageConnectionStrings": "管理连接字符串",
"Permission:ManageFeatures": "管理功能" "Permission:ManageFeatures": "管理功能"
} }
} }

3
modules/tenant-management/src/Volo.Abp.TenantManagement.Domain.Shared/Volo/Abp/TenantManagement/Localization/Resources/zh-Hant.json

@ -10,13 +10,14 @@
"ConnectionStrings": "資料庫連線字串", "ConnectionStrings": "資料庫連線字串",
"DisplayName:DefaultConnectionString": "預設資料庫連線字串", "DisplayName:DefaultConnectionString": "預設資料庫連線字串",
"DisplayName:UseSharedDatabase": "使用共用資料庫", "DisplayName:UseSharedDatabase": "使用共用資料庫",
"ManageHostFeatures": "管理Host功能",
"Permission:TenantManagement": "租戶管理", "Permission:TenantManagement": "租戶管理",
"Permission:Create": "新增", "Permission:Create": "新增",
"Permission:Edit": "編輯", "Permission:Edit": "編輯",
"Permission:Delete": "刪除", "Permission:Delete": "刪除",
"Permission:ManageConnectionStrings": "管理資料庫連線字串", "Permission:ManageConnectionStrings": "管理資料庫連線字串",
"Permission:ManageFeatures": "管理功能", "Permission:ManageFeatures": "管理功能",
"DisplayName:AdminEmailAddress": "管理者信箱", "DisplayName:AdminEmailAddress": "管理者信箱",
"DisplayName:AdminPassword": "管理者密碼" "DisplayName:AdminPassword": "管理者密碼"
} }
} }

9
modules/tenant-management/src/Volo.Abp.TenantManagement.Web/Pages/TenantManagement/Tenants/Index.cshtml

@ -2,6 +2,7 @@
@using Microsoft.AspNetCore.Authorization @using Microsoft.AspNetCore.Authorization
@using Microsoft.AspNetCore.Mvc.Localization @using Microsoft.AspNetCore.Mvc.Localization
@using Volo.Abp.AspNetCore.Mvc.UI.Layout @using Volo.Abp.AspNetCore.Mvc.UI.Layout
@using Volo.Abp.FeatureManagement
@using Volo.Abp.TenantManagement @using Volo.Abp.TenantManagement
@using Volo.Abp.TenantManagement.Localization @using Volo.Abp.TenantManagement.Localization
@using Volo.Abp.TenantManagement.Web.Navigation @using Volo.Abp.TenantManagement.Web.Navigation
@ -29,9 +30,13 @@
<abp-card-title>@L["Tenants"]</abp-card-title> <abp-card-title>@L["Tenants"]</abp-card-title>
</abp-column> </abp-column>
<abp-column size-md="_6" class="text-right"> <abp-column size-md="_6" class="text-right">
@if (await Authorization.IsGrantedAsync(FeatureManagementPermissions.ManageHostFeatures))
{
<abp-button button-type="Primary" name="ManageHostFeatures" icon="cog" text="@L["ManageHostFeatures"].Value" />
}
@if (await Authorization.IsGrantedAsync(TenantManagementPermissions.Tenants.Create)) @if (await Authorization.IsGrantedAsync(TenantManagementPermissions.Tenants.Create))
{ {
<abp-button button-type="Primary" name="CreateTenant" icon="plus" text="@L["NewTenant"].Value" /> <abp-button button-type="Primary" name="CreateTenant" icon="plus" text="@L["NewTenant"].Value"/>
} }
</abp-column> </abp-column>
</abp-row> </abp-row>
@ -39,4 +44,4 @@
<abp-card-body> <abp-card-body>
<abp-table striped-rows="true" class="nowrap"></abp-table> <abp-table striped-rows="true" class="nowrap"></abp-table>
</abp-card-body> </abp-card-body>
</abp-card> </abp-card>

9
modules/tenant-management/src/Volo.Abp.TenantManagement.Web/Pages/TenantManagement/Tenants/Index.js

@ -100,7 +100,7 @@
}, },
0 //adds as the first contributor 0 //adds as the first contributor
); );
$(function () { $(function () {
var _$wrapper = $('#TenantsWrapper'); var _$wrapper = $('#TenantsWrapper');
@ -128,5 +128,12 @@
e.preventDefault(); e.preventDefault();
_createModal.open(); _createModal.open();
}); });
_$wrapper.find('button[name=ManageHostFeatures]').click(function (e) {
e.preventDefault();
_featuresModal.open({
providerName: 'T'
});
});
}); });
})(); })();

2
npm/lerna.json

@ -1,5 +1,5 @@
{ {
"version": "3.1.0", "version": "3.1.2",
"packages": [ "packages": [
"packs/*" "packs/*"
], ],

2
npm/ng-packs/lerna.version.json

@ -1,5 +1,5 @@
{ {
"version": "3.1.0", "version": "3.1.2",
"packages": [ "packages": [
"packages/*" "packages/*"
], ],

22
npm/ng-packs/package.json

@ -25,17 +25,17 @@
"postinstall": "npm run compile:ivy" "postinstall": "npm run compile:ivy"
}, },
"devDependencies": { "devDependencies": {
"@abp/ng.account": "~3.1.0", "@abp/ng.account": "~3.1.2",
"@abp/ng.core": "~3.1.0", "@abp/ng.core": "~3.1.2",
"@abp/ng.feature-management": "~3.1.0", "@abp/ng.feature-management": "~3.1.2",
"@abp/ng.identity": "~3.1.0", "@abp/ng.identity": "~3.1.2",
"@abp/ng.permission-management": "~3.1.0", "@abp/ng.permission-management": "~3.1.2",
"@abp/ng.schematics": "~3.1.0", "@abp/ng.schematics": "~3.1.2",
"@abp/ng.setting-management": "~3.1.0", "@abp/ng.setting-management": "~3.1.2",
"@abp/ng.tenant-management": "~3.1.0", "@abp/ng.tenant-management": "~3.1.2",
"@abp/ng.theme.basic": "~3.1.0", "@abp/ng.theme.basic": "~3.1.2",
"@abp/ng.theme.shared": "~3.1.0", "@abp/ng.theme.shared": "~3.1.2",
"@abp/utils": "^3.1.0", "@abp/utils": "^3.1.2",
"@angular-builders/jest": "^10.0.0", "@angular-builders/jest": "^10.0.0",
"@angular-devkit/build-angular": "~0.1000.6", "@angular-devkit/build-angular": "~0.1000.6",
"@angular-devkit/build-ng-packagr": "~0.1000.6", "@angular-devkit/build-ng-packagr": "~0.1000.6",

4
npm/ng-packs/packages/account/package.json

@ -1,13 +1,13 @@
{ {
"name": "@abp/ng.account", "name": "@abp/ng.account",
"version": "3.1.0", "version": "3.1.2",
"homepage": "https://abp.io", "homepage": "https://abp.io",
"repository": { "repository": {
"type": "git", "type": "git",
"url": "https://github.com/abpframework/abp.git" "url": "https://github.com/abpframework/abp.git"
}, },
"dependencies": { "dependencies": {
"@abp/ng.theme.shared": "~3.1.0", "@abp/ng.theme.shared": "~3.1.2",
"tslib": "^2.0.0" "tslib": "^2.0.0"
}, },
"publishConfig": { "publishConfig": {

4
npm/ng-packs/packages/components/package.json

@ -1,13 +1,13 @@
{ {
"name": "@abp/ng.components", "name": "@abp/ng.components",
"version": "3.1.0", "version": "3.1.2",
"homepage": "https://abp.io", "homepage": "https://abp.io",
"repository": { "repository": {
"type": "git", "type": "git",
"url": "https://github.com/abpframework/abp.git" "url": "https://github.com/abpframework/abp.git"
}, },
"peerDependencies": { "peerDependencies": {
"@abp/ng.core": ">=3.1.0", "@abp/ng.core": ">=3.1.2",
"@ng-bootstrap/ng-bootstrap": ">=6.0.0" "@ng-bootstrap/ng-bootstrap": ">=6.0.0"
}, },
"dependencies": { "dependencies": {

11
npm/ng-packs/packages/components/tree/src/lib/utils/nz-tree-adapter.ts

@ -41,17 +41,15 @@ export class TreeAdapter<T extends BaseNode = BaseNode> {
return this.tree; return this.tree;
} }
handleDrop(node: TreeNode<T>) { handleDrop({ key, parentNode }: TreeNode<T>) {
const { key, parentNode } = node;
const index = this.list.findIndex(({ id }) => id === key); const index = this.list.findIndex(({ id }) => id === key);
this.list[index].parentId = parentNode ? parentNode.key : null; this.list[index].parentId = parentNode ? parentNode.key : null;
this.tree = createTreeFromList(this.list); this.tree = createTreeFromList(this.list);
} }
handleRemove(node: TreeNode<T>) { handleRemove({ key }: TreeNode<T>) {
const { key, parentNode } = node; this.tree = createTreeFromList(this.list.filter(item => item.id !== key));
this.list = this.list.filter(({ id, parentId }) => id !== key && parentId !== key); this.list = createListFromTree(this.tree);
this.tree = createTreeFromList(this.list);
} }
} }
@ -66,6 +64,7 @@ function createTreeFromList<T extends BaseNode>(list: T[]): TreeNode<T>[] {
const node = map.get(row.id); const node = map.get(row.id);
if (parentId) { if (parentId) {
const parent = map.get(parentId); const parent = map.get(parentId);
if (!parent) return;
parent.children.push(node); parent.children.push(node);
parent.isLeaf = false; parent.isLeaf = false;
} else { } else {

4
npm/ng-packs/packages/core/package.json

@ -1,13 +1,13 @@
{ {
"name": "@abp/ng.core", "name": "@abp/ng.core",
"version": "3.1.0", "version": "3.1.2",
"homepage": "https://abp.io", "homepage": "https://abp.io",
"repository": { "repository": {
"type": "git", "type": "git",
"url": "https://github.com/abpframework/abp.git" "url": "https://github.com/abpframework/abp.git"
}, },
"dependencies": { "dependencies": {
"@abp/utils": "^3.1.0", "@abp/utils": "^3.1.2",
"@angular/localize": "~10.0.10", "@angular/localize": "~10.0.10",
"@ngxs/router-plugin": "^3.7.0", "@ngxs/router-plugin": "^3.7.0",
"@ngxs/storage-plugin": "^3.7.0", "@ngxs/storage-plugin": "^3.7.0",

3
npm/ng-packs/packages/core/src/lib/core.module.ts

@ -43,9 +43,10 @@ import { coreOptionsFactory, CORE_OPTIONS } from './tokens/options.token';
import { noop } from './utils/common-utils'; import { noop } from './utils/common-utils';
import './utils/date-extensions'; import './utils/date-extensions';
import { getInitialData, localeInitializer } from './utils/initial-utils'; import { getInitialData, localeInitializer } from './utils/initial-utils';
import { oAuthStorage } from './strategies/auth-flow.strategy';
export function storageFactory(): OAuthStorage { export function storageFactory(): OAuthStorage {
return localStorage; return oAuthStorage;
} }
/** /**

16
npm/ng-packs/packages/core/src/lib/services/routes.service.ts

@ -51,9 +51,16 @@ export abstract class AbstractTreeService<T extends object> {
} }
private filterWith(setOrMap: Set<string> | Map<string, T>): T[] { private filterWith(setOrMap: Set<string> | Map<string, T>): T[] {
return this._flat$.value.filter( return this._flat$.value.filter(item => !setOrMap.has(item[this.id]));
item => !setOrMap.has(item[this.id]) && !setOrMap.has(item[this.parentId]), }
);
private findItemsToRemove(set: Set<string>): Set<string> {
return this._flat$.value.reduce((acc, item) => {
if (!acc.has(item[this.parentId])) return acc;
const childSet = new Set([item[this.id]]);
const children = this.findItemsToRemove(childSet);
return new Set([...acc, ...children]);
}, set);
} }
private publish(flatItems: T[], visibleItems: T[]): T[] { private publish(flatItems: T[], visibleItems: T[]): T[] {
@ -104,7 +111,8 @@ export abstract class AbstractTreeService<T extends object> {
const set = new Set<string>(); const set = new Set<string>();
identifiers.forEach(id => set.add(id)); identifiers.forEach(id => set.add(id));
const flatItems = this.filterWith(set); const setToRemove = this.findItemsToRemove(set);
const flatItems = this.filterWith(setToRemove);
const visibleItems = flatItems.filter(item => !this.hide(item)); const visibleItems = flatItems.filter(item => !this.hide(item));
return this.publish(flatItems, visibleItems); return this.publish(flatItems, visibleItems);

41
npm/ng-packs/packages/core/src/lib/strategies/auth-flow.strategy.ts

@ -1,7 +1,7 @@
import { Injector } from '@angular/core'; import { Injector } from '@angular/core';
import { Router } from '@angular/router'; import { Router } from '@angular/router';
import { Store } from '@ngxs/store'; import { Store } from '@ngxs/store';
import { AuthConfig, OAuthService } from 'angular-oauth2-oidc'; import { AuthConfig, OAuthService, OAuthStorage } from 'angular-oauth2-oidc';
import { Observable, of } from 'rxjs'; import { Observable, of } from 'rxjs';
import { switchMap, tap } from 'rxjs/operators'; import { switchMap, tap } from 'rxjs/operators';
import { GetAppConfiguration } from '../actions/config.actions'; import { GetAppConfiguration } from '../actions/config.actions';
@ -9,6 +9,8 @@ import { RestOccurError } from '../actions/rest.actions';
import { RestService } from '../services/rest.service'; import { RestService } from '../services/rest.service';
import { ConfigState } from '../states/config.state'; import { ConfigState } from '../states/config.state';
export const oAuthStorage = localStorage;
export abstract class AuthFlowStrategy { export abstract class AuthFlowStrategy {
abstract readonly isInternalAuth: boolean; abstract readonly isInternalAuth: boolean;
@ -29,6 +31,12 @@ export abstract class AuthFlowStrategy {
} }
async init(): Promise<any> { async init(): Promise<any> {
const shouldClear = shouldStorageClear(
this.store.selectSnapshot(ConfigState.getDeep('environment.oAuthConfig.clientId')),
oAuthStorage,
);
if (shouldClear) clearOAuthStorage(oAuthStorage);
this.oAuthService.configure(this.oAuthConfig); this.oAuthService.configure(this.oAuthConfig);
return this.oAuthService.loadDiscoveryDocument().catch(this.catchError); return this.oAuthService.loadDiscoveryDocument().catch(this.catchError);
} }
@ -110,3 +118,34 @@ export const AUTH_FLOW_STRATEGY = {
return new AuthPasswordFlowStrategy(injector); return new AuthPasswordFlowStrategy(injector);
}, },
}; };
function clearOAuthStorage(storage: OAuthStorage) {
const keys = [
'access_token',
'id_token',
'refresh_token',
'nonce',
'PKCE_verifier',
'expires_at',
'id_token_claims_obj',
'id_token_expires_at',
'id_token_stored_at',
'access_token_stored_at',
'granted_scopes',
'session_state',
];
keys.forEach(key => storage.removeItem(key));
}
function shouldStorageClear(clientId: string, storage: OAuthStorage): boolean {
const key = 'abpOAuthClientId';
if (!storage.getItem(key)) {
storage.setItem(key, clientId);
return false;
}
const shouldClear = storage.getItem(key) !== clientId;
if (shouldClear) storage.setItem(key, clientId);
return shouldClear;
}

24
npm/ng-packs/packages/core/src/lib/tests/routes.service.spec.ts

@ -10,6 +10,7 @@ describe('Routes Service', () => {
{ path: '/foo', name: 'foo' }, { path: '/foo', name: 'foo' },
{ path: '/foo/bar', name: 'bar', parentName: 'foo', invisible: true, order: 2 }, { path: '/foo/bar', name: 'bar', parentName: 'foo', invisible: true, order: 2 },
{ path: '/foo/bar/baz', name: 'baz', parentName: 'bar', order: 1 }, { path: '/foo/bar/baz', name: 'baz', parentName: 'bar', order: 1 },
{ path: '/foo/bar/baz/qux', name: 'qux', parentName: 'baz', order: 1 },
{ path: '/foo/x', name: 'x', parentName: 'foo', order: 1 }, { path: '/foo/x', name: 'x', parentName: 'foo', order: 1 },
]; ];
@ -32,11 +33,12 @@ describe('Routes Service', () => {
const tree = await service.tree$.pipe(take(1)).toPromise(); const tree = await service.tree$.pipe(take(1)).toPromise();
const visible = await service.visible$.pipe(take(1)).toPromise(); const visible = await service.visible$.pipe(take(1)).toPromise();
expect(flat.length).toBe(4); expect(flat.length).toBe(5);
expect(flat[3].name).toBe('foo');
expect(flat[0].name).toBe('baz'); expect(flat[0].name).toBe('baz');
expect(flat[1].name).toBe('x'); expect(flat[1].name).toBe('qux');
expect(flat[2].name).toBe('bar'); expect(flat[2].name).toBe('x');
expect(flat[3].name).toBe('bar');
expect(flat[4].name).toBe('foo');
expect(tree.length).toBe(1); expect(tree.length).toBe(1);
expect(tree[0].name).toBe('foo'); expect(tree[0].name).toBe('foo');
@ -44,6 +46,7 @@ describe('Routes Service', () => {
expect(tree[0].children[0].name).toBe('x'); expect(tree[0].children[0].name).toBe('x');
expect(tree[0].children[1].name).toBe('bar'); expect(tree[0].children[1].name).toBe('bar');
expect(tree[0].children[1].children[0].name).toBe('baz'); expect(tree[0].children[1].children[0].name).toBe('baz');
expect(tree[0].children[1].children[0].children[0].name).toBe('qux');
expect(visible.length).toBe(1); expect(visible.length).toBe(1);
expect(visible[0].name).toBe('foo'); expect(visible[0].name).toBe('foo');
@ -74,7 +77,8 @@ describe('Routes Service', () => {
expect(service.hasChildren('foo')).toBe(true); expect(service.hasChildren('foo')).toBe(true);
expect(service.hasChildren('bar')).toBe(true); expect(service.hasChildren('bar')).toBe(true);
expect(service.hasChildren('baz')).toBe(false); expect(service.hasChildren('baz')).toBe(true);
expect(service.hasChildren('qux')).toBe(false);
}); });
}); });
@ -123,11 +127,12 @@ describe('Routes Service', () => {
const tree = service.tree; const tree = service.tree;
const visible = service.visible; const visible = service.visible;
expect(flat.length).toBe(4); expect(flat.length).toBe(5);
expect(flat[3].name).toBe('foo');
expect(flat[0].name).toBe('baz'); expect(flat[0].name).toBe('baz');
expect(flat[1].name).toBe('x'); expect(flat[1].name).toBe('qux');
expect(flat[2].name).toBe('bar'); expect(flat[2].name).toBe('x');
expect(flat[3].name).toBe('bar');
expect(flat[4].name).toBe('foo');
expect(tree.length).toBe(1); expect(tree.length).toBe(1);
expect(tree[0].name).toBe('foo'); expect(tree[0].name).toBe('foo');
@ -135,6 +140,7 @@ describe('Routes Service', () => {
expect(tree[0].children[0].name).toBe('x'); expect(tree[0].children[0].name).toBe('x');
expect(tree[0].children[1].name).toBe('bar'); expect(tree[0].children[1].name).toBe('bar');
expect(tree[0].children[1].children[0].name).toBe('baz'); expect(tree[0].children[1].children[0].name).toBe('baz');
expect(tree[0].children[1].children[0].children[0].name).toBe('qux');
expect(visible.length).toBe(1); expect(visible.length).toBe(1);
expect(visible[0].name).toBe('foo'); expect(visible[0].name).toBe('foo');

20
npm/ng-packs/packages/core/src/lib/utils/file-utils.ts

@ -0,0 +1,20 @@
export function downloadBlob(blob: Blob, filename: string) {
const blobUrl = URL.createObjectURL(blob);
const link = document.createElement('a');
link.href = blobUrl;
link.download = filename;
document.body.appendChild(link);
link.dispatchEvent(
new MouseEvent('click', {
bubbles: true,
cancelable: true,
view: window,
}),
);
document.body.removeChild(link);
}

1
npm/ng-packs/packages/core/src/lib/utils/index.ts

@ -3,6 +3,7 @@ export * from './common-utils';
export * from './date-utils'; export * from './date-utils';
export * from './environment-utils'; export * from './environment-utils';
export * from './factory-utils'; export * from './factory-utils';
export * from './file-utils';
export * from './form-utils'; export * from './form-utils';
export * from './generator-utils'; export * from './generator-utils';
export * from './initial-utils'; export * from './initial-utils';

10
npm/ng-packs/packages/core/src/lib/utils/tree-utils.ts

@ -1,7 +1,7 @@
export class BaseTreeNode<T extends object> { export class BaseTreeNode<T extends object> {
children: TreeNode<T>[] = []; children: TreeNode<T>[] = [];
isLeaf = true; isLeaf = true;
parent: TreeNode<T>; parent?: TreeNode<T>;
constructor(props: T) { constructor(props: T) {
Object.assign(this, props); Object.assign(this, props);
@ -14,7 +14,7 @@ export class BaseTreeNode<T extends object> {
export function createTreeFromList<T extends object, R extends unknown>( export function createTreeFromList<T extends object, R extends unknown>(
list: T[], list: T[],
keySelector: (item: T) => number | string | symbol, keySelector: (item: T) => NodeKey,
parentKeySelector: typeof keySelector, parentKeySelector: typeof keySelector,
valueMapper: (item: T) => R, valueMapper: (item: T) => R,
) { ) {
@ -26,6 +26,8 @@ export function createTreeFromList<T extends object, R extends unknown>(
const parentId = parentKeySelector(row); const parentId = parentKeySelector(row);
const node = map.get(id); const node = map.get(id);
if (!node) return;
if (parentId) { if (parentId) {
const parent = map.get(parentId); const parent = map.get(parentId);
if (!parent) return; if (!parent) return;
@ -42,7 +44,7 @@ export function createTreeFromList<T extends object, R extends unknown>(
export function createMapFromList<T extends object, R extends unknown>( export function createMapFromList<T extends object, R extends unknown>(
list: T[], list: T[],
keySelector: (item: T) => number | string | symbol, keySelector: (item: T) => NodeKey,
valueMapper: (item: T) => R, valueMapper: (item: T) => R,
) { ) {
type Key = ReturnType<typeof keySelector>; type Key = ReturnType<typeof keySelector>;
@ -60,6 +62,8 @@ export type TreeNode<T extends object> = {
parent?: TreeNode<T>; parent?: TreeNode<T>;
}; };
type NodeKey = number | string | symbol | undefined | null;
type NodeValue<T extends object, F extends (...args: any) => any> = F extends undefined type NodeValue<T extends object, F extends (...args: any) => any> = F extends undefined
? TreeNode<T> ? TreeNode<T>
: ReturnType<F>; : ReturnType<F>;

4
npm/ng-packs/packages/feature-management/package.json

@ -1,13 +1,13 @@
{ {
"name": "@abp/ng.feature-management", "name": "@abp/ng.feature-management",
"version": "3.1.0", "version": "3.1.2",
"homepage": "https://abp.io", "homepage": "https://abp.io",
"repository": { "repository": {
"type": "git", "type": "git",
"url": "https://github.com/abpframework/abp.git" "url": "https://github.com/abpframework/abp.git"
}, },
"dependencies": { "dependencies": {
"@abp/ng.theme.shared": "~3.1.0", "@abp/ng.theme.shared": "~3.1.2",
"tslib": "^2.0.0" "tslib": "^2.0.0"
}, },
"publishConfig": { "publishConfig": {

6
npm/ng-packs/packages/identity/package.json

@ -1,14 +1,14 @@
{ {
"name": "@abp/ng.identity", "name": "@abp/ng.identity",
"version": "3.1.0", "version": "3.1.2",
"homepage": "https://abp.io", "homepage": "https://abp.io",
"repository": { "repository": {
"type": "git", "type": "git",
"url": "https://github.com/abpframework/abp.git" "url": "https://github.com/abpframework/abp.git"
}, },
"dependencies": { "dependencies": {
"@abp/ng.permission-management": "~3.1.0", "@abp/ng.permission-management": "~3.1.2",
"@abp/ng.theme.shared": "~3.1.0", "@abp/ng.theme.shared": "~3.1.2",
"tslib": "^2.0.0" "tslib": "^2.0.0"
}, },
"publishConfig": { "publishConfig": {

4
npm/ng-packs/packages/permission-management/package.json

@ -1,13 +1,13 @@
{ {
"name": "@abp/ng.permission-management", "name": "@abp/ng.permission-management",
"version": "3.1.0", "version": "3.1.2",
"homepage": "https://abp.io", "homepage": "https://abp.io",
"repository": { "repository": {
"type": "git", "type": "git",
"url": "https://github.com/abpframework/abp.git" "url": "https://github.com/abpframework/abp.git"
}, },
"dependencies": { "dependencies": {
"@abp/ng.theme.shared": "~3.1.0", "@abp/ng.theme.shared": "~3.1.2",
"tslib": "^2.0.0" "tslib": "^2.0.0"
}, },
"publishConfig": { "publishConfig": {

2
npm/ng-packs/packages/schematics/package.json

@ -1,6 +1,6 @@
{ {
"name": "@abp/ng.schematics", "name": "@abp/ng.schematics",
"version": "3.1.0", "version": "3.1.2",
"description": "Schematics that works with ABP Backend", "description": "Schematics that works with ABP Backend",
"keywords": [ "keywords": [
"schematics" "schematics"

4
npm/ng-packs/packages/schematics/src/constants/proxy.ts

@ -15,4 +15,8 @@ Finally, the name of the files and folders should not be changed for two reasons
- Proxy generator will keep creating them at those paths and you will have multiple copies of the same content. - Proxy generator will keep creating them at those paths and you will have multiple copies of the same content.
- ABP Suite generates files which include imports from this folder. - ABP Suite generates files which include imports from this folder.
> **Important Notice:** If you are building a module and are planning to publish to npm,
> some of the generated proxies are likely to be exported from public-api.ts file. In such a case,
> please make sure you export files directly and not from barrel exports. In other words,
> do not include index.ts exports in your public-api.ts exports.
`; `;

4
npm/ng-packs/packages/schematics/src/utils/barrel.ts

@ -43,6 +43,8 @@ export function generateBarrelFromPath(tree: Tree, indexPath: string) {
saveFile( saveFile(
indexPath + '/index.ts', indexPath + '/index.ts',
_exports.join(` _exports.join(`
`), `) +
`
`,
); );
} }

4
npm/ng-packs/packages/setting-management/package.json

@ -1,13 +1,13 @@
{ {
"name": "@abp/ng.setting-management", "name": "@abp/ng.setting-management",
"version": "3.1.0", "version": "3.1.2",
"homepage": "https://abp.io", "homepage": "https://abp.io",
"repository": { "repository": {
"type": "git", "type": "git",
"url": "https://github.com/abpframework/abp.git" "url": "https://github.com/abpframework/abp.git"
}, },
"dependencies": { "dependencies": {
"@abp/ng.theme.shared": "~3.1.0", "@abp/ng.theme.shared": "~3.1.2",
"tslib": "^2.0.0" "tslib": "^2.0.0"
}, },
"publishConfig": { "publishConfig": {

6
npm/ng-packs/packages/tenant-management/package.json

@ -1,14 +1,14 @@
{ {
"name": "@abp/ng.tenant-management", "name": "@abp/ng.tenant-management",
"version": "3.1.0", "version": "3.1.2",
"homepage": "https://abp.io", "homepage": "https://abp.io",
"repository": { "repository": {
"type": "git", "type": "git",
"url": "https://github.com/abpframework/abp.git" "url": "https://github.com/abpframework/abp.git"
}, },
"dependencies": { "dependencies": {
"@abp/ng.feature-management": "~3.1.0", "@abp/ng.feature-management": "~3.1.2",
"@abp/ng.theme.shared": "~3.1.0", "@abp/ng.theme.shared": "~3.1.2",
"tslib": "^2.0.0" "tslib": "^2.0.0"
}, },
"publishConfig": { "publishConfig": {

4
npm/ng-packs/packages/theme-basic/package.json

@ -1,13 +1,13 @@
{ {
"name": "@abp/ng.theme.basic", "name": "@abp/ng.theme.basic",
"version": "3.1.0", "version": "3.1.2",
"homepage": "https://abp.io", "homepage": "https://abp.io",
"repository": { "repository": {
"type": "git", "type": "git",
"url": "https://github.com/abpframework/abp.git" "url": "https://github.com/abpframework/abp.git"
}, },
"dependencies": { "dependencies": {
"@abp/ng.theme.shared": "~3.1.0", "@abp/ng.theme.shared": "~3.1.2",
"tslib": "^2.0.0" "tslib": "^2.0.0"
}, },
"publishConfig": { "publishConfig": {

4
npm/ng-packs/packages/theme-shared/package.json

@ -1,13 +1,13 @@
{ {
"name": "@abp/ng.theme.shared", "name": "@abp/ng.theme.shared",
"version": "3.1.0", "version": "3.1.2",
"homepage": "https://abp.io", "homepage": "https://abp.io",
"repository": { "repository": {
"type": "git", "type": "git",
"url": "https://github.com/abpframework/abp.git" "url": "https://github.com/abpframework/abp.git"
}, },
"dependencies": { "dependencies": {
"@abp/ng.core": "~3.1.0", "@abp/ng.core": "~3.1.2",
"@fortawesome/fontawesome-free": "^5.14.0", "@fortawesome/fontawesome-free": "^5.14.0",
"@ng-bootstrap/ng-bootstrap": "^7.0.0", "@ng-bootstrap/ng-bootstrap": "^7.0.0",
"@ngx-validate/core": "^0.0.11", "@ngx-validate/core": "^0.0.11",

5
npm/ng-packs/packages/theme-shared/src/lib/constants/styles.ts

@ -32,6 +32,11 @@ export default `
min-width: 215px; min-width: 215px;
} }
.datatable-scroll {
margin-bottom: 5px !important;
width: unset !important;
}
.ui-table-scrollable-body::-webkit-scrollbar { .ui-table-scrollable-body::-webkit-scrollbar {
height: 5px !important; height: 5px !important;
width: 5px !important; width: 5px !important;

67
npm/ng-packs/packages/theme-shared/src/lib/directives/ngx-datatable-default.directive.ts

@ -1,12 +1,19 @@
import { Directive, HostBinding, Input } from '@angular/core'; import { DOCUMENT } from '@angular/common';
import { ColumnMode, DatatableComponent } from '@swimlane/ngx-datatable'; import { AfterViewInit, Directive, HostBinding, Inject, Input, OnDestroy } from '@angular/core';
import { ColumnMode, DatatableComponent, ScrollerComponent } from '@swimlane/ngx-datatable';
import { fromEvent, Subscription } from 'rxjs';
import { debounceTime } from 'rxjs/operators';
@Directive({ @Directive({
// tslint:disable-next-line // tslint:disable-next-line
selector: 'ngx-datatable[default]', selector: 'ngx-datatable[default]',
exportAs: 'ngxDatatableDefault', exportAs: 'ngxDatatableDefault',
}) })
export class NgxDatatableDefaultDirective { export class NgxDatatableDefaultDirective implements AfterViewInit, OnDestroy {
private subscription = new Subscription();
private resizeDiff = 0;
@Input() class = 'material bordered'; @Input() class = 'material bordered';
@HostBinding('class') @HostBinding('class')
@ -14,7 +21,7 @@ export class NgxDatatableDefaultDirective {
return `ngx-datatable ${this.class}`; return `ngx-datatable ${this.class}`;
} }
constructor(private table: DatatableComponent) { constructor(private table: DatatableComponent, @Inject(DOCUMENT) private document: MockDocument) {
this.table.columnMode = ColumnMode.force; this.table.columnMode = ColumnMode.force;
this.table.footerHeight = 50; this.table.footerHeight = 50;
this.table.headerHeight = 50; this.table.headerHeight = 50;
@ -22,4 +29,56 @@ export class NgxDatatableDefaultDirective {
this.table.scrollbarH = true; this.table.scrollbarH = true;
this.table.virtualization = false; this.table.virtualization = false;
} }
private fixHorizontalGap(scroller: ScrollerComponent) {
const { body, documentElement } = this.document;
if (documentElement.scrollHeight !== documentElement.clientHeight) {
if (this.resizeDiff === 0) {
this.resizeDiff = window.innerWidth - body.offsetWidth;
scroller.scrollWidth -= this.resizeDiff;
}
} else {
scroller.scrollWidth += this.resizeDiff;
this.resizeDiff = 0;
}
}
private fixStyleOnWindowResize() {
// avoided @HostListener('window:resize') in favor of performance
const subscription = fromEvent(window, 'resize')
.pipe(debounceTime(500))
.subscribe(() => {
const { scroller } = this.table.bodyComponent;
if (!scroller) return;
this.fixHorizontalGap(scroller);
});
this.subscription.add(subscription);
}
ngAfterViewInit() {
this.fixStyleOnWindowResize();
}
ngOnDestroy() {
this.subscription.unsubscribe();
}
}
// fix: https://github.com/angular/angular/issues/20351
interface MockDocument {
body: MockBody;
documentElement: MockDocumentElement;
}
interface MockBody {
offsetWidth: number;
}
interface MockDocumentElement {
clientHeight: number;
scrollHeight: number;
} }

1089
npm/ng-packs/yarn.lock

File diff suppressed because it is too large

4
npm/packs/anchor-js/package.json

@ -1,11 +1,11 @@
{ {
"version": "3.1.0", "version": "3.1.2",
"name": "@abp/anchor-js", "name": "@abp/anchor-js",
"publishConfig": { "publishConfig": {
"access": "public" "access": "public"
}, },
"dependencies": { "dependencies": {
"@abp/core": "~3.1.0", "@abp/core": "~3.1.2",
"anchor-js": "^4.2.2" "anchor-js": "^4.2.2"
}, },
"gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431" "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431"

4
npm/packs/aspnetcore.mvc.ui.theme.basic/package.json

@ -1,11 +1,11 @@
{ {
"version": "3.1.0", "version": "3.1.2",
"name": "@abp/aspnetcore.mvc.ui.theme.basic", "name": "@abp/aspnetcore.mvc.ui.theme.basic",
"publishConfig": { "publishConfig": {
"access": "public" "access": "public"
}, },
"dependencies": { "dependencies": {
"@abp/aspnetcore.mvc.ui.theme.shared": "~3.1.0" "@abp/aspnetcore.mvc.ui.theme.shared": "~3.1.2"
}, },
"gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431" "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431"
} }

30
npm/packs/aspnetcore.mvc.ui.theme.shared/package.json

@ -1,24 +1,24 @@
{ {
"version": "3.1.0", "version": "3.1.2",
"name": "@abp/aspnetcore.mvc.ui.theme.shared", "name": "@abp/aspnetcore.mvc.ui.theme.shared",
"publishConfig": { "publishConfig": {
"access": "public" "access": "public"
}, },
"dependencies": { "dependencies": {
"@abp/aspnetcore.mvc.ui": "~3.1.0", "@abp/aspnetcore.mvc.ui": "~3.1.2",
"@abp/bootstrap": "~3.1.0", "@abp/bootstrap": "~3.1.2",
"@abp/bootstrap-datepicker": "~3.1.0", "@abp/bootstrap-datepicker": "~3.1.2",
"@abp/datatables.net-bs4": "~3.1.0", "@abp/datatables.net-bs4": "~3.1.2",
"@abp/font-awesome": "~3.1.0", "@abp/font-awesome": "~3.1.2",
"@abp/jquery-form": "~3.1.0", "@abp/jquery-form": "~3.1.2",
"@abp/jquery-validation-unobtrusive": "~3.1.0", "@abp/jquery-validation-unobtrusive": "~3.1.2",
"@abp/lodash": "~3.1.0", "@abp/lodash": "~3.1.2",
"@abp/luxon": "~3.1.0", "@abp/luxon": "~3.1.2",
"@abp/malihu-custom-scrollbar-plugin": "~3.1.0", "@abp/malihu-custom-scrollbar-plugin": "~3.1.2",
"@abp/select2": "~3.1.0", "@abp/select2": "~3.1.2",
"@abp/sweetalert": "~3.1.0", "@abp/sweetalert": "~3.1.2",
"@abp/timeago": "~3.1.0", "@abp/timeago": "~3.1.2",
"@abp/toastr": "~3.1.0" "@abp/toastr": "~3.1.2"
}, },
"gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431" "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431"
} }

2
npm/packs/aspnetcore.mvc.ui/package.json

@ -1,5 +1,5 @@
{ {
"version": "3.1.0", "version": "3.1.2",
"name": "@abp/aspnetcore.mvc.ui", "name": "@abp/aspnetcore.mvc.ui",
"publishConfig": { "publishConfig": {
"access": "public" "access": "public"

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

Loading…
Cancel
Save