From c394812eb8a4936ba660d13b4395d821ee29129f Mon Sep 17 00:00:00 2001 From: Yunus Emre Kalkan Date: Tue, 21 Jul 2020 12:59:53 +0300 Subject: [PATCH 01/43] Cli: added Angular option to NpmApplicationType --- .../ProjectModification/NpmApplicationType.cs | 5 +++-- .../ProjectModification/SolutionModuleAdder.cs | 17 +++++++++-------- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/NpmApplicationType.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/NpmApplicationType.cs index 9f58aa52e9..0e05a1ffb0 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/NpmApplicationType.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/NpmApplicationType.cs @@ -5,6 +5,7 @@ namespace Volo.Abp.Cli.ProjectModification [Flags] public enum NpmApplicationType { - Mvc = 1 + Mvc = 1, + Angular = 2 } -} \ No newline at end of file +} diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/SolutionModuleAdder.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/SolutionModuleAdder.cs index acf4231520..a19af6f52c 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/SolutionModuleAdder.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/SolutionModuleAdder.cs @@ -39,7 +39,7 @@ namespace Volo.Abp.Cli.ProjectModification EfCoreMigrationAdder efCoreMigrationAdder, DerivedClassFinder derivedClassFinder, ProjectNpmPackageAdder projectNpmPackageAdder, - NpmGlobalPackagesChecker npmGlobalPackagesChecker, + NpmGlobalPackagesChecker npmGlobalPackagesChecker, IRemoteServiceExceptionHandler remoteServiceExceptionHandler, SourceCodeDownloadService sourceCodeDownloadService, SolutionFileModifier solutionFileModifier, @@ -159,7 +159,7 @@ namespace Volo.Abp.Cli.ProjectModification { Directory.Delete(demoFolder, true); } - + var hostFolder = Path.Combine(targetModuleFolder, "host"); if (Directory.Exists(hostFolder)) { @@ -186,7 +186,9 @@ namespace Volo.Abp.Cli.ProjectModification await ProjectNugetPackageAdder.AddAsync(targetProjectFile, nugetPackage); } - if (!module.NpmPackages.IsNullOrEmpty()) + var mvcNpmPackages = module.NpmPackages?.Where(p => p.ApplicationType.HasFlag(NpmApplicationType.Mvc)).ToList(); + + if (!mvcNpmPackages.IsNullOrEmpty()) { var targetProjects = ProjectFinder.FindNpmTargetProjectFile(projectFiles); if (targetProjects.Any()) @@ -195,8 +197,7 @@ namespace Volo.Abp.Cli.ProjectModification foreach (var targetProject in targetProjects) { - foreach (var npmPackage in module.NpmPackages.Where(p => - p.ApplicationType.HasFlag(NpmApplicationType.Mvc))) + foreach (var npmPackage in mvcNpmPackages) { await ProjectNpmPackageAdder.AddAsync(Path.GetDirectoryName(targetProject), npmPackage); } @@ -222,7 +223,7 @@ namespace Volo.Abp.Cli.ProjectModification } var dbMigrationsProject = projectFiles.FirstOrDefault(p => p.EndsWith(".DbMigrations.csproj")); - + if (dbMigrationsProject == null) { Logger.LogDebug("Solution doesn't have a \".DbMigrations\" project."); @@ -241,7 +242,7 @@ namespace Volo.Abp.Cli.ProjectModification if (addedNewBuilder && !skipDbMigrations) { - EfCoreMigrationAdder.AddMigration(dbMigrationsProject, module.Name, startupProject); + EfCoreMigrationAdder.AddMigration(dbMigrationsProject, module.Name, startupProject); } } @@ -274,4 +275,4 @@ namespace Volo.Abp.Cli.ProjectModification .Any(p => p.EndsWith(".IdentityServer") || p.EndsWith(".HttpApi.Host")); } } -} \ No newline at end of file +} From 5ce41d2c8ec0a49a3cd67f5f0f83bd7565308b79 Mon Sep 17 00:00:00 2001 From: Yunus Emre Kalkan Date: Wed, 22 Jul 2020 14:06:53 +0300 Subject: [PATCH 02/43] fix broken links in docs --- docs/en/API/Application-Configuration.md | 12 ++++++------ docs/en/Authorization.md | 2 -- docs/en/Background-Workers-Quartz.md | 2 +- docs/en/Best-Practices/Application-Services.md | 2 +- docs/en/Blob-Storing-Database.md | 2 +- docs/en/Entity-Framework-Core-Migrations.md | 2 +- docs/en/Modules/Docs.md | 2 +- docs/en/Startup-Templates/Module.md | 2 +- docs/en/Tutorials/Part-2.md | 2 +- 9 files changed, 13 insertions(+), 15 deletions(-) diff --git a/docs/en/API/Application-Configuration.md b/docs/en/API/Application-Configuration.md index db624987c5..1465f0fd24 100644 --- a/docs/en/API/Application-Configuration.md +++ b/docs/en/API/Application-Configuration.md @@ -2,12 +2,12 @@ ABP Framework provides a pre-built and standard endpoint that contains some useful information about the application/service. Here, the list of some fundamental information at this endpoint: -* [Localization](Localization.md) values, supported and the current language of the application. -* Available and granted [policies](Authorization.md) (permissions) for the current user. -* [Setting](Settings.md) values for the current user. -* Info about the [current user](CurrentUser.md) (like id and user name). -* Info about the current [tenant](Multi-Tenancy.md) (like id and name). -* [Time zone](Timing.md) information for the current user and the [clock](Timing.md) type of the application. +* [Localization](../Localization.md) values, supported and the current language of the application. +* Available and granted [policies](../Authorization.md) (permissions) for the current user. +* [Setting](../Settings.md) values for the current user. +* Info about the [current user](../CurrentUser.md) (like id and user name). +* Info about the current [tenant](../Multi-Tenancy.md) (like id and name). +* [Time zone](../Timing.md) information for the current user and the [clock](Timing.md) type of the application. ## HTTP API diff --git a/docs/en/Authorization.md b/docs/en/Authorization.md index 1ede9f7577..4b7502f437 100644 --- a/docs/en/Authorization.md +++ b/docs/en/Authorization.md @@ -284,8 +284,6 @@ You may need to check a policy/permission on the client side. For ASP.NET Core M abp.auth.isGranted('MyPermissionName'); ``` -See [abp.auth](UI/AspNetCore/JavaScript-API/Index.md) API documentation for details. - ## Permission Management Permission management is normally done by an admin user using the permission management modal: diff --git a/docs/en/Background-Workers-Quartz.md b/docs/en/Background-Workers-Quartz.md index f8495b27a4..9b419d6c27 100644 --- a/docs/en/Background-Workers-Quartz.md +++ b/docs/en/Background-Workers-Quartz.md @@ -1,6 +1,6 @@ # Quartz Background Worker Manager -[Quartz](https://www.quartz-scheduler.net/) is an advanced background worker manager. You can integrate Quartz with the ABP Framework to use it instead of the [default background worker manager](Background-Worker.md). ABP simply integrates quartz. +[Quartz](https://www.quartz-scheduler.net/) is an advanced background worker manager. You can integrate Quartz with the ABP Framework to use it instead of the [default background worker manager](Background-Workers.md). ABP simply integrates quartz. ## Installation diff --git a/docs/en/Best-Practices/Application-Services.md b/docs/en/Best-Practices/Application-Services.md index 876105c214..3332ce08ea 100644 --- a/docs/en/Best-Practices/Application-Services.md +++ b/docs/en/Best-Practices/Application-Services.md @@ -206,7 +206,7 @@ This method votes a question and returns the current score of the question. #### Extra Properties -* **Do** use either `MapExtraPropertiesTo` extension method ([see](Object-Extensions.md)) or configure the object mapper (`MapExtraProperties`) to allow application developers to be able to extend the objects and services. +* **Do** use either `MapExtraPropertiesTo` extension method ([see](../Object-Extensions.md)) or configure the object mapper (`MapExtraProperties`) to allow application developers to be able to extend the objects and services. #### Manipulating / Deleting Entities diff --git a/docs/en/Blob-Storing-Database.md b/docs/en/Blob-Storing-Database.md index 69b9232ee8..c14086a2f4 100644 --- a/docs/en/Blob-Storing-Database.md +++ b/docs/en/Blob-Storing-Database.md @@ -27,7 +27,7 @@ This command adds all the NuGet packages to corresponding layers of your solutio Here, all the NuGet packages defined by this provider; -* [Volo.Abp.BlobStoring.Database.Domain.Shared](https://www.nuget.org/packages/Volo.Abp.BlobStoring.Domain.Shared) +* [Volo.Abp.BlobStoring.Database.Domain.Shared](https://www.nuget.org/packages/Volo.Abp.BlobStoring.Database.Domain.Shared) * [Volo.Abp.BlobStoring.Database.Domain](https://www.nuget.org/packages/Volo.Abp.BlobStoring.Database.Domain) * [Volo.Abp.BlobStoring.Database.EntityFrameworkCore](https://www.nuget.org/packages/Volo.Abp.BlobStoring.Database.EntityFrameworkCore) * [Volo.Abp.BlobStoring.Database.MongoDB](https://www.nuget.org/packages/Volo.Abp.BlobStoring.Database.MongoDB) diff --git a/docs/en/Entity-Framework-Core-Migrations.md b/docs/en/Entity-Framework-Core-Migrations.md index 00e791a94e..d59f9f96c7 100644 --- a/docs/en/Entity-Framework-Core-Migrations.md +++ b/docs/en/Entity-Framework-Core-Migrations.md @@ -2,7 +2,7 @@ This document begins by **introducing the default structure** provided by [the application startup template](Startup-Templates/Application.md) and **discusses various scenarios** you may want to implement for your own application. -> This document is for who want to fully understand and customize the database structure comes with [the application startup template](Startup-Templates/Application.md). If you simply want to create entities and manage your code first migrations, just follow [the startup tutorials](Tutorials/Index.md). +> This document is for who want to fully understand and customize the database structure comes with [the application startup template](Startup-Templates/Application.md). If you simply want to create entities and manage your code first migrations, just follow [the startup tutorials](Tutorials/Part-1.md). ### Source Code diff --git a/docs/en/Modules/Docs.md b/docs/en/Modules/Docs.md index b8f678dc48..e788a4c0f8 100644 --- a/docs/en/Modules/Docs.md +++ b/docs/en/Modules/Docs.md @@ -613,7 +613,7 @@ Configure(options => The `Index` is automatically created after the application starts if the `Index` does not exist. `DefaultElasticClientProvider` is responsible for creating `IElasticClient`. By default, it reads Elastic Search's `Url` from `IConfiguration`. -If your `IElasticClient` needs additional configuration, please use override `IElasticClientProvider` service and replace it in the [dependency injection](Dependency-Injection.md) system. +If your `IElasticClient` needs additional configuration, please use override `IElasticClientProvider` service and replace it in the [dependency injection](../Dependency-Injection.md) system. ``` { diff --git a/docs/en/Startup-Templates/Module.md b/docs/en/Startup-Templates/Module.md index 45e123971b..ea2fe5acca 100644 --- a/docs/en/Startup-Templates/Module.md +++ b/docs/en/Startup-Templates/Module.md @@ -56,7 +56,7 @@ An `IssueType` enum and an `IssueConsts` class (which may have some constant fie ### .Domain Project -This is the domain layer of the solution. It mainly contains [entities, aggregate roots](../Entities.md), [domain services](../Domain-Services.md), [value types](../Value-Types.md), [repository interfaces](../Repositories.md) and other domain objects. +This is the domain layer of the solution. It mainly contains [entities, aggregate roots](../Entities.md), [domain services](../Domain-Services.md), value types, [repository interfaces](../Repositories.md) and other domain objects. An `Issue` entity, an `IssueManager` domain service and an `IIssueRepository` interface are good candidates for this project. diff --git a/docs/en/Tutorials/Part-2.md b/docs/en/Tutorials/Part-2.md index 690394264c..a100d8370e 100644 --- a/docs/en/Tutorials/Part-2.md +++ b/docs/en/Tutorials/Part-2.md @@ -51,7 +51,7 @@ This tutorials has multiple versions based on your **UI** and **Database** prefe It's common to call the HTTP API endpoints via AJAX from the **JavaScript** side. You can use `$.ajax` or another tool to call the endpoints. However, ABP offers a better way. -ABP **dynamically** creates **[JavaScript Proxies](../UI/AspNetCore/)** for all API endpoints. So, you can use any **endpoint** just like calling a **JavaScript function**. +ABP **dynamically** creates **[JavaScript Proxies](https://docs.abp.io/en/abp/latest/API/Dynamic-CSharp-API-Clients#client-proxy-generation)** for all API endpoints. So, you can use any **endpoint** just like calling a **JavaScript function**. ### Testing in the Developer Console From dca1b6af7a9e1cc561e9ad30afba8f1febd3ab6b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Mon, 27 Jul 2020 11:30:57 +0300 Subject: [PATCH 03/43] Remove unused namespaces. --- .../Mvc/AspNetCoreApiDescriptionModelProvider.cs | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/AspNetCoreApiDescriptionModelProvider.cs b/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/AspNetCoreApiDescriptionModelProvider.cs index f5ea41d765..082a803cd9 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/AspNetCoreApiDescriptionModelProvider.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/AspNetCoreApiDescriptionModelProvider.cs @@ -3,7 +3,6 @@ using System.Collections.Generic; using System.Linq; using System.Reflection; using System.Text; -using System.Threading.Tasks; using JetBrains.Annotations; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.Abstractions; @@ -13,7 +12,6 @@ using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging.Abstractions; using Microsoft.Extensions.Options; using Volo.Abp.Application.Services; -using Volo.Abp.AspNetCore.Mvc.ApiExploring; using Volo.Abp.AspNetCore.Mvc.Conventions; using Volo.Abp.AspNetCore.Mvc.Utils; using Volo.Abp.DependencyInjection; @@ -67,7 +65,7 @@ namespace Volo.Abp.AspNetCore.Mvc private void AddApiDescriptionToModel( ApiDescription apiDescription, - ApplicationApiDescriptionModel applicationModel, + ApplicationApiDescriptionModel applicationModel, ApplicationApiDescriptionModelRequestDto input) { var controllerType = apiDescription.ActionDescriptor.AsControllerActionDescriptor().ControllerTypeInfo.AsType(); @@ -182,7 +180,7 @@ namespace Volo.Abp.AspNetCore.Mvc type = AsyncHelper.UnwrapTask(type); if (type == typeof(object) || - type == typeof(void) || + type == typeof(void) || type == typeof(Enum) || type == typeof(ValueType) || TypeHelper.IsPrimitiveExtended(type)) @@ -212,7 +210,7 @@ namespace Volo.Abp.AspNetCore.Mvc { return; } - + var typeModel = TypeApiDescriptionModel.Create(type); applicationModel.Types[typeName] = typeModel; From d04910fdb6d9835aa44ef5350f040ba57107d664 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Mon, 27 Jul 2020 15:50:22 +0300 Subject: [PATCH 04/43] Properly handle dictionaries for API description model. --- .../AspNetCoreApiDescriptionModelProvider.cs | 43 +++++++++++++------ .../MethodParameterApiDescriptionModel.cs | 6 +-- .../Modeling/PropertyApiDescriptionModel.cs | 16 +++---- 3 files changed, 40 insertions(+), 25 deletions(-) diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/AspNetCoreApiDescriptionModelProvider.cs b/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/AspNetCoreApiDescriptionModelProvider.cs index 082a803cd9..b5c5699757 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/AspNetCoreApiDescriptionModelProvider.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/AspNetCoreApiDescriptionModelProvider.cs @@ -68,12 +68,24 @@ namespace Volo.Abp.AspNetCore.Mvc ApplicationApiDescriptionModel applicationModel, ApplicationApiDescriptionModelRequestDto input) { - var controllerType = apiDescription.ActionDescriptor.AsControllerActionDescriptor().ControllerTypeInfo.AsType(); + var controllerType = apiDescription + .ActionDescriptor + .AsControllerActionDescriptor() + .ControllerTypeInfo; + var setting = FindSetting(controllerType); - var moduleModel = applicationModel.GetOrAddModule(GetRootPath(controllerType, setting), GetRemoteServiceName(controllerType, setting)); + var moduleModel = applicationModel.GetOrAddModule( + GetRootPath(controllerType, setting), + GetRemoteServiceName(controllerType, setting) + ); - var controllerModel = moduleModel.GetOrAddController(controllerType.FullName, CalculateControllerName(controllerType, setting), controllerType, _modelOptions.IgnoredInterfaces); + var controllerModel = moduleModel.GetOrAddController( + controllerType.FullName, + CalculateControllerName(controllerType, setting), + controllerType, + _modelOptions.IgnoredInterfaces + ); var method = apiDescription.ActionDescriptor.GetMethodInfo(); @@ -86,13 +98,16 @@ namespace Volo.Abp.AspNetCore.Mvc Logger.LogDebug($"ActionApiDescriptionModel.Create: {controllerModel.ControllerName}.{uniqueMethodName}"); - var actionModel = controllerModel.AddAction(uniqueMethodName, ActionApiDescriptionModel.Create( + var actionModel = controllerModel.AddAction( uniqueMethodName, - method, - apiDescription.RelativePath, - apiDescription.HttpMethod, - GetSupportedVersions(controllerType, method, setting) - )); + ActionApiDescriptionModel.Create( + uniqueMethodName, + method, + apiDescription.RelativePath, + apiDescription.HttpMethod, + GetSupportedVersions(controllerType, method, setting) + ) + ); if (input.IncludeTypes) { @@ -188,16 +203,16 @@ namespace Volo.Abp.AspNetCore.Mvc return; } - if (TypeHelper.IsEnumerable(type, out var itemType)) + if (TypeHelper.IsDictionary(type, out var keyType, out var valueType)) { - AddCustomTypesToModel(applicationModel, itemType); + AddCustomTypesToModel(applicationModel, keyType); + AddCustomTypesToModel(applicationModel, valueType); return; } - if (TypeHelper.IsDictionary(type, out var keyType, out var valueType)) + if (TypeHelper.IsEnumerable(type, out var itemType)) { - AddCustomTypesToModel(applicationModel, keyType); - AddCustomTypesToModel(applicationModel, valueType); + AddCustomTypesToModel(applicationModel, itemType); return; } diff --git a/framework/src/Volo.Abp.Http/Volo/Abp/Http/Modeling/MethodParameterApiDescriptionModel.cs b/framework/src/Volo.Abp.Http/Volo/Abp/Http/Modeling/MethodParameterApiDescriptionModel.cs index 211359d789..603d3994e0 100644 --- a/framework/src/Volo.Abp.Http/Volo/Abp/Http/Modeling/MethodParameterApiDescriptionModel.cs +++ b/framework/src/Volo.Abp.Http/Volo/Abp/Http/Modeling/MethodParameterApiDescriptionModel.cs @@ -30,11 +30,11 @@ namespace Volo.Abp.Http.Modeling { Name = parameterInfo.Name, TypeAsString = parameterInfo.ParameterType.GetFullNameWithAssemblyName(), - Type = parameterInfo.ParameterType != null ? TypeHelper.GetFullNameHandlingNullableAndGenerics(parameterInfo.ParameterType) : null, - TypeSimple = parameterInfo.ParameterType != null ? TypeHelper.GetSimplifiedName(parameterInfo.ParameterType) : null, + Type = TypeHelper.GetFullNameHandlingNullableAndGenerics(parameterInfo.ParameterType), + TypeSimple = TypeHelper.GetSimplifiedName(parameterInfo.ParameterType), IsOptional = parameterInfo.IsOptional, DefaultValue = parameterInfo.HasDefaultValue ? parameterInfo.DefaultValue : null }; } } -} \ No newline at end of file +} diff --git a/framework/src/Volo.Abp.Http/Volo/Abp/Http/Modeling/PropertyApiDescriptionModel.cs b/framework/src/Volo.Abp.Http/Volo/Abp/Http/Modeling/PropertyApiDescriptionModel.cs index 820d9a46f9..80a3cee91a 100644 --- a/framework/src/Volo.Abp.Http/Volo/Abp/Http/Modeling/PropertyApiDescriptionModel.cs +++ b/framework/src/Volo.Abp.Http/Volo/Abp/Http/Modeling/PropertyApiDescriptionModel.cs @@ -19,22 +19,22 @@ namespace Volo.Abp.Http.Modeling string typeName; string simpleTypeName; - if (TypeHelper.IsEnumerable(propertyInfo.PropertyType, out var itemType, includePrimitives: false)) - { - typeName = $"[{TypeHelper.GetFullNameHandlingNullableAndGenerics(itemType)}]"; - simpleTypeName = $"[{TypeHelper.GetSimplifiedName(itemType)}]"; - } - else if (TypeHelper.IsDictionary(propertyInfo.PropertyType, out var keyType, out var valueType)) + if (TypeHelper.IsDictionary(propertyInfo.PropertyType, out var keyType, out var valueType)) { typeName = $"{{{TypeHelper.GetFullNameHandlingNullableAndGenerics(keyType)}:{TypeHelper.GetFullNameHandlingNullableAndGenerics(valueType)}}}"; simpleTypeName = $"{{{TypeHelper.GetSimplifiedName(keyType)}:{TypeHelper.GetSimplifiedName(valueType)}}}"; } + else if (TypeHelper.IsEnumerable(propertyInfo.PropertyType, out var itemType, includePrimitives: false)) + { + typeName = $"[{TypeHelper.GetFullNameHandlingNullableAndGenerics(itemType)}]"; + simpleTypeName = $"[{TypeHelper.GetSimplifiedName(itemType)}]"; + } else { typeName = TypeHelper.GetFullNameHandlingNullableAndGenerics(propertyInfo.PropertyType); simpleTypeName = TypeHelper.GetSimplifiedName(propertyInfo.PropertyType); } - + return new PropertyApiDescriptionModel { Name = propertyInfo.Name, @@ -43,4 +43,4 @@ namespace Volo.Abp.Http.Modeling }; } } -} \ No newline at end of file +} From 6d4c98a09601c5251a0534112b0bfdfaa0180063 Mon Sep 17 00:00:00 2001 From: liangshiwei Date: Mon, 27 Jul 2020 21:29:19 +0800 Subject: [PATCH 05/43] Update Chinese document --- docs/zh-Hans/Authorization.md | 2 +- docs/zh-Hans/CLI.md | 11 +- docs/zh-Hans/Getting-Started-React-Native.md | 70 ++++++++++++ docs/zh-Hans/Getting-Started.md | 114 +++++-------------- docs/zh-Hans/Index.md | 14 +-- docs/zh-Hans/Modules/Identity.md | 2 + docs/zh-Hans/Modules/Index.md | 2 +- docs/zh-Hans/Modules/Organization-Units.md | 47 ++++++++ docs/zh-Hans/Nightly-Builds.md | 4 +- docs/zh-Hans/Options.md | 2 +- docs/zh-Hans/Repositories.md | 2 - docs/zh-Hans/Road-Map.md | 1 - docs/zh-Hans/Samples/Index.md | 4 +- docs/zh-Hans/Samples/Microservice-Demo.md | 8 +- docs/zh-Hans/SignalR-Integration.md | 4 +- docs/zh-Hans/Text-Templating.md | 2 +- docs/zh-Hans/docs-nav.json | 13 +++ 17 files changed, 190 insertions(+), 112 deletions(-) create mode 100644 docs/zh-Hans/Getting-Started-React-Native.md create mode 100644 docs/zh-Hans/Modules/Organization-Units.md diff --git a/docs/zh-Hans/Authorization.md b/docs/zh-Hans/Authorization.md index 99139be3ac..2c269ab5fa 100644 --- a/docs/zh-Hans/Authorization.md +++ b/docs/zh-Hans/Authorization.md @@ -285,7 +285,7 @@ public async Task CreateAsync(CreateAuthorDto input) abp.auth.isGranted('MyPermissionName'); ```` -参阅 [abp.auth](AspNetCore/JavaScript-API/Auth.md) API 文档了解详情. +参阅 [abp.auth](UI/AspNetCore/JavaScript-API/Index.md) API 文档了解详情. ## 权限管理 diff --git a/docs/zh-Hans/CLI.md b/docs/zh-Hans/CLI.md index e733b6e2e5..4af252e89f 100644 --- a/docs/zh-Hans/CLI.md +++ b/docs/zh-Hans/CLI.md @@ -90,9 +90,10 @@ abp new Acme.BookStore * **`console`**: [Console template](Startup-Templates/Console.md). * `--output-folder` 或者 `-o`: 指定输出文件夹,默认是当前目录. * `--version` 或者 `-v`: 指定ABP和模板的版本.它可以是 [release tag](https://github.com/abpframework/abp/releases) 或者 [branch name](https://github.com/abpframework/abp/branches). 如果没有指定,则使用最新版本.大多数情况下,你会希望使用最新的版本. -* `--template-source` 或者 `-ts`: 指定自定义模板源用于生成项目,可以使用本地源和网络源(例如 `D\localTemplate` 或 `https://.zip`). +* `--preview`: 使用最新的预发行版本 (仅在未指定 `--version` 且最新稳定版本之后至少有一个预发行版时). +* `--template-source` 或者 `-ts`: 指定自定义模板源用于生成项目,可以使用本地源和网络源(例如 `D:\local-templat` 或 `https://.../my-template-file.zip`). * `--create-solution-folder` 或者 `-csf`: 指定项目是在输出文件夹中的新文件夹中还是直接在输出文件夹中. -* `--connection-string` 或者 `-cs`: 重写所有 `appsettings.json` 文件的默认连接字符串. 默认连接字符串是 `Server=localhost;Database=MyProjectName;Trusted_Connection=True;MultipleActiveResultSets=true`. 如果你不想使用默认,你可以设置自己的连接字符串. 默认的数据库提供程序是 `SQL Server`, 所以你只能输入SQL Server连接字符串! +* `--connection-string` 或者 `-cs`: 重写所有 `appsettings.json` 文件的默认连接字符串. 默认连接字符串是 `Server=localhost;Database=MyProjectName;Trusted_Connection=True;MultipleActiveResultSets=true`. 默认的数据库提供程序是 `SQL Server`. 如果你使用EF Core但需要更改DBMS,可以按[这里所述](Entity-Framework-Core-Other-DBMS.md)进行更改(创建解决方案之后). * `--local-framework-ref --abp-path`: 使用对项目的本地引用,而不是替换为NuGet包引用. ### add-package @@ -173,15 +174,15 @@ abp update [options] ### 切换到每晚构建(预览)包 -想要切换到ABP框架的最新预览版可以使用此命令. +想要切换到ABP框架的最新**每晚构建**预览版可以使用此命令. 用法: ````bash -abp switch-to-preview [options] +abp switch-to-nightly [options] ```` -你也可以使用切换回稳定版本: +你也可以使用切换回最新稳定版本: ````bash abp switch-to-stable [options] diff --git a/docs/zh-Hans/Getting-Started-React-Native.md b/docs/zh-Hans/Getting-Started-React-Native.md new file mode 100644 index 0000000000..54d093cb7c --- /dev/null +++ b/docs/zh-Hans/Getting-Started-React-Native.md @@ -0,0 +1,70 @@ +# React Native入门 + +ABP平台提供了[React Native](https://reactnative.dev/)模板用于开发移动应用程序. + +当你按照[入门文档](Getting-Started.md)中所述**创建新应用程序**时,解决方案默认将React Native应用程序包含在 `react-native` 文件夹中. + +## 配置你的本地IP地址 + +运行在Android模拟器或真机上的React Native应用程序无法连接到 `localhost` 上的后.要修复此问题,需要在本地IP上运行后端. + +{{ if Tiered == "No"}} +![React Native host project local IP entry](images/rn-host-local-ip.png) + +* 打开 `.HttpApi.Host` 文件夹下的 `appsettings.json` 文件. 将 `SelfUrl` 和 `Authority` 属性的 `localhost` 替换为你本地的IP地址. +* 打开 `.HttpApi.Host/Properties` 文件夹下的 `launchSettings.json` 文件. 将 `applicationUrl` 属性的 `localhost` 替换为你本地的IP地址. + +{{ else if Tiered == "Yes" }} + +![React Native tiered project local IP entry](images/rn-tiered-local-ip.png) + +* 打开 `.IdentityServer` 文件夹下的 `appsettings.json` 文件. 将 `SelfUrl` 属性的 `localhost` 替换为你本地的IP地址. +* 打开 `.IdentityServer/Properties` 文件夹下的 `launchSettings.json` 文件. 将 `applicationUrl` 属性的 `localhost` 替换为你本地的IP地址. +* 打开 `.HttpApi.Host` 文件夹下的 `appsettings.json` 文件. 将 `Authority` 属性的 `localhost` 替换为你本地的IP地址. +* 打开 `.HttpApi.Host/Properties` 文件夹下的 `launchSettings.json` 文件. 将 `applicationUrl` 属性的 `localhost` 替换为你本地的IP地址. + +{{ end }} + +按照**运行HTTP API Host (服务端口)**那样运行后端. + +> React Native应用程序不信任自动生成的.NET HTTPS证书,你可以在开发期间使用HTTP. + +在 `react-native` 文件夹打开命令行终端,输入 `yarn` 命令(我们推荐使用[yarn](https://yarnpkg.com/)包管理, `npm install` 在大多数情况下也可以工作). + +```bash +yarn +``` + +* 打开 `react-nativer` 文件夹下的 `Environment.js` 文件. 将 `apiUrl` 和 `issuer` 属性的 `localhost` 替换为你本地的IP地址: + +![react native environment local IP](images/rn-environment-local-ip.png) + +{{ if Tiered == "Yes" }} + +> 确保 `issuer` 与正在运行的 `.IdentityServer` 项目匹配, `apiUrl` 与正在运行的 `.HttpApi.Host` 项目匹配. + +{{else}} + +> 确保 `issuer` 和 `apiUrl` 与正在运行的 `.HttpApi.Host` 项目匹配 + +{{ end }} + +等到所有node模块加载成功, 执行 `yarn start` (或 `npm start`) 命令: + +```bash +yarn start +``` + +等待Expo CLI启动后Expo CLI在 `http://localhost:19002/` 地址要开管理页面. + +![expo-interface](images/rn-expo-interface.png) + +在上面的管理界面中,可以通过使用[Expo Client](https://expo.io/tools#client)扫描二维码,使用Android模拟器,iOS模拟器或真机来启动应用程序. + +> 请参阅expo.io上的[Android Studio模拟器](https://docs.expo.io/workflow/android-simulator/)和[iOS模拟器文档](https://docs.expo.io/workflow/ios-simulator/). + +![React Native login screen on iPhone 11](images/rn-login-iphone.png) + +输入用户名 **admin**,密码 **1q2w3E*** 登录到应用程序. + +应用程序已经启动并执行,你可以基于该启动模板开发应用程序. \ No newline at end of file diff --git a/docs/zh-Hans/Getting-Started.md b/docs/zh-Hans/Getting-Started.md index adf9517eec..fe1a9ec6f9 100644 --- a/docs/zh-Hans/Getting-Started.md +++ b/docs/zh-Hans/Getting-Started.md @@ -19,24 +19,27 @@ 你需要安装以下工具: -* [Visual Studio 2019 (v16.4+)](https://visualstudio.microsoft.com/vs/) for Windows / [Visual Studio for Mac](https://visualstudio.microsoft.com/vs/mac/). -* [.NET Core 3.0+](https://www.microsoft.com/net/download/dotnet-core/) +* [Visual Studio 2019 (v16.4+)](https://visualstudio.microsoft.com/vs/) for Windows / [Visual Studio for Mac](https://visualstudio.microsoft.com/vs/mac/).[1](#f-editor) +* [.NET Core 3.1+](https://www.microsoft.com/net/download/dotnet-core/) -* [Node v12+](https://nodejs.org) +* [Node v12 或 v14](https://nodejs.org/en/) * [Yarn v1.19+](https://classic.yarnpkg.com/) +* [Yarn v1.20+ (not v2)](https://classic.yarnpkg.com/en/docs/install) [2](#f-yarn) 或 npm v6+ (与Node一起安装) {{ if Tiered == "Yes" }} -* [Redis](https://redis.io/): 应用程序将Redis用作[分布式缓存](../Caching.md). 因此你需要安装并运行Redis. +* [Redis](https://redis.io/): 入门解决方案将Redis用作[分布式缓存](Caching.md). 因此你需要安装并运行Redis. {{ end }} -> 你可以也使用其他支持.NET Core 和 ASP.NET Core的编辑器. +1 _只要支持.NET Core和ASP.NET Core,就可以使用其他编辑器代替Visual Studio._ [↩](#a-editor) + +2 _Yarn v2 的工作方式不同,不受支持._ [↩](#a-yarn) ### 安装ABP CLI -[ABP CLI](./CLI.md)是一个命令行页面,用于为基于ABP的应用程序验证和自动化一些任务. +[ABP CLI](./CLI.md)是一个命令行页面,用于自动执行一些基于ABP的应用程序的常见任务. -> ABP CLI是[ABP框架](https://abp.io/)一个免费开源的工具. +> ABP CLI是ABP框架一个免费开源的工具. 你需要使用以下命令安排ABP CLI: @@ -59,10 +62,10 @@ dotnet tool update -g Volo.Abp.Cli 使用ABP CLI的 `new` 命令创建新项目: ````shell -abp new Acme.BookStore -t app{{if UI == "NG"}} -u angular {{end}}{{if DB == "Mongo"}} -d mongodb{{end}}{{if Tiered == "Yes" && UI != "NG"}} --tiered {{else if Tiered == "Yes" && UI == "NG"}}--separate-identity-server{{end}} +abp new Acme.BookStore{{if UI == "NG"}} -u angular {{end}}{{if DB == "Mongo"}} -d mongodb{{end}}{{if Tiered == "Yes" && UI != "NG"}} --tiered {{else if Tiered == "Yes" && UI == "NG"}}--separate-identity-server{{end}} ```` -* `-t` 参数指定 [启动模板](Startup-Templates/Application.md) 名称. `app` 是一个启动模板名称,包含了预安装并且配置好的[ABP模块](Modules/Index.md). +* 此命令还会在解决方案文件夹内创建一个React Native移动应用程序. 如果你不想要它,可以安全地删除它,或者在 `abp new` 命令中指定 `-m none` 选项,以使其完全不包含在解决方案中. {{ if UI == "NG" }} @@ -70,7 +73,7 @@ abp new Acme.BookStore -t app{{if UI == "NG"}} -u angular {{end}}{{if DB == "Mon {{ if Tiered == "Yes" }} -* `--separate-identity-server` 参数用于将Identity服务器应用程序与API主机应用程序分隔开. 如果未指定,你将只有一个端点. +* `--separate-identity-server` 参数用于将Identity服务器应用程序与API主机应用程序分隔开. 如果未指定,则服务器上将只有一个端点. {{ end }} @@ -90,6 +93,12 @@ abp new Acme.BookStore -t app{{if UI == "NG"}} -u angular {{end}}{{if DB == "Mon > 你可以使用不同级别的命令空间; 例如. BookStore, Acme.BookStore or Acme.Retail.BookStore. +#### ABP CLI 命令 & 选项 + +[ABP CLI文档](./CLI.md)涵盖了ABP CLI的所有可用命令和选项. 本文档使用[应用程序启动模板](Startup-Templates/Application.md)创建新的Web应用程序. 有关其他模板,请参见[ABP启动模板](Startup-Templates/Index.md)文档. + +> 或者,您可以从[ABP Framework网站](https://abp.io/get-started)中选择"直接下载"选项卡创建新的解决方案. + ## 解决方案结构 {{ if UI == "MVC" }} @@ -146,7 +155,7 @@ abp new Acme.BookStore -t app{{if UI == "NG"}} -u angular {{end}}{{if DB == "Mon ## 创建数据库 -### 数据库连接字符串 +### 连接字符串 检查 {{if UI == "MVC"}}{{if Tiered == "Yes"}}`.IdentityServer` 和 `.HttpApi.Host` 项目{{else}}`.Web` 项目{{end}}{{else if UI == "NG" }}`.HttpApi.Host` 项目{{end}}下 `appsettings.json` 文件中的 **链接字符串**: @@ -214,7 +223,9 @@ Ef Core具有`Update-Database`命令, 可根据需要创建数据库并应用挂 这将基于配置的连接字符串创建新数据库. -> 使用`.Migrator`工具是建议的方法, 因为它还能初始化初始数据能够正确运行Web应用程序. +> **使用`.DbMigrator`工具是建议的方法**, 因为它能初始化初始数据能够正确运行Web应用程序. +> +> 如果你只是使用 `Update-Database` 命令,你会得到一个空数据库,所以你无法登录到应用程序因为数据库中没有初始管理用户. 不需要种子数据库时,可以在开发期间使用 `Update-Database` 命令. 但是使用 `.DbMigrator` 应用程序会更简单,你始终可以使用它来迁移模式并为数据库添加种子. {{ else if DB == "Mongo" }} @@ -240,7 +251,7 @@ Ef Core具有`Update-Database`命令, 可根据需要创建数据库并应用挂 ![db-migrator-output](images/db-migrator-output.png) -> 数据库创建后会初始化种子数据, 其中包含用于登录的 `admin` 用户. 所以你至少使用 `.DbMigrator` 一次. +> 数据库创建后会初始化[种子数据](Data-Seeding.md), 其中包含用于登录的 `admin` 用户. 所以你至少使用 `.DbMigrator` 一次. {{ end }} @@ -336,83 +347,18 @@ yarn start {{ end }} -输入用户名 **admin**,密码 **1q2w3E*** 登录到应用程序. - -![bookstore-home](images/bookstore-home.png) - -应用程序已经启动并执行,你可以基于该启动模板开发应用程序. +输入用户名 **admin**,密码 **1q2w3E*** 登录到应用程序,应用程序已经启动并执行,你可以基于此启动模板开始开发应用程序. #### 移动开发 -ABP平台提供了[React Native](https://reactnative.dev/)模板用于开发移动应用程序. - -> 该解决方案默认 `react-native` 包含了React Native应用程序,如果你不计划使用React Native开发移动应用程序,你可以忽略并删除 `react-native` 文件夹. - -运行在Android模拟器或真机上的React Native应用程序无法连接到 `localhost` 上的后.要修复此问题,需要在本地IP上运行后端. - -{{ if Tiered == "No"}} -![React Native host project local IP entry](images/rn-host-local-ip.png) - -* 打开 `.HttpApi.Host` 文件夹下的 `appsettings.json` 文件. 将 `SelfUrl` 和 `Authority` 属性的 `localhost` 替换为你本地的IP地址. -* 打开 `.HttpApi.Host/Properties` 文件夹下的 `launchSettings.json` 文件. 将 `applicationUrl` 属性的 `localhost` 替换为你本地的IP地址. - -{{ else if Tiered == "Yes" }} - -![React Native tiered project local IP entry](images/rn-tiered-local-ip.png) - -* 打开 `.IdentityServer` 文件夹下的 `appsettings.json` 文件. 将 `SelfUrl` 属性的 `localhost` 替换为你本地的IP地址. -* 打开 `.IdentityServer/Properties` 文件夹下的 `launchSettings.json` 文件. 将 `applicationUrl` 属性的 `localhost` 替换为你本地的IP地址. -* 打开 `.HttpApi.Host` 文件夹下的 `appsettings.json` 文件. 将 `Authority` 属性的 `localhost` 替换为你本地的IP地址. -* 打开 `.HttpApi.Host/Properties` 文件夹下的 `launchSettings.json` 文件. 将 `applicationUrl` 属性的 `localhost` 替换为你本地的IP地址. - -{{ end }} - -按照**运行HTTP API Host (服务端口)**那样运行后端. - -> React Native应用程序不信任自动生成的.NET HTTPS证书,你可以在开发期间使用HTTP. - -在 `react-native` 文件夹打开命令行终端,输入 `yarn` 命令(我们推荐使用[yarn](https://yarnpkg.com/)包管理, `npm install` 在大多数情况下也可以工作). - -```bash -yarn -``` - -* 打开 `react-nativer` 文件夹下的 `Environment.js` 文件. 将 `apiUrl` 和 `issuer` 属性的 `localhost` 替换为你本地的IP地址: - -![react native environment local IP](images/rn-environment-local-ip.png) - -{{ if Tiered == "Yes" }} - -> 确保 `issuer` 与正在运行的 `.IdentityServer` 项目匹配, `apiUrl` 与正在运行的 `.HttpApi.Host` 项目匹配. - -{{else}} - -> 确保 `issuer` 和 `apiUrl` 与正在运行的 `.HttpApi.Host` 项目匹配 - -{{ end }} - -等到所有node模块加载成功, 执行 `yarn start` (或 `npm start`) 命令: - -```bash -yarn start -``` - -等待Expo CLI启动后Expo CLI在 `http://localhost:19002/` 地址要开管理页面. - -![expo-interface](images/rn-expo-interface.png) - -在上面的管理界面中,可以通过使用[Expo Client](https://expo.io/tools#client)扫描二维码,使用Android模拟器,iOS模拟器或真机来启动应用程序. - -> 请参阅expo.io上的[Android Studio模拟器](https://docs.expo.io/workflow/android-simulator/)和[iOS模拟器文档](https://docs.expo.io/workflow/ios-simulator/). - -![React Native login screen on iPhone 11](images/rn-login-iphone.png) +当你创建一个新的应用程序时.该解决方案默认包含 `react-native`文件夹. 这是一个基础的[React Native](https://reactnative.dev/)启动模板,用于开发与基于ABP的后端集成的移动应用程序. -输入用户名 **admin**,密码 **1q2w3E*** 登录到应用程序. +如果你不计划使用React Native开发移动应用程序,你可以忽略并删除 `react-native` 文件夹. -应用程序已经启动并执行,你可以基于该启动模板开发应用程序. +> 你可以在ABP CLI中指定 `-m none` 选项,以使 `react-native` 目录完全不包含在解决方案中 -> [应用程序启动模板](Startup-Templates/Application.md) 包含租户管理和Identity模块. +请参阅"[React Native入门](Getting-Started-React-Native.md)"文档了解如何配置和运行React Native应用程序. ## 下一步是什么? -[应用程序开发教程](Tutorials/Part-1.md) +[Web应用程序开发教程](Tutorials/Part-1.md) diff --git a/docs/zh-Hans/Index.md b/docs/zh-Hans/Index.md index 3dd728c846..d409f1e8ab 100644 --- a/docs/zh-Hans/Index.md +++ b/docs/zh-Hans/Index.md @@ -4,23 +4,17 @@ ABP是一个**开源应用程序框架**,专注于基于ASP.NET Core的Web应用程序开发,但也支持开发其他类型的应用程序. -浏览左侧导航菜单以深入了解文档. +浏览导航菜单以深入了解文档. ## 入门 -使用ABP开发新项目的最简单方法是使用启动模板: +使用ABP开发新Web应用程序的最简单方法是使用[入门](Getting-Started.md)教程: -* [ASP.NET Core MVC (Razor Pages) UI 启动模板](Getting-Started.md?UI=MVC&DB=EF&Tiered=No) -* [Angular UI 启动模板](Getting-Started.md?UI=NG&DB=EF&Tiered=No) - -如果你想从头开始(使用空项目),请手动安装ABP框架并使用以下教程: - -* [控制台应用程序](Getting-Started-Console-Application.md) -* [ASP.NET Core Web 应用程序](Getting-Started-AspNetCore-Application.md) +然后你可以继续进行[Web应用程序开发教程](Tutorials/Part-1.md). ## 源码 -ABP托管在GitHub上, 参见[源代码](https://github.com/abpframework/abp). +ABP托管在GitHub上, 参见[源代码](https://github.com/abpframework). ## 贡献代码 diff --git a/docs/zh-Hans/Modules/Identity.md b/docs/zh-Hans/Modules/Identity.md index ea50006de9..f396de00c1 100644 --- a/docs/zh-Hans/Modules/Identity.md +++ b/docs/zh-Hans/Modules/Identity.md @@ -1,3 +1,5 @@ # 身份管理模块 +身份模块基于Microsoft Identity 库用于管理[组织单元](Organization-Units.md), 角色, 用户和他们的权限. + 参阅 [源码](https://github.com/abpframework/abp/tree/dev/modules/identity). 文档很快会被完善. \ No newline at end of file diff --git a/docs/zh-Hans/Modules/Index.md b/docs/zh-Hans/Modules/Index.md index a24a95c121..dab2f838df 100644 --- a/docs/zh-Hans/Modules/Index.md +++ b/docs/zh-Hans/Modules/Index.md @@ -17,7 +17,7 @@ ABP是一个 **模块化的应用程序框架** 由十多个 **nuget packages** * **Blogging**: 用于创建精美的博客. ABP的[博客](https://blog.abp.io/) 就使用了此模块. * [**Docs**](Docs.md): 用于创建技术文档页面. ABP的[文档](https://abp.io/documents/) 就使用了此模块. * **Feature Management**: 用于保存和管理功能. -* **Identity**: 基于Microsoft Identity管理角色,用户和他们的权限. +* [**Identity**](Identity.md): 基于Microsoft Identity管理组织单元,角色,用户和他们的权限. * **Identity Server**: 集成了IdentityServer4. * **Permission Management**: 用于保存权限. * **Setting Management**: 用于保存设置. diff --git a/docs/zh-Hans/Modules/Organization-Units.md b/docs/zh-Hans/Modules/Organization-Units.md new file mode 100644 index 0000000000..8047b6a48d --- /dev/null +++ b/docs/zh-Hans/Modules/Organization-Units.md @@ -0,0 +1,47 @@ +# 组织单元管理 + +组织单元(OU)是"身份模块"的一部分,用于**对用户和实体进行分层分组**. + +### OrganizationUnit 实体 + +OU由 **OrganizationUnit** 实体表示. 实体有以下基本属性: + +- **TenantId**: OU租户的ID,为null代表是宿主OU. +- **ParentId**: OU的父亲Id,为null为根OU. +- **Code**: 租户唯一的分层字符串代码. +- **DisplayName**: OU的显示名称. + +OrganizationUnit实体的主键(Id)是 **Guid** 类型,派生自[**FullAuditedAggregateRoot**](../Entities.md)类. + +#### Organization 树 + +因为OU可以有父亲,租户所有的OU是一个**树**结构. 树有一些规则: + +- 可以有多个根(`ParentId` 为 `null`). +- OU的第一级子级数有限制(面说明的固定OU代码单位长度). + +#### OU Code + +OU代码由OrganizationUnit Manager自动生成和维护. 看起来像这样的字符串: + +"**00001.00042.00005**" + +此代码可用于轻松查询数据库中OU的所有子级(递归). 代码有一些规则: + +- 必须[租户](../Multi-Tenancy.md)**唯一**的. +- 同一OU的所有子代均以**父OU的代码开头**. +- 它是**固定长度**的,并且基于树中OU的级别,如示例中所示. +- 虽然OU代码是唯一的,但是如果移动OU,它是**可更改的**. +- 你必须通过Id而不是代码引用OU. + +### OrganizationUnit Manager + +可以注入 **OrganizationUnitManager** 管理OU. 常见的用例有: + +- 创建,更改或删除OU. +- 在OU树中移动OU. +- 获取有关OU树及其项的信息 + +#### 多租户 + +`OrganizationUnitManager` 设置为一次性为 **单个租户** 工作,默认是 **当前租户**. \ No newline at end of file diff --git a/docs/zh-Hans/Nightly-Builds.md b/docs/zh-Hans/Nightly-Builds.md index 84ea243b05..020d69e02e 100644 --- a/docs/zh-Hans/Nightly-Builds.md +++ b/docs/zh-Hans/Nightly-Builds.md @@ -29,13 +29,13 @@ 预览NPM包的最新版本可以通过在应用程序的根文件夹命令运行命令安装: ```bash -abp switch-to-preview +abp switch-to-preview --npm ``` 如果你正在使用ABP框架预览包,你可以使用此命令切换回稳定版本: ```bash -abp switch-to-stable +abp switch-to-stable --npm ``` 参阅 [ABP CLI 文档](./CLI.md) 了解更多信息. \ No newline at end of file diff --git a/docs/zh-Hans/Options.md b/docs/zh-Hans/Options.md index c88ff0adda..5bb4b29a8b 100644 --- a/docs/zh-Hans/Options.md +++ b/docs/zh-Hans/Options.md @@ -82,7 +82,7 @@ public class MyService : ITransientDependency 对于此类情况,ABP为 `IServiceCollection` 引入了 `PreConfigure` 和 `ExecutePreConfiguredActions` 扩展方法. 该模式的工作原理如下所述. -1. 你的模块中定义计划选项类. 例: +在你的模块中定义预先选项类. 例: ````csharp public class MyPreOptions diff --git a/docs/zh-Hans/Repositories.md b/docs/zh-Hans/Repositories.md index 18bfa5f77d..ee48186985 100644 --- a/docs/zh-Hans/Repositories.md +++ b/docs/zh-Hans/Repositories.md @@ -193,8 +193,6 @@ var people = ((IMongoQueryable)_personRepository ### 选项-3: IAsyncQueryableExecuter -> 注意,此功能在ABP框架3.0以之后的版本可用,虽然它也可以用于较早的版本,但它提供的方法非常有限. - `IAsyncQueryableExecuter` 是一个用于异步执行 `IQueryable` 对象的服务,**不依赖于实际的数据库提供程序**. **示例: 注入并使用 `IAsyncQueryableExecuter.ToListAsync()` 方法** diff --git a/docs/zh-Hans/Road-Map.md b/docs/zh-Hans/Road-Map.md index f18441cb41..d8a277ac0e 100644 --- a/docs/zh-Hans/Road-Map.md +++ b/docs/zh-Hans/Road-Map.md @@ -9,7 +9,6 @@ 除了中期目录,还有一些[积压](https://github.com/abpframework/abp/milestone/2)的功能, 这里积压中重要功能的列表: -* [#4098](https://github.com/abpframework/abp/issues/4098) / Blob存储Azure提供者. * [#2882](https://github.com/abpframework/abp/issues/2882) / 提供 **gRPC集成** 基础设施 (虽然[已经可以](https://github.com/abpframework/abp-samples/tree/master/GrpcDemo)为你的应用程序创建和使用gRPC端点,但我们计划为所有[标准应用程序模块](https://docs.abp.io/en/abp/latest/Modules/Index)创建端点) * [#236](https://github.com/abpframework/abp/issues/236) 基于权限系统的资源 * [#1754](https://github.com/abpframework/abp/issues/1754) / 多语言实体 diff --git a/docs/zh-Hans/Samples/Index.md b/docs/zh-Hans/Samples/Index.md index c54b2e8ba6..94e5392b51 100644 --- a/docs/zh-Hans/Samples/Index.md +++ b/docs/zh-Hans/Samples/Index.md @@ -7,7 +7,7 @@ 演示如何基于微服务体系结构构建系统的完整解决方案. * [示例的文档](Microservice-Demo.md) -* [源码](https://github.com/abpframework/abp/tree/dev/samples/MicroserviceDemo) +* [源码](https://github.com/abpframework/abp-samples/tree/master/MicroserviceDemo) * [微服务架构文档](../Microservice-Architecture.md) ### Book Store @@ -48,6 +48,8 @@ * **文本模板 Demo**: 文本模板系统的不同用例. * [源码](https://github.com/abpframework/abp-samples/tree/master/TextTemplateDemo) * [文本模板文档](../Text-Templating.md) +* **存储过程 Demo**: 演示如何以最佳实践使用存储过程,数据库视图和函数. + * [源码](https://github.com/abpframework/abp-samples/tree/master/StoredProcedureDemo) * **自定义认证**: 如何为ASP.NET Core MVC / Razor Pages应用程序自定义身份验证的解决方案. * [源码](https://github.com/abpframework/abp-samples/tree/master/Authentication-Customization) * 相关 "[How To](../How-To/Index.md)" 文档: diff --git a/docs/zh-Hans/Samples/Microservice-Demo.md b/docs/zh-Hans/Samples/Microservice-Demo.md index b0134eddde..59977908a1 100644 --- a/docs/zh-Hans/Samples/Microservice-Demo.md +++ b/docs/zh-Hans/Samples/Microservice-Demo.md @@ -28,7 +28,7 @@ ABP框架的主要目标之一就是提供[便捷的基础设施来创建微服 ### 源码 -你可以从[GitHub仓库](https://github.com/abpframework/abp/tree/master/samples/MicroserviceDemo)获取源码. +你可以从[GitHub仓库](https://github.com/abpframework/abp-samples/tree/master/MicroserviceDemo)获取源码. ## 运行解决方案 @@ -43,6 +43,12 @@ ABP框架的主要目标之一就是提供[便捷的基础设施来创建微服 * [ElasticSearch](https://www.elastic.co/downloads/elasticsearch) 6.6+ * [Kibana](https://www.elastic.co/downloads/kibana) 6.6+ (可选,建议显示日志) +### 运行基础设施 + +- 默认情况下运行Docker-compose可以轻松运行预先要求. 如果你没有安装,在windows环境下你可以在[这里](https://docs.docker.com/docker-for-windows/install/)下载并使用[Docker for Windows](https://docs.docker.com/docker-for-windows/). +* 在 `MicroserviceDemo` 目录下运行命令 `docker-compose -f docker-compose.infrastructure.yml -f docker-compose.infrastructure.override.yml up -d` 或使用powershell运行 `MicroserviceDemo/_run` 文件夹下的 `__Run_Infrastructure.ps1` 脚本. +* 如果你不想使用docker运行预先要求的服务在你的本地环境,你需要更改微服务示例解决方案项目中的 `appsettings.json` 文件. + ### 打开并构建Visual Studio解决方案 * 在Visual Studio 2017 (15.9.0+)中打开`samples\MicroserviceDemo\MicroserviceDemo.sln`. diff --git a/docs/zh-Hans/SignalR-Integration.md b/docs/zh-Hans/SignalR-Integration.md index 5e17b1c75c..bdf4a7a786 100644 --- a/docs/zh-Hans/SignalR-Integration.md +++ b/docs/zh-Hans/SignalR-Integration.md @@ -115,7 +115,7 @@ public class MessagingHub : Hub } ```` -`MessasingHub` 集线器的路由为 `/signalr-hubs/messasing`: +`MessagingHub` 集线器的路由为 `/signalr-hubs/messaging`: * 添加了标准 `/signalr-hubs/` 前缀. * 使用**驼峰命名**集线器名称,不包含 `Hub` 后缀. @@ -123,7 +123,7 @@ public class MessagingHub : Hub 如果你想指定路由,你可以使用 `HubRoute` attribute: ````csharp -[HubRoute("/my-messasing-hub")] +[HubRoute("/my-messaging-hub")] public class MessagingHub : Hub { //... diff --git a/docs/zh-Hans/Text-Templating.md b/docs/zh-Hans/Text-Templating.md index 0785dbba29..be9cbb3a79 100644 --- a/docs/zh-Hans/Text-Templating.md +++ b/docs/zh-Hans/Text-Templating.md @@ -4,7 +4,7 @@ ABP框架提供了一个简单有效的文本模板系统,文本模板用于动态渲染基于模板和模型(数据对象)内容: -***TEMPLATE + MODEL ==render==> RENDERED CONTENT*** +Template + Model =renderer=> Rendered Content 它非常类似于 ASP.NET Core Razor View (或 Page): diff --git a/docs/zh-Hans/docs-nav.json b/docs/zh-Hans/docs-nav.json index cae14bdae2..683bf750c0 100644 --- a/docs/zh-Hans/docs-nav.json +++ b/docs/zh-Hans/docs-nav.json @@ -446,6 +446,15 @@ } ] }, + { + "text": "React Native", + "items": [ + { + "text": "入门", + "path": "Getting-Started-React-Native.md" + } + ] + }, { "text": "通用", "items": [ @@ -624,6 +633,10 @@ { "text": "API文档", "path": "{ApiDocumentationUrl}" + }, + { + "text": "官方包", + "path": "https://abp.io/packages" } ] } From 64f27887b079fec35df71cbd4b450bf280e95b77 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Tue, 28 Jul 2020 12:07:54 +0300 Subject: [PATCH 06/43] Better hande generics on API definition endpoint. --- .../AspNetCoreApiDescriptionModelProvider.cs | 70 +++++++++++++++---- .../Volo/Abp/Reflection/TypeHelper.cs | 6 +- .../Http/Modeling/TypeApiDescriptionModel.cs | 11 ++- 3 files changed, 67 insertions(+), 20 deletions(-) diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/AspNetCoreApiDescriptionModelProvider.cs b/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/AspNetCoreApiDescriptionModelProvider.cs index b5c5699757..3439b744e6 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/AspNetCoreApiDescriptionModelProvider.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/AspNetCoreApiDescriptionModelProvider.cs @@ -92,7 +92,9 @@ namespace Volo.Abp.AspNetCore.Mvc var uniqueMethodName = GetUniqueActionName(method); if (controllerModel.Actions.ContainsKey(uniqueMethodName)) { - Logger.LogWarning($"Controller '{controllerModel.ControllerName}' contains more than one action with name '{uniqueMethodName}' for module '{moduleModel.RootPath}'. Ignored: " + method); + Logger.LogWarning( + $"Controller '{controllerModel.ControllerName}' contains more than one action with name '{uniqueMethodName}' for module '{moduleModel.RootPath}'. Ignored: " + + method); return; } @@ -119,11 +121,14 @@ namespace Volo.Abp.AspNetCore.Mvc private static string CalculateControllerName(Type controllerType, ConventionalControllerSetting setting) { - var controllerName = controllerType.Name.RemovePostFix("Controller").RemovePostFix(ApplicationService.CommonPostfixes); + var controllerName = controllerType.Name.RemovePostFix("Controller") + .RemovePostFix(ApplicationService.CommonPostfixes); if (setting?.UrlControllerNameNormalizer != null) { - controllerName = setting.UrlControllerNameNormalizer(new UrlControllerNameNormalizerContext(setting.RootPath, controllerName)); + controllerName = + setting.UrlControllerNameNormalizer( + new UrlControllerNameNormalizerContext(setting.RootPath, controllerName)); } return controllerName; @@ -152,7 +157,8 @@ namespace Volo.Abp.AspNetCore.Mvc return methodNameBuilder.ToString(); } - private static List GetSupportedVersions(Type controllerType, MethodInfo method, ConventionalControllerSetting setting) + private static List GetSupportedVersions(Type controllerType, MethodInfo method, + ConventionalControllerSetting setting) { var supportedVersions = new List(); @@ -185,13 +191,19 @@ namespace Volo.Abp.AspNetCore.Mvc AddCustomTypesToModel(applicationModel, method.ReturnType); } - private static void AddCustomTypesToModel(ApplicationApiDescriptionModel applicationModel, [CanBeNull] Type type) + private static void AddCustomTypesToModel(ApplicationApiDescriptionModel applicationModel, + [CanBeNull] Type type) { if (type == null) { return; } + if (type.IsGenericParameter) + { + return; + } + type = AsyncHelper.UnwrapTask(type); if (type == typeof(object) || @@ -216,18 +228,27 @@ namespace Volo.Abp.AspNetCore.Mvc return; } - /* TODO: Add interfaces - */ + if (type.IsGenericType && !type.IsGenericTypeDefinition) + { + var genericTypeDefinition = type.GetGenericTypeDefinition(); + + AddCustomTypesToModel(applicationModel, genericTypeDefinition); + + foreach (var genericArgument in type.GetGenericArguments()) + { + AddCustomTypesToModel(applicationModel, genericArgument); + } - var typeName = TypeHelper.GetFullNameHandlingNullableAndGenerics(type); + return; + } + var typeName = CalculateTypeName(type); if (applicationModel.Types.ContainsKey(typeName)) { return; } - var typeModel = TypeApiDescriptionModel.Create(type); - applicationModel.Types[typeName] = typeModel; + applicationModel.Types[typeName] = TypeApiDescriptionModel.Create(type); AddCustomTypesToModel(applicationModel, type.BaseType); @@ -237,7 +258,24 @@ namespace Volo.Abp.AspNetCore.Mvc } } - private void AddParameterDescriptionsToModel(ActionApiDescriptionModel actionModel, MethodInfo method, ApiDescription apiDescription) + private static string CalculateTypeName(Type type) + { + if (!type.IsGenericTypeDefinition) + { + return TypeHelper.GetFullNameHandlingNullableAndGenerics(type); + } + + var i = 0; + var argumentList = type + .GetGenericArguments() + .Select(_ => "T" + i++) + .JoinAsString(","); + + return $"{type.FullName.Left(type.FullName.IndexOf('`'))}<{argumentList}>"; + } + + private void AddParameterDescriptionsToModel(ActionApiDescriptionModel actionModel, MethodInfo method, + ApiDescription apiDescription) { if (!apiDescription.ParameterDescriptions.Any()) { @@ -253,8 +291,8 @@ namespace Volo.Abp.AspNetCore.Mvc { var parameterDescription = apiDescription.ParameterDescriptions[i]; var matchedMethodParamName = matchedMethodParamNames.Length > i - ? matchedMethodParamNames[i] - : parameterDescription.Name; + ? matchedMethodParamNames[i] + : parameterDescription.Name; actionModel.AddParameter(ParameterApiDescriptionModel.Create( parameterDescription.Name, @@ -286,7 +324,8 @@ namespace Volo.Abp.AspNetCore.Mvc return modelNameProvider.Name ?? parameterInfo.Name; } - private static string GetRootPath([NotNull] Type controllerType, [CanBeNull] ConventionalControllerSetting setting) + private static string GetRootPath([NotNull] Type controllerType, + [CanBeNull] ConventionalControllerSetting setting) { if (setting != null) { @@ -309,7 +348,8 @@ namespace Volo.Abp.AspNetCore.Mvc return setting.RemoteServiceName; } - var remoteServiceAttr = controllerType.GetCustomAttributes().OfType().FirstOrDefault(); + var remoteServiceAttr = + controllerType.GetCustomAttributes().OfType().FirstOrDefault(); if (remoteServiceAttr?.Name != null) { return remoteServiceAttr.Name; diff --git a/framework/src/Volo.Abp.Core/Volo/Abp/Reflection/TypeHelper.cs b/framework/src/Volo.Abp.Core/Volo/Abp/Reflection/TypeHelper.cs index 83c2c4c38e..0ba2a0d277 100644 --- a/framework/src/Volo.Abp.Core/Volo/Abp/Reflection/TypeHelper.cs +++ b/framework/src/Volo.Abp.Core/Volo/Abp/Reflection/TypeHelper.cs @@ -71,7 +71,7 @@ namespace Volo.Abp.Reflection return true; } - if (includeNullables && IsNullable(type)) + if (includeNullables && IsNullable(type) && type.GenericTypeArguments.Any()) { return IsPrimitiveExtendedInternal(type.GenericTypeArguments[0], includeEnums); } @@ -197,7 +197,7 @@ namespace Volo.Abp.Reflection return $"{genericType.FullName.Left(genericType.FullName.IndexOf('`'))}<{type.GenericTypeArguments.Select(GetFullNameHandlingNullableAndGenerics).JoinAsString(",")}>"; } - return type.FullName; + return type.FullName ?? type.Name; } public static string GetSimplifiedName([NotNull] Type type) @@ -296,7 +296,7 @@ namespace Volo.Abp.Reflection return "number"; } - return type.FullName; + return type.FullName ?? type.Name; } public static object ConvertFromString(string value) diff --git a/framework/src/Volo.Abp.Http/Volo/Abp/Http/Modeling/TypeApiDescriptionModel.cs b/framework/src/Volo.Abp.Http/Volo/Abp/Http/Modeling/TypeApiDescriptionModel.cs index 161584279b..a73c7dd40d 100644 --- a/framework/src/Volo.Abp.Http/Volo/Abp/Http/Modeling/TypeApiDescriptionModel.cs +++ b/framework/src/Volo.Abp.Http/Volo/Abp/Http/Modeling/TypeApiDescriptionModel.cs @@ -15,11 +15,13 @@ namespace Volo.Abp.Http.Modeling public object[] EnumValues { get; set; } + public string[] GenericArguments { get; set; } + public PropertyApiDescriptionModel[] Properties { get; set; } private TypeApiDescriptionModel() { - + } public static TypeApiDescriptionModel Create(Type type) @@ -47,9 +49,14 @@ namespace Volo.Abp.Http.Modeling .GetProperties() .Select(PropertyApiDescriptionModel.Create) .ToArray(); + + if (type.IsGenericTypeDefinition) + { + typeModel.GenericArguments = type.GetGenericArguments().Select(a => a.Name).ToArray(); + } } return typeModel; } } -} \ No newline at end of file +} From d0b1ce8076b2bd7927683e1e5994d4443540445d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Tue, 28 Jul 2020 12:18:21 +0300 Subject: [PATCH 07/43] Do not include base properties to type definitions --- .../Abp/AspNetCore/Mvc/AspNetCoreApiDescriptionModelProvider.cs | 2 +- .../Volo/Abp/Http/Modeling/TypeApiDescriptionModel.cs | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/AspNetCoreApiDescriptionModelProvider.cs b/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/AspNetCoreApiDescriptionModelProvider.cs index 3439b744e6..617650d0e2 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/AspNetCoreApiDescriptionModelProvider.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/AspNetCoreApiDescriptionModelProvider.cs @@ -252,7 +252,7 @@ namespace Volo.Abp.AspNetCore.Mvc AddCustomTypesToModel(applicationModel, type.BaseType); - foreach (var propertyInfo in type.GetProperties()) + foreach (var propertyInfo in type.GetProperties().Where(p => p.DeclaringType == type)) { AddCustomTypesToModel(applicationModel, propertyInfo.PropertyType); } diff --git a/framework/src/Volo.Abp.Http/Volo/Abp/Http/Modeling/TypeApiDescriptionModel.cs b/framework/src/Volo.Abp.Http/Volo/Abp/Http/Modeling/TypeApiDescriptionModel.cs index a73c7dd40d..4b0b0b870c 100644 --- a/framework/src/Volo.Abp.Http/Volo/Abp/Http/Modeling/TypeApiDescriptionModel.cs +++ b/framework/src/Volo.Abp.Http/Volo/Abp/Http/Modeling/TypeApiDescriptionModel.cs @@ -47,6 +47,7 @@ namespace Volo.Abp.Http.Modeling { typeModel.Properties = type .GetProperties() + .Where(p => p.DeclaringType == type) .Select(PropertyApiDescriptionModel.Create) .ToArray(); From 727c519ac9ae8ef4085621c4a85881ff09621ec9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ahmet=20=C3=87otur?= Date: Tue, 28 Jul 2020 12:49:22 +0300 Subject: [PATCH 08/43] fix date filtering --- .../EFCoreIdentitySecurityLogRepository.cs | 4 ++-- .../Identity/MongoDB/MongoIdentitySecurityLogRepository.cs | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/identity/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/EFCoreIdentitySecurityLogRepository.cs b/modules/identity/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/EFCoreIdentitySecurityLogRepository.cs index 137341a25e..6cbc79c6ff 100644 --- a/modules/identity/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/EFCoreIdentitySecurityLogRepository.cs +++ b/modules/identity/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/EFCoreIdentitySecurityLogRepository.cs @@ -95,8 +95,8 @@ namespace Volo.Abp.Identity.EntityFrameworkCore string correlationId = null) { return DbSet.AsNoTracking() - .WhereIf(startTime.HasValue, securityLog => securityLog.CreationTime >= startTime) - .WhereIf(endTime.HasValue, securityLog => securityLog.CreationTime >= endTime) + .WhereIf(startTime.HasValue, securityLog => securityLog.CreationTime.Date >= startTime.Value.Date) + .WhereIf(endTime.HasValue, securityLog => securityLog.CreationTime.Date <= endTime.Value.Date) .WhereIf(!applicationName.IsNullOrWhiteSpace(), securityLog => securityLog.ApplicationName == applicationName) .WhereIf(!identity.IsNullOrWhiteSpace(), securityLog => securityLog.Identity == identity) .WhereIf(!action.IsNullOrWhiteSpace(), securityLog => securityLog.Action == action) diff --git a/modules/identity/src/Volo.Abp.Identity.MongoDB/Volo/Abp/Identity/MongoDB/MongoIdentitySecurityLogRepository.cs b/modules/identity/src/Volo.Abp.Identity.MongoDB/Volo/Abp/Identity/MongoDB/MongoIdentitySecurityLogRepository.cs index 4336abaaae..1990add09e 100644 --- a/modules/identity/src/Volo.Abp.Identity.MongoDB/Volo/Abp/Identity/MongoDB/MongoIdentitySecurityLogRepository.cs +++ b/modules/identity/src/Volo.Abp.Identity.MongoDB/Volo/Abp/Identity/MongoDB/MongoIdentitySecurityLogRepository.cs @@ -101,8 +101,8 @@ namespace Volo.Abp.Identity.MongoDB string correlationId = null) { return GetMongoQueryable() - .WhereIf(startTime.HasValue, securityLog => securityLog.CreationTime >= startTime) - .WhereIf(endTime.HasValue, securityLog => securityLog.CreationTime >= endTime) + .WhereIf(startTime.HasValue, securityLog => securityLog.CreationTime.Date >= startTime.Value.Date) + .WhereIf(endTime.HasValue, securityLog => securityLog.CreationTime.Date <= endTime.Value.Date) .WhereIf(!applicationName.IsNullOrWhiteSpace(), securityLog => securityLog.ApplicationName == applicationName) .WhereIf(!identity.IsNullOrWhiteSpace(), securityLog => securityLog.Identity == identity) From d236b40280dc2e6f4414d578d0b368e492d5575d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ahmet=20=C3=87otur?= Date: Tue, 28 Jul 2020 13:17:14 +0300 Subject: [PATCH 09/43] using addDays --- .../EFCoreIdentitySecurityLogRepository.cs | 4 ++-- .../Identity/MongoDB/MongoIdentitySecurityLogRepository.cs | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/identity/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/EFCoreIdentitySecurityLogRepository.cs b/modules/identity/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/EFCoreIdentitySecurityLogRepository.cs index 6cbc79c6ff..0b1dbe9e3b 100644 --- a/modules/identity/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/EFCoreIdentitySecurityLogRepository.cs +++ b/modules/identity/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/EFCoreIdentitySecurityLogRepository.cs @@ -95,8 +95,8 @@ namespace Volo.Abp.Identity.EntityFrameworkCore string correlationId = null) { return DbSet.AsNoTracking() - .WhereIf(startTime.HasValue, securityLog => securityLog.CreationTime.Date >= startTime.Value.Date) - .WhereIf(endTime.HasValue, securityLog => securityLog.CreationTime.Date <= endTime.Value.Date) + .WhereIf(startTime.HasValue, securityLog => securityLog.CreationTime >= startTime.Value) + .WhereIf(endTime.HasValue, securityLog => securityLog.CreationTime < endTime.Value.AddDays(1).Date) .WhereIf(!applicationName.IsNullOrWhiteSpace(), securityLog => securityLog.ApplicationName == applicationName) .WhereIf(!identity.IsNullOrWhiteSpace(), securityLog => securityLog.Identity == identity) .WhereIf(!action.IsNullOrWhiteSpace(), securityLog => securityLog.Action == action) diff --git a/modules/identity/src/Volo.Abp.Identity.MongoDB/Volo/Abp/Identity/MongoDB/MongoIdentitySecurityLogRepository.cs b/modules/identity/src/Volo.Abp.Identity.MongoDB/Volo/Abp/Identity/MongoDB/MongoIdentitySecurityLogRepository.cs index 1990add09e..cbf20e0393 100644 --- a/modules/identity/src/Volo.Abp.Identity.MongoDB/Volo/Abp/Identity/MongoDB/MongoIdentitySecurityLogRepository.cs +++ b/modules/identity/src/Volo.Abp.Identity.MongoDB/Volo/Abp/Identity/MongoDB/MongoIdentitySecurityLogRepository.cs @@ -101,8 +101,8 @@ namespace Volo.Abp.Identity.MongoDB string correlationId = null) { return GetMongoQueryable() - .WhereIf(startTime.HasValue, securityLog => securityLog.CreationTime.Date >= startTime.Value.Date) - .WhereIf(endTime.HasValue, securityLog => securityLog.CreationTime.Date <= endTime.Value.Date) + .WhereIf(startTime.HasValue, securityLog => securityLog.CreationTime >= startTime.Value) + .WhereIf(endTime.HasValue, securityLog => securityLog.CreationTime < endTime.Value.AddDays(1).Date) .WhereIf(!applicationName.IsNullOrWhiteSpace(), securityLog => securityLog.ApplicationName == applicationName) .WhereIf(!identity.IsNullOrWhiteSpace(), securityLog => securityLog.Identity == identity) From 8007029b05612c23d31e392dfac2c07b7421e079 Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Tue, 28 Jul 2020 15:20:33 +0300 Subject: [PATCH 10/43] chore: reduce angular compiler versions --- npm/ng-packs/package.json | 8 +- npm/ng-packs/tsconfig.base.json | 3 +- npm/ng-packs/yarn.lock | 501 +++++++++++++++----------------- 3 files changed, 243 insertions(+), 269 deletions(-) diff --git a/npm/ng-packs/package.json b/npm/ng-packs/package.json index d54346ce00..4b28ca5849 100644 --- a/npm/ng-packs/package.json +++ b/npm/ng-packs/package.json @@ -39,8 +39,8 @@ "@angular/animations": "~10.0.0", "@angular/cli": "~10.0.0", "@angular/common": "~10.0.0", - "@angular/compiler": "~10.0.0", - "@angular/compiler-cli": "~10.0.0", + "@angular/compiler": "10.0.0", + "@angular/compiler-cli": "10.0.0", "@angular/core": "~10.0.0", "@angular/forms": "~10.0.0", "@angular/language-service": "~10.0.0", @@ -92,6 +92,10 @@ "dependencies": { "tslib": "^2.0.0" }, + "resolutions": { + "@angular/compiler": "10.0.0", + "@angular/compiler-cli": "10.0.0" + }, "config": { "commitizen": { "path": "cz-conventional-changelog" diff --git a/npm/ng-packs/tsconfig.base.json b/npm/ng-packs/tsconfig.base.json index 02971ebe83..d73d137f99 100644 --- a/npm/ng-packs/tsconfig.base.json +++ b/npm/ng-packs/tsconfig.base.json @@ -17,7 +17,8 @@ "paths": { "@abp/ng.core": ["packages/core/src/public-api.ts"], "@abp/ng.theme.shared": ["packages/theme-shared/src/public-api.ts"], - "@abp/ng.theme.shared/extensions": ["packages/theme-shared/src/public-api.ts"], + "@abp/ng.theme.shared/extensions": ["packages/theme-shared/extensions/src/public-api.ts"], + "@abp/ng.components/tree": ["packages/components/tree/src/public-api.ts"], "@abp/ng.theme.basic": ["packages/theme-basic/src/public-api.ts"], "@abp/ng.account": ["packages/account/src/public-api.ts"], "@abp/ng.account/config": ["packages/account/config/src/public-api.ts"], diff --git a/npm/ng-packs/yarn.lock b/npm/ng-packs/yarn.lock index c94fdbb1bc..e93affe9c8 100644 --- a/npm/ng-packs/yarn.lock +++ b/npm/ng-packs/yarn.lock @@ -108,31 +108,31 @@ jest-preset-angular "^8.1.2" lodash "^4.17.10" -"@angular-devkit/architect@0.1000.3": - version "0.1000.3" - resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1000.3.tgz#f23ea9d370edac8b0dd979d2574b12aa9923c3d4" - integrity sha512-8ZszTAkRvGGMXERFvyLT6SJPfJXjNNfHamA76uDPTBXy+EijJ1XVTUr1+SYEe73E4ovtxqxAnsApEFxS7/Ni5w== +"@angular-devkit/architect@0.1000.4": + version "0.1000.4" + resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1000.4.tgz#2effe58361bea2a77d11671743568ab4d50b1554" + integrity sha512-n0DXdrecxXupxKf37sv5Oky5QpQXOHPgLDAmyAwevr31yLEwyZ3OQoVxaC68AMQJFYMlHYYMwi6gdIcFmL6W0g== dependencies: - "@angular-devkit/core" "10.0.3" + "@angular-devkit/core" "10.0.4" rxjs "6.5.5" "@angular-devkit/architect@>=0.900.0 < 0.1000.0": - version "0.901.11" - resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.901.11.tgz#d429b7fc9952fe6a047a9645786a93eed60f8393" - integrity sha512-RmYOq1VEJdQLzwMno+C56WtgscAtoR/7i4tX5b5VxRa2RmQKTxowllYWwgrF5445VGUqzap9H6zJFXvlY2FA0w== + version "0.901.12" + resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.901.12.tgz#e0f78b7282f851d27af6802dc7a261022421b2d5" + integrity sha512-gLlsxa+3JPV1m1gRvRMujOs4xKox6I5BkYmOD1zfu+dB6y3LuBAvHfXA6FaTDVOMBrmSlWnE4PmOmB6xd7wxMA== dependencies: - "@angular-devkit/core" "9.1.11" + "@angular-devkit/core" "9.1.12" rxjs "6.5.4" "@angular-devkit/build-angular@~0.1000.0": - version "0.1000.3" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-0.1000.3.tgz#c5af97a1868adb2d0be9cb97e5d8b3c3c8428d4d" - integrity sha512-r3KJj39AwkYYzbixSM095l4fOGvhyByr0XvmAEu0l5dGGdL4tNXywvgXkNhEVRDo0jZYpTMegiTqzOik/9YCDw== - dependencies: - "@angular-devkit/architect" "0.1000.3" - "@angular-devkit/build-optimizer" "0.1000.3" - "@angular-devkit/build-webpack" "0.1000.3" - "@angular-devkit/core" "10.0.3" + version "0.1000.4" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-0.1000.4.tgz#447ebfc16afaa7638099e2f183144ebdc0e2a1a4" + integrity sha512-jAl2xsj1g4RdQ4MBLSZ8Dsj3MUKjYKK+e73DxVHSTo0166T1p/7gdgSehLHWVlavJLDVM+fjYdt4kP12Z7FBjQ== + dependencies: + "@angular-devkit/architect" "0.1000.4" + "@angular-devkit/build-optimizer" "0.1000.4" + "@angular-devkit/build-webpack" "0.1000.4" + "@angular-devkit/core" "10.0.4" "@babel/core" "7.9.6" "@babel/generator" "7.9.6" "@babel/plugin-transform-runtime" "7.9.6" @@ -140,8 +140,8 @@ "@babel/runtime" "7.9.6" "@babel/template" "7.8.6" "@jsdevtools/coverage-istanbul-loader" "3.0.3" - "@ngtools/webpack" "10.0.3" - ajv "6.12.2" + "@ngtools/webpack" "10.0.4" + ajv "6.12.3" autoprefixer "9.8.0" babel-loader "8.1.0" browserslist "^4.9.1" @@ -196,86 +196,86 @@ worker-plugin "4.0.3" "@angular-devkit/build-ng-packagr@~0.1000.0": - version "0.1000.3" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-ng-packagr/-/build-ng-packagr-0.1000.3.tgz#b9f10e6e1fcc821c7b35a07903f6f7e6e3f41f97" - integrity sha512-k5dEjx8g+ZLLwlViue7931PNxbAbePJ1NdAmXodg2U0W4l5g22egiUFG1DGsMm7p/3LlZGv3q9Kwdg8Ox1acVg== + version "0.1000.4" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-ng-packagr/-/build-ng-packagr-0.1000.4.tgz#a449169210b994491cf6048d07b246daf74eb1c7" + integrity sha512-YcqXv0+mNEAUtFI2XtoabXNxlTfgIsFobeoGwdfe1tVn4b465FIgqFDiNFEgaZ4UZbdbLuk0yrVHpk/f8X/wzw== dependencies: - "@angular-devkit/architect" "0.1000.3" + "@angular-devkit/architect" "0.1000.4" rxjs "6.5.5" -"@angular-devkit/build-optimizer@0.1000.3": - version "0.1000.3" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-optimizer/-/build-optimizer-0.1000.3.tgz#05f7a853a5907ad3381a598896a2e053e47e925d" - integrity sha512-6mFoubg08UCWC0fE2mGoawEt2R1VlGStvUNAP2PRCjoj1ZySa1NnVYoKk65cyAAA3K2o7vSoDZesNq1uABjZbg== +"@angular-devkit/build-optimizer@0.1000.4": + version "0.1000.4" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-optimizer/-/build-optimizer-0.1000.4.tgz#bdeb610b042533dbbc3c14c52f81f2f67bfb6513" + integrity sha512-usscQipxIU2yJVmBdyIDPmJZ+ltOjsX4VbMkGM2IdJHCIi9uEk2E3+YLxzyU5Xl5tXEK61AQt4YWUimt8Kg0GA== dependencies: loader-utils "2.0.0" source-map "0.7.3" tslib "2.0.0" webpack-sources "1.4.3" -"@angular-devkit/build-webpack@0.1000.3": - version "0.1000.3" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1000.3.tgz#2709ccfc5201c2be9301551ef1d815c6aafedfbc" - integrity sha512-+vmn9d9THFubSWS28K1+nElUfOrhT576ptVZMd0a5S24momV8loW3J8iBOBfnGal/P86ZCAyP46kSirlAzH9Jg== +"@angular-devkit/build-webpack@0.1000.4": + version "0.1000.4" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1000.4.tgz#781e7d67dbc80932e933010fea96339e10a7eec8" + integrity sha512-ZPXrm1+UyKbMZtnU+b5jdtZPFDYs8Pu5lHhJDzX6bk0TxtuXws+nwaeUs6WkfwXft8cksxK2WwGr57XX3OT7nw== dependencies: - "@angular-devkit/architect" "0.1000.3" - "@angular-devkit/core" "10.0.3" + "@angular-devkit/architect" "0.1000.4" + "@angular-devkit/core" "10.0.4" rxjs "6.5.5" -"@angular-devkit/core@10.0.3": - version "10.0.3" - resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-10.0.3.tgz#7654766c9f2d3c510beaad8bca3e2a71643c6b8e" - integrity sha512-m27ogjq44j80x64RnEswSvy8UewUqeCVJBbEuY6fzrWoaiCf12sgPlrSCwjwfhtQrLgl1e/i9zYA7U6ulGRXyg== +"@angular-devkit/core@10.0.4": + version "10.0.4" + resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-10.0.4.tgz#105df3e7a7df56005f3637121ef010dd3849f5eb" + integrity sha512-Pe60BJCcAVtOkhXn2c+ql1NfyMCu421jWmKwl1KsW1DXclpGB+UIa560ICBgEwla6DyltMKEN/lX+P4WOskpkQ== dependencies: - ajv "6.12.2" + ajv "6.12.3" fast-json-stable-stringify "2.1.0" magic-string "0.25.7" rxjs "6.5.5" source-map "0.7.3" -"@angular-devkit/core@8.3.28", "@angular-devkit/core@^8.0.3": - version "8.3.28" - resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-8.3.28.tgz#0a733132821d916788a8ed34eff0f9149a9f3a15" - integrity sha512-tM0oPjzftJMdfuAuZF2EspVKtJyhtS2IQ02S7eKTZqkh5p/oVv710aND2D2IN5qdFrzpUSearx6D+Mr/Jo8jrA== +"@angular-devkit/core@8.3.29", "@angular-devkit/core@^8.0.3": + version "8.3.29" + resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-8.3.29.tgz#3477edd6458653f83e6d78684b100c1bef81382f" + integrity sha512-4jdja9QPwR6XG14ZSunyyOWT3nE2WtZC5IMDIBZADxujXvhzOU0n4oWpy6/JVHLUAxYNNgzLz+/LQORRWndcPg== dependencies: - ajv "6.10.2" + ajv "6.12.3" fast-json-stable-stringify "2.0.0" magic-string "0.25.3" rxjs "6.4.0" source-map "0.7.3" -"@angular-devkit/core@9.1.11", "@angular-devkit/core@^9.0.0": - version "9.1.11" - resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-9.1.11.tgz#a2de3de721488164297bfccefcb08f28a7a9108e" - integrity sha512-uiEkDvWfMgPHuO4jVgBEr9Kl/LuxHaWYGD2ZtKsOnnHYZyRGp61ot7UcDF+KNdXTiq01JJH84VTd3IttEewmhQ== +"@angular-devkit/core@9.1.12", "@angular-devkit/core@^9.0.0": + version "9.1.12" + resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-9.1.12.tgz#7cebce51918fe7f3462d8c58c9fbd5a3e2c3b3e7" + integrity sha512-D/GnBeSlmdgGn7EhuE32HuPuRAjvUuxi7Q6WywBI8PSsXKAGnrypghBwMATNnOA24//CgbW2533Y9VWHaeXdeA== dependencies: - ajv "6.12.0" + ajv "6.12.3" fast-json-stable-stringify "2.1.0" magic-string "0.25.7" rxjs "6.5.4" source-map "0.7.3" -"@angular-devkit/schematics@10.0.3": - version "10.0.3" - resolved "https://registry.yarnpkg.com/@angular-devkit/schematics/-/schematics-10.0.3.tgz#84e1a337692ba36cbae145b5e678592878df722f" - integrity sha512-TjA2ZSPCgUK9l4FiRTIQY7DceXMAvNzOMWffy9o3kv2HPtxG9kuBrQXk++Z99zpylK0cAsugV7t/5ANpUkrIiA== +"@angular-devkit/schematics@10.0.4": + version "10.0.4" + resolved "https://registry.yarnpkg.com/@angular-devkit/schematics/-/schematics-10.0.4.tgz#73e0021b01e4c35d3bf54111824793527c5ec6e5" + integrity sha512-k9b73XkKQK8yFbq+dQqJnxAMG3mm/YR1KQlsQzOEVdw8cqqEALLoUXg/73hT5eUnSsNWmyDLBzEAyNtemmmI4w== dependencies: - "@angular-devkit/core" "10.0.3" + "@angular-devkit/core" "10.0.4" ora "4.0.4" rxjs "6.5.5" "@angular-devkit/schematics@^8.0.6": - version "8.3.28" - resolved "https://registry.yarnpkg.com/@angular-devkit/schematics/-/schematics-8.3.28.tgz#80b93755e7712f838fe6a3a4a5f3f44312188a0e" - integrity sha512-WFktBtTynViexVrgHiQV9rKfNS2YNONpi25A8+5tQR5kGKuQyHI3aEN0UMNA2sztWnPQ9AI8xz2uciQsHljgDw== + version "8.3.29" + resolved "https://registry.yarnpkg.com/@angular-devkit/schematics/-/schematics-8.3.29.tgz#b3ba658b90fb3226a80ff12977be7dd583e99c49" + integrity sha512-AFJ9EK0XbcNlO5Dm9vr0OlBo1Nw6AaFXPR+DmHGBdcDDHxqEmYYLWfT+JU/8U2YFIdgrtlwvdtf6UQ3V2jdz1g== dependencies: - "@angular-devkit/core" "8.3.28" + "@angular-devkit/core" "8.3.29" rxjs "6.4.0" "@angular/animations@~10.0.0": - version "10.0.4" - resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-10.0.4.tgz#179e4e63e3f2468ee1fe961c12eb143dd8350b23" - integrity sha512-UzQiWhDHY6wixS1Nh+Jwpzq1weiLGXJPt3Pa4pETpt3Hg7MIUu62dik6OFWuGYQPbn9DJYH+CH+sRxN1GCVjww== + version "10.0.5" + resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-10.0.5.tgz#41c1419f5233cf8adc2139461a552969e1f938c1" + integrity sha512-vHWn7NJiiDAok36GSBJ0y/nqjd4UFl9WGIEsvydUqnyBJ0scuqJa+hADrWwqkK7b/xVW9ARVG00NXmemEPUVGA== dependencies: tslib "^2.0.0" @@ -287,15 +287,15 @@ parse5 "^5.0.0" "@angular/cli@~10.0.0": - version "10.0.3" - resolved "https://registry.yarnpkg.com/@angular/cli/-/cli-10.0.3.tgz#0b8c5e263deaa63d05b6efda790a2000b8a24a85" - integrity sha512-ONK8YG20KuakQetY0lPKDAOA3uBoLurdpSfFspFkcECyDimwJYSEydi3FUnCxEexeoKvrQWcol+q+u9YPoHCyg== - dependencies: - "@angular-devkit/architect" "0.1000.3" - "@angular-devkit/core" "10.0.3" - "@angular-devkit/schematics" "10.0.3" - "@schematics/angular" "10.0.3" - "@schematics/update" "0.1000.3" + version "10.0.4" + resolved "https://registry.yarnpkg.com/@angular/cli/-/cli-10.0.4.tgz#5c13500f3135e43b9e6e53534fdfbc283abb83cc" + integrity sha512-hmr1fXT8+6wOoh7abIg154wdP9QCMPHMShWPEYHks6ARmlRfX5k+BykQMzgI8H6tMNLoR+DAlO5+pPouJEyilQ== + dependencies: + "@angular-devkit/architect" "0.1000.4" + "@angular-devkit/core" "10.0.4" + "@angular-devkit/schematics" "10.0.4" + "@schematics/angular" "10.0.4" + "@schematics/update" "0.1000.4" "@yarnpkg/lockfile" "1.1.0" ansi-colors "4.1.1" debug "4.1.1" @@ -313,16 +313,16 @@ uuid "8.1.0" "@angular/common@~10.0.0": - version "10.0.4" - resolved "https://registry.yarnpkg.com/@angular/common/-/common-10.0.4.tgz#f585e0b1ef723bb96e54af831138184999490e3d" - integrity sha512-9DJMD8GgHz7i2fMz0f1IHZlDSIz83uE6fcH8SIq1iCSWT2dubRRpCX000VpIyhAgfkCgdNCYXQ7VGNsZceoagQ== + version "10.0.5" + resolved "https://registry.yarnpkg.com/@angular/common/-/common-10.0.5.tgz#f1c1b8671dbacc263d5d4f63606a82bc968644ff" + integrity sha512-AKmD/X13q3zzo5uTV/M4dWpAqJ136187rL4VweRc6b5t/oZ3VGcejjElZebgtoyGTye8luIP6fZ/LMb580lBlQ== dependencies: tslib "^2.0.0" -"@angular/compiler-cli@~10.0.0": - version "10.0.4" - resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-10.0.4.tgz#b241f8d41ca01dfed67b5ed4928ab0f13e2879af" - integrity sha512-uZKk6Ab4Pw8qcaXhpORuEoCbPSHWx3TWcs9OXIKIhzOOoMMe9OSt2SzOkHCrySSaik1IhQODnHww7sGRw5mxwQ== +"@angular/compiler-cli@10.0.0": + version "10.0.0" + resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-10.0.0.tgz#6fe60e239b01fd10d3923a3de88877512e0e2d40" + integrity sha512-KusRkS1NKPrjhj3BXoxRgeejuJVy/ra4dcDV3hpscRmR8FSdim3rs2H+lYK2hZ26ISGsYUvC8cHNaMqP2U3X+g== dependencies: canonical-path "1.0.0" chokidar "^3.0.0" @@ -338,36 +338,36 @@ tslib "^2.0.0" yargs "15.3.0" -"@angular/compiler@~10.0.0": - version "10.0.4" - resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-10.0.4.tgz#786a5c1653a429233bee9f53614b5a82c62841ce" - integrity sha512-1rnEmSHJtrKC1QD+PyF36xwMnSqG4Slgi5+PYk3BxIa5vbWBibrYijtd/uCNhscfPSpfb06MVM2mRsrc+BmbQg== +"@angular/compiler@10.0.0": + version "10.0.0" + resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-10.0.0.tgz#15f0a0e5760ebc6fcbc06b0b3bb5f110282cf03d" + integrity sha512-meyJKPLLhkgjxF4dvdJq/sw7MI7KvpgYADoFt2K/5dt48ExXRj+kDlyQC6FAwm9mbgSea/A+JpDG8HMPU7AK5Q== dependencies: tslib "^2.0.0" "@angular/core@~10.0.0": - version "10.0.4" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-10.0.4.tgz#700eda7711b50796298679d245e091cb54155071" - integrity sha512-lA8RDagJ/O0gUX95h00+nnUZs/1QmmhAVWVtHcuI12ueC836tJhLtPGnEx9ib9NXrgRyNwb8lO1xJPmmuQgdQQ== + version "10.0.5" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-10.0.5.tgz#52a11d1b6ce065f6c26d919ab3bea233f51902be" + integrity sha512-zoIxIi/UaRImeC1uD+eIKrdcihvQR/zfbqKgK67IPy/tghijxge1Tbl8FWIAT0ncAj0XH/JHsWnVdUV/TUI+CA== dependencies: tslib "^2.0.0" "@angular/forms@~10.0.0": - version "10.0.4" - resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-10.0.4.tgz#d37fe47d5c91b0ef249066e904338905b2687847" - integrity sha512-SJSYZCfHua9fi/dks1q+ad9OGBblRUn3Q1V4B7r99fJYr39qRiIHcegikhY4h8H3Wk1bJRGJG7iXmxJhjWXK3Q== + version "10.0.5" + resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-10.0.5.tgz#c1e3d7218770e56ab0060b28dbf33d76a481a1c5" + integrity sha512-Bv+KEPjqd+ndl/Z0w1uWsBmvb8Je1JObHRjbKAcW7c4r1CVobm+QJv6r6MDL+FOs78lnrm8baekGLQyHH1uO7g== dependencies: tslib "^2.0.0" "@angular/language-service@~10.0.0": - version "10.0.4" - resolved "https://registry.yarnpkg.com/@angular/language-service/-/language-service-10.0.4.tgz#fe61e5a82c494a3aaabcca4997aff94fa891d12e" - integrity sha512-m5dWL1Lg9M4kDA/kjpdyKsrx9arbIebrgsSzr/QG7cPon6SQMRs9ECZBM+3GalkQghrPO1mLgnrUwFBUH2QNPw== + version "10.0.5" + resolved "https://registry.yarnpkg.com/@angular/language-service/-/language-service-10.0.5.tgz#2e4b24f7440257d3038ad717b19c5c0065684937" + integrity sha512-WJz5+XxOb0ORUERwNEUsX+0L7V4Tm7tz6i/mKAcz5SbE5eVfi+ywT+Zg7xMVRhyEpwDycqLXHK4piBOuGIjk+g== "@angular/localize@~10.0.0": - version "10.0.4" - resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-10.0.4.tgz#2c30eb604c931d98d52a2dea098ebb6a320431a3" - integrity sha512-MMMmgd6zFggWn01q/O8GYY/wRrbVxxR5H/XyQIqCjRQJgcrM0lwBnvVfFRGYa4oDHgik3Ri7Tbi1envhXSCMEA== + version "10.0.5" + resolved "https://registry.yarnpkg.com/@angular/localize/-/localize-10.0.5.tgz#cc51976e0ad3cdd05df0ce8448b85d1f2b9ff492" + integrity sha512-iyZ58H7+WBm9J1K2OLKgFFHno33KOu1FMQKaGdj/XCZaG1PphanOUivNxvxXo/6r71UW6uX/U17Rk//F8M0zPA== dependencies: "@babel/core" "7.8.3" glob "7.1.2" @@ -383,23 +383,23 @@ yargs "15.3.0" "@angular/platform-browser-dynamic@~10.0.0": - version "10.0.4" - resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-10.0.4.tgz#77844511154eeb5eec5e68566767c215654f34e8" - integrity sha512-RoUMqYhUwF6+Mvk/aH0IZQ1D0SDEi9k5EZlx9CJ3RvNuKygk7to+S4vMWVpGxFQlwdS3bytRLKi+Kki6f4nLkg== + version "10.0.5" + resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-10.0.5.tgz#bf0e6af90677e08c38747b1d1b9bacb2463872e0" + integrity sha512-Qa6RM9aJuuw5E7BeGBG9/kCOtssI6Wyzbb/8awzZFF6Fjqom1kef185nwx7SgQs2cdrhqRAgjt0eDJqTfSVb+Q== dependencies: tslib "^2.0.0" "@angular/platform-browser@~10.0.0": - version "10.0.4" - resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-10.0.4.tgz#58131215e414be7ee9d4024e47f61b4a02166b28" - integrity sha512-iaZ8pFS5XUgPCO6/C47TzSFPzlzgleayq099cVOOx9z0t/SwUCSKt4AdAVhyQ8RTnx6l1JmmwBgRaXpScZlqzg== + version "10.0.5" + resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-10.0.5.tgz#0b90263a3858385cfb3ab440358d19eb9e8e91d3" + integrity sha512-bmknyK18yMv+iLCqcrfcpq3/2Ls9mRA1lOe7YhSGpHxM969Rb6Av8vJNW+uv0y7+gTvxacmpiQO8iryr/xvzRg== dependencies: tslib "^2.0.0" "@angular/router@~10.0.0": - version "10.0.4" - resolved "https://registry.yarnpkg.com/@angular/router/-/router-10.0.4.tgz#d68c2711b53f3bdc1508d9b7e90b181b4e09f42c" - integrity sha512-iDLWdmltU5pZ6M/fBKC5Kg2o9Aqb1YJ+oHXFu186BQAl2RNeNCmMQ0VaCxjpMgD/MoSxpuRuGQ6rRrCSFCxtcQ== + version "10.0.5" + resolved "https://registry.yarnpkg.com/@angular/router/-/router-10.0.5.tgz#3e5f8be439b827b1d7bc980d673dec216a2f0769" + integrity sha512-hUGffVOjkdaN5IN9fSipm5ED+XGyfc9yOr5hYr/6YA3H4xaQzXZGlzrrDhAVltTyYalD2LJeXhzlvp59lXgcjg== dependencies: tslib "^2.0.0" @@ -2309,12 +2309,12 @@ jquery "3.5.0" replace-in-file "^4.1.3" -"@ngtools/webpack@10.0.3": - version "10.0.3" - resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-10.0.3.tgz#2f8b2674108f7c36ffcdfc9e9aa024abfe3c7e04" - integrity sha512-0TuvYMCLtsApLtCHXeDBYGEoAQXzsRLpgFxPM5W7CGcj0ecthZO4NYrMAt+J8ky//KmbxqQSFHWmss2cbirIPA== +"@ngtools/webpack@10.0.4": + version "10.0.4" + resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-10.0.4.tgz#25c0a932319f8a26cbc849f4d13587f179fdc494" + integrity sha512-qzWkmVUUvr+2kiCtVLyopRwaBbExWtsGrgNVnJoAhtKKDflT4W33FpyJZJvxHwL6nfGGdb261Gfw7teIlCGjog== dependencies: - "@angular-devkit/core" "10.0.3" + "@angular-devkit/core" "10.0.4" enhanced-resolve "4.1.1" rxjs "6.5.5" webpack-sources "1.4.3" @@ -2402,12 +2402,12 @@ "@octokit/types" "^5.0.0" "@octokit/endpoint@^6.0.1": - version "6.0.4" - resolved "https://registry.yarnpkg.com/@octokit/endpoint/-/endpoint-6.0.4.tgz#da3eafdee1fabd6e5b6ca311efcba26f0dd99848" - integrity sha512-ZJHIsvsClEE+6LaZXskDvWIqD3Ao7+2gc66pRG5Ov4MQtMvCU9wGu1TItw9aGNmRuU9x3Fei1yb+uqGaQnm0nw== + version "6.0.5" + resolved "https://registry.yarnpkg.com/@octokit/endpoint/-/endpoint-6.0.5.tgz#43a6adee813c5ffd2f719e20cfd14a1fee7c193a" + integrity sha512-70K5u6zd45ItOny6aHQAsea8HHQjlQq85yqOMe+Aj8dkhN2qSJ9T+Q3YjUjEYfPRBcuUWNgMn62DQnP/4LAIiQ== dependencies: "@octokit/types" "^5.0.0" - is-plain-object "^3.0.0" + is-plain-object "^4.0.0" universal-user-agent "^6.0.0" "@octokit/plugin-enterprise-rest@^6.0.1": @@ -2454,15 +2454,15 @@ once "^1.4.0" "@octokit/request@^5.2.0": - version "5.4.6" - resolved "https://registry.yarnpkg.com/@octokit/request/-/request-5.4.6.tgz#e8cc8d4cfc654d30428ea92aaa62168fd5ead7eb" - integrity sha512-9r8Sn4CvqFI9LDLHl9P17EZHwj3ehwQnTpTE+LEneb0VBBqSiI/VS4rWIBfBhDrDs/aIGEGZRSB0QWAck8u+2g== + version "5.4.7" + resolved "https://registry.yarnpkg.com/@octokit/request/-/request-5.4.7.tgz#fd703ee092e0463ceba49ff7a3e61cb4cf8a0fde" + integrity sha512-FN22xUDP0i0uF38YMbOfx6TotpcENP5W8yJM1e/LieGXn6IoRxDMnBf7tx5RKSW4xuUZ/1P04NFZy5iY3Rax1A== dependencies: "@octokit/endpoint" "^6.0.1" "@octokit/request-error" "^2.0.0" "@octokit/types" "^5.0.0" deprecation "^2.0.0" - is-plain-object "^3.0.0" + is-plain-object "^4.0.0" node-fetch "^2.3.0" once "^1.4.0" universal-user-agent "^6.0.0" @@ -2497,9 +2497,9 @@ "@types/node" ">= 8" "@octokit/types@^5.0.0", "@octokit/types@^5.0.1": - version "5.1.0" - resolved "https://registry.yarnpkg.com/@octokit/types/-/types-5.1.0.tgz#4377a3f39edad3e60753fb5c3c310756f1ded57f" - integrity sha512-OFxUBgrEllAbdEmWp/wNmKIu5EuumKHG4sgy56vjZ8lXPgMhF05c76hmulfOdFHHYRpPj49ygOZJ8wgVsPecuA== + version "5.2.0" + resolved "https://registry.yarnpkg.com/@octokit/types/-/types-5.2.0.tgz#d075dc23bf293f540739250b6879e2c1be2fc20c" + integrity sha512-XjOk9y4m8xTLIKPe1NFxNWBdzA2/z3PFFA/bwf4EoH6oS8hM0Y46mEa4Cb+KCyj/tFDznJFahzQ0Aj3o1FYq4A== dependencies: "@types/node" ">= 8" @@ -2545,21 +2545,21 @@ estree-walker "^1.0.1" picomatch "^2.2.2" -"@schematics/angular@10.0.3": - version "10.0.3" - resolved "https://registry.yarnpkg.com/@schematics/angular/-/angular-10.0.3.tgz#a4d54389918a7f9c82345d4f639d930f22b62c6b" - integrity sha512-Or2pCqjpPbAvmbxtfMosGwQbNbSL4xodK5Key7678ZAPGB+rcxrVkBI9yxEJ/qzF/LrmMoKqy0JCmVLK7Grpog== +"@schematics/angular@10.0.4": + version "10.0.4" + resolved "https://registry.yarnpkg.com/@schematics/angular/-/angular-10.0.4.tgz#5a84fe6f4e8d8e4e7e2925c05b7689f70dab597f" + integrity sha512-wTpuVfPKALOcOHfD7Y222r/IfqJgpqASyoXdkzf7dZVrLXjNy/XrKuc2Vfn85Ce9lnme0xT5ww+KjbSRc0cSUw== dependencies: - "@angular-devkit/core" "10.0.3" - "@angular-devkit/schematics" "10.0.3" + "@angular-devkit/core" "10.0.4" + "@angular-devkit/schematics" "10.0.4" -"@schematics/update@0.1000.3": - version "0.1000.3" - resolved "https://registry.yarnpkg.com/@schematics/update/-/update-0.1000.3.tgz#d361f23ae49cd3ac9b547b6f4c2470d7ca86aabd" - integrity sha512-Nncdklmzi1tyzkoAh7GlSslxriRhftlmfqPVmFHrrPRttYACtT/QH5qcWsrPgTPpHGINYEHrPjpeljsMoMchBQ== +"@schematics/update@0.1000.4": + version "0.1000.4" + resolved "https://registry.yarnpkg.com/@schematics/update/-/update-0.1000.4.tgz#e0780c5313ee90480f8a26b66c0104f664df64a4" + integrity sha512-NkIUsqnEqG6jhW6b1xXYmgW02WYAN9/IoswnZnaQrbGzxroNVQKURiV4AP22sZLCr7gQ9NJwjXxO5rxbzbY8wg== dependencies: - "@angular-devkit/core" "10.0.3" - "@angular-devkit/schematics" "10.0.3" + "@angular-devkit/core" "10.0.4" + "@angular-devkit/schematics" "10.0.4" "@yarnpkg/lockfile" "1.1.0" ini "1.3.5" npm-package-arg "^8.0.0" @@ -2721,19 +2721,19 @@ integrity sha1-aaI6OtKcrwCX8G7aWbNh7i8GOfY= "@types/node@*", "@types/node@>= 8": - version "14.0.23" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.0.23.tgz#676fa0883450ed9da0bb24156213636290892806" - integrity sha512-Z4U8yDAl5TFkmYsZdFPdjeMa57NOvnaf1tljHzhouaPEp7LCj2JKkejpI1ODviIAQuW4CcQmxkQ77rnLsOOoKw== + version "14.0.26" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.0.26.tgz#22a3b8a46510da8944b67bfc27df02c34a35331c" + integrity sha512-W+fpe5s91FBGE0pEa0lnqGLL4USgpLgs4nokw16SrBBco/gQxuua7KnArSEOd5iaMqbbSHV10vUDkJYJJqpXKA== "@types/node@^12.11.1": - version "12.12.50" - resolved "https://registry.yarnpkg.com/@types/node/-/node-12.12.50.tgz#e9b2e85fafc15f2a8aa8fdd41091b983da5fd6ee" - integrity sha512-5ImO01Fb8YsEOYpV+aeyGYztcYcjGsBvN4D7G5r1ef2cuQOpymjWNQi5V0rKHE6PC2ru3HkoUr/Br2/8GUA84w== + version "12.12.53" + resolved "https://registry.yarnpkg.com/@types/node/-/node-12.12.53.tgz#be0d375933c3d15ef2380dafb3b0350ea7021129" + integrity sha512-51MYTDTyCziHb70wtGNFRwB4l+5JNvdqzFSkbDvpbftEgVUBEE+T5f7pROhWMp/fxp07oNIEQZd5bbfAH22ohQ== "@types/node@^8.0.31": - version "8.10.61" - resolved "https://registry.yarnpkg.com/@types/node/-/node-8.10.61.tgz#d299136ce54bcaf1abaa4a487f9e4bedf6b0d393" - integrity sha512-l+zSbvT8TPRaCxL1l9cwHCb0tSqGAGcjPJFItGGYat5oCTiq1uQQKYg5m7AF1mgnEBzFXGLJ2LRmNjtreRX76Q== + version "8.10.62" + resolved "https://registry.yarnpkg.com/@types/node/-/node-8.10.62.tgz#8d0d0db44a46ae7679d92e2e36d41bf1c3625d6a" + integrity sha512-76fupxOYVxk36kb7O/6KtrAPZ9jnSK3+qisAX4tQMEuGNdlvl7ycwatlHqjoE6jHfVtXFM3pCrCixZOidc5cuw== "@types/normalize-package-data@^2.4.0": version "2.4.0" @@ -3091,41 +3091,11 @@ ajv-errors@^1.0.0: integrity sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ== ajv-keywords@^3.1.0, ajv-keywords@^3.4.1: - version "3.5.1" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.1.tgz#b83ca89c5d42d69031f424cad49aada0236c6957" - integrity sha512-KWcq3xN8fDjSB+IMoh2VaXVhRI0BBGxoYp3rx7Pkb6z0cFjYR9Q9l4yZqqals0/zsioCmocC5H6UvsGD4MoIBA== - -ajv@6.10.2: - version "6.10.2" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.10.2.tgz#d3cea04d6b017b2894ad69040fec8b623eb4bd52" - integrity sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw== - dependencies: - fast-deep-equal "^2.0.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -ajv@6.12.0: - version "6.12.0" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.0.tgz#06d60b96d87b8454a5adaba86e7854da629db4b7" - integrity sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw== - dependencies: - fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -ajv@6.12.2: - version "6.12.2" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.2.tgz#c629c5eced17baf314437918d2da88c99d5958cd" - integrity sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ== - dependencies: - fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" + version "3.5.2" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" + integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== -ajv@^6.1.0, ajv@^6.10.2, ajv@^6.12.2, ajv@^6.5.5: +ajv@6.12.3, ajv@^6.1.0, ajv@^6.10.2, ajv@^6.12.2, ajv@^6.12.3, ajv@^6.5.5: version "6.12.3" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.3.tgz#18c5af38a111ddeb4f2697bd78d68abc1cabd706" integrity sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA== @@ -4116,9 +4086,9 @@ caniuse-api@^3.0.0: lodash.uniq "^4.5.0" caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001032, caniuse-lite@^1.0.30001061, caniuse-lite@^1.0.30001093, caniuse-lite@^1.0.30001097: - version "1.0.30001102" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001102.tgz#3275e7a8d09548f955f665e532df88de0b63741a" - integrity sha512-fOjqRmHjRXv1H1YD6QVLb96iKqnu17TjcLSaX64TwhGYed0P1E1CCWZ9OujbbK4Z/7zax7zAzvQidzdtjx8RcA== + version "1.0.30001107" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001107.tgz#809360df7a5b3458f627aa46b0f6ed6d5239da9a" + integrity sha512-86rCH+G8onCmdN4VZzJet5uPELII59cUzDphko3thQFgAQG1RNa+sVLDoALIhRYmflo5iSIzWY3vu1XTWtNMQQ== canonical-path@1.0.0: version "1.0.0" @@ -4201,7 +4171,7 @@ chartjs-color@^2.1.0: chartjs-color-string "^0.6.0" color-convert "^1.9.3" -"chokidar@>=2.0.0 <4.0.0", chokidar@^3.0.0, chokidar@^3.0.2, chokidar@^3.2.1, chokidar@^3.4.0: +"chokidar@>=2.0.0 <4.0.0", chokidar@^3.0.0, chokidar@^3.0.2, chokidar@^3.2.1, chokidar@^3.4.1: version "3.4.1" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.4.1.tgz#e905bdecf10eaa0a0b1db0c664481cc4cbc22ba1" integrity sha512-TQTJyr2stihpC4Sya9hs2Xh+O2wf+igjL36Y75xx2WdHuiICcn/XJza46Jwt0eT5hVpQOzo3FpY3cj3RVYLX0g== @@ -4305,9 +4275,9 @@ cli-cursor@^3.1.0: restore-cursor "^3.1.0" cli-spinners@^2.0.0, cli-spinners@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.3.0.tgz#0632239a4b5aa4c958610142c34bb7a651fc8df5" - integrity sha512-Xs2Hf2nzrvJMFKimOR7YR0QwZ8fc0u98kdtwN1eNAZzNQgH3vK2pXzff6GJtKh7S5hoJ87ECiAiZFS2fb5Ii2w== + version "2.4.0" + resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.4.0.tgz#c6256db216b878cfba4720e719cec7cf72685d7f" + integrity sha512-sJAofoarcm76ZGpuooaO0eDy8saEy+YoZBLjC4h8srt4jeBnkYeOgqxgsJQTpyt2LjI5PTfLJHSL+41Yu4fEJA== cli-width@^2.0.0: version "2.2.1" @@ -5051,13 +5021,12 @@ css-select@^2.0.0: nth-check "^1.0.2" css-selector-tokenizer@^0.7.1: - version "0.7.2" - resolved "https://registry.yarnpkg.com/css-selector-tokenizer/-/css-selector-tokenizer-0.7.2.tgz#11e5e27c9a48d90284f22d45061c303d7a25ad87" - integrity sha512-yj856NGuAymN6r8bn8/Jl46pR+OC3eEvAhfGYDUe7YPtTPAYrSSw4oAniZ9Y8T5B92hjhwTBLUen0/vKPxf6pw== + version "0.7.3" + resolved "https://registry.yarnpkg.com/css-selector-tokenizer/-/css-selector-tokenizer-0.7.3.tgz#735f26186e67c749aaf275783405cf0661fae8f1" + integrity sha512-jWQv3oCEL5kMErj4wRnK/OPoBi0D+P1FR2cDCKYPaMeD2eW3/mttav8HT4hT1CKopiJI/psEULjkClhvJo4Lvg== dependencies: cssesc "^3.0.0" fastparse "^1.1.2" - regexpu-core "^4.6.0" css-tree@1.0.0-alpha.37: version "1.0.0-alpha.37" @@ -5291,9 +5260,9 @@ data-urls@^2.0.0: whatwg-url "^8.0.0" date-fns@^2.10.0: - version "2.14.0" - resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.14.0.tgz#359a87a265bb34ef2e38f93ecf63ac453f9bc7ba" - integrity sha512-1zD+68jhFgDIM0rF05rcwYO8cExdNqxjq4xP1QKM60Q45mnO6zaMWB4tOzrIr4M4GSLntsKeE4c9Bdl2jhL/yw== + version "2.15.0" + resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.15.0.tgz#424de6b3778e4e69d3ff27046ec136af58ae5d5f" + integrity sha512-ZCPzAMJZn3rNUvvQIMlXhDr4A+Ar07eLeGsGREoWU19a3Pqf5oYa+ccd+B3F6XVtQY6HANMFdOQ8A+ipFnvJdQ== dateformat@^3.0.0: version "3.0.3" @@ -5697,9 +5666,9 @@ ee-first@1.1.1: integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= electron-to-chromium@^1.3.488: - version "1.3.499" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.499.tgz#06949f19877dafa42915e57dfeb4c1cfb86a8649" - integrity sha512-y7FwtQm/8xuLMnYQfBQDYzCpNn+VkSnf4c3Km5TWMNXg7JA5RQBuxmcLaKdDVcIK0K5xGIa7TlxpRt4BdNxNoA== + version "1.3.510" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.510.tgz#dee781ff8b595c0deb60172b75d50b6889757eda" + integrity sha512-sLtGB0znXdmo6lM8hy5wTVo+fLqvIuO8hEpgc0DvPmFZqvBu/WB7AarEwhxVKjf3rVbws/rC8Xf+AlsOb36lJQ== elliptic@^6.0.0, elliptic@^6.5.2: version "6.5.3" @@ -5782,9 +5751,9 @@ env-paths@^2.2.0: integrity sha512-6u0VYSCo/OW6IoD5WCLLy9JUGARbamfSavcNXry/eu8aHVFei6CD3Sw+VGX5alea1i9pgPHW0mbu6Xj0uBh7gA== envinfo@^7.3.1: - version "7.5.1" - resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.5.1.tgz#93c26897225a00457c75e734d354ea9106a72236" - integrity sha512-hQBkDf2iO4Nv0CNHpCuSBeaSrveU6nThVxFGTrq/eDlV716UQk09zChaJae4mZRsos1x4YLY2TaH3LHUae3ZmQ== + version "7.7.2" + resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.7.2.tgz#098f97a0e902f8141f9150553c92dbb282c4cabe" + integrity sha512-k3Eh5bKuQnZjm49/L7H4cHzs2FlL5QjbTB3JrPxoTI8aJG7hVMe4uKyJxSYH4ahseby2waUwk5OaKX/nAsaYgg== err-code@^1.0.0: version "1.1.2" @@ -5957,9 +5926,9 @@ eventemitter3@^4.0.0: integrity sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ== events@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/events/-/events-3.1.0.tgz#84279af1b34cb75aa88bf5ff291f6d0bd9b31a59" - integrity sha512-Rv+u8MLHNOdMjTAFeT3nCjHn2aGlx435FP/sDHNaRhDEMwyI/aB22Kj2qIN8R0cw3z28psEQLYwxVKLsKrMgWg== + version "3.2.0" + resolved "https://registry.yarnpkg.com/events/-/events-3.2.0.tgz#93b87c18f8efcd4202a461aec4dfc0556b639379" + integrity sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg== eventsource@^1.0.7: version "1.0.7" @@ -6158,11 +6127,6 @@ extsprintf@^1.2.0: resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= -fast-deep-equal@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" - integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk= - fast-deep-equal@^3.1.1: version "3.1.3" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" @@ -7727,10 +7691,10 @@ is-plain-object@^2.0.3, is-plain-object@^2.0.4: dependencies: isobject "^3.0.1" -is-plain-object@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-3.0.1.tgz#662d92d24c0aa4302407b0d45d21f2251c85f85b" - integrity sha512-Xnpx182SBMrr/aBik8y+GuR4U1L9FqMSojwDQwPMmxyC6bvEqly9UBCxhauBF5vNh2gwWJNX6oDV7O+OM4z34g== +is-plain-object@^4.0.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-4.1.1.tgz#1a14d6452cbd50790edc7fdaa0aed5a40a35ebb5" + integrity sha512-5Aw8LLVsDlZsETVMhoMXzqsXwQqr/0vlnBYzIXJbYo2F4yYlhLHs+Ez7Bod7IIQKWkJbJfxrWD7pA1Dw1TKrwA== is-reference@^1.1.2: version "1.2.1" @@ -7894,10 +7858,10 @@ jasmine-core@~2.8.0: resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-2.8.0.tgz#bcc979ae1f9fd05701e45e52e65d3a5d63f1a24e" integrity sha1-vMl5rh+f0FcB5F5S5l06XWPxok4= -jasmine-core@~3.5.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-3.5.0.tgz#132c23e645af96d85c8bca13c8758b18429fc1e4" - integrity sha512-nCeAiw37MIMA9w9IXso7bRaLl+c/ef3wnxsoSAlYrzS+Ot0zTG6nU8G/cIfGkqpkjX2wNaIW9RFG0TwIFnG6bA== +jasmine-core@~3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-3.6.0.tgz#491f3bb23941799c353ceb7a45b38a950ebc5a20" + integrity sha512-8uQYa7zJN8hq9z+g8z1bqCfdC8eoDAeVnM5sfqs7KHv9/ifoJ500m018fpFc7RDaO6SWCLCXwo/wPSNcdYTgcw== jasmine@2.8.0: version "2.8.0" @@ -7909,12 +7873,12 @@ jasmine@2.8.0: jasmine-core "~2.8.0" jasmine@^3.3.1: - version "3.5.0" - resolved "https://registry.yarnpkg.com/jasmine/-/jasmine-3.5.0.tgz#7101eabfd043a1fc82ac24e0ab6ec56081357f9e" - integrity sha512-DYypSryORqzsGoMazemIHUfMkXM7I7easFaxAvNM3Mr6Xz3Fy36TupTrAOxZWN8MVKEU5xECv22J4tUQf3uBzQ== + version "3.6.1" + resolved "https://registry.yarnpkg.com/jasmine/-/jasmine-3.6.1.tgz#a20456b309a669b547a3c24bb2120f16f70cfc65" + integrity sha512-Jqp8P6ZWkTVFGmJwBK46p+kJNrZCdqkQ4GL+PGuBXZwK1fM4ST9BizkYgIwCFqYYqnTizAy6+XG2Ej5dFrej9Q== dependencies: - glob "^7.1.4" - jasmine-core "~3.5.0" + fast-glob "^2.2.6" + jasmine-core "~3.6.0" jasminewd2@^2.1.0: version "2.2.0" @@ -8865,9 +8829,9 @@ lru-cache@^6.0.0: yallist "^4.0.0" macos-release@^2.2.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/macos-release/-/macos-release-2.4.0.tgz#837b39fc01785c3584f103c5599e0f0c8068b49e" - integrity sha512-ko6deozZYiAkqa/0gmcsz+p4jSy3gY7/ZsCEokPaYd8k+6/aXGkiTgr61+Owup7Sf+xjqW8u2ElhoM9SEcEfuA== + version "2.4.1" + resolved "https://registry.yarnpkg.com/macos-release/-/macos-release-2.4.1.tgz#64033d0ec6a5e6375155a74b1a1eba8e509820ac" + integrity sha512-H/QHeBIN1fIGJX517pvK8IEK53yQOW7YcEI55oYtgjDdoCQQz7eJS94qt5kNrscReEyuD/JcdFCm2XBEcGOITg== magic-string@0.25.3: version "0.25.3" @@ -9412,9 +9376,9 @@ nanomatch@^1.2.9: to-regex "^3.0.1" native-request@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/native-request/-/native-request-1.0.5.tgz#da67637c0a0ed0758243d1a688d647612f2d5a0a" - integrity sha512-7wU3DvBGAJQxWuMR3F62zrhB7hxNj2DdlC/eBVrCgavc6+ZpFZOqS/PsR7QyUPLMkFk0GvvzoeeOAZGLLnObnA== + version "1.0.7" + resolved "https://registry.yarnpkg.com/native-request/-/native-request-1.0.7.tgz#ff742dc555b4c8f2f1c14b548639ba174e573856" + integrity sha512-9nRjinI9bmz+S7dgNtf4A70+/vPhnd+2krGpy4SUlADuOuSa24IDkNaZ+R/QT1wQ6S8jBdi6wE7fLekFZNfUpQ== natural-compare@^1.4.0: version "1.4.0" @@ -9437,14 +9401,14 @@ next-tick@~1.0.0: integrity sha1-yobR/ogoFpsBICCOPchCS524NCw= ng-packagr@^10.0.0: - version "10.0.2" - resolved "https://registry.yarnpkg.com/ng-packagr/-/ng-packagr-10.0.2.tgz#31aed1cc373a7b84baaef73c1dae29ccc667a57f" - integrity sha512-nmw6nQLwPBVIdU1M0Omo6BLeg5Iugj3hmq7pd+Un7hZ33T+D8vfB88jXUf/DklRPLIwRWlu+5evQNj76VPhYUw== + version "10.0.3" + resolved "https://registry.yarnpkg.com/ng-packagr/-/ng-packagr-10.0.3.tgz#ef3fa4c3dbc826695b8e12b307172e23504e1229" + integrity sha512-M10y3eeAbIaU+NvNZEeGnuoWxZis0GFj9EKetYmmsXMjHxsPqEAZ1PUkKioIo0RPXuR1N4QGW0MSegHp5kBFeg== dependencies: "@rollup/plugin-commonjs" "^14.0.0" "@rollup/plugin-json" "^4.0.0" "@rollup/plugin-node-resolve" "^8.0.0" - ajv "^6.10.2" + ajv "^6.12.3" autoprefixer "^9.6.5" browserslist "^4.7.0" chalk "^4.0.0" @@ -9590,9 +9554,9 @@ node-notifier@^6.0.0: which "^1.3.1" node-releases@^1.1.58: - version "1.1.59" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.59.tgz#4d648330641cec704bff10f8e4fe28e453ab8e8e" - integrity sha512-H3JrdUczbdiwxN5FuJPyCHnGHIFqQ0wWxo+9j1kAXAzqNMAHlo+4I/sYYxpyK0irQ73HgdiyzD32oqQDcU2Osw== + version "1.1.60" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.60.tgz#6948bdfce8286f0b5d0e5a88e8384e954dfe7084" + integrity sha512-gsO4vjEdQaTusZAEebUWp2a5d7dF5DYoIpDG7WySnk7BuZDW+GPpHXoXXuYawRBr/9t5q54tirPz79kFIWg4dA== node-sass-tilde-importer@^1.0.0: version "1.0.2" @@ -10241,9 +10205,9 @@ parse-json@^4.0.0: json-parse-better-errors "^1.0.1" parse-json@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.0.0.tgz#73e5114c986d143efa3712d4ea24db9a4266f60f" - integrity sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw== + version "5.0.1" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.0.1.tgz#7cfe35c1ccd641bce3981467e6c2ece61b3b3878" + integrity sha512-ztoZ4/DYeXQq4E21v169sC8qWINGpcosGv9XhTDvg9/hWvx/zrFkc9BiWxR58OJLHGk28j5BL0SDLeV2WmFZlQ== dependencies: "@babel/code-frame" "^7.0.0" error-ex "^1.3.1" @@ -10458,9 +10422,9 @@ pnp-webpack-plugin@1.6.4: ts-pnp "^1.1.6" portfinder@^1.0.26: - version "1.0.26" - resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.26.tgz#475658d56ca30bed72ac7f1378ed350bd1b64e70" - integrity sha512-Xi7mKxJHHMI3rIUrnm/jjUgwhbYMkp/XKEcZX3aG4BrumLpq3nmoQMX+ClYnDZnZ/New7IatC1no5RX0zo1vXQ== + version "1.0.27" + resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.27.tgz#a41333c116b5e5f3d380f9745ac2f35084c4c758" + integrity sha512-bJ3U3MThKnyJ9Dx1Idtm5pQmxXqw08+XOHhi/Lie8OF1OlhVaBFhsntAIhkZYjfDcCzszSr0w1yCbccThhzgxQ== dependencies: async "^2.6.2" debug "^3.1.1" @@ -10625,14 +10589,14 @@ postcss-modules-extract-imports@^2.0.0: postcss "^7.0.5" postcss-modules-local-by-default@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.2.tgz#e8a6561be914aaf3c052876377524ca90dbb7915" - integrity sha512-jM/V8eqM4oJ/22j0gx4jrp63GSvDH6v86OqyTHHUvk4/k1vceipZsaymiZ5PvocqZOl5SFHiFJqjs3la0wnfIQ== + version "3.0.3" + resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.3.tgz#bb14e0cc78279d504dbdcbfd7e0ca28993ffbbb0" + integrity sha512-e3xDq+LotiGesympRlKNgaJ0PCzoUIdpH0dj47iWAui/kyTgh3CiAr1qP54uodmJhl6p9rN6BoNcdEDVJx9RDw== dependencies: icss-utils "^4.1.1" - postcss "^7.0.16" + postcss "^7.0.32" postcss-selector-parser "^6.0.2" - postcss-value-parser "^4.0.0" + postcss-value-parser "^4.1.0" postcss-modules-scope@^2.2.0: version "2.2.0" @@ -10813,7 +10777,7 @@ postcss-value-parser@^3.0.0, postcss-value-parser@^3.2.3: resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281" integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ== -postcss-value-parser@^4.0.0, postcss-value-parser@^4.0.2, postcss-value-parser@^4.0.3, postcss-value-parser@^4.1.0: +postcss-value-parser@^4.0.2, postcss-value-parser@^4.0.3, postcss-value-parser@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb" integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ== @@ -10836,7 +10800,7 @@ postcss@7.0.31: source-map "^0.6.1" supports-color "^6.1.0" -postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.16, postcss@^7.0.2, postcss@^7.0.27, postcss@^7.0.29, postcss@^7.0.30, postcss@^7.0.32, postcss@^7.0.5, postcss@^7.0.6: +postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.2, postcss@^7.0.27, postcss@^7.0.29, postcss@^7.0.30, postcss@^7.0.32, postcss@^7.0.5, postcss@^7.0.6: version "7.0.32" resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.32.tgz#4310d6ee347053da3433db2be492883d62cec59d" integrity sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw== @@ -11358,11 +11322,16 @@ regenerate@^1.4.0: resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.1.tgz#cad92ad8e6b591773485fbe05a485caf4f457e6f" integrity sha512-j2+C8+NtXQgEKWk49MMP5P/u2GhnahTtVkRIHr5R5lVRlbKvmQ+oS+A5aLKWp2ma5VkT8sh6v+v4hbH0YHR66A== -regenerator-runtime@0.13.5, regenerator-runtime@^0.13.4: +regenerator-runtime@0.13.5: version "0.13.5" resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz#d878a1d094b4306d10b9096484b33ebd55e26697" integrity sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA== +regenerator-runtime@^0.13.4: + version "0.13.7" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz#cac2dacc8a1ea675feaabaeb8ae833898ae46f55" + integrity sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew== + regenerator-transform@^0.14.2: version "0.14.5" resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.5.tgz#c98da154683671c9c4dcb16ece736517e1b7feb4" @@ -11391,7 +11360,7 @@ regexp.prototype.flags@^1.2.0: define-properties "^1.1.3" es-abstract "^1.17.0-next.1" -regexpu-core@^4.6.0, regexpu-core@^4.7.0: +regexpu-core@^4.7.0: version "4.7.0" resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.7.0.tgz#fcbf458c50431b0bb7b45d6967b8192d91f3d938" integrity sha512-TQ4KXRnIn6tz6tjnrXEkD/sshygKH/j5KzK86X8MkeHyZ8qst/LZ89j3X4/8HEIfHANTFIP/AbXakeRhWIl5YQ== @@ -11460,19 +11429,19 @@ replace-in-file@^4.1.3: glob "^7.1.6" yargs "^15.0.2" -request-promise-core@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.3.tgz#e9a3c081b51380dfea677336061fea879a829ee9" - integrity sha512-QIs2+ArIGQVp5ZYbWD5ZLCY29D5CfWizP8eWnm8FoGD1TX61veauETVQbrV60662V0oFBkrDOuaBI8XgtuyYAQ== +request-promise-core@1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.4.tgz#3eedd4223208d419867b78ce815167d10593a22f" + integrity sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw== dependencies: - lodash "^4.17.15" + lodash "^4.17.19" request-promise-native@^1.0.7: - version "1.0.8" - resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.8.tgz#a455b960b826e44e2bf8999af64dff2bfe58cb36" - integrity sha512-dapwLGqkHtwL5AEbfenuzjTYg35Jd6KPytsC2/TLkVMz8rm+tNt72MGUWT1RP/aYawMpN6HqbNGBQaRcBtjQMQ== + version "1.0.9" + resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.9.tgz#e407120526a5efdc9a39b28a5679bf47b9d9dc28" + integrity sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g== dependencies: - request-promise-core "1.1.3" + request-promise-core "1.1.4" stealthy-require "^1.1.1" tough-cookie "^2.3.3" @@ -11708,9 +11677,9 @@ rollup@2.10.9: fsevents "~2.1.2" rollup@^2.8.0: - version "2.21.0" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.21.0.tgz#d2e114533812043d5c9b7b0a83f1b2a242e4e1d6" - integrity sha512-BEGgy+wSzux7Ycq58pRiWEOBZaXRXTuvzl1gsm7gqmsAHxkWf9nyA5V2LN9fGSHhhDQd0/C13iRzSh4bbIpWZQ== + version "2.23.0" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.23.0.tgz#b7ab1fee0c0e60132fd0553c4df1e9cdacfada9d" + integrity sha512-vLNmZFUGVwrnqNAJ/BvuLk1MtWzu4IuoqsH9UWK5AIdO3rt8/CSiJNvPvCIvfzrbNsqKbNzPAG1V2O4eTe2XZg== optionalDependencies: fsevents "~2.1.2" @@ -12733,9 +12702,9 @@ symbol-tree@^3.2.2: integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== symlink-manager@^1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/symlink-manager/-/symlink-manager-1.5.0.tgz#106576eecfb611b6c320d3f643d714583248b33f" - integrity sha512-+5n/FYEhoxsLhMqxjTn74676xox3Nkvw71lMgk0jjeTwHnqiqTjp16IPONy6Rld25dCtrTgcDJ7lYkx+b1Diog== + version "1.5.1" + resolved "https://registry.yarnpkg.com/symlink-manager/-/symlink-manager-1.5.1.tgz#75721cacf2247ad6817b0ca5c033b87c8d4599fd" + integrity sha512-LKRsow5vrpOpk7dOxfj9uWDfb2g+f7GoaJdvTnUm5NyodQuHZJxHZpqsHvoKIvMyrlpkL4qbC8HXx2DbkQ+w8Q== dependencies: arg "^4.1.0" chokidar "^3.0.2" @@ -13076,9 +13045,9 @@ trim-off-newlines@^1.0.0: integrity sha1-n5up2e+odkw4dpi8v+sshI8RrbM= ts-jest@^26.0.0: - version "26.1.3" - resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-26.1.3.tgz#aac928a05fdf13e3e6dfbc8caec3847442667894" - integrity sha512-beUTSvuqR9SmKQEylewqJdnXWMVGJRFqSz2M8wKJe7GBMmLZ5zw6XXKSJckbHNMxn+zdB3guN2eOucSw2gBMnw== + version "26.1.4" + resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-26.1.4.tgz#87d41a96016a8efe4b8cc14501d3785459af6fa6" + integrity sha512-Nd7diUX6NZWfWq6FYyvcIPR/c7GbEF75fH1R6coOp3fbNzbRJBZZAn0ueVS0r8r9ral1VcrpneAFAwB3TsVS1Q== dependencies: bs-logger "0.x" buffer-from "1.x" @@ -13111,9 +13080,9 @@ ts-pnp@^1.1.6: integrity sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw== ts-toolbelt@^6.9.9: - version "6.13.11" - resolved "https://registry.yarnpkg.com/ts-toolbelt/-/ts-toolbelt-6.13.11.tgz#46260d1cff0f2d635931df8d32239b73f2ed4f8d" - integrity sha512-QmvHwAofS1MAn1ndXCn2AVhxJLipaj4tK26SrhBTiydfgKtbLlU2efpIP/8Jocrc9ynNslZqrhqAesruJMlxCQ== + version "6.13.34" + resolved "https://registry.yarnpkg.com/ts-toolbelt/-/ts-toolbelt-6.13.34.tgz#3bd6e1e333a75c5ddab584d293f35494cb8c9222" + integrity sha512-ikZwSUPO+fW+OUnyER1KCG58khTi51Di3+iVdhkK7UshqkL0Ir749B2TQ44o/khkKvDSOMzF8NuVkQLycDXnsg== tsickle@^0.38.1: version "0.38.1" @@ -13572,14 +13541,14 @@ watchpack-chokidar2@^2.0.0: chokidar "^2.1.8" watchpack@^1.6.1: - version "1.7.2" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.7.2.tgz#c02e4d4d49913c3e7e122c3325365af9d331e9aa" - integrity sha512-ymVbbQP40MFTp+cNMvpyBpBtygHnPzPkHqoIwRRj/0B8KhqQwV8LaKjtbaxF2lK4vl8zN9wCxS46IFCU5K4W0g== + version "1.7.4" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.7.4.tgz#6e9da53b3c80bb2d6508188f5b200410866cd30b" + integrity sha512-aWAgTW4MoSJzZPAicljkO1hsi1oKj/RRq/OJQh2PKI2UKL04c2Bs+MBOB+BBABHTXJpf9mCwHN7ANCvYsvY2sg== dependencies: graceful-fs "^4.1.2" neo-async "^2.5.0" optionalDependencies: - chokidar "^3.4.0" + chokidar "^3.4.1" watchpack-chokidar2 "^2.0.0" wbuf@^1.1.0, wbuf@^1.7.3: From 226d58440ba03f914e9d530a5be6b22cc753bbdf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Tue, 28 Jul 2020 16:21:05 +0300 Subject: [PATCH 11/43] Introduce ApiTypeNameHelper --- .../Volo/Abp/Reflection/TypeHelper.cs | 4 ++ .../Abp/Http/Modeling/ApiTypeNameHelper.cs | 38 +++++++++++++++++++ .../MethodParameterApiDescriptionModel.cs | 2 +- .../Modeling/ParameterApiDescriptionModel.cs | 6 +-- .../Modeling/PropertyApiDescriptionModel.cs | 24 +----------- .../ReturnValueApiDescriptionModel.cs | 4 +- 6 files changed, 50 insertions(+), 28 deletions(-) create mode 100644 framework/src/Volo.Abp.Http/Volo/Abp/Http/Modeling/ApiTypeNameHelper.cs diff --git a/framework/src/Volo.Abp.Core/Volo/Abp/Reflection/TypeHelper.cs b/framework/src/Volo.Abp.Core/Volo/Abp/Reflection/TypeHelper.cs index 0ba2a0d277..cf3805249d 100644 --- a/framework/src/Volo.Abp.Core/Volo/Abp/Reflection/TypeHelper.cs +++ b/framework/src/Volo.Abp.Core/Volo/Abp/Reflection/TypeHelper.cs @@ -295,6 +295,10 @@ namespace Volo.Abp.Reflection { return "number"; } + else if (type == typeof(object)) + { + return "object"; + } return type.FullName ?? type.Name; } diff --git a/framework/src/Volo.Abp.Http/Volo/Abp/Http/Modeling/ApiTypeNameHelper.cs b/framework/src/Volo.Abp.Http/Volo/Abp/Http/Modeling/ApiTypeNameHelper.cs new file mode 100644 index 0000000000..46eb9e903d --- /dev/null +++ b/framework/src/Volo.Abp.Http/Volo/Abp/Http/Modeling/ApiTypeNameHelper.cs @@ -0,0 +1,38 @@ +using System; +using Volo.Abp.Reflection; + +namespace Volo.Abp.Http.Modeling +{ + public static class ApiTypeNameHelper + { + public static string GetTypeName(Type type) + { + if (TypeHelper.IsDictionary(type, out var keyType, out var valueType)) + { + return $"{{{GetTypeName(keyType)}:{GetTypeName(valueType)}}}"; + } + + if (TypeHelper.IsEnumerable(type, out var itemType, includePrimitives: false)) + { + return $"[{GetTypeName(itemType)}]"; + } + + return TypeHelper.GetFullNameHandlingNullableAndGenerics(type); + } + + public static string GetSimpleTypeName(Type type) + { + if (TypeHelper.IsDictionary(type, out var keyType, out var valueType)) + { + return $"{{{GetSimpleTypeName(keyType)}:{GetSimpleTypeName(valueType)}}}"; + } + + if (TypeHelper.IsEnumerable(type, out var itemType, includePrimitives: false)) + { + return $"[{GetSimpleTypeName(itemType)}]"; + } + + return TypeHelper.GetSimplifiedName(type); + } + } +} diff --git a/framework/src/Volo.Abp.Http/Volo/Abp/Http/Modeling/MethodParameterApiDescriptionModel.cs b/framework/src/Volo.Abp.Http/Volo/Abp/Http/Modeling/MethodParameterApiDescriptionModel.cs index 603d3994e0..b4e272c2f3 100644 --- a/framework/src/Volo.Abp.Http/Volo/Abp/Http/Modeling/MethodParameterApiDescriptionModel.cs +++ b/framework/src/Volo.Abp.Http/Volo/Abp/Http/Modeling/MethodParameterApiDescriptionModel.cs @@ -31,7 +31,7 @@ namespace Volo.Abp.Http.Modeling Name = parameterInfo.Name, TypeAsString = parameterInfo.ParameterType.GetFullNameWithAssemblyName(), Type = TypeHelper.GetFullNameHandlingNullableAndGenerics(parameterInfo.ParameterType), - TypeSimple = TypeHelper.GetSimplifiedName(parameterInfo.ParameterType), + TypeSimple = ApiTypeNameHelper.GetSimpleTypeName(parameterInfo.ParameterType), IsOptional = parameterInfo.IsOptional, DefaultValue = parameterInfo.HasDefaultValue ? parameterInfo.DefaultValue : null }; diff --git a/framework/src/Volo.Abp.Http/Volo/Abp/Http/Modeling/ParameterApiDescriptionModel.cs b/framework/src/Volo.Abp.Http/Volo/Abp/Http/Modeling/ParameterApiDescriptionModel.cs index 0450861a41..675ba8bf54 100644 --- a/framework/src/Volo.Abp.Http/Volo/Abp/Http/Modeling/ParameterApiDescriptionModel.cs +++ b/framework/src/Volo.Abp.Http/Volo/Abp/Http/Modeling/ParameterApiDescriptionModel.cs @@ -26,7 +26,7 @@ namespace Volo.Abp.Http.Modeling private ParameterApiDescriptionModel() { - + } public static ParameterApiDescriptionModel Create(string name, string nameOnMethod, Type type, bool isOptional = false, object defaultValue = null, string[] constraintTypes = null, string bindingSourceId = null, string descriptorName = null) @@ -36,7 +36,7 @@ namespace Volo.Abp.Http.Modeling Name = name, NameOnMethod = nameOnMethod, Type = type != null ? TypeHelper.GetFullNameHandlingNullableAndGenerics(type) : null, - TypeSimple = type != null ? TypeHelper.GetSimplifiedName(type) : null, + TypeSimple = type != null ? ApiTypeNameHelper.GetSimpleTypeName(type) : null, IsOptional = isOptional, DefaultValue = defaultValue, ConstraintTypes = constraintTypes, @@ -45,4 +45,4 @@ namespace Volo.Abp.Http.Modeling }; } } -} \ No newline at end of file +} diff --git a/framework/src/Volo.Abp.Http/Volo/Abp/Http/Modeling/PropertyApiDescriptionModel.cs b/framework/src/Volo.Abp.Http/Volo/Abp/Http/Modeling/PropertyApiDescriptionModel.cs index 80a3cee91a..610b6bd347 100644 --- a/framework/src/Volo.Abp.Http/Volo/Abp/Http/Modeling/PropertyApiDescriptionModel.cs +++ b/framework/src/Volo.Abp.Http/Volo/Abp/Http/Modeling/PropertyApiDescriptionModel.cs @@ -1,6 +1,5 @@ using System; using System.Reflection; -using Volo.Abp.Reflection; namespace Volo.Abp.Http.Modeling { @@ -16,30 +15,11 @@ namespace Volo.Abp.Http.Modeling //TODO: Validation rules for this property public static PropertyApiDescriptionModel Create(PropertyInfo propertyInfo) { - string typeName; - string simpleTypeName; - - if (TypeHelper.IsDictionary(propertyInfo.PropertyType, out var keyType, out var valueType)) - { - typeName = $"{{{TypeHelper.GetFullNameHandlingNullableAndGenerics(keyType)}:{TypeHelper.GetFullNameHandlingNullableAndGenerics(valueType)}}}"; - simpleTypeName = $"{{{TypeHelper.GetSimplifiedName(keyType)}:{TypeHelper.GetSimplifiedName(valueType)}}}"; - } - else if (TypeHelper.IsEnumerable(propertyInfo.PropertyType, out var itemType, includePrimitives: false)) - { - typeName = $"[{TypeHelper.GetFullNameHandlingNullableAndGenerics(itemType)}]"; - simpleTypeName = $"[{TypeHelper.GetSimplifiedName(itemType)}]"; - } - else - { - typeName = TypeHelper.GetFullNameHandlingNullableAndGenerics(propertyInfo.PropertyType); - simpleTypeName = TypeHelper.GetSimplifiedName(propertyInfo.PropertyType); - } - return new PropertyApiDescriptionModel { Name = propertyInfo.Name, - Type = typeName, - TypeSimple = simpleTypeName + Type = ApiTypeNameHelper.GetTypeName(propertyInfo.PropertyType), + TypeSimple = ApiTypeNameHelper.GetSimpleTypeName(propertyInfo.PropertyType) }; } } diff --git a/framework/src/Volo.Abp.Http/Volo/Abp/Http/Modeling/ReturnValueApiDescriptionModel.cs b/framework/src/Volo.Abp.Http/Volo/Abp/Http/Modeling/ReturnValueApiDescriptionModel.cs index 2e0862ccce..83fa4bb6be 100644 --- a/framework/src/Volo.Abp.Http/Volo/Abp/Http/Modeling/ReturnValueApiDescriptionModel.cs +++ b/framework/src/Volo.Abp.Http/Volo/Abp/Http/Modeling/ReturnValueApiDescriptionModel.cs @@ -23,8 +23,8 @@ namespace Volo.Abp.Http.Modeling return new ReturnValueApiDescriptionModel { Type = TypeHelper.GetFullNameHandlingNullableAndGenerics(unwrappedType), - TypeSimple = TypeHelper.GetSimplifiedName(unwrappedType) + TypeSimple = ApiTypeNameHelper.GetSimpleTypeName(unwrappedType) }; } } -} \ No newline at end of file +} From 02b3325f057b1ef8735bb782c94a0595ed859423 Mon Sep 17 00:00:00 2001 From: liangshiwei Date: Tue, 28 Jul 2020 21:58:15 +0800 Subject: [PATCH 12/43] Update Angular Chinese document --- .../zh-Hans/UI/Angular/Custom-Setting-Page.md | 49 ++--- docs/zh-Hans/UI/Angular/Localization.md | 47 +++- docs/zh-Hans/UI/Angular/Migration-Guide-v3.md | 162 +++++++++++--- docs/zh-Hans/UI/Angular/Modifying-the-Menu.md | 72 +++--- .../UI/Angular/Permission-Management.md | 8 +- docs/zh-Hans/UI/Angular/Service-Proxies.md | 6 +- .../UI/Angular/Subscription-Service.md | 205 ++++++++++++++++++ docs/zh-Hans/UI/Angular/Track-By-Service.md | 2 +- .../UI/Angular/images/custom-settings.png | Bin 8342 -> 108561 bytes .../generated-files-via-generate-proxy.png | Bin 240566 -> 64311 bytes .../UI/Angular/images/locale-error.png | Bin 0 -> 19175 bytes .../images/navigation-menu-search-input.png | Bin 22575 -> 19727 bytes .../AspNetCore/Dynamic-JavaScript-Proxies.md | 3 + docs/zh-Hans/docs-nav.json | 4 + 14 files changed, 447 insertions(+), 111 deletions(-) create mode 100644 docs/zh-Hans/UI/Angular/Subscription-Service.md create mode 100644 docs/zh-Hans/UI/Angular/images/locale-error.png create mode 100644 docs/zh-Hans/UI/AspNetCore/Dynamic-JavaScript-Proxies.md diff --git a/docs/zh-Hans/UI/Angular/Custom-Setting-Page.md b/docs/zh-Hans/UI/Angular/Custom-Setting-Page.md index f7854ac6bf..2b888e8d75 100644 --- a/docs/zh-Hans/UI/Angular/Custom-Setting-Page.md +++ b/docs/zh-Hans/UI/Angular/Custom-Setting-Page.md @@ -2,38 +2,33 @@ 不同的模块提供它们的设置选项卡. 你可以通过3个步骤在项目中自定义设置页面. -1. 创建一个组件 +1. 使用以下命令创建一个组件 -```js -import { Select } from '@ngxs/store'; -import { Component } from '@angular/core'; - -@Component({ - selector: 'app-your-custom-settings', - template: ` - custom-settings works! - `, -}) -export class YourCustomSettingsComponent { - // Your component logic -} +```bash +yarn ng generate component my-settings ``` -2. 添加 `YourCustomSettingsComponent` 到 `AppModule` 中的 `declarations`和 `entryComponents` 数组中. - -3. 打开 `app.component.ts` 在 `ngOnInit` 添加以下内容: +2. 打开 `app.component.ts` 做以下修改: ```js -import { addSettingTab } from '@abp/ng.theme.shared'; -// ... - -ngOnInit() { - addSettingTab({ - component: YourCustomSettingsComponent, - name: 'Type here the setting tab title (you can type a localization key, e.g: AbpAccount::Login', - order: 4, - requiredPolicy: 'type here a policy key' - }); +import { Component } from '@angular/core'; +import { SettingTabsService } from '@abp/ng.core'; // imported SettingTabsService +import { MySettingsComponent } from './my-settings/my-settings.component'; // imported MySettingsComponent + +@Component(/* component metadata */) +export class AppComponent { + constructor(private settingTabs: SettingTabsService) // injected MySettingsComponent + { + // added below + settingTabs.add([ + { + name: 'MySettings', + order: 1, + requiredPolicy: 'policy key here', + component: MySettingsComponent, + }, + ]); + } } ``` diff --git a/docs/zh-Hans/UI/Angular/Localization.md b/docs/zh-Hans/UI/Angular/Localization.md index 60af06a976..f90260fc8b 100644 --- a/docs/zh-Hans/UI/Angular/Localization.md +++ b/docs/zh-Hans/UI/Angular/Localization.md @@ -146,16 +146,6 @@ this.store.selectSnapshot( "build": { "options": { "styles": [ - { - "input": "node_modules/@abp/ng.theme.shared/styles/bootstrap-rtl.min.css", - "inject": false, - "bundleName": "bootstrap-rtl.min" - }, - { - "input": "node_modules/bootstrap/dist/css/bootstrap.min.css", - "inject": true, - "bundleName": "bootstrap-ltr.min" - }, { "input": "node_modules/@fortawesome/fontawesome-free/css/all.min.css", "inject": true, @@ -166,6 +156,16 @@ this.store.selectSnapshot( "inject": true, "bundleName": "fontawesome-v4-shims.min" }, + { + "input": "node_modules/@abp/ng.theme.shared/styles/bootstrap-rtl.min.css", + "inject": false, + "bundleName": "bootstrap-rtl.min" + }, + { + "input": "node_modules/bootstrap/dist/css/bootstrap.min.css", + "inject": true, + "bundleName": "bootstrap-ltr.min" + }, "apps/dev-app/src/styles.scss" ], } @@ -174,6 +174,7 @@ this.store.selectSnapshot( } } } +``` #### 步骤 2. 清除AppComponent中延迟加载的Fontawesome @@ -192,6 +193,32 @@ import { Component } from '@angular/core'; export class AppComponent {} ``` +## 文化名称到语言环境文件名的映射 + +.NET中定义的某些文化名称与Angular语言环境不匹配. 在这种情况下Angular应用程序在运行时会引发如下错误: + +![locale-error](./images/locale-error.png) + +如果你看到这样的错误,你应该像下面这样传递 `cultureNameToLocaleFileNameMapping` 属性到CoreModule的forRoot静态方法. + +```js +// app.module.ts + +@NgModule({ + imports: [ + // other imports + CoreModule.forRoot({ + // other options + cultureNameToLocaleFileNameMapping: { + "DotnetCultureName": "AngularLocaleFileName", + "pt-BR": "pt" // example + } + }) + //... +``` + +查看 [Angular中所有的语言环境文件](https://github.com/angular/angular/tree/master/packages/common/locales). + ## 另请参阅 * [ASP.NET Core中的本地化](../../Localization.md) diff --git a/docs/zh-Hans/UI/Angular/Migration-Guide-v3.md b/docs/zh-Hans/UI/Angular/Migration-Guide-v3.md index 36afffa54f..eb16c21e03 100644 --- a/docs/zh-Hans/UI/Angular/Migration-Guide-v3.md +++ b/docs/zh-Hans/UI/Angular/Migration-Guide-v3.md @@ -18,7 +18,7 @@ yarn ng update @angular/cli @angular/core --force - 更新你的package.json并安装新的软件包 - 修改tsconfig.json文件创建一个"Solution Style"配置 -- 重命名 `browserlist` 为 `.browserlistrc` +- 重命名 `browserslist` 为 `.browserslistrc` 另一方面,如果你单独使用 `yarn ng update` 命令检查首先要更新哪些包会更好. Angular会给你一个要更新的包列表. @@ -144,42 +144,33 @@ export class AppModule {} AppRoutingModule: ```js -import { DynamicLayoutComponent } from '@abp/ng.core'; import { NgModule } from '@angular/core'; import { RouterModule, Routes } from '@angular/router'; const routes: Routes = [ { path: '', - component: DynamicLayoutComponent, - children: [ - { - path: '', - pathMatch: 'full', - loadChildren: () => import('./home/home.module') - .then(m => m.HomeModule), - }, - { - path: 'account', - loadChildren: () => import('@abp/ng.account') - .then(m => m.AccountModule.forLazy({ redirectUrl: '/' })), - }, - { - path: 'identity', - loadChildren: () => import('@abp/ng.identity') - .then(m => m.IdentityModule.forLazy()), - }, - { - path: 'tenant-management', - loadChildren: () => import('@abp/ng.tenant-management') - .then(m => m.TenantManagementModule.forLazy()), - }, - { - path: 'setting-management', - loadChildren: () => import('@abp/ng.setting-management') - .then(m => m.SettingManagementModule.forLazy()), - }, - ], + pathMatch: 'full', + loadChildren: () => import('./home/home.module').then(m => m.HomeModule), + }, + { + path: 'account', + loadChildren: () => + import('@abp/ng.account').then(m => m.AccountModule.forLazy({ redirectUrl: '/' })), + }, + { + path: 'identity', + loadChildren: () => import('@abp/ng.identity').then(m => m.IdentityModule.forLazy()), + }, + { + path: 'tenant-management', + loadChildren: () => + import('@abp/ng.tenant-management').then(m => m.TenantManagementModule.forLazy()), + }, + { + path: 'setting-management', + loadChildren: () => + import('@abp/ng.setting-management').then(m => m.SettingManagementModule.forLazy()), }, ]; @@ -190,7 +181,7 @@ const routes: Routes = [ export class AppRoutingModule {} ``` -> 你可能已经注意到我们在top级别路由组件上使用了 `DynamicLayoutComponent`. 我们这样做是为了避免不必要的渲染和闪烁. 这不是强制的,但是我们建议在你的应用程序路由中做同样的事情. +> 你可能已经注意到我们在AppComponent模板中使用了 `` 而不是 ``. 我们这样做是为了避免不必要的渲染和闪烁. 这不是强制的,但是我们建议在你的应用程序路由中做同样的事情. #### 如何迁移? @@ -200,7 +191,7 @@ export class AppRoutingModule {} - 调用 `ThemeBasicModule` 的静态 `forRoot` 方法(或商业上的 `ThemeLeptonModule`),并从导入中删除 `SharedModule`(除非已在其中添加了根模块所需的任何内容). - 在app路由模块中直接导入延迟ABP模块 (如 `() => import('@abp/ng.identity').then(...)`). - 在所有延迟模块 `then` 中调用的静态 `forLazy` 方法,即使配置没有被传递. -- [可选]使用 `DynamicLayoutComponent` 添加空的父路由,获得更好的性能和UX. +- [可选]添加 `` 到AppComponent模板并且删除 ``,获得更好的性能和UX. ### RoutesService @@ -233,9 +224,10 @@ export class AppRoutingModule {} 从ABP v3开始,我们已切换到经过严格测试,执行良好的数据表格:[ngx-datatable](https://github.com/swimlane/ngx-datatable). 所有的ABP模块都已经实现了ngx-datatable. `ThemeSharedModule` 已经导出了 `NgxDatatableModule`. 因此如果你在终端运行 `yarn add @swimlane/ngx-datatable` 来安装这个包,它将在你的应用的所有模块中可用. -为了正确设置样式,你需要在angular.json文件的样式部分中添加以下内容: +为了正确设置样式,你需要在angular.json文件的样式部分中添加以下内容(在其他所有元素之上): ```json +"styles": [ { "input": "node_modules/@swimlane/ngx-datatable/index.css", "inject": true, @@ -250,7 +242,9 @@ export class AppRoutingModule {} "input": "node_modules/@swimlane/ngx-datatable/themes/material.css", "inject": true, "bundleName": "ngx-datatable-material" - } + }, + // other styles +] ``` 由于尚未删除 `abp-table`, 因此以前由ABP v2.x构建的模块不会突然丢失所有. 但是它们的外观与内置ABP v3模块有所不同, 因此你可能希望将这些模块中的表转换为ngx-datatable. 为了减少将abp-table转换为ngx-datatable所需的工作量,我们修改了 `ListService` 以使其与 `ngx-datatable` 一起很好地工作,并引入了两个新指令: `NgxDatatableListDirective` 和 `NgxDatatableDefaultDirective`. @@ -348,7 +342,103 @@ export class SomeComponent { - 如果可以的话,根据上面的例子更新你的模. - 如果你稍后需要这样做,并且打算保留abp-table一段时间,请确保根据此处描述的[破坏性更改](List-Service.md)更新分页. -**重要说明:**abp-table没有被删除,但已被弃用并在以后的版本中删除. 请考虑切换到ngx-datatable。 +**重要说明:**abp-table没有被删除,但已被弃用并在以后的版本中删除. 请考虑切换到ngx-datatable. + +### 扩展系统[商业版] + +扩展程序系统现在是开源的, 可以从 `@abp/ng.theme.shared/extensions` 而不是从 `@volo/abp.commercial.ng.ui` 中获取. 同样,根据config软件包的新结构,如上所述通过 `forLazy` 静态方法进行配置. + +#### 如何迁移? + +如果你以前从未使用过扩展系统,则无需执行任何操作. 否则请再次检查文档以查看更改. 扩展系统本身的工作原理与以前相同,唯一的变化是你从中导入的包,静态方法以及您将贡献者传递给的模块. + + +### Lepton 主题Logo [商业版] + +在ABP v2.x中,Lepton每个颜色主题都有一个亮徽标和一个暗徽标. 我们意识到我们可以使它仅使用一个浅色和一个深色徽标. 因此我们更改了Lepton查找徽标图像的方式,现在你只需要在项目中包含 `logo-light.png` 和 `logo-dark.png`. + +#### 如何迁移? + +如果你之前已切换模板徽标PNG,则更改很简单: + +- 转到 `/assets/images/logo` 目录. +- 重命名 `theme1.png` 为 `logo-light.png` 并且重命名 `theme1-reverse.png` 为 `logo-dark.png`. +- 删除所有其他 `theme*.png` 文件. + +如果你更换了徽标组件,则更改有些不同,但仍然很简单. `LayoutStateService` 有两个新成员: `primaryLogoColor` 和 `secondaryLogoColor`. 它们有 `'light'` 和 `'dark'` 设置值做为可观察流. 你可以使用 `async` 管道在自定义徽标组件模板中使用它们的值. 这是一个完整的示例,其中涵盖了主要和辅助(帐户)布局徽标. + +```js +import { AddReplaceableComponent } from '@abp/ng.core'; +import { CommonModule } from '@angular/common'; +import { APP_INITIALIZER, Component, Injector, NgModule } from '@angular/core'; +import { Store } from '@ngxs/store'; +import { eAccountComponents } from '@volo/abp.ng.account'; +import { + AccountLayoutComponent, + eThemeLeptonComponents, + LayoutStateService, +} from '@volo/abp.ng.theme.lepton'; +import { Observable } from 'rxjs'; +import { map } from 'rxjs/operators'; + +@Component({ + template: ` + + + + + + `, +}) +export class LogoComponent { + isAccount: boolean; + + logoColor: Observable<'dark' | 'light'>; + + get logoUrl() { + return this.logoColor.pipe(map(color => `url(/assets/images/logo/logo-${color}.png)`)); + } + + constructor(injector: Injector) { + const layout = injector.get(LayoutStateService); + this.isAccount = Boolean(injector.get(AccountLayoutComponent, false)); + this.logoColor = this.isAccount ? layout.secondaryLogoColor : layout.primaryLogoColor; + } +} + +@NgModule({ + imports: [CommonModule], + declarations: [LogoComponent], + exports: [LogoComponent], +}) +export class LogoModule {} + +export const APP_LOGO_PROVIDER = [ + { provide: APP_INITIALIZER, useFactory: switchLogos, multi: true, deps: [Store] }, +]; + +export function switchLogos(store: Store) { + return () => { + store.dispatch( + new AddReplaceableComponent({ + component: LogoComponent, + key: eThemeLeptonComponents.Logo, + }), + ); + + store.dispatch( + new AddReplaceableComponent({ + component: LogoComponent, + key: eAccountComponents.Logo, + }), + ); + }; +} +``` + +只要将 `APP_LOGO_PROVIDER` 添加到根模块的提供程序(通常是 `AppModule` ),你就会有一个调整主题颜色的自定义徽标组件. ### 过时的接口 diff --git a/docs/zh-Hans/UI/Angular/Modifying-the-Menu.md b/docs/zh-Hans/UI/Angular/Modifying-the-Menu.md index 1f4e626bd3..82c1fe41ad 100644 --- a/docs/zh-Hans/UI/Angular/Modifying-the-Menu.md +++ b/docs/zh-Hans/UI/Angular/Modifying-the-Menu.md @@ -2,8 +2,6 @@ 菜单在 @abp/ng.theme.basic包 `ApplicationLayoutComponent` 内部. 有几种修改菜单的方法,本文档介绍了这些方法. 如果你想完全替换菜单,请参考[组件替换文档]了解如何替换布局. - - ## 如何添加Logo 环境变量中的 `logoUrl` 是logo的url. @@ -212,51 +210,65 @@ this.routes.remove(['Your navigation']); ## 如何在菜单的右侧添加元素 -右侧的元素存储在 @abp/ng.theme.basic 包的 `LayoutState` 中. - -`LayoutStateService` 的 `dispatchAddNavigationElement` 方法添加元素到右侧的菜单. - -你可以通过将模板添加到 `app.component` 调用 `dispatchAddNavigationElement` 方法来插入元素: +你可以通过调用 `NavItemsService` 的 `addItems` 方法将元素添加到菜单的右侧. 这是一个单例服务,即以根身份提供. 因此你可以立即注入并使用它. ```js -import { Layout, LayoutStateService } from '@abp/ng.theme.basic'; // added this line +import { NavItemsService } from '@abp/ng.theme.shared'; +import { Component } from '@angular/core'; @Component({ - selector: 'app-root', template: ` - - - + `, }) -export class AppComponent { - // Added ViewChild - @ViewChild('search', { static: false, read: TemplateRef }) searchElementRef: TemplateRef; - - constructor(private layout: LayoutStateService) {} // injected LayoutStateService +export class MySearchInputComponent {} - // Added ngAfterViewInit - ngAfterViewInit() { - const newElement = { - name: 'Search', - element: this.searchElementRef, - order: 1, - } as Layout.NavigationElement; - this.layout.dispatchAddNavigationElement(newElement); +@Component(/* component metadata */) +export class AppComponent { + constructor(private navItems: NavItemsService) { + navItems.addItems([ + { + id: 'MySearchInput', + order: 1, + component: MySearchInputComponent, + }, + { + id: 'SignOutIcon', + html: '', + action: () => console.log('Clicked the sign out icon'), + order: 101, // puts as last element + }, + ]); } } ``` -上面我们在菜单添加了一个搜索输入,最终UI如下: +上面我们在菜单添加了一个搜索输入和退出登录图标,最终UI如下: ![navigation-menu-search-input](./images/navigation-menu-search-input.png) -## 如何删除右侧菜单元素 +> 默认元素的排序为 `100`. 如果要将自定义元素放在默认值之前,请指定一个排序,最高为 `99`. 如果要将自定义元素放在默认值之后,请指定排序从 `101` 开始. 最后如果必须在默认值之间放置一个项目,请按如下所述修补默认元素顺序. 但有一个警告:我们将来可能会添加另一个默认元素,排序也为 `100`. + +## 如何修补或删除右侧部分元素 + +`NavItemsService` 的 `patchItem` 方法通过 `id` 查找元素,并将配置替换为第二个参数传递的新配置. `removeItem` 方法会找到一个元素并删除. + +```js +export class AppComponent { + constructor(private navItems: NavItemsService) { + navItems.patchItem(eThemeBasicComponents.Languages, { + requiredPolicy: 'new policy here', + order: 1, + }); + + navItems.removeItem(eThemeBasicComponents.CurrentUser); + } +} +``` -TODO +* 使用新的 `requiredPolicy` 和新的 `order` 修补了语言下拉菜单元素. +* 删除了当前用户的下拉菜单元素. ## 下一步是什么? diff --git a/docs/zh-Hans/UI/Angular/Permission-Management.md b/docs/zh-Hans/UI/Angular/Permission-Management.md index 5c1ba5b4fb..7f28035105 100644 --- a/docs/zh-Hans/UI/Angular/Permission-Management.md +++ b/docs/zh-Hans/UI/Angular/Permission-Management.md @@ -55,7 +55,9 @@ export class YourComponent { 如果你想要在导航过程中控制经过身份验证的用户对路由的访问权限,可以使用 `PermissionGuard`. -将 `requiredPolicy` 添加到路由模块中的 `routes`属性. +* 从@abp/ng.core导入PermissionGuard. +* 添加 `canActivate: [PermissionGuard]` 到你的路由对象. +* 添加 `requiredPolicy` 到路由模块路由的 `data` 属性. ```js import { PermissionGuard } from '@abp/ng.core'; @@ -66,9 +68,7 @@ const routes: Routes = [ component: YourComponent, canActivate: [PermissionGuard], data: { - routes: { - requiredPolicy: 'AbpIdentity.Roles.Create', - }, + requiredPolicy: 'YourProjectName.YourComponent', // policy key for your component }, }, ]; diff --git a/docs/zh-Hans/UI/Angular/Service-Proxies.md b/docs/zh-Hans/UI/Angular/Service-Proxies.md index 29aafebdae..2824bc44a7 100644 --- a/docs/zh-Hans/UI/Angular/Service-Proxies.md +++ b/docs/zh-Hans/UI/Angular/Service-Proxies.md @@ -33,7 +33,7 @@ abp generate-proxy 服务的 `providerIn` 属性定义为 `'root'`. 因此无需将服务作为提供程序添加到模块. 你可以通过将服务注入到构造函数中来使用它,如下所示: ```js -import { AbpApplicationConfigurationService } from '../app/shared/services'; +import { AbpApplicationConfigurationService } from '../abp/applicationconfiguration/services'; //... export class HomeComponent{ @@ -49,14 +49,14 @@ Angular编译器会从最终输出中删除那些没有被注入的服务. 参 ### Models -生成的模型与后端中的dto匹配. 每个模型在 `src/app/*/shared/models` 文件夹生成一个类. +生成的模型与后端中的dto匹配. 每个模型在 `src/app/*/models` 文件夹生成一个类. `@abp/ng.core` 包有一些[基类](https://github.com/abpframework/abp/blob/dev/npm/ng-packs/packages/core/src/lib/models/dtos.ts). 一些模型扩展了这些类. 可以如下所示创建一个类的实例: ```js -import { IdentityRoleCreateDto } from '../identity/shared/models'; +import { IdentityRoleCreateDto } from '../identity/role/models' //... const instance = new IdentityRoleCreateDto({name: 'Role 1', isDefault: false, isPublic: true}) ``` diff --git a/docs/zh-Hans/UI/Angular/Subscription-Service.md b/docs/zh-Hans/UI/Angular/Subscription-Service.md new file mode 100644 index 0000000000..fb248d4d95 --- /dev/null +++ b/docs/zh-Hans/UI/Angular/Subscription-Service.md @@ -0,0 +1,205 @@ +# 轻松取消将你的观察取消订阅 + +`SubscriptionService` 是一个实用工具服务,它提供了一个简单的取消订阅Angular组件和指令中的RxJS可观察对象的功能. 请参见[为什么在实例销毁时要取消订阅可观察对象](https://angular.io/guide/lifecycle-hooks#cleaning-up-on-instance-destruction). + +## 入门 + +你必须在组件或指令级别提供 `SubscriptionService`,因为它没有在**根中提供**,而且它与组件/指令的生命周期同步. 只有在此之后,您才能注入并开始使用它。 + +```js +import { SubscriptionService } from '@abp/ng.core'; + +@Component({ + /* class metadata here */ + providers: [SubscriptionService], +}) +class DemoComponent { + count$ = interval(1000); + + constructor(private subscription: SubscriptionService) { + this.subscription.addOne(this.count$, console.log); + } +} +``` + +由 `count$` 发出的值将被记录下来,直到组件被销毁. 你不必手动退订. + +> 请不要尝试使用单例 `SubscriptionService`. 这是行不通的. + +## 用法 + +## 如何订阅可观察对象 + +你可以传递 `next` 函数和 `error` 函数. + + + +```js +@Component({ + /* class metadata here */ + providers: [SubscriptionService], +}) +class DemoComponent implements OnInit { + constructor(private subscription: SubscriptionService) {} + + ngOnInit() { + const source$ = interval(1000); + const nextFn = value => console.log(value * 2); + const errorFn = error => { + console.error(error); + return of(null); + }; + + this.subscription.addOne(source$, nextFn, errorFn); + } +} +``` + +或者,你可以传递一个观察者. + +```js +@Component({ + /* class metadata here */ + providers: [SubscriptionService], +}) +class DemoComponent implements OnInit { + constructor(private subscription: SubscriptionService) {} + + ngOnInit() { + const source$ = interval(1000); + const observer = { + next: value => console.log(value * 2), + complete: () => console.log('DONE'), + }; + + this.subscription.addOne(source$, observer); + } +} +``` + +`addOne` 方法返回单个订阅以便你以后使用它. 有关详细信息,请参见下面的主题. + +### 实例销毁之前如何退订 + +有两种方法可以做到这一点. 如果你不想再次订阅.可以使用 `closeAll` 方法. + +```js +@Component({ + /* class metadata here */ + providers: [SubscriptionService], +}) +class DemoComponent implements OnInit { + constructor(private subscription: SubscriptionService) {} + + ngOnInit() { + this.subscription.addOne(interval(1000), console.log); + } + + onSomeEvent() { + this.subscription.closeAll(); + } +} +``` + +这将清除所有订阅,你将无法再次订阅. 如果你打算添加另一个订阅,可以使用`reset`方法. + +```js +@Component({ + /* class metadata here */ + providers: [SubscriptionService], +}) +class DemoComponent implements OnInit { + constructor(private subscription: SubscriptionService) {} + + ngOnInit() { + this.subscription.addOne(interval(1000), console.log); + } + + onSomeEvent() { + this.subscription.reset(); + this.subscription.addOne(interval(1000), console.warn); + } +} +``` + +### 如何取消单个订阅 + +有时你可能需要取消订阅特定的订阅,但保留其他订阅. 在这种情况下,你可以使用 `closeOne` 方法. + +```js +@Component({ + /* class metadata here */ + providers: [SubscriptionService], +}) +class DemoComponent implements OnInit { + countSubscription: Subscription; + + constructor(private subscription: SubscriptionService) {} + + ngOnInit() { + this.countSubscription = this.subscription.addOne( + interval(1000), + console.log + ); + } + + onSomeEvent() { + this.subscription.closeOne(this.countSubscription); + console.log(this.countSubscription.closed); // true + } +} +``` + +### 如何从跟踪的订阅中删除单个订阅 + +你可能需要控制特定的订阅. 在这种情况下你可以使用 `removeOne` 方法将其从跟踪的订阅中删除. + +```js +@Component({ + /* class metadata here */ + providers: [SubscriptionService], +}) +class DemoComponent implements OnInit { + countSubscription: Subscription; + + constructor(private subscription: SubscriptionService) {} + + ngOnInit() { + this.countSubscription = this.subscription.addOne( + interval(1000), + console.log + ); + } + + onSomeEvent() { + this.subscription.removeOne(this.countSubscription); + console.log(this.countSubscription.closed); // false + } +} +``` + +### 如何检查是否全部取消订阅 + +使用 `isClosed` 检查 `closeAll` 是否被调用. + +```js +@Component({ + /* class metadata here */ + providers: [SubscriptionService], +}) +class DemoComponent implements OnInit { + constructor(private subscription: SubscriptionService) {} + + ngOnInit() { + this.subscription.addOne(interval(1000), console.log); + } + + onSomeEvent() { + console.log(this.subscription.isClosed); // false + } +} +``` + +## 下一步是什么? + +- [ListService](./List-Service.md) diff --git a/docs/zh-Hans/UI/Angular/Track-By-Service.md b/docs/zh-Hans/UI/Angular/Track-By-Service.md index 53c9dcbf1c..f941b1f0ca 100644 --- a/docs/zh-Hans/UI/Angular/Track-By-Service.md +++ b/docs/zh-Hans/UI/Angular/Track-By-Service.md @@ -99,4 +99,4 @@ class DemoComponent { ## 下一步是什么? -- [ListService](./List-Service.md) \ No newline at end of file +- [SubscriptionService](./Subscription-Service.md) \ No newline at end of file diff --git a/docs/zh-Hans/UI/Angular/images/custom-settings.png b/docs/zh-Hans/UI/Angular/images/custom-settings.png index 05dd3f695a6bdff385040a9565bdbad054d1f5af..dc40ad3fa915c7bc894a94cbf98bc87d9dfac6bb 100644 GIT binary patch literal 108561 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� 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 I$tynp3(nhl&j0`b literal 8342 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 diff --git a/docs/zh-Hans/UI/Angular/images/generated-files-via-generate-proxy.png b/docs/zh-Hans/UI/Angular/images/generated-files-via-generate-proxy.png index 77a120a35ddda488b21f575917e7e704ee58b83b..0d062cc2d360fe8794b67971c728a23f1d782143 100644 GIT binary patch literal 64311 zcmb@ubx>Ws_cscZ7I!VhrMO#hcX#(vIJmnMx8g;MySuv;E$&|2-TmF?dA>iH_s;#} z&Rk~poGnRKvXU(QgfK;U2_$$tcnAmxBq>QzWe5mJdI*SjY_K1IH>dedKYpI;uezZ%zCB%IU4306StD7= z$-26KaZ&&FLO?U&VR^OocfsZ`9{K<2`8j~lq^ukf?{`f^EHA}CMPp=WC<{@OFd_pl zc#KV~Lr(qaPX?qh4kQ8W*GkChX_Di2hU}=fSXHSp#Ad`#?_)-jppD)js;9fHJ|m-k zvS3_5iV}1!q=E2O$k~GPi<=2YM?Fb1P}KUFlA)9XQ9Z=UsHGs$J=it)-47CT4Rtp2 zUH8TymCFZ`Uzo2SEee!$LrYfFPiOJ4oQd11^A#alsHUz%M#* ziDp6l*H=jTtatx)|Bek@P)J2YN(%T@F>x?8wQ)4Jb;^$|-T|7L1F32{Y0AlRo7h@2 z7=5)hHf3yN|5OK__(;v2ob0$68C_jn8C+QzY#q!PnYp;Q z7@1fYSynmB;$oItiV#Nc*~jBTBr_((~?g#P>Q z-+r39f&Pb*jpKiY1q_f8{DqO3fr;_I+Xkxgg5Pp0g4|54G(|zy0DAx${H#pOy#JK{ ze|-5LivQMBb2N1jv9$&&I`RJxfB#eYe}DYHEB-@L>widoVPX2;B>&f!|J3AV1dsfG zapGS#|MM2$Ge0~pK*?G^CKBHVJVad%1p+lR8kuixR=VtM=VS z`ab*iEuW6(WPPEfWD7Yg6wp)`tSmg}!Stc`?niduZ-UFrt#_3;P!k%9BS|iEmZuU1 zR})UH!VV;`uuuc+Q1Qar9dM^+`920)UVEkJlA_3`n!A9`E;Ua*VJdoyE@hK_?VH;keFx5D#O#8Reonc+h@a^QGU`^1AJ=Ogzc z+BK_hDJ?5j@JR=kCHm{5L39 z(d=5G7MS2VPr2Z55V7!*i?n}sAhH{+4#mP*zww#Uzw0ZB;W)pIM>d*9(>r@m;LR`3 zQwht`C$z-cU2oRlIPCc8-yocv>{=x?DMWc;G0XSE^a=Nq&qOpVM`LF$b7^|omA|z= zKjvZHLqC>G&P5%q2~MgkTkW)z&=+~_p+0&(VQIZj7FK*yqW<$#qM8y_f_?n-;7R4< z0Mq8p8$2@Ckp?W#u6xqIu?jM+`Qo~~YR|9r8o4Dccq2)Sz2ws7&$1YLP$gzKwP%vD6@9{}h4hsm{GQHmWM1 zhjdcp#YLoch6Ba6V{%kRaIF?pfTyM{lksvW=qbkf(3+~2;RWu)HYw9)c7V8UTTYYJ zf%2tMq)p)O=#yW&2$g?@dbrs)FzG^5qn}*)&B@A&AZTOFp&Rl&XkQTRf`w3eODR82JTvXx+~*FU5yvBVyc7913q*Qp@>S*3TgdAL6KhZ5AKh6)F|c z`lrwN?J?v$LdQ156jMd`q`JN4I9)VkRP6lpt|z5-Y$BYPgd8#?72ayTo4;GL^kJQyvQ%if&6L}Ib?&UnDNGPkvXAhtBl>f}Jdjb>2(ZhyA+_*o;&V63~1 zM?qy;!rPq-2O8QhOu|rfy7%Hx-`0f4Yd`ZYOF)->G?zL9yJkK7q}d-Q1~v8jWkc>^ zD%{cI`}yqBCY&SNd%j1Hm9r=_39ml~pdz1K2qc|hv^Z?Y^&&w{WcH%lH1C-b5pe+4XjR46^5+0Zwx8v$4i3#iGeQ=oOEPnGJ1KxOst)zC>)wj@vbb-vgfVt`FJ6yGwObiY`yzC z6>=)_d;Kkw#&OT_t!MASy{Ku6+Sz-IpwYAIM@FfL2smrHgjX|dYQIPLmTRxVh5TX^Z?P87 z(t9Iv37!}?=>EvM$HzyzGjEj5sAXR%WxcKtA|wii$STd5o7wqw{0`R^beXU^{PMF1 z#=qYCsE>H%ITdcxOW)2mNUvwvyFw}qva$My#pi{wSH5jhI8K_J_V_LH3rbki3dfPf zJpJV+*W(S@9MZ`x`0zP6`}74J^Uay(VX`geDndnSmJ&_rSDd-3i>mWzJWJF#@jO@? zvOxDcXR3RPygR)gwe2pMww$kMI0_Tjq^GC9pN{wa5Wga6l@R?V8NNKc%afwM!~!D^ zPq_ z);GI67y0*3H+3nc>9GwR4tS8p(EaIkO)#>$ogG(%O!g0tPevF154Z?M^o2@^ez517 zT4UCwXvwJIj|x#)?yguZqv?{JK0&J|Uj89b*Iv)w6O$}dxJObSTg7*T!Nd8{#Y{qf z8YHfJytU-ZgaQ~Y^GcCbP37_Jpr84lcI@zU2F{2YGZ4L8yxu;y9#tARQgAqH<)5Cg zIN@}VyuwPu2e_MIAq%_)4PRW|_*Hfj>D>gB{(80VKIe=>)DrncgOP~#{@x>(qH}C6 zmGXbFk(rGC6bWM-_Vu&BC!XeQ?B9peLw`=r!n$1@f8>(vLSw=)<~ zo0t9Nn)lukw018^9RWwhE0r0Z*kTC@x~8Ewnk_S`<4gkB7e_S{%af6PmE*N?X!Y>C zrn+`-AB)_m70MYtds#CGzLp=l!Za$oDT`YwM1k4K4IM=dimZ?csOQgCQkGI=Qch`3 z(^9Uv1QqW{k5Rs1|8f2c9o;Rv&%ZsYuM}E0w{rYxEo~LU~zwVHQ++MDC zjzoB!Tg}3*bLomxVuBLZMCkFgRNGn=?s`M&V|f`qc-J_A1&>9p(lp5W<}aUi_Pa6r z7ZZJznCRmQd3+lB?rAjH^?Ov}cJe|%PmggR* ziTPET-12PS@rC)>fOoFm&_oV1o=*>1t@)0UG8sQVDode*Wwa=m+Ehkfli9>#dH%&k zKTgK9!RGPJ-ICrF!$WK`E2%@-c;N1jnd=>1>Rd*~J+SQKg4$|P7`a-OuZ&CVjWnmV zaaaZ^3^!Q|vH%0*7n?eLb+1_3kxJz)p^HIIEGW&{a5KsrDZM84-MrUeu~ zMie0814S4(F#!=@O$-?D*w=X#VD6!o(wvBI0nfz-P+jiJwu1;* zkstu2OoS8;!E!ecPzwJqM7qe|y4m1Fx4)7xGWz~O>A0SmM#VD2n;Oe*=TVAtHI#gG zqjY<41N3!awuK1EAxBb_>(x{S&<{jnrs6y-Y{GCNeb-3kUH7+uXz>?ibmi%4yIE@a zBTCb+o70U35+ZW-(_W4u1TB21op#zXlQn7C1=L- z3ps1hm@+ADu6t9_f?MOP{Oi<%&6R-LjQ|DOc~-Bhu$M}TVUf71qU*Ys%NK> zC6N=~gj0m-#3M(kFn$Kuok7A>Oh#WGfoFda8WEy97N}oe6YrkpeI*sDnfU#+!$*ww z!eB_itkH0)Yinx28%y&H?yz$CtFjDLi3&Bt~C9fb(JLRWklHs`A zrwJwNS-m=Tz=j4U2-;7I2n6Dr3XKTTpD*KAlgVI_AT$aZjTE|B4yoR$!KvQ)#hB}E zK#v%)wP6cebHhr-g`e-cCT6PN1K95(t|lR*G=!!g?6{A9?VK+tIt<=uFt+POuy&{E zg`hX!dR;5A7u-bi^`jGsYdTltDwbMh&t*=(vT5>_YS@vwTL#*=>5*PufG8ABjxdO z=eoNsB{MrOCH6q@~{${oQ@|RJ2-fTt|xMbd{$-JGT)MkD8fJR!;6CaT#R+xe>F=g_#)*EXwnv$j{E$kYMYbbGVN)Vl(GR z2Dk{eZ$jzfgz41>2}LFfGSlIuCNo3iUu5RgjnY|45FStg-WI~jK1$M3P`qzkyHvq5 zlGE!k-qtp^z;QPwovJh__R=z{%|*N0DI>{xjOjXhewxd^yb<|Zj&gzXHNaaZl7|-6 z(V~RLmY3_}$MzTVHJ!-)cr%hO^ia;9Mt%}mNe09b1MGEym8AiFL=3hkDNFozcd759 zz&jjKatA*vO;U*+yw{)A*@}Y2NC<5UQq;jQ#9}Y;Vkc@lAvt-HnN4@&c0X^-%&IJ% zci9VnQ*1{tBlEbSQ)>k2P#_Cb|4w8CFT=lheo{%O5#dqd-s$ZoOU|z8d-o4dTeKSb z5$CYES5UoqQC}t6k}6T22PtPwZ8SR?h@rBC_R8;SbnM1%U!MC-jOZRzEF@oFPl+#kt+fS@OK2}AB(~0q zqFWV8!$(KQ_6GhOlP>Ia&5UHt|JfjvL++?A(*V$Bze0f;$(rl6s;mHT;CrZU*LfQAhE9+UV?3U<`$gaNx)yPe^n43Ji^ zprNyW0w=V9fn6|r6gLJ4MsQK&|IbDLHa#r&4yh++sN3ps)56M{Kt~}=;g$C|=~yD% zOMv-MfC4q}9uz5N-!Le7`JQRU{=cv_g#V`EW9Pxic6Kqx~DaIE%i_ED#} zGxU!UJrdz4%S~l)wt5i82lVb%P-IFi#dcQQuk5yN<~QDa9uYL@Dn<_0)i%~vi^}Qd zDI=e_A{xZ$6`*JjtH^N&eCB@{XcGUB!JsPHMo#*nw-*9=6`ynl(`3*Xcp90XlH|b`4bbsi>^Wt_gAl&>KK}E%Y-@1g>4F9C` z_8aZ`=9*;T>v#JEHPK$dyM603p_c+>Cl2LnRc0Z>R6tkd-TY20mz0(5vTl6Ecg3); z=O$tJTt>8NN8sc6CPIjj7|bcb_;ScDFvGyde@SJ1^|t1s<8wPoNn)(!FL%lRO1sE( zRwlgWomu1&>~25Uyjl`9YQJSNE-xXi!+HC1%;z-IVBGW^y5jby;{MiQkM^f?3<+fb6D@~Bu zwYgLr-cc3;Usk{W{b{GBAUSekne>MmScq2cZVw6bRi+~xEAo9e~@#5sMgmR z-Xko}#rut3t>CYpoS}0@U1<_xCedc}v5tcJjjR6M=LX$J(#x|)=ry5^WXAzKZ;fC+ z6qX?4@wfKeN5%Vzy>rsd@O)~cQ3*!Cd9B8HDGN6j>gnv6MRjGElU z?@A0f8mG-?LZoGJN=6AWaoi;yJ7Vf#o*D^SY0k^824X|&u2ez@QCJ4G-P)9a1rA1B zli~Q`MC-xwQ7`h^SiJ1K_eYUMUZsZjUUB3m4%8l2v@IVBEajd`Ce9a?pecg<2=+7Z zMq=wV*h=|}ib*2peo&HoYU>TdL8;*R!DSL2P8x0+x1MM;{+*p)>q^kjMgCkC7blb% z+0jP17Y0hnz^tWJk?>){9>5*bbenbZ;qW&Lde_0-L0JPg9;P&_W1d>TDYwhNQxinE z(@1DDp&?=E!}o)df`puFieYtC>`94~F5P)XyQ_nZS?I5uprNu<1f*)8*f5)h@7?nK zC?85zozrz7R%V+2_pB_m&ZNuD9HXPay*|>d0xUy<-rTn}6him+l!0UyznV*IT;rXw zra0-kinYh99(Lttkrh~PEChTu)Sa_Wcm34l`LvXg^pTv{{8eO8zu2HnAmMyI`)J^E z_}1-FVhoF@Ij1LtF7P@D07>yqu^i$LA;UX?S8MsycNK*ZcKN z=H2LijSVl_$9aZ`t<1Sz7Q{S zWB)EEQNw-T>FIN7wxEN)x*tk69XVg`W7QF?Z4IHMI(_mlO@m@lXii788lLJCIdWbk zS%JV;U}GkVTPlw8FkQa5o><9r@9y+m;8?gixh~r$en@_ET6VI>87){@M3Gs`kQwjP zJ8gout5fZW!$x?tG(5lkX=Q8g^Xk1Y1%VjaiS!g94fltDe@>J-A6B#1HmU*QLi|`bg(t~t{ zwo=(s6C%MZebG}BCJ?=1qT?iS5QBQo1$p+sP*6P#FgS$Yq5LvvtqyDu>mxHZ^)ETY zK?_~FYkHM`uOwsCewiNh?IY+YD6D}FSMjBvByfsUa5aQtzut-Dm3Jw)x)iTmRlU|t zx#1T6TzpnX{Zhn?2vMdux-PoZ)R%y}WLqJHt!(?t4ceCqClrYiCTkFg@M4|N1;Ixzi8Tq~%-zQp?XmEaZ)?6>&Y4G+q?zEe% zWi86+XBD5NoHQI1MsSzCm^Mam>WU$@B=R5O5v<$b|b-=lf1x3di67@mal}DbH4r=a~r*4g$DJ3 z#-N+5>t?>C+z}u&7L`UvCUr=vM@In+|j{L*?cSYPhMe>fAaV2`lKJ(OK;;r&STY(--Qtq zgOuP6Oo-G57o5?ec=Fv$md}xrot5i!3*x=ld)gcGC{|lm_3NP@;^bnOCpM?b!?V&K z{-{I1lF#n%W5jRBKtddG5KQhMW;_PLkXmS=Ls7{(PDjC4;VJr7UYQ4#$rIGGXu)-H zoEGJMxt*2%>s-aog#lea2&Ix(*Wq#@c8+pBprY_LOK-2|)cr7+E`ZY6e54;e;oV&L z&QotNh|gyg#lAa?lFNF}M!Nl~*>__I$(Cz$9v!KrgnbovL^SrEP=ADO9VxLI|sS&;W3-)i_2g%ZO;_m z+w113C5>?e*_%UDRX;*e_-Q)Dxqpr#8>0 zchRJzyomE$U>gHNonb)FbvoG~s5X*wFeI~Byz0N^x zorMGx4*pZSy$%Hk`|-PJKjO&dlqH891p| zmYDALtze#u8xG5(d}NDk^11Zoq}ue@Ebc5S&Jow_Y~J&!Yl!+$)wHU{pZBn5@xdw3 zOYB6xK_CX!Y86%;jpq}c7p-Z#-rVc}q4LONS%|oS)e4fY32Lg8kc2ItwcdWNhf!_h z{#nDE89QNn{qB4$cZ}K{QyTf`!tP45wt;B+Q!p~c0onMexcMAj-g*-hXr56*LaUZk z?W&`M4Crg6^BF0(QeK#+bmEvm7?1_v9;ubTxWOO!;)^8Jx%!Rc#9nbJBSK(zi zE#q;=U$4^|_{*2}I|n+-R!FkT(n??M91rkm&zG@ME* z2Avj6*GRvr#A&LLF2@?QrHYJf&nEGOz>&=piC<`GXhNkC0e!!t95T>3&ML)ZI-CQs z$~7_zc*#l?P&7w`j#MW@3cQe(N2~?B)5q?T#TcXo?c#*Wl?i<;Xd4V(S}dr8)j5Ad z`xXD_`UyDif0^x9J6}mo9A*aM+rw~m<&cWiG9wrQQLO9j>M)+46}g4iQ%pWpR7CT4 z5-m2S1wI^&ld~Uq-9tZ-UBq!&cnm^StdSFMmpSe=bBM|G@7qwTu zk4Yn-ccvgPl6G<^H+@sm+LDqg@~B1KeYu?;2kgNvP8!sFg%eRvch($G-tRftW!Aob z`c_9$UhS_b&$BG#bH;8{5bPEG%Ge=j;Ql*inGX*y^eQQxiF}p0yVQ1{N`9GgRzcov z)Tz*-PUW)jMDlUY3y8$&WgnL`5Wl_3sVixg)V<-HnT(y3&dx#G1P~l2Fzy9}{fN|{ zy?eRj`|~hc%%m4nE)Gglzw?2M;%!{k7I&QvxU=d5ELE{XXBn#-%Qbr8-^=cY+WbK8 z!n=N;St5NF+u;oOA!)knVC3iPf!pru_BB)?!nMyA7bil8p$$5T-zhUeR(>F6$PS#H;;XV=!;|H3EXDMy+%Hq!y2Ms$6-C(f+6zV+MgXWW5=27?B-l=x@?*JO_%dhxd~XRcV#h5nDc~B3G6TMxwZV4;iPX(tb|6+ zDd}b3xr_U@7bpUEpg&5bmcaf=j!mRwB<3JRFObX~$$6h3F*#?XH{_@#$pX%=B$ER9 z71@o1esH|54J{d4hp_)CJD(36%j*Cu>2+61J{;(8v@Agp4+N_udf0fin`)&Q)e&syU%040s?_wmY%H=|>< zVP94uqJ<7eS7V<=0o)TqE1(Kj_jsF4d%P-2ybJ$35_**CI6#b0p~f6+PzlDe(>9&{%p^kff;aZfO2x{!Qe*$U*$w)HjW zOUnp84Mt`oDsk2pM~_AVxHj-XBU;-OO`S|?0j5wqD`C6)un}L(ps@XWux*h*j>aFT zkrhrG>P85Q#z=#tpvO_uzvhLLl;gsc`M<7FqqB17^dkpy#}u>wLcb#gIqhL= zhV-8#m~+Yc<6$Z)vYyJ!Tz-Wv6w5L-Kst0)?Q&Ab#w%L)8i!TBHM+^_*TedIfIX0L z_L(BP2qR97XZDP!-%bemK_Bol&k<07kQGvnM*c*zfOO_^?)AssT4PB*DnHoY!X-jG zE|7@r@4V2wd*}kciu&)&YW@{bAq_W3DmFekGF|9l$wf^y65Zi>zeE;C6UVqIKOV^W zd+{zBL8zyhi=0k)la%|R!7$!$^GrwL=ZC4t<9{9Je5sFd-|}2j1-&W!&^$O3Yd-5N zJFxHra~p{gMP?IJNT}`Ql2{eZ$3sy2=c@Wh;**te>1!|qozJoEBb1f_#>h$|eo?O< zj{x*Y2!*d_M`~2iSBVnb3;b^>LGCF^pdCSOqeYvy*<7jZ-?ZJ`z8;@??H{bw2d@fm1l%;(&&{`jpZ_6q2M5 zz$VDyHw%T89N(r6kXtL?DoIrtmYbUK>7%V0Ryl94okTMeEhMx%NFXI!oHEdBZf>qL z_7ccBawy9u7L_E4y%zkZkznQFBrJvajMWQCVh?M`@sA+M6`x-Vtg!|S-cn9799Ud{ z&BfboH@_a7sC})MQ+&={WTZ(->iG~~6aH7#+dNTLrl=vtSbD&=?GCAh zDT@Vv%^|~MAWV_LqrZTcyr^(vlMe-{6bIew4_USes*p&yqw`)J#XEQEXCxub^QYRM z_ZHI`7I-^OO$XhE*dt*8I0K!8u(c?hT;cX!R!~;+$@hU@TPiG6A_#$yS0+{lfLa8*jEPB`wZGS4@P!-6 z;5U#%xr@^b&AoUz>iptwIqOw~sV6n|e?7y}InezS;`Tj))A4&ra)ooH4V}S^`6JSfLj)|BUo^z!@%lly-uSc z>$p-qfvCJQYM>(6WjVC6eCo$;JA1fWa*UhB@j_#a7MhD3zQ;Dg@->5T5FEh{J%{j_ z^_lR&x=XPck{o+UF|$S#Ked?Lh337J>BTWMIP974tfGu&6-3GN_6`#RzLXfM}#3)WeFj?Z{R4$KR-lp1z5Y0ZkC>-pgPF%c{1HkUrx zvCug%kFj=V3g;#XHv0fsp&S1Nlvwkvo)k9~uXtDo{?o}}J?6}!9*@40`oh!PlJqY_ zO>`9Xu_(P?6$KHG+<>WU$YQ3VLI*5d{qLR3lIay*ujrPkr>s9S>JL|;&VMqUuE^f> z1`eTH0)UsLhaIQc{=1+0Isiw=PCO%+?@sGW-ejjJ#*alM>iLkjJhxKjQ)A}L*PEF! zb^|GxtlvJ-<^P&!+g}#^qZ_Tg6)VH=Vtn=Xhy4?BZqPFcFUw%_i)!m5|GN%4?;MR7 zl*sQbR#L~yQ@@BFzAm(Ye$MEx`oHUZ7R;1;$MPt#UC2qO^w1ZwA3xK~$hG|>HC9$T zmQ(RAC*WlGeqh01*%aAP>BMxbyFUmSqn-xq_f&NCwulo{GN6opZDXlZ|+g6&pEaFGw zy_g&2fNT@Av9=S0e6ZI%Cgztb)gh4_Hz%}JqicN6@{2c){>JKTchL~V+nSI4y}F1L z1{tLAnB?2GFJ|Z^?TgShTJhH{nd_!Xs;CGsx$jiIVZJAC7{T_=xk)cVc)(?aVwu9D z4`kD0JN880HC>m`LzRm5e#JFpxGJho6sb%2PUn|);a#U&p$;Xbx0Evaa-yx;CRsAx z?k#!$sLL)*<4d-#KEucY(R`QYXMtD!z7W?+B{#A6w9uyE!+zdldoNRL0B=az3Dz4| zQ9;-RPK*OP+G6b6v4&VQZ>>)G9KHJ`Z{2ZuK6O6YYn>vKlFN0_%i!Z8&7V$Nf?)&R ztOj>-y+i~eJbLTaN2Hz5J#Up+Tg(aU9}a;N4T%4sinOFs3ASaG7dgv?x1yxA4`iz4 zxYGGVXyt<3^M2kZG+UHP*_v@;zh20gGcw2LzUbBWjHnzY*HfDdOhI40YR?J~))T&N zanu{oA6Tj@+ZLRV7;k~&A?DS`M}7u6?_@vuYZ2D>d!`P*)uX`G@n-mJ z!K)SeKQqGZnRQ2~r?b^=vrkYB_~(r{&YFi8#6 zrq9Co*2b!n!z@oO)$$yk_8OPN*t|fba8}klq}-1TEMxq6Dub$TODgVcC1Pe1FJN(Y1Q0fc`%l4Oe&;WG%U z?%DKc6QL5`LjB?yl3cGEqIjM`O@|SF&Q`ephBoFUB3=~@d)5@u9ZlHk85MO^1cr`_ zEpnO)g{?-pU*4_V-UGGVLo826#g+e^%9`aPdd2u+H$Ix^Cl;Q`0ncb%+{%WF56T(J zp#Hr2dxgE6;}pK4XIuXA{`WbJrDmb5dbDQ;u`j&({M(#lq!T)QP-~)#a<7fuX!y2m z+wI0n`qbVJChlXJO!`p>Fozj|YJy*xTJV;G?@zz1Clz?Lm6Qxj=^407FDT^dex~(7 ziFy@ubML17ex76fG1dO9sjTpB;&5n^709{oAX1VNCaKpCh|LW!Os$en`!4B4_KwV7 z;g~itelPT_S-BQBz1aW0n)F+_`tGM-}!8Eh#xdmX{Yp%tQnI)#D4zLS7sgpnwg~ zi4Sa}wD^PnM7`0*HBc6UZ)Ch7Vn!CcSu!qaA~bhQRGu0Z&0n6WC25JSpIK<}CpiCt z=}+{>Mnb$K3jh2bwk^pbzq~?RsROI12kqvq8(i^=2c(ECt7y)&lDhJ&2n?lk7sx+f zC?gas(;#p1nunB4qO`@TN2vD+Wc;hEaStnq+T^O|muKotI;7KthsnA$^;HZ6(5VUIn^pM!$pO>$=N)4$99Wj=vzfnK)JW)fEF?S7{m(DN0qAiF z(g~T1Gk5WwQ*6(b5&y_<|pXX|R?QNV1?Q)O=zW{|Fd`N{QFuJd`GqK4#vZ zfCLL#v07Y9wAy{bQ+Iay5kH-?jCLbGxiK4(BjUXAqY6isC&`?8?WeXJy z-#1HgO^uSN^1RD7 z@*|Zol`pRF%+sJRKTW%;{kV_WhW+FD7jgU9g8laSYXD9EW7zIEjne(L`n}TNI+tsi zngyGFv?uk(RM{s5)oBrR#cw9vs-v0kcX}houA=G;fa*bZq;4nslF8777N>>*klk z2Q5*Pv2shpoHxZkcI}vgt(6?q^%9u z+kGm~eQ0Np%E2u!e~F@AD$*V6ixlR`D(v1FOBr#W*FN!?54ofD=D4A2?^g|%PD@7k zHeX3r39%CDfuYnd>%HMsUsi=Tu_H6_g%p)>rD{;32E$)#^uppD+;&qN;b%i>)AH)Y zP3Q)G=lUm4Pg%|89;AtpEDitSRSs)VbNX^nuUS|>hM6sK+2(;|f!*b-TK+9kYRlnB zSY)jo(=CdG;N=3UcWm>ngEB)s7PyF5Rj`vNtny zsc9e7A&$Lys#y>T9ZZ(E9W@y}N|&-Q4oA>|Oga3t>Ud{8e8Na&y?#ia$3$E_X&)!u zySX;Yb6;zQ-)~Qr%tKnY>5*#R*z!LnFrA})CEX<5I>=$~Z)NXQ{-zdq>rDD+LC^eb zcJdZ()MC!@-1AP&==1m`&c2K+N1AjU&Gu$MJ)|DBaP+qO4fBc?M3U+Fwab3TIBFV5 z6@JO3dWD+bS3(Q{3Zrb{;Hb#agR#uwi@(>^ILwpyf`?;Shyb4 zdRoy)WYm$E9s`-0ngJ70jZrumqoqgkrN{$wV$NHs3ltrN z2(=&C2UqY8;YmeoFA@@wmLxFV&68;wu}--0*a~RurLRO%qwz?E=qK`%DV_HfnAx=Y zqZ%jC*Y0=gkJ-vgN(nIhbP}VIRwphcStnHeC6yAwD~AG*19v^93ou3P7_Hp$3~r)r zC&Tlo&4YR3Ui~U@v5w2sR6qz-Co?O)fE)w?#G{y>X*AW};1he#NDsSYLLZJvX7sP` zlPV#LJmi- z(GnW-i?n9HxB#(F;$-Eb0T2oy-*BbOXB8fT*wpqZqSFh#?1B`mKF(e> zBqFMf@A}kl&y$c3gjW5bs>7Tst@t4Np<93fcSWK7Agt`g{Hn|I;*)NEelds1jO=FF zu(`#lSO5=SM(QEko&X$$)fkfc50tWBnPcG8s|-_ZhZcdbEOuCdOuhKzqNN@e!j{P{6%^4PF)_=Gh%)JSgHg`56~ep|a= z;SyJ;ex&Hqdm;cnaYdwQ_G!psM^h~|Ggd9%9iew}?+&FciM3e1KswX=Xvo4tv$a}O zO-DL>dF0I}R(p2mgfjKeX$5pJyqDy1gT6iG57(*TGX?~3iabU=E$Wts?E_&4B`pKL zFNV7&ZuKQ7Xv?EaWsES8`Ob@J#tp7XIARJO`VTo0CRJ^tmikfStou52)(DDtCQw42_2xVC zFD?1$#fIzWd}eJKJ~@0cgZo!2@RjU2&!I`1h@FYtd4>NWDzBn8ZzL=tYwr;c9L-Kx zhjdg;V0gW9`S}duiR)k|qSjzk&j*f$40ifrv`9vVmUoVG2WjA3XKSRNTI_dqdvX}x zmWz(PJ4;v>8*LRUa^q1bB^^K`B}O+!{@$#fyau8N)x2IVm8dCuz`ksTpvdl-dj<}` zPdA8vP;m2AcC`#ybuwX^_b3>yQ%r%Ja{NPds(o^k(^8>YPH^>Li-|KGnq%+Ch0NCm zYT7-y3{i6`C{E-NGqZ+*?!vcl!q(+a8gTmx*Y21Cyyn^DXK!%IZFGDW&gn z1XZzp?{~qRa_F*cp_1isdP>&2M7CQS(z{+zXCLMM#u*p<9ufsD<{&#nPzrp^AQ=yK z@Ni?s4P^=ecsfUg1j5CBK)4vN>ex|%L^Ix*kOvsuM+iivcSsbK|G_bR0PG8uEj~#` zFz!kO96E!R4hNf$GlD=I+oBETAP6w{+(H2$)&C+B}(ybA9IaJWS-O|QzOhcwzN`ovMzI+Wl(3M(ZA=UC zli3on&EX5)NeNtKvG0kk6pMJ~#QZtrE*ofkHZUM?2$-PDl{Og_NZbwQ;zOdl_)RmO zkxE738UFJp5BS84`}e9PD{1bKZlcxqj;EXu@oMrT{~8dvmdg8ZVK-U%lUN5=f+WrJ zQ|02?WxB`a>D=!RCl=L*%Chq8s#qc^g;7>As3>@HXyyT@M;2w^dmEP#oUBf!U|-?g zyV(Kx{1B`-A?4$;n6i|Dm@+-i_$Z?2I&MiI`{ddD2wKuBu0wx%D$Ca_Vxyu)1dh{{ zi%Qn|7~fcetj}MW+Ye?FwWzti3}yX{LlLOQS{^#<@0T6|@-w2~yw8WaW%c#oVJv~~ z3L3P=94|JA^v#urVZsihtwDK?vmx$xfN?s=Oqox7*WoN(oO*K$wblDm5p-2yq1xdH zt5!)M>}G?QqoGA`pv9T?9qX+{vY6P>7JoKTjC%2fCvGJSj3lYkoOYT#@B9U6^5M|2 z^TT=+c9xIb(RYba3**w>A`wgYp%?O~@_$8Gs!6m_yajY1k_TDNOQwZh|d&xz@!pdUmGA+|-G+8^uK#VN}gR`iym z@60o#gGb%)7wjNV$SGp;wJ1pnR?b6+loV?QH;v6qXdEk5C) zyENOn!m^!(t1T%LpBNWTkG%s32_WgmIf2i0eE^^1>JuIV=i~6e82$g>KJaW3=*Izq9fCB;zY7zX z%aI`jv>*^=mSh|;lNdO|hv|+sg#;Gmh=3>`x5K+rKG2{S8qP=PFJBFP|C#Rbh0AcY z_rQEBa=@ui@bUN~Aj>m0*iQ3F6DfPDX4q^_#OXps1cj*p%vFE+Xqc5`G|a$_^xGPX z4(9B}W2~rA-qxJF&BET_KG<2a&T}EH#*Ih%hg|Twa%z%m)~0w{3R<0i!>P|qkZtY^$$H8n?>sJznn?w8bNB?-&%q$*@F%9@$>R(&B{b2^=sL6JWZ&t#G@nwGj@o6d-MNAQ6nFkVuU zZHe|5ny<&_90e&gB^@5i19yDV)?l*%nrDAmqd=h$<^8#(nJBuSpK3q9_sg@}J~@fZ zy0@#tjKhUXp_Q#`alq$-s`2>Z@Tb51Lx}KLyD!1LuVoa|@chtvM)WYwmEvt?`=L*D z>2xeO`j|G-H@WYxR-~m@_k_W0~fqDQQDvaTHJ z;Yc9B-V`03AtfL+I^4>@!!{Mlf#^ja;rq^8tjqTIps^_7o*=G6nt$=Mb=Whx(_uwr zwvrHW`x#|pCr5jgW3&b%5-TYO`;>@{1~;j5bUC4e_df5BI7t#Wms#~|D>Nm?akCzY z?(z|xFsM)3UacvtMzV|cP}(rC5sldMv@{rcvONVv01d3u>V+;s{)w4sHd>z#!TZ{W zW^GJj>b;|`vGM$O-5;>P?os&bfIZ}N;aUbiO+oZ7JC7pSIfIg(i~hfnN<=%AM1d%g zF1srL$~D5#a7`oNHvF5ICjOQ8S@c^7s4Xbtzy22hgCkFl207UlCFK`u1sTNuz;neh zl~nn!1}KSdui1XSEK3J!bD2qWGWp`Sd6NMEpr8Dkah++EfebDfQa25*WT$mbdHSuG zfN=q>Acqn5Qxn4FjBzb@QdJ<1aZJr0m(H03-Nd-`Z4)+;&k>TwV7NCH=dQVIP0O}B zam1jfrf?i4I_~y0?o>`Z_6*DA*vx{q5uFqRD_)^D3SLaRtZtON{$=3P#58c!i*a0u zl*`no{!e`tHh=t!dWUv#1gC!AOl8#A$O+qNgRZCexD_QbYrPHg8^ z-uHjjUF+Nr_scoox_eda>ZjhDE6=T9u4 zJVa-`a%p;MoUK?Za_=V~OkCR~vKt+OL58tZ$Vl9al;9e-N6JE~8QM+zP`Bos83(3- zDdPL~RYFAQpQ;YX0f2}9nPnby*thZqKJ{IpF6}|$yWSO3w7AQy3Lvps6)k!8Cw!i9 zCd?=_w)AA|feC@FF=P0(Z259tCM_ab+5^SolD5C3LyByo{1l~xDu#rLx>cfgWJ!d@ z&0)^+#^LfXs9d9tg_+pp#M|M28Mts5s;b8?;u=m!-6>+@jxPSuD6x&0X71p$N?+=0=6Xx0O(mr>2}e{yxQbrtgXjg@|F2tsn*j(cS`kzpT{@|Fjt74$Kh4t} zJ#~%Ou)}cU?0w$e=8T$1MWBbq!hFRTez~A%)LU}Z{hL0HXKYA(d7j;G7)FCC3#N#Yjk_$WuI*(yTW7H_1og z#Wz#sBa2t5H~2Od7-hd{jg|<6Eq;8EwVo72TG|J5`6{LOfBLuwvB0 z`b?bD;{@0N{>i ziME@OCYYG_UZX7v{WVO?`jn~Ag&AQDOgy&h=zDxnlWLymq8RN6Y+MerXI0@mDv`QN zKR?I=c$ALzbVw;NBwSFUm+@((1ckq~&njRrvuJ%D_fy3L+emT%+~F~_T#>3Lo$)Ns z^k0z}3FUT~eZA#l&|_~i<**ai3<@4d15Rbr%dxq+^NQqXH&)`g0Q?1zJJFckDNO}o z+Z8E+f_in0&gA`8MBeNjU)tM=SFwKC;;(@Lck^{Jb0Y!S^9Ym4fG5_#+jU=#A$zO4 zHbc3oL=q|Pcy!rZQ0=BmzoPhT2)qoFM?h4Vc%`g7k4}5y+M{kM`wFiB1uM~=i7^fBX!YU&n+Eh&?!CisM|vYNqf}8v8U9` z_y|jYaFFCSK#@P7G)$kB5Kzhjt4CoixGp-Oc&S5tm0UaiiXT6QE+U) z>p&m-ldYtSTSfxU&QQeLMuSD)^seqds_>+|RlS$sPI(KxJgj9Bz?Fy9l#o|3Q?C4F z`EZb`*fK3!LWk~cU>~Z`3Z^^*SEekp9Y*cl&(X~T-~>-n4>p_N_Zf{2K8WLJN0q{f zS1Y{)&IZ*V2kA=8jy81KCEj`dIsDuo=`a4_cwVTbgr}E#5uM>4^tbPI!F?h5SgEuZ zjz{7@Y#vk@4LdCTOmy(TDk!5tmn3wB{L@qzn#4-ocTX0!gNMy)-|?#~?+-E{!NBL9 z_UVVE^>-|0T%o6%1-g`lDE66?_T)+{&n)!)yNB6eYuVsBCbzB3w{ng`>J&Un_DS^tbKog3#QUdQG?lIg#IW20$CD!7`N3GgZ zbN@M|!iAS1$2WN(G&w?*kb@~_?FN^CBIdBzNVNv2_3INW+-9G%MKw~Ft<}dNT*S3+ zHhawzf9|jJn=AI0HF5SE?IIZ+&vMK+Mn~XRC|(p~4?X^^;*pnjU0uaK;<-?>Sd-6b z{PX(>k5Jn=r8s?P5YTe~G~SZs^*#LYpV-7-PObkUX9e^{^;S+!A*`aelm@1;KB6}y zW@(k}7REUKq9e7~)_ZJ502Bxf=8abeT8@2Q&7B6_Doyt)430m_Jy;DxS6OOdT%*nT zR%G*s=D_h#2(wqMPGwoiw~4uONDWNZylZYj&9qHR(M|zSnZ;*!RE9DfD{RnslQS}s z#u>Jz48O}Y)dnrUH_Og?Gi9rUhQw-~ZIcrs{A4fo5fU6v{fvRL8XeiH%QG~TN@8Y0 z06jQ@qx~Ic!({jn9Fz&(oVfb-b8|d{!=7)HGh65GOk@Ir!KaU zY{?s)tU|`lfKQhYDJFJ7FqaGdVW&iw>?5ZZfJ_9CV&;1>pLh0aAbgL*0LIV3(|*Q= zPdDhZxfIZ8=WP5zuk~plsI-xOrhyuh1+Wz3qwwTGH1I+ypc9zA8yD+>@WuSx70&bO zdI>O)2=U&Vv9+_kuL_`2EfRPV1I%Au_&t4`yQmtUZs8{`v^QQRS|B~cC7#=*@qOkR zih_a|Dgp*16)y^=u|&gc!ph>W`MAP7E59IMNbQaP;iGVenXeNc4jg1}ho{o{aEe;* z`%|}zp9zvwprFWiJgv^WOk!gk zow(@m&17jmo9@U{9_KHoHO&%99B7$xA!m>YJj5_j&1YkQ3hAi_V?`;T$896c>>;u5 z`|4ewdujv6r(uR7M0yu!D+anVIU>KUplX?`gPs>EqA<{(;4RJUr!SyK!9)}^m+na+ z$UsF|cMV6yXVDG%Msb9QG5&_ z8zV{j#@foNFKg@*r18tT`?93Ohrgq_phsr3it43`8B7x$t|-Q`*%|M!0Pk~+8u5w+ zZaSD!gwC9lRTE%-g&T}@zI~tf!Z)L^BiC2H&Q8W6`rL;wwJmS z>m$)JU0kZC-(L1jnLzx#MxkWBTD&grnGsf+m0>|y^YU`J5h}aJq=1TsucDmF$T(_- z-JN$lZ8xaqnZbhjymhLO2f;jt=s4S zH1r}8y6m*7P3}(H7fXoR?NNe~{dgn0Gn^UO0ZJ_DZ#(1!??jcd!K4iHkKL7hz%;-K zcwcSyDelr;owEyf;yBzR_C^olM@)H~rV?TuzxSF9#`z3TlH4@xwz9-H<}odBlrh%* z2RGA~oAn#yRxzuyVV8^50)rNIfEx-vo-a}&K*zVg&@6+Zx?sWYZSTV3gWgX0_{*+g zW->Cy`D?WE&JfksVKRDC&T#xqA2}WH-39trfUw)%<3wPG*D1GWL=#Oad__Fc24S8HZF#a4NRqQbwc3(uj~SIYqXmyY)k|ihDdK(%$SIEeCLB(1 zJs2=vuy%FiVj6jG3J@YyW`5`q!;KP&M*W+}lV~jTB;FMg968}B_dK#pD~5shFeOO) z2D>ABqa6Zs<*`*6eJix*fdzyK?01hc%&95axO^naujjCzzJ)$JaCxwY=(c-KsS1SA zlf8}kFMJJmSb+a}Gn>D#+nE9JZp)}`bwlu>Fxm*yRxbUn|Ib7FdF(%=8k&`Fvn|9- zrA|~-t#JZ(8>BHIhzVMpm1026ClnZmn`Q*gtQvoJGFxLY8!I@Y?`B|>(Ie7SoUbh3 zy`b@rpe!hlTgn?ROMsBTu>5B+i*>LV6)_ufx$n^gySWCcTCK-Y?qFBGu$3cz;`R`% zyO@~BtNM9$I=m~tI$k?T!*YV6vmZ|@?7^DN7qBqS_X?$AO)p$6I#Qu5RRncAt$@V* zv0kPWoMeE^tfd_ zXT!ywFI-ii5n0c=In55KScyAp!A;G7^N!VK$kgMn^bK%9OwvvUqv5ToHMJ-h)x~S0 zxbB1V5Lz;K^fZe9zOsD`rD1*U;TDW#;0YUwdea|3i8p0`Y7NJVXdWZUO#wxsc7IEJg0t#;Nc}(f`=vDo;`6E9d7vp0-#VxBKf_bh0upaM0Ti8u0zvnVuA`H@@mjJ1k2?~ z)|XHrnUn3vOS4mABSW2{x}lG7MCO|`!mv`auS3VUHPj${SKCKsC;SXze+RQO#a0pJ zr%jIKuz4A*RiU--EY>tD^XnxYWEd(O8qro{UV^v@tZ*W~2|VVq1{e+c1nQ$qq(_q9 zPsY|f+gr$i(I7hbukLwW-G>!=&WGfjVMh4t{QmMvlKjQn;AOIZ*4~L6*W<)GfJ(sHpGUtE`?=JHwQ~8DUFfT z(8oC07825h$3rfcmaDTDr{cr!zoA~2S&`z`Tz9P`DfWw4g4wZAY0lxYSB*;RE!GOD zcBge!UWC$6xjVFP>Lxp{=2<^kbI z-rn$;Q$KEEsw)EK=$HmP6XAUZT>hIb#nPhkjWm)tB$S9k-a=H=3^Q98ea^q1wpz|zv4eor@sfRM(Zn8Tb!S>& zOARxt?(AYuav`=uk!O5beu&yKpq0o>!?OX!4wQwcn5ZAiS%~#+oQe9`F;sH$+AVwY z{2f!|MOO$H|FG(&6J|FfDVdrsBvVtHC@)X)8F-TFlmtyCyYp1gBr-+$R)6l2d}|is z#ksQHo;Gnq(p$H7Y_+#rQJh+>Tn+T671a+UdG(VjT>2EJ!9Ruq)!7d_3Mk2+z=j#^h;k`Tpkc&-9UL4eAEjf_ z3D!T;8zuoN@*1vaw^b1e0@tv_%~No$hWj#Om7MuaNn&6H4uHS|AftH-UVauV&_NT0LlPf<)CP+nm+@fSj0kI zCq%pl2BhrX7auM5?U-0jm6<2|gp@PU6VYXWH1SYJ3BHSHK^eSQ5mOKMTqic;5?*y5 zZ4>8OmCK)3s;dF}dGxSW@9RgdF7!(?(J^sCzrH*{@oigAMTpoF87T(i3Vy3C0_j3_ zV!t5x=g#h;5#`UI%CBXO_)X|Zn1RLnV$4s}HZVmv_I8x|GBQOj$HeY3gy?VVE%XyC zakuWTYHF9?ay^ow@P}B&@|I3hrzy=%){ax@<*8j5`gNR*sdKS}a$+oa$ZH^Aaio*7 zJ_}ig3&8s(*bPNfV2s+9spP=^kD3@NU2<9;OpG{BsNejs^S5DGih{zYF+~U_OHk+JyE)c+S!h=9cPHsdUT>AIR(u|nSIpE9ZYGFMy?4q3PhJP8m8i6N zB1kd}#5Pi?V-~w3BUBOtdh&A0T>Tpm<_c!gz8z{2Uk|!b>n6Lxz7d@m!>;(=)%mo66_=v}SXN*IgDQPa zB&^HBKKdtn_tk#qZO;;syUdjuo|WV;0F1w05)9T9`cYrZpF=salz;o zuvIg|y#pUT!sFG6R zaE_S;1PuNrs1zU;=3<*fQG1TCNT%vxzdq$Anchb^3IU-i}z05Ao^`)R54mjSMhr?yrrR zR#t4+u_+@(*g*;r731^KP|&bp>zKXlz=e~J2>GDK;km9Mq%hs*Pq1Yga4Og~OBsp_ z+zBOY{>VHL4-A}t|~dG;Lq1=!`KEi^~x(D ze+2!tGPMaImGSM20q;X??C&SmOz4rqr7|^Dd?xjLe{B@-m^j}(MM7n(|nE+ z+3Nz_J(SM##1|N!8sV?H|6lyqe0?_3P&8#zG8Xg1@bh2XDGwhw~gP*)nughMx|K!2;$MIj&!puK;(w}-V<;jxI7PC&>@u;7`IdF zTPR&2bVvU3pnckW?s$3Rk6N%=Iu>T>AqFNFUv)@SMe7zH=iqIVy%2FWq#!8rtQ^p-sUxvT|M-s=W2v0JAzG9Rwg-WJta-k{n6!qoYtZsTDoDzXGo27aZZ2Td_9(kZ*uBjnG zUqt{N8{G)IT}nmB zDb!Q%QWCc-9*x`Mtm%moQ=k=%C2`_~%V*vi7W50?RVF``$X+RV4WDM5(KmP#s|gkP zR3xN)s?p4R%z9-MVXdb3G=9y<9Gl=ZxE$q-e1 zyXEMhdI#&?g{Vr-!#dG3Ukx5!(zCe5S7S~iYB$TWakBY~DeET*NK;~C-Wj8tEqs&! z!1tVQ!h!lJqifo8pKsR)0K(wvX@_hRxR0v#Qhf2MzA`wXNy~`xp1%`9th3wjmL>e<&e8FMh7alAvrt{MJ zGkX|jOnRV(olkCgoU9jTg^2VF(&pyQM_o4Bs9JJ!@bjSPSqW8r`EG25AZ>MRJv}<-&x%y;Q=9=al^^!$Prw6ZFtyruj?ZS1@VOPG00N zDR*BWbRHbJ^_YN|7b+&;RcDLjR=U_)H^jYZpRi1=!$QePsp~LxUacZOu|Cd8W#%OH z-^#juVdnB?jrHVMY9{vG9Vyv%rieSRN#!tq0g#G!P253vsl~nUH`D&nkMF6v*x6a9(eLzTdI^UhIOzCxzdK!{uZU zW@{-P8MdQ3fIK#3%Ngw4^r&>glOi=S-q25pRA)OvP$V=J&PV>6hh{xD%#&Sk|C5eP z;->_*l_aQQgn?j>bpHcqxL;BJa;vSr5}cc@bWTW zg>>CFeJd-g$KC8Kz7SfdMGYicwDLgMgYE8MJfXbKX*UwEKHA~a_`jKH#K@%Zt=3ml z7X{Yv9jpN~a`?&Gu943;r{go2E4_=er*PxS_k5{HTUnDeCc}lD?z8RJj)RFMf#-V| z_6-&LQsi&1A+AHJ_tQw#746pM2_q=%RLXZT;ylbPyD6|Ud_(Q3N;=c&FA3@P?gmuw zT=hsTGBzaGPw)X_(MnNVsMt|u`t3Sy-J@+vZ7vrN-77Y(xNK;k212@P@CcY8q?%11 zC&nb2-tJfU=EcR(3t$%b0tUO6;NkzYer9gcfWG)8b@ z1(xH(AHY?l8(%ZkAKac|nqtA*RammwV3sz0Cup$8%bk=~NIIQ1k&%lUXJW)(ppun| zuo^mPOa^2m+ojK)ymxbq>9r6xnk!TY+2FVFB(__( zTbanI=my(ei*)n-8t6OF-rtq0@mF-w$QV_ZGLs+rKHiMj@d)7#;MO(sRSIA~8qf#A zHuP7WQ%qb_rPJI?H%DJc5?LQS%i$qaO|~bzBgtchI*CxG6kRfn)%%jFZ$cDfvb5_36!g?Cny5!|r-u#P^~OyA9|Teap!@%DB# zkm05h@n;iYIhg;ex)Sg>YSJ@42|G@VrdMB1a5@K`;OPN(2RTwPXBswxUm*5yzy8Zeo}rw^W628avwaKh(s+j;12FWkd;xy2hT30c+i&)8FRJTKjh^A5w^($ z$@mNIX&;2U#z&!?qf2;jk-qH#jgLr!7BE=YLn~HUzK+D-0r80*dzchZh0ym0d3!^z zk1X}~rC>^idiZg;6&VG+G7K}G;q5uq>$iF!RJ46 zwgXESKp$#dI>*eP5zm^Gv-_YyOb}D(dj;IPS+%Vz%I3A)xxIt7DrCfw@Urs=H=iDh zpK+3OZ9@q%a+Z5G^d_cC`)?5iY)-jr-={YiL)z|uVYKu5U_b^@QXIHw28j}>0HN2G zC@9L#aSjoP=sG_ylq5AMp*qSxFENY2zxiZ8a+!`lprO7H(APkPm`atukW`?8#%KA2 zEaZQX{rD2_7l2rEnQG3H>y@D--GDvg-?M$bAcCTV1Do`<>ddGU&>uqsdp>)Eg8uJ= z(;s`ev(9j2p{<7D)6xzgpnu^oE!v503f|^f^%qgkOh5tU*9`#QYYO)F35PlUO9BgP zJC9i(=<(3$BUQg`%KN7T@#6M%;o)x)M{f1g)(@UOygjTqLvK(uZ`H2`Vqj4p21RdF z$ykFKK5z&XYkq1aUtbS5I8Wat2+ljoMXFi#baRzAjmdrh%>5Z>zQ_QTW-ya$bxHDBueia@mOKEb!C-f2jwKwbhk?nG~ixkYG)D$}<7onN!V`Lw5u>EUcx_Y?=!?UIbY>3va$JVWkeu z@9pnV3l|^gOCID7Q>`>8uJN5i3JQn~oKk1U*5o$CtMnVf^WR-$9;cRVL)e@tUD3Y& zX_(M$#M{LYD2$(VJQ}VE(T)YVK;*HDwIU0Pi*8sd z1+sebO}ELynGV4*^QdlSxQE*BK85VzUn6`qm-;E2!u&+}xx?uKpE9rEuhGRL?Dk`X zjDKOO8G@S#rWNKVEu==qL{a2Bh+gWycwgq47GkjF9tJ|xvD-mA5-F^B#aaD+5l#tH zucW)*gBc8-6_b?EComBjI+d5s${PPd*2@-knu}uN!1X=eKKkW=C=u>t$G%)wb6lZg ziFkIol3sW3$voF9c|wCFGnSpS9KJ#pJ(&iWRk) zeAIHD<67hEuUM0OLPJ_tY55Sc^Q9CzB_DQACDs#CfJlK=F2BdgH*5~<+6hRp8 zbLh^ces&;#Dv}N z;FceBi|>ngi%fWA)8Y}#OtHa!YcJ0Z8uU9}({;@MT0R8zj>Smn1SU#YmfpR;O!^YP znzH+u2$k`ee-lo|c14Ke>L{fvdXOy(#M`}*U}2gmyd5A~?=)LaWWi&~{8uZv-wQ50IEO42D(d^oqH~Q5%D_7+{#{TYC{+k`QyiFRUfF2kd!kLmjClXE*b`;!| zV9I+hg^MeKd=(ewEWUcBTQ2qK)5i)#R$hXxH!%N!(N`3-=+m@cSy8*#9*3#*tA7tG z?M(==jg~}VIrm&f=6r4c8UOBk^D%{*z0dDmuReZbxKSsFYGXw&wc~bD{;(D#ZeziS zsqXUiJ}dnuKhztZGxQ8qKds1)>?)@-3x-mu8YWOi)1I&HRsjSh<(lNsAQnT+o^5jhe?VeleH8jT>|Vz5h@#e`y$W zoZxyYJh(#qEt5sJkfBt*V0qO_}Me(`XVMs<5{I4_|T*N4jgB zb*Yc7@VSpEbu~Pg>pc#c`|H<4v>m#!zKEAeS((MJ5{FNu(g-|}BN_oA=QlwDN(V(I zt;g%@Vk3jnb41X1?;ZVVi{fU!*p60ha}IX3&|>tKTS8<~dr>?J=2J?Y)U zmHQrDxCE;aA3v8c-0%%)wwf-Abl25xjbREhl&1*V0$?eJfBx#2_#5G#lxJrEqP8AP zc#^?b|9v_R3@hndnsi}xqRv6dt6G289q75y9vpF&oJOyL% zZt6H#_sY72tkySfMi56a|QS~Id>v@x8F;X+(-(FS2ez7>w1$w>A~(I#o(1@G2^-E z`akz#{K`DJ{01w#2vudfb+PGN5f`Xd%vjU0 zl3cbTJ5~F(h4BzRS!M7rimGcTY8(C`u|4AsdU)%4!yeV;{Lc7yUJ{z{VqV+^qT2+Q zc?-iqD{GN`6<2aM`)tY!sKK-5@L$t%o8qHv*TQGb<6I>vu)n6HEt)7hnQ0K9Md6j; zT;@HeyB_iavv7iF#0C4VzdvUUU;be-0{TwgH(zcU`>&5pq|?1bKf1VZ{Lm3Vygznd zy|`#-2LuL1Hba$q2MJ1RvLpp~v~QQC!;zMcUH|-zp3pF>Aw+m856qcyl}ZL4QA~nw zpfu$B8-f;E3^cFxaT`@WcTjlzC4n^#-_WW$9c^3D$EQmI^OQ?5CZkr@8aq#2X=Ad3 z?5b2?PnX7BgMSUrUymLR0mb3+P^35K+aXinZ9U@FuyfYvPEjawfDhttS`efPz3YRb zkVbA29OL;oEhs1uY^b4G0qh@Y#z@_@`2>Uff1iN)I%86^5?HkFFF7z;Bxu%mAerO; z;OB+xfcxz^6+MtDQo4bJ#!^q-c)FP>P z8z}{Fm43EfS*~wX+9=TuS(0}zTsppp1AHD*r<^ajj&la}Mw``oOXMvt138T*n?T)C zqPLlrt8r!0| z8F0_*$E#UfpZc|8pt;V%CnlyXZ6=Ltx%Wy`+v*Y;6=*M-@`{w3JYYaXkPxTszAqD; zG}K#1cl@SwV91-&vkVUIN?xgDImj(3erkjg$$qLTrPwVDgyNu?*0eY+m8@S(FYl=z z+8Z_Y9W~Pc8+;>&-8YPh{pf1@GaAKzwBte|-Owg6$2^((K;xUE8eL20o@DCs^-;B< z&H3RPXKq9L6T|`$K|!3Z4Wy?rI6{~1L@p+Q&3cvM)di2a^7m2;Lg}U*yGxg_Jq@(F z%9}+aoh3^{05XIdk^k zX%i`ama_$+kj@{tOnY(mw=Fa&954L&o2_3sD&G(>n^H+H?HA-d(fI1xc=iht&0U%= zDytMv#vmtuEwAdlAT6c%yPGLoXqLCXQ@h)sDGlc!{)Pf^4xT&FPyDKa`=v|Yo?ABC zV~pT+l?>7IltJ+9jm3k7hxx?D^A(>XLEsxUQMC|8I`L6$ZsIV7O4iK~se`;tgcQA< z&WbS_wKS|wMzNb}i}!l&iEdGb!KBSDaX{Q8;bb1J_RF_#FPyeByN5r1t7BY$G@?{6 zt2ZGS+f>mK+VKAs1J5rq0y}y}mHAS@vE8-JH#hl8foP##y0xwvG~>FMIsqp69?Yz0 z!X$y-BBjCJ#)!I5>XAkK>-|{o$kbXOIH#kC8uJiC{Pr>uR^Apwp*LY@-2E(=%e6Hc zbT};nY*IqWD>HbAL1DPGTsk$}$prJ-fZqLu09N8FfvyNp2juxIBeI~^tZMU0sA8QM ze}IN$F@>#srCnKG`Wl_$Ez9JSVge*KvVQF9KN_jLPVkWg^-J02m z+;QDRUeYJA;gw6Wl5)zSnK;7c%dBN6);hSv#w3?_%zl>Y@FT)}v_NtOC)v7R1eSQ7 zZPEzY(!0Cc6YcRrvHAk-swlzi@1KvOn_u)4WVvqSU9hly(z1$v6ICpzvuSVql>ukC z(1JnBND6xAI7%C#l=dHxhu0$lBB=7=xLXQe?0A#lj_Zm5=x9m3;3SJGLOBz#hs6=X7X*Z)BUAB)KpZ16w!4Hrb#)`gDmknZY(HIl;_42@UhzX#d$qf55 z5^AvQCiyC9KST^FU`H&fYdbB1AK=1*yrerK0a7r~AO!Tvz*IjF)~=}n%;-qK9EXL( zOhF7hc2qxK|Gzs3S_m%X#~>mCC@8O>MfuREW1tTr1`;q$Bk9HS14u~(D)737kZuup zPU#8)g9`uu9spw(U$TvW!Jg924nF$%Wm3!TYfqlR%e=keChguK&M7+28WaKo0%!ZZ zm&e^ayN4JZ^yh)T`Tj($_@VW~y8Rui{bPIZ(QQ2l2_-~AthczTlu za-^bgaZxd+qQL|fy)2b{CR31#?I#GZdJvdVtP5}*GI(_*g(Nor40ab9_%f|SyEc-L?`j{N3^B=#M61k-|Z`Z?r0EEg0aDbLKz_*G~$ z?FRi*?$u=^39`5L`N>Dr3FUY za>Os0p60vO?or>=pk^#&Zcgd-``uNw*%V~O?4x94L>$>@R$GbZvHR)r=0-qQ_Y3XY zHVLciJ+%^%<|vSEHvUU@FEloVIccRf8l)|b<|>YcIuddMV>kx{DRiSzMI zcP%aH03Qn!43-zOz*&5fhvp5>4}tQ{YBSZjxNy6lvgR2x9LqRBU31zFfWo00ZH(a4yoVOqc3T_pVO zxUNdprN=<}{@t`PucHI^1p%k;RE_K|tnKceLrzJlpzl1zz*a2Td%&od7ZaY#kl~cu)yR#K zyNp)5D6}%)G_+>J!PnQ<5ew6yHt3q4KOgba+Gasv7Z@fx{+zg6_(yLYi+wF!X0UzW zLXclG_qf_;M|B>kC4riO*iK5f@zJgtJh8BmH+sK_Y(l~VR?e-`s!*cH=GUD;#9+zo z?^A2mc0K#1>A62Sc=l~*e7rYny^tmu0gpW(>{?v%I4eU(u$K@1VZ95Db8T09D%|^{ zh&?NnYyCCT+}xt(i6fq8Tf?TS$V~+zkSr!WUBb2X@`7bk*>!h!SLq_$-ND;)JDX9{ zQt=9Z#y`BU&{%SEgmIAql3%wL5o0#=u`@ey2fgPsG2b)k)DLKIK2qdk}eWHd=(e{*KbhEg><8fN7q+%^ z=TUZxJc*#)?@v|w+mHGF4oGdL>AdDE`5~r6fDg16C1zwqv|YS1-Bpt|>R$0=A@DpQ za0#-0bAG>9d3+6bq{sTEYP*0bKD6O>_=fcM!k!TCzw*qU;k~hZd3D!4o!7#8HYb$A zMg+TQ{f@WVXoW4;AukFgsR(MYGP|Q4!UZm|Da%6psFIMp>)Q~W*U|!kp5e``tW_JA z1?sk?Q`H$oqXCJYTuJ*+0^LRRX_e#SPf*Zka+b6VTvZ|TquElYJ&U%>G5+q3y97~y z4+C_>6MMyF2$bTidj2%Hwt(aG{30JZGIOpuP7UG4;2@;7wzjF|X{rOh+%7fD6{w1~ zUAIO3BSjv-$zVc9w3sfVxcznkZ}0F7QZmwVERX`)6Xk+9Aaf5S7zyKsjmF)p?)hZ; zZs~LxtwaL&bP)Ihu+a>9kd!C^?^H;Cf&;! z@2#i$Ad0yl1t&%J{rSLE4@vEm!hO~bn?qz#)mb$+hG}YU>XV+%@e1be*73N~*eqes z4WOuF9*@)x%#ArM#aVgJ5LG{PB)i-xA`-`MPp+s>lWo5v5s>v0-b~C+S0_6anI^1D zi1^BfNy~!LPS0XR_TFY)baqEc{R?XM?EJ}h8HvDuL~&KTX1OlA(7T8NlB#zZ{*C|5 z_nP2eJ&8ci2zC9jhFoV>rkhVpeC{?1dWcUwB4hFbQ3SBmNQB^fS({af^fi<(w9Mb* z-2LrsXq}ZGRVA)RSx^_2>N++ZDh83SIhm_dsx0kVlCBbl8vFv%5KbSHMf3~ztouvy z*7dIXv}3YdEK>E?I;)YjlhNI>W-FTX9=6E*=>6fQk!bY^+4SHUwCY7;T$ssI%zX%z zo^VqBrzgV)h+XZ+Zm(e(sZ3p6ImLLZO^}HN{Q^eVa;?}_={P_ig2aCR8y+5t5w!?nRGoeVgTVYbK;cb(_dBATmR2=t`>kNSY%~Jicf@1&_}u^ zgxnRVnitVLjoH`U+P83VeVSo^#a$P|?Zn-w~L$|C!$_7yS8(yQ-GF8<_oi|Q+u zMTKwtS`IY}bk_brGVh{O1|4#(7lu{%Us(VTn=ee1okRX6e^_331?nwB*r~q#m@d!B z$^vGPY3PVh)1QoJl^^#=v{Kaz+|R_&%I_gd10+Qe#hO=F2F%I!4_5&y#dM_$=qY4t z8sb>8k01AG|DZ-9WOJQPmn)7;%@nTo|3&3hEI_Rf|2**E%%3H_ch&FE(}8%6_ft}{ zFVw?H@bXgJSLPQI;ber%KnqG6CmWhjAEOWQm9LFb0F}naQ@7LI-nk6k+!TW!!QVci z^7@Ka{_62h=8$?6-T@~&jazoc=SqnY!T8?{WF;|u|K9VgOY_64>~3rp*NNjS;oM#A zxz5T(YnHF}0jq(SO;gr^A3Hd(Mpy4trSiW<{evE5_!TTT)8Q(S$2h^gkFHGfjqtie zFS|Z*>riA+l<2=HVQ9PZJ@fN{Oe$~uu3yov!!|_q@LwZ-9;P&u_Q1iTk{S&Ku=Xpoo?A#b!ulYu8yx`jj<#y3s7EiclmU(CEyKEr) z{h!d=G~E6Jl_J~64l;x^d~E7V@Xqw$bT)~3=Ror;s{5W2^L30#doe`NN`BojclG-( zC2W#|MbemZjwDaL|IB>df|#&jks2AHQ=Msq?gl)-XLBbnXHmu%ZN|!cYwCeCS;ncz zBpSxUg&&r-ggw$yyvu`wWA=InpkO$Rcx6hx{g2^=c}^A|`#9fTMwK#;S!e~H4qHrF zB_$|VIApu(;E+b+l`2*^7r!LOm=e(EKt+USEtrO05xWWCw$UQ+T!y)5@S{T~!mMYD zd^9RS`_pnDn{{Q#^zhk>-a5#_w&&}8Xz7%YdDo!J2tC`Nl?eS&(mBjKy5mxB^vc%K zD#TMzDWWKO%=ABjHtaECK=kzO_t0`?e<*!45ugq-W0_=FRJpG)dZk^>9aulf5kOT06R~L9MiO)@LU_3TFE1WI(*c zhh!i*%*?=oLxhG??EZN)9F$$Bd!Uj59X={lbKj+G8^#eiM;*_0Od{VyVxTB^d)R3bp;pMe8E~v2R-Z z>3%>N=k+ZJ#NBwe=4^(PKo=Gy84GXaI*=q9=zUPqeQxVX@89AVfLcfd=!0g~?Vfu0 zb@c&wCT;0KMx73v6c=cN#GFU>VPSnkrGQQJH+jrDfYoS$j)-)fCYg>JoRk^ZB-HaG z{|+cOfi5e}p-Ho|8Zl+*bCdry_}>D64W3&^K|jfX5^F`o_y8x3G_8TX`)qMKh@cf_ zuFi_^a|?3^og_ww+IS<}$e=2Iad_0SSoI~Ubi_x}Iz_Lk9gZONAA6G){xEst~7ikR`mj9}csKVy1#`iISw zgoh_?Saj4{dAtH6Qw@B_IQ*coLbVM25e`}NKD-|z13{B{pT?Q*{`Y6rM;>)LP2JS`#kk46aE zIDJ(c)GcsZf!@O$bM-YA@JlaPvSibFrVuqr=@p?z;?Mr05X6ajlw37F8Z7(mp)OTO!-@a&;^WVy@}zmnROF8 zCaV>}f+Z^z8HQO5j8*Bz$TPtDv}bfciDZJm>?^xkVtcw@cf&od&;6j?h10VxvnjtT z((yy$on71cr=R7?YnnJ1b=QtDfSc0~UK75&0Z#*f%TPyq{NOl4 zggmXayRuR)fJXwoW;Ylxfjy1t2}IG#;<~&%J6gql96>R`{?%2`TZpTD^$a}hBOa%d)D&ED+sHUe#`uela6`#&(2nyJ=zxaZ1 zBSV*)&Y8Z61!jhhZQHm_R=q>&zWH%v(rO`C^IB2MGF$u{YJtyJ7a)MqAz>KPE@E*r zx3>Cp@ro@_f8X0N zn$egw8Xye!_L7({zS-qqC+o0|1T0TmrgTIY|Bif8I(t$IwO;TPkyoeC!*17lonAGe z8a7MzVx`1eJPX^e3S+>e$X!?5m~`+ka5DEiiMGe3K>_b~lokiehDPO<|4zR!&ALu|RgQ-_o8NMw)sHoM{@7Yw zT!kyjMotY@1U)Lw*3u464(=?=8mR`~KzD*V8!t>v3soAi-M2~492PUjow8urDG}sF zfI?C{{&p?FpMt>OAsR)H*OVMr{U8!;Hwp&awoJoZEMMWgt$Vdo@&be6cXc>dZMMh2 z2LGJt8E`j)_F3cj8~;uWk5C49Hco2I_$1* zmQk;-+AZV%)nb5-mq6r`NHc3mElAZQSE7@b(_>zJeI%;gJy8?gx^EC)7N5X~>2=zI zJ<-c0ROYE!F?OKPY$QzkS!+4Kf5cdCnDUE)=h+F)K2^PMbZ6YDr=o{i3ak5QEg;vCuWJG&dvu_Xnw3{yE^ z7|R}h_P3rxqYEXGl9AvfoOaA7$(a*f%42O^Z7n^xerHOtCl3_{Owpx9;6~9AavPg3 zM)@wDI;$}&auQ_+NJ?KNbf#h8Acb&AfgdEm0jVqn%2{+7sJ{G6{`m`N$if7`AR2@Z z=EuKi8kr7 zk#oQFhA(LQJ#fE#*REKh(TfOe^Sl!Oqe|JaiVxLs=g2P=bVsQb(a@09G?AgKL~dti z0KXLfNea5|sF+I@WcX>6d{9_mgh(%DXbD_HsP-1dZS|qEr|}}AWp@Af$-MP10()2b&2LJSrR zR+9qr!9tdkG4%3nU`BlmlC+FkBVFj3#R<=2ViTw7GQt@U%WuOtM#_FD0hi>ee>XVi;GL3t}oZCd+;)#|w47JC7@SFoB-Q%#T ziM6TxylzU4!|8BQ;oG^tYp4-Z-LLnducz%t@^#Ne&cASsIPEj&)aQnC^{8OiS`c7Z zk&BPRQc-*#3KsbOuJ>Tn$sZHKPPn@DgBjyRQH(BrT1n@?h%M)Uw)m^$k@Q}HLYS|U z6&wQnkmcYQwmF1I<216-;t26s+wiZhX{uTaw|Xa*Lt=NVYDvx(8Pv8`NGq*#C~i)K zXRBvKb!vBv)``{-bsf9wLFdL)~}7=GL3X z&IU3utRCd>oVn&&&wsY_@$87V$UoYkM4 z4W9Xm#F-!1sD_nGAp$Uiy^FD=qH{-@t4wg|p{5YZAo`M32dz_3gt>vQ2h*#!QXDL)Ty3Vv9~f;wrv>t>b=7Qx%Vf+S*K=jReQ zf0^IFBvKh~Vr;9JmRtTE7`bKeVurQ|mB8PVMRo|M43cranU#&=G1xuIzO2pOXOjkK zY+wjX%vzjN6psXu&*x8{6joRt;LdE?RiSeI3+l0!)o zG;)96%h@b2le&I>{vi~{5&SNOtYegameq9dX$|o%j+TZKJla^AS6mh>Mf}*rm7hJE zdh~bjW1bmehab@ql2=;ZerscFpDyrG@`7gDlN&>NCVun$sZrbpU(W)fX_-zl&yY+O z=Zw2)07`|g*45SJgiyLY4%?}J*fLpX_=PQ0GWIZ`DKtChXX#ObEE7)4RBJ+>xWk68 z>-#E*^RZ|EwWzO^Q|+;9)o)CVEY)YqY3t;Qw7ez{e92Si?`8;b$XUf0 z)2?dr%)?`F&|(`SyrY6MQLdRsq!#LB(FrORG7Iv^!+>Z;2a;F~|0VJlk0UZnv=G9} z+UjMM_IEi5S*neLOre3ycRfd`lcHRxG`Bagm)jy?;i-_UP&dd}dqzqD#gX?igNIz# z((#Bc&Agx;jxnhvi>Ku!v1}^fJA(_7cw|c3GxZr|p{oOnBc}Hy~-gy960| zvZD1b7~^|vyrZH52OsYr*JLB5$Tj8~=52kk!sLt%%nuv^wK1jHfjb;)YV3dRAesYv zzks+S*#ITGwym!U+6p2hdi?I(hBc$^wYT6YFeoLHlt_CjK$S-JqcVfcMM?o2Pc_hu zt1*zqU~wlvEoV~$PzcBOD3w1*(Kz5#5`vZq0X#q#)cCa!U>X6QG%mP8*pW1FIwMFxt z6yqia%kWyKnZ9ct925SsuKT87jE;vwoE6H%U`eREYne$11tN@Slf0EhNHC`R)b4&R z*MeZZ*f>PzdOP5y@X2}?tv*aEzikGgBZ$J5sZ-fl{SF#cTKGlUm?Rcz9hJ*!jsb}D zy0(a!Nz|dy-I#$v?$IQ0S*I z^R1sU&2^Qh#JHhFIugM{1jLw24x9)!zJiZ+``RaNwqjLma%;;x@pOf=87CTLu~xu7 zdp*Q2A8=j?)6d~>se3*4L6UbBFL{6pXTDYx8!nfHDgY6p-gh!|#Wdw8X4thF1ehT5 zO(8hQ?x9GU<5Pwj6ItEQnj!w#^N8V#g zz(Z$JMH;THC4Z6`lnw)Wt7kGAX z?WfP3ZDg>l%%G2JL@25wqgUQ;PHke?m*EbDn|quhZTAKe-X=}xPK>7|JZ~LN(UhL} zp!tDCTg$BrUW*mLU|5<>dimO{+1Z_Gx_B>#?^&VS2wc>>!I12{%zLww9E#+tE$M}< z);gc(czLDo^%Ju4azS3ECBqe_PO}Cp+PkQkpad&Ud3E~#E6@2^Ysnm?tKD!{18On! z=SXlu4^}>$B~2(2I)#Swu>1D=8yyxL0vQvw@EuA@Q1+I>;R_3(Say|mqy=G>aQ_~< zW}2H}yC*0!IztLWZo~RX5qsA(2PjNAL(dA|#qP{Z2KnZhNls`(ZfB=*q{y>0t?jOh zo~@zDnD-t=bbm8B)H&-s&*4l8c>Pa&^KHw)Cbgs?{ZLs55BOh%YMi~CB!!(>O1!OH z=)1)frl!aFyKiQ3*(V5xl`(d$HK+oWl9xp)_F`lEP=BMS6d^QbiU*>EgVu_~95l7$ z`UCrbIpGi;EuC9LQoic51(%BC8Ff9{guXpa@8b+!6Xy7~JM{1?Pn2QyL^Ps<28sTh z8!RwIDE=Jn*u0&qp-W}Szzpn>^jco{-Cu{%H1m0z=~U$=tC%DPpfBM;BM3I>I4Rv( zB~a(S`lcS#W>cRIMLlA2&Yxu1EbKRu+|{Q}^loUcFUD3(L}QFW8@@QvvZ03!dRnow zt*{NYukVVjRd#@4^)vOBjdq6BjmX|EbIrMjv=JbA1+(q0HU#g-LfkV@JfD*2QD+2R z8V&*7@r&k|*$KGB-)@IELvG_?*4jr)ffJ#RGm<%ffJ4R@oYc`30l}$tD>XFsml5x_jAKNDGO4aLAht^6`B_7xAJtjCc=9 zKmHHSZ;}JYHiteiVge^l@zcwcYP{T;`-3K=f|Iu*@m_zntVI-7x{g|#Gu+JqD84gO zpzOMY<6B#k^t_pB(*dF(H|VxI%U>h4heY6ySEKIl@CXQD#l>zKbx(LNf9&KZPBN)m zgM%{PutC_KcFHUcwM~A0ug^co(!rplszdoBiqqi&6PE)@U1O3LP{v_Ui{c`QN-a{C zFfL7|`a|6u;{7qU&W%tCD$M`q$X7Vw>pe(v`_@%8<&qYG|JtYXekH_}5{_+x9jIg5 zl~sDguFl>`EexS$M5|&_hQpFhyen7EL&F-SKvOQZgqP9LJwuk`I@Q?VN=a zXV&*R^12vwpC-ciwvmZ(&tpt451m>_y)NJpl_Z&0Y_DK{w;s6LTT$Mxz1Gp0pD8jz zE8XjpZ)Scg9VO){pFDl@*o_`5T+^H;FG+*)84?1-!g=zFwulvPNBZ(MCq^xgD;%YO z&`;)F-H$FdXE{C1)?Hf&f3_HRRar(m|E^2U=F4I2`qx|pO6%lW{#t4Zlq5hOGCY{f z*@&9Zg+!zt6FMz66>0K70Z{g}lJQyceUh$i&K+_l%%Gr5W~0|5OoP>`?||kyvBjQz zZx#kThb{0NRIVoG<~=y?w_o`jcpEePN7mY$cYUY)0+P=0zn>sOOH+(JI}YxXoW0?Y-RsSi4_Ga1^nc|bNr#+UoqmsOnp;nO>;N7$XRgaUXl!XvnR1=iy>;~A| zu?QqvK=oUwQnRJXneJtHqs}EndQK#u@sF#~-CsA*yeIkt>`CYsFrWqeZaA)n$=_Yjxx} zm$ke-_D|0nq8txYBb1LQzS{EZHly15I@j`1RHoz;M8V6w&0wGi1hBh(^AV-zm_2v) zWRwgM2fqC}-H1u>(s0BSnx>7w2IB;DC>lEF%4GrT2m*i{5owld_&@UcCLe%|@Eh$b z?CxS>Gv=zl`bEK1c-^%wP5DlQQ@(B!er&-92$xXP0qX~?Bdq6QytR=p7hd)lYNq15 zt*tKz+9p*E)Y$fL0%WVtZC;z_etMBqjV(>MA@zwz&t|8`0>IGb(?(xt@)~&ia|H!! zQuJ#)5K-JDr0Iqa7~{=lXP zHZd(!kMU7;r`0ldbvcbG*dTNXlM!qA3w~ioCMMm1SHS+mW+j`=5=^3N5A`z zg$kQ1B9Sqp`Zk!)`?f?9^Ht|$r6Ppyzp%}oQ}Cv)|0X2=QvJKu#-CDzhd8-A!8>^+ zHXke6uZ{{orW^rM-w>&|0r{ahFhTP9YdTUv`GVS9X<$;q+0^ymKg3WZN(f_84Gx9X z%Bk^g#-BQ-%$7^Hr?`UT|Ik0d+%cB*((h*9^%pYA%k1-;~5W}`*@_1djLmWdsH$9JDDKcAsh=WEdlL!*3|KoQ&U z+JiK~kL(L$M=5Eh1o=b|NYX{-`an~!eaBUIgmw6!OlDg*N({7RB!g=x{f*E4lgwie zG)CYIX1B}T7?F|Dxw#7?4Buau96}XVyb$%S{5;mTiz&d_8xv`-py>tOB_`v6_bOXQ zwXs@4H(g14(T7!>h!Q8o&xbB&H|S~*OV_Q#ANDW36orl(B~Xu(j45d~U~#SBr-W`( z0cz6p%56@Mj$JP-7b!Z|mI0Ia+Poi}RcFQu*Gw_c_rB=>O2x|Yp`&U#uSRfl-*DXH z9A1!{zzt(vv0ySdjG!fGf6wv9=qdYGw1#++?0B6@t8sT4C4tbNe7XyP6?Xc-ikvP0a=0M3B+ zx#FM%S8pzm4+t?MSN;2UwqZxC@dwJqI`;&~2??9jE8q5My3j+tzy3==4b|fOPXV>7 zXJh4CPqRoHH9idFmm=pmW(KSZ-p;u7wzAa@OTwGQS19c`|4Vr!c+a!<0ssw z>Kfw#Kjons<4g#NiFeM~y(Kv*2EHT=6pL?8t==d|10HEF9#wVqTI_Wz#^R=a=v;v_ zvHjbT5C}$7m>{mODAJKkdvFHnIO0M)D+k}*g>D|Nsa1~(klWepg;y4W6y=TO^GmF>u zmD<}2enooc;&J__FgvSWg3xvRNn9#TsMAoOq`e)xj_nIvj&z69q!s`J_WCAV@j844kcsZ0=Ezo%JiMa#6Ico?BV$Z{$P7MF4pKq z^~`lCL2-V2@eCgXJ)Ro=ZwzF_kj2S$r1^w7OiE54BfmahsSyFd`Gnbm;LJG>1Z2

s%n+a76Wa=Pzhl>ePyT5UAtf=yk2bVSo2A|b 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 i0fT@+z#uRK5cvP!R=^hNR7^?$0000{>Fs(R|# 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 Date: Tue, 28 Jul 2020 18:31:40 +0300 Subject: [PATCH 13/43] Resolved #4905: Allow to add converters to the standard JSON serializer --- .../Collections/Generic/AbpListExtensions.cs | 15 ++++++++--- .../DynamicHttpProxyInterceptor.cs | 1 - .../Volo/Abp/Json/AbpJsonModule.cs | 11 ++++++-- .../AbpNewtonsoftJsonSerializerOptions.cs | 15 +++++++++++ .../Newtonsoft/NewtonsoftJsonSerializer.cs | 25 +++++++++++++------ .../AspNetCore/Mvc/PeopleAppService_Tests.cs | 3 +-- .../Generic/AbpListExtensions_Tests.cs | 18 +++++++++++-- 7 files changed, 70 insertions(+), 18 deletions(-) create mode 100644 framework/src/Volo.Abp.Json/Volo/Abp/Json/Newtonsoft/AbpNewtonsoftJsonSerializerOptions.cs diff --git a/framework/src/Volo.Abp.Core/System/Collections/Generic/AbpListExtensions.cs b/framework/src/Volo.Abp.Core/System/Collections/Generic/AbpListExtensions.cs index ec7a640a39..ac71649793 100644 --- a/framework/src/Volo.Abp.Core/System/Collections/Generic/AbpListExtensions.cs +++ b/framework/src/Volo.Abp.Core/System/Collections/Generic/AbpListExtensions.cs @@ -9,6 +9,14 @@ namespace System.Collections.Generic /// public static class AbpListExtensions { + public static void InsertRange(this IList source, int index, IEnumerable items) + { + foreach (var item in items) + { + source.Insert(index++, item); + } + } + public static int FindIndex(this IList source, Predicate selector) { for (var i = 0; i < source.Count; ++i) @@ -182,7 +190,7 @@ namespace System.Collections.Generic /// Function to resolve the dependencies /// /// Returns a new list ordered by dependencies. - /// If A depends on B, then B will come before than A in the resulting list. + /// If A depends on B, then B will come before than A in the resulting list. /// public static List SortByDependencies(this IEnumerable source, Func> getDependencies) { @@ -202,14 +210,15 @@ namespace System.Collections.Generic } ///

- /// + /// /// /// The type of the members of values. /// Item to resolve /// Function to resolve the dependencies /// List with the sortet items /// Dictionary with the visited items - private static void SortByDependenciesVisit(T item, Func> getDependencies, List sorted, Dictionary visited) + private static void SortByDependenciesVisit(T item, Func> getDependencies, List sorted, + Dictionary visited) { bool inProcess; var alreadyVisited = visited.TryGetValue(item, out inProcess); diff --git a/framework/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/DynamicProxying/DynamicHttpProxyInterceptor.cs b/framework/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/DynamicProxying/DynamicHttpProxyInterceptor.cs index 533b76aa6c..af9eb59b7f 100644 --- a/framework/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/DynamicProxying/DynamicHttpProxyInterceptor.cs +++ b/framework/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/DynamicProxying/DynamicHttpProxyInterceptor.cs @@ -17,7 +17,6 @@ using Volo.Abp.Http.Modeling; using Volo.Abp.Http.ProxyScripting.Generators; using Volo.Abp.Json; using Volo.Abp.MultiTenancy; -using Volo.Abp.Reflection; using Volo.Abp.Threading; using Volo.Abp.Tracing; diff --git a/framework/src/Volo.Abp.Json/Volo/Abp/Json/AbpJsonModule.cs b/framework/src/Volo.Abp.Json/Volo/Abp/Json/AbpJsonModule.cs index dcb8f28dff..c3ea13da43 100644 --- a/framework/src/Volo.Abp.Json/Volo/Abp/Json/AbpJsonModule.cs +++ b/framework/src/Volo.Abp.Json/Volo/Abp/Json/AbpJsonModule.cs @@ -1,4 +1,5 @@ -using Volo.Abp.Modularity; +using Volo.Abp.Json.Newtonsoft; +using Volo.Abp.Modularity; using Volo.Abp.Timing; namespace Volo.Abp.Json @@ -6,6 +7,12 @@ namespace Volo.Abp.Json [DependsOn(typeof(AbpTimingModule))] public class AbpJsonModule : AbpModule { - + public override void ConfigureServices(ServiceConfigurationContext context) + { + Configure(options => + { + options.Converters.Add(); + }); + } } } diff --git a/framework/src/Volo.Abp.Json/Volo/Abp/Json/Newtonsoft/AbpNewtonsoftJsonSerializerOptions.cs b/framework/src/Volo.Abp.Json/Volo/Abp/Json/Newtonsoft/AbpNewtonsoftJsonSerializerOptions.cs new file mode 100644 index 0000000000..cb1c3d9f65 --- /dev/null +++ b/framework/src/Volo.Abp.Json/Volo/Abp/Json/Newtonsoft/AbpNewtonsoftJsonSerializerOptions.cs @@ -0,0 +1,15 @@ +using Newtonsoft.Json; +using Volo.Abp.Collections; + +namespace Volo.Abp.Json.Newtonsoft +{ + public class AbpNewtonsoftJsonSerializerOptions + { + public ITypeList Converters { get; } + + public AbpNewtonsoftJsonSerializerOptions() + { + Converters = new TypeList(); + } + } +} diff --git a/framework/src/Volo.Abp.Json/Volo/Abp/Json/Newtonsoft/NewtonsoftJsonSerializer.cs b/framework/src/Volo.Abp.Json/Volo/Abp/Json/Newtonsoft/NewtonsoftJsonSerializer.cs index 99252b8448..20e49ac817 100644 --- a/framework/src/Volo.Abp.Json/Volo/Abp/Json/Newtonsoft/NewtonsoftJsonSerializer.cs +++ b/framework/src/Volo.Abp.Json/Volo/Abp/Json/Newtonsoft/NewtonsoftJsonSerializer.cs @@ -1,4 +1,8 @@ using System; +using System.Collections.Generic; +using System.Linq; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Options; using Newtonsoft.Json; using Newtonsoft.Json.Serialization; using Volo.Abp.DependencyInjection; @@ -7,14 +11,19 @@ namespace Volo.Abp.Json.Newtonsoft { public class NewtonsoftJsonSerializer : IJsonSerializer, ITransientDependency { - private readonly AbpJsonIsoDateTimeConverter _dateTimeConverter; - private static readonly CamelCaseExceptDictionaryKeysResolver SharedCamelCaseExceptDictionaryKeysResolver = new CamelCaseExceptDictionaryKeysResolver(); - public NewtonsoftJsonSerializer(AbpJsonIsoDateTimeConverter dateTimeConverter) + protected List Converters { get; } + + public NewtonsoftJsonSerializer( + IOptions options, + IServiceProvider serviceProvider) { - _dateTimeConverter = dateTimeConverter; + Converters = options.Value + .Converters + .Select(c => (JsonConverter) serviceProvider.GetRequiredService(c)) + .ToList(); } public string Serialize(object obj, bool camelCase = true, bool indented = false) @@ -36,8 +45,8 @@ namespace Volo.Abp.Json.Newtonsoft { var settings = new JsonSerializerSettings(); - settings.Converters.Insert(0, _dateTimeConverter); - + settings.Converters.InsertRange(0, Converters); + if (camelCase) { settings.ContractResolver = SharedCamelCaseExceptDictionaryKeysResolver; @@ -47,7 +56,7 @@ namespace Volo.Abp.Json.Newtonsoft { settings.Formatting = Formatting.Indented; } - + return settings; } @@ -63,4 +72,4 @@ namespace Volo.Abp.Json.Newtonsoft } } } -} \ No newline at end of file +} diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo/Abp/AspNetCore/Mvc/PeopleAppService_Tests.cs b/framework/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo/Abp/AspNetCore/Mvc/PeopleAppService_Tests.cs index 96a79d8971..aae7345908 100644 --- a/framework/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo/Abp/AspNetCore/Mvc/PeopleAppService_Tests.cs +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo/Abp/AspNetCore/Mvc/PeopleAppService_Tests.cs @@ -83,7 +83,6 @@ namespace Volo.Abp.AspNetCore.Mvc (await _personRepository.FindAsync(resultDto.Id)).ShouldNotBeNull(); } - [Fact] public async Task Update_Test() { @@ -170,4 +169,4 @@ namespace Volo.Abp.AspNetCore.Mvc douglas.Phones.Any(p => p.Number == firstPhone.Number).ShouldBeFalse(); } } -} \ No newline at end of file +} diff --git a/framework/test/Volo.Abp.Core.Tests/System/Collections/Generic/AbpListExtensions_Tests.cs b/framework/test/Volo.Abp.Core.Tests/System/Collections/Generic/AbpListExtensions_Tests.cs index 9c8926f38a..618b8769dc 100644 --- a/framework/test/Volo.Abp.Core.Tests/System/Collections/Generic/AbpListExtensions_Tests.cs +++ b/framework/test/Volo.Abp.Core.Tests/System/Collections/Generic/AbpListExtensions_Tests.cs @@ -7,6 +7,20 @@ namespace System.Collections.Generic { public class AbpListExtensions_Tests { + [Fact] + public void InsertRange() + { + var list = Enumerable.Range(1, 3).ToList(); + list.InsertRange(1, new[] {7, 8, 9}); + + list[0].ShouldBe(1); + list[1].ShouldBe(7); + list[2].ShouldBe(8); + list[3].ShouldBe(9); + list[4].ShouldBe(2); + list[5].ShouldBe(3); + } + [Fact] public void InsertAfter() { @@ -191,7 +205,7 @@ namespace System.Collections.Generic { var list = RandomHelper .GenerateRandomizedList(new char[] {'A', 'B', 'C', 'D', 'E', 'F', 'G'}); - + list = list.SortByDependencies(c => dependencies[c]); foreach (var dependency in dependencies) @@ -204,4 +218,4 @@ namespace System.Collections.Generic } } } -} \ No newline at end of file +} From a14a2c26e35a14a91ba878f73fe5e3401f22a469 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Tue, 28 Jul 2020 18:37:56 +0300 Subject: [PATCH 14/43] Remove unused namespaces --- .../Volo/Abp/FeatureManagement/UpdateFeatureDto.cs | 6 +----- .../Volo/Abp/FeatureManagement/FeatureAppService.cs | 4 ---- 2 files changed, 1 insertion(+), 9 deletions(-) diff --git a/modules/feature-management/src/Volo.Abp.FeatureManagement.Application.Contracts/Volo/Abp/FeatureManagement/UpdateFeatureDto.cs b/modules/feature-management/src/Volo.Abp.FeatureManagement.Application.Contracts/Volo/Abp/FeatureManagement/UpdateFeatureDto.cs index 26b351ee9e..7fc367b0d2 100644 --- a/modules/feature-management/src/Volo.Abp.FeatureManagement.Application.Contracts/Volo/Abp/FeatureManagement/UpdateFeatureDto.cs +++ b/modules/feature-management/src/Volo.Abp.FeatureManagement.Application.Contracts/Volo/Abp/FeatureManagement/UpdateFeatureDto.cs @@ -1,8 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace Volo.Abp.FeatureManagement +namespace Volo.Abp.FeatureManagement { public class UpdateFeatureDto { diff --git a/modules/feature-management/src/Volo.Abp.FeatureManagement.Application/Volo/Abp/FeatureManagement/FeatureAppService.cs b/modules/feature-management/src/Volo.Abp.FeatureManagement.Application/Volo/Abp/FeatureManagement/FeatureAppService.cs index 6c9db9bade..ab097a54a6 100644 --- a/modules/feature-management/src/Volo.Abp.FeatureManagement.Application/Volo/Abp/FeatureManagement/FeatureAppService.cs +++ b/modules/feature-management/src/Volo.Abp.FeatureManagement.Application/Volo/Abp/FeatureManagement/FeatureAppService.cs @@ -1,13 +1,9 @@ using System; using System.Collections.Generic; -using System.Linq; -using System.Text; using System.Threading.Tasks; using JetBrains.Annotations; using Microsoft.AspNetCore.Authorization; -using Microsoft.Extensions.Localization; using Microsoft.Extensions.Options; -using Volo.Abp.Application.Services; using Volo.Abp.Features; namespace Volo.Abp.FeatureManagement From d2b39c0087e3da6898367dc2b74401f314662fb0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Tue, 28 Jul 2020 19:14:13 +0300 Subject: [PATCH 15/43] #4337 added initial implementation points. --- ...ureManagementApplicationContractsModule.cs | 6 +++ .../StringValueTypeJsonConverter.cs | 29 ++++++++++++ .../FeatureAppService_Tests.cs | 1 - .../StringValueJsonConverter_Tests.cs | 46 +++++++++++++++++++ 4 files changed, 81 insertions(+), 1 deletion(-) create mode 100644 modules/feature-management/src/Volo.Abp.FeatureManagement.Application.Contracts/Volo/Abp/FeatureManagement/StringValueTypeJsonConverter.cs create mode 100644 modules/feature-management/test/Volo.Abp.FeatureManagement.Application.Tests/Volo/Abp/FeatureManagement/StringValueJsonConverter_Tests.cs diff --git a/modules/feature-management/src/Volo.Abp.FeatureManagement.Application.Contracts/Volo/Abp/FeatureManagement/AbpFeatureManagementApplicationContractsModule.cs b/modules/feature-management/src/Volo.Abp.FeatureManagement.Application.Contracts/Volo/Abp/FeatureManagement/AbpFeatureManagementApplicationContractsModule.cs index 8b71e3f85b..37b49f2d8a 100644 --- a/modules/feature-management/src/Volo.Abp.FeatureManagement.Application.Contracts/Volo/Abp/FeatureManagement/AbpFeatureManagementApplicationContractsModule.cs +++ b/modules/feature-management/src/Volo.Abp.FeatureManagement.Application.Contracts/Volo/Abp/FeatureManagement/AbpFeatureManagementApplicationContractsModule.cs @@ -1,4 +1,5 @@ using Volo.Abp.Application; +using Volo.Abp.Json.Newtonsoft; using Volo.Abp.Modularity; using Volo.Abp.VirtualFileSystem; @@ -16,6 +17,11 @@ namespace Volo.Abp.FeatureManagement { options.FileSets.AddEmbedded(); }); + + Configure(options => + { + options.Converters.Add(); + }); } } } diff --git a/modules/feature-management/src/Volo.Abp.FeatureManagement.Application.Contracts/Volo/Abp/FeatureManagement/StringValueTypeJsonConverter.cs b/modules/feature-management/src/Volo.Abp.FeatureManagement.Application.Contracts/Volo/Abp/FeatureManagement/StringValueTypeJsonConverter.cs new file mode 100644 index 0000000000..5c14675b5c --- /dev/null +++ b/modules/feature-management/src/Volo.Abp.FeatureManagement.Application.Contracts/Volo/Abp/FeatureManagement/StringValueTypeJsonConverter.cs @@ -0,0 +1,29 @@ +using System; +using Newtonsoft.Json; +using Newtonsoft.Json.Linq; +using Volo.Abp.DependencyInjection; +using Volo.Abp.Validation.StringValues; + +namespace Volo.Abp.FeatureManagement +{ + public class StringValueTypeJsonConverter : JsonConverter, ITransientDependency + { + public override bool CanWrite => false; + + public override bool CanConvert(Type objectType) + { + return objectType == typeof(IStringValueType); + } + + public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) + { + throw new NotImplementedException("This method should not be called to write (since CanWrite is false)."); + } + + public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) + { + //TODO: Deserialize! + return null; + } + } +} diff --git a/modules/feature-management/test/Volo.Abp.FeatureManagement.Application.Tests/Volo/Abp/FeatureManagement/FeatureAppService_Tests.cs b/modules/feature-management/test/Volo.Abp.FeatureManagement.Application.Tests/Volo/Abp/FeatureManagement/FeatureAppService_Tests.cs index b86e6be013..b257f873cd 100644 --- a/modules/feature-management/test/Volo.Abp.FeatureManagement.Application.Tests/Volo/Abp/FeatureManagement/FeatureAppService_Tests.cs +++ b/modules/feature-management/test/Volo.Abp.FeatureManagement.Application.Tests/Volo/Abp/FeatureManagement/FeatureAppService_Tests.cs @@ -1,7 +1,6 @@ using System; using System.Collections.Generic; using System.Linq; -using System.Text; using System.Threading.Tasks; using Microsoft.Extensions.DependencyInjection; using NSubstitute; diff --git a/modules/feature-management/test/Volo.Abp.FeatureManagement.Application.Tests/Volo/Abp/FeatureManagement/StringValueJsonConverter_Tests.cs b/modules/feature-management/test/Volo.Abp.FeatureManagement.Application.Tests/Volo/Abp/FeatureManagement/StringValueJsonConverter_Tests.cs new file mode 100644 index 0000000000..e7017db80e --- /dev/null +++ b/modules/feature-management/test/Volo.Abp.FeatureManagement.Application.Tests/Volo/Abp/FeatureManagement/StringValueJsonConverter_Tests.cs @@ -0,0 +1,46 @@ +using System.Collections.Generic; +using Newtonsoft.Json; +using Shouldly; +using Volo.Abp.Json; +using Volo.Abp.Validation.StringValues; +using Xunit; + +namespace Volo.Abp.FeatureManagement +{ + public class StringValueJsonConverter_Tests : FeatureManagementApplicationTestBase + { + private readonly IJsonSerializer _jsonSerializer; + + public StringValueJsonConverter_Tests() + { + _jsonSerializer = GetRequiredService(); + } + + [Fact(Skip = "StringValueTypeJsonConverter is not implemented yet!")] + public void Should_Serialize_And_Deserialize() + { + var featureListDto = new FeatureListDto + { + Features = new List + { + new FeatureDto + { + ValueType = new FreeTextStringValueType + { + Validator = new BooleanValueValidator() + } + } + + //TODO: Add more to test + } + }; + + var serialized = _jsonSerializer.Serialize(featureListDto); + + var featureListDto2 = _jsonSerializer.Deserialize(serialized); + + featureListDto2.Features[0].ValueType.ShouldBeOfType(); + featureListDto2.Features[0].ValueType.Validator.ShouldBeOfType(); + } + } +} From 76f647110354e353cd92d72c3baf87fb736bd878 Mon Sep 17 00:00:00 2001 From: Sergey Komisarchik Date: Tue, 28 Jul 2020 21:37:15 +0300 Subject: [PATCH 16/43] Fix NRE on EntityHistoryHelper.ShouldSavePropertyHistory --- .../EntityHistory/EntityHistoryHelper.cs | 2 +- .../EntityFrameworkCore/AbpAuditingTestDbContext.cs | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/framework/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/EntityFrameworkCore/EntityHistory/EntityHistoryHelper.cs b/framework/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/EntityFrameworkCore/EntityHistory/EntityHistoryHelper.cs index 796c6e20fb..50de4f1b56 100644 --- a/framework/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/EntityFrameworkCore/EntityHistory/EntityHistoryHelper.cs +++ b/framework/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/EntityFrameworkCore/EntityHistory/EntityHistoryHelper.cs @@ -242,7 +242,7 @@ namespace Volo.Abp.EntityFrameworkCore.EntityHistory } } - if (IsBaseAuditProperty(propertyInfo, entityType)) + if (propertyInfo != null && IsBaseAuditProperty(propertyInfo, entityType)) { return false; } diff --git a/framework/test/Volo.Abp.Auditing.Tests/Volo/Abp/Auditing/App/EntityFrameworkCore/AbpAuditingTestDbContext.cs b/framework/test/Volo.Abp.Auditing.Tests/Volo/Abp/Auditing/App/EntityFrameworkCore/AbpAuditingTestDbContext.cs index d6b2d2b167..b18eff5da3 100644 --- a/framework/test/Volo.Abp.Auditing.Tests/Volo/Abp/Auditing/App/EntityFrameworkCore/AbpAuditingTestDbContext.cs +++ b/framework/test/Volo.Abp.Auditing.Tests/Volo/Abp/Auditing/App/EntityFrameworkCore/AbpAuditingTestDbContext.cs @@ -27,5 +27,15 @@ namespace Volo.Abp.Auditing.App.EntityFrameworkCore { } + + protected override void OnModelCreating(ModelBuilder modelBuilder) + { + base.OnModelCreating(modelBuilder); + + modelBuilder.Entity(entity => + { + entity.Property("Shadow"); + }); + } } } \ No newline at end of file From bc39339fc63a6dca3817d96838b5ebe49d494375 Mon Sep 17 00:00:00 2001 From: maliming <6908465+maliming@users.noreply.github.com> Date: Wed, 29 Jul 2020 11:44:55 +0800 Subject: [PATCH 17/43] Implement StringValueTypeJsonConverter. Resolve #4337 --- .../StringValueTypeJsonConverter.cs | 65 ++++++++++++++++++- .../StringValueJsonConverter_Tests.cs | 46 +++++++++++-- 2 files changed, 103 insertions(+), 8 deletions(-) diff --git a/modules/feature-management/src/Volo.Abp.FeatureManagement.Application.Contracts/Volo/Abp/FeatureManagement/StringValueTypeJsonConverter.cs b/modules/feature-management/src/Volo.Abp.FeatureManagement.Application.Contracts/Volo/Abp/FeatureManagement/StringValueTypeJsonConverter.cs index 5c14675b5c..0ee276cce1 100644 --- a/modules/feature-management/src/Volo.Abp.FeatureManagement.Application.Contracts/Volo/Abp/FeatureManagement/StringValueTypeJsonConverter.cs +++ b/modules/feature-management/src/Volo.Abp.FeatureManagement.Application.Contracts/Volo/Abp/FeatureManagement/StringValueTypeJsonConverter.cs @@ -1,4 +1,7 @@ using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using Volo.Abp.DependencyInjection; @@ -22,8 +25,66 @@ namespace Volo.Abp.FeatureManagement public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) { - //TODO: Deserialize! - return null; + if (reader.TokenType != JsonToken.StartObject) + { + return null; + } + + var jsonObject = JObject.Load(reader); + + var stringValue = CreateStringValueTypeByName(jsonObject, jsonObject["name"].ToString()); + foreach (var o in serializer.Deserialize>( + new JsonTextReader(new StringReader(jsonObject["properties"].ToString())))) + { + stringValue[o.Key] = o.Value; + } + + stringValue.Validator = CreateValueValidatorByName(jsonObject["validator"], jsonObject["validator"]["name"].ToString()); + foreach (var o in serializer.Deserialize>( + new JsonTextReader(new StringReader(jsonObject["validator"]["properties"].ToString())))) + { + stringValue.Validator[o.Key] = o.Value; + } + + return stringValue; + } + + protected virtual IStringValueType CreateStringValueTypeByName(JObject jObject, string name) + { + if (name == "SelectionStringValueType") + { + var selectionStringValueType = new SelectionStringValueType(); + if (jObject["itemSource"].HasValues) + { + selectionStringValueType.ItemSource = new StaticSelectionStringValueItemSource(jObject["itemSource"]["items"] + .Select(item => new LocalizableSelectionStringValueItem() + { + Value = item["value"].ToString(), + DisplayText = new LocalizableStringInfo(item["displayText"]["resourceName"].ToString(), item["displayText"]["name"].ToString()) + }).ToArray()); + } + + return selectionStringValueType; + } + + return name switch + { + "FreeTextStringValueType" => new FreeTextStringValueType(), + "ToggleStringValueType" => new ToggleStringValueType(), + _ => throw new ArgumentException($"{nameof(IStringValueType)} named {name} was not found!") + }; + } + + protected virtual IValueValidator CreateValueValidatorByName(JToken jObject, string name) + { + return name switch + { + "NULL" => new AlwaysValidValueValidator(), + "BOOLEAN" => new BooleanValueValidator(), + "NUMERIC" => new NumericValueValidator(), + "STRING" => new StringValueValidator(), + _ => throw new ArgumentException($"{nameof(IValueValidator)} named {name} was not found!") + }; } } } diff --git a/modules/feature-management/test/Volo.Abp.FeatureManagement.Application.Tests/Volo/Abp/FeatureManagement/StringValueJsonConverter_Tests.cs b/modules/feature-management/test/Volo.Abp.FeatureManagement.Application.Tests/Volo/Abp/FeatureManagement/StringValueJsonConverter_Tests.cs index e7017db80e..528e0de5e8 100644 --- a/modules/feature-management/test/Volo.Abp.FeatureManagement.Application.Tests/Volo/Abp/FeatureManagement/StringValueJsonConverter_Tests.cs +++ b/modules/feature-management/test/Volo.Abp.FeatureManagement.Application.Tests/Volo/Abp/FeatureManagement/StringValueJsonConverter_Tests.cs @@ -1,4 +1,5 @@ -using System.Collections.Generic; +using System; +using System.Collections.Generic; using Newtonsoft.Json; using Shouldly; using Volo.Abp.Json; @@ -16,7 +17,7 @@ namespace Volo.Abp.FeatureManagement _jsonSerializer = GetRequiredService(); } - [Fact(Skip = "StringValueTypeJsonConverter is not implemented yet!")] + [Fact] public void Should_Serialize_And_Deserialize() { var featureListDto = new FeatureListDto @@ -29,18 +30,51 @@ namespace Volo.Abp.FeatureManagement { Validator = new BooleanValueValidator() } + }, + new FeatureDto + { + ValueType = new SelectionStringValueType + { + ItemSource = new StaticSelectionStringValueItemSource( + new LocalizableSelectionStringValueItem + { + Value = "TestValue", + DisplayText = new LocalizableStringInfo("TestResourceName", "TestName") + }), + Validator = new AlwaysValidValueValidator() + } + }, + new FeatureDto + { + ValueType = new ToggleStringValueType + { + Validator = new NumericValueValidator + { + MaxValue = 1000, + MinValue = 10 + } + } } - - //TODO: Add more to test } }; - var serialized = _jsonSerializer.Serialize(featureListDto); - + var serialized = _jsonSerializer.Serialize(featureListDto, indented: true); var featureListDto2 = _jsonSerializer.Deserialize(serialized); featureListDto2.Features[0].ValueType.ShouldBeOfType(); featureListDto2.Features[0].ValueType.Validator.ShouldBeOfType(); + + featureListDto2.Features[1].ValueType.ShouldBeOfType(); + featureListDto2.Features[1].ValueType.Validator.ShouldBeOfType(); + featureListDto2.Features[1].ValueType.As().ItemSource.Items.ShouldBeOfType(); + featureListDto2.Features[1].ValueType.As().ItemSource.Items.ShouldContain(x => + x.Value == "TestValue" && x.DisplayText.ResourceName == "TestResourceName" && + x.DisplayText.Name == "TestName"); + + featureListDto2.Features[2].ValueType.ShouldBeOfType(); + featureListDto2.Features[2].ValueType.Validator.ShouldBeOfType(); + featureListDto2.Features[2].ValueType.Validator.As().MaxValue.ShouldBe(1000); + featureListDto2.Features[2].ValueType.Validator.As().MinValue.ShouldBe(10); } } } From d18dc2028271abac74e66b7ca468e9719da34764 Mon Sep 17 00:00:00 2001 From: Sergey Komisarchik Date: Wed, 29 Jul 2020 09:17:29 +0300 Subject: [PATCH 18/43] revert test context changes --- .../EntityFrameworkCore/AbpAuditingTestDbContext.cs | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/framework/test/Volo.Abp.Auditing.Tests/Volo/Abp/Auditing/App/EntityFrameworkCore/AbpAuditingTestDbContext.cs b/framework/test/Volo.Abp.Auditing.Tests/Volo/Abp/Auditing/App/EntityFrameworkCore/AbpAuditingTestDbContext.cs index b18eff5da3..d6b2d2b167 100644 --- a/framework/test/Volo.Abp.Auditing.Tests/Volo/Abp/Auditing/App/EntityFrameworkCore/AbpAuditingTestDbContext.cs +++ b/framework/test/Volo.Abp.Auditing.Tests/Volo/Abp/Auditing/App/EntityFrameworkCore/AbpAuditingTestDbContext.cs @@ -27,15 +27,5 @@ namespace Volo.Abp.Auditing.App.EntityFrameworkCore { } - - protected override void OnModelCreating(ModelBuilder modelBuilder) - { - base.OnModelCreating(modelBuilder); - - modelBuilder.Entity(entity => - { - entity.Property("Shadow"); - }); - } } } \ No newline at end of file From e512923e561af265b0134adb8fd6eec38c9404e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Wed, 29 Jul 2020 10:35:44 +0300 Subject: [PATCH 19/43] Change the data seed code. --- docs/en/Tutorials/Part-1.md | 46 +++++++++++---------- docs/en/Tutorials/Part-10.md | 2 +- docs/en/Tutorials/Part-8.md | 77 ++++++++++++++++++------------------ 3 files changed, 62 insertions(+), 63 deletions(-) diff --git a/docs/en/Tutorials/Part-1.md b/docs/en/Tutorials/Part-1.md index f7a02725f0..3f83fde1d2 100644 --- a/docs/en/Tutorials/Part-1.md +++ b/docs/en/Tutorials/Part-1.md @@ -233,32 +233,30 @@ namespace Acme.BookStore public async Task SeedAsync(DataSeedContext context) { - if (await _bookRepository.GetCountAsync() > 0) + if (await _bookRepository.GetCountAsync() <= 0) { - return; + await _bookRepository.InsertAsync( + new Book + { + Name = "1984", + Type = BookType.Dystopia, + PublishDate = new DateTime(1949, 6, 8), + Price = 19.84f + }, + autoSave: true + ); + + await _bookRepository.InsertAsync( + new Book + { + Name = "The Hitchhiker's Guide to the Galaxy", + Type = BookType.ScienceFiction, + PublishDate = new DateTime(1995, 9, 27), + Price = 42.0f + }, + autoSave: true + ); } - - await _bookRepository.InsertAsync( - new Book - { - Name = "1984", - Type = BookType.Dystopia, - PublishDate = new DateTime(1949, 6, 8), - Price = 19.84f - }, - autoSave: true - ); - - await _bookRepository.InsertAsync( - new Book - { - Name = "The Hitchhiker's Guide to the Galaxy", - Type = BookType.ScienceFiction, - PublishDate = new DateTime(1995, 9, 27), - Price = 42.0f - }, - autoSave: true - ); } } } diff --git a/docs/en/Tutorials/Part-10.md b/docs/en/Tutorials/Part-10.md index fbecf39b86..0fa4892298 100644 --- a/docs/en/Tutorials/Part-10.md +++ b/docs/en/Tutorials/Part-10.md @@ -80,7 +80,7 @@ This is a typical migration problem and the decision depends on your case; * You can do it programmatically on data migration or seed phase. * You can manually handle it on the database. -We prefer to delete the database {{if DB=="EF"}}(run the `Drop-Database` in the *Package Manager Console*){{end}} since this is just an example project and data loss is not important. Since this topic is not related to the ABP Framework, we don't go deeper for all the scenarios. +We prefer to **delete the database** {{if DB=="EF"}}(run the `Drop-Database` in the *Package Manager Console*){{end}} since this is just an example project and data loss is not important. Since this topic is not related to the ABP Framework, we don't go deeper for all the scenarios. {{if DB=="EF"}} diff --git a/docs/en/Tutorials/Part-8.md b/docs/en/Tutorials/Part-8.md index 38e5b6013f..cf75994c14 100644 --- a/docs/en/Tutorials/Part-8.md +++ b/docs/en/Tutorials/Part-8.md @@ -439,50 +439,51 @@ namespace Acme.BookStore public async Task SeedAsync(DataSeedContext context) { - if (await _bookRepository.GetCountAsync() > 0) + if (await _bookRepository.GetCountAsync() <= 0) { - return; + await _bookRepository.InsertAsync( + new Book + { + Name = "1984", + Type = BookType.Dystopia, + PublishDate = new DateTime(1949, 6, 8), + Price = 19.84f + }, + autoSave: true + ); + + await _bookRepository.InsertAsync( + new Book + { + Name = "The Hitchhiker's Guide to the Galaxy", + Type = BookType.ScienceFiction, + PublishDate = new DateTime(1995, 9, 27), + Price = 42.0f + }, + autoSave: true + ); } // ADDED SEED DATA FOR AUTHORS - - await _authorRepository.InsertAsync( - await _authorManager.CreateAsync( - "George Orwell", - new DateTime(1903, 06, 25), - "Orwell produced literary criticism and poetry, fiction and polemical journalism; and is best known for the allegorical novella Animal Farm (1945) and the dystopian novel Nineteen Eighty-Four (1949)." - ) - ); - - await _authorRepository.InsertAsync( - await _authorManager.CreateAsync( - "Douglas Adams", - new DateTime(1952, 03, 11), - "Douglas Adams was an English author, screenwriter, essayist, humorist, satirist and dramatist. Adams was an advocate for environmentalism and conservation, a lover of fast cars, technological innovation and the Apple Macintosh, and a self-proclaimed 'radical atheist'." - ) - ); - await _bookRepository.InsertAsync( - new Book - { - Name = "1984", - Type = BookType.Dystopia, - PublishDate = new DateTime(1949, 6, 8), - Price = 19.84f - }, - autoSave: true - ); + if (await _authorRepository.GetCountAsync() <= 0) + { + await _authorRepository.InsertAsync( + await _authorManager.CreateAsync( + "George Orwell", + new DateTime(1903, 06, 25), + "Orwell produced literary criticism and poetry, fiction and polemical journalism; and is best known for the allegorical novella Animal Farm (1945) and the dystopian novel Nineteen Eighty-Four (1949)." + ) + ); - await _bookRepository.InsertAsync( - new Book - { - Name = "The Hitchhiker's Guide to the Galaxy", - Type = BookType.ScienceFiction, - PublishDate = new DateTime(1995, 9, 27), - Price = 42.0f - }, - autoSave: true - ); + await _authorRepository.InsertAsync( + await _authorManager.CreateAsync( + "Douglas Adams", + new DateTime(1952, 03, 11), + "Douglas Adams was an English author, screenwriter, essayist, humorist, satirist and dramatist. Adams was an advocate for environmentalism and conservation, a lover of fast cars, technological innovation and the Apple Macintosh, and a self-proclaimed 'radical atheist'." + ) + ); + } } } } From e1d20c72ac9c837efc96ed3cb12c786ece0f3d4f Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Wed, 29 Jul 2020 12:00:58 +0300 Subject: [PATCH 20/43] fix: avoid many fn calling problem #4865 --- .../extensible-form-prop.component.html | 40 +++++++------------ .../extensible-form-prop.component.ts | 33 ++++++++++++--- .../extensible-form.component.ts | 20 +--------- 3 files changed, 43 insertions(+), 50 deletions(-) diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/extensible-form/extensible-form-prop.component.html b/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/extensible-form/extensible-form-prop.component.html index ef1647b540..30d115216b 100644 --- a/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/extensible-form/extensible-form-prop.component.html +++ b/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/extensible-form/extensible-form-prop.component.html @@ -1,15 +1,13 @@
- + @@ -19,28 +17,26 @@ {{ prop.displayName | abpLocalization }} {{ asterisk }}
- + - + - + - + diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/extensible-form/extensible-form-prop.component.ts b/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/extensible-form/extensible-form-prop.component.ts index f796c2d5fe..4a28b14f22 100644 --- a/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/extensible-form/extensible-form-prop.component.ts +++ b/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/extensible-form/extensible-form-prop.component.ts @@ -1,14 +1,17 @@ -import { TrackByService } from '@abp/ng.core'; +import { ABP, TrackByService } from '@abp/ng.core'; import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, Optional, + SimpleChanges, SkipSelf, + OnChanges, } from '@angular/core'; -import { ControlContainer, Validators } from '@angular/forms'; +import { ControlContainer, Validators, ValidatorFn } from '@angular/forms'; import { NgbDateAdapter, NgbTimeAdapter } from '@ng-bootstrap/ng-bootstrap'; +import { Observable, of } from 'rxjs'; import { DateAdapter } from '../../adapters/date.adapter'; import { TimeAdapter } from '../../adapters/time.adapter'; import { ePropType } from '../../enums/props.enum'; @@ -30,15 +33,23 @@ import { selfFactory } from '../../utils/factory.util'; { provide: NgbTimeAdapter, useClass: TimeAdapter }, ], }) -export class ExtensibleFormPropComponent { +export class ExtensibleFormPropComponent implements OnChanges { @Input() data: PropData; @Input() prop: FormProp; + options$: Observable[]> = of([]); + + validators: ValidatorFn[] = []; + + readonly: boolean; + + disabled: boolean; + constructor(public readonly cdRef: ChangeDetectorRef, public readonly track: TrackByService) {} - getAsterisk(prop: FormProp, data: PropData): string { - return prop.validators(data).some(validator => validator === Validators.required) ? '*' : ''; + get asterisk(): string { + return this.validators.some(validator => validator === Validators.required) ? '*' : ''; } getComponent(prop: FormProp): string { @@ -77,4 +88,16 @@ export class ExtensibleFormPropComponent { return 'hidden'; } } + + ngOnChanges({ prop }: SimpleChanges) { + const options = prop.currentValue.options; + const readonly = prop.currentValue.readonly; + const disabled = prop.currentValue.disabled; + const validators = prop.currentValue.validators; + + if (options) this.options$ = options(this.data); + if (readonly) this.readonly = readonly(this.data); + if (disabled) this.disabled = disabled(this.data); + if (validators) this.validators = validators(this.data); + } } diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/extensible-form/extensible-form.component.ts b/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/extensible-form/extensible-form.component.ts index 995b29b8d1..f15f173faa 100644 --- a/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/extensible-form/extensible-form.component.ts +++ b/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/extensible-form/extensible-form.component.ts @@ -1,20 +1,16 @@ import { TrackByService } from '@abp/ng.core'; import { - AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, Inject, Input, - OnDestroy, Optional, QueryList, SkipSelf, ViewChildren, } from '@angular/core'; import { ControlContainer, FormGroup } from '@angular/forms'; -import { Subscription } from 'rxjs'; -import { debounceTime } from 'rxjs/operators'; import { EXTRA_PROPERTIES_KEY } from '../../constants/extra-properties'; import { FormPropList } from '../../models/form-props'; import { ExtensionsService } from '../../services/extensions.service'; @@ -35,7 +31,7 @@ import { ExtensibleFormPropComponent } from './extensible-form-prop.component'; }, ], }) -export class ExtensibleFormComponent implements AfterViewInit, OnDestroy { +export class ExtensibleFormComponent { @ViewChildren(ExtensibleFormPropComponent) formProps: QueryList; @@ -46,7 +42,6 @@ export class ExtensibleFormComponent implements AfterViewInit, OnDestro this.record = record; } - private subscription = new Subscription(); extraPropertiesKey = EXTRA_PROPERTIES_KEY; propList: FormPropList; record: R; @@ -66,17 +61,4 @@ export class ExtensibleFormComponent implements AfterViewInit, OnDestro private extensions: ExtensionsService, @Inject(EXTENSIONS_IDENTIFIER) private identifier: string, ) {} - - ngAfterViewInit() { - this.subscription.add( - this.form.statusChanges.pipe(debounceTime(0)).subscribe(() => { - this.formProps.forEach(prop => prop.cdRef.markForCheck()); - this.cdRef.detectChanges(); - }), - ); - } - - ngOnDestroy() { - this.subscription.unsubscribe(); - } } From 49e24300ba480d5905bb04773119eec8a17491ef Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Wed, 29 Jul 2020 12:01:46 +0300 Subject: [PATCH 21/43] chore: update @ngx-validate/core version --- npm/ng-packs/package.json | 2 +- npm/ng-packs/packages/theme-shared/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/npm/ng-packs/package.json b/npm/ng-packs/package.json index 82c24a9def..7213b7a125 100644 --- a/npm/ng-packs/package.json +++ b/npm/ng-packs/package.json @@ -51,7 +51,7 @@ "@fortawesome/fontawesome-free": "^5.13.0", "@ng-bootstrap/ng-bootstrap": "^6.1.0", "@ngneat/spectator": "^5.11.0", - "@ngx-validate/core": "^0.0.9", + "@ngx-validate/core": "^0.0.10", "@ngxs/devtools-plugin": "^3.6.2", "@ngxs/logger-plugin": "^3.6.2", "@ngxs/router-plugin": "^3.6.2", diff --git a/npm/ng-packs/packages/theme-shared/package.json b/npm/ng-packs/packages/theme-shared/package.json index 542dd18d5f..d1b4be2dd7 100644 --- a/npm/ng-packs/packages/theme-shared/package.json +++ b/npm/ng-packs/packages/theme-shared/package.json @@ -10,7 +10,7 @@ "@abp/ng.core": "~3.0.4", "@fortawesome/fontawesome-free": "^5.13.1", "@ng-bootstrap/ng-bootstrap": "^6.1.0", - "@ngx-validate/core": "^0.0.9", + "@ngx-validate/core": "^0.0.10", "@swimlane/ngx-datatable": "^17.0.0", "bootstrap": "^4.5.0", "chart.js": "^2.9.3", From 107276ca5b745187e232994b236634dd2bce78c8 Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Wed, 29 Jul 2020 12:02:41 +0300 Subject: [PATCH 22/43] refactor: set visible and value props to data of extensible table resolves #4865 --- .../extensible-table.component.html | 10 ++++---- .../extensible-table.component.ts | 25 ++++++++++++++++++- 2 files changed, 29 insertions(+), 6 deletions(-) diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/extensible-table/extensible-table.component.html b/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/extensible-table/extensible-table.component.html index d30b005a98..d6d80bad42 100644 --- a/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/extensible-table/extensible-table.component.html +++ b/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/extensible-table/extensible-table.component.html @@ -27,11 +27,11 @@ [sortable]="prop.sortable" > - -
+ +
diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/extensible-table/extensible-table.component.ts b/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/extensible-table/extensible-table.component.ts index 7768d70c2c..2e866d467f 100644 --- a/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/extensible-table/extensible-table.component.ts +++ b/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/extensible-table/extensible-table.component.ts @@ -9,6 +9,11 @@ import { LOCALE_ID, TemplateRef, TrackByFunction, + Type, + InjectionToken, + InjectFlags, + SimpleChanges, + OnChanges, } from '@angular/core'; import { Observable } from 'rxjs'; import { map } from 'rxjs/operators'; @@ -25,7 +30,7 @@ const DEFAULT_ACTIONS_COLUMN_WIDTH = 150; templateUrl: './extensible-table.component.html', changeDetection: ChangeDetectionStrategy.OnPush, }) -export class ExtensibleTableComponent { +export class ExtensibleTableComponent implements OnChanges { @Input() actionsText: string; @Input() data: R[]; @Input() list: ListService; @@ -35,6 +40,8 @@ export class ExtensibleTableComponent { } @Input() actionsTemplate: TemplateRef; + getInjected: (token: Type | InjectionToken, notFoundValue?: T, flags?: InjectFlags) => T; + readonly columnWidths: number[]; readonly propList: EntityPropList; @@ -42,6 +49,8 @@ export class ExtensibleTableComponent { readonly trackByFn: TrackByFunction> = (_, item) => item.name; constructor(@Inject(LOCALE_ID) private locale: string, injector: Injector) { + // tslint:disable-next-line + this.getInjected = injector.get.bind(injector); const extensions = injector.get(ExtensionsService); const name = injector.get(EXTENSIONS_IDENTIFIER); this.propList = extensions.entityProps.get(name).props; @@ -85,4 +94,18 @@ export class ExtensibleTableComponent { }), ); } + + ngOnChanges({ data }: SimpleChanges) { + if (!data?.currentValue) return; + + this.data = data.currentValue.map((record, index) => { + this.propList.forEach(prop => { + const propData = { getInjected: this.getInjected, record, index } as any; + record[`${prop.value.name}Visible`] = prop.value.visible(propData); + record[`${prop.value.name}Value`] = this.getContent(prop.value, propData); + }); + + return record; + }); + } } From d3eae1ed2707d47ed73910e90a69c21216058cbf Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Wed, 29 Jul 2020 12:18:21 +0300 Subject: [PATCH 23/43] refactor: add "_" as prefix to some properties of extensible table records --- .../extensible-table/extensible-table.component.html | 4 ++-- .../extensible-table/extensible-table.component.ts | 6 ++++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/extensible-table/extensible-table.component.html b/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/extensible-table/extensible-table.component.html index d6d80bad42..dc09088430 100644 --- a/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/extensible-table/extensible-table.component.html +++ b/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/extensible-table/extensible-table.component.html @@ -29,8 +29,8 @@
diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/extensible-table/extensible-table.component.ts b/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/extensible-table/extensible-table.component.ts index 2e866d467f..adacc4efa8 100644 --- a/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/extensible-table/extensible-table.component.ts +++ b/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/extensible-table/extensible-table.component.ts @@ -101,8 +101,10 @@ export class ExtensibleTableComponent implements OnChanges { this.data = data.currentValue.map((record, index) => { this.propList.forEach(prop => { const propData = { getInjected: this.getInjected, record, index } as any; - record[`${prop.value.name}Visible`] = prop.value.visible(propData); - record[`${prop.value.name}Value`] = this.getContent(prop.value, propData); + record[`_${prop.value.name}`] = { + visible: prop.value.visible(propData), + value: this.getContent(prop.value, propData), + }; }); return record; From b1c523c50262bffcd51b85d7d4b61d2fd915170b Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Wed, 29 Jul 2020 12:20:04 +0300 Subject: [PATCH 24/43] ci: update angular.yml --- .github/workflows/angular.yml | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/.github/workflows/angular.yml b/.github/workflows/angular.yml index 3f576ee9c1..60051c2dc1 100644 --- a/.github/workflows/angular.yml +++ b/.github/workflows/angular.yml @@ -3,15 +3,6 @@ on: pull_request: paths: - 'npm/ng-packs/**' - branches: - #- master - - dev - push: - paths: - - 'npm/ng-packs/**' - branches: - #- master - - dev jobs: build-test-lint: runs-on: ubuntu-18.04 @@ -19,6 +10,6 @@ jobs: - uses: actions/checkout@v1 - uses: actions/setup-node@v1 with: - node-version: '10.x' + node-version: '12.x' - run: yarn && yarn ci working-directory: npm/ng-packs From d133478efcd5b922d7f4b29a531bbc0763a65500 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Wed, 29 Jul 2020 12:23:56 +0300 Subject: [PATCH 25/43] Create stale.yml --- .github/stale.yml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 .github/stale.yml diff --git a/.github/stale.yml b/.github/stale.yml new file mode 100644 index 0000000000..d78277d9c5 --- /dev/null +++ b/.github/stale.yml @@ -0,0 +1,15 @@ +# Number of days of inactivity before an issue becomes stale +daysUntilStale: 30 +# Number of days of inactivity before a stale issue is closed +daysUntilClose: 7 +# Set to true to ignore issues in a milestone (defaults to false) +exemptMilestones: true +# Label to use when marking an issue as stale +staleLabel: inactive +# Comment to post when marking an issue as stale. Set to `false` to disable +markComment: > + This issue has been automatically marked as stale because it has not had + recent activity. It will be closed if no further activity occurs. Thank you + for your contributions. +# Comment to post when closing a stale issue. Set to `false` to disable +closeComment: false \ No newline at end of file From e8f4bbd9c42fe9b528497ce13f0a9217db75a0dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Wed, 29 Jul 2020 12:27:26 +0300 Subject: [PATCH 26/43] Create lock.yml --- .github/lock.yml | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 .github/lock.yml diff --git a/.github/lock.yml b/.github/lock.yml new file mode 100644 index 0000000000..2e36a791b6 --- /dev/null +++ b/.github/lock.yml @@ -0,0 +1,38 @@ +# Configuration for Lock Threads - https://github.com/dessant/lock-threads-app + +# Number of days of inactivity before a closed issue or pull request is locked +daysUntilLock: 30 + +# Skip issues and pull requests created before a given timestamp. Timestamp must +# follow ISO 8601 (`YYYY-MM-DD`). Set to `false` to disable +skipCreatedBefore: false + +# Issues and pull requests with these labels will be ignored. Set to `[]` to disable +exemptLabels: [] + +# Label to add before locking, such as `outdated`. Set to `false` to disable +lockLabel: false + +# Comment to post before locking. Set to `false` to disable +lockComment: > + This thread has been automatically locked since there has not been + any recent activity after it was closed. Please open a new issue for + related bugs. + +# Assign `resolved` as the reason for locking. Set to `false` to disable +setLockReason: true + +# Limit to only `issues` or `pulls` +# only: issues + +# Optionally, specify configuration settings just for `issues` or `pulls` +# issues: +# exemptLabels: +# - help-wanted +# lockLabel: outdated + +# pulls: +# daysUntilLock: 30 + +# Repository to extend settings from +# _extends: repo \ No newline at end of file From 47db0703ae2a2511c7f1a9803ff10c43f9aad49a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Wed, 29 Jul 2020 12:29:52 +0300 Subject: [PATCH 27/43] Update stale.yml --- .github/stale.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/stale.yml b/.github/stale.yml index d78277d9c5..c1133728da 100644 --- a/.github/stale.yml +++ b/.github/stale.yml @@ -1,5 +1,5 @@ # Number of days of inactivity before an issue becomes stale -daysUntilStale: 30 +daysUntilStale: 60 # Number of days of inactivity before a stale issue is closed daysUntilClose: 7 # Set to true to ignore issues in a milestone (defaults to false) From 8d5abbb9796814878c3158d504e5df1fb1143634 Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Wed, 29 Jul 2020 12:50:27 +0300 Subject: [PATCH 28/43] test: fix testing errors --- npm/ng-packs/package.json | 4 ++-- .../packages/core/src/lib/tests/initial-utils.spec.ts | 3 ++- .../core/src/lib/tests/localization.service.spec.ts | 6 +++++- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/npm/ng-packs/package.json b/npm/ng-packs/package.json index 7213b7a125..34b80c20d5 100644 --- a/npm/ng-packs/package.json +++ b/npm/ng-packs/package.json @@ -16,7 +16,7 @@ "scripts:build": "cd scripts && yarn && yarn build", "prepare:workspace": "yarn scripts:build --noInstall", "ci": "yarn ng lint && yarn prepare:workspace && yarn ci:test && yarn ci:build", - "ci:test": "ng test --coverage=false", + "ci:test": "ng test --coverage=false --silent", "ci:build": "cd scripts && yarn build:prod", "lerna": "lerna", "compile:ivy": "yarn ngcc --properties es2015 browser module main --first-only --create-ivy-entry-points --tsconfig './tsconfig.prod.json' --source node_modules --async false", @@ -99,4 +99,4 @@ "resolutions": { "@ngx-validate/core": "^0.0.8" } -} \ No newline at end of file +} diff --git a/npm/ng-packs/packages/core/src/lib/tests/initial-utils.spec.ts b/npm/ng-packs/packages/core/src/lib/tests/initial-utils.spec.ts index 553fcc6d7e..9a4166e7cc 100644 --- a/npm/ng-packs/packages/core/src/lib/tests/initial-utils.spec.ts +++ b/npm/ng-packs/packages/core/src/lib/tests/initial-utils.spec.ts @@ -77,7 +77,8 @@ describe('InitialUtils', () => { const injectorSpy = jest.spyOn(injector, 'get'); const store = spectator.inject(Store); store.selectSnapshot.andCallFake(selector => selector({ SessionState: { language: 'tr' } })); - injectorSpy.mockReturnValue(store); + injectorSpy.mockReturnValueOnce(store); + injectorSpy.mockReturnValueOnce({ cultureNameToLocaleFileNameMapping: {} }); expect(typeof localeInitializer(injector)).toBe('function'); expect(await localeInitializer(injector)()).toBe('resolved'); }); diff --git a/npm/ng-packs/packages/core/src/lib/tests/localization.service.spec.ts b/npm/ng-packs/packages/core/src/lib/tests/localization.service.spec.ts index 9d6f6ba3bf..013e8c1d12 100644 --- a/npm/ng-packs/packages/core/src/lib/tests/localization.service.spec.ts +++ b/npm/ng-packs/packages/core/src/lib/tests/localization.service.spec.ts @@ -1,3 +1,4 @@ +import { CORE_OPTIONS } from '../tokens/options.token'; import { Router } from '@angular/router'; import { createServiceFactory, SpectatorService, SpyObject } from '@ngneat/spectator/jest'; import { Actions, Store } from '@ngxs/store'; @@ -13,7 +14,10 @@ describe('LocalizationService', () => { service: LocalizationService, entryComponents: [], mocks: [Store, Router], - providers: [{ provide: Actions, useValue: new Subject() }], + providers: [ + { provide: Actions, useValue: new Subject() }, + { provide: CORE_OPTIONS, useValue: { cultureNameToLocaleFileNameMapping: {} } }, + ], }); beforeEach(() => { From bdcf018528560a9430b288b1f2e7c6a88b051923 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C4=B0smail=20=C3=87A=C4=9EDA=C5=9E?= Date: Wed, 29 Jul 2020 15:59:57 +0300 Subject: [PATCH 29/43] deleted not used test projects --- ...Abp.Users.EntityFrameworkCore.Tests.csproj | 25 ------ ...tityFrameworkCore.Tests.csproj.DotSettings | 2 - .../AbpUserRepository_Tests.cs | 7 -- .../AbpUsersEntityFrameworkCoreTestModule.cs | 38 --------- .../ExternalUserLookupService_Tests.cs | 7 -- .../LocalUserLookupService_Tests.cs | 7 -- .../Volo.Abp.Users.MongoDB.Tests.csproj | 25 ------ .../Users/MongoDB/AbpUserRepository_Tests.cs | 8 -- .../MongoDB/AbpUsersMongoDbTestModule.cs | 31 -------- .../ExternalUserLookupService_Tests.cs | 8 -- .../MongoDB/LocalUserLookupService_Tests.cs | 8 -- .../Volo/Abp/Users/MongoDB/MongoDbFixture.cs | 22 ------ .../Abp/Users/MongoDB/MongoTestCollection.cs | 10 --- .../Volo.Abp.Users.Tests.Shared.csproj | 31 -------- ....Abp.Users.Tests.Shared.csproj.DotSettings | 2 - .../Volo/Abp/Users/AbpUserRepository_Tests.cs | 53 ------------- .../Abp/Users/AbpUsersExternalTestData.cs | 27 ------- .../Volo/Abp/Users/AbpUsersLocalTestData.cs | 17 ---- .../Volo/Abp/Users/AbpUsersTestBase.cs | 14 ---- .../Volo/Abp/Users/AbpUsersTestDataBuilder.cs | 29 ------- .../Abp/Users/AbpUsersTestsSharedModule.cs | 34 -------- .../Users/ExternalUserLookupService_Tests.cs | 77 ------------------- .../Abp/Users/LocalUserLookupService_Tests.cs | 28 ------- 23 files changed, 510 deletions(-) delete mode 100644 modules/users/test/Volo.Abp.Users.EntityFrameworkCore.Tests/Volo.Abp.Users.EntityFrameworkCore.Tests.csproj delete mode 100644 modules/users/test/Volo.Abp.Users.EntityFrameworkCore.Tests/Volo.Abp.Users.EntityFrameworkCore.Tests.csproj.DotSettings delete mode 100644 modules/users/test/Volo.Abp.Users.EntityFrameworkCore.Tests/Volo/Abp/Users/EntityFrameworkCore/AbpUserRepository_Tests.cs delete mode 100644 modules/users/test/Volo.Abp.Users.EntityFrameworkCore.Tests/Volo/Abp/Users/EntityFrameworkCore/AbpUsersEntityFrameworkCoreTestModule.cs delete mode 100644 modules/users/test/Volo.Abp.Users.EntityFrameworkCore.Tests/Volo/Abp/Users/EntityFrameworkCore/ExternalUserLookupService_Tests.cs delete mode 100644 modules/users/test/Volo.Abp.Users.EntityFrameworkCore.Tests/Volo/Abp/Users/EntityFrameworkCore/LocalUserLookupService_Tests.cs delete mode 100644 modules/users/test/Volo.Abp.Users.MongoDB.Tests/Volo.Abp.Users.MongoDB.Tests.csproj delete mode 100644 modules/users/test/Volo.Abp.Users.MongoDB.Tests/Volo/Abp/Users/MongoDB/AbpUserRepository_Tests.cs delete mode 100644 modules/users/test/Volo.Abp.Users.MongoDB.Tests/Volo/Abp/Users/MongoDB/AbpUsersMongoDbTestModule.cs delete mode 100644 modules/users/test/Volo.Abp.Users.MongoDB.Tests/Volo/Abp/Users/MongoDB/ExternalUserLookupService_Tests.cs delete mode 100644 modules/users/test/Volo.Abp.Users.MongoDB.Tests/Volo/Abp/Users/MongoDB/LocalUserLookupService_Tests.cs delete mode 100644 modules/users/test/Volo.Abp.Users.MongoDB.Tests/Volo/Abp/Users/MongoDB/MongoDbFixture.cs delete mode 100644 modules/users/test/Volo.Abp.Users.MongoDB.Tests/Volo/Abp/Users/MongoDB/MongoTestCollection.cs delete mode 100644 modules/users/test/Volo.Abp.Users.Tests.Shared/Volo.Abp.Users.Tests.Shared.csproj delete mode 100644 modules/users/test/Volo.Abp.Users.Tests.Shared/Volo.Abp.Users.Tests.Shared.csproj.DotSettings delete mode 100644 modules/users/test/Volo.Abp.Users.Tests.Shared/Volo/Abp/Users/AbpUserRepository_Tests.cs delete mode 100644 modules/users/test/Volo.Abp.Users.Tests.Shared/Volo/Abp/Users/AbpUsersExternalTestData.cs delete mode 100644 modules/users/test/Volo.Abp.Users.Tests.Shared/Volo/Abp/Users/AbpUsersLocalTestData.cs delete mode 100644 modules/users/test/Volo.Abp.Users.Tests.Shared/Volo/Abp/Users/AbpUsersTestBase.cs delete mode 100644 modules/users/test/Volo.Abp.Users.Tests.Shared/Volo/Abp/Users/AbpUsersTestDataBuilder.cs delete mode 100644 modules/users/test/Volo.Abp.Users.Tests.Shared/Volo/Abp/Users/AbpUsersTestsSharedModule.cs delete mode 100644 modules/users/test/Volo.Abp.Users.Tests.Shared/Volo/Abp/Users/ExternalUserLookupService_Tests.cs delete mode 100644 modules/users/test/Volo.Abp.Users.Tests.Shared/Volo/Abp/Users/LocalUserLookupService_Tests.cs diff --git a/modules/users/test/Volo.Abp.Users.EntityFrameworkCore.Tests/Volo.Abp.Users.EntityFrameworkCore.Tests.csproj b/modules/users/test/Volo.Abp.Users.EntityFrameworkCore.Tests/Volo.Abp.Users.EntityFrameworkCore.Tests.csproj deleted file mode 100644 index 912daad74d..0000000000 --- a/modules/users/test/Volo.Abp.Users.EntityFrameworkCore.Tests/Volo.Abp.Users.EntityFrameworkCore.Tests.csproj +++ /dev/null @@ -1,25 +0,0 @@ - - - - netcoreapp2.2 - Volo.Abp.Users.EntityFrameworkCore.Tests - Volo.Abp.Users.EntityFrameworkCore.Tests - latest - true - false - false - false - - - - - - - - - - - - - - diff --git a/modules/users/test/Volo.Abp.Users.EntityFrameworkCore.Tests/Volo.Abp.Users.EntityFrameworkCore.Tests.csproj.DotSettings b/modules/users/test/Volo.Abp.Users.EntityFrameworkCore.Tests/Volo.Abp.Users.EntityFrameworkCore.Tests.csproj.DotSettings deleted file mode 100644 index 58ad6c8854..0000000000 --- a/modules/users/test/Volo.Abp.Users.EntityFrameworkCore.Tests/Volo.Abp.Users.EntityFrameworkCore.Tests.csproj.DotSettings +++ /dev/null @@ -1,2 +0,0 @@ - - CSharp71 \ No newline at end of file diff --git a/modules/users/test/Volo.Abp.Users.EntityFrameworkCore.Tests/Volo/Abp/Users/EntityFrameworkCore/AbpUserRepository_Tests.cs b/modules/users/test/Volo.Abp.Users.EntityFrameworkCore.Tests/Volo/Abp/Users/EntityFrameworkCore/AbpUserRepository_Tests.cs deleted file mode 100644 index 7f92ae7483..0000000000 --- a/modules/users/test/Volo.Abp.Users.EntityFrameworkCore.Tests/Volo/Abp/Users/EntityFrameworkCore/AbpUserRepository_Tests.cs +++ /dev/null @@ -1,7 +0,0 @@ -namespace Volo.Abp.Users.EntityFrameworkCore -{ - public class AbpUserRepository_Tests : AbpUserRepository_Tests - { - - } -} diff --git a/modules/users/test/Volo.Abp.Users.EntityFrameworkCore.Tests/Volo/Abp/Users/EntityFrameworkCore/AbpUsersEntityFrameworkCoreTestModule.cs b/modules/users/test/Volo.Abp.Users.EntityFrameworkCore.Tests/Volo/Abp/Users/EntityFrameworkCore/AbpUsersEntityFrameworkCoreTestModule.cs deleted file mode 100644 index 7a19077afe..0000000000 --- a/modules/users/test/Volo.Abp.Users.EntityFrameworkCore.Tests/Volo/Abp/Users/EntityFrameworkCore/AbpUsersEntityFrameworkCoreTestModule.cs +++ /dev/null @@ -1,38 +0,0 @@ -using System; -using Microsoft.EntityFrameworkCore; -using Microsoft.Extensions.DependencyInjection; -using Volo.Abp.EntityFrameworkCore; -using Volo.Abp.Modularity; -using Volo.Abp.Uow; - -namespace Volo.Abp.Users.EntityFrameworkCore -{ - [DependsOn( - typeof(AbpUsersTestsSharedModule), - typeof(AbpUsersEntityFrameworkCoreModule) - )] - public class AbpUsersEntityFrameworkCoreTestModule : AbpModule - { - public override void ConfigureServices(IServiceCollection services) - { - services.AddEntityFrameworkInMemoryDatabase(); - - var databaseName = Guid.NewGuid().ToString(); - - services.Configure(options => - { - options.Configure(context => - { - context.DbContextOptions.UseInMemoryDatabase(databaseName); - }); - }); - - services.Configure(options => - { - options.TransactionBehavior = UnitOfWorkTransactionBehavior.Disabled; //EF in-memory database does not support transactions - }); - - services.AddAssemblyOf(); - } - } -} diff --git a/modules/users/test/Volo.Abp.Users.EntityFrameworkCore.Tests/Volo/Abp/Users/EntityFrameworkCore/ExternalUserLookupService_Tests.cs b/modules/users/test/Volo.Abp.Users.EntityFrameworkCore.Tests/Volo/Abp/Users/EntityFrameworkCore/ExternalUserLookupService_Tests.cs deleted file mode 100644 index 26fd633808..0000000000 --- a/modules/users/test/Volo.Abp.Users.EntityFrameworkCore.Tests/Volo/Abp/Users/EntityFrameworkCore/ExternalUserLookupService_Tests.cs +++ /dev/null @@ -1,7 +0,0 @@ -namespace Volo.Abp.Users.EntityFrameworkCore -{ - public class ExternalUserLookupService_Tests : ExternalUserLookupService_Tests - { - - } -} \ No newline at end of file diff --git a/modules/users/test/Volo.Abp.Users.EntityFrameworkCore.Tests/Volo/Abp/Users/EntityFrameworkCore/LocalUserLookupService_Tests.cs b/modules/users/test/Volo.Abp.Users.EntityFrameworkCore.Tests/Volo/Abp/Users/EntityFrameworkCore/LocalUserLookupService_Tests.cs deleted file mode 100644 index 089fd35dbe..0000000000 --- a/modules/users/test/Volo.Abp.Users.EntityFrameworkCore.Tests/Volo/Abp/Users/EntityFrameworkCore/LocalUserLookupService_Tests.cs +++ /dev/null @@ -1,7 +0,0 @@ -namespace Volo.Abp.Users.EntityFrameworkCore -{ - public class LocalUserLookupService_Tests : LocalUserLookupService_Tests - { - - } -} \ No newline at end of file diff --git a/modules/users/test/Volo.Abp.Users.MongoDB.Tests/Volo.Abp.Users.MongoDB.Tests.csproj b/modules/users/test/Volo.Abp.Users.MongoDB.Tests/Volo.Abp.Users.MongoDB.Tests.csproj deleted file mode 100644 index 06b92ffd34..0000000000 --- a/modules/users/test/Volo.Abp.Users.MongoDB.Tests/Volo.Abp.Users.MongoDB.Tests.csproj +++ /dev/null @@ -1,25 +0,0 @@ - - - - netcoreapp2.2 - Volo.Abp.Users.MongoDB.Tests - Volo.Abp.Users.MongoDB.Tests - latest - true - false - false - false - - - - - - - - - - - - - - diff --git a/modules/users/test/Volo.Abp.Users.MongoDB.Tests/Volo/Abp/Users/MongoDB/AbpUserRepository_Tests.cs b/modules/users/test/Volo.Abp.Users.MongoDB.Tests/Volo/Abp/Users/MongoDB/AbpUserRepository_Tests.cs deleted file mode 100644 index a54790410e..0000000000 --- a/modules/users/test/Volo.Abp.Users.MongoDB.Tests/Volo/Abp/Users/MongoDB/AbpUserRepository_Tests.cs +++ /dev/null @@ -1,8 +0,0 @@ -namespace Volo.Abp.Users.MongoDB -{ - [Collection(MongoTestCollection.Name)] - public class AbpUserRepository_Tests : AbpUserRepository_Tests - { - - } -} diff --git a/modules/users/test/Volo.Abp.Users.MongoDB.Tests/Volo/Abp/Users/MongoDB/AbpUsersMongoDbTestModule.cs b/modules/users/test/Volo.Abp.Users.MongoDB.Tests/Volo/Abp/Users/MongoDB/AbpUsersMongoDbTestModule.cs deleted file mode 100644 index 560d6287d7..0000000000 --- a/modules/users/test/Volo.Abp.Users.MongoDB.Tests/Volo/Abp/Users/MongoDB/AbpUsersMongoDbTestModule.cs +++ /dev/null @@ -1,31 +0,0 @@ -using System; -using Microsoft.Extensions.DependencyInjection; -using Mongo2Go; -using Volo.Abp.Data; -using Volo.Abp.Modularity; - -namespace Volo.Abp.Users.MongoDB -{ - [DependsOn( - typeof(AbpUsersMongoDbModule), - typeof(AbpUsersTestsSharedModule) - )] - public class AbpUsersMongoDbTestModule : AbpModule - { - private static readonly MongoDbRunner MongoDbRunner = MongoDbRunner.Start(); - - public override void ConfigureServices(IServiceCollection services) - { - var connectionString = MongoDbFixture.ConnectionString.EnsureEndsWith('/') + - "Db_" + - Guid.NewGuid().ToString("N"); - - Configure(options => - { - options.ConnectionStrings.Default = connectionString; - }); - - services.AddAssemblyOf(); - } - } -} diff --git a/modules/users/test/Volo.Abp.Users.MongoDB.Tests/Volo/Abp/Users/MongoDB/ExternalUserLookupService_Tests.cs b/modules/users/test/Volo.Abp.Users.MongoDB.Tests/Volo/Abp/Users/MongoDB/ExternalUserLookupService_Tests.cs deleted file mode 100644 index 764cadedf4..0000000000 --- a/modules/users/test/Volo.Abp.Users.MongoDB.Tests/Volo/Abp/Users/MongoDB/ExternalUserLookupService_Tests.cs +++ /dev/null @@ -1,8 +0,0 @@ -namespace Volo.Abp.Users.MongoDB -{ - [Collection(MongoTestCollection.Name)] - public class ExternalUserLookupService_Tests : ExternalUserLookupService_Tests - { - - } -} diff --git a/modules/users/test/Volo.Abp.Users.MongoDB.Tests/Volo/Abp/Users/MongoDB/LocalUserLookupService_Tests.cs b/modules/users/test/Volo.Abp.Users.MongoDB.Tests/Volo/Abp/Users/MongoDB/LocalUserLookupService_Tests.cs deleted file mode 100644 index b52af21d3e..0000000000 --- a/modules/users/test/Volo.Abp.Users.MongoDB.Tests/Volo/Abp/Users/MongoDB/LocalUserLookupService_Tests.cs +++ /dev/null @@ -1,8 +0,0 @@ -namespace Volo.Abp.Users.MongoDB -{ - [Collection(MongoTestCollection.Name)] - public class LocalUserLookupService_Tests : LocalUserLookupService_Tests - { - - } -} diff --git a/modules/users/test/Volo.Abp.Users.MongoDB.Tests/Volo/Abp/Users/MongoDB/MongoDbFixture.cs b/modules/users/test/Volo.Abp.Users.MongoDB.Tests/Volo/Abp/Users/MongoDB/MongoDbFixture.cs deleted file mode 100644 index 4f8c6eea2f..0000000000 --- a/modules/users/test/Volo.Abp.Users.MongoDB.Tests/Volo/Abp/Users/MongoDB/MongoDbFixture.cs +++ /dev/null @@ -1,22 +0,0 @@ -using System; -using Mongo2Go; - -namespace Volo.Abp.Users.MongoDB -{ - public class MongoDbFixture : IDisposable - { - private static readonly MongoDbRunner MongoDbRunner; - public static readonly string ConnectionString; - - static MongoDbFixture() - { - MongoDbRunner = MongoDbRunner.Start(); - ConnectionString = MongoDbRunner.ConnectionString; - } - - public void Dispose() - { - MongoDbRunner?.Dispose(); - } - } -} diff --git a/modules/users/test/Volo.Abp.Users.MongoDB.Tests/Volo/Abp/Users/MongoDB/MongoTestCollection.cs b/modules/users/test/Volo.Abp.Users.MongoDB.Tests/Volo/Abp/Users/MongoDB/MongoTestCollection.cs deleted file mode 100644 index d8b6a718d8..0000000000 --- a/modules/users/test/Volo.Abp.Users.MongoDB.Tests/Volo/Abp/Users/MongoDB/MongoTestCollection.cs +++ /dev/null @@ -1,10 +0,0 @@ -using Xunit; - -namespace Volo.Abp.Users.MongoDB -{ - [CollectionDefinition(Name)] - public class MongoTestCollection : ICollectionFixture - { - public const string Name = "MongoDB Collection"; - } -} diff --git a/modules/users/test/Volo.Abp.Users.Tests.Shared/Volo.Abp.Users.Tests.Shared.csproj b/modules/users/test/Volo.Abp.Users.Tests.Shared/Volo.Abp.Users.Tests.Shared.csproj deleted file mode 100644 index ececb4eddd..0000000000 --- a/modules/users/test/Volo.Abp.Users.Tests.Shared/Volo.Abp.Users.Tests.Shared.csproj +++ /dev/null @@ -1,31 +0,0 @@ - - - - netcoreapp2.2 - Volo.Abp.Users.Tests.Shared - Volo.Abp.Users.Tests.Shared - latest - true - false - false - false - - - - - - - - - - - - - - - - - - - - diff --git a/modules/users/test/Volo.Abp.Users.Tests.Shared/Volo.Abp.Users.Tests.Shared.csproj.DotSettings b/modules/users/test/Volo.Abp.Users.Tests.Shared/Volo.Abp.Users.Tests.Shared.csproj.DotSettings deleted file mode 100644 index 58ad6c8854..0000000000 --- a/modules/users/test/Volo.Abp.Users.Tests.Shared/Volo.Abp.Users.Tests.Shared.csproj.DotSettings +++ /dev/null @@ -1,2 +0,0 @@ - - CSharp71 \ No newline at end of file diff --git a/modules/users/test/Volo.Abp.Users.Tests.Shared/Volo/Abp/Users/AbpUserRepository_Tests.cs b/modules/users/test/Volo.Abp.Users.Tests.Shared/Volo/Abp/Users/AbpUserRepository_Tests.cs deleted file mode 100644 index 40d8de9572..0000000000 --- a/modules/users/test/Volo.Abp.Users.Tests.Shared/Volo/Abp/Users/AbpUserRepository_Tests.cs +++ /dev/null @@ -1,53 +0,0 @@ -using System; -using System.Linq; -using System.Threading.Tasks; -using Shouldly; -using Volo.Abp.Modularity; -using Xunit; - -namespace Volo.Abp.Users -{ - public abstract class AbpUserRepository_Tests : AbpUsersTestBase - where TStartupModule : IAbpModule - { - private readonly AbpUsersLocalTestData _localTestData; - private readonly IAbpUserRepository _userRepository; - - protected AbpUserRepository_Tests() - { - _userRepository = GetRequiredService(); - _localTestData = GetRequiredService(); - } - - [Fact] - public async Task FindAsync() - { - var john = await _userRepository.FindAsync(_localTestData.John.Id); - john.ShouldNotBeNull(); - john.UserName.ShouldBe(_localTestData.John.UserName); - - //Undefined user - (await _userRepository.FindAsync(Guid.NewGuid())).ShouldBeNull(); - } - - [Fact] - public async Task FindByUserNameAsync() - { - var john = await _userRepository.FindByUserNameAsync(_localTestData.John.UserName); - john.ShouldNotBeNull(); - john.Id.ShouldBe(_localTestData.John.Id); - - //Undefined user - (await _userRepository.FindByUserNameAsync("undefined-user")).ShouldBeNull(); - } - - [Fact] - public async Task GetListAsync() - { - (await _userRepository.GetListAsync(new Guid[0])).Any().ShouldBeFalse(); - (await _userRepository.GetListAsync(new[] { _localTestData.John.Id })).Count.ShouldBe(1); - (await _userRepository.GetListAsync(new[] { _localTestData.John.Id, _localTestData.David.Id })).Count.ShouldBe(2); - (await _userRepository.GetListAsync(new[] { _localTestData.John.Id, _localTestData.David.Id, Guid.NewGuid() })).Count.ShouldBe(2); - } - } -} diff --git a/modules/users/test/Volo.Abp.Users.Tests.Shared/Volo/Abp/Users/AbpUsersExternalTestData.cs b/modules/users/test/Volo.Abp.Users.Tests.Shared/Volo/Abp/Users/AbpUsersExternalTestData.cs deleted file mode 100644 index dba3c573de..0000000000 --- a/modules/users/test/Volo.Abp.Users.Tests.Shared/Volo/Abp/Users/AbpUsersExternalTestData.cs +++ /dev/null @@ -1,27 +0,0 @@ -using System; -using System.Collections.Generic; -using Volo.Abp.DependencyInjection; - -namespace Volo.Abp.Users -{ - public class AbpUsersExternalTestData : ISingletonDependency - { - public IAbpUserData David { get; } - public IAbpUserData Neo { get; } - - public AbpUsersExternalTestData(AbpUsersLocalTestData localTestData) - { - Neo = new AbpUserData(Guid.NewGuid(), "neo"); - David = localTestData.David.ToAbpUserData(); - } - - public List GetAllUsers() - { - return new List - { - David, - Neo - }; - } - } -} \ No newline at end of file diff --git a/modules/users/test/Volo.Abp.Users.Tests.Shared/Volo/Abp/Users/AbpUsersLocalTestData.cs b/modules/users/test/Volo.Abp.Users.Tests.Shared/Volo/Abp/Users/AbpUsersLocalTestData.cs deleted file mode 100644 index 2382a3f93e..0000000000 --- a/modules/users/test/Volo.Abp.Users.Tests.Shared/Volo/Abp/Users/AbpUsersLocalTestData.cs +++ /dev/null @@ -1,17 +0,0 @@ -using System; -using Volo.Abp.DependencyInjection; - -namespace Volo.Abp.Users -{ - public class AbpUsersLocalTestData : ISingletonDependency - { - public AbpUser John { get; } - public AbpUser David { get; } - - public AbpUsersLocalTestData() - { - John = new AbpUser(Guid.NewGuid(), "john"); - David = new AbpUser(Guid.NewGuid(), "david", "david@abp.io"); - } - } -} \ No newline at end of file diff --git a/modules/users/test/Volo.Abp.Users.Tests.Shared/Volo/Abp/Users/AbpUsersTestBase.cs b/modules/users/test/Volo.Abp.Users.Tests.Shared/Volo/Abp/Users/AbpUsersTestBase.cs deleted file mode 100644 index e36f485a70..0000000000 --- a/modules/users/test/Volo.Abp.Users.Tests.Shared/Volo/Abp/Users/AbpUsersTestBase.cs +++ /dev/null @@ -1,14 +0,0 @@ -using Volo.Abp.Modularity; -using Volo.Abp.Testing; - -namespace Volo.Abp.Users -{ - public abstract class AbpUsersTestBase : AbpIntegratedTest - where TStartupModule : IAbpModule - { - protected override void SetAbpApplicationCreationOptions(AbpApplicationCreationOptions options) - { - options.UseAutofac(); - } - } -} diff --git a/modules/users/test/Volo.Abp.Users.Tests.Shared/Volo/Abp/Users/AbpUsersTestDataBuilder.cs b/modules/users/test/Volo.Abp.Users.Tests.Shared/Volo/Abp/Users/AbpUsersTestDataBuilder.cs deleted file mode 100644 index a3602491be..0000000000 --- a/modules/users/test/Volo.Abp.Users.Tests.Shared/Volo/Abp/Users/AbpUsersTestDataBuilder.cs +++ /dev/null @@ -1,29 +0,0 @@ -using Volo.Abp.DependencyInjection; - -namespace Volo.Abp.Users -{ - public class AbpUsersTestDataBuilder : ITransientDependency - { - private readonly IAbpUserRepository _userRepository; - private readonly AbpUsersLocalTestData _localTestData; - - public AbpUsersTestDataBuilder( - IAbpUserRepository userRepository, - AbpUsersLocalTestData localTestData) - { - _userRepository = userRepository; - _localTestData = localTestData; - } - - public void Build() - { - AddUsers(); - } - - private void AddUsers() - { - _userRepository.Insert(_localTestData.John); - _userRepository.Insert(_localTestData.David); - } - } -} \ No newline at end of file diff --git a/modules/users/test/Volo.Abp.Users.Tests.Shared/Volo/Abp/Users/AbpUsersTestsSharedModule.cs b/modules/users/test/Volo.Abp.Users.Tests.Shared/Volo/Abp/Users/AbpUsersTestsSharedModule.cs deleted file mode 100644 index 50da79183d..0000000000 --- a/modules/users/test/Volo.Abp.Users.Tests.Shared/Volo/Abp/Users/AbpUsersTestsSharedModule.cs +++ /dev/null @@ -1,34 +0,0 @@ -using Microsoft.Extensions.DependencyInjection; -using Volo.Abp.Autofac; -using Volo.Abp.Modularity; - -namespace Volo.Abp.Users -{ - [DependsOn( - typeof(AbpUsersDomainModule), - typeof(AbpTestBaseModule), - typeof(AbpAutofacModule) - )] - public class AbpUsersTestsSharedModule : AbpModule - { - public override void ConfigureServices(IServiceCollection services) - { - services.AddAssemblyOf(); - } - - public override void OnApplicationInitialization(ApplicationInitializationContext context) - { - SeedTestData(context); - } - - private static void SeedTestData(ApplicationInitializationContext context) - { - using (var scope = context.ServiceProvider.CreateScope()) - { - scope.ServiceProvider - .GetRequiredService() - .Build(); - } - } - } -} diff --git a/modules/users/test/Volo.Abp.Users.Tests.Shared/Volo/Abp/Users/ExternalUserLookupService_Tests.cs b/modules/users/test/Volo.Abp.Users.Tests.Shared/Volo/Abp/Users/ExternalUserLookupService_Tests.cs deleted file mode 100644 index 8916607ea7..0000000000 --- a/modules/users/test/Volo.Abp.Users.Tests.Shared/Volo/Abp/Users/ExternalUserLookupService_Tests.cs +++ /dev/null @@ -1,77 +0,0 @@ -using System; -using System.Linq; -using System.Threading; -using System.Threading.Tasks; -using Microsoft.Extensions.DependencyInjection; -using Shouldly; -using Volo.Abp.Modularity; -using Xunit; - -namespace Volo.Abp.Users -{ - public abstract class ExternalUserLookupService_Tests : AbpUsersTestBase - where TStartupModule : IAbpModule - { - private readonly IAbpUserLookupService _lookupService; - private readonly AbpUsersLocalTestData _localTestData; - private readonly AbpUsersExternalTestData _externalTestData; - - protected ExternalUserLookupService_Tests() - { - _lookupService = GetRequiredService(); - _localTestData = GetRequiredService(); - _externalTestData = GetRequiredService(); - } - - protected override void AfterAddApplication(IServiceCollection services) - { - services.AddTransient(); - } - - [Fact] - public async Task FindByUserNameAsync() - { - (await GetRequiredService().FindByUserNameAsync(_localTestData.John.UserName)).ShouldNotBeNull(); - - (await _lookupService.FindByUserNameAsync("undefined-user")).ShouldBeNull(); - (await _lookupService.FindByUserNameAsync(_localTestData.John.UserName)).ShouldBeNull(); //Because it's not available in the external provider. And this will delete the user! - (await _lookupService.FindByUserNameAsync(_localTestData.David.UserName)).ShouldNotBeNull(); - (await _lookupService.FindByUserNameAsync(_externalTestData.Neo.UserName)).ShouldNotBeNull(); - - (await GetRequiredService().FindByUserNameAsync(_localTestData.John.UserName)).ShouldBeNull(); - } - - [Fact] - public async Task FindByIdAsync() - { - (await GetRequiredService().FindAsync(_localTestData.John.Id)).ShouldNotBeNull(); - - (await _lookupService.FindByIdAsync(Guid.NewGuid())).ShouldBeNull(); - (await _lookupService.FindByIdAsync(_localTestData.John.Id)).ShouldBeNull(); //Because it's not available in the external provider. And this will delete the user! - (await _lookupService.FindByIdAsync(_localTestData.David.Id)).ShouldNotBeNull(); - (await _lookupService.FindByIdAsync(_externalTestData.Neo.Id)).ShouldNotBeNull(); - - (await GetRequiredService().FindAsync(_localTestData.John.Id)).ShouldBeNull(); - } - - public class TestExternalAbpUserLookupServiceProvider : IExternalAbpUserLookupServiceProvider - { - private readonly AbpUsersExternalTestData _externalTestData; - - public TestExternalAbpUserLookupServiceProvider(AbpUsersExternalTestData externalTestData) - { - _externalTestData = externalTestData; - } - - public Task FindByIdAsync(Guid id, CancellationToken cancellationToken = default) - { - return Task.FromResult(_externalTestData.GetAllUsers().FirstOrDefault(u => u.Id == id)); - } - - public Task FindByUserNameAsync(string userName, CancellationToken cancellationToken = default) - { - return Task.FromResult(_externalTestData.GetAllUsers().FirstOrDefault(u => u.UserName == userName)); - } - } - } -} \ No newline at end of file diff --git a/modules/users/test/Volo.Abp.Users.Tests.Shared/Volo/Abp/Users/LocalUserLookupService_Tests.cs b/modules/users/test/Volo.Abp.Users.Tests.Shared/Volo/Abp/Users/LocalUserLookupService_Tests.cs deleted file mode 100644 index 9e128f14cc..0000000000 --- a/modules/users/test/Volo.Abp.Users.Tests.Shared/Volo/Abp/Users/LocalUserLookupService_Tests.cs +++ /dev/null @@ -1,28 +0,0 @@ -using System.Threading.Tasks; -using Shouldly; -using Volo.Abp.Modularity; -using Xunit; - -namespace Volo.Abp.Users -{ - public abstract class LocalUserLookupService_Tests : AbpUsersTestBase - where TStartupModule : IAbpModule - { - private readonly IAbpUserLookupService _lookupService; - private readonly AbpUsersLocalTestData _localTestData; - - protected LocalUserLookupService_Tests() - { - _lookupService = GetRequiredService(); - _localTestData = GetRequiredService(); - } - - [Fact] - public async Task FindByUserNameAsync() - { - (await _lookupService.FindByUserNameAsync(_localTestData.John.UserName)).ShouldNotBeNull(); - (await _lookupService.FindByUserNameAsync(_localTestData.David.UserName)).ShouldNotBeNull(); - (await _lookupService.FindByUserNameAsync("undefined-user")).ShouldBeNull(); - } - } -} From 2a38bb09e048a9337183bc63c4b210a0ece3096b Mon Sep 17 00:00:00 2001 From: liangshiwei Date: Wed, 29 Jul 2020 22:11:07 +0800 Subject: [PATCH 30/43] Update Chinese document --- docs/en/API/Application-Configuration.md | 2 +- docs/zh-Hans/API/Application-Configuration.md | 12 +- docs/zh-Hans/Authorization.md | 2 - .../Best-Practices/Application-Services.md | 2 +- docs/zh-Hans/Blob-Storing-Database.md | 2 +- .../Entity-Framework-Core-Migrations.md | 2 +- docs/zh-Hans/Modules/Docs.md | 2 +- docs/zh-Hans/Startup-Templates/Module.md | 2 +- docs/zh-Hans/Tutorials/Part-1.md | 921 +++++------------- .../bookstore-add-migration-authors.png | Bin 0 -> 29296 bytes ...tore-added-author-to-book-list-angular.png | Bin 0 -> 52134 bytes .../bookstore-added-author-to-book-list.png | Bin 0 -> 80015 bytes .../bookstore-added-authors-to-modals.png | Bin 0 -> 37342 bytes .../images/bookstore-angular-authors-page.png | Bin 0 -> 47512 bytes ...bookstore-angular-service-proxy-author.png | Bin 0 -> 25528 bytes .../images/bookstore-author-domain-layer.png | Bin 0 -> 76496 bytes .../images/bookstore-author-permissions.png | Bin 0 -> 77873 bytes .../images/bookstore-authors-page.png | Bin 0 -> 66247 bytes .../images/bookstore-book-and-booktype.png | Bin 0 -> 43075 bytes .../images/bookstore-book-list-3.png | Bin 0 -> 75431 bytes .../Tutorials/images/bookstore-book-list.png | Bin 56461 -> 36056 bytes .../bookstore-dbmigrator-on-solution.png | Bin 0 -> 41421 bytes .../images/bookstore-edit-button-2.png | Bin 0 -> 94543 bytes .../images/bookstore-edit-delete-actions.png | Bin 0 -> 12396 bytes .../bookstore-getlist-result-network.png | Bin 0 -> 27382 bytes .../images/bookstore-index-js-file-v3.png | Bin 0 -> 9763 bytes .../bookstore-javascript-proxy-console.png | Bin 0 -> 73671 bytes .../images/bookstore-new-author-modal.png | Bin 0 -> 63907 bytes .../images/bookstore-new-book-button-2.png | Bin 0 -> 84177 bytes .../bookstore-new-book-button-small.png | Bin 0 -> 3005 bytes .../images/bookstore-permissions-ui.png | Bin 0 -> 58971 bytes .../Tutorials/images/generated-proxies-2.png | Bin 0 -> 33917 bytes 32 files changed, 232 insertions(+), 715 deletions(-) create mode 100644 docs/zh-Hans/Tutorials/images/bookstore-add-migration-authors.png create mode 100644 docs/zh-Hans/Tutorials/images/bookstore-added-author-to-book-list-angular.png create mode 100644 docs/zh-Hans/Tutorials/images/bookstore-added-author-to-book-list.png create mode 100644 docs/zh-Hans/Tutorials/images/bookstore-added-authors-to-modals.png create mode 100644 docs/zh-Hans/Tutorials/images/bookstore-angular-authors-page.png create mode 100644 docs/zh-Hans/Tutorials/images/bookstore-angular-service-proxy-author.png create mode 100644 docs/zh-Hans/Tutorials/images/bookstore-author-domain-layer.png create mode 100644 docs/zh-Hans/Tutorials/images/bookstore-author-permissions.png create mode 100644 docs/zh-Hans/Tutorials/images/bookstore-authors-page.png create mode 100644 docs/zh-Hans/Tutorials/images/bookstore-book-and-booktype.png create mode 100644 docs/zh-Hans/Tutorials/images/bookstore-book-list-3.png create mode 100644 docs/zh-Hans/Tutorials/images/bookstore-dbmigrator-on-solution.png create mode 100644 docs/zh-Hans/Tutorials/images/bookstore-edit-button-2.png create mode 100644 docs/zh-Hans/Tutorials/images/bookstore-edit-delete-actions.png create mode 100644 docs/zh-Hans/Tutorials/images/bookstore-getlist-result-network.png create mode 100644 docs/zh-Hans/Tutorials/images/bookstore-index-js-file-v3.png create mode 100644 docs/zh-Hans/Tutorials/images/bookstore-javascript-proxy-console.png create mode 100644 docs/zh-Hans/Tutorials/images/bookstore-new-author-modal.png create mode 100644 docs/zh-Hans/Tutorials/images/bookstore-new-book-button-2.png create mode 100644 docs/zh-Hans/Tutorials/images/bookstore-new-book-button-small.png create mode 100644 docs/zh-Hans/Tutorials/images/bookstore-permissions-ui.png create mode 100644 docs/zh-Hans/Tutorials/images/generated-proxies-2.png diff --git a/docs/en/API/Application-Configuration.md b/docs/en/API/Application-Configuration.md index 1465f0fd24..3aea468f8c 100644 --- a/docs/en/API/Application-Configuration.md +++ b/docs/en/API/Application-Configuration.md @@ -7,7 +7,7 @@ ABP Framework provides a pre-built and standard endpoint that contains some usef * [Setting](../Settings.md) values for the current user. * Info about the [current user](../CurrentUser.md) (like id and user name). * Info about the current [tenant](../Multi-Tenancy.md) (like id and name). -* [Time zone](../Timing.md) information for the current user and the [clock](Timing.md) type of the application. +* [Time zone](../Timing.md) information for the current user and the [clock](../Timing.md) type of the application. ## HTTP API diff --git a/docs/zh-Hans/API/Application-Configuration.md b/docs/zh-Hans/API/Application-Configuration.md index ba062d9cef..50e74d5bd7 100644 --- a/docs/zh-Hans/API/Application-Configuration.md +++ b/docs/zh-Hans/API/Application-Configuration.md @@ -2,12 +2,12 @@ ABP框架提供了一个预构建的标准端点,其中包含一些有关应用程序/服务的有用信息. 这里是此端点的一些基本信息的列表: -* [本地化](Localization.md)值, 支持应用程序的当前语言. -* 当前用户可用和已授予的[策略](Authorization.md)(权限). -* 当前用户的[设置](Settings.md)值. -* 关于[当前用户](CurrentUser.md)的信息 (如 id 和用户名). -* 关于当前[租户](Multi-Tenancy.md)的信息 (如 id 和名称). -* 当前用户的[时区](Timing.md)信息和应用程序的[时钟](Timing.md)类型. +* [本地化](../Localization.md)值, 支持应用程序的当前语言. +* 当前用户可用和已授予的[策略](../Authorization.md)(权限). +* 当前用户的[设置](../Settings.md)值. +* 关于[当前用户](../CurrentUser.md)的信息 (如 id 和用户名). +* 关于当前[租户](../Multi-Tenancy.md)的信息 (如 id 和名称). +* 当前用户的[时区](../Timing.md)信息和应用程序的[时钟](../Timing.md)类型. ## HTTP API diff --git a/docs/zh-Hans/Authorization.md b/docs/zh-Hans/Authorization.md index 2c269ab5fa..96caae1404 100644 --- a/docs/zh-Hans/Authorization.md +++ b/docs/zh-Hans/Authorization.md @@ -285,8 +285,6 @@ public async Task CreateAsync(CreateAuthorDto input) abp.auth.isGranted('MyPermissionName'); ```` -参阅 [abp.auth](UI/AspNetCore/JavaScript-API/Index.md) API 文档了解详情. - ## 权限管理 通常权限管理是管理员用户使用权限管理模态框进行授权: diff --git a/docs/zh-Hans/Best-Practices/Application-Services.md b/docs/zh-Hans/Best-Practices/Application-Services.md index 6c681edde1..82a5dc8aba 100644 --- a/docs/zh-Hans/Best-Practices/Application-Services.md +++ b/docs/zh-Hans/Best-Practices/Application-Services.md @@ -203,7 +203,7 @@ Task VoteAsync(Guid id, VoteType type); #### 额外的属性 -* **推荐** 使用 `MapExtraPropertiesTo` 扩展方法 ([参阅](Object-Extensions.md)) 或配置对象映射 (`MapExtraProperties`) 以允许应用开发人员能够扩展对象和服务. +* **推荐** 使用 `MapExtraPropertiesTo` 扩展方法 ([参阅](../Object-Extensions.md)) 或配置对象映射 (`MapExtraProperties`) 以允许应用开发人员能够扩展对象和服务. #### 操作/删除 实体 diff --git a/docs/zh-Hans/Blob-Storing-Database.md b/docs/zh-Hans/Blob-Storing-Database.md index e45c79d179..cc688e4396 100644 --- a/docs/zh-Hans/Blob-Storing-Database.md +++ b/docs/zh-Hans/Blob-Storing-Database.md @@ -27,7 +27,7 @@ abp add-module Volo.Abp.BlobStoring.Database 这里是此提供程序定义的所有包: -* [Volo.Abp.BlobStoring.Database.Domain.Shared](https://www.nuget.org/packages/Volo.Abp.BlobStoring.Domain.Shared) +* [Volo.Abp.BlobStoring.Database.Domain.Shared](https://www.nuget.org/packages/Volo.Abp.BlobStoring.Database.Domain.Shared) * [Volo.Abp.BlobStoring.Database.Domain](https://www.nuget.org/packages/Volo.Abp.BlobStoring.Database.Domain) * [Volo.Abp.BlobStoring.Database.EntityFrameworkCore](https://www.nuget.org/packages/Volo.Abp.BlobStoring.Database.EntityFrameworkCore) * [Volo.Abp.BlobStoring.Database.MongoDB](https://www.nuget.org/packages/Volo.Abp.BlobStoring.Database.MongoDB) diff --git a/docs/zh-Hans/Entity-Framework-Core-Migrations.md b/docs/zh-Hans/Entity-Framework-Core-Migrations.md index 77f5ac5cd7..876d98721b 100644 --- a/docs/zh-Hans/Entity-Framework-Core-Migrations.md +++ b/docs/zh-Hans/Entity-Framework-Core-Migrations.md @@ -3,7 +3,7 @@ 本文首先介绍[应用程序启动模板](Startup-Templates/Application.md)提供的**默认结构**,并讨论你可能希望为自己的应用程序实现的**各种场景**. -> 本文档适用于希望完全理解和自定义[应用程序启动模板](Startup-Templates/Application.md)附带的数据库结构的人员. 如果你只是想创建实体和管理代码优先(code first)迁移,只需要遵循[启动教程](Tutorials/Index.md). +> 本文档适用于希望完全理解和自定义[应用程序启动模板](Startup-Templates/Application.md)附带的数据库结构的人员. 如果你只是想创建实体和管理代码优先(code first)迁移,只需要遵循[启动教程](Tutorials/Part-1.md). ### 源码 diff --git a/docs/zh-Hans/Modules/Docs.md b/docs/zh-Hans/Modules/Docs.md index 63759d1462..acc956be1b 100644 --- a/docs/zh-Hans/Modules/Docs.md +++ b/docs/zh-Hans/Modules/Docs.md @@ -611,7 +611,7 @@ Configure(options => 应用程序启动后如果`Index`不存在则会自动创建`Index`. `DefaultElasticClientProvider`负责创建`IElasticClient`, 默认情况下它会从`IConfiguration`中读取Elastic Search的`Url`. -如果你的IElasticClient需要其它配置请使用重写IElasticClientProvider服务并在依赖注入系统中替换它. +如果你的 `IElasticClient` 需要其它配置请使用重写 `IElasticClientProvider` 服务并在[依赖注入](../Dependency-Injection.md)系统中替换它. ``` { "ElasticSearch": { diff --git a/docs/zh-Hans/Startup-Templates/Module.md b/docs/zh-Hans/Startup-Templates/Module.md index a6706ad783..8341670af4 100644 --- a/docs/zh-Hans/Startup-Templates/Module.md +++ b/docs/zh-Hans/Startup-Templates/Module.md @@ -56,7 +56,7 @@ abp new Acme.IssueManagement -t module --no-ui ### .Domain 项目 -解决方案的领域层. 它主要包含 [实体, 集合根](../Entities.md), [领域服务](../Domain-Services.md), [值类型](../Value-Types.md), [仓储接口](../Repositories.md) 和解决方案的其他领域对象. +解决方案的领域层. 它主要包含 [实体, 集合根](../Entities.md), [领域服务](../Domain-Services.md), 值类型, [仓储接口](../Repositories.md) 和解决方案的其他领域对象. 例如 `Issue` 实体, `IssueManager` 领域服务和 `IIssueRepository` 接口都适合放在这个项目中. diff --git a/docs/zh-Hans/Tutorials/Part-1.md b/docs/zh-Hans/Tutorials/Part-1.md index bcf4e21b9f..78d2166f6b 100644 --- a/docs/zh-Hans/Tutorials/Part-1.md +++ b/docs/zh-Hans/Tutorials/Part-1.md @@ -1,128 +1,75 @@ -## ASP.NET Core {{UI_Value}} 教程 - 第一章 +## Web应用程序开发教程 - 第一章: 创建服务端 ````json //[doc-params] { - "UI": ["MVC","NG"] + "UI": ["MVC","NG"], + "DB": ["EF","Mongo"] } ```` {{ if UI == "MVC" - DB="ef" - DB_Text="Entity Framework Core" UI_Text="mvc" else if UI == "NG" - DB="mongodb" - DB_Text="MongoDB" UI_Text="angular" else - DB ="?" UI_Text="?" end +if DB == "EF" + DB_Text="Entity Framework Core" +else if DB == "Mongo" + DB_Text="MongoDB" +else + DB_Text="?" +end }} ### 关于本教程 -在本系列教程中, 你将构建一个名为 `Acme.BookStore` 的用于管理书籍及其作者列表的应用程序. **{{DB_Text}}**将用作ORM提供者,前端使用{{UI_Value}} 和 JavaScript. - -ASP.NET Core {{UI_Value}} 系列教程包括三个3个部分: - -- **Part-1: 创建项目和书籍列表页面(本章)** -- [Part-2: 创建,编辑,删除书籍](Part-2.md) -- [Part-3: 集成测试](Part-3.md) - -> 你也可以观看由ABP社区成员为本教程录制的[视频课程](https://amazingsolutions.teachable.com/p/lets-build-the-bookstore-application). - -### 创建新项目 - -创建一个名为 `Acme.BookStore` 的新项目,其中 `Acme` 是公司名 `BookStore` 是项目名. 你可以参阅[入门](../Getting-Started?UI={{UI}}#run-the-application) 文档了解如何创建新项目. 我们将使用CLI创建新项目. - -#### 创建项目 - -使用以下命令创建一个新的ABP项目,使用 `{{DB_Text}}` 做为数据库提供者, UI选项使用 `{{UI_Value}}`. 其他CLI选项请参考[ABP CLI](https://docs.abp.io/en/abp/latest/CLI)文档. - -```bash -abp new Acme.BookStore --template app --database-provider {{DB}} --ui {{UI_Text}} --mobile none -``` - -![Creating project](./images/bookstore-create-project-{{UI_Text}}.png) +在本系列教程中, 你将构建一个名为 `Acme.BookStore` 的用于管理书籍及其作者列表的基于ABP的应用程序. 它是使用以下技术开发的: -### 应用迁移 +* **{{DB_Text}}** 做为ORM提供程序. +* **{{UI_Value}}** 做为UI框架. -项目创建后,需要应用初始化迁移创建数据库. 运行 `Acme.BookStore.DbMigrator` 应用程序. 它会应用所有迁移,完成流程后你会看到以下结果,数据库已经准备好了! +本教程分为以下部分: -![Migrations applied](./images/bookstore-migrations-applied-{{UI_Text}}.png) +- **Part 1: 创建服务端 (本章)** +- [Part 2: 图书列表页面](Part-2.md) +- [Part 3: 创建,更新和删除图书](Part-3.md) +- [Part 4: 集成测试](Part-4.md) +- [Part 5: 授权](Part-5.md) +- [Part 6: 作者: 领域层](Part-6.md) +- [Part 7: 作者: 数据库集成](Part-7.md) +- [Part 8: 作者: 应用服务层](Part-8.md) +- [Part 9: 作者: 用户页面](Part-9.md) +- [Part 10: 图书到作者的关系](Part-10.md) -> 另外你也可以在 Visual Studio 包管理控制台运行 `Update-Database` 命令应用迁移. +### 下载源码 -#### 初始化数据库表 +本教程根据你的**UI** 和 **Database**偏好有多个版,我们准备了两种可供下载的源码组合: -![Initial database tables](./images/bookstore-database-tables-{{DB}}.png) +* [MVC (Razor Pages) UI 与 EF Core](https://github.com/abpframework/abp-samples/tree/master/BookStore-Mvc-EfCore) +* [Angular UI 与 MongoDB](https://github.com/abpframework/abp-samples/tree/master/BookStore-Angular-MongoDb) -### 运行应用程序 +## 创建解决方案 -右键单击{{if UI == "MVC"}} `Acme.BookStore.Web`{{end}} {{if UI == "NG"}} `Acme.BookStore.HttpApi.Host` {{end}} 项目**设置为启动项**. 使用 **CTRL+F5** 或 **F5** 运行应用程序. {{if UI == "NG"}}你会看到BookStore API的Swagger UI.{{end}} - -更多信息,参阅[入门教程](../../Getting-Started?UI={{UI}})的运行应用程序部分. - -![Set as startup project](./images/bookstore-start-project-{{UI_Text}}.png) - -{{if UI == "NG"}} - -在 `angular` 下打开命令行终端,执行 `yarn` 命令: - -```bash -yarn -``` - -所有的模块加载后,执行 `yarn start` 命令: - -```bash -yarn start -``` - -默认网站从以下URL访问: - -http://localhost:4200/ - -如果你成功看到登录页面,可以按 `ctrl-c` 退出Angular托管.(我们稍后再运行). - -> 注意, Firefox不使用Windows凭据存储,你需要手动将自签名的开发人员证书导入到Firefox. 打开Firefox并导航到以下网址: -> -> https://localhost:44322/api/abp/application-configuration -> -> 如果你看到下图,单击 **Accept the Risk 和 Continue** 按钮绕过警告. -> -> ![Set as startup project](./images/mozilla-self-signed-cert-error.png) - -{{end}} +在开始开发之前,请按照[入门教程](../Getting-Started.md)创建名为 `Acme.BookStore` 的新解决方案. -默认的登录凭证: +## 创建Book实体 -* **Username**: admin -* **Password**: 1q2w3E* - -### 解决方案的结构 - -下面的图片展示了从启动模板创建的项目是如何分层的. - -![bookstore-visual-studio-solution](./images/bookstore-solution-structure-{{UI_Text}}.png) - -> 你可以查看[应用程序模板文档](../startup-templates/application#solution-structure)以详细了解解决方案结构. - -### 创建Book实体 - -启动模板中的域层分为两个项目: +启动模板中的**领域层**分为两个项目: - `Acme.BookStore.Domain`包含你的[实体](https://docs.abp.io/zh-Hans/abp/latest/Entities), [领域服务](https://docs.abp.io/zh-Hans/abp/latest/Domain-Services)和其他核心域对象. - `Acme.BookStore.Domain.Shared`包含可与客户共享的常量,枚举或其他域相关对象. -在解决方案的**领域层**(`Acme.BookStore.Domain`项目)中定义[实体](https://docs.abp.io/zh-Hans/abp/latest/Entities). 该应用程序的主要实体是`Book`. 在`Acme.BookStore.Domain`项目中创建一个名为`Book`的类,如下所示: +在解决方案的**领域层**(`Acme.BookStore.Domain`项目)中定义你的实体. -````C# +该应用程序的主要实体是`Book`. 在`Acme.BookStore.Domain`项目中创建一个 `Books` 文件夹并在其中添加一个名为 `Book` 的类,如下所示: + +````csharp using System; using Volo.Abp.Domain.Entities.Auditing; -namespace Acme.BookStore +namespace Acme.BookStore.Books { public class Book : AuditedAggregateRoot { @@ -133,33 +80,22 @@ namespace Acme.BookStore public DateTime PublishDate { get; set; } public float Price { get; set; } - - protected Book() - { - } - public Book(Guid id, string name, BookType type, DateTime publishDate, float price) - :base(id) - { - Name = name; - Type = type; - PublishDate = publishDate; - Price = price; - } } } ```` -* ABP为实体提供了两个基本的基类: `AggregateRoot`和`Entity`. **Aggregate Root**是**域驱动设计(DDD)** 概念之一. 有关详细信息和最佳做法,请参阅[实体文档](https://docs.abp.io/zh-Hans/abp/latest/Entities). -* `Book`实体继承了`AuditedAggregateRoot`,`AuditedAggregateRoot`类在`AggregateRoot`类的基础上添加了一些审计属性(`CreationTime`, `CreatorId`, `LastModificationTime` 等). +* ABP为实体提供了两个基本的基类: `AggregateRoot`和`Entity`. **Aggregate Root**是**[领域驱动设计](./Domain-Driven-Design.md)** 概念之一. 可以视为直接查询和处理的根实体(请参阅[实体文档](./Entities.md)). +* `Book`实体继承了`AuditedAggregateRoot`,`AuditedAggregateRoot`类在`AggregateRoot`类的基础上添加了一些审计属性(`CreationTime`, `CreatorId`, `LastModificationTime` 等). ABP框架自动为你管理这些属性. * `Guid`是`Book`实体的主键类型. -* 使用 **数据注解** 为EF Core添加映射.或者你也可以使用 EF Core 自带的[fluent mapping API](https://docs.microsoft.com/en-us/ef/core/modeling). -#### BookType枚举 +> 为了保持简单,本教程将实体属性保留为 **public get/set** . 如果你想了解关于DDD最佳实践,请参阅[实体文档](../Entities.md). -上面所用到的`BookType`枚举定义如下: +### BookType枚举 -````C# -namespace Acme.BookStore +上面所用到了 `BookType` 枚举,在 `Acme.BookStore.Domain.Shared` 项目创建 `BookType`. + +````csharp +namespace Acme.BookStore.Books { public enum BookType { @@ -176,69 +112,112 @@ namespace Acme.BookStore } ```` -#### 将Book实体添加到DbContext中 +最终的文件夹/文件结构应该如下所示: + +![bookstore-book-and-booktype](images/bookstore-book-and-booktype.png) + +### 将Book实体添加到DbContext中 -{{if DB == "ef"}} +{{if DB == "EF"}} EF Core需要你将实体和 `DbContext` 建立关联.最简单的做法是在`Acme.BookStore.EntityFrameworkCore`项目的`BookStoreDbContext`类中添加`DbSet`属性.如下所示: -````C# +````csharp public class BookStoreDbContext : AbpDbContext { - public DbSet Book { get; set; } - ... + public DbSet Books { get; set; } + //... } ```` {{end}} -{{if DB == "mongodb"}} +{{if DB == "Mongo"}} 添加 `IMongoCollection Book` 属性到 `Acme.BookStore.MongoDB` 项目的 `BookStoreMongoDbContext` 中. ```csharp public class BookStoreMongoDbContext : AbpMongoDbContext { - public IMongoCollection Users => Collection(); - public IMongoCollection Book => Collection();//<--added this line--> - //... + public IMongoCollection Books => Collection(); + //... } ``` {{end}} -{{if DB == "ef"}} +{{if DB == "EF"}} -#### 配置你的Book实体 +### 将Book实体映射到数据库表 -在 `Acme.BookStore.EntityFrameworkCore` 项目中打开 `BookStoreDbContextModelCreatingExtensions.cs` 文件,并将以下代码添加到 `ConfigureBookStore` 方法的末尾以配置Book实体: +在 `Acme.BookStore.EntityFrameworkCore` 项目中打开 `BookStoreDbContextModelCreatingExtensions.cs` 文件,添加 `Book` 实体的映射代码. 最终类应为: ````csharp -builder.Entity(b => +using Acme.BookStore.Books; +using Microsoft.EntityFrameworkCore; +using Volo.Abp; +using Volo.Abp.EntityFrameworkCore.Modeling; + +namespace Acme.BookStore.EntityFrameworkCore { - b.ToTable(BookStoreConsts.DbTablePrefix + "Book", BookStoreConsts.DbSchema); - b.ConfigureByConvention(); //auto configure for the base class props - b.Property(x => x.Name).IsRequired().HasMaxLength(128); -}); + public static class BookStoreDbContextModelCreatingExtensions + { + public static void ConfigureBookStore(this ModelBuilder builder) + { + Check.NotNull(builder, nameof(builder)); + + /* Configure your own tables/entities inside here */ + + builder.Entity(b => + { + b.ToTable(BookStoreConsts.DbTablePrefix + "Books", + BookStoreConsts.DbSchema); + b.ConfigureByConvention(); //auto configure for the base class props + b.Property(x => x.Name).IsRequired().HasMaxLength(128); + }); + } + } +} ```` -添加 `using Volo.Abp.EntityFrameworkCore.Modeling;` 以使用 `ConfigureByConvention` 扩展方法. +* `BookStoreConsts` 含有用于表的架构和表前缀的常量值. 你不必使用它,但建议在单点控制表前缀. +* `ConfigureByConvention()` 方法优雅的配置/映射继承的属性,应始终对你所有的实体使用它. -{{end}} +### 添加数据迁移 -{{if DB == "mongodb"}} +启动模板使用[EF Core Code First Migrations](https://docs.microsoft.com/en-us/ef/core/managing-schemas/migrations/)创建和维护数据库架构. 打开菜单*工具 > NuGet包管理器*下的**程序包管理控制台 (PMC)**. + +![Open Package Manager Console](images/bookstore-open-package-manager-console.png) + +选择 `Acme.BookStore.EntityFrameworkCore.DbMigrations` 做为**默认项目**然后执行以下命令: + +```bash +Add-Migration "Created_Book_Entity" +``` + +![bookstore-pmc-add-book-migration](./images/bookstore-pmc-add-book-migration-v2.png) + +它会在 `Acme.BookStore.EntityFrameworkCore.DbMigrations` 项目中的 `Migrations` 文件内创建一个新的迁移类. + +在更新数据库之前,请阅读下面的部分了解如何将一些初始数据插入到数据库. + +> 如果你使用其他IDE而不是Visual Studio, 你可以使用 [`dotnet-ef]`(https://docs.microsoft.com/en-us/ef/core/managing-schemas/migrations/?tabs=dotnet-core-cli#create-a-migration) 工具. + +{{end}} #### 添加种子数据 -添加种子数据是可选的,但第一次运行时最好将初始数据添加到数据库中. ABP提供了[数据种子系统](https://docs.abp.io/en/abp/latest/Data-Seeding). 在 `*.Domain` 项目下创建派生 `IDataSeedContributor` 的类: +> >在运行应用程序之前最好将初始数据添加到数据库中. 本节介绍ABP框架的[数据种子系统](../Data-Seeding.md). 如果你不想创建种子数据可以跳过本节,但是建议你遵循它来学习这个有用的ABP Framework功能。 + +在 `*.Domain` 项目下创建派生 `IDataSeedContributor` 的类,并且拷贝以下代码: ```csharp using System; using System.Threading.Tasks; +using Acme.BookStore.Books; using Volo.Abp.Data; using Volo.Abp.DependencyInjection; using Volo.Abp.Domain.Repositories; -using Volo.Abp.Guids; namespace Acme.BookStore { @@ -246,102 +225,75 @@ namespace Acme.BookStore : IDataSeedContributor, ITransientDependency { private readonly IRepository _bookRepository; - private readonly IGuidGenerator _guidGenerator; - public BookStoreDataSeederContributor( - IRepository bookRepository, - IGuidGenerator guidGenerator) + public BookStoreDataSeederContributor(IRepository bookRepository) { _bookRepository = bookRepository; - _guidGenerator = guidGenerator; } public async Task SeedAsync(DataSeedContext context) { - if (await _bookRepository.GetCountAsync() > 0) + if (await _bookRepository.GetCountAsync() <= 0) { - return; + await _bookRepository.InsertAsync( + new Book + { + Name = "1984", + Type = BookType.Dystopia, + PublishDate = new DateTime(1949, 6, 8), + Price = 19.84f + }, + autoSave: true + ); + + await _bookRepository.InsertAsync( + new Book + { + Name = "The Hitchhiker's Guide to the Galaxy", + Type = BookType.ScienceFiction, + PublishDate = new DateTime(1995, 9, 27), + Price = 42.0f + }, + autoSave: true + ); } - - await _bookRepository.InsertAsync( - new Book( - id: _guidGenerator.Create(), - name: "1984", - type: BookType.Dystopia, - publishDate: new DateTime(1949, 6, 8), - price: 19.84f - ) - ); - - await _bookRepository.InsertAsync( - new Book( - id: _guidGenerator.Create(), - name: "The Hitchhiker's Guide to the Galaxy", - type: BookType.ScienceFiction, - publishDate: new DateTime(1995, 9, 27), - price: 42.0f - ) - ); } } } ``` -{{end}} +* 如果数据库中当前没有图书,则此代码使用 `IRepository`(默认为[repository](../Repositories.md)将两本书插入数据库. -{{if DB == "ef"}} +### 更新数据库 -#### 添加新的Migration并更新数据库 +运行 `Acme.BookStore.DbMigrator` 应用程序来更新数据库: -这个启动模板使用了[EF Core Code First Migrations](https://docs.microsoft.com/en-us/ef/core/managing-schemas/migrations/)来创建并维护数据库结构.打开 **程序包管理器控制台(Package Manager Console) (PMC)** (工具/Nuget包管理器菜单) +![bookstore-dbmigrator-on-solution](images/bookstore-dbmigrator-on-solution.png) -![Open Package Manager Console](./images/bookstore-open-package-manager-console.png) +{{if DB == "EF"}} -选择 `Acme.BookStore.EntityFrameworkCore.DbMigrations`作为默认的项目然后执行下面的命令: +`.DbMigrator` 是一个控制台使用程序,可以在**开发**和**生产**环境**迁移数据库架构**和**初始化种子数据**. -```bash -Add-Migration "Created_Book_Entity" -``` - -![bookstore-pmc-add-book-migration](./images/bookstore-pmc-add-book-migration-v2.png) - -这样就会在 `Migrations` 文件夹中创建一个新的migration类.然后执行 `Update-Database` 命令更新数据库结构: - -````bash -Update-Database -```` - -![bookstore-update-database-after-book-entity](./images/bookstore-update-database-after-book-entity.png) - -#### 添加示例数据 - -`Update-Database`命令在数据库中创建了`AppBook`表. 打开数据库并输入几个示例行,以便在页面上显示它们: - -```mssql -INSERT INTO AppBook (Id,CreationTime,[Name],[Type],PublishDate,Price) VALUES -('f3c04764-6bfd-49e2-859e-3f9bfda6183e', '2018-07-01', '1984',3,'1949-06-08','19.84') - -INSERT INTO AppBook (Id,CreationTime,[Name],[Type],PublishDate,Price) VALUES -('13024066-35c9-473c-997b-83cd8d3e29dc', '2018-07-01', 'The Hitchhiker`s Guide to the Galaxy',7,'1995-09-27','42') +{{end}} -INSERT INTO AppBook (Id,CreationTime,[Name],[Type],PublishDate,Price) VALUES -('4fa024a1-95ac-49c6-a709-6af9e4d54b54', '2018-07-02', 'Pet Sematary',5,'1983-11-14','23.7') -``` +{{if DB == "Mongo"}} -![bookstore-book-table](./images/bookstore-book-table.png) +尽管MongoDB**不需要**数据库架构迁移,但仍建议运行该应用程序,因为它可以在数据库上播种初始数据. 可以在**开发**和**生产**环境中使用. {{end}} -### 创建应用服务 +## 创建应用程序 -下一步是创建[应用服务](../Application-Services.md)来管理(创建,列出,更新,删除)书籍. 启动模板中的应用程序层分为两个项目: +应用程序层由两个分离的项目组成: -* `Acme.BookStore.Application.Contracts`主要包含你的DTO和应用程序服务接口. -* `Acme.BookStore.Application`包含应用程序服务的实现. +* `Acme.BookStore.Application.Contracts 包含你的[DTO](../Data-Transfer-Objects.md)和[应用服务](../Application-Services.md)接口. +* `Acme.BookStore.Application` 包含你的应用服务实现. -#### BookDto +在本部分中,你将创建一个应用程序服务,使用ABP Framework的 `CrudAppService` 基类来获取,创建,更新和删除书籍. -在`Acme.BookStore.Application.Contracts`项目中创建一个名为`BookDto`的DTO类: +### BookDto + +`CrudAppService` 基类需要定义实体的基本DTO. 在 `Acme.BookStore.Application.Contracts` 项目中创建一个名为 `BookDto` 的DTO类: ````C# using System; @@ -364,11 +316,12 @@ namespace Acme.BookStore * **DTO**类被用来在 **表示层** 和 **应用层** **传递数据**.查看[DTO文档](https://docs.abp.io/zh-Hans/abp/latest/Data-Transfer-Objects)查看更多信息. * 为了在页面上展示书籍信息,`BookDto`被用来将书籍数据传递到表示层. -* `BookDto`继承自 `AuditedEntityDto`.跟上面定义的`Book`类一样具有一些审计属性. +* `BookDto`继承自 `AuditedEntityDto`.跟上面定义的 `Book` 实体一样具有一些审计属性. 在将书籍返回到表示层时,需要将`Book`实体转换为`BookDto`对象. [AutoMapper](https://automapper.org)库可以在定义了正确的映射时自动执行此转换. 启动模板配置了AutoMapper,因此你只需在`Acme.BookStore.Application`项目的`BookStoreApplicationAutoMapperProfile`类中定义映射: ````csharp +using Acme.BookStore.Books; using AutoMapper; namespace Acme.BookStore @@ -383,16 +336,17 @@ namespace Acme.BookStore } ```` -#### CreateUpdateBookDto +> 参阅 [对象对对象映射](../Object-To-Object-Mapping.md) 文档了解详情. + +### CreateUpdateBookDto -在`Acme.BookStore.Application.Contracts`项目中创建一个名为`CreateUpdateBookDto`的DTO类: +在`Acme.BookStore.Application.Contracts`项目中创建一个名为 `CreateUpdateBookDto` 的DTO类: -````c# +````csharp using System; using System.ComponentModel.DataAnnotations; -using Volo.Abp.AutoMapper; -namespace Acme.BookStore +namespace Acme.BookStore.Books { public class CreateUpdateBookDto { @@ -404,7 +358,8 @@ namespace Acme.BookStore public BookType Type { get; set; } = BookType.Undefined; [Required] - public DateTime PublishDate { get; set; } + [DataType(DataType.Date)] + public DateTime PublishDate { get; set; } = DateTime.Now; [Required] public float Price { get; set; } @@ -415,9 +370,11 @@ namespace Acme.BookStore * 这个DTO类被用于在创建或更新书籍的时候从用户界面获取图书信息. * 它定义了数据注释属性(如`[Required]`)来定义属性的验证. DTO由ABP框架[自动验证](https://docs.abp.io/zh-Hans/abp/latest/Validation). -就像上面的`BookDto`一样,创建一个从`CreateUpdateBookDto`对象到`Book`实体的映射: +就像上面的`BookDto`一样,创建一个从`CreateUpdateBookDto`对象到`Book`实体的映射,最终映射配置类如下: + ````csharp +using Acme.BookStore.Books; using AutoMapper; namespace Acme.BookStore @@ -427,30 +384,29 @@ namespace Acme.BookStore public BookStoreApplicationAutoMapperProfile() { CreateMap(); - CreateMap(); //<--added this line--> + CreateMap(); } } } ```` -#### IBookAppService +### IBookAppService -在`Acme.BookStore.Application.Contracts`项目中定义一个名为`IBookAppService`的接口: +下一步是为应用程序定义接口,在`Acme.BookStore.Application.Contracts`项目中定义一个名为`IBookAppService`的接口: -````C# +````csharp using System; using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Services; -namespace Acme.BookStore +namespace Acme.BookStore.Books { public interface IBookAppService : - ICrudAppService< //定义了CRUD方法 - BookDto, //用来展示书籍 - Guid, //Book实体的主键 - PagedAndSortedResultRequestDto, //获取书籍的时候用于分页和排序 - CreateUpdateBookDto, //用于创建书籍 - CreateUpdateBookDto> //用于更新书籍 + ICrudAppService< //Defines CRUD methods + BookDto, //Used to show books + Guid, //Primary key of the book entity + PagedAndSortedResultRequestDto, //Used for paging/sorting + CreateUpdateBookDto> //Used to create/update a book { } @@ -458,25 +414,29 @@ namespace Acme.BookStore ```` * 框架定义应用程序服务的接口**不是必需的**. 但是,它被建议作为最佳实践. -* `ICrudAppService`定义了常见的**CRUD**方法:`GetAsync`,`GetListAsync`,`CreateAsync`,`UpdateAsync`和`DeleteAsync`. 你可以从空的`IApplicationService`接口继承并手动定义自己的方法. -* `ICrudAppService`有一些变体, 你可以在每个方法中使用单独的DTO,也可以分别单独指定. +* `ICrudAppService`定义了常见的**CRUD**方法:`GetAsync`,`GetListAsync`,`CreateAsync`,`UpdateAsync`和`DeleteAsync`. 你可以从空的`IApplicationService`接口继承并手动定义自己的方法(将在下一部分中完成). +* `ICrudAppService`有一些变体, 你可以在每个方法中使用单独的DTO,也可以分别单独指定(例如使用不同的DTO进行创建和更新). -#### BookAppService +### BookAppService -在`Acme.BookStore.Application`项目中实现名为`BookAppService`的`IBookAppService`: +在`Acme.BookStore.Application`项目中创建名为 `BookAppService` 的 `IBookAppService` 实现: -````C# +````csharp using System; using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Services; using Volo.Abp.Domain.Repositories; -namespace Acme.BookStore +namespace Acme.BookStore.Books { public class BookAppService : - CrudAppService, - IBookAppService + CrudAppService< + Book, //The Book entity + BookDto, //Used to show books + Guid, //Primary key of the book entity + PagedAndSortedResultRequestDto, //Used for paging/sorting + CreateUpdateBookDto>, //Used to create/update a book + IBookAppService //implement the IBookAppService { public BookAppService(IRepository repository) : base(repository) @@ -487,15 +447,17 @@ namespace Acme.BookStore } ```` -* `BookAppService`继承了`CrudAppService<...>`.它实现了上面定义的CRUD方法. +* `BookAppService`继承了`CrudAppService<...>`.它实现了 `ICrudAppService` 定义的CRUD方法. * `BookAppService`注入`IRepository `,这是`Book`实体的默认仓储. ABP自动为每个聚合根(或实体)创建默认仓储. 请参阅[仓储文档](https://docs.abp.io/zh-Hans/abp/latest/Repositories) -* `BookAppService`使用`IObjectMapper`将`Book`对象转换为`BookDto`对象, 将`CreateUpdateBookDto`对象转换为`Book`对象. 启动模板使用[AutoMapper](http://automapper.org/)库作为对象映射提供程序. 你之前定义了映射, 因此它将按预期工作. +* `BookAppService`使用[`IObjectMapper`](../Object-To-Object-Mapping.md)将`Book`对象转换为`BookDto`对象, 将`CreateUpdateBookDto`对象转换为`Book`对象. 启动模板使用[AutoMapper](http://automapper.org/)库作为对象映射提供程序. 我们之前定义了映射, 因此它将按预期工作. ### 自动生成API Controllers -你通常创建**Controller**以将应用程序服务公开为**HTTP API**端点. 因此允许浏览器或第三方客户端通过AJAX调用它们. ABP可以[**自动**](https://docs.abp.io/zh-Hans/abp/latest/API/Auto-API-Controllers)按照惯例将你的应用程序服务配置为MVC API控制器. +你通常创建**Controller**以将应用程序服务公开为**HTTP API**端点. 因此允许浏览器或第三方客户端通过AJAX调用它们. + +ABP可以[**自动**](../API/Auto-API-Controllers.md)按照惯例将你的应用程序服务配置为MVC API控制器. -#### Swagger UI +### Swagger UI 启动模板配置为使用[Swashbuckle.AspNetCore](https://github.com/domaindrivendev/Swashbuckle.AspNetCore)运行[swagger UI](https://swagger.io/tools/swagger-ui/). 运行应用程序并在浏览器中输入`https://localhost:XXXX/swagger/`(用你自己的端口替换XXXX)作为URL. @@ -503,485 +465,42 @@ namespace Acme.BookStore ![bookstore-swagger](images/bookstore-swagger.png) -Swagger有一个很好的UI来测试API. 你可以尝试执行`[GET] /api/app/book` API来获取书籍列表. - -{{if UI == "MVC"}} - -### 动态JavaScript代理 - -在Javascript端通过AJAX的方式调用HTTP API接口是很常见的,你可以使用`$.ajax`或者其他的工具来调用接口.当然,ABP中提供了更好的方式. - -ABP **自动** 为所有的API接口创建了JavaScript **代理**.因此,你可以像调用 **JavaScript function**一样调用任何接口. - -#### 在浏览器的开发者控制台中测试接口 - -你可以使用你钟爱的浏览器的 **开发者控制台** 中轻松测试JavaScript代理.运行程序,并打开浏览器的 **开发者工具**(快捷键:F12),切换到 **Console** 标签,输入下面的代码并回车: - -````js -acme.bookStore.book.getList({}).done(function (result) { console.log(result); }); -```` - -* `acme.bookStore`是`BookAppService`的命名空间,转换成了[驼峰命名](https://en.wikipedia.org/wiki/Camel_case). -* `book`是`BookAppService`转换后的名字(去除了AppService后缀并转成了驼峰命名). -* `getList`是定义在`AsyncCrudAppService`基类中的`GetListAsync`方法转换后的名字(去除了Async后缀并转成了驼峰命名). -* `{}`参数用于将空对象发送到`GetListAsync`方法,该方法通常需要一个类型为`PagedAndSortedResultRequestDto`的对象,用于向服务器发送分页和排序选项(所有属性都是可选的,所以你可以发送一个空对象). -* `getList`方法返回了一个`promise`.因此,你可以传递一个回调函数到`done`(或者`then`)方法中来获取服务返回的结果. - -运行这段代码会产生下面的输出: - -![bookstore-test-js-proxy-getlist](./images/bookstore-test-js-proxy-getlist.png) - -你可以看到服务器返回的 **book list**.你还可以切换到开发者工具的 **network** 查看客户端到服务器端的通讯信息: - -![bookstore-test-js-proxy-getlist-network](./images/bookstore-test-js-proxy-getlist-network.png) - -我们使用`create`方法 **创建一本新书**: - -````js -acme.bookStore.book.create({ name: 'Foundation', type: 7, publishDate: '1951-05-24', price: 21.5 }).done(function (result) { console.log('successfully created the book with id: ' + result.id); }); -```` - -你会看到控制台会显示类似这样的输出: - -````text -successfully created the book with id: 439b0ea8-923e-8e1e-5d97-39f2c7ac4246 -```` - -检查数据库中的`Book`表以查看新书. 你可以自己尝试`get`,`update`和`delete`功能. - -### 创建书籍页面 - -现在我们来创建一些可见和可用的东西,取代经典的MVC,我们使用微软推荐的[Razor Pages UI](https://docs.microsoft.com/en-us/aspnet/core/tutorials/razor-pages/razor-pages-start). +Swagger有一个很好的UI来测试API. -在 `Acme.BookStore.Web`项目的`Pages`文件夹下创建一个新的文件夹叫`Book`并添加一个名为`Index.cshtml`的Razor Page. +你可以尝试执行`[GET] /api/app/book` API来获取书籍列表, 服务端会返回以下JSON结果: -![bookstore-add-index-page](./images/bookstore-add-index-page-v2.png) - -打开`Index.cshtml`并把内容修改成下面这样: - -**Index.cshtml:** - -````html -@page -@using Acme.BookStore.Web.Pages.Book -@model IndexModel - -

Book

-```` - -* 确保`IndexModel`(Index.cshtml.cs)具有`Acme.BookStore.Web.Pages.Book`命名空间,或者在`Index.cshtml`中更新它. - -**Index.cshtml.cs:** - -```csharp -using Microsoft.AspNetCore.Mvc.RazorPages; - -namespace Acme.BookStore.Web.Pages.Book +````json { - public class IndexModel : PageModel + "totalCount": 2, + "items": [ { - public void OnGet() - { - - } - } -} -``` - -#### 将Book页面添加到主菜单 - -打开`Menus`文件夹中的 `BookStoreMenuContributor` 类,在`ConfigureMainMenuAsync`方法的底部添加如下代码: - -````csharp -//... -namespace Acme.BookStore.Web.Menus -{ - public class BookStoreMenuContributor : IMenuContributor + "name": "The Hitchhiker's Guide to the Galaxy", + "type": 7, + "publishDate": "1995-09-27T00:00:00", + "price": 42, + "lastModificationTime": null, + "lastModifierId": null, + "creationTime": "2020-07-03T21:04:18.4607218", + "creatorId": null, + "id": "86100bb6-cbc1-25be-6643-39f62806969c" + }, { - private async Task ConfigureMainMenuAsync(MenuConfigurationContext context) - { - //<-- added the below code - context.Menu.AddItem( - new ApplicationMenuItem("BookStore", l["Menu:BookStore"]) - .AddItem( - new ApplicationMenuItem("BookStore.Book", l["Menu:Book"], url: "/Book") - ) - ); - //--> - } + "name": "1984", + "type": 3, + "publishDate": "1949-06-08T00:00:00", + "price": 19.84, + "lastModificationTime": null, + "lastModifierId": null, + "creationTime": "2020-07-03T21:04:18.3174016", + "creatorId": null, + "id": "41055277-cce8-37d7-bb37-39f62806960b" } + ] } ```` -{{end}} - -#### 本地化菜单 - -本地化文本位于`Acme.BookStore.Domain.Shared`项目的`Localization/BookStore`文件夹下: - -![bookstore-localization-files](./images/bookstore-localization-files-v2.png) - -打开`en.json`文件,将`Menu:BookStore`和`Menu:Book`键的本地化文本添加到文件末尾: - -````json -{ - "Culture": "en", - "Texts": { - "Menu:Home": "Home", - "Welcome": "Welcome", - "LongWelcomeMessage": "Welcome to the application. This is a startup project based on the ABP framework. For more information, visit abp.io.", - - "Menu:BookStore": "Book Store", - "Menu:Book": "Book", - "Actions": "Actions", - "Edit": "Edit", - "PublishDate": "Publish date", - "NewBook": "New book", - "Name": "Name", - "Type": "Type", - "Price": "Price", - "CreationTime": "Creation time", - "AreYouSureToDelete": "Are you sure you want to delete this item?" - } -} -```` - -* ABP的本地化功能建立在[ASP.NET Core's standard localization]((https://docs.microsoft.com/en-us/aspnet/core/fundamentals/localization))之上并增加了一些扩展.查看[本地化文档](https://docs.abp.io/zh-Hans/abp/latest/Localization). -* 本地化key是任意的. 你可以设置任何名称. 我们更喜欢为菜单项添加`Menu:`前缀以区别于其他文本. 如果未在本地化文件中定义文本,则它将**返回**到本地化的key(ASP.NET Core的标准行为). - -运行该应用程序,看到新菜单项已添加到顶部栏: - -![bookstore-menu-items](./images/bookstore-new-menu-item.png) - -点击BookStore下Book子菜单项就会跳转到新增的书籍页面. - -#### 书籍列表 - -我们将使用[Datatables.net](https://datatables.net/)JQuery插件来显示页面上的表格列表. [Datatables](https://datatables.net/)可以完全通过AJAX工作,速度快,并提供良好的用户体验. Datatables插件在启动模板中配置,因此你可以直接在任何页面中使用它,而需要在页面中引用样式和脚本文件. - -##### Index.cshtml - -将`Pages/Book/Index.cshtml`改成下面的样子: - -````html -@page -@model Acme.BookStore.Web.Pages.Book.IndexModel -@section scripts -{ - -} - - -

@L["Book"]

-
- - - - - @L["Name"] - @L["Type"] - @L["PublishDate"] - @L["Price"] - @L["CreationTime"] - - - - -
-```` - -* `abp-script` [tag helper](https://docs.microsoft.com/en-us/aspnet/core/mvc/views/tag-helpers/intro)用于将外部的 **脚本** 添加到页面中.它比标准的`script`标签多了很多额外的功能.它可以处理 **最小化**和 **版本**.查看[捆绑 & 压缩文档](https://docs.abp.io/zh-Hans/abp/latest/UI/AspNetCore/Bundling-Minification)获取更多信息. -* `abp-card` 和 `abp-table` 是为Twitter Bootstrap的[card component](http://getbootstrap.com/docs/4.1/components/card/)封装的 **tag helpers**.ABP中有很多tag helpers,可以很方便的使用大多数[bootstrap](https://getbootstrap.com/)组件.你也可以使用原生的HTML标签代替tag helpers.使用tag helper可以通过智能提示和编译时类型检查减少HTML代码并防止错误.查看[tag helpers 文档](https://docs.abp.io/zh-Hans/abp/latest/UI/AspNetCore/Tag-Helpers/Index). -* 你可以像上面本地化菜单一样 **本地化** 列名. - -#### 添加脚本文件 - -在`Pages/Book/`文件夹中创建 `index.js`文件 - -![bookstore-index-js-file](./images/bookstore-index-js-file-v2.png) - -`index.js`的内容如下: - -````js -$(function () { - var l = abp.localization.getResource('BookStore'); - var dataTable = $('#BooksTable').DataTable(abp.libs.datatables.normalizeConfiguration({ - ajax: abp.libs.datatables.createAjax(acme.bookStore.book.getList), - columnDefs: [ - { data: "name" }, - { data: "type" }, - { data: "publishDate" }, - { data: "price" }, - { data: "creationTime" } - ] - })); -}); -```` - -* `abp.libs.datatables.createAjax`是帮助ABP的动态JavaScript API代理跟[Datatable](https://datatables.net/)的格式相适应的辅助方法. -* `abp.libs.datatables.normalizeConfiguration`是另一个辅助方法.不是必须的, 但是它通过为缺少的选项提供常规值来简化数据表配置. -* `acme.bookStore.book.getList`是获取书籍列表的方法(上面已经介绍过了) -* 查看 [Datatable文档](https://datatables.net/manual/) 了解更多配置项. - -最终的页面如下: - -![Book list](./images/bookstore-book-list-2.png) - -{{end}} - -{{if UI == "NG"}} - -### Angular 开发 - -#### 创建book页面 - -是时候创建可见和可用的东西了!开发ABP Angular前端应用程序时,需要使用一些工具: - -- [Angular CLI](https://angular.io/cli) 用于创建模块,组件和服务. -- [Ng Bootstrap](https://ng-bootstrap.github.io/#/home) 用做UI组件库. -- [ngx-datatable](https://swimlane.gitbook.io/ngx-datatable/) 用做 datatable 类库. -- [Visual Studio Code](https://code.visualstudio.com/) 用做代码编辑器 (你可以选择自己喜欢的编辑器). - -#### 安装 NPM 包 - -在 `angular` 目录下打开命令行窗口,选择 `yarn` 命令安装NPM包: - -```bash -yarn -``` - -#### BookModule - -运行以下命令创建一个名为 `BookModule` 的新模块: - -```bash -yarn ng generate module book --routing true -``` - -![Generating book module](./images/bookstore-creating-book-module-terminal.png) - -#### 路由 - -打开位于 `src\app` 目录下的 `app-routing.module.ts` 文件. 添加新的路由: - -```js -const routes: Routes = [ -// ... -// added a new route to the routes array - { - path: 'books', - loadChildren: () => import('./book/book.module').then(m => m.BookModule) - } -] -``` - -* 我们添加了一个懒加载路由. 参阅 [嬾加載功能模块](https://angular.io/guide/lazy-loading-ngmodules#lazy-loading-feature-modules). - -打开位于 `src\app` 目录下的 `route.provider.ts` 文件,用以下内容替换它: - -```js -import { RoutesService, eLayoutType } from '@abp/ng.core'; -import { APP_INITIALIZER } from '@angular/core'; - -export const APP_ROUTE_PROVIDER = [ - { provide: APP_INITIALIZER, useFactory: configureRoutes, deps: [RoutesService], multi: true }, -]; - -function configureRoutes(routes: RoutesService) { - return () => { - routes.add([ - //... - // added below element - { - path: '/books', - name: '::Menu:Books', - iconClass: 'fas fa-book', - order: 101, - layout: eLayoutType.application, - }, - ]); - }; -} -``` - -* 我们添加了一个新的路由元素在菜单上显示为 "Books" 的导航元素. - * `path` 路由的URL. - * `name` 菜单项的名称,可以使用本地化Key. - * `iconClass` 菜单项的图标. - * `order` 菜单项的排序.我们定义了101,它显示在 "Administration" 项的后面. - * `layout` BooksModule路由的布局. 可以定义 `eLayoutType.application`, `eLayoutType.account` 或 `eLayoutType.empty`. - -更多信息请参阅[RoutesService 文档](https://docs.abp.io/en/abp/latest/UI/Angular/Modifying-the-Menu.md#via-routesservice). - -#### Book 列表组件 - -在命令行运行以下命令,生成名为 book-list 的新组件: - -```bash -yarn ng generate component book/book-list -``` - -![Creating book list](./images/bookstore-creating-book-list-terminal.png) - -打开 `app\book` 目录下的 `book.module.ts` 文件,使用以下内容替换它: - -```js -import { NgModule } from '@angular/core'; -import { CommonModule } from '@angular/common'; -import { BookRoutingModule } from './book-routing.module'; -import { BookListComponent } from './book-list/book-list.component'; -import { SharedModule } from '../shared/shared.module'; //<== added this line ==> - -@NgModule({ - declarations: [BookListComponent], - imports: [ - CommonModule, - BookRoutingModule, - SharedModule, //<== added this line ==> - ], -}) -export class BookModule {} -``` - -* 我们导入了 `SharedModule` 并添加到 `imports` 数组. - -打开 `app\book` 目录下的 `book-routing.module.ts` 文件用以下内容替换它: - -```js -import { NgModule } from '@angular/core'; -import { Routes, RouterModule } from '@angular/router'; -import { BookListComponent } from './book-list/book-list.component'; // <== added this line ==> - -// <== replaced routes ==> -const routes: Routes = [ - { - path: '', - component: BookListComponent, - }, -]; - -@NgModule({ - imports: [RouterModule.forChild(routes)], - exports: [RouterModule] -}) -export class BookRoutingModule { } -``` - -* 我们导入了 `BookListComponent` 并替换 `routes` 常量. - -运行 `yarn start`,等待Angular启动服务: - -```bash -yarn start -``` - -我们将看到book页面的 **book-list works!**: - -![Initial book list page](./images/bookstore-initial-book-list-page.png) - -#### 生成代理 - -ABP CLI提供了 `generate-proxy` 命令为你的服务HTTP API生成客户端代理简化客户端使用服务的成本. 运行 `generate-proxy` 命令前你的host必须正在运行. 参阅 [CLI 文档](../CLI.md). - -在 `angular` 文件夹下运行以下命令: - -```bash -abp generate-proxy --module app -``` - -![Generate proxy command](./images/generate-proxy-command.png) - -生成的文件如下: - -![Generated files](./images/generated-proxies.png) - -#### BookListComponent - -打开 `app\book\book-list` 目录下的 `book-list.component.ts` 用以下内容替换它: - -```js -import { ListService, PagedResultDto } from '@abp/ng.core'; -import { Component, OnInit } from '@angular/core'; -import { BookDto, BookType } from '../models'; -import { BookService } from '../services'; - -@Component({ - selector: 'app-book-list', - templateUrl: './book-list.component.html', - styleUrls: ['./book-list.component.scss'], - providers: [ListService], -}) -export class BookListComponent implements OnInit { - book = { items: [], totalCount: 0 } as PagedResultDto; - - booksType = BookType; - - constructor(public readonly list: ListService, private bookService: BookService) {} - - ngOnInit() { - const bookStreamCreator = (query) => this.bookService.getListByInput(query); - - this.list.hookToQuery(bookStreamCreator).subscribe((response) => { - this.book = response; - }); - } -} -``` - -* 我们注入了生成的 `BookService`. -* 我们实现了 [ListService](https://docs.abp.io/en/abp/latest/UI/Angular/List-Service),它是一个公用服务,提供了简单的分页,排序和搜索. - -打开 `app\book\book-list` 目录下的 `book-list.component.html` 用以下内容替换它: - -```html -
-
-
-
-
- {%{{{ '::Menu:Books' | abpLocalization }}}%} -
-
-
-
-
-
- - - - - {%{{{ booksType[row.type] }}}%} - - - - - {%{{{ row.publishDate | date }}}%} - - - - - {%{{{ row.price | currency }}}%} - - - -
-
-``` - -* 我们添加了图书列表页面的HTML代码. - -现在你可以在浏览器看到最终结果: - -![Book list final result](./images/bookstore-book-list.png) - -项目的文件系统结构: - -![Book list final result](./images/bookstore-angular-file-tree.png) - -在本教程中我们遵循了官方的[Angular风格指南](https://angular.io/guide/styleguide#file-tree). - -{{end}} +这很酷,因为我们没有编写任何代码来创建API控制器,但是现在我们有了一个可以正常使用的REST API! -### 下一章 +## 下一章 -参阅[第二章](part-2.md)了解创建,更新和删除图书. +参阅教程的[下一章](part-2.md). diff --git a/docs/zh-Hans/Tutorials/images/bookstore-add-migration-authors.png b/docs/zh-Hans/Tutorials/images/bookstore-add-migration-authors.png new file mode 100644 index 0000000000000000000000000000000000000000..c24e33c6282d068556ab80f39aa8a91109c0bde5 GIT binary patch literal 29296 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
5~?p*Dd4H7 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 literal 0 HcmV?d00001 diff --git a/docs/zh-Hans/Tutorials/images/bookstore-author-domain-layer.png b/docs/zh-Hans/Tutorials/images/bookstore-author-domain-layer.png new file mode 100644 index 0000000000000000000000000000000000000000..fde53834bbefd32bb060a39423215180bafc31dc GIT binary patch literal 76496 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¨ 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

;1mA!2UpDbGgp$(;IOqTx;dy}Xn1rnZ<=fhW`N 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%0DcT~ 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 literal 0 HcmV?d00001 diff --git a/docs/zh-Hans/Tutorials/images/bookstore-book-and-booktype.png b/docs/zh-Hans/Tutorials/images/bookstore-book-and-booktype.png new file mode 100644 index 0000000000000000000000000000000000000000..1620ebf150e0531baab78a1f0d0785417f813839 GIT binary patch literal 43075 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 literal 0 HcmV?d00001 diff --git a/docs/zh-Hans/Tutorials/images/bookstore-book-list-3.png b/docs/zh-Hans/Tutorials/images/bookstore-book-list-3.png new file mode 100644 index 0000000000000000000000000000000000000000..cbd7ec4a6a1207b780bfa0a871b50af4cfa74531 GIT binary patch literal 75431 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 literal 56461 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Μ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 diff --git a/docs/zh-Hans/Tutorials/images/bookstore-dbmigrator-on-solution.png b/docs/zh-Hans/Tutorials/images/bookstore-dbmigrator-on-solution.png new file mode 100644 index 0000000000000000000000000000000000000000..0b81900307caecffbbf096d0d7c577aa1ca84437 GIT binary patch literal 41421 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˿|)v{ujg7-(lRTEwjI8$wb5Ekb|dVwvv}+AR5LEH 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 I;ik|21soqaIRF3v literal 0 HcmV?d00001 diff --git a/docs/zh-Hans/Tutorials/images/bookstore-edit-button-2.png b/docs/zh-Hans/Tutorials/images/bookstore-edit-button-2.png new file mode 100644 index 0000000000000000000000000000000000000000..507bdd94066c548d177f9b072cc9aa0eabb61ef9 GIT binary patch literal 94543 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 literal 0 HcmV?d00001 diff --git a/docs/zh-Hans/Tutorials/images/bookstore-edit-delete-actions.png b/docs/zh-Hans/Tutorials/images/bookstore-edit-delete-actions.png new file mode 100644 index 0000000000000000000000000000000000000000..9c275c6d15a0737498098b4c3ff2cafebd648595 GIT binary patch literal 12396 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 literal 0 HcmV?d00001 diff --git a/docs/zh-Hans/Tutorials/images/bookstore-getlist-result-network.png b/docs/zh-Hans/Tutorials/images/bookstore-getlist-result-network.png new file mode 100644 index 0000000000000000000000000000000000000000..141f9d14eeb330f78ad7dcbf3955f6bcccd96cf0 GIT binary patch literal 27382 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 literal 0 HcmV?d00001 diff --git a/docs/zh-Hans/Tutorials/images/bookstore-index-js-file-v3.png b/docs/zh-Hans/Tutorials/images/bookstore-index-js-file-v3.png new file mode 100644 index 0000000000000000000000000000000000000000..add95788a8a6263f61d0b90238cce5b7a03aedcd GIT binary patch literal 9763 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 z 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

+%VocP>a)?sWz=K~W0Z|%3Ew^DG?tR0bX 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 D|7}&+ literal 0 HcmV?d00001 diff --git a/docs/zh-Hans/Tutorials/images/bookstore-new-book-button-small.png b/docs/zh-Hans/Tutorials/images/bookstore-new-book-button-small.png new file mode 100644 index 0000000000000000000000000000000000000000..13f7da9285c92a9ee1476cd12cd66d2499d652f3 GIT binary patch literal 3005 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 W=F2m#l*5w%7|~GCQLcM#8~GoxzB@et literal 0 HcmV?d00001 diff --git a/docs/zh-Hans/Tutorials/images/generated-proxies-2.png b/docs/zh-Hans/Tutorials/images/generated-proxies-2.png new file mode 100644 index 0000000000000000000000000000000000000000..adad417c3d98ef1ace1f5367ca8e8e977a64f97c GIT binary patch literal 33917 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 Date: Wed, 29 Jul 2020 17:18:55 +0300 Subject: [PATCH 31/43] version update --- common.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common.props b/common.props index e5f56cebd5..8e124f3e4c 100644 --- a/common.props +++ b/common.props @@ -1,7 +1,7 @@ latest - 3.0.4 + 3.0.5 $(NoWarn);CS1591 https://abp.io/assets/abp_nupkg.png https://abp.io From f55e700474e51d0f868f437c0b3630981465ed26 Mon Sep 17 00:00:00 2001 From: Farouk Belhocine Date: Wed, 29 Jul 2020 15:35:08 +0100 Subject: [PATCH 32/43] adding missing resources for arabic culture. --- framework/abp-translation-fr.json | 776 ++++++++++++++++++ .../Volo/Abp/Emailing/Localization/ar.json | 6 +- .../Volo/Abp/Timing/Localization/ar.json | 7 + .../Localization/Resources/AbpUi/ar.json | 6 +- .../Volo/Abp/Validation/Localization/ar.json | 58 +- .../Abp/TextTemplating/Localization/ar.json | 7 + 6 files changed, 827 insertions(+), 33 deletions(-) create mode 100644 framework/abp-translation-fr.json create mode 100644 framework/src/Volo.Abp.Timing/Volo/Abp/Timing/Localization/ar.json create mode 100644 framework/test/Volo.Abp.TextTemplating.Tests/Volo/Abp/TextTemplating/Localization/ar.json diff --git a/framework/abp-translation-fr.json b/framework/abp-translation-fr.json new file mode 100644 index 0000000000..8a2e51de69 --- /dev/null +++ b/framework/abp-translation-fr.json @@ -0,0 +1,776 @@ +{ + "ReferenceCulture": "en", + "TargetCulture": "fr", + "Resources": [ + { + "ResourcePath": "G:\\source\\repos\\abp\\framework\\src\\Volo.Abp.UI\\Localization\\Resources\\AbpUi", + "Texts": [ + { + "LocalizationKey": "InternalServerErrorMessage", + "Reference": "An internal error occurred during your request!", + "Target": "" + }, + { + "LocalizationKey": "ValidationErrorMessage", + "Reference": "Your request is not valid!", + "Target": "" + }, + { + "LocalizationKey": "ValidationNarrativeErrorMessageTitle", + "Reference": "The following errors were detected during validation.", + "Target": "" + }, + { + "LocalizationKey": "DefaultErrorMessage", + "Reference": "An error has occurred!", + "Target": "" + }, + { + "LocalizationKey": "DefaultErrorMessageDetail", + "Reference": "Error detail not sent by server.", + "Target": "" + }, + { + "LocalizationKey": "DefaultErrorMessage401", + "Reference": "You are not authenticated!", + "Target": "" + }, + { + "LocalizationKey": "DefaultErrorMessage401Detail", + "Reference": "You should sign in to perform this operation.", + "Target": "" + }, + { + "LocalizationKey": "DefaultErrorMessage403", + "Reference": "You are not authorized!", + "Target": "" + }, + { + "LocalizationKey": "DefaultErrorMessage403Detail", + "Reference": "You are not allowed to perform this operation!", + "Target": "" + }, + { + "LocalizationKey": "DefaultErrorMessage404", + "Reference": "Resource not found!", + "Target": "" + }, + { + "LocalizationKey": "DefaultErrorMessage404Detail", + "Reference": "The resource requested could not found on the server!", + "Target": "" + }, + { + "LocalizationKey": "EntityNotFoundErrorMessage", + "Reference": "There is no entity {0} with id = {1}!", + "Target": "" + }, + { + "LocalizationKey": "Languages", + "Reference": "Languages", + "Target": "" + }, + { + "LocalizationKey": "Error", + "Reference": "Error", + "Target": "" + }, + { + "LocalizationKey": "AreYouSure", + "Reference": "Are you sure?", + "Target": "" + }, + { + "LocalizationKey": "Cancel", + "Reference": "Cancel", + "Target": "" + }, + { + "LocalizationKey": "Yes", + "Reference": "Yes", + "Target": "" + }, + { + "LocalizationKey": "No", + "Reference": "No", + "Target": "" + }, + { + "LocalizationKey": "Ok", + "Reference": "Ok", + "Target": "" + }, + { + "LocalizationKey": "Close", + "Reference": "Close", + "Target": "" + }, + { + "LocalizationKey": "Save", + "Reference": "Save", + "Target": "" + }, + { + "LocalizationKey": "SavingWithThreeDot", + "Reference": "Saving...", + "Target": "" + }, + { + "LocalizationKey": "Actions", + "Reference": "Actions", + "Target": "" + }, + { + "LocalizationKey": "Delete", + "Reference": "Delete", + "Target": "" + }, + { + "LocalizationKey": "Edit", + "Reference": "Edit", + "Target": "" + }, + { + "LocalizationKey": "Refresh", + "Reference": "Refresh", + "Target": "" + }, + { + "LocalizationKey": "Language", + "Reference": "Language", + "Target": "" + }, + { + "LocalizationKey": "LoadMore", + "Reference": "Load more", + "Target": "" + }, + { + "LocalizationKey": "ProcessingWithThreeDot", + "Reference": "Processing...", + "Target": "" + }, + { + "LocalizationKey": "LoadingWithThreeDot", + "Reference": "Loading...", + "Target": "" + }, + { + "LocalizationKey": "Welcome", + "Reference": "Welcome", + "Target": "" + }, + { + "LocalizationKey": "Login", + "Reference": "Login", + "Target": "" + }, + { + "LocalizationKey": "Register", + "Reference": "Register", + "Target": "" + }, + { + "LocalizationKey": "Logout", + "Reference": "Log out", + "Target": "" + }, + { + "LocalizationKey": "Submit", + "Reference": "Submit", + "Target": "" + }, + { + "LocalizationKey": "Back", + "Reference": "Back", + "Target": "" + }, + { + "LocalizationKey": "PagerSearch", + "Reference": "Search", + "Target": "" + }, + { + "LocalizationKey": "PagerNext", + "Reference": "Next", + "Target": "" + }, + { + "LocalizationKey": "PagerPrevious", + "Reference": "Previous", + "Target": "" + }, + { + "LocalizationKey": "PagerFirst", + "Reference": "First", + "Target": "" + }, + { + "LocalizationKey": "PagerLast", + "Reference": "Last", + "Target": "" + }, + { + "LocalizationKey": "PagerInfo", + "Reference": "Showing _START_ to _END_ of _TOTAL_ entries", + "Target": "" + }, + { + "LocalizationKey": "PagerInfo{0}{1}{2}", + "Reference": "Showing {0} to {1} of {2} entries", + "Target": "" + }, + { + "LocalizationKey": "PagerInfoEmpty", + "Reference": "Showing 0 to 0 of 0 entries", + "Target": "" + }, + { + "LocalizationKey": "PagerInfoFiltered", + "Reference": "(filtered from _MAX_ total entries)", + "Target": "" + }, + { + "LocalizationKey": "NoDataAvailableInDatatable", + "Reference": "No data available", + "Target": "" + }, + { + "LocalizationKey": "Total", + "Reference": "total", + "Target": "" + }, + { + "LocalizationKey": "Selected", + "Reference": "selected", + "Target": "" + }, + { + "LocalizationKey": "PagerShowMenuEntries", + "Reference": "Show _MENU_ entries", + "Target": "" + }, + { + "LocalizationKey": "DatatableActionDropdownDefaultText", + "Reference": "Actions", + "Target": "" + }, + { + "LocalizationKey": "ChangePassword", + "Reference": "Change password", + "Target": "" + }, + { + "LocalizationKey": "PersonalInfo", + "Reference": "My profile", + "Target": "" + }, + { + "LocalizationKey": "AreYouSureYouWantToCancelEditingWarningMessage", + "Reference": "You have unsaved changes.", + "Target": "" + }, + { + "LocalizationKey": "UnhandledException", + "Reference": "Unhandled exception!", + "Target": "" + }, + { + "LocalizationKey": "401Message", + "Reference": "Unauthorized", + "Target": "" + }, + { + "LocalizationKey": "403Message", + "Reference": "Forbidden", + "Target": "" + }, + { + "LocalizationKey": "404Message", + "Reference": "Page not found", + "Target": "" + }, + { + "LocalizationKey": "500Message", + "Reference": "Internal Server Error", + "Target": "" + }, + { + "LocalizationKey": "GoHomePage", + "Reference": "Go to the homepage", + "Target": "" + }, + { + "LocalizationKey": "GoBack", + "Reference": "Go back", + "Target": "" + }, + { + "LocalizationKey": "Search", + "Reference": "Search", + "Target": "" + } + ] + }, + { + "ResourcePath": "G:\\source\\repos\\abp\\framework\\src\\Volo.Abp.Emailing\\Volo\\Abp\\Emailing\\Localization", + "Texts": [ + { + "LocalizationKey": "DisplayName:Abp.Mailing.DefaultFromAddress", + "Reference": "Default from address", + "Target": "" + }, + { + "LocalizationKey": "DisplayName:Abp.Mailing.DefaultFromDisplayName", + "Reference": "Default from display name", + "Target": "" + }, + { + "LocalizationKey": "DisplayName:Abp.Mailing.Smtp.Host", + "Reference": "Host", + "Target": "" + }, + { + "LocalizationKey": "DisplayName:Abp.Mailing.Smtp.Port", + "Reference": "Port", + "Target": "" + }, + { + "LocalizationKey": "DisplayName:Abp.Mailing.Smtp.UserName", + "Reference": "User name", + "Target": "" + }, + { + "LocalizationKey": "DisplayName:Abp.Mailing.Smtp.Password", + "Reference": "Password", + "Target": "" + }, + { + "LocalizationKey": "DisplayName:Abp.Mailing.Smtp.Domain", + "Reference": "Domain", + "Target": "" + }, + { + "LocalizationKey": "DisplayName:Abp.Mailing.Smtp.EnableSsl", + "Reference": "Enable SSL", + "Target": "" + }, + { + "LocalizationKey": "DisplayName:Abp.Mailing.Smtp.UseDefaultCredentials", + "Reference": "Use default credentials", + "Target": "" + }, + { + "LocalizationKey": "Description:Abp.Mailing.DefaultFromAddress", + "Reference": "The default from address", + "Target": "" + }, + { + "LocalizationKey": "Description:Abp.Mailing.DefaultFromDisplayName", + "Reference": "The default from display name", + "Target": "" + }, + { + "LocalizationKey": "Description:Abp.Mailing.Smtp.Host", + "Reference": "The name or IP address of the host used for SMTP transactions.", + "Target": "" + }, + { + "LocalizationKey": "Description:Abp.Mailing.Smtp.Port", + "Reference": "The port used for SMTP transactions.", + "Target": "" + }, + { + "LocalizationKey": "Description:Abp.Mailing.Smtp.UserName", + "Reference": "User name associated with the credentials.", + "Target": "" + }, + { + "LocalizationKey": "Description:Abp.Mailing.Smtp.Password", + "Reference": "The password for the user name associated with the credentials.", + "Target": "" + }, + { + "LocalizationKey": "Description:Abp.Mailing.Smtp.Domain", + "Reference": "The domain or computer name that verifies the credentials.", + "Target": "" + }, + { + "LocalizationKey": "Description:Abp.Mailing.Smtp.EnableSsl", + "Reference": "Whether the SmtpClient uses Secure Sockets Layer (SSL) to encrypt the connection.", + "Target": "" + }, + { + "LocalizationKey": "Description:Abp.Mailing.Smtp.UseDefaultCredentials", + "Reference": "Whether the DefaultCredentials are sent with requests.", + "Target": "" + }, + { + "LocalizationKey": "TextTemplate:StandardEmailTemplates.Layout", + "Reference": "Default email layout template", + "Target": "" + }, + { + "LocalizationKey": "TextTemplate:StandardEmailTemplates.Message", + "Reference": "Simple message template for emails", + "Target": "" + } + ] + }, + { + "ResourcePath": "G:\\source\\repos\\abp\\framework\\src\\Volo.Abp.Timing\\Volo\\Abp\\Timing\\Localization", + "Texts": [ + { + "LocalizationKey": "DisplayName:Abp.Timing.Timezone", + "Reference": "Timezone", + "Target": "" + }, + { + "LocalizationKey": "Description:Abp.Timing.Timezone", + "Reference": "Application time zone", + "Target": "" + } + ] + }, + { + "ResourcePath": "G:\\source\\repos\\abp\\framework\\src\\Volo.Abp.Validation\\Volo\\Abp\\Validation\\Localization", + "Texts": [ + { + "LocalizationKey": "'{0}' and '{1}' do not match.", + "Reference": "'{0}' and '{1}' do not match.", + "Target": "" + }, + { + "LocalizationKey": "The {0} field is not a valid credit card number.", + "Reference": "The {0} field is not a valid credit card number.", + "Target": "" + }, + { + "LocalizationKey": "{0} is not valid.", + "Reference": "{0} is not valid.", + "Target": "" + }, + { + "LocalizationKey": "The {0} field is not a valid e-mail address.", + "Reference": "The {0} field is not a valid e-mail address.", + "Target": "" + }, + { + "LocalizationKey": "The {0} field only accepts files with the following extensions: {1}", + "Reference": "The {0} field only accepts files with the following extensions: {1}", + "Target": "" + }, + { + "LocalizationKey": "The field {0} must be a string or array type with a maximum length of '{1}'.", + "Reference": "The field {0} must be a string or array type with a maximum length of '{1}'.", + "Target": "" + }, + { + "LocalizationKey": "The field {0} must be a string or array type with a minimum length of '{1}'.", + "Reference": "The field {0} must be a string or array type with a minimum length of '{1}'.", + "Target": "" + }, + { + "LocalizationKey": "The {0} field is not a valid phone number.", + "Reference": "The {0} field is not a valid phone number.", + "Target": "" + }, + { + "LocalizationKey": "The field {0} must be between {1} and {2}.", + "Reference": "The field {0} must be between {1} and {2}.", + "Target": "" + }, + { + "LocalizationKey": "The field {0} must match the regular expression '{1}'.", + "Reference": "The field {0} does not match the requested format.", + "Target": "" + }, + { + "LocalizationKey": "The {0} field is required.", + "Reference": "The {0} field is required.", + "Target": "" + }, + { + "LocalizationKey": "The field {0} must be a string with a maximum length of {1}.", + "Reference": "The field {0} must be a string with a maximum length of {1}.", + "Target": "" + }, + { + "LocalizationKey": "The field {0} must be a string with a minimum length of {2} and a maximum length of {1}.", + "Reference": "The field {0} must be a string with a minimum length of {2} and a maximum length of {1}.", + "Target": "" + }, + { + "LocalizationKey": "The {0} field is not a valid fully-qualified http, https, or ftp URL.", + "Reference": "The {0} field is not a valid fully-qualified http, https, or ftp URL.", + "Target": "" + }, + { + "LocalizationKey": "The field {0} is invalid.", + "Reference": "The field {0} is invalid.", + "Target": "" + }, + { + "LocalizationKey": "ThisFieldIsNotAValidCreditCardNumber.", + "Reference": "This field is not a valid credit card number.", + "Target": "" + }, + { + "LocalizationKey": "ThisFieldIsNotValid.", + "Reference": "This field is not valid.", + "Target": "" + }, + { + "LocalizationKey": "ThisFieldIsNotAValidEmailAddress.", + "Reference": "This field is not a valid e-mail address.", + "Target": "" + }, + { + "LocalizationKey": "ThisFieldOnlyAcceptsFilesWithTheFollowingExtensions:{0}", + "Reference": "This field only accepts files with the following extensions: {0}", + "Target": "" + }, + { + "LocalizationKey": "ThisFieldMustBeAStringOrArrayTypeWithAMaximumLengthOf{0}", + "Reference": "This field must be a string or array type with a maximum length of '{0}'.", + "Target": "" + }, + { + "LocalizationKey": "ThisFieldMustBeAStringOrArrayTypeWithAMinimumLengthOf{0}", + "Reference": "This field must be a string or array type with a minimum length of '{0}'.", + "Target": "" + }, + { + "LocalizationKey": "ThisFieldIsNotAValidPhoneNumber.", + "Reference": "This field is not a valid phone number.", + "Target": "" + }, + { + "LocalizationKey": "ThisFieldMustBeBetween{0}And{1}", + "Reference": "This field must be between {0} and {1}.", + "Target": "" + }, + { + "LocalizationKey": "ThisFieldMustMatchTheRegularExpression{0}", + "Reference": "This field must match the regular expression '{0}'.", + "Target": "" + }, + { + "LocalizationKey": "ThisFieldIsRequired.", + "Reference": "This field is required.", + "Target": "" + }, + { + "LocalizationKey": "ThisFieldMustBeAStringWithAMaximumLengthOf{0}", + "Reference": "This field must be a string with a maximum length of {0}.", + "Target": "" + }, + { + "LocalizationKey": "ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}", + "Reference": "This field must be a string with a minimum length of {1} and a maximum length of {0}.", + "Target": "" + }, + { + "LocalizationKey": "ThisFieldIsNotAValidFullyQualifiedHttpHttpsOrFtpUrl", + "Reference": "This field is not a valid fully-qualified http, https, or ftp URL.", + "Target": "" + }, + { + "LocalizationKey": "ThisFieldIsInvalid.", + "Reference": "This field is invalid.", + "Target": "" + } + ] + }, + { + "ResourcePath": "G:\\source\\repos\\abp\\framework\\test\\Volo.Abp.Emailing.Tests\\Volo\\Abp\\Emailing\\Localization", + "Texts": [ + { + "LocalizationKey": "hello", + "Reference": "Hello", + "Target": "" + } + ] + }, + { + "ResourcePath": "G:\\source\\repos\\abp\\framework\\test\\Volo.Abp.TextTemplating.Tests\\Volo\\Abp\\TextTemplating\\Localization", + "Texts": [ + { + "LocalizationKey": "HelloText", + "Reference": "Hello {0}", + "Target": "" + }, + { + "LocalizationKey": "HowAreYou", + "Reference": "how are you?", + "Target": "" + } + ] + }, + { + "ResourcePath": "G:\\source\\repos\\abp\\framework\\src\\Volo.Abp.Localization\\Volo\\Abp\\Localization\\Resources\\AbpLocalization", + "Texts": [ + { + "LocalizationKey": "DisplayName:Abp.Localization.DefaultLanguage", + "Reference": "Default language", + "Target": "" + }, + { + "LocalizationKey": "Description:Abp.Localization.DefaultLanguage", + "Reference": "The default language of the application.", + "Target": "" + } + ] + }, + { + "ResourcePath": "G:\\source\\repos\\abp\\framework\\test\\Volo.Abp.Localization.Tests\\Volo\\Abp\\Localization\\TestResources\\Source", + "Texts": [ + { + "LocalizationKey": "Hello {0}.", + "Reference": "Hello {0}.", + "Target": "" + }, + { + "LocalizationKey": "Car", + "Reference": "Car", + "Target": "" + }, + { + "LocalizationKey": "CarPlural", + "Reference": "Cars", + "Target": "" + }, + { + "LocalizationKey": "MaxLenghtErrorMessage", + "Reference": "This field's length can be maximum of '{0}' chars", + "Target": "" + }, + { + "LocalizationKey": "Universe", + "Reference": "Universe", + "Target": "" + }, + { + "LocalizationKey": "FortyTwo", + "Reference": "Forty Two", + "Target": "" + } + ] + }, + { + "ResourcePath": "G:\\source\\repos\\abp\\framework\\test\\Volo.Abp.Localization.Tests\\Volo\\Abp\\Localization\\TestResources\\SourceExt", + "Texts": [ + { + "LocalizationKey": "SeeYou", + "Reference": "See you", + "Target": "" + } + ] + }, + { + "ResourcePath": "G:\\source\\repos\\abp\\framework\\src\\Volo.Abp.Ddd.Application.Contracts\\Volo\\Abp\\Application\\Localization\\Resources\\AbpDdd", + "Texts": [ + { + "LocalizationKey": "MaxResultCountExceededExceptionMessage", + "Reference": "{0} can not be more than {1}! Increase {2}.{3} on the server side to allow more results.", + "Target": "" + } + ] + }, + { + "ResourcePath": "G:\\source\\repos\\abp\\framework\\src\\Volo.Abp.UI.Navigation\\Volo\\Abp\\Ui\\Navigation\\Localization\\Resource", + "Texts": [ + { + "LocalizationKey": "Menu:Administration", + "Reference": "Administration", + "Target": "" + } + ] + }, + { + "ResourcePath": "G:\\source\\repos\\abp\\framework\\test\\Volo.Abp.AspNetCore.Mvc.Tests\\Volo\\Abp\\AspNetCore\\Mvc\\Localization\\Resource", + "Texts": [ + { + "LocalizationKey": "BirthDate", + "Reference": "Birth date", + "Target": "" + }, + { + "LocalizationKey": "Value1", + "Reference": "Value One", + "Target": "" + } + ] + }, + { + "ResourcePath": "G:\\source\\repos\\abp\\framework\\test\\Volo.Abp.Localization.Tests\\Volo\\Abp\\Localization\\TestResources\\Base\\CountryNames", + "Texts": [ + { + "LocalizationKey": "USA", + "Reference": "United States of America", + "Target": "" + }, + { + "LocalizationKey": "Brazil", + "Reference": "Brazil", + "Target": "" + } + ] + }, + { + "ResourcePath": "G:\\source\\repos\\abp\\framework\\test\\Volo.Abp.Localization.Tests\\Volo\\Abp\\Localization\\TestResources\\Base\\Validation", + "Texts": [ + { + "LocalizationKey": "ThisFieldIsRequired", + "Reference": "This field is required", + "Target": "" + }, + { + "LocalizationKey": "MaxLenghtErrorMessage", + "Reference": "This field can be maximum of '{0}' chars", + "Target": "" + } + ] + }, + { + "ResourcePath": "G:\\source\\repos\\abp\\framework\\src\\Volo.Abp.AspNetCore.Mvc.UI.MultiTenancy\\Volo\\Abp\\AspNetCore\\Mvc\\UI\\MultiTenancy\\Localization", + "Texts": [ + { + "LocalizationKey": "GivenTenantIsNotAvailable", + "Reference": "Given tenant is not available: {0}", + "Target": "" + }, + { + "LocalizationKey": "Tenant", + "Reference": "Tenant", + "Target": "" + }, + { + "LocalizationKey": "Switch", + "Reference": "switch", + "Target": "" + }, + { + "LocalizationKey": "Name", + "Reference": "Name", + "Target": "" + }, + { + "LocalizationKey": "SwitchTenantHint", + "Reference": "Leave the name field blank to switch to the host side.", + "Target": "" + }, + { + "LocalizationKey": "SwitchTenant", + "Reference": "Switch tenant", + "Target": "" + }, + { + "LocalizationKey": "NotSelected", + "Reference": "Not selected", + "Target": "" + } + ] + } + ] +} \ No newline at end of file diff --git a/framework/src/Volo.Abp.Emailing/Volo/Abp/Emailing/Localization/ar.json b/framework/src/Volo.Abp.Emailing/Volo/Abp/Emailing/Localization/ar.json index 23b8e152d7..a4bcaee0a2 100644 --- a/framework/src/Volo.Abp.Emailing/Volo/Abp/Emailing/Localization/ar.json +++ b/framework/src/Volo.Abp.Emailing/Volo/Abp/Emailing/Localization/ar.json @@ -1,4 +1,4 @@ -{ +{ "culture": "ar", "texts": { "DisplayName:Abp.Mailing.DefaultFromAddress": "العنوان الإفتراضي", @@ -18,6 +18,8 @@ "Description:Abp.Mailing.Smtp.Password": "كلمة المرور لاسم المستخدم المرتبط ببيانات الاعتماد.", "Description:Abp.Mailing.Smtp.Domain": "اسم المجال أو الكمبيوتر الذي يتحقق من بيانات الاعتماد.", "Description:Abp.Mailing.Smtp.EnableSsl": "ما إذا كان SmtpClient يستخدم (SSL) لتشفير الاتصال.", - "Description:Abp.Mailing.Smtp.UseDefaultCredentials": "إرسال الصلاحيات الافتراضية مع الطلب." + "Description:Abp.Mailing.Smtp.UseDefaultCredentials": "إرسال الصلاحيات الافتراضية مع الطلب.", + "TextTemplate:StandardEmailTemplates.Layout": "نموذج تخطيط إفتراضي للبريد الإلكتروني", + "TextTemplate:StandardEmailTemplates.Message": "نموذج بسيط للرسائل الإلكترونية" } } \ No newline at end of file diff --git a/framework/src/Volo.Abp.Timing/Volo/Abp/Timing/Localization/ar.json b/framework/src/Volo.Abp.Timing/Volo/Abp/Timing/Localization/ar.json new file mode 100644 index 0000000000..7b8ddf6919 --- /dev/null +++ b/framework/src/Volo.Abp.Timing/Volo/Abp/Timing/Localization/ar.json @@ -0,0 +1,7 @@ +{ + "culture": "ar", + "texts": { + "DisplayName:Abp.Timing.Timezone": "المنطقة زمنية", + "Description:Abp.Timing.Timezone": "المنطقة الزمنية للتطبيق" + } +} \ No newline at end of file diff --git a/framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/ar.json b/framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/ar.json index ea35628dc7..ec51f85510 100644 --- a/framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/ar.json +++ b/framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/ar.json @@ -1,4 +1,4 @@ -{ +{ "culture": "ar", "texts": { "InternalServerErrorMessage": "حدث خطأ داخلي أثناء طلبك!", @@ -47,6 +47,8 @@ "PagerInfoEmpty": "عرض 0 الي 0 من 0 إدخالات", "PagerInfoFiltered": "(تمت تصفيته من _MAX_ مجموع الإدخالات)", "NoDataAvailableInDatatable": "لا توجد بيانات متاحة في الجدول", + "Total": "مجموع", + "Selected": "مختارة", "PagerShowMenuEntries": "عرض _MENU_ إدخالات", "DatatableActionDropdownDefaultText": "أجراءات", "ChangePassword": "تغيير كلمة السر", @@ -61,4 +63,4 @@ "GoBack": "عد", "Search": "بحث" } -} +} \ No newline at end of file diff --git a/framework/src/Volo.Abp.Validation/Volo/Abp/Validation/Localization/ar.json b/framework/src/Volo.Abp.Validation/Volo/Abp/Validation/Localization/ar.json index 1ef7e01b34..2cdb6999b5 100644 --- a/framework/src/Volo.Abp.Validation/Volo/Abp/Validation/Localization/ar.json +++ b/framework/src/Volo.Abp.Validation/Volo/Abp/Validation/Localization/ar.json @@ -1,34 +1,34 @@ { "culture": "ar", "texts": { - "'{0}' and '{1}' do not match.": "'{0}' and '{1}' do not match.", - "The {0} field is not a valid credit card number.": "The {0} field is not a valid credit card number.", - "{0} is not valid.": "{0} is not valid.", - "The {0} field is not a valid e-mail address.": "The {0} field is not a valid e-mail address.", - "The {0} field only accepts files with the following extensions: {1}": "The {0} field only accepts files with the following extensions: {1}", - "The field {0} must be a string or array type with a maximum length of '{1}'.": "The field {0} must be a string or array type with a maximum length of '{1}'.", - "The field {0} must be a string or array type with a minimum length of '{1}'.": "The field {0} must be a string or array type with a minimum length of '{1}'.", - "The {0} field is not a valid phone number.": "The {0} field is not a valid phone number.", - "The field {0} must be between {1} and {2}.": "The field {0} must be between {1} and {2}.", - "The field {0} must match the regular expression '{1}'.": "The field {0} must match the regular expression '{1}'.", - "The {0} field is required.": "The {0} field is required.", - "The field {0} must be a string with a maximum length of {1}.": "The field {0} must be a string with a maximum length of {1}.", - "The field {0} must be a string with a minimum length of {2} and a maximum length of {1}.": "The field {0} must be a string with a minimum length of {2} and a maximum length of {1}.", - "The {0} field is not a valid fully-qualified http, https, or ftp URL.": "The {0} field is not a valid fully-qualified http, https, or ftp URL.", - "The field {0} is invalid.": "The field {0} is invalid.", - "ThisFieldIsNotAValidCreditCardNumber.": "This field is not a valid credit card number.", - "ThisFieldIsNotValid.": "This field is not valid.", - "ThisFieldIsNotAValidEmailAddress.": "This field is not a valid e-mail address.", - "ThisFieldOnlyAcceptsFilesWithTheFollowingExtensions:{0}": "This field only accepts files with the following extensions: {0}", - "ThisFieldMustBeAStringOrArrayTypeWithAMaximumLengthoOf{0}": "This field must be a string or array type with a maximum length of '{0}'.", - "ThisFieldMustBeAStringOrArrayTypeWithAMinimumLengthOf{0}": "This field must be a string or array type with a minimum length of '{0}'.", - "ThisFieldIsNotAValidPhoneNumber.": "This field is not a valid phone number.", - "ThisFieldMustBeBetween{0}And{1}": "This field must be between {0} and {1}.", - "ThisFieldMustMatchTheRegularExpression{0}": "This field must match the regular expression '{0}'.", - "ThisFieldIsRequired.": "This field is required.", - "ThisFieldMustBeAStringWithAMaximumLengthOf{0}": "This field must be a string with a maximum length of {0}.", - "ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}": "This field must be a string with a minimum length of {1} and a maximum length of {0}.", - "ThisFieldIsNotAValidFullyQualifiedHttpHttpsOrFtpUrl": "This field is not a valid fully-qualified http, https, or ftp URL.", - "ThisFieldIsInvalid.": "This field is invalid." + "'{0}' and '{1}' do not match.": "'{0}' و '{1}' غير متطابقان", + "The {0} field is not a valid credit card number.": "الحقل {0} لا يمثل رقم بطاقة ائتمان صالح.", + "{0} is not valid.": "{0} غير صالح.", + "The {0} field is not a valid e-mail address.": "الحقل {0} لا يمثل عنوان بريد إلكتروني صالح.", + "The {0} field only accepts files with the following extensions: {1}": "الحقل {0} يقبل الملفات ذات الامتدادات التالية فقط: {1}", + "The field {0} must be a string or array type with a maximum length of '{1}'.": "يجب أن يكون الحقل {0} عبارة عن سلسلة أو صفيف طوله '{1}' كحد أقصى.", + "The field {0} must be a string or array type with a minimum length of '{1}'.": "يجب أن يكون الحقل {0} عبارة عن سلسلة أو صفيف طوله كحد أدنى '{1}'.", + "The {0} field is not a valid phone number.": "الحقل {0} لا يمثل رقم هاتف صالح.", + "The field {0} must be between {1} and {2}.": "يجب أن يكون الحقل {0} بين {1} و {2}.", + "The field {0} must match the regular expression '{1}'.": "يجب أن يتطابق الحقل {0} مع التعبير النمطي '{1}'.", + "The {0} field is required.": "الحقل {0} إجباري.", + "The field {0} must be a string with a maximum length of {1}.": "يجب أن يكون الحقل {0} سلسلة أحرف طولها كحد أقصى {1}.", + "The field {0} must be a string with a minimum length of {2} and a maximum length of {1}.": "يجب أن يكون الحقل {0} سلسلة أحرف طولها {1} كحد أدنى و {2} كحد أقصى.", + "The {0} field is not a valid fully-qualified http, https, or ftp URL.": "الحقل {0} ليس عنوانا URL صالحًا مؤهلاً بالكامل سواء كان عنوان http أو https أو ftp", + "The field {0} is invalid.": "الحقل {0} غير صالح.", + "ThisFieldIsNotAValidCreditCardNumber.": "هذا الحقل لا يمثل رقم بطاقة ائتمان صالح.", + "ThisFieldIsNotValid.": "هذا الحقل غير صالح.", + "ThisFieldIsNotAValidEmailAddress.": "هذا الحقل لا يمثل عنوان بريد إلكتروني صالح.", + "ThisFieldOnlyAcceptsFilesWithTheFollowingExtensions:{0}": "هذا الحقل يقبل الملفات ذات الامتدادات التالية فقط: {0}", + "ThisFieldMustBeAStringOrArrayTypeWithAMaximumLengthOf{0}": "هذا الحقل يجب أن يكون سلسلة أحرف أو صفيف لا يتعدى طوله '{0}'.", + "ThisFieldMustBeAStringOrArrayTypeWithAMinimumLengthOf{0}": " هذا الحقل يجب أن يكون عبارة عن سلسلة أو صفيف طوله كحد أدنى '{0}'.", + "ThisFieldIsNotAValidPhoneNumber.": "هذا الحقل لا يمثل رقم هاتف صالح.", + "ThisFieldMustBeBetween{0}And{1}": "هذا الحقل يجب أن يكون بين {0} و {1}.", + "ThisFieldMustMatchTheRegularExpression{0}": "هذا الحقل يجب أن يتطابق مع التعبير النمطي '{0}'.", + "ThisFieldIsRequired.": "هذا الحقل إجباري.", + "ThisFieldMustBeAStringWithAMaximumLengthOf{0}": "هذا الحقل يجب أن يكون سلسلة أحرف طولها كحد أقصى {0}.", + "ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}": "هذا الحقل يجب أن يكون سلسلة أحرف طولها {0} كحد أدنى و {1} كحد أقصى.", + "ThisFieldIsNotAValidFullyQualifiedHttpHttpsOrFtpUrl": "هذا الحقل ليس عنوانا URL صالحًا مؤهلاً بالكامل سواء كان عنوان http أو https أو ftp", + "ThisFieldIsInvalid.": "هذا الحقل غير صالح." } } \ No newline at end of file diff --git a/framework/test/Volo.Abp.TextTemplating.Tests/Volo/Abp/TextTemplating/Localization/ar.json b/framework/test/Volo.Abp.TextTemplating.Tests/Volo/Abp/TextTemplating/Localization/ar.json new file mode 100644 index 0000000000..31a75bad8b --- /dev/null +++ b/framework/test/Volo.Abp.TextTemplating.Tests/Volo/Abp/TextTemplating/Localization/ar.json @@ -0,0 +1,7 @@ +{ + "culture": "ar", + "texts": { + "HelloText": "مرحبا {0}", + "HowAreYou": "كيف حالكم ؟" + } +} \ No newline at end of file From 5c845fc9af2ba4e2e6cc7bfaec070d2efa4a786b Mon Sep 17 00:00:00 2001 From: Farouk Belhocine Date: Wed, 29 Jul 2020 16:07:14 +0100 Subject: [PATCH 33/43] removing no needed transaltion file --- framework/abp-translation-fr.json | 776 ------------------------------ 1 file changed, 776 deletions(-) delete mode 100644 framework/abp-translation-fr.json diff --git a/framework/abp-translation-fr.json b/framework/abp-translation-fr.json deleted file mode 100644 index 8a2e51de69..0000000000 --- a/framework/abp-translation-fr.json +++ /dev/null @@ -1,776 +0,0 @@ -{ - "ReferenceCulture": "en", - "TargetCulture": "fr", - "Resources": [ - { - "ResourcePath": "G:\\source\\repos\\abp\\framework\\src\\Volo.Abp.UI\\Localization\\Resources\\AbpUi", - "Texts": [ - { - "LocalizationKey": "InternalServerErrorMessage", - "Reference": "An internal error occurred during your request!", - "Target": "" - }, - { - "LocalizationKey": "ValidationErrorMessage", - "Reference": "Your request is not valid!", - "Target": "" - }, - { - "LocalizationKey": "ValidationNarrativeErrorMessageTitle", - "Reference": "The following errors were detected during validation.", - "Target": "" - }, - { - "LocalizationKey": "DefaultErrorMessage", - "Reference": "An error has occurred!", - "Target": "" - }, - { - "LocalizationKey": "DefaultErrorMessageDetail", - "Reference": "Error detail not sent by server.", - "Target": "" - }, - { - "LocalizationKey": "DefaultErrorMessage401", - "Reference": "You are not authenticated!", - "Target": "" - }, - { - "LocalizationKey": "DefaultErrorMessage401Detail", - "Reference": "You should sign in to perform this operation.", - "Target": "" - }, - { - "LocalizationKey": "DefaultErrorMessage403", - "Reference": "You are not authorized!", - "Target": "" - }, - { - "LocalizationKey": "DefaultErrorMessage403Detail", - "Reference": "You are not allowed to perform this operation!", - "Target": "" - }, - { - "LocalizationKey": "DefaultErrorMessage404", - "Reference": "Resource not found!", - "Target": "" - }, - { - "LocalizationKey": "DefaultErrorMessage404Detail", - "Reference": "The resource requested could not found on the server!", - "Target": "" - }, - { - "LocalizationKey": "EntityNotFoundErrorMessage", - "Reference": "There is no entity {0} with id = {1}!", - "Target": "" - }, - { - "LocalizationKey": "Languages", - "Reference": "Languages", - "Target": "" - }, - { - "LocalizationKey": "Error", - "Reference": "Error", - "Target": "" - }, - { - "LocalizationKey": "AreYouSure", - "Reference": "Are you sure?", - "Target": "" - }, - { - "LocalizationKey": "Cancel", - "Reference": "Cancel", - "Target": "" - }, - { - "LocalizationKey": "Yes", - "Reference": "Yes", - "Target": "" - }, - { - "LocalizationKey": "No", - "Reference": "No", - "Target": "" - }, - { - "LocalizationKey": "Ok", - "Reference": "Ok", - "Target": "" - }, - { - "LocalizationKey": "Close", - "Reference": "Close", - "Target": "" - }, - { - "LocalizationKey": "Save", - "Reference": "Save", - "Target": "" - }, - { - "LocalizationKey": "SavingWithThreeDot", - "Reference": "Saving...", - "Target": "" - }, - { - "LocalizationKey": "Actions", - "Reference": "Actions", - "Target": "" - }, - { - "LocalizationKey": "Delete", - "Reference": "Delete", - "Target": "" - }, - { - "LocalizationKey": "Edit", - "Reference": "Edit", - "Target": "" - }, - { - "LocalizationKey": "Refresh", - "Reference": "Refresh", - "Target": "" - }, - { - "LocalizationKey": "Language", - "Reference": "Language", - "Target": "" - }, - { - "LocalizationKey": "LoadMore", - "Reference": "Load more", - "Target": "" - }, - { - "LocalizationKey": "ProcessingWithThreeDot", - "Reference": "Processing...", - "Target": "" - }, - { - "LocalizationKey": "LoadingWithThreeDot", - "Reference": "Loading...", - "Target": "" - }, - { - "LocalizationKey": "Welcome", - "Reference": "Welcome", - "Target": "" - }, - { - "LocalizationKey": "Login", - "Reference": "Login", - "Target": "" - }, - { - "LocalizationKey": "Register", - "Reference": "Register", - "Target": "" - }, - { - "LocalizationKey": "Logout", - "Reference": "Log out", - "Target": "" - }, - { - "LocalizationKey": "Submit", - "Reference": "Submit", - "Target": "" - }, - { - "LocalizationKey": "Back", - "Reference": "Back", - "Target": "" - }, - { - "LocalizationKey": "PagerSearch", - "Reference": "Search", - "Target": "" - }, - { - "LocalizationKey": "PagerNext", - "Reference": "Next", - "Target": "" - }, - { - "LocalizationKey": "PagerPrevious", - "Reference": "Previous", - "Target": "" - }, - { - "LocalizationKey": "PagerFirst", - "Reference": "First", - "Target": "" - }, - { - "LocalizationKey": "PagerLast", - "Reference": "Last", - "Target": "" - }, - { - "LocalizationKey": "PagerInfo", - "Reference": "Showing _START_ to _END_ of _TOTAL_ entries", - "Target": "" - }, - { - "LocalizationKey": "PagerInfo{0}{1}{2}", - "Reference": "Showing {0} to {1} of {2} entries", - "Target": "" - }, - { - "LocalizationKey": "PagerInfoEmpty", - "Reference": "Showing 0 to 0 of 0 entries", - "Target": "" - }, - { - "LocalizationKey": "PagerInfoFiltered", - "Reference": "(filtered from _MAX_ total entries)", - "Target": "" - }, - { - "LocalizationKey": "NoDataAvailableInDatatable", - "Reference": "No data available", - "Target": "" - }, - { - "LocalizationKey": "Total", - "Reference": "total", - "Target": "" - }, - { - "LocalizationKey": "Selected", - "Reference": "selected", - "Target": "" - }, - { - "LocalizationKey": "PagerShowMenuEntries", - "Reference": "Show _MENU_ entries", - "Target": "" - }, - { - "LocalizationKey": "DatatableActionDropdownDefaultText", - "Reference": "Actions", - "Target": "" - }, - { - "LocalizationKey": "ChangePassword", - "Reference": "Change password", - "Target": "" - }, - { - "LocalizationKey": "PersonalInfo", - "Reference": "My profile", - "Target": "" - }, - { - "LocalizationKey": "AreYouSureYouWantToCancelEditingWarningMessage", - "Reference": "You have unsaved changes.", - "Target": "" - }, - { - "LocalizationKey": "UnhandledException", - "Reference": "Unhandled exception!", - "Target": "" - }, - { - "LocalizationKey": "401Message", - "Reference": "Unauthorized", - "Target": "" - }, - { - "LocalizationKey": "403Message", - "Reference": "Forbidden", - "Target": "" - }, - { - "LocalizationKey": "404Message", - "Reference": "Page not found", - "Target": "" - }, - { - "LocalizationKey": "500Message", - "Reference": "Internal Server Error", - "Target": "" - }, - { - "LocalizationKey": "GoHomePage", - "Reference": "Go to the homepage", - "Target": "" - }, - { - "LocalizationKey": "GoBack", - "Reference": "Go back", - "Target": "" - }, - { - "LocalizationKey": "Search", - "Reference": "Search", - "Target": "" - } - ] - }, - { - "ResourcePath": "G:\\source\\repos\\abp\\framework\\src\\Volo.Abp.Emailing\\Volo\\Abp\\Emailing\\Localization", - "Texts": [ - { - "LocalizationKey": "DisplayName:Abp.Mailing.DefaultFromAddress", - "Reference": "Default from address", - "Target": "" - }, - { - "LocalizationKey": "DisplayName:Abp.Mailing.DefaultFromDisplayName", - "Reference": "Default from display name", - "Target": "" - }, - { - "LocalizationKey": "DisplayName:Abp.Mailing.Smtp.Host", - "Reference": "Host", - "Target": "" - }, - { - "LocalizationKey": "DisplayName:Abp.Mailing.Smtp.Port", - "Reference": "Port", - "Target": "" - }, - { - "LocalizationKey": "DisplayName:Abp.Mailing.Smtp.UserName", - "Reference": "User name", - "Target": "" - }, - { - "LocalizationKey": "DisplayName:Abp.Mailing.Smtp.Password", - "Reference": "Password", - "Target": "" - }, - { - "LocalizationKey": "DisplayName:Abp.Mailing.Smtp.Domain", - "Reference": "Domain", - "Target": "" - }, - { - "LocalizationKey": "DisplayName:Abp.Mailing.Smtp.EnableSsl", - "Reference": "Enable SSL", - "Target": "" - }, - { - "LocalizationKey": "DisplayName:Abp.Mailing.Smtp.UseDefaultCredentials", - "Reference": "Use default credentials", - "Target": "" - }, - { - "LocalizationKey": "Description:Abp.Mailing.DefaultFromAddress", - "Reference": "The default from address", - "Target": "" - }, - { - "LocalizationKey": "Description:Abp.Mailing.DefaultFromDisplayName", - "Reference": "The default from display name", - "Target": "" - }, - { - "LocalizationKey": "Description:Abp.Mailing.Smtp.Host", - "Reference": "The name or IP address of the host used for SMTP transactions.", - "Target": "" - }, - { - "LocalizationKey": "Description:Abp.Mailing.Smtp.Port", - "Reference": "The port used for SMTP transactions.", - "Target": "" - }, - { - "LocalizationKey": "Description:Abp.Mailing.Smtp.UserName", - "Reference": "User name associated with the credentials.", - "Target": "" - }, - { - "LocalizationKey": "Description:Abp.Mailing.Smtp.Password", - "Reference": "The password for the user name associated with the credentials.", - "Target": "" - }, - { - "LocalizationKey": "Description:Abp.Mailing.Smtp.Domain", - "Reference": "The domain or computer name that verifies the credentials.", - "Target": "" - }, - { - "LocalizationKey": "Description:Abp.Mailing.Smtp.EnableSsl", - "Reference": "Whether the SmtpClient uses Secure Sockets Layer (SSL) to encrypt the connection.", - "Target": "" - }, - { - "LocalizationKey": "Description:Abp.Mailing.Smtp.UseDefaultCredentials", - "Reference": "Whether the DefaultCredentials are sent with requests.", - "Target": "" - }, - { - "LocalizationKey": "TextTemplate:StandardEmailTemplates.Layout", - "Reference": "Default email layout template", - "Target": "" - }, - { - "LocalizationKey": "TextTemplate:StandardEmailTemplates.Message", - "Reference": "Simple message template for emails", - "Target": "" - } - ] - }, - { - "ResourcePath": "G:\\source\\repos\\abp\\framework\\src\\Volo.Abp.Timing\\Volo\\Abp\\Timing\\Localization", - "Texts": [ - { - "LocalizationKey": "DisplayName:Abp.Timing.Timezone", - "Reference": "Timezone", - "Target": "" - }, - { - "LocalizationKey": "Description:Abp.Timing.Timezone", - "Reference": "Application time zone", - "Target": "" - } - ] - }, - { - "ResourcePath": "G:\\source\\repos\\abp\\framework\\src\\Volo.Abp.Validation\\Volo\\Abp\\Validation\\Localization", - "Texts": [ - { - "LocalizationKey": "'{0}' and '{1}' do not match.", - "Reference": "'{0}' and '{1}' do not match.", - "Target": "" - }, - { - "LocalizationKey": "The {0} field is not a valid credit card number.", - "Reference": "The {0} field is not a valid credit card number.", - "Target": "" - }, - { - "LocalizationKey": "{0} is not valid.", - "Reference": "{0} is not valid.", - "Target": "" - }, - { - "LocalizationKey": "The {0} field is not a valid e-mail address.", - "Reference": "The {0} field is not a valid e-mail address.", - "Target": "" - }, - { - "LocalizationKey": "The {0} field only accepts files with the following extensions: {1}", - "Reference": "The {0} field only accepts files with the following extensions: {1}", - "Target": "" - }, - { - "LocalizationKey": "The field {0} must be a string or array type with a maximum length of '{1}'.", - "Reference": "The field {0} must be a string or array type with a maximum length of '{1}'.", - "Target": "" - }, - { - "LocalizationKey": "The field {0} must be a string or array type with a minimum length of '{1}'.", - "Reference": "The field {0} must be a string or array type with a minimum length of '{1}'.", - "Target": "" - }, - { - "LocalizationKey": "The {0} field is not a valid phone number.", - "Reference": "The {0} field is not a valid phone number.", - "Target": "" - }, - { - "LocalizationKey": "The field {0} must be between {1} and {2}.", - "Reference": "The field {0} must be between {1} and {2}.", - "Target": "" - }, - { - "LocalizationKey": "The field {0} must match the regular expression '{1}'.", - "Reference": "The field {0} does not match the requested format.", - "Target": "" - }, - { - "LocalizationKey": "The {0} field is required.", - "Reference": "The {0} field is required.", - "Target": "" - }, - { - "LocalizationKey": "The field {0} must be a string with a maximum length of {1}.", - "Reference": "The field {0} must be a string with a maximum length of {1}.", - "Target": "" - }, - { - "LocalizationKey": "The field {0} must be a string with a minimum length of {2} and a maximum length of {1}.", - "Reference": "The field {0} must be a string with a minimum length of {2} and a maximum length of {1}.", - "Target": "" - }, - { - "LocalizationKey": "The {0} field is not a valid fully-qualified http, https, or ftp URL.", - "Reference": "The {0} field is not a valid fully-qualified http, https, or ftp URL.", - "Target": "" - }, - { - "LocalizationKey": "The field {0} is invalid.", - "Reference": "The field {0} is invalid.", - "Target": "" - }, - { - "LocalizationKey": "ThisFieldIsNotAValidCreditCardNumber.", - "Reference": "This field is not a valid credit card number.", - "Target": "" - }, - { - "LocalizationKey": "ThisFieldIsNotValid.", - "Reference": "This field is not valid.", - "Target": "" - }, - { - "LocalizationKey": "ThisFieldIsNotAValidEmailAddress.", - "Reference": "This field is not a valid e-mail address.", - "Target": "" - }, - { - "LocalizationKey": "ThisFieldOnlyAcceptsFilesWithTheFollowingExtensions:{0}", - "Reference": "This field only accepts files with the following extensions: {0}", - "Target": "" - }, - { - "LocalizationKey": "ThisFieldMustBeAStringOrArrayTypeWithAMaximumLengthOf{0}", - "Reference": "This field must be a string or array type with a maximum length of '{0}'.", - "Target": "" - }, - { - "LocalizationKey": "ThisFieldMustBeAStringOrArrayTypeWithAMinimumLengthOf{0}", - "Reference": "This field must be a string or array type with a minimum length of '{0}'.", - "Target": "" - }, - { - "LocalizationKey": "ThisFieldIsNotAValidPhoneNumber.", - "Reference": "This field is not a valid phone number.", - "Target": "" - }, - { - "LocalizationKey": "ThisFieldMustBeBetween{0}And{1}", - "Reference": "This field must be between {0} and {1}.", - "Target": "" - }, - { - "LocalizationKey": "ThisFieldMustMatchTheRegularExpression{0}", - "Reference": "This field must match the regular expression '{0}'.", - "Target": "" - }, - { - "LocalizationKey": "ThisFieldIsRequired.", - "Reference": "This field is required.", - "Target": "" - }, - { - "LocalizationKey": "ThisFieldMustBeAStringWithAMaximumLengthOf{0}", - "Reference": "This field must be a string with a maximum length of {0}.", - "Target": "" - }, - { - "LocalizationKey": "ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}", - "Reference": "This field must be a string with a minimum length of {1} and a maximum length of {0}.", - "Target": "" - }, - { - "LocalizationKey": "ThisFieldIsNotAValidFullyQualifiedHttpHttpsOrFtpUrl", - "Reference": "This field is not a valid fully-qualified http, https, or ftp URL.", - "Target": "" - }, - { - "LocalizationKey": "ThisFieldIsInvalid.", - "Reference": "This field is invalid.", - "Target": "" - } - ] - }, - { - "ResourcePath": "G:\\source\\repos\\abp\\framework\\test\\Volo.Abp.Emailing.Tests\\Volo\\Abp\\Emailing\\Localization", - "Texts": [ - { - "LocalizationKey": "hello", - "Reference": "Hello", - "Target": "" - } - ] - }, - { - "ResourcePath": "G:\\source\\repos\\abp\\framework\\test\\Volo.Abp.TextTemplating.Tests\\Volo\\Abp\\TextTemplating\\Localization", - "Texts": [ - { - "LocalizationKey": "HelloText", - "Reference": "Hello {0}", - "Target": "" - }, - { - "LocalizationKey": "HowAreYou", - "Reference": "how are you?", - "Target": "" - } - ] - }, - { - "ResourcePath": "G:\\source\\repos\\abp\\framework\\src\\Volo.Abp.Localization\\Volo\\Abp\\Localization\\Resources\\AbpLocalization", - "Texts": [ - { - "LocalizationKey": "DisplayName:Abp.Localization.DefaultLanguage", - "Reference": "Default language", - "Target": "" - }, - { - "LocalizationKey": "Description:Abp.Localization.DefaultLanguage", - "Reference": "The default language of the application.", - "Target": "" - } - ] - }, - { - "ResourcePath": "G:\\source\\repos\\abp\\framework\\test\\Volo.Abp.Localization.Tests\\Volo\\Abp\\Localization\\TestResources\\Source", - "Texts": [ - { - "LocalizationKey": "Hello {0}.", - "Reference": "Hello {0}.", - "Target": "" - }, - { - "LocalizationKey": "Car", - "Reference": "Car", - "Target": "" - }, - { - "LocalizationKey": "CarPlural", - "Reference": "Cars", - "Target": "" - }, - { - "LocalizationKey": "MaxLenghtErrorMessage", - "Reference": "This field's length can be maximum of '{0}' chars", - "Target": "" - }, - { - "LocalizationKey": "Universe", - "Reference": "Universe", - "Target": "" - }, - { - "LocalizationKey": "FortyTwo", - "Reference": "Forty Two", - "Target": "" - } - ] - }, - { - "ResourcePath": "G:\\source\\repos\\abp\\framework\\test\\Volo.Abp.Localization.Tests\\Volo\\Abp\\Localization\\TestResources\\SourceExt", - "Texts": [ - { - "LocalizationKey": "SeeYou", - "Reference": "See you", - "Target": "" - } - ] - }, - { - "ResourcePath": "G:\\source\\repos\\abp\\framework\\src\\Volo.Abp.Ddd.Application.Contracts\\Volo\\Abp\\Application\\Localization\\Resources\\AbpDdd", - "Texts": [ - { - "LocalizationKey": "MaxResultCountExceededExceptionMessage", - "Reference": "{0} can not be more than {1}! Increase {2}.{3} on the server side to allow more results.", - "Target": "" - } - ] - }, - { - "ResourcePath": "G:\\source\\repos\\abp\\framework\\src\\Volo.Abp.UI.Navigation\\Volo\\Abp\\Ui\\Navigation\\Localization\\Resource", - "Texts": [ - { - "LocalizationKey": "Menu:Administration", - "Reference": "Administration", - "Target": "" - } - ] - }, - { - "ResourcePath": "G:\\source\\repos\\abp\\framework\\test\\Volo.Abp.AspNetCore.Mvc.Tests\\Volo\\Abp\\AspNetCore\\Mvc\\Localization\\Resource", - "Texts": [ - { - "LocalizationKey": "BirthDate", - "Reference": "Birth date", - "Target": "" - }, - { - "LocalizationKey": "Value1", - "Reference": "Value One", - "Target": "" - } - ] - }, - { - "ResourcePath": "G:\\source\\repos\\abp\\framework\\test\\Volo.Abp.Localization.Tests\\Volo\\Abp\\Localization\\TestResources\\Base\\CountryNames", - "Texts": [ - { - "LocalizationKey": "USA", - "Reference": "United States of America", - "Target": "" - }, - { - "LocalizationKey": "Brazil", - "Reference": "Brazil", - "Target": "" - } - ] - }, - { - "ResourcePath": "G:\\source\\repos\\abp\\framework\\test\\Volo.Abp.Localization.Tests\\Volo\\Abp\\Localization\\TestResources\\Base\\Validation", - "Texts": [ - { - "LocalizationKey": "ThisFieldIsRequired", - "Reference": "This field is required", - "Target": "" - }, - { - "LocalizationKey": "MaxLenghtErrorMessage", - "Reference": "This field can be maximum of '{0}' chars", - "Target": "" - } - ] - }, - { - "ResourcePath": "G:\\source\\repos\\abp\\framework\\src\\Volo.Abp.AspNetCore.Mvc.UI.MultiTenancy\\Volo\\Abp\\AspNetCore\\Mvc\\UI\\MultiTenancy\\Localization", - "Texts": [ - { - "LocalizationKey": "GivenTenantIsNotAvailable", - "Reference": "Given tenant is not available: {0}", - "Target": "" - }, - { - "LocalizationKey": "Tenant", - "Reference": "Tenant", - "Target": "" - }, - { - "LocalizationKey": "Switch", - "Reference": "switch", - "Target": "" - }, - { - "LocalizationKey": "Name", - "Reference": "Name", - "Target": "" - }, - { - "LocalizationKey": "SwitchTenantHint", - "Reference": "Leave the name field blank to switch to the host side.", - "Target": "" - }, - { - "LocalizationKey": "SwitchTenant", - "Reference": "Switch tenant", - "Target": "" - }, - { - "LocalizationKey": "NotSelected", - "Reference": "Not selected", - "Target": "" - } - ] - } - ] -} \ No newline at end of file From b78e7c2cdb88803d63f55731d1eeb6eafc41a3db Mon Sep 17 00:00:00 2001 From: erolarkat Date: Wed, 29 Jul 2020 20:00:33 +0300 Subject: [PATCH 34/43] Upgrade ng package versions --- npm/ng-packs/lerna.version.json | 2 +- npm/ng-packs/packages/account/package.json | 4 ++-- npm/ng-packs/packages/core/package.json | 2 +- npm/ng-packs/packages/feature-management/package.json | 4 ++-- npm/ng-packs/packages/identity/package.json | 6 +++--- npm/ng-packs/packages/permission-management/package.json | 4 ++-- npm/ng-packs/packages/setting-management/package.json | 4 ++-- npm/ng-packs/packages/tenant-management/package.json | 6 +++--- npm/ng-packs/packages/theme-basic/package.json | 4 ++-- npm/ng-packs/packages/theme-shared/package.json | 4 ++-- 10 files changed, 20 insertions(+), 20 deletions(-) diff --git a/npm/ng-packs/lerna.version.json b/npm/ng-packs/lerna.version.json index fdb5f39cbf..20edebc30f 100644 --- a/npm/ng-packs/lerna.version.json +++ b/npm/ng-packs/lerna.version.json @@ -1,5 +1,5 @@ { - "version": "3.0.4", + "version": "3.0.5", "packages": [ "packages/*" ], diff --git a/npm/ng-packs/packages/account/package.json b/npm/ng-packs/packages/account/package.json index 7cde8b409a..3d257a3a89 100644 --- a/npm/ng-packs/packages/account/package.json +++ b/npm/ng-packs/packages/account/package.json @@ -1,13 +1,13 @@ { "name": "@abp/ng.account", - "version": "3.0.4", + "version": "3.0.5", "homepage": "https://abp.io", "repository": { "type": "git", "url": "https://github.com/abpframework/abp.git" }, "dependencies": { - "@abp/ng.theme.shared": "~3.0.4", + "@abp/ng.theme.shared": "~3.0.5", "tslib": "^2.0.0" }, "publishConfig": { diff --git a/npm/ng-packs/packages/core/package.json b/npm/ng-packs/packages/core/package.json index 131f3031e0..caa69a3dd1 100644 --- a/npm/ng-packs/packages/core/package.json +++ b/npm/ng-packs/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@abp/ng.core", - "version": "3.0.4", + "version": "3.0.5", "homepage": "https://abp.io", "repository": { "type": "git", diff --git a/npm/ng-packs/packages/feature-management/package.json b/npm/ng-packs/packages/feature-management/package.json index 012c9fa5c0..ba69aa30eb 100644 --- a/npm/ng-packs/packages/feature-management/package.json +++ b/npm/ng-packs/packages/feature-management/package.json @@ -1,13 +1,13 @@ { "name": "@abp/ng.feature-management", - "version": "3.0.4", + "version": "3.0.5", "homepage": "https://abp.io", "repository": { "type": "git", "url": "https://github.com/abpframework/abp.git" }, "dependencies": { - "@abp/ng.theme.shared": "~3.0.4", + "@abp/ng.theme.shared": "~3.0.5", "tslib": "^2.0.0" }, "publishConfig": { diff --git a/npm/ng-packs/packages/identity/package.json b/npm/ng-packs/packages/identity/package.json index 9277b0dfcf..8f87f07827 100644 --- a/npm/ng-packs/packages/identity/package.json +++ b/npm/ng-packs/packages/identity/package.json @@ -1,14 +1,14 @@ { "name": "@abp/ng.identity", - "version": "3.0.4", + "version": "3.0.5", "homepage": "https://abp.io", "repository": { "type": "git", "url": "https://github.com/abpframework/abp.git" }, "dependencies": { - "@abp/ng.permission-management": "~3.0.4", - "@abp/ng.theme.shared": "~3.0.4", + "@abp/ng.permission-management": "~3.0.5", + "@abp/ng.theme.shared": "~3.0.5", "tslib": "^2.0.0" }, "publishConfig": { diff --git a/npm/ng-packs/packages/permission-management/package.json b/npm/ng-packs/packages/permission-management/package.json index 9eaed1cd60..5b5f028083 100644 --- a/npm/ng-packs/packages/permission-management/package.json +++ b/npm/ng-packs/packages/permission-management/package.json @@ -1,13 +1,13 @@ { "name": "@abp/ng.permission-management", - "version": "3.0.4", + "version": "3.0.5", "homepage": "https://abp.io", "repository": { "type": "git", "url": "https://github.com/abpframework/abp.git" }, "dependencies": { - "@abp/ng.theme.shared": "~3.0.4", + "@abp/ng.theme.shared": "~3.0.5", "tslib": "^2.0.0" }, "publishConfig": { diff --git a/npm/ng-packs/packages/setting-management/package.json b/npm/ng-packs/packages/setting-management/package.json index bee053b480..0819239b4e 100644 --- a/npm/ng-packs/packages/setting-management/package.json +++ b/npm/ng-packs/packages/setting-management/package.json @@ -1,13 +1,13 @@ { "name": "@abp/ng.setting-management", - "version": "3.0.4", + "version": "3.0.5", "homepage": "https://abp.io", "repository": { "type": "git", "url": "https://github.com/abpframework/abp.git" }, "dependencies": { - "@abp/ng.theme.shared": "~3.0.4", + "@abp/ng.theme.shared": "~3.0.5", "tslib": "^2.0.0" }, "publishConfig": { diff --git a/npm/ng-packs/packages/tenant-management/package.json b/npm/ng-packs/packages/tenant-management/package.json index ad4c289cd4..e6cae67f3e 100644 --- a/npm/ng-packs/packages/tenant-management/package.json +++ b/npm/ng-packs/packages/tenant-management/package.json @@ -1,14 +1,14 @@ { "name": "@abp/ng.tenant-management", - "version": "3.0.4", + "version": "3.0.5", "homepage": "https://abp.io", "repository": { "type": "git", "url": "https://github.com/abpframework/abp.git" }, "dependencies": { - "@abp/ng.feature-management": "~3.0.4", - "@abp/ng.theme.shared": "~3.0.4", + "@abp/ng.feature-management": "~3.0.5", + "@abp/ng.theme.shared": "~3.0.5", "tslib": "^2.0.0" }, "publishConfig": { diff --git a/npm/ng-packs/packages/theme-basic/package.json b/npm/ng-packs/packages/theme-basic/package.json index 85fd419ec1..34ce1d0879 100644 --- a/npm/ng-packs/packages/theme-basic/package.json +++ b/npm/ng-packs/packages/theme-basic/package.json @@ -1,13 +1,13 @@ { "name": "@abp/ng.theme.basic", - "version": "3.0.4", + "version": "3.0.5", "homepage": "https://abp.io", "repository": { "type": "git", "url": "https://github.com/abpframework/abp.git" }, "dependencies": { - "@abp/ng.theme.shared": "~3.0.4", + "@abp/ng.theme.shared": "~3.0.5", "tslib": "^2.0.0" }, "publishConfig": { diff --git a/npm/ng-packs/packages/theme-shared/package.json b/npm/ng-packs/packages/theme-shared/package.json index d1b4be2dd7..1558f1c824 100644 --- a/npm/ng-packs/packages/theme-shared/package.json +++ b/npm/ng-packs/packages/theme-shared/package.json @@ -1,13 +1,13 @@ { "name": "@abp/ng.theme.shared", - "version": "3.0.4", + "version": "3.0.5", "homepage": "https://abp.io", "repository": { "type": "git", "url": "https://github.com/abpframework/abp.git" }, "dependencies": { - "@abp/ng.core": "~3.0.4", + "@abp/ng.core": "~3.0.5", "@fortawesome/fontawesome-free": "^5.13.1", "@ng-bootstrap/ng-bootstrap": "^6.1.0", "@ngx-validate/core": "^0.0.10", From f570151803c8cf040567d11e16405a78e46d9f90 Mon Sep 17 00:00:00 2001 From: erolarkat Date: Wed, 29 Jul 2020 20:12:07 +0300 Subject: [PATCH 35/43] npm packages 3.0.5 --- .../package.json | 2 +- .../yarn.lock | 222 ++++++------ .../package.json | 2 +- .../yarn.lock | 236 ++++++------- .../app/Volo.BloggingTestApp/package.json | 4 +- .../app/Volo.BloggingTestApp/yarn.lock | 330 +++++++++--------- .../Volo.ClientSimulation.Demo/package.json | 2 +- .../demo/Volo.ClientSimulation.Demo/yarn.lock | 236 ++++++------- modules/docs/app/VoloDocs.Web/package.json | 4 +- modules/docs/app/VoloDocs.Web/yarn.lock | 296 ++++++++-------- npm/lerna.json | 2 +- npm/ng-packs/package.json | 20 +- npm/ng-packs/packages/core/package.json | 2 +- npm/ng-packs/yarn.lock | 124 +++---- npm/packs/anchor-js/package.json | 4 +- .../package.json | 4 +- .../package.json | 30 +- npm/packs/aspnetcore.mvc.ui/package.json | 2 +- npm/packs/blogging/package.json | 10 +- npm/packs/bootstrap-datepicker/package.json | 2 +- npm/packs/bootstrap/package.json | 4 +- npm/packs/chart.js/package.json | 2 +- npm/packs/clipboard/package.json | 4 +- npm/packs/codemirror/package.json | 4 +- npm/packs/core/package.json | 4 +- npm/packs/datatables.net-bs4/package.json | 4 +- npm/packs/datatables.net/package.json | 4 +- npm/packs/docs/package.json | 12 +- npm/packs/flag-icon-css/package.json | 2 +- npm/packs/font-awesome/package.json | 4 +- npm/packs/highlight.js/package.json | 4 +- npm/packs/jquery-form/package.json | 4 +- .../package.json | 4 +- npm/packs/jquery-validation/package.json | 4 +- npm/packs/jquery/package.json | 4 +- npm/packs/jstree/package.json | 4 +- npm/packs/lodash/package.json | 4 +- npm/packs/luxon/package.json | 2 +- .../package.json | 4 +- npm/packs/markdown-it/package.json | 4 +- npm/packs/owl.carousel/package.json | 4 +- npm/packs/popper.js/package.json | 4 +- npm/packs/prismjs/package.json | 6 +- npm/packs/select2/package.json | 4 +- npm/packs/signalr/package.json | 4 +- npm/packs/sweetalert/package.json | 4 +- npm/packs/timeago/package.json | 4 +- npm/packs/toastr/package.json | 4 +- npm/packs/tui-editor/package.json | 10 +- npm/packs/uppy/package.json | 4 +- npm/packs/utils/package.json | 2 +- npm/packs/virtual-file-explorer/package.json | 6 +- .../applications/AuthServer.Host/package.json | 2 +- .../applications/AuthServer.Host/yarn.lock | 236 ++++++------- .../BackendAdminApp.Host/package.json | 2 +- .../BackendAdminApp.Host/yarn.lock | 236 ++++++------- .../PublicWebSite.Host/package.json | 4 +- .../applications/PublicWebSite.Host/yarn.lock | 330 +++++++++--------- templates/app/angular/package.json | 10 +- .../package.json | 2 +- .../yarn.lock | 236 ++++++------- .../package.json | 2 +- .../yarn.lock | 236 ++++++------- .../package.json | 2 +- .../yarn.lock | 236 ++++++------- .../package.json | 2 +- .../MyCompanyName.MyProjectName.Web/yarn.lock | 236 ++++++------- templates/module/angular/package.json | 10 +- .../projects/my-project-name/package.json | 4 +- .../package.json | 2 +- .../yarn.lock | 236 ++++++------- .../package.json | 2 +- .../yarn.lock | 236 ++++++------- .../package.json | 2 +- .../yarn.lock | 236 ++++++------- 75 files changed, 2086 insertions(+), 2086 deletions(-) diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/package.json b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/package.json index 16b087d9d9..9838b50651 100644 --- a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/package.json +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/package.json @@ -3,7 +3,7 @@ "name": "asp.net", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.shared": "^3.0.4", + "@abp/aspnetcore.mvc.ui.theme.shared": "^3.0.5", "highlight.js": "^9.13.1" }, "devDependencies": {} diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/yarn.lock b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/yarn.lock index 72471a0d99..3399733e18 100644 --- a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/yarn.lock +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/yarn.lock @@ -2,30 +2,30 @@ # yarn lockfile v1 -"@abp/aspnetcore.mvc.ui.theme.shared@^3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-3.0.4.tgz#50db612b6492d36c63dd9042000a9fb00fecec54" - integrity sha512-imd2T5XXkNvGQyXV/A9hA80qSeurKaUcW6HDkte8Y2fs4QfvkjgzWXi7neqF6F+HVbYYPg3rIBWC6QF1OXGn2w== - dependencies: - "@abp/aspnetcore.mvc.ui" "~3.0.4" - "@abp/bootstrap" "~3.0.4" - "@abp/bootstrap-datepicker" "~3.0.4" - "@abp/datatables.net-bs4" "~3.0.4" - "@abp/font-awesome" "~3.0.4" - "@abp/jquery-form" "~3.0.4" - "@abp/jquery-validation-unobtrusive" "~3.0.4" - "@abp/lodash" "~3.0.4" - "@abp/luxon" "~3.0.4" - "@abp/malihu-custom-scrollbar-plugin" "~3.0.4" - "@abp/select2" "~3.0.4" - "@abp/sweetalert" "~3.0.4" - "@abp/timeago" "~3.0.4" - "@abp/toastr" "~3.0.4" - -"@abp/aspnetcore.mvc.ui@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-3.0.4.tgz#4e4344d95a98a60c53037b351cb915d8ff7a7dcb" - integrity sha512-p7KI5CKkpD4EYzG4fCtygrtZhwMu7Z+IZFGbdqXelLbI5ACkbJyrn+N+9trPfS9papymeXY4p1E3v6xOH7rSHQ== +"@abp/aspnetcore.mvc.ui.theme.shared@^3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-3.0.5.tgz#5b370902cf229963f9aa10dd64482d57299dde76" + integrity sha512-iobAH39xrCdnqdaABaiYZg4lqNSOwPkMCLnyc+ytxOMbu/YnNKahXPmRhgd8dR/l+iQY1+6T4SWfLdGswi3gAg== + dependencies: + "@abp/aspnetcore.mvc.ui" "~3.0.5" + "@abp/bootstrap" "~3.0.5" + "@abp/bootstrap-datepicker" "~3.0.5" + "@abp/datatables.net-bs4" "~3.0.5" + "@abp/font-awesome" "~3.0.5" + "@abp/jquery-form" "~3.0.5" + "@abp/jquery-validation-unobtrusive" "~3.0.5" + "@abp/lodash" "~3.0.5" + "@abp/luxon" "~3.0.5" + "@abp/malihu-custom-scrollbar-plugin" "~3.0.5" + "@abp/select2" "~3.0.5" + "@abp/sweetalert" "~3.0.5" + "@abp/timeago" "~3.0.5" + "@abp/toastr" "~3.0.5" + +"@abp/aspnetcore.mvc.ui@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-3.0.5.tgz#a050eaee328c56a3730f5abbf25035adf612d6f0" + integrity sha512-/EOgjXTzR+I1OK9KA7L3yzQ2RGSDW97+n3cQrSdLAUF+tnRvMJS0nytDlSJSRK2hb8/clFMaofZHCC81aUkYUg== dependencies: ansi-colors "^4.1.1" extend-object "^1.0.0" @@ -34,144 +34,144 @@ path "^0.12.7" rimraf "^3.0.2" -"@abp/bootstrap-datepicker@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-3.0.4.tgz#d21963f158a4d348a0acdc46209e67378aae8e55" - integrity sha512-25e9qm39dj9AijIchQIdLlBiBM5/fhASkEuLKNt6M8S/e3qwKLwbRhX90DKMFvOyKdxxcK1gX7tDuGHyG9A8mA== +"@abp/bootstrap-datepicker@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-3.0.5.tgz#3a7fd86dbcadc31c11be5b2b31c8cf8ac3035540" + integrity sha512-vIY1wT4RHoJAPhVK11Q5MS71iZbwsmM/0VTBvvs04mjRSSi6xhdyRYkA+l+P49fnOwhZNaaK19XwQdVVScDuhA== dependencies: bootstrap-datepicker "^1.9.0" -"@abp/bootstrap@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-3.0.4.tgz#3b0e2b74dc174a04ce669de1b140df833eee6031" - integrity sha512-DwxL1fGYOwChPwmMpwUxCKiIdzTfRf/YDkOLUiwI8eRrpABBeuE2sSHKfks6Rqh9Wqo/nlWXvfccgDRqweqhsA== +"@abp/bootstrap@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-3.0.5.tgz#91f2c8fe6a57fc5789ae8fe9c206b2c159e55880" + integrity sha512-LdydeJIbw5k1k7FkWaI1lTectZeTXmEIoccJtj9Qx4N9yGt40wGsjz9SOvUdJ0IKAgntIWNQP8ohWiBPgzT7Xg== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" bootstrap "^4.5.0" bootstrap-v4-rtl "4.4.1-2" -"@abp/core@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-3.0.4.tgz#281940525e280e9e3a1aa4cb4e8f64548ea026a3" - integrity sha512-ZPEH1fa5bf/f1ek9ZLQHx7u78iF6kRZ8Z2NBI36cNL13RyQbx485qJF+KXyqNlJoJAh0CAs0NsAJADU3utcDNA== +"@abp/core@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/core/-/core-3.0.5.tgz#9a7bd990d02edc8128a5be3233b6fbb5669b15b8" + integrity sha512-LdkSkZQfN4hugcGNxBkje0+eQomivwNFbnAkMFQbvCwYLwKB2yvk7GCemEetW1piqvyrUGz4jqhtunjoXps5JA== dependencies: - "@abp/utils" "^3.0.4" + "@abp/utils" "^3.0.5" -"@abp/datatables.net-bs4@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-3.0.4.tgz#e488336bd2c199146ea60464e0ba75aeb134957e" - integrity sha512-ID1XWKPxG9pv6mxBkku7JWvgXjTxJ1uShxmYv5kFYVuwOGMSvj8QVZInTHFcMdECopV56yjGPNOIFLeQj4Mw8Q== +"@abp/datatables.net-bs4@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-3.0.5.tgz#9b79935970d2d4074994240b5deb01dff5987c0a" + integrity sha512-jIWRBEG/NlhaE43i6Xzr18XJ5aTWA+WWslf7WgNOArG5slGBbH4lLLja4HswLP3NGdSmzIyHJR1p9XQ82nBkbQ== dependencies: - "@abp/datatables.net" "~3.0.4" + "@abp/datatables.net" "~3.0.5" datatables.net-bs4 "^1.10.21" -"@abp/datatables.net@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-3.0.4.tgz#7ef143b83143ad8d769be25296411a812a17b255" - integrity sha512-gdQwRuxO5fQWhG/DiUaf40DQ8dWIVGhOCyt6SZ8LQzq4uSaQqa0qrtTTTW2/aiee4MgJu2vJWYF5YCszIR/HhA== +"@abp/datatables.net@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-3.0.5.tgz#0a0a39e8fa54522bf8a09ce76ff3927207a79491" + integrity sha512-HClQ2tcZuWBAChf9oOJOtMP1zHv8jqloPEcw3iqbhS/tWZBw5VQ4TO+BVfZsqHDXZNnWSmR6/2xiKsK32nliew== dependencies: - "@abp/jquery" "~3.0.4" + "@abp/jquery" "~3.0.5" datatables.net "^1.10.21" -"@abp/font-awesome@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-3.0.4.tgz#98f83d0bf8b5a2a4d988cb07f5cceda2e1bc1a09" - integrity sha512-AKhKCUXx8vdHIgyXUfbSLitfYor5dJbo4qMRRGqIJVSj+cyMkpgYbGjqr24GGijgZxdmOGL+s1b9iCUbIPgLNQ== +"@abp/font-awesome@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-3.0.5.tgz#62d58c34f0abf268e30bdf788dfbd3f45b19b412" + integrity sha512-/+31Vtw1S9vvuNy/rN/Q6awkgUaYNNYXESgfvqI0pqIkvlPgigvS8E68mHqGzsxyRqdZisI6JGd94AF+vJD7sQ== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" "@fortawesome/fontawesome-free" "^5.13.0" -"@abp/jquery-form@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-3.0.4.tgz#022eebbfe58b55e328984c0f119884c9464bc767" - integrity sha512-xDkk4rY0AmXBJE4qztzr2hZz+OVucVNWeagOEgeQHXJSKU/T+0kj0a1RxEHpyI24xBvEXAbe8PbByTbu0QXYew== +"@abp/jquery-form@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-3.0.5.tgz#9d2ea9b2509448ee163a163298a7a09480865f78" + integrity sha512-RKgvQciaMml33NvzA28aYyfNI+WQHRfKLFWvOvqc8qO4C3BvyrnwepuzZcnI/9UsELKLSLoFrfk3rJHhxnTJhg== dependencies: - "@abp/jquery" "~3.0.4" + "@abp/jquery" "~3.0.5" jquery-form "^4.3.0" -"@abp/jquery-validation-unobtrusive@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-3.0.4.tgz#6cc942aadcdde33893e7a45c84aa022e033e4e8b" - integrity sha512-N9sza91HCyPvJo+d0RAfq4skae3TgAYg7KXhlwzRE2hqUQS+EICVARURWyxJW7s7Zu6+gxDTkXhBZRTW56deZA== +"@abp/jquery-validation-unobtrusive@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-3.0.5.tgz#b8912e1c4cfdd4fdff6ad4aa7ee8693b55a3be1f" + integrity sha512-kPifDA+1ErbeQBwn+BzwtWuTHXzBke/EMCmITuj59plM/60gZ1ZfVm8EzzTmKS7iLaVVeOqTKf0vEQTobNYffw== dependencies: - "@abp/jquery-validation" "~3.0.4" + "@abp/jquery-validation" "~3.0.5" jquery-validation-unobtrusive "^3.2.11" -"@abp/jquery-validation@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-3.0.4.tgz#3f96d1f83c75a7fc47e5e5e12c51dbc8da7582b1" - integrity sha512-2ljqas4YKU0PcwB0wQW2qhXejDHjW+N1XCxZDyCZ2wF9UxGlKBR8rFt76TJByXSotKE7n2hJRZaOh9ICZUow2g== +"@abp/jquery-validation@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-3.0.5.tgz#55e36b3c832a35447fac69af312dedf1dee22279" + integrity sha512-fdqxc5CJ6TpUAF8+NEsKCmXvvZiOPR5bzczcfvfovxLOjvHvdEO74XPGjsjlBNTdaKMhmNGZRK4JRLUz7fvTng== dependencies: - "@abp/jquery" "~3.0.4" + "@abp/jquery" "~3.0.5" jquery-validation "^1.19.2" -"@abp/jquery@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-3.0.4.tgz#5f236d95cfae7f65012cd8778fd74490b7542442" - integrity sha512-g8N8Te5vf+8djdksfZoZ3tXaqlBC4Ra39pAWU/XerlLl64u+XmAX1s6yKRfC2kS8lf292GgiFYuNOkb77J6k4A== +"@abp/jquery@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-3.0.5.tgz#2e43ac19a8df6e1e0220d6d4991d33a93d890754" + integrity sha512-2d2l+smWKAVP4/b6GSO+8rmJ7pFXiUewpBDwkHm5qgkK6n6UGqIcK9lIgiS2YQ6rmL6qdtuNhhqtC9GF2TF2kQ== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" jquery "~3.5.1" -"@abp/lodash@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-3.0.4.tgz#ee60bc99f98b59fd9fc5ff4bbcf914a13faf209d" - integrity sha512-jxvv74Sm/fUKDBMylK4Ne/8GKm7GuHAdcLFtkoJQptdO+RjZpKJ86ULT+X5vbKskZaTj2fEmOR6l4hmfnBULTA== +"@abp/lodash@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-3.0.5.tgz#d5d9f14095d76239bc0e6f9804c24d1f92ffcab4" + integrity sha512-+B2vxfPwxoIIb8Ac8eHi6OgAn0qbjmPZuun7/es0/ouYYTbEhvhTAD20X3PGZlHrIYeDyS2ansuXm8gJI+/BzA== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" lodash "^4.17.15" -"@abp/luxon@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-3.0.4.tgz#aa1bf6a93d6254433101e50a205b276759969414" - integrity sha512-gX9dQJt9C6M1wmCSUIBoNr8CAt0jkUZFQ7LKKO/BoADGM/XFvY5vDbhL7zcwbwitgCOzmucoCxs/6rIxSOVlrg== +"@abp/luxon@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-3.0.5.tgz#083042c939ea58bf719e35114a6c8efb07b68688" + integrity sha512-0UVHO2CO89t34O35OA3JzWGWLBpg+e1NQXSfVtK90nmg/QmzGkHVM9m7Su0jjLNBt3N5EA5OPOhriot3bCKItw== dependencies: luxon "^1.24.1" -"@abp/malihu-custom-scrollbar-plugin@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.0.4.tgz#c54824b98363f4190cc6a37fcd421c2bfdc1e201" - integrity sha512-6LdSGctOr4ACtdohdSlb19vrFNJ5C0hy1VdbBEafHOBspXckvRVx4uJl2KfHmAC+bMg9apoK/wcHjVNdBHThYQ== +"@abp/malihu-custom-scrollbar-plugin@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.0.5.tgz#f908289927a63fd76fb8f60b00a37747d9edbe39" + integrity sha512-3GoXA8VtGyZWKiqaPCipPXYLLM7h2Y5Oecq5c5YlMQyW2akv7uHiQQF2GZW/nVsFu3HBbGTOWpKRRmVk3PEO9Q== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" malihu-custom-scrollbar-plugin "^3.1.5" -"@abp/select2@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-3.0.4.tgz#49db0cfbc9b08f6ae4949b2cb8bdef92d7d308dd" - integrity sha512-zKEgkWBFdGU2KiAMUKhucHqBfzDy2KNSefyqxpOiUd1L3PEKu+9o23HZRWzDupYltop+SO1Jw33CNoVAkKm4+A== +"@abp/select2@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-3.0.5.tgz#79d7754713c64a6549da520dc6867ef3e3dd0350" + integrity sha512-VbeSHdAdDy8exrjplHMMhLVV4oG7Gq9zBb5M52f0sIkA4DkXFhksXHcHNoOCfhaKAXpenGA03Z9GJewZ3MTpMw== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" select2 "^4.0.13" -"@abp/sweetalert@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-3.0.4.tgz#f85d11c5aabc6ceb509af1b8fd8d75bc3c74bd27" - integrity sha512-hO0qXUWxeMy/lfy3sb+5HvOmIPst6UvYJJGy3ZQR6DKEdkOktBX9sEDb7m6ij6xAIHqWIx1xLveul0oGteOG0Q== +"@abp/sweetalert@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-3.0.5.tgz#e3b92d23cf3633983980b6255bf63c43d422ceab" + integrity sha512-OUt4ANgj14GESfRG7+UqdONS8daOu+8x2OZDWv98hriuX0uCVBjwB2J0jRI/n653C68Mi0yHixGONDv9OLy/lg== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" sweetalert "^2.1.2" -"@abp/timeago@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-3.0.4.tgz#82d90a04f703a7db9c0acedcd2f3cea684e7ae18" - integrity sha512-7SbbqScTKCix25xWy5oLT0slJqUQsW6YgJgI0N41C3AsByRBXZeh5Gcep033gprTPmpgNY8JOWcEcCXySnYvfA== +"@abp/timeago@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-3.0.5.tgz#b191a7c43f3dc77645fe27273f2f6619f7d4eb31" + integrity sha512-QhvAOU4C+Qxh/gFuCSGZtLU4KwVhdv/jtK8ovWyqbGvQMCCIimqa8BFKIz0H5XWIJhHwwWblkpjICWgjWh6uXw== dependencies: - "@abp/jquery" "~3.0.4" + "@abp/jquery" "~3.0.5" timeago "^1.6.7" -"@abp/toastr@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-3.0.4.tgz#884ab2343ddd59981c291c632e3b0630532f7e9c" - integrity sha512-NG0pVD8bdIXGpjPW9cozCzmyuAdnSLE4vDYLUReP1pZFp9B8SMJqpgPk9eFg0Y06aaHTVMKYBKRoq9xXS4w9Xg== +"@abp/toastr@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-3.0.5.tgz#fc83b678f5be3a22040d0421ad9db5b2eac9d4fc" + integrity sha512-qgi2DEu6FYpN/DYcOZrmXsAr1HqcIKMhBWeXgjfoYUIl/K5+OuUgbQ69D/jdc0jz8HU9a4Cw7Q8hhe4CkgssEw== dependencies: - "@abp/jquery" "~3.0.4" + "@abp/jquery" "~3.0.5" toastr "^2.1.4" -"@abp/utils@^3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-3.0.4.tgz#38068fa8f735e1889cf2f226128366825948814d" - integrity sha512-TnXRZIZcxv5+EctEPsZEi2cyRXbpl3A679wzQa6BACv+pM45cjGO1JR8P0VswKN4TVL0aQRMv26N6U/uie8sEQ== +"@abp/utils@^3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-3.0.5.tgz#66b3da953500e73ff1f23d1b41168cde8216ce49" + integrity sha512-X9V1xLIEazItaf93nFSA4p94WT6QK3yA4eIyvU7GyyEkkOQdaakNwPbRwy930sd+I+/oXnIqM1vDsJu9QDhgvg== dependencies: just-compare "^1.3.0" diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/package.json b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/package.json index 1cfcdc4382..8f9f972442 100644 --- a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/package.json +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/package.json @@ -3,7 +3,7 @@ "name": "asp.net", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.basic": "^3.0.4" + "@abp/aspnetcore.mvc.ui.theme.basic": "^3.0.5" }, "devDependencies": {} } \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/yarn.lock b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/yarn.lock index 2b6d5dd3e7..b30d4d2f76 100644 --- a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/yarn.lock +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/yarn.lock @@ -2,37 +2,37 @@ # yarn lockfile v1 -"@abp/aspnetcore.mvc.ui.theme.basic@^3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-3.0.4.tgz#c58e3e06ba78279875cf2b5f96d34b83ce09f6df" - integrity sha512-tKKqVRKpwN7P4Mn+he3bcz4Qbt8bkZ++wk6iOujd6HLTkBNa0uKyM4L6+iCn1Hi62S6HeK2Xytx+b+IYeIlsuw== - dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "~3.0.4" - -"@abp/aspnetcore.mvc.ui.theme.shared@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-3.0.4.tgz#50db612b6492d36c63dd9042000a9fb00fecec54" - integrity sha512-imd2T5XXkNvGQyXV/A9hA80qSeurKaUcW6HDkte8Y2fs4QfvkjgzWXi7neqF6F+HVbYYPg3rIBWC6QF1OXGn2w== - dependencies: - "@abp/aspnetcore.mvc.ui" "~3.0.4" - "@abp/bootstrap" "~3.0.4" - "@abp/bootstrap-datepicker" "~3.0.4" - "@abp/datatables.net-bs4" "~3.0.4" - "@abp/font-awesome" "~3.0.4" - "@abp/jquery-form" "~3.0.4" - "@abp/jquery-validation-unobtrusive" "~3.0.4" - "@abp/lodash" "~3.0.4" - "@abp/luxon" "~3.0.4" - "@abp/malihu-custom-scrollbar-plugin" "~3.0.4" - "@abp/select2" "~3.0.4" - "@abp/sweetalert" "~3.0.4" - "@abp/timeago" "~3.0.4" - "@abp/toastr" "~3.0.4" - -"@abp/aspnetcore.mvc.ui@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-3.0.4.tgz#4e4344d95a98a60c53037b351cb915d8ff7a7dcb" - integrity sha512-p7KI5CKkpD4EYzG4fCtygrtZhwMu7Z+IZFGbdqXelLbI5ACkbJyrn+N+9trPfS9papymeXY4p1E3v6xOH7rSHQ== +"@abp/aspnetcore.mvc.ui.theme.basic@^3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-3.0.5.tgz#c146f20226522f0305cc0fa31cfcf9d39be78901" + integrity sha512-ptNhD4xV2wSLW7vQ5KUgaRiH5Ov1OscZW2ZEoivnt3kqgtIC3DGw+SiE9vjFCvyY83fjRkIlW2PIfQxSySbteQ== + dependencies: + "@abp/aspnetcore.mvc.ui.theme.shared" "~3.0.5" + +"@abp/aspnetcore.mvc.ui.theme.shared@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-3.0.5.tgz#5b370902cf229963f9aa10dd64482d57299dde76" + integrity sha512-iobAH39xrCdnqdaABaiYZg4lqNSOwPkMCLnyc+ytxOMbu/YnNKahXPmRhgd8dR/l+iQY1+6T4SWfLdGswi3gAg== + dependencies: + "@abp/aspnetcore.mvc.ui" "~3.0.5" + "@abp/bootstrap" "~3.0.5" + "@abp/bootstrap-datepicker" "~3.0.5" + "@abp/datatables.net-bs4" "~3.0.5" + "@abp/font-awesome" "~3.0.5" + "@abp/jquery-form" "~3.0.5" + "@abp/jquery-validation-unobtrusive" "~3.0.5" + "@abp/lodash" "~3.0.5" + "@abp/luxon" "~3.0.5" + "@abp/malihu-custom-scrollbar-plugin" "~3.0.5" + "@abp/select2" "~3.0.5" + "@abp/sweetalert" "~3.0.5" + "@abp/timeago" "~3.0.5" + "@abp/toastr" "~3.0.5" + +"@abp/aspnetcore.mvc.ui@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-3.0.5.tgz#a050eaee328c56a3730f5abbf25035adf612d6f0" + integrity sha512-/EOgjXTzR+I1OK9KA7L3yzQ2RGSDW97+n3cQrSdLAUF+tnRvMJS0nytDlSJSRK2hb8/clFMaofZHCC81aUkYUg== dependencies: ansi-colors "^4.1.1" extend-object "^1.0.0" @@ -41,144 +41,144 @@ path "^0.12.7" rimraf "^3.0.2" -"@abp/bootstrap-datepicker@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-3.0.4.tgz#d21963f158a4d348a0acdc46209e67378aae8e55" - integrity sha512-25e9qm39dj9AijIchQIdLlBiBM5/fhASkEuLKNt6M8S/e3qwKLwbRhX90DKMFvOyKdxxcK1gX7tDuGHyG9A8mA== +"@abp/bootstrap-datepicker@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-3.0.5.tgz#3a7fd86dbcadc31c11be5b2b31c8cf8ac3035540" + integrity sha512-vIY1wT4RHoJAPhVK11Q5MS71iZbwsmM/0VTBvvs04mjRSSi6xhdyRYkA+l+P49fnOwhZNaaK19XwQdVVScDuhA== dependencies: bootstrap-datepicker "^1.9.0" -"@abp/bootstrap@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-3.0.4.tgz#3b0e2b74dc174a04ce669de1b140df833eee6031" - integrity sha512-DwxL1fGYOwChPwmMpwUxCKiIdzTfRf/YDkOLUiwI8eRrpABBeuE2sSHKfks6Rqh9Wqo/nlWXvfccgDRqweqhsA== +"@abp/bootstrap@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-3.0.5.tgz#91f2c8fe6a57fc5789ae8fe9c206b2c159e55880" + integrity sha512-LdydeJIbw5k1k7FkWaI1lTectZeTXmEIoccJtj9Qx4N9yGt40wGsjz9SOvUdJ0IKAgntIWNQP8ohWiBPgzT7Xg== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" bootstrap "^4.5.0" bootstrap-v4-rtl "4.4.1-2" -"@abp/core@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-3.0.4.tgz#281940525e280e9e3a1aa4cb4e8f64548ea026a3" - integrity sha512-ZPEH1fa5bf/f1ek9ZLQHx7u78iF6kRZ8Z2NBI36cNL13RyQbx485qJF+KXyqNlJoJAh0CAs0NsAJADU3utcDNA== +"@abp/core@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/core/-/core-3.0.5.tgz#9a7bd990d02edc8128a5be3233b6fbb5669b15b8" + integrity sha512-LdkSkZQfN4hugcGNxBkje0+eQomivwNFbnAkMFQbvCwYLwKB2yvk7GCemEetW1piqvyrUGz4jqhtunjoXps5JA== dependencies: - "@abp/utils" "^3.0.4" + "@abp/utils" "^3.0.5" -"@abp/datatables.net-bs4@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-3.0.4.tgz#e488336bd2c199146ea60464e0ba75aeb134957e" - integrity sha512-ID1XWKPxG9pv6mxBkku7JWvgXjTxJ1uShxmYv5kFYVuwOGMSvj8QVZInTHFcMdECopV56yjGPNOIFLeQj4Mw8Q== +"@abp/datatables.net-bs4@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-3.0.5.tgz#9b79935970d2d4074994240b5deb01dff5987c0a" + integrity sha512-jIWRBEG/NlhaE43i6Xzr18XJ5aTWA+WWslf7WgNOArG5slGBbH4lLLja4HswLP3NGdSmzIyHJR1p9XQ82nBkbQ== dependencies: - "@abp/datatables.net" "~3.0.4" + "@abp/datatables.net" "~3.0.5" datatables.net-bs4 "^1.10.21" -"@abp/datatables.net@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-3.0.4.tgz#7ef143b83143ad8d769be25296411a812a17b255" - integrity sha512-gdQwRuxO5fQWhG/DiUaf40DQ8dWIVGhOCyt6SZ8LQzq4uSaQqa0qrtTTTW2/aiee4MgJu2vJWYF5YCszIR/HhA== +"@abp/datatables.net@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-3.0.5.tgz#0a0a39e8fa54522bf8a09ce76ff3927207a79491" + integrity sha512-HClQ2tcZuWBAChf9oOJOtMP1zHv8jqloPEcw3iqbhS/tWZBw5VQ4TO+BVfZsqHDXZNnWSmR6/2xiKsK32nliew== dependencies: - "@abp/jquery" "~3.0.4" + "@abp/jquery" "~3.0.5" datatables.net "^1.10.21" -"@abp/font-awesome@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-3.0.4.tgz#98f83d0bf8b5a2a4d988cb07f5cceda2e1bc1a09" - integrity sha512-AKhKCUXx8vdHIgyXUfbSLitfYor5dJbo4qMRRGqIJVSj+cyMkpgYbGjqr24GGijgZxdmOGL+s1b9iCUbIPgLNQ== +"@abp/font-awesome@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-3.0.5.tgz#62d58c34f0abf268e30bdf788dfbd3f45b19b412" + integrity sha512-/+31Vtw1S9vvuNy/rN/Q6awkgUaYNNYXESgfvqI0pqIkvlPgigvS8E68mHqGzsxyRqdZisI6JGd94AF+vJD7sQ== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" "@fortawesome/fontawesome-free" "^5.13.0" -"@abp/jquery-form@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-3.0.4.tgz#022eebbfe58b55e328984c0f119884c9464bc767" - integrity sha512-xDkk4rY0AmXBJE4qztzr2hZz+OVucVNWeagOEgeQHXJSKU/T+0kj0a1RxEHpyI24xBvEXAbe8PbByTbu0QXYew== +"@abp/jquery-form@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-3.0.5.tgz#9d2ea9b2509448ee163a163298a7a09480865f78" + integrity sha512-RKgvQciaMml33NvzA28aYyfNI+WQHRfKLFWvOvqc8qO4C3BvyrnwepuzZcnI/9UsELKLSLoFrfk3rJHhxnTJhg== dependencies: - "@abp/jquery" "~3.0.4" + "@abp/jquery" "~3.0.5" jquery-form "^4.3.0" -"@abp/jquery-validation-unobtrusive@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-3.0.4.tgz#6cc942aadcdde33893e7a45c84aa022e033e4e8b" - integrity sha512-N9sza91HCyPvJo+d0RAfq4skae3TgAYg7KXhlwzRE2hqUQS+EICVARURWyxJW7s7Zu6+gxDTkXhBZRTW56deZA== +"@abp/jquery-validation-unobtrusive@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-3.0.5.tgz#b8912e1c4cfdd4fdff6ad4aa7ee8693b55a3be1f" + integrity sha512-kPifDA+1ErbeQBwn+BzwtWuTHXzBke/EMCmITuj59plM/60gZ1ZfVm8EzzTmKS7iLaVVeOqTKf0vEQTobNYffw== dependencies: - "@abp/jquery-validation" "~3.0.4" + "@abp/jquery-validation" "~3.0.5" jquery-validation-unobtrusive "^3.2.11" -"@abp/jquery-validation@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-3.0.4.tgz#3f96d1f83c75a7fc47e5e5e12c51dbc8da7582b1" - integrity sha512-2ljqas4YKU0PcwB0wQW2qhXejDHjW+N1XCxZDyCZ2wF9UxGlKBR8rFt76TJByXSotKE7n2hJRZaOh9ICZUow2g== +"@abp/jquery-validation@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-3.0.5.tgz#55e36b3c832a35447fac69af312dedf1dee22279" + integrity sha512-fdqxc5CJ6TpUAF8+NEsKCmXvvZiOPR5bzczcfvfovxLOjvHvdEO74XPGjsjlBNTdaKMhmNGZRK4JRLUz7fvTng== dependencies: - "@abp/jquery" "~3.0.4" + "@abp/jquery" "~3.0.5" jquery-validation "^1.19.2" -"@abp/jquery@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-3.0.4.tgz#5f236d95cfae7f65012cd8778fd74490b7542442" - integrity sha512-g8N8Te5vf+8djdksfZoZ3tXaqlBC4Ra39pAWU/XerlLl64u+XmAX1s6yKRfC2kS8lf292GgiFYuNOkb77J6k4A== +"@abp/jquery@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-3.0.5.tgz#2e43ac19a8df6e1e0220d6d4991d33a93d890754" + integrity sha512-2d2l+smWKAVP4/b6GSO+8rmJ7pFXiUewpBDwkHm5qgkK6n6UGqIcK9lIgiS2YQ6rmL6qdtuNhhqtC9GF2TF2kQ== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" jquery "~3.5.1" -"@abp/lodash@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-3.0.4.tgz#ee60bc99f98b59fd9fc5ff4bbcf914a13faf209d" - integrity sha512-jxvv74Sm/fUKDBMylK4Ne/8GKm7GuHAdcLFtkoJQptdO+RjZpKJ86ULT+X5vbKskZaTj2fEmOR6l4hmfnBULTA== +"@abp/lodash@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-3.0.5.tgz#d5d9f14095d76239bc0e6f9804c24d1f92ffcab4" + integrity sha512-+B2vxfPwxoIIb8Ac8eHi6OgAn0qbjmPZuun7/es0/ouYYTbEhvhTAD20X3PGZlHrIYeDyS2ansuXm8gJI+/BzA== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" lodash "^4.17.15" -"@abp/luxon@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-3.0.4.tgz#aa1bf6a93d6254433101e50a205b276759969414" - integrity sha512-gX9dQJt9C6M1wmCSUIBoNr8CAt0jkUZFQ7LKKO/BoADGM/XFvY5vDbhL7zcwbwitgCOzmucoCxs/6rIxSOVlrg== +"@abp/luxon@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-3.0.5.tgz#083042c939ea58bf719e35114a6c8efb07b68688" + integrity sha512-0UVHO2CO89t34O35OA3JzWGWLBpg+e1NQXSfVtK90nmg/QmzGkHVM9m7Su0jjLNBt3N5EA5OPOhriot3bCKItw== dependencies: luxon "^1.24.1" -"@abp/malihu-custom-scrollbar-plugin@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.0.4.tgz#c54824b98363f4190cc6a37fcd421c2bfdc1e201" - integrity sha512-6LdSGctOr4ACtdohdSlb19vrFNJ5C0hy1VdbBEafHOBspXckvRVx4uJl2KfHmAC+bMg9apoK/wcHjVNdBHThYQ== +"@abp/malihu-custom-scrollbar-plugin@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.0.5.tgz#f908289927a63fd76fb8f60b00a37747d9edbe39" + integrity sha512-3GoXA8VtGyZWKiqaPCipPXYLLM7h2Y5Oecq5c5YlMQyW2akv7uHiQQF2GZW/nVsFu3HBbGTOWpKRRmVk3PEO9Q== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" malihu-custom-scrollbar-plugin "^3.1.5" -"@abp/select2@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-3.0.4.tgz#49db0cfbc9b08f6ae4949b2cb8bdef92d7d308dd" - integrity sha512-zKEgkWBFdGU2KiAMUKhucHqBfzDy2KNSefyqxpOiUd1L3PEKu+9o23HZRWzDupYltop+SO1Jw33CNoVAkKm4+A== +"@abp/select2@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-3.0.5.tgz#79d7754713c64a6549da520dc6867ef3e3dd0350" + integrity sha512-VbeSHdAdDy8exrjplHMMhLVV4oG7Gq9zBb5M52f0sIkA4DkXFhksXHcHNoOCfhaKAXpenGA03Z9GJewZ3MTpMw== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" select2 "^4.0.13" -"@abp/sweetalert@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-3.0.4.tgz#f85d11c5aabc6ceb509af1b8fd8d75bc3c74bd27" - integrity sha512-hO0qXUWxeMy/lfy3sb+5HvOmIPst6UvYJJGy3ZQR6DKEdkOktBX9sEDb7m6ij6xAIHqWIx1xLveul0oGteOG0Q== +"@abp/sweetalert@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-3.0.5.tgz#e3b92d23cf3633983980b6255bf63c43d422ceab" + integrity sha512-OUt4ANgj14GESfRG7+UqdONS8daOu+8x2OZDWv98hriuX0uCVBjwB2J0jRI/n653C68Mi0yHixGONDv9OLy/lg== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" sweetalert "^2.1.2" -"@abp/timeago@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-3.0.4.tgz#82d90a04f703a7db9c0acedcd2f3cea684e7ae18" - integrity sha512-7SbbqScTKCix25xWy5oLT0slJqUQsW6YgJgI0N41C3AsByRBXZeh5Gcep033gprTPmpgNY8JOWcEcCXySnYvfA== +"@abp/timeago@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-3.0.5.tgz#b191a7c43f3dc77645fe27273f2f6619f7d4eb31" + integrity sha512-QhvAOU4C+Qxh/gFuCSGZtLU4KwVhdv/jtK8ovWyqbGvQMCCIimqa8BFKIz0H5XWIJhHwwWblkpjICWgjWh6uXw== dependencies: - "@abp/jquery" "~3.0.4" + "@abp/jquery" "~3.0.5" timeago "^1.6.7" -"@abp/toastr@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-3.0.4.tgz#884ab2343ddd59981c291c632e3b0630532f7e9c" - integrity sha512-NG0pVD8bdIXGpjPW9cozCzmyuAdnSLE4vDYLUReP1pZFp9B8SMJqpgPk9eFg0Y06aaHTVMKYBKRoq9xXS4w9Xg== +"@abp/toastr@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-3.0.5.tgz#fc83b678f5be3a22040d0421ad9db5b2eac9d4fc" + integrity sha512-qgi2DEu6FYpN/DYcOZrmXsAr1HqcIKMhBWeXgjfoYUIl/K5+OuUgbQ69D/jdc0jz8HU9a4Cw7Q8hhe4CkgssEw== dependencies: - "@abp/jquery" "~3.0.4" + "@abp/jquery" "~3.0.5" toastr "^2.1.4" -"@abp/utils@^3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-3.0.4.tgz#38068fa8f735e1889cf2f226128366825948814d" - integrity sha512-TnXRZIZcxv5+EctEPsZEi2cyRXbpl3A679wzQa6BACv+pM45cjGO1JR8P0VswKN4TVL0aQRMv26N6U/uie8sEQ== +"@abp/utils@^3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-3.0.5.tgz#66b3da953500e73ff1f23d1b41168cde8216ce49" + integrity sha512-X9V1xLIEazItaf93nFSA4p94WT6QK3yA4eIyvU7GyyEkkOQdaakNwPbRwy930sd+I+/oXnIqM1vDsJu9QDhgvg== dependencies: just-compare "^1.3.0" diff --git a/modules/blogging/app/Volo.BloggingTestApp/package.json b/modules/blogging/app/Volo.BloggingTestApp/package.json index 9d3c620dd3..63cfac4070 100644 --- a/modules/blogging/app/Volo.BloggingTestApp/package.json +++ b/modules/blogging/app/Volo.BloggingTestApp/package.json @@ -3,7 +3,7 @@ "name": "volo.blogtestapp", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.basic": "^3.0.4", - "@abp/blogging": "^3.0.4" + "@abp/aspnetcore.mvc.ui.theme.basic": "^3.0.5", + "@abp/blogging": "^3.0.5" } } \ No newline at end of file diff --git a/modules/blogging/app/Volo.BloggingTestApp/yarn.lock b/modules/blogging/app/Volo.BloggingTestApp/yarn.lock index 3ddac913ca..fcd9dbcd00 100644 --- a/modules/blogging/app/Volo.BloggingTestApp/yarn.lock +++ b/modules/blogging/app/Volo.BloggingTestApp/yarn.lock @@ -2,37 +2,37 @@ # yarn lockfile v1 -"@abp/aspnetcore.mvc.ui.theme.basic@^3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-3.0.4.tgz#c58e3e06ba78279875cf2b5f96d34b83ce09f6df" - integrity sha512-tKKqVRKpwN7P4Mn+he3bcz4Qbt8bkZ++wk6iOujd6HLTkBNa0uKyM4L6+iCn1Hi62S6HeK2Xytx+b+IYeIlsuw== - dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "~3.0.4" - -"@abp/aspnetcore.mvc.ui.theme.shared@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-3.0.4.tgz#50db612b6492d36c63dd9042000a9fb00fecec54" - integrity sha512-imd2T5XXkNvGQyXV/A9hA80qSeurKaUcW6HDkte8Y2fs4QfvkjgzWXi7neqF6F+HVbYYPg3rIBWC6QF1OXGn2w== - dependencies: - "@abp/aspnetcore.mvc.ui" "~3.0.4" - "@abp/bootstrap" "~3.0.4" - "@abp/bootstrap-datepicker" "~3.0.4" - "@abp/datatables.net-bs4" "~3.0.4" - "@abp/font-awesome" "~3.0.4" - "@abp/jquery-form" "~3.0.4" - "@abp/jquery-validation-unobtrusive" "~3.0.4" - "@abp/lodash" "~3.0.4" - "@abp/luxon" "~3.0.4" - "@abp/malihu-custom-scrollbar-plugin" "~3.0.4" - "@abp/select2" "~3.0.4" - "@abp/sweetalert" "~3.0.4" - "@abp/timeago" "~3.0.4" - "@abp/toastr" "~3.0.4" - -"@abp/aspnetcore.mvc.ui@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-3.0.4.tgz#4e4344d95a98a60c53037b351cb915d8ff7a7dcb" - integrity sha512-p7KI5CKkpD4EYzG4fCtygrtZhwMu7Z+IZFGbdqXelLbI5ACkbJyrn+N+9trPfS9papymeXY4p1E3v6xOH7rSHQ== +"@abp/aspnetcore.mvc.ui.theme.basic@^3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-3.0.5.tgz#c146f20226522f0305cc0fa31cfcf9d39be78901" + integrity sha512-ptNhD4xV2wSLW7vQ5KUgaRiH5Ov1OscZW2ZEoivnt3kqgtIC3DGw+SiE9vjFCvyY83fjRkIlW2PIfQxSySbteQ== + dependencies: + "@abp/aspnetcore.mvc.ui.theme.shared" "~3.0.5" + +"@abp/aspnetcore.mvc.ui.theme.shared@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-3.0.5.tgz#5b370902cf229963f9aa10dd64482d57299dde76" + integrity sha512-iobAH39xrCdnqdaABaiYZg4lqNSOwPkMCLnyc+ytxOMbu/YnNKahXPmRhgd8dR/l+iQY1+6T4SWfLdGswi3gAg== + dependencies: + "@abp/aspnetcore.mvc.ui" "~3.0.5" + "@abp/bootstrap" "~3.0.5" + "@abp/bootstrap-datepicker" "~3.0.5" + "@abp/datatables.net-bs4" "~3.0.5" + "@abp/font-awesome" "~3.0.5" + "@abp/jquery-form" "~3.0.5" + "@abp/jquery-validation-unobtrusive" "~3.0.5" + "@abp/lodash" "~3.0.5" + "@abp/luxon" "~3.0.5" + "@abp/malihu-custom-scrollbar-plugin" "~3.0.5" + "@abp/select2" "~3.0.5" + "@abp/sweetalert" "~3.0.5" + "@abp/timeago" "~3.0.5" + "@abp/toastr" "~3.0.5" + +"@abp/aspnetcore.mvc.ui@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-3.0.5.tgz#a050eaee328c56a3730f5abbf25035adf612d6f0" + integrity sha512-/EOgjXTzR+I1OK9KA7L3yzQ2RGSDW97+n3cQrSdLAUF+tnRvMJS0nytDlSJSRK2hb8/clFMaofZHCC81aUkYUg== dependencies: ansi-colors "^4.1.1" extend-object "^1.0.0" @@ -41,213 +41,213 @@ path "^0.12.7" rimraf "^3.0.2" -"@abp/blogging@^3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/blogging/-/blogging-3.0.4.tgz#d309b18a410d047346c39ab3063cd95429ca693a" - integrity sha512-HjPmNgFuAI1PPB4Rn8q+CYZq77kTqdRByIbYHvM9NsLyjb4CKruJxwHIFQUEs2oaB1V0/1CtfQWOcJ8r6ciGfA== +"@abp/blogging@^3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/blogging/-/blogging-3.0.5.tgz#07d476d9d7bb20b52ccd122c8cf7c7c2bd3c1aa4" + integrity sha512-3qBS3EfBRrcGzgo8xaJXIVNu/qkuhBLYixPur69nUa8sDAsYI725mVIOfznyYyTAxPXB2EDOf4WA+NKiEINrqQ== dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "~3.0.4" - "@abp/owl.carousel" "~3.0.4" - "@abp/prismjs" "~3.0.4" - "@abp/tui-editor" "~3.0.4" + "@abp/aspnetcore.mvc.ui.theme.shared" "~3.0.5" + "@abp/owl.carousel" "~3.0.5" + "@abp/prismjs" "~3.0.5" + "@abp/tui-editor" "~3.0.5" -"@abp/bootstrap-datepicker@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-3.0.4.tgz#d21963f158a4d348a0acdc46209e67378aae8e55" - integrity sha512-25e9qm39dj9AijIchQIdLlBiBM5/fhASkEuLKNt6M8S/e3qwKLwbRhX90DKMFvOyKdxxcK1gX7tDuGHyG9A8mA== +"@abp/bootstrap-datepicker@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-3.0.5.tgz#3a7fd86dbcadc31c11be5b2b31c8cf8ac3035540" + integrity sha512-vIY1wT4RHoJAPhVK11Q5MS71iZbwsmM/0VTBvvs04mjRSSi6xhdyRYkA+l+P49fnOwhZNaaK19XwQdVVScDuhA== dependencies: bootstrap-datepicker "^1.9.0" -"@abp/bootstrap@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-3.0.4.tgz#3b0e2b74dc174a04ce669de1b140df833eee6031" - integrity sha512-DwxL1fGYOwChPwmMpwUxCKiIdzTfRf/YDkOLUiwI8eRrpABBeuE2sSHKfks6Rqh9Wqo/nlWXvfccgDRqweqhsA== +"@abp/bootstrap@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-3.0.5.tgz#91f2c8fe6a57fc5789ae8fe9c206b2c159e55880" + integrity sha512-LdydeJIbw5k1k7FkWaI1lTectZeTXmEIoccJtj9Qx4N9yGt40wGsjz9SOvUdJ0IKAgntIWNQP8ohWiBPgzT7Xg== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" bootstrap "^4.5.0" bootstrap-v4-rtl "4.4.1-2" -"@abp/clipboard@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-3.0.4.tgz#17ff40e398de3c0ab5214e564d443ed52ac10630" - integrity sha512-vjjupRau7fgBxvQwaDrBHApP4Ce1x9XM7L64/c+A+oBny0SzuiSBGBYsjlFrJGmTHT/PhjoB1XQiBHrYYPXQfQ== +"@abp/clipboard@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-3.0.5.tgz#7ceadd21360db11c91582a532029bfe65d10a930" + integrity sha512-iq455C096L5D+b6IrWkMxA9mbpggBNZ1kWfCQ3rhIjo0qbOGrvdGB3uQ+BqRS9Ni9ku7vBb2COldouIC9KOp5A== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" clipboard "^2.0.6" -"@abp/codemirror@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/codemirror/-/codemirror-3.0.4.tgz#d223b9e44719844948025f1c47bd404923d9e40d" - integrity sha512-shv8bqnATrEg9K9P0m14eqlJCCSfSO57SCxYmF0DUH0wuykkWjFJ8gok2GijVZtA9FQDJbNbNXh2oSm4MCgRsA== +"@abp/codemirror@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/codemirror/-/codemirror-3.0.5.tgz#2d60ad50f7b50833b0032f3c2e8992a89f257aa9" + integrity sha512-RkbmRGmSCB2962rJdhp0NgJ+qEP4gG05wuSuCMsYJTU3U9IkhkqiJbzupUzAkHQTaCQwCOUeXoBLUkwCHUP2DA== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" codemirror "^5.54.0" -"@abp/core@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-3.0.4.tgz#281940525e280e9e3a1aa4cb4e8f64548ea026a3" - integrity sha512-ZPEH1fa5bf/f1ek9ZLQHx7u78iF6kRZ8Z2NBI36cNL13RyQbx485qJF+KXyqNlJoJAh0CAs0NsAJADU3utcDNA== +"@abp/core@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/core/-/core-3.0.5.tgz#9a7bd990d02edc8128a5be3233b6fbb5669b15b8" + integrity sha512-LdkSkZQfN4hugcGNxBkje0+eQomivwNFbnAkMFQbvCwYLwKB2yvk7GCemEetW1piqvyrUGz4jqhtunjoXps5JA== dependencies: - "@abp/utils" "^3.0.4" + "@abp/utils" "^3.0.5" -"@abp/datatables.net-bs4@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-3.0.4.tgz#e488336bd2c199146ea60464e0ba75aeb134957e" - integrity sha512-ID1XWKPxG9pv6mxBkku7JWvgXjTxJ1uShxmYv5kFYVuwOGMSvj8QVZInTHFcMdECopV56yjGPNOIFLeQj4Mw8Q== +"@abp/datatables.net-bs4@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-3.0.5.tgz#9b79935970d2d4074994240b5deb01dff5987c0a" + integrity sha512-jIWRBEG/NlhaE43i6Xzr18XJ5aTWA+WWslf7WgNOArG5slGBbH4lLLja4HswLP3NGdSmzIyHJR1p9XQ82nBkbQ== dependencies: - "@abp/datatables.net" "~3.0.4" + "@abp/datatables.net" "~3.0.5" datatables.net-bs4 "^1.10.21" -"@abp/datatables.net@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-3.0.4.tgz#7ef143b83143ad8d769be25296411a812a17b255" - integrity sha512-gdQwRuxO5fQWhG/DiUaf40DQ8dWIVGhOCyt6SZ8LQzq4uSaQqa0qrtTTTW2/aiee4MgJu2vJWYF5YCszIR/HhA== +"@abp/datatables.net@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-3.0.5.tgz#0a0a39e8fa54522bf8a09ce76ff3927207a79491" + integrity sha512-HClQ2tcZuWBAChf9oOJOtMP1zHv8jqloPEcw3iqbhS/tWZBw5VQ4TO+BVfZsqHDXZNnWSmR6/2xiKsK32nliew== dependencies: - "@abp/jquery" "~3.0.4" + "@abp/jquery" "~3.0.5" datatables.net "^1.10.21" -"@abp/font-awesome@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-3.0.4.tgz#98f83d0bf8b5a2a4d988cb07f5cceda2e1bc1a09" - integrity sha512-AKhKCUXx8vdHIgyXUfbSLitfYor5dJbo4qMRRGqIJVSj+cyMkpgYbGjqr24GGijgZxdmOGL+s1b9iCUbIPgLNQ== +"@abp/font-awesome@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-3.0.5.tgz#62d58c34f0abf268e30bdf788dfbd3f45b19b412" + integrity sha512-/+31Vtw1S9vvuNy/rN/Q6awkgUaYNNYXESgfvqI0pqIkvlPgigvS8E68mHqGzsxyRqdZisI6JGd94AF+vJD7sQ== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" "@fortawesome/fontawesome-free" "^5.13.0" -"@abp/highlight.js@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/highlight.js/-/highlight.js-3.0.4.tgz#2f4cb60b7b621fd73f3eb92f70c3d8611ce07c2b" - integrity sha512-7iTDFgBBHn3w5MlhRylkV5to0+8cl0akVspe358zvIy9bdBv+t8Xgc8IomxKqA5EfjBFhR+Q/g0+DfoWLpL7xw== +"@abp/highlight.js@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/highlight.js/-/highlight.js-3.0.5.tgz#f222b54958bd842840db5ad8b32d82f1cd209302" + integrity sha512-VT9UfukzbhMsWhUZNc8b792fY04lqkuJL98QprU59No1Rb7+XUa1k9FMbt2kl12Je3jltY3+UrDl+vrdasFxKg== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" -"@abp/jquery-form@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-3.0.4.tgz#022eebbfe58b55e328984c0f119884c9464bc767" - integrity sha512-xDkk4rY0AmXBJE4qztzr2hZz+OVucVNWeagOEgeQHXJSKU/T+0kj0a1RxEHpyI24xBvEXAbe8PbByTbu0QXYew== +"@abp/jquery-form@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-3.0.5.tgz#9d2ea9b2509448ee163a163298a7a09480865f78" + integrity sha512-RKgvQciaMml33NvzA28aYyfNI+WQHRfKLFWvOvqc8qO4C3BvyrnwepuzZcnI/9UsELKLSLoFrfk3rJHhxnTJhg== dependencies: - "@abp/jquery" "~3.0.4" + "@abp/jquery" "~3.0.5" jquery-form "^4.3.0" -"@abp/jquery-validation-unobtrusive@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-3.0.4.tgz#6cc942aadcdde33893e7a45c84aa022e033e4e8b" - integrity sha512-N9sza91HCyPvJo+d0RAfq4skae3TgAYg7KXhlwzRE2hqUQS+EICVARURWyxJW7s7Zu6+gxDTkXhBZRTW56deZA== +"@abp/jquery-validation-unobtrusive@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-3.0.5.tgz#b8912e1c4cfdd4fdff6ad4aa7ee8693b55a3be1f" + integrity sha512-kPifDA+1ErbeQBwn+BzwtWuTHXzBke/EMCmITuj59plM/60gZ1ZfVm8EzzTmKS7iLaVVeOqTKf0vEQTobNYffw== dependencies: - "@abp/jquery-validation" "~3.0.4" + "@abp/jquery-validation" "~3.0.5" jquery-validation-unobtrusive "^3.2.11" -"@abp/jquery-validation@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-3.0.4.tgz#3f96d1f83c75a7fc47e5e5e12c51dbc8da7582b1" - integrity sha512-2ljqas4YKU0PcwB0wQW2qhXejDHjW+N1XCxZDyCZ2wF9UxGlKBR8rFt76TJByXSotKE7n2hJRZaOh9ICZUow2g== +"@abp/jquery-validation@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-3.0.5.tgz#55e36b3c832a35447fac69af312dedf1dee22279" + integrity sha512-fdqxc5CJ6TpUAF8+NEsKCmXvvZiOPR5bzczcfvfovxLOjvHvdEO74XPGjsjlBNTdaKMhmNGZRK4JRLUz7fvTng== dependencies: - "@abp/jquery" "~3.0.4" + "@abp/jquery" "~3.0.5" jquery-validation "^1.19.2" -"@abp/jquery@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-3.0.4.tgz#5f236d95cfae7f65012cd8778fd74490b7542442" - integrity sha512-g8N8Te5vf+8djdksfZoZ3tXaqlBC4Ra39pAWU/XerlLl64u+XmAX1s6yKRfC2kS8lf292GgiFYuNOkb77J6k4A== +"@abp/jquery@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-3.0.5.tgz#2e43ac19a8df6e1e0220d6d4991d33a93d890754" + integrity sha512-2d2l+smWKAVP4/b6GSO+8rmJ7pFXiUewpBDwkHm5qgkK6n6UGqIcK9lIgiS2YQ6rmL6qdtuNhhqtC9GF2TF2kQ== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" jquery "~3.5.1" -"@abp/lodash@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-3.0.4.tgz#ee60bc99f98b59fd9fc5ff4bbcf914a13faf209d" - integrity sha512-jxvv74Sm/fUKDBMylK4Ne/8GKm7GuHAdcLFtkoJQptdO+RjZpKJ86ULT+X5vbKskZaTj2fEmOR6l4hmfnBULTA== +"@abp/lodash@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-3.0.5.tgz#d5d9f14095d76239bc0e6f9804c24d1f92ffcab4" + integrity sha512-+B2vxfPwxoIIb8Ac8eHi6OgAn0qbjmPZuun7/es0/ouYYTbEhvhTAD20X3PGZlHrIYeDyS2ansuXm8gJI+/BzA== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" lodash "^4.17.15" -"@abp/luxon@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-3.0.4.tgz#aa1bf6a93d6254433101e50a205b276759969414" - integrity sha512-gX9dQJt9C6M1wmCSUIBoNr8CAt0jkUZFQ7LKKO/BoADGM/XFvY5vDbhL7zcwbwitgCOzmucoCxs/6rIxSOVlrg== +"@abp/luxon@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-3.0.5.tgz#083042c939ea58bf719e35114a6c8efb07b68688" + integrity sha512-0UVHO2CO89t34O35OA3JzWGWLBpg+e1NQXSfVtK90nmg/QmzGkHVM9m7Su0jjLNBt3N5EA5OPOhriot3bCKItw== dependencies: luxon "^1.24.1" -"@abp/malihu-custom-scrollbar-plugin@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.0.4.tgz#c54824b98363f4190cc6a37fcd421c2bfdc1e201" - integrity sha512-6LdSGctOr4ACtdohdSlb19vrFNJ5C0hy1VdbBEafHOBspXckvRVx4uJl2KfHmAC+bMg9apoK/wcHjVNdBHThYQ== +"@abp/malihu-custom-scrollbar-plugin@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.0.5.tgz#f908289927a63fd76fb8f60b00a37747d9edbe39" + integrity sha512-3GoXA8VtGyZWKiqaPCipPXYLLM7h2Y5Oecq5c5YlMQyW2akv7uHiQQF2GZW/nVsFu3HBbGTOWpKRRmVk3PEO9Q== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" malihu-custom-scrollbar-plugin "^3.1.5" -"@abp/markdown-it@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/markdown-it/-/markdown-it-3.0.4.tgz#8be97cc1a48add764c76049c6303291252c56b12" - integrity sha512-94HjUbRQ+/RZoG0/h0nYA8Kk6IqJUtVzwM8/rUWGi45kwkSk6N/mCv537QD4hivHS0sLDx2KgEve9Ka8WnIKbQ== +"@abp/markdown-it@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/markdown-it/-/markdown-it-3.0.5.tgz#43c0daf0dd30de3d0109980aa5493db6f72108c1" + integrity sha512-HMRv5B29fQ5nPz4wFlfTsJ3dACotNLHZUuQbOt8SifRkt9Va0t20j+IwIGhSYVc93ttYHjB0IuMk6G10mdBA1A== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" markdown-it "^11.0.0" -"@abp/owl.carousel@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/owl.carousel/-/owl.carousel-3.0.4.tgz#18b4f93d06ad3b0f22f9fa4073b757f54e559c93" - integrity sha512-yZjlZ28JCuYSJPtnfoXssn1PdinbLbB4/Rixi43b2RbE0pI3U6ZnUOd0TAOwZyS7sO0OLdlGp2F/MKbln8u53A== +"@abp/owl.carousel@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/owl.carousel/-/owl.carousel-3.0.5.tgz#d575d201a9c4853aa8578e6d8da396de60d6c961" + integrity sha512-fBzNaJPRnFc1VV5MBpRAGr3yZtkcbRHOOKlq74bkg9kvnqNa8dLISPRxHsBCtX+bxndWI3OfmN9Uliiq39TgSA== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" owl.carousel "^2.3.4" -"@abp/prismjs@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-3.0.4.tgz#9cd8113b33dfd1b349b12740a2f7462f88bf3841" - integrity sha512-D+RNAhUhOCXnBNZVOq9EQg883eRbPKlIpFsxeMW065XOm5g7iO0eJACvyqGC8mt5reHmtxApnfiGNlhT1dK+Eg== +"@abp/prismjs@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-3.0.5.tgz#81a6ef656f3d7a76f365eb0bcbf2d0d3013d6e72" + integrity sha512-vdSSa1+tXS5+HWIgQyjDy4yQG7Q1YyuHQnFU6zlDJCQlE+20PL6lYgPnqR7DQ+Cd4lhRb3oxvloImYjwiwSQvA== dependencies: - "@abp/clipboard" "~3.0.4" - "@abp/core" "~3.0.4" + "@abp/clipboard" "~3.0.5" + "@abp/core" "~3.0.5" prismjs "^1.20.0" -"@abp/select2@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-3.0.4.tgz#49db0cfbc9b08f6ae4949b2cb8bdef92d7d308dd" - integrity sha512-zKEgkWBFdGU2KiAMUKhucHqBfzDy2KNSefyqxpOiUd1L3PEKu+9o23HZRWzDupYltop+SO1Jw33CNoVAkKm4+A== +"@abp/select2@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-3.0.5.tgz#79d7754713c64a6549da520dc6867ef3e3dd0350" + integrity sha512-VbeSHdAdDy8exrjplHMMhLVV4oG7Gq9zBb5M52f0sIkA4DkXFhksXHcHNoOCfhaKAXpenGA03Z9GJewZ3MTpMw== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" select2 "^4.0.13" -"@abp/sweetalert@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-3.0.4.tgz#f85d11c5aabc6ceb509af1b8fd8d75bc3c74bd27" - integrity sha512-hO0qXUWxeMy/lfy3sb+5HvOmIPst6UvYJJGy3ZQR6DKEdkOktBX9sEDb7m6ij6xAIHqWIx1xLveul0oGteOG0Q== +"@abp/sweetalert@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-3.0.5.tgz#e3b92d23cf3633983980b6255bf63c43d422ceab" + integrity sha512-OUt4ANgj14GESfRG7+UqdONS8daOu+8x2OZDWv98hriuX0uCVBjwB2J0jRI/n653C68Mi0yHixGONDv9OLy/lg== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" sweetalert "^2.1.2" -"@abp/timeago@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-3.0.4.tgz#82d90a04f703a7db9c0acedcd2f3cea684e7ae18" - integrity sha512-7SbbqScTKCix25xWy5oLT0slJqUQsW6YgJgI0N41C3AsByRBXZeh5Gcep033gprTPmpgNY8JOWcEcCXySnYvfA== +"@abp/timeago@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-3.0.5.tgz#b191a7c43f3dc77645fe27273f2f6619f7d4eb31" + integrity sha512-QhvAOU4C+Qxh/gFuCSGZtLU4KwVhdv/jtK8ovWyqbGvQMCCIimqa8BFKIz0H5XWIJhHwwWblkpjICWgjWh6uXw== dependencies: - "@abp/jquery" "~3.0.4" + "@abp/jquery" "~3.0.5" timeago "^1.6.7" -"@abp/toastr@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-3.0.4.tgz#884ab2343ddd59981c291c632e3b0630532f7e9c" - integrity sha512-NG0pVD8bdIXGpjPW9cozCzmyuAdnSLE4vDYLUReP1pZFp9B8SMJqpgPk9eFg0Y06aaHTVMKYBKRoq9xXS4w9Xg== +"@abp/toastr@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-3.0.5.tgz#fc83b678f5be3a22040d0421ad9db5b2eac9d4fc" + integrity sha512-qgi2DEu6FYpN/DYcOZrmXsAr1HqcIKMhBWeXgjfoYUIl/K5+OuUgbQ69D/jdc0jz8HU9a4Cw7Q8hhe4CkgssEw== dependencies: - "@abp/jquery" "~3.0.4" + "@abp/jquery" "~3.0.5" toastr "^2.1.4" -"@abp/tui-editor@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/tui-editor/-/tui-editor-3.0.4.tgz#fe44e7e28bd9d3902fe2e77b4e78eb2aa2959846" - integrity sha512-+H03yYEtPbX+THnzdsW1j+XXSYMrKl8oLPIrrl71QkUW7mif+c2s6YHauJ2mqJ1Uc/7fEL/i1/nBkqU3XjQXPw== +"@abp/tui-editor@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/tui-editor/-/tui-editor-3.0.5.tgz#9eee7cb555793a9c01a6e0ce10e77bb46577857c" + integrity sha512-xwaBhwnyvoIbEKWMSrTs2JHIOf3JK6tsABfcxhTRHXQfr2VONOEjbaLaAruNOuLJy3m/7rOsGWTeT8lMWwf3Fw== dependencies: - "@abp/codemirror" "~3.0.4" - "@abp/highlight.js" "~3.0.4" - "@abp/jquery" "~3.0.4" - "@abp/markdown-it" "~3.0.4" + "@abp/codemirror" "~3.0.5" + "@abp/highlight.js" "~3.0.5" + "@abp/jquery" "~3.0.5" + "@abp/markdown-it" "~3.0.5" tui-editor "^1.4.10" -"@abp/utils@^3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-3.0.4.tgz#38068fa8f735e1889cf2f226128366825948814d" - integrity sha512-TnXRZIZcxv5+EctEPsZEi2cyRXbpl3A679wzQa6BACv+pM45cjGO1JR8P0VswKN4TVL0aQRMv26N6U/uie8sEQ== +"@abp/utils@^3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-3.0.5.tgz#66b3da953500e73ff1f23d1b41168cde8216ce49" + integrity sha512-X9V1xLIEazItaf93nFSA4p94WT6QK3yA4eIyvU7GyyEkkOQdaakNwPbRwy930sd+I+/oXnIqM1vDsJu9QDhgvg== dependencies: just-compare "^1.3.0" diff --git a/modules/client-simulation/demo/Volo.ClientSimulation.Demo/package.json b/modules/client-simulation/demo/Volo.ClientSimulation.Demo/package.json index 8c5602c2c7..c4410d5c13 100644 --- a/modules/client-simulation/demo/Volo.ClientSimulation.Demo/package.json +++ b/modules/client-simulation/demo/Volo.ClientSimulation.Demo/package.json @@ -3,6 +3,6 @@ "name": "client-simulation-web", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.basic": "^3.0.4" + "@abp/aspnetcore.mvc.ui.theme.basic": "^3.0.5" } } \ No newline at end of file diff --git a/modules/client-simulation/demo/Volo.ClientSimulation.Demo/yarn.lock b/modules/client-simulation/demo/Volo.ClientSimulation.Demo/yarn.lock index 72373bfe9d..2233b4f0cb 100644 --- a/modules/client-simulation/demo/Volo.ClientSimulation.Demo/yarn.lock +++ b/modules/client-simulation/demo/Volo.ClientSimulation.Demo/yarn.lock @@ -2,37 +2,37 @@ # yarn lockfile v1 -"@abp/aspnetcore.mvc.ui.theme.basic@^3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-3.0.4.tgz#c58e3e06ba78279875cf2b5f96d34b83ce09f6df" - integrity sha512-tKKqVRKpwN7P4Mn+he3bcz4Qbt8bkZ++wk6iOujd6HLTkBNa0uKyM4L6+iCn1Hi62S6HeK2Xytx+b+IYeIlsuw== - dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "~3.0.4" - -"@abp/aspnetcore.mvc.ui.theme.shared@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-3.0.4.tgz#50db612b6492d36c63dd9042000a9fb00fecec54" - integrity sha512-imd2T5XXkNvGQyXV/A9hA80qSeurKaUcW6HDkte8Y2fs4QfvkjgzWXi7neqF6F+HVbYYPg3rIBWC6QF1OXGn2w== - dependencies: - "@abp/aspnetcore.mvc.ui" "~3.0.4" - "@abp/bootstrap" "~3.0.4" - "@abp/bootstrap-datepicker" "~3.0.4" - "@abp/datatables.net-bs4" "~3.0.4" - "@abp/font-awesome" "~3.0.4" - "@abp/jquery-form" "~3.0.4" - "@abp/jquery-validation-unobtrusive" "~3.0.4" - "@abp/lodash" "~3.0.4" - "@abp/luxon" "~3.0.4" - "@abp/malihu-custom-scrollbar-plugin" "~3.0.4" - "@abp/select2" "~3.0.4" - "@abp/sweetalert" "~3.0.4" - "@abp/timeago" "~3.0.4" - "@abp/toastr" "~3.0.4" - -"@abp/aspnetcore.mvc.ui@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-3.0.4.tgz#4e4344d95a98a60c53037b351cb915d8ff7a7dcb" - integrity sha512-p7KI5CKkpD4EYzG4fCtygrtZhwMu7Z+IZFGbdqXelLbI5ACkbJyrn+N+9trPfS9papymeXY4p1E3v6xOH7rSHQ== +"@abp/aspnetcore.mvc.ui.theme.basic@^3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-3.0.5.tgz#c146f20226522f0305cc0fa31cfcf9d39be78901" + integrity sha512-ptNhD4xV2wSLW7vQ5KUgaRiH5Ov1OscZW2ZEoivnt3kqgtIC3DGw+SiE9vjFCvyY83fjRkIlW2PIfQxSySbteQ== + dependencies: + "@abp/aspnetcore.mvc.ui.theme.shared" "~3.0.5" + +"@abp/aspnetcore.mvc.ui.theme.shared@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-3.0.5.tgz#5b370902cf229963f9aa10dd64482d57299dde76" + integrity sha512-iobAH39xrCdnqdaABaiYZg4lqNSOwPkMCLnyc+ytxOMbu/YnNKahXPmRhgd8dR/l+iQY1+6T4SWfLdGswi3gAg== + dependencies: + "@abp/aspnetcore.mvc.ui" "~3.0.5" + "@abp/bootstrap" "~3.0.5" + "@abp/bootstrap-datepicker" "~3.0.5" + "@abp/datatables.net-bs4" "~3.0.5" + "@abp/font-awesome" "~3.0.5" + "@abp/jquery-form" "~3.0.5" + "@abp/jquery-validation-unobtrusive" "~3.0.5" + "@abp/lodash" "~3.0.5" + "@abp/luxon" "~3.0.5" + "@abp/malihu-custom-scrollbar-plugin" "~3.0.5" + "@abp/select2" "~3.0.5" + "@abp/sweetalert" "~3.0.5" + "@abp/timeago" "~3.0.5" + "@abp/toastr" "~3.0.5" + +"@abp/aspnetcore.mvc.ui@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-3.0.5.tgz#a050eaee328c56a3730f5abbf25035adf612d6f0" + integrity sha512-/EOgjXTzR+I1OK9KA7L3yzQ2RGSDW97+n3cQrSdLAUF+tnRvMJS0nytDlSJSRK2hb8/clFMaofZHCC81aUkYUg== dependencies: ansi-colors "^4.1.1" extend-object "^1.0.0" @@ -41,144 +41,144 @@ path "^0.12.7" rimraf "^3.0.2" -"@abp/bootstrap-datepicker@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-3.0.4.tgz#d21963f158a4d348a0acdc46209e67378aae8e55" - integrity sha512-25e9qm39dj9AijIchQIdLlBiBM5/fhASkEuLKNt6M8S/e3qwKLwbRhX90DKMFvOyKdxxcK1gX7tDuGHyG9A8mA== +"@abp/bootstrap-datepicker@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-3.0.5.tgz#3a7fd86dbcadc31c11be5b2b31c8cf8ac3035540" + integrity sha512-vIY1wT4RHoJAPhVK11Q5MS71iZbwsmM/0VTBvvs04mjRSSi6xhdyRYkA+l+P49fnOwhZNaaK19XwQdVVScDuhA== dependencies: bootstrap-datepicker "^1.9.0" -"@abp/bootstrap@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-3.0.4.tgz#3b0e2b74dc174a04ce669de1b140df833eee6031" - integrity sha512-DwxL1fGYOwChPwmMpwUxCKiIdzTfRf/YDkOLUiwI8eRrpABBeuE2sSHKfks6Rqh9Wqo/nlWXvfccgDRqweqhsA== +"@abp/bootstrap@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-3.0.5.tgz#91f2c8fe6a57fc5789ae8fe9c206b2c159e55880" + integrity sha512-LdydeJIbw5k1k7FkWaI1lTectZeTXmEIoccJtj9Qx4N9yGt40wGsjz9SOvUdJ0IKAgntIWNQP8ohWiBPgzT7Xg== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" bootstrap "^4.5.0" bootstrap-v4-rtl "4.4.1-2" -"@abp/core@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-3.0.4.tgz#281940525e280e9e3a1aa4cb4e8f64548ea026a3" - integrity sha512-ZPEH1fa5bf/f1ek9ZLQHx7u78iF6kRZ8Z2NBI36cNL13RyQbx485qJF+KXyqNlJoJAh0CAs0NsAJADU3utcDNA== +"@abp/core@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/core/-/core-3.0.5.tgz#9a7bd990d02edc8128a5be3233b6fbb5669b15b8" + integrity sha512-LdkSkZQfN4hugcGNxBkje0+eQomivwNFbnAkMFQbvCwYLwKB2yvk7GCemEetW1piqvyrUGz4jqhtunjoXps5JA== dependencies: - "@abp/utils" "^3.0.4" + "@abp/utils" "^3.0.5" -"@abp/datatables.net-bs4@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-3.0.4.tgz#e488336bd2c199146ea60464e0ba75aeb134957e" - integrity sha512-ID1XWKPxG9pv6mxBkku7JWvgXjTxJ1uShxmYv5kFYVuwOGMSvj8QVZInTHFcMdECopV56yjGPNOIFLeQj4Mw8Q== +"@abp/datatables.net-bs4@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-3.0.5.tgz#9b79935970d2d4074994240b5deb01dff5987c0a" + integrity sha512-jIWRBEG/NlhaE43i6Xzr18XJ5aTWA+WWslf7WgNOArG5slGBbH4lLLja4HswLP3NGdSmzIyHJR1p9XQ82nBkbQ== dependencies: - "@abp/datatables.net" "~3.0.4" + "@abp/datatables.net" "~3.0.5" datatables.net-bs4 "^1.10.21" -"@abp/datatables.net@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-3.0.4.tgz#7ef143b83143ad8d769be25296411a812a17b255" - integrity sha512-gdQwRuxO5fQWhG/DiUaf40DQ8dWIVGhOCyt6SZ8LQzq4uSaQqa0qrtTTTW2/aiee4MgJu2vJWYF5YCszIR/HhA== +"@abp/datatables.net@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-3.0.5.tgz#0a0a39e8fa54522bf8a09ce76ff3927207a79491" + integrity sha512-HClQ2tcZuWBAChf9oOJOtMP1zHv8jqloPEcw3iqbhS/tWZBw5VQ4TO+BVfZsqHDXZNnWSmR6/2xiKsK32nliew== dependencies: - "@abp/jquery" "~3.0.4" + "@abp/jquery" "~3.0.5" datatables.net "^1.10.21" -"@abp/font-awesome@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-3.0.4.tgz#98f83d0bf8b5a2a4d988cb07f5cceda2e1bc1a09" - integrity sha512-AKhKCUXx8vdHIgyXUfbSLitfYor5dJbo4qMRRGqIJVSj+cyMkpgYbGjqr24GGijgZxdmOGL+s1b9iCUbIPgLNQ== +"@abp/font-awesome@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-3.0.5.tgz#62d58c34f0abf268e30bdf788dfbd3f45b19b412" + integrity sha512-/+31Vtw1S9vvuNy/rN/Q6awkgUaYNNYXESgfvqI0pqIkvlPgigvS8E68mHqGzsxyRqdZisI6JGd94AF+vJD7sQ== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" "@fortawesome/fontawesome-free" "^5.13.0" -"@abp/jquery-form@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-3.0.4.tgz#022eebbfe58b55e328984c0f119884c9464bc767" - integrity sha512-xDkk4rY0AmXBJE4qztzr2hZz+OVucVNWeagOEgeQHXJSKU/T+0kj0a1RxEHpyI24xBvEXAbe8PbByTbu0QXYew== +"@abp/jquery-form@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-3.0.5.tgz#9d2ea9b2509448ee163a163298a7a09480865f78" + integrity sha512-RKgvQciaMml33NvzA28aYyfNI+WQHRfKLFWvOvqc8qO4C3BvyrnwepuzZcnI/9UsELKLSLoFrfk3rJHhxnTJhg== dependencies: - "@abp/jquery" "~3.0.4" + "@abp/jquery" "~3.0.5" jquery-form "^4.3.0" -"@abp/jquery-validation-unobtrusive@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-3.0.4.tgz#6cc942aadcdde33893e7a45c84aa022e033e4e8b" - integrity sha512-N9sza91HCyPvJo+d0RAfq4skae3TgAYg7KXhlwzRE2hqUQS+EICVARURWyxJW7s7Zu6+gxDTkXhBZRTW56deZA== +"@abp/jquery-validation-unobtrusive@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-3.0.5.tgz#b8912e1c4cfdd4fdff6ad4aa7ee8693b55a3be1f" + integrity sha512-kPifDA+1ErbeQBwn+BzwtWuTHXzBke/EMCmITuj59plM/60gZ1ZfVm8EzzTmKS7iLaVVeOqTKf0vEQTobNYffw== dependencies: - "@abp/jquery-validation" "~3.0.4" + "@abp/jquery-validation" "~3.0.5" jquery-validation-unobtrusive "^3.2.11" -"@abp/jquery-validation@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-3.0.4.tgz#3f96d1f83c75a7fc47e5e5e12c51dbc8da7582b1" - integrity sha512-2ljqas4YKU0PcwB0wQW2qhXejDHjW+N1XCxZDyCZ2wF9UxGlKBR8rFt76TJByXSotKE7n2hJRZaOh9ICZUow2g== +"@abp/jquery-validation@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-3.0.5.tgz#55e36b3c832a35447fac69af312dedf1dee22279" + integrity sha512-fdqxc5CJ6TpUAF8+NEsKCmXvvZiOPR5bzczcfvfovxLOjvHvdEO74XPGjsjlBNTdaKMhmNGZRK4JRLUz7fvTng== dependencies: - "@abp/jquery" "~3.0.4" + "@abp/jquery" "~3.0.5" jquery-validation "^1.19.2" -"@abp/jquery@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-3.0.4.tgz#5f236d95cfae7f65012cd8778fd74490b7542442" - integrity sha512-g8N8Te5vf+8djdksfZoZ3tXaqlBC4Ra39pAWU/XerlLl64u+XmAX1s6yKRfC2kS8lf292GgiFYuNOkb77J6k4A== +"@abp/jquery@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-3.0.5.tgz#2e43ac19a8df6e1e0220d6d4991d33a93d890754" + integrity sha512-2d2l+smWKAVP4/b6GSO+8rmJ7pFXiUewpBDwkHm5qgkK6n6UGqIcK9lIgiS2YQ6rmL6qdtuNhhqtC9GF2TF2kQ== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" jquery "~3.5.1" -"@abp/lodash@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-3.0.4.tgz#ee60bc99f98b59fd9fc5ff4bbcf914a13faf209d" - integrity sha512-jxvv74Sm/fUKDBMylK4Ne/8GKm7GuHAdcLFtkoJQptdO+RjZpKJ86ULT+X5vbKskZaTj2fEmOR6l4hmfnBULTA== +"@abp/lodash@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-3.0.5.tgz#d5d9f14095d76239bc0e6f9804c24d1f92ffcab4" + integrity sha512-+B2vxfPwxoIIb8Ac8eHi6OgAn0qbjmPZuun7/es0/ouYYTbEhvhTAD20X3PGZlHrIYeDyS2ansuXm8gJI+/BzA== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" lodash "^4.17.15" -"@abp/luxon@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-3.0.4.tgz#aa1bf6a93d6254433101e50a205b276759969414" - integrity sha512-gX9dQJt9C6M1wmCSUIBoNr8CAt0jkUZFQ7LKKO/BoADGM/XFvY5vDbhL7zcwbwitgCOzmucoCxs/6rIxSOVlrg== +"@abp/luxon@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-3.0.5.tgz#083042c939ea58bf719e35114a6c8efb07b68688" + integrity sha512-0UVHO2CO89t34O35OA3JzWGWLBpg+e1NQXSfVtK90nmg/QmzGkHVM9m7Su0jjLNBt3N5EA5OPOhriot3bCKItw== dependencies: luxon "^1.24.1" -"@abp/malihu-custom-scrollbar-plugin@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.0.4.tgz#c54824b98363f4190cc6a37fcd421c2bfdc1e201" - integrity sha512-6LdSGctOr4ACtdohdSlb19vrFNJ5C0hy1VdbBEafHOBspXckvRVx4uJl2KfHmAC+bMg9apoK/wcHjVNdBHThYQ== +"@abp/malihu-custom-scrollbar-plugin@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.0.5.tgz#f908289927a63fd76fb8f60b00a37747d9edbe39" + integrity sha512-3GoXA8VtGyZWKiqaPCipPXYLLM7h2Y5Oecq5c5YlMQyW2akv7uHiQQF2GZW/nVsFu3HBbGTOWpKRRmVk3PEO9Q== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" malihu-custom-scrollbar-plugin "^3.1.5" -"@abp/select2@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-3.0.4.tgz#49db0cfbc9b08f6ae4949b2cb8bdef92d7d308dd" - integrity sha512-zKEgkWBFdGU2KiAMUKhucHqBfzDy2KNSefyqxpOiUd1L3PEKu+9o23HZRWzDupYltop+SO1Jw33CNoVAkKm4+A== +"@abp/select2@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-3.0.5.tgz#79d7754713c64a6549da520dc6867ef3e3dd0350" + integrity sha512-VbeSHdAdDy8exrjplHMMhLVV4oG7Gq9zBb5M52f0sIkA4DkXFhksXHcHNoOCfhaKAXpenGA03Z9GJewZ3MTpMw== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" select2 "^4.0.13" -"@abp/sweetalert@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-3.0.4.tgz#f85d11c5aabc6ceb509af1b8fd8d75bc3c74bd27" - integrity sha512-hO0qXUWxeMy/lfy3sb+5HvOmIPst6UvYJJGy3ZQR6DKEdkOktBX9sEDb7m6ij6xAIHqWIx1xLveul0oGteOG0Q== +"@abp/sweetalert@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-3.0.5.tgz#e3b92d23cf3633983980b6255bf63c43d422ceab" + integrity sha512-OUt4ANgj14GESfRG7+UqdONS8daOu+8x2OZDWv98hriuX0uCVBjwB2J0jRI/n653C68Mi0yHixGONDv9OLy/lg== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" sweetalert "^2.1.2" -"@abp/timeago@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-3.0.4.tgz#82d90a04f703a7db9c0acedcd2f3cea684e7ae18" - integrity sha512-7SbbqScTKCix25xWy5oLT0slJqUQsW6YgJgI0N41C3AsByRBXZeh5Gcep033gprTPmpgNY8JOWcEcCXySnYvfA== +"@abp/timeago@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-3.0.5.tgz#b191a7c43f3dc77645fe27273f2f6619f7d4eb31" + integrity sha512-QhvAOU4C+Qxh/gFuCSGZtLU4KwVhdv/jtK8ovWyqbGvQMCCIimqa8BFKIz0H5XWIJhHwwWblkpjICWgjWh6uXw== dependencies: - "@abp/jquery" "~3.0.4" + "@abp/jquery" "~3.0.5" timeago "^1.6.7" -"@abp/toastr@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-3.0.4.tgz#884ab2343ddd59981c291c632e3b0630532f7e9c" - integrity sha512-NG0pVD8bdIXGpjPW9cozCzmyuAdnSLE4vDYLUReP1pZFp9B8SMJqpgPk9eFg0Y06aaHTVMKYBKRoq9xXS4w9Xg== +"@abp/toastr@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-3.0.5.tgz#fc83b678f5be3a22040d0421ad9db5b2eac9d4fc" + integrity sha512-qgi2DEu6FYpN/DYcOZrmXsAr1HqcIKMhBWeXgjfoYUIl/K5+OuUgbQ69D/jdc0jz8HU9a4Cw7Q8hhe4CkgssEw== dependencies: - "@abp/jquery" "~3.0.4" + "@abp/jquery" "~3.0.5" toastr "^2.1.4" -"@abp/utils@^3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-3.0.4.tgz#38068fa8f735e1889cf2f226128366825948814d" - integrity sha512-TnXRZIZcxv5+EctEPsZEi2cyRXbpl3A679wzQa6BACv+pM45cjGO1JR8P0VswKN4TVL0aQRMv26N6U/uie8sEQ== +"@abp/utils@^3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-3.0.5.tgz#66b3da953500e73ff1f23d1b41168cde8216ce49" + integrity sha512-X9V1xLIEazItaf93nFSA4p94WT6QK3yA4eIyvU7GyyEkkOQdaakNwPbRwy930sd+I+/oXnIqM1vDsJu9QDhgvg== dependencies: just-compare "^1.3.0" diff --git a/modules/docs/app/VoloDocs.Web/package.json b/modules/docs/app/VoloDocs.Web/package.json index 2117f0b2f2..c6b5ba0dba 100644 --- a/modules/docs/app/VoloDocs.Web/package.json +++ b/modules/docs/app/VoloDocs.Web/package.json @@ -3,7 +3,7 @@ "name": "volo.docstestapp", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.basic": "^3.0.4", - "@abp/docs": "^3.0.4" + "@abp/aspnetcore.mvc.ui.theme.basic": "^3.0.5", + "@abp/docs": "^3.0.5" } } diff --git a/modules/docs/app/VoloDocs.Web/yarn.lock b/modules/docs/app/VoloDocs.Web/yarn.lock index 8c4d6fe3d6..4c93967952 100644 --- a/modules/docs/app/VoloDocs.Web/yarn.lock +++ b/modules/docs/app/VoloDocs.Web/yarn.lock @@ -2,45 +2,45 @@ # yarn lockfile v1 -"@abp/anchor-js@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/anchor-js/-/anchor-js-3.0.4.tgz#a8a0702c9204ba953e899890338512545af63b4d" - integrity sha512-J8/QIbUK8Cy+7EABw1gUC2CWuJVF44SjdJOIvJSno6k5xbAkyx4oOvPH6x7ngT68rlopt0zez14OpeM6Oy/0Bg== +"@abp/anchor-js@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/anchor-js/-/anchor-js-3.0.5.tgz#e1affea2e21370562b244f81ce8911d3d36f8d55" + integrity sha512-068PVUu/Zu1zQNgWsJXhUmSIm/HRA4Mx6VXxlNL+qiCLffg8AzRuj4rZc+UaYJieDmJDJc0dlWgiyUFpuvzZ8A== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" anchor-js "^4.2.2" -"@abp/aspnetcore.mvc.ui.theme.basic@^3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-3.0.4.tgz#c58e3e06ba78279875cf2b5f96d34b83ce09f6df" - integrity sha512-tKKqVRKpwN7P4Mn+he3bcz4Qbt8bkZ++wk6iOujd6HLTkBNa0uKyM4L6+iCn1Hi62S6HeK2Xytx+b+IYeIlsuw== - dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "~3.0.4" - -"@abp/aspnetcore.mvc.ui.theme.shared@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-3.0.4.tgz#50db612b6492d36c63dd9042000a9fb00fecec54" - integrity sha512-imd2T5XXkNvGQyXV/A9hA80qSeurKaUcW6HDkte8Y2fs4QfvkjgzWXi7neqF6F+HVbYYPg3rIBWC6QF1OXGn2w== - dependencies: - "@abp/aspnetcore.mvc.ui" "~3.0.4" - "@abp/bootstrap" "~3.0.4" - "@abp/bootstrap-datepicker" "~3.0.4" - "@abp/datatables.net-bs4" "~3.0.4" - "@abp/font-awesome" "~3.0.4" - "@abp/jquery-form" "~3.0.4" - "@abp/jquery-validation-unobtrusive" "~3.0.4" - "@abp/lodash" "~3.0.4" - "@abp/luxon" "~3.0.4" - "@abp/malihu-custom-scrollbar-plugin" "~3.0.4" - "@abp/select2" "~3.0.4" - "@abp/sweetalert" "~3.0.4" - "@abp/timeago" "~3.0.4" - "@abp/toastr" "~3.0.4" - -"@abp/aspnetcore.mvc.ui@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-3.0.4.tgz#4e4344d95a98a60c53037b351cb915d8ff7a7dcb" - integrity sha512-p7KI5CKkpD4EYzG4fCtygrtZhwMu7Z+IZFGbdqXelLbI5ACkbJyrn+N+9trPfS9papymeXY4p1E3v6xOH7rSHQ== +"@abp/aspnetcore.mvc.ui.theme.basic@^3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-3.0.5.tgz#c146f20226522f0305cc0fa31cfcf9d39be78901" + integrity sha512-ptNhD4xV2wSLW7vQ5KUgaRiH5Ov1OscZW2ZEoivnt3kqgtIC3DGw+SiE9vjFCvyY83fjRkIlW2PIfQxSySbteQ== + dependencies: + "@abp/aspnetcore.mvc.ui.theme.shared" "~3.0.5" + +"@abp/aspnetcore.mvc.ui.theme.shared@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-3.0.5.tgz#5b370902cf229963f9aa10dd64482d57299dde76" + integrity sha512-iobAH39xrCdnqdaABaiYZg4lqNSOwPkMCLnyc+ytxOMbu/YnNKahXPmRhgd8dR/l+iQY1+6T4SWfLdGswi3gAg== + dependencies: + "@abp/aspnetcore.mvc.ui" "~3.0.5" + "@abp/bootstrap" "~3.0.5" + "@abp/bootstrap-datepicker" "~3.0.5" + "@abp/datatables.net-bs4" "~3.0.5" + "@abp/font-awesome" "~3.0.5" + "@abp/jquery-form" "~3.0.5" + "@abp/jquery-validation-unobtrusive" "~3.0.5" + "@abp/lodash" "~3.0.5" + "@abp/luxon" "~3.0.5" + "@abp/malihu-custom-scrollbar-plugin" "~3.0.5" + "@abp/select2" "~3.0.5" + "@abp/sweetalert" "~3.0.5" + "@abp/timeago" "~3.0.5" + "@abp/toastr" "~3.0.5" + +"@abp/aspnetcore.mvc.ui@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-3.0.5.tgz#a050eaee328c56a3730f5abbf25035adf612d6f0" + integrity sha512-/EOgjXTzR+I1OK9KA7L3yzQ2RGSDW97+n3cQrSdLAUF+tnRvMJS0nytDlSJSRK2hb8/clFMaofZHCC81aUkYUg== dependencies: ansi-colors "^4.1.1" extend-object "^1.0.0" @@ -49,180 +49,180 @@ path "^0.12.7" rimraf "^3.0.2" -"@abp/bootstrap-datepicker@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-3.0.4.tgz#d21963f158a4d348a0acdc46209e67378aae8e55" - integrity sha512-25e9qm39dj9AijIchQIdLlBiBM5/fhASkEuLKNt6M8S/e3qwKLwbRhX90DKMFvOyKdxxcK1gX7tDuGHyG9A8mA== +"@abp/bootstrap-datepicker@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-3.0.5.tgz#3a7fd86dbcadc31c11be5b2b31c8cf8ac3035540" + integrity sha512-vIY1wT4RHoJAPhVK11Q5MS71iZbwsmM/0VTBvvs04mjRSSi6xhdyRYkA+l+P49fnOwhZNaaK19XwQdVVScDuhA== dependencies: bootstrap-datepicker "^1.9.0" -"@abp/bootstrap@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-3.0.4.tgz#3b0e2b74dc174a04ce669de1b140df833eee6031" - integrity sha512-DwxL1fGYOwChPwmMpwUxCKiIdzTfRf/YDkOLUiwI8eRrpABBeuE2sSHKfks6Rqh9Wqo/nlWXvfccgDRqweqhsA== +"@abp/bootstrap@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-3.0.5.tgz#91f2c8fe6a57fc5789ae8fe9c206b2c159e55880" + integrity sha512-LdydeJIbw5k1k7FkWaI1lTectZeTXmEIoccJtj9Qx4N9yGt40wGsjz9SOvUdJ0IKAgntIWNQP8ohWiBPgzT7Xg== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" bootstrap "^4.5.0" bootstrap-v4-rtl "4.4.1-2" -"@abp/clipboard@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-3.0.4.tgz#17ff40e398de3c0ab5214e564d443ed52ac10630" - integrity sha512-vjjupRau7fgBxvQwaDrBHApP4Ce1x9XM7L64/c+A+oBny0SzuiSBGBYsjlFrJGmTHT/PhjoB1XQiBHrYYPXQfQ== +"@abp/clipboard@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-3.0.5.tgz#7ceadd21360db11c91582a532029bfe65d10a930" + integrity sha512-iq455C096L5D+b6IrWkMxA9mbpggBNZ1kWfCQ3rhIjo0qbOGrvdGB3uQ+BqRS9Ni9ku7vBb2COldouIC9KOp5A== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" clipboard "^2.0.6" -"@abp/core@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-3.0.4.tgz#281940525e280e9e3a1aa4cb4e8f64548ea026a3" - integrity sha512-ZPEH1fa5bf/f1ek9ZLQHx7u78iF6kRZ8Z2NBI36cNL13RyQbx485qJF+KXyqNlJoJAh0CAs0NsAJADU3utcDNA== +"@abp/core@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/core/-/core-3.0.5.tgz#9a7bd990d02edc8128a5be3233b6fbb5669b15b8" + integrity sha512-LdkSkZQfN4hugcGNxBkje0+eQomivwNFbnAkMFQbvCwYLwKB2yvk7GCemEetW1piqvyrUGz4jqhtunjoXps5JA== dependencies: - "@abp/utils" "^3.0.4" + "@abp/utils" "^3.0.5" -"@abp/datatables.net-bs4@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-3.0.4.tgz#e488336bd2c199146ea60464e0ba75aeb134957e" - integrity sha512-ID1XWKPxG9pv6mxBkku7JWvgXjTxJ1uShxmYv5kFYVuwOGMSvj8QVZInTHFcMdECopV56yjGPNOIFLeQj4Mw8Q== +"@abp/datatables.net-bs4@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-3.0.5.tgz#9b79935970d2d4074994240b5deb01dff5987c0a" + integrity sha512-jIWRBEG/NlhaE43i6Xzr18XJ5aTWA+WWslf7WgNOArG5slGBbH4lLLja4HswLP3NGdSmzIyHJR1p9XQ82nBkbQ== dependencies: - "@abp/datatables.net" "~3.0.4" + "@abp/datatables.net" "~3.0.5" datatables.net-bs4 "^1.10.21" -"@abp/datatables.net@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-3.0.4.tgz#7ef143b83143ad8d769be25296411a812a17b255" - integrity sha512-gdQwRuxO5fQWhG/DiUaf40DQ8dWIVGhOCyt6SZ8LQzq4uSaQqa0qrtTTTW2/aiee4MgJu2vJWYF5YCszIR/HhA== +"@abp/datatables.net@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-3.0.5.tgz#0a0a39e8fa54522bf8a09ce76ff3927207a79491" + integrity sha512-HClQ2tcZuWBAChf9oOJOtMP1zHv8jqloPEcw3iqbhS/tWZBw5VQ4TO+BVfZsqHDXZNnWSmR6/2xiKsK32nliew== dependencies: - "@abp/jquery" "~3.0.4" + "@abp/jquery" "~3.0.5" datatables.net "^1.10.21" -"@abp/docs@^3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/docs/-/docs-3.0.4.tgz#366d550247189981d5989652d3d2cf663ae518e5" - integrity sha512-NdqukX/oPkkmG31xZflc8oeVm0Up/CUZCBb9ahKCHleK7C0os8eQBQ52wO27dJFa5FaeUhW2ejLYT3aS2XkrTg== +"@abp/docs@^3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/docs/-/docs-3.0.5.tgz#733211ea72f3064ea5c23ed36a16c7f8b0ef5d8b" + integrity sha512-LQDHz6mE3ptP1AmpK+IEoY6edQB/t7Hu5ueLdtNHqTJWkwW7ngXOaECbkC2KVPywLqbXw0vzHBw2OnCVSKxtyw== dependencies: - "@abp/anchor-js" "~3.0.4" - "@abp/clipboard" "~3.0.4" - "@abp/malihu-custom-scrollbar-plugin" "~3.0.4" - "@abp/popper.js" "~3.0.4" - "@abp/prismjs" "~3.0.4" + "@abp/anchor-js" "~3.0.5" + "@abp/clipboard" "~3.0.5" + "@abp/malihu-custom-scrollbar-plugin" "~3.0.5" + "@abp/popper.js" "~3.0.5" + "@abp/prismjs" "~3.0.5" -"@abp/font-awesome@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-3.0.4.tgz#98f83d0bf8b5a2a4d988cb07f5cceda2e1bc1a09" - integrity sha512-AKhKCUXx8vdHIgyXUfbSLitfYor5dJbo4qMRRGqIJVSj+cyMkpgYbGjqr24GGijgZxdmOGL+s1b9iCUbIPgLNQ== +"@abp/font-awesome@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-3.0.5.tgz#62d58c34f0abf268e30bdf788dfbd3f45b19b412" + integrity sha512-/+31Vtw1S9vvuNy/rN/Q6awkgUaYNNYXESgfvqI0pqIkvlPgigvS8E68mHqGzsxyRqdZisI6JGd94AF+vJD7sQ== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" "@fortawesome/fontawesome-free" "^5.13.0" -"@abp/jquery-form@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-3.0.4.tgz#022eebbfe58b55e328984c0f119884c9464bc767" - integrity sha512-xDkk4rY0AmXBJE4qztzr2hZz+OVucVNWeagOEgeQHXJSKU/T+0kj0a1RxEHpyI24xBvEXAbe8PbByTbu0QXYew== +"@abp/jquery-form@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-3.0.5.tgz#9d2ea9b2509448ee163a163298a7a09480865f78" + integrity sha512-RKgvQciaMml33NvzA28aYyfNI+WQHRfKLFWvOvqc8qO4C3BvyrnwepuzZcnI/9UsELKLSLoFrfk3rJHhxnTJhg== dependencies: - "@abp/jquery" "~3.0.4" + "@abp/jquery" "~3.0.5" jquery-form "^4.3.0" -"@abp/jquery-validation-unobtrusive@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-3.0.4.tgz#6cc942aadcdde33893e7a45c84aa022e033e4e8b" - integrity sha512-N9sza91HCyPvJo+d0RAfq4skae3TgAYg7KXhlwzRE2hqUQS+EICVARURWyxJW7s7Zu6+gxDTkXhBZRTW56deZA== +"@abp/jquery-validation-unobtrusive@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-3.0.5.tgz#b8912e1c4cfdd4fdff6ad4aa7ee8693b55a3be1f" + integrity sha512-kPifDA+1ErbeQBwn+BzwtWuTHXzBke/EMCmITuj59plM/60gZ1ZfVm8EzzTmKS7iLaVVeOqTKf0vEQTobNYffw== dependencies: - "@abp/jquery-validation" "~3.0.4" + "@abp/jquery-validation" "~3.0.5" jquery-validation-unobtrusive "^3.2.11" -"@abp/jquery-validation@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-3.0.4.tgz#3f96d1f83c75a7fc47e5e5e12c51dbc8da7582b1" - integrity sha512-2ljqas4YKU0PcwB0wQW2qhXejDHjW+N1XCxZDyCZ2wF9UxGlKBR8rFt76TJByXSotKE7n2hJRZaOh9ICZUow2g== +"@abp/jquery-validation@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-3.0.5.tgz#55e36b3c832a35447fac69af312dedf1dee22279" + integrity sha512-fdqxc5CJ6TpUAF8+NEsKCmXvvZiOPR5bzczcfvfovxLOjvHvdEO74XPGjsjlBNTdaKMhmNGZRK4JRLUz7fvTng== dependencies: - "@abp/jquery" "~3.0.4" + "@abp/jquery" "~3.0.5" jquery-validation "^1.19.2" -"@abp/jquery@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-3.0.4.tgz#5f236d95cfae7f65012cd8778fd74490b7542442" - integrity sha512-g8N8Te5vf+8djdksfZoZ3tXaqlBC4Ra39pAWU/XerlLl64u+XmAX1s6yKRfC2kS8lf292GgiFYuNOkb77J6k4A== +"@abp/jquery@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-3.0.5.tgz#2e43ac19a8df6e1e0220d6d4991d33a93d890754" + integrity sha512-2d2l+smWKAVP4/b6GSO+8rmJ7pFXiUewpBDwkHm5qgkK6n6UGqIcK9lIgiS2YQ6rmL6qdtuNhhqtC9GF2TF2kQ== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" jquery "~3.5.1" -"@abp/lodash@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-3.0.4.tgz#ee60bc99f98b59fd9fc5ff4bbcf914a13faf209d" - integrity sha512-jxvv74Sm/fUKDBMylK4Ne/8GKm7GuHAdcLFtkoJQptdO+RjZpKJ86ULT+X5vbKskZaTj2fEmOR6l4hmfnBULTA== +"@abp/lodash@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-3.0.5.tgz#d5d9f14095d76239bc0e6f9804c24d1f92ffcab4" + integrity sha512-+B2vxfPwxoIIb8Ac8eHi6OgAn0qbjmPZuun7/es0/ouYYTbEhvhTAD20X3PGZlHrIYeDyS2ansuXm8gJI+/BzA== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" lodash "^4.17.15" -"@abp/luxon@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-3.0.4.tgz#aa1bf6a93d6254433101e50a205b276759969414" - integrity sha512-gX9dQJt9C6M1wmCSUIBoNr8CAt0jkUZFQ7LKKO/BoADGM/XFvY5vDbhL7zcwbwitgCOzmucoCxs/6rIxSOVlrg== +"@abp/luxon@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-3.0.5.tgz#083042c939ea58bf719e35114a6c8efb07b68688" + integrity sha512-0UVHO2CO89t34O35OA3JzWGWLBpg+e1NQXSfVtK90nmg/QmzGkHVM9m7Su0jjLNBt3N5EA5OPOhriot3bCKItw== dependencies: luxon "^1.24.1" -"@abp/malihu-custom-scrollbar-plugin@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.0.4.tgz#c54824b98363f4190cc6a37fcd421c2bfdc1e201" - integrity sha512-6LdSGctOr4ACtdohdSlb19vrFNJ5C0hy1VdbBEafHOBspXckvRVx4uJl2KfHmAC+bMg9apoK/wcHjVNdBHThYQ== +"@abp/malihu-custom-scrollbar-plugin@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.0.5.tgz#f908289927a63fd76fb8f60b00a37747d9edbe39" + integrity sha512-3GoXA8VtGyZWKiqaPCipPXYLLM7h2Y5Oecq5c5YlMQyW2akv7uHiQQF2GZW/nVsFu3HBbGTOWpKRRmVk3PEO9Q== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" malihu-custom-scrollbar-plugin "^3.1.5" -"@abp/popper.js@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/popper.js/-/popper.js-3.0.4.tgz#f68f2c3392dd9f86ce0f53cc12b33b0258bbbf9f" - integrity sha512-DTxqTMyLFLGjpf7sbKLJMsPbuZ/+8OdgqlO/JjNjyBVWCCM6b50yhYAcYKQq1f2kcqIegJv0B6+zDHAFMtnibg== +"@abp/popper.js@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/popper.js/-/popper.js-3.0.5.tgz#ef46770e3a63cf10c91d4bda983198cd84b8e063" + integrity sha512-5MzLBMRWh2hHLVJJIrvJa6c4fwEdUk9HmnqpaqXnSX52B4uy9jcBexMdi/H7+cmao9NHm+Ld9n9G0YA8vMNeKA== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" popper.js "^1.16.0" -"@abp/prismjs@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-3.0.4.tgz#9cd8113b33dfd1b349b12740a2f7462f88bf3841" - integrity sha512-D+RNAhUhOCXnBNZVOq9EQg883eRbPKlIpFsxeMW065XOm5g7iO0eJACvyqGC8mt5reHmtxApnfiGNlhT1dK+Eg== +"@abp/prismjs@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-3.0.5.tgz#81a6ef656f3d7a76f365eb0bcbf2d0d3013d6e72" + integrity sha512-vdSSa1+tXS5+HWIgQyjDy4yQG7Q1YyuHQnFU6zlDJCQlE+20PL6lYgPnqR7DQ+Cd4lhRb3oxvloImYjwiwSQvA== dependencies: - "@abp/clipboard" "~3.0.4" - "@abp/core" "~3.0.4" + "@abp/clipboard" "~3.0.5" + "@abp/core" "~3.0.5" prismjs "^1.20.0" -"@abp/select2@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-3.0.4.tgz#49db0cfbc9b08f6ae4949b2cb8bdef92d7d308dd" - integrity sha512-zKEgkWBFdGU2KiAMUKhucHqBfzDy2KNSefyqxpOiUd1L3PEKu+9o23HZRWzDupYltop+SO1Jw33CNoVAkKm4+A== +"@abp/select2@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-3.0.5.tgz#79d7754713c64a6549da520dc6867ef3e3dd0350" + integrity sha512-VbeSHdAdDy8exrjplHMMhLVV4oG7Gq9zBb5M52f0sIkA4DkXFhksXHcHNoOCfhaKAXpenGA03Z9GJewZ3MTpMw== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" select2 "^4.0.13" -"@abp/sweetalert@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-3.0.4.tgz#f85d11c5aabc6ceb509af1b8fd8d75bc3c74bd27" - integrity sha512-hO0qXUWxeMy/lfy3sb+5HvOmIPst6UvYJJGy3ZQR6DKEdkOktBX9sEDb7m6ij6xAIHqWIx1xLveul0oGteOG0Q== +"@abp/sweetalert@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-3.0.5.tgz#e3b92d23cf3633983980b6255bf63c43d422ceab" + integrity sha512-OUt4ANgj14GESfRG7+UqdONS8daOu+8x2OZDWv98hriuX0uCVBjwB2J0jRI/n653C68Mi0yHixGONDv9OLy/lg== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" sweetalert "^2.1.2" -"@abp/timeago@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-3.0.4.tgz#82d90a04f703a7db9c0acedcd2f3cea684e7ae18" - integrity sha512-7SbbqScTKCix25xWy5oLT0slJqUQsW6YgJgI0N41C3AsByRBXZeh5Gcep033gprTPmpgNY8JOWcEcCXySnYvfA== +"@abp/timeago@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-3.0.5.tgz#b191a7c43f3dc77645fe27273f2f6619f7d4eb31" + integrity sha512-QhvAOU4C+Qxh/gFuCSGZtLU4KwVhdv/jtK8ovWyqbGvQMCCIimqa8BFKIz0H5XWIJhHwwWblkpjICWgjWh6uXw== dependencies: - "@abp/jquery" "~3.0.4" + "@abp/jquery" "~3.0.5" timeago "^1.6.7" -"@abp/toastr@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-3.0.4.tgz#884ab2343ddd59981c291c632e3b0630532f7e9c" - integrity sha512-NG0pVD8bdIXGpjPW9cozCzmyuAdnSLE4vDYLUReP1pZFp9B8SMJqpgPk9eFg0Y06aaHTVMKYBKRoq9xXS4w9Xg== +"@abp/toastr@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-3.0.5.tgz#fc83b678f5be3a22040d0421ad9db5b2eac9d4fc" + integrity sha512-qgi2DEu6FYpN/DYcOZrmXsAr1HqcIKMhBWeXgjfoYUIl/K5+OuUgbQ69D/jdc0jz8HU9a4Cw7Q8hhe4CkgssEw== dependencies: - "@abp/jquery" "~3.0.4" + "@abp/jquery" "~3.0.5" toastr "^2.1.4" -"@abp/utils@^3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-3.0.4.tgz#38068fa8f735e1889cf2f226128366825948814d" - integrity sha512-TnXRZIZcxv5+EctEPsZEi2cyRXbpl3A679wzQa6BACv+pM45cjGO1JR8P0VswKN4TVL0aQRMv26N6U/uie8sEQ== +"@abp/utils@^3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-3.0.5.tgz#66b3da953500e73ff1f23d1b41168cde8216ce49" + integrity sha512-X9V1xLIEazItaf93nFSA4p94WT6QK3yA4eIyvU7GyyEkkOQdaakNwPbRwy930sd+I+/oXnIqM1vDsJu9QDhgvg== dependencies: just-compare "^1.3.0" diff --git a/npm/lerna.json b/npm/lerna.json index d50ae1cbff..d579e21dcb 100644 --- a/npm/lerna.json +++ b/npm/lerna.json @@ -1,5 +1,5 @@ { - "version": "3.0.4", + "version": "3.0.5", "packages": [ "packs/*" ], diff --git a/npm/ng-packs/package.json b/npm/ng-packs/package.json index 34b80c20d5..8e115e2171 100644 --- a/npm/ng-packs/package.json +++ b/npm/ng-packs/package.json @@ -23,16 +23,16 @@ "postinstall": "npm run compile:ivy" }, "devDependencies": { - "@abp/ng.account": "~3.0.4", - "@abp/ng.core": "~3.0.4", - "@abp/ng.feature-management": "~3.0.4", - "@abp/ng.identity": "~3.0.4", - "@abp/ng.permission-management": "~3.0.4", - "@abp/ng.setting-management": "~3.0.4", - "@abp/ng.tenant-management": "~3.0.4", - "@abp/ng.theme.basic": "~3.0.4", - "@abp/ng.theme.shared": "~3.0.4", - "@abp/utils": "^3.0.4", + "@abp/ng.account": "~3.0.5", + "@abp/ng.core": "~3.0.5", + "@abp/ng.feature-management": "~3.0.5", + "@abp/ng.identity": "~3.0.5", + "@abp/ng.permission-management": "~3.0.5", + "@abp/ng.setting-management": "~3.0.5", + "@abp/ng.tenant-management": "~3.0.5", + "@abp/ng.theme.basic": "~3.0.5", + "@abp/ng.theme.shared": "~3.0.5", + "@abp/utils": "^3.0.5", "@angular-builders/jest": "^9.0.1", "@angular-devkit/build-angular": "~0.1000.0", "@angular-devkit/build-ng-packagr": "~0.1000.0", diff --git a/npm/ng-packs/packages/core/package.json b/npm/ng-packs/packages/core/package.json index caa69a3dd1..4053f0fcc4 100644 --- a/npm/ng-packs/packages/core/package.json +++ b/npm/ng-packs/packages/core/package.json @@ -7,7 +7,7 @@ "url": "https://github.com/abpframework/abp.git" }, "dependencies": { - "@abp/utils": "^3.0.4", + "@abp/utils": "^3.0.5", "@angular/localize": "~9.1.11", "@ngxs/router-plugin": "^3.6.2", "@ngxs/storage-plugin": "^3.6.2", diff --git a/npm/ng-packs/yarn.lock b/npm/ng-packs/yarn.lock index a21acde057..47c7fa8e35 100644 --- a/npm/ng-packs/yarn.lock +++ b/npm/ng-packs/yarn.lock @@ -2,20 +2,20 @@ # yarn lockfile v1 -"@abp/ng.account@~3.0.3": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@abp/ng.account/-/ng.account-3.0.3.tgz#776cbfb833775c88d3f8a5b59aed27e57835e80c" - integrity sha512-A/m7LyK4Khgf4I7vGhrRCrvGd62QZhhu+hxhRlg/D9HQXDlhCjuSNmj2fh2br9d5OX+3CH+sJIGMucNz1Irscw== +"@abp/ng.account@~3.0.4": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@abp/ng.account/-/ng.account-3.0.4.tgz#5c75a30c912294b40cbc43f218d61cbe67a58355" + integrity sha512-a+ZjFoaNlJAYW3Hd+hEhq/TCVENc3x9D4Grf5/zr8h1WcETdgjx8rvRxhj6l6i/Ry/mAgPHOKuObSbb+pxVo6w== dependencies: - "@abp/ng.theme.shared" "~3.0.3" + "@abp/ng.theme.shared" "~3.0.4" tslib "^2.0.0" -"@abp/ng.core@~3.0.3": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@abp/ng.core/-/ng.core-3.0.3.tgz#9d2acaf6486ead963e52de717e7d4926f782b7cd" - integrity sha512-VPzPEsaIlKPudUAN9rrPnH49a44lsztRwL4AHDhlGdsS/VA0FcfzfOhOCihwuTxWYYeo5I64R5+Yf9RCkzWHWA== +"@abp/ng.core@~3.0.4": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@abp/ng.core/-/ng.core-3.0.4.tgz#ef86082c13d1ccbf0c48fb2b0ccd5a059e44215b" + integrity sha512-dBHCtcM4dVOvHJ88p8d71qpYpOvTjrvu78e6LO6qK7CsSoJq5B8EkYZgkV6MO2Kq5/p3mLHTtwuP3mkQSUfLJw== dependencies: - "@abp/utils" "^2.9.0" + "@abp/utils" "^3.0.3" "@angular/localize" "~9.1.11" "@ngxs/router-plugin" "^3.6.2" "@ngxs/storage-plugin" "^3.6.2" @@ -27,62 +27,62 @@ ts-toolbelt "^6.9.9" tslib "^2.0.0" -"@abp/ng.feature-management@~3.0.3": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@abp/ng.feature-management/-/ng.feature-management-3.0.3.tgz#ab715c01f80a2fa499a61709bcd5681337aaeda6" - integrity sha512-+fdkfPRxiKNEaJ7SARxIMYg5olnucF+Qb379ztCQiFnFuLSACa1VZh+YucZ87yIz105HCqoM3EgQ+nb/nvh2iw== +"@abp/ng.feature-management@~3.0.4": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@abp/ng.feature-management/-/ng.feature-management-3.0.4.tgz#127a81c9f8b045c38bc41de4ab49d29acaa14f70" + integrity sha512-TVNmjLhhg0VbaUlaXeDUsgpz5BX26aMzAY0dahsXhyM/dti2slIlEyyTKf673a1ve84nUuigrDJiAhi6WntUbw== dependencies: - "@abp/ng.theme.shared" "~3.0.3" + "@abp/ng.theme.shared" "~3.0.4" tslib "^2.0.0" -"@abp/ng.identity@~3.0.3": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@abp/ng.identity/-/ng.identity-3.0.3.tgz#9fbdac4e4d4e0df8f378142d0c80a143ec7f6b3f" - integrity sha512-/xjtX1anZru+yQV/Z/q4Lc4PV9fTXSaFfExYolD/0rOCFseiVvSXf6FhezwdsMN4uLxzMwR7YpMJYL/ynTX9WQ== +"@abp/ng.identity@~3.0.4": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@abp/ng.identity/-/ng.identity-3.0.4.tgz#321ab33db22d32013d2ea635616f6402717ebc40" + integrity sha512-ZJVh77gZVPKyexfLxo613NeiKWYSk/7q6QrMEzkeDM21R9VLyw5jGg00pw7hkmUldy5bObW/5VVCxJlCzSTwdg== dependencies: - "@abp/ng.permission-management" "~3.0.3" - "@abp/ng.theme.shared" "~3.0.3" + "@abp/ng.permission-management" "~3.0.4" + "@abp/ng.theme.shared" "~3.0.4" tslib "^2.0.0" -"@abp/ng.permission-management@~3.0.3": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@abp/ng.permission-management/-/ng.permission-management-3.0.3.tgz#3a49ff8b75501c41a9651d42b8342814fcd85717" - integrity sha512-9YU4GLEf1063/DVTQb+VXZdb0gxHpXd0L5RAAT1w5ztXHFFmAYfkUUijsZ7xovEANrcK3Fh9IkWmsKW79rccAQ== +"@abp/ng.permission-management@~3.0.4": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@abp/ng.permission-management/-/ng.permission-management-3.0.4.tgz#511226c1c0e1445a453015d8d85b013e7a009f96" + integrity sha512-hIiUdQh9XVvfmLc5B+eQpj36PxCcBzOCRRaBuGhd2+lecEVUV12EgpWq0fzW1laL9FV1REmqIKP5uzKUeUw4Dw== dependencies: - "@abp/ng.theme.shared" "~3.0.3" + "@abp/ng.theme.shared" "~3.0.4" tslib "^2.0.0" -"@abp/ng.setting-management@~3.0.3": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@abp/ng.setting-management/-/ng.setting-management-3.0.3.tgz#34c7cdd0e244ec9f3c01ae6d6ae0e3d2d18cc243" - integrity sha512-u8xxAZRNUKnkKsiwH6kvWldvfp7M1usYX4IKIjylvJTN2o9ejSxtkPYywFu4npA2Hw6f/YPM9OoKxK1F+dzfwg== +"@abp/ng.setting-management@~3.0.4": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@abp/ng.setting-management/-/ng.setting-management-3.0.4.tgz#880a8999e6f77a46bebb5c3ec2e53e652cb6b289" + integrity sha512-mnjxofTqE+n9C6x5nZkb0DQK/s0cZLwCFrhFoJdiQmfIewHU4AVbs7cT6L7FNewYwojPsCsppiR+y0cUaXDlMQ== dependencies: - "@abp/ng.theme.shared" "~3.0.3" + "@abp/ng.theme.shared" "~3.0.4" tslib "^2.0.0" -"@abp/ng.tenant-management@~3.0.3": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@abp/ng.tenant-management/-/ng.tenant-management-3.0.3.tgz#a6482d4415a4f71ce625336c64e2e6f7880495e6" - integrity sha512-nP+45enHnf3Gr28DYw+LT4swUsvoxu+KBT3YF9k8yVsE6DOZpMeDz5dVcUeTyOWJAAU6tEceGLdheeVjOVfsYA== +"@abp/ng.tenant-management@~3.0.4": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@abp/ng.tenant-management/-/ng.tenant-management-3.0.4.tgz#3e4edcb94b11b190451ef08115409f59cf164088" + integrity sha512-3lcq80Isa+gTZOKOyzQBd/6t4pe+mOakjZFWOBOpi4gmy4Mmun1KqbfaFoMW+v0wacQPGiznStdln0AeOXXj7g== dependencies: - "@abp/ng.feature-management" "~3.0.3" - "@abp/ng.theme.shared" "~3.0.3" + "@abp/ng.feature-management" "~3.0.4" + "@abp/ng.theme.shared" "~3.0.4" tslib "^2.0.0" -"@abp/ng.theme.basic@~3.0.3": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@abp/ng.theme.basic/-/ng.theme.basic-3.0.3.tgz#527f92988d6c3b80e7eedff89f5ad06d613c2154" - integrity sha512-l16y4wzJnqa63Jf+5/JIKUp9sfCoMENobBewoAFUHP2miHcFfWcL9Si8N6zEHy3J2zNY1eTQYoPh9N1PHULGtA== +"@abp/ng.theme.basic@~3.0.4": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@abp/ng.theme.basic/-/ng.theme.basic-3.0.4.tgz#655e4388f6dd91eea10bdf14f313d92bbec3cf49" + integrity sha512-bSIYntH0gF/HJVYOvuguZfKkkmA6zALSVj6OYQPNo3HW7+N++loawnbMyEbiBSd0V8JolkFHeX/xvOGlY12jnw== dependencies: - "@abp/ng.theme.shared" "~3.0.3" + "@abp/ng.theme.shared" "~3.0.4" tslib "^2.0.0" -"@abp/ng.theme.shared@~3.0.3": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@abp/ng.theme.shared/-/ng.theme.shared-3.0.3.tgz#fda2a9933cb05c1de83dd7a2c7c893273d67172e" - integrity sha512-4Xyw9W55WgsC4MwQ/A49U2lZtTSXNpH9oduFazwG7sxDjWkPTjbKkUFfYBCj5ZJZijuIO8C9qT9g7IvVesXJiw== +"@abp/ng.theme.shared@~3.0.4": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@abp/ng.theme.shared/-/ng.theme.shared-3.0.4.tgz#d12f560b7e90d91a659c1227bd4e8c25b4f8cd3e" + integrity sha512-0Z37zIiNU0ZVK7F5nP/7uS6ppPGlltUUvlf/l6RdOKi4aUbUtSRqDVoAbTl29AV14A8gicWkSFYKK+2wxoN09Q== dependencies: - "@abp/ng.core" "~3.0.3" + "@abp/ng.core" "~3.0.4" "@fortawesome/fontawesome-free" "^5.13.1" "@ng-bootstrap/ng-bootstrap" "^6.1.0" "@ngx-validate/core" "^0.0.9" @@ -91,13 +91,6 @@ chart.js "^2.9.3" tslib "^2.0.0" -"@abp/utils@^2.9.0": - version "2.9.0" - resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-2.9.0.tgz#8a66b7e1d422eae5898d32af7810d6bd625276f2" - integrity sha512-0gvWUH3jT7YE4ym2C45uKDzHs/oOdMW5lPq9ncCZ58wMxTrgPvxXNuMmRW0P259OcXYiRwmsNtb09/WlTQQbKA== - dependencies: - just-compare "^1.3.0" - "@abp/utils@^3.0.3": version "3.0.3" resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-3.0.3.tgz#563aa062882ca82227b749d90458adafa46ae73b" @@ -105,6 +98,13 @@ dependencies: just-compare "^1.3.0" +"@abp/utils@^3.0.4": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-3.0.4.tgz#38068fa8f735e1889cf2f226128366825948814d" + integrity sha512-TnXRZIZcxv5+EctEPsZEi2cyRXbpl3A679wzQa6BACv+pM45cjGO1JR8P0VswKN4TVL0aQRMv26N6U/uie8sEQ== + dependencies: + just-compare "^1.3.0" + "@angular-builders/jest@^9.0.1": version "9.0.1" resolved "https://registry.yarnpkg.com/@angular-builders/jest/-/jest-9.0.1.tgz#e2fcdce8f9ad3060eb8a19bdb17dc47075b8eec5" @@ -2307,17 +2307,17 @@ rxjs "6.5.5" webpack-sources "1.4.3" -"@ngx-validate/core@^0.0.8": - version "0.0.8" - resolved "https://registry.yarnpkg.com/@ngx-validate/core/-/core-0.0.8.tgz#8577405eb1af0f5002cdda7a86fbcda56280f116" - integrity sha512-caIG5ao76Xhf7T+pNA8crnpAwK0yqj3i0OAUGZRUq1W+kNgz+ZnrSd4F9an/W4g+38u/8gfUVvsfsm07ju6qYA== +"@ngx-validate/core@^0.0.10": + version "0.0.10" + resolved "https://registry.yarnpkg.com/@ngx-validate/core/-/core-0.0.10.tgz#a9ff36e5645533f5bc2d4850a980582bdfee8033" + integrity sha512-/uq22KteDF3WcJEMNaK7C9eT6Mxw8rlPqJfq2XteO2g3utzx/n/gKDdb0GzD/2eefjmO1qq98XQKgpFzQXoTag== dependencies: tslib "^1.9.0" -"@ngx-validate/core@^0.0.9": - version "0.0.9" - resolved "https://registry.yarnpkg.com/@ngx-validate/core/-/core-0.0.9.tgz#c5baea9e6f2f28c70d1adaf1edde5a9bcc8929c0" - integrity sha512-bvgwGr3l47gyxqsfKkI8c7UNMlv8ct/OvwYVDjYI7GBt0A+nhBb+xFmirWbBkMT64bUI0Y8pWIiB5qiewPG1WA== +"@ngx-validate/core@^0.0.8", "@ngx-validate/core@^0.0.9": + version "0.0.8" + resolved "https://registry.yarnpkg.com/@ngx-validate/core/-/core-0.0.8.tgz#8577405eb1af0f5002cdda7a86fbcda56280f116" + integrity sha512-caIG5ao76Xhf7T+pNA8crnpAwK0yqj3i0OAUGZRUq1W+kNgz+ZnrSd4F9an/W4g+38u/8gfUVvsfsm07ju6qYA== dependencies: tslib "^1.9.0" diff --git a/npm/packs/anchor-js/package.json b/npm/packs/anchor-js/package.json index ea89140113..46682b6f63 100644 --- a/npm/packs/anchor-js/package.json +++ b/npm/packs/anchor-js/package.json @@ -1,11 +1,11 @@ { - "version": "3.0.4", + "version": "3.0.5", "name": "@abp/anchor-js", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/core": "~3.0.4", + "@abp/core": "~3.0.5", "anchor-js": "^4.2.2" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431" diff --git a/npm/packs/aspnetcore.mvc.ui.theme.basic/package.json b/npm/packs/aspnetcore.mvc.ui.theme.basic/package.json index 465ba8a266..6fc6fed793 100644 --- a/npm/packs/aspnetcore.mvc.ui.theme.basic/package.json +++ b/npm/packs/aspnetcore.mvc.ui.theme.basic/package.json @@ -1,11 +1,11 @@ { - "version": "3.0.4", + "version": "3.0.5", "name": "@abp/aspnetcore.mvc.ui.theme.basic", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.shared": "~3.0.4" + "@abp/aspnetcore.mvc.ui.theme.shared": "~3.0.5" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431" } diff --git a/npm/packs/aspnetcore.mvc.ui.theme.shared/package.json b/npm/packs/aspnetcore.mvc.ui.theme.shared/package.json index 27d1d777c3..48c1f069cd 100644 --- a/npm/packs/aspnetcore.mvc.ui.theme.shared/package.json +++ b/npm/packs/aspnetcore.mvc.ui.theme.shared/package.json @@ -1,24 +1,24 @@ { - "version": "3.0.4", + "version": "3.0.5", "name": "@abp/aspnetcore.mvc.ui.theme.shared", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/aspnetcore.mvc.ui": "~3.0.4", - "@abp/bootstrap": "~3.0.4", - "@abp/bootstrap-datepicker": "~3.0.4", - "@abp/datatables.net-bs4": "~3.0.4", - "@abp/font-awesome": "~3.0.4", - "@abp/jquery-form": "~3.0.4", - "@abp/jquery-validation-unobtrusive": "~3.0.4", - "@abp/lodash": "~3.0.4", - "@abp/luxon": "~3.0.4", - "@abp/malihu-custom-scrollbar-plugin": "~3.0.4", - "@abp/select2": "~3.0.4", - "@abp/sweetalert": "~3.0.4", - "@abp/timeago": "~3.0.4", - "@abp/toastr": "~3.0.4" + "@abp/aspnetcore.mvc.ui": "~3.0.5", + "@abp/bootstrap": "~3.0.5", + "@abp/bootstrap-datepicker": "~3.0.5", + "@abp/datatables.net-bs4": "~3.0.5", + "@abp/font-awesome": "~3.0.5", + "@abp/jquery-form": "~3.0.5", + "@abp/jquery-validation-unobtrusive": "~3.0.5", + "@abp/lodash": "~3.0.5", + "@abp/luxon": "~3.0.5", + "@abp/malihu-custom-scrollbar-plugin": "~3.0.5", + "@abp/select2": "~3.0.5", + "@abp/sweetalert": "~3.0.5", + "@abp/timeago": "~3.0.5", + "@abp/toastr": "~3.0.5" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431" } diff --git a/npm/packs/aspnetcore.mvc.ui/package.json b/npm/packs/aspnetcore.mvc.ui/package.json index 64d2ca90d2..696d17b60d 100644 --- a/npm/packs/aspnetcore.mvc.ui/package.json +++ b/npm/packs/aspnetcore.mvc.ui/package.json @@ -1,5 +1,5 @@ { - "version": "3.0.4", + "version": "3.0.5", "name": "@abp/aspnetcore.mvc.ui", "publishConfig": { "access": "public" diff --git a/npm/packs/blogging/package.json b/npm/packs/blogging/package.json index 940e6d1a99..3d5e348c65 100644 --- a/npm/packs/blogging/package.json +++ b/npm/packs/blogging/package.json @@ -1,14 +1,14 @@ { - "version": "3.0.4", + "version": "3.0.5", "name": "@abp/blogging", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.shared": "~3.0.4", - "@abp/owl.carousel": "~3.0.4", - "@abp/prismjs": "~3.0.4", - "@abp/tui-editor": "~3.0.4" + "@abp/aspnetcore.mvc.ui.theme.shared": "~3.0.5", + "@abp/owl.carousel": "~3.0.5", + "@abp/prismjs": "~3.0.5", + "@abp/tui-editor": "~3.0.5" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431" } diff --git a/npm/packs/bootstrap-datepicker/package.json b/npm/packs/bootstrap-datepicker/package.json index 328a651d4d..8ed3926062 100644 --- a/npm/packs/bootstrap-datepicker/package.json +++ b/npm/packs/bootstrap-datepicker/package.json @@ -1,5 +1,5 @@ { - "version": "3.0.4", + "version": "3.0.5", "name": "@abp/bootstrap-datepicker", "publishConfig": { "access": "public" diff --git a/npm/packs/bootstrap/package.json b/npm/packs/bootstrap/package.json index e947de7d73..27f6429250 100644 --- a/npm/packs/bootstrap/package.json +++ b/npm/packs/bootstrap/package.json @@ -1,11 +1,11 @@ { - "version": "3.0.4", + "version": "3.0.5", "name": "@abp/bootstrap", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/core": "~3.0.4", + "@abp/core": "~3.0.5", "bootstrap": "^4.5.0", "bootstrap-v4-rtl": "4.4.1-2" }, diff --git a/npm/packs/chart.js/package.json b/npm/packs/chart.js/package.json index 63a83934e5..44706cfb48 100644 --- a/npm/packs/chart.js/package.json +++ b/npm/packs/chart.js/package.json @@ -1,5 +1,5 @@ { - "version": "3.0.4", + "version": "3.0.5", "name": "@abp/chart.js", "publishConfig": { "access": "public" diff --git a/npm/packs/clipboard/package.json b/npm/packs/clipboard/package.json index ce8091a714..d626350d91 100644 --- a/npm/packs/clipboard/package.json +++ b/npm/packs/clipboard/package.json @@ -1,11 +1,11 @@ { - "version": "3.0.4", + "version": "3.0.5", "name": "@abp/clipboard", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/core": "~3.0.4", + "@abp/core": "~3.0.5", "clipboard": "^2.0.6" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431" diff --git a/npm/packs/codemirror/package.json b/npm/packs/codemirror/package.json index 7fc667918a..b0c40c327f 100644 --- a/npm/packs/codemirror/package.json +++ b/npm/packs/codemirror/package.json @@ -1,11 +1,11 @@ { - "version": "3.0.4", + "version": "3.0.5", "name": "@abp/codemirror", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/core": "~3.0.4", + "@abp/core": "~3.0.5", "codemirror": "^5.54.0" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431" diff --git a/npm/packs/core/package.json b/npm/packs/core/package.json index 8da4452e26..a07cff3de4 100644 --- a/npm/packs/core/package.json +++ b/npm/packs/core/package.json @@ -1,11 +1,11 @@ { - "version": "3.0.4", + "version": "3.0.5", "name": "@abp/core", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/utils": "^3.0.4" + "@abp/utils": "^3.0.5" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431" } diff --git a/npm/packs/datatables.net-bs4/package.json b/npm/packs/datatables.net-bs4/package.json index 0152370cc0..6ed96fdcfe 100644 --- a/npm/packs/datatables.net-bs4/package.json +++ b/npm/packs/datatables.net-bs4/package.json @@ -1,11 +1,11 @@ { - "version": "3.0.4", + "version": "3.0.5", "name": "@abp/datatables.net-bs4", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/datatables.net": "~3.0.4", + "@abp/datatables.net": "~3.0.5", "datatables.net-bs4": "^1.10.21" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431" diff --git a/npm/packs/datatables.net/package.json b/npm/packs/datatables.net/package.json index 63dc5c09d0..4951603420 100644 --- a/npm/packs/datatables.net/package.json +++ b/npm/packs/datatables.net/package.json @@ -1,11 +1,11 @@ { - "version": "3.0.4", + "version": "3.0.5", "name": "@abp/datatables.net", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/jquery": "~3.0.4", + "@abp/jquery": "~3.0.5", "datatables.net": "^1.10.21" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431" diff --git a/npm/packs/docs/package.json b/npm/packs/docs/package.json index a1a61e5374..7e69852140 100644 --- a/npm/packs/docs/package.json +++ b/npm/packs/docs/package.json @@ -1,15 +1,15 @@ { - "version": "3.0.4", + "version": "3.0.5", "name": "@abp/docs", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/anchor-js": "~3.0.4", - "@abp/clipboard": "~3.0.4", - "@abp/malihu-custom-scrollbar-plugin": "~3.0.4", - "@abp/popper.js": "~3.0.4", - "@abp/prismjs": "~3.0.4" + "@abp/anchor-js": "~3.0.5", + "@abp/clipboard": "~3.0.5", + "@abp/malihu-custom-scrollbar-plugin": "~3.0.5", + "@abp/popper.js": "~3.0.5", + "@abp/prismjs": "~3.0.5" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431" } diff --git a/npm/packs/flag-icon-css/package.json b/npm/packs/flag-icon-css/package.json index 83075847dd..b202c8f700 100644 --- a/npm/packs/flag-icon-css/package.json +++ b/npm/packs/flag-icon-css/package.json @@ -1,5 +1,5 @@ { - "version": "3.0.4", + "version": "3.0.5", "name": "@abp/flag-icon-css", "publishConfig": { "access": "public" diff --git a/npm/packs/font-awesome/package.json b/npm/packs/font-awesome/package.json index 15671a9b4d..e957d1c62d 100644 --- a/npm/packs/font-awesome/package.json +++ b/npm/packs/font-awesome/package.json @@ -1,11 +1,11 @@ { - "version": "3.0.4", + "version": "3.0.5", "name": "@abp/font-awesome", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/core": "~3.0.4", + "@abp/core": "~3.0.5", "@fortawesome/fontawesome-free": "^5.13.0" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431" diff --git a/npm/packs/highlight.js/package.json b/npm/packs/highlight.js/package.json index b21fb57afa..2960c75ead 100644 --- a/npm/packs/highlight.js/package.json +++ b/npm/packs/highlight.js/package.json @@ -1,11 +1,11 @@ { - "version": "3.0.4", + "version": "3.0.5", "name": "@abp/highlight.js", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/core": "~3.0.4" + "@abp/core": "~3.0.5" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431" } diff --git a/npm/packs/jquery-form/package.json b/npm/packs/jquery-form/package.json index 3cfdcc3602..2cd395c4b1 100644 --- a/npm/packs/jquery-form/package.json +++ b/npm/packs/jquery-form/package.json @@ -1,11 +1,11 @@ { - "version": "3.0.4", + "version": "3.0.5", "name": "@abp/jquery-form", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/jquery": "~3.0.4", + "@abp/jquery": "~3.0.5", "jquery-form": "^4.3.0" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431" diff --git a/npm/packs/jquery-validation-unobtrusive/package.json b/npm/packs/jquery-validation-unobtrusive/package.json index 2d57c56413..5d507c8e20 100644 --- a/npm/packs/jquery-validation-unobtrusive/package.json +++ b/npm/packs/jquery-validation-unobtrusive/package.json @@ -1,11 +1,11 @@ { - "version": "3.0.4", + "version": "3.0.5", "name": "@abp/jquery-validation-unobtrusive", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/jquery-validation": "~3.0.4", + "@abp/jquery-validation": "~3.0.5", "jquery-validation-unobtrusive": "^3.2.11" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431" diff --git a/npm/packs/jquery-validation/package.json b/npm/packs/jquery-validation/package.json index a86fa9372a..9f007c3315 100644 --- a/npm/packs/jquery-validation/package.json +++ b/npm/packs/jquery-validation/package.json @@ -1,11 +1,11 @@ { - "version": "3.0.4", + "version": "3.0.5", "name": "@abp/jquery-validation", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/jquery": "~3.0.4", + "@abp/jquery": "~3.0.5", "jquery-validation": "^1.19.2" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431" diff --git a/npm/packs/jquery/package.json b/npm/packs/jquery/package.json index c58627aaf3..4079a3bc6c 100644 --- a/npm/packs/jquery/package.json +++ b/npm/packs/jquery/package.json @@ -1,11 +1,11 @@ { - "version": "3.0.4", + "version": "3.0.5", "name": "@abp/jquery", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/core": "~3.0.4", + "@abp/core": "~3.0.5", "jquery": "~3.5.1" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431" diff --git a/npm/packs/jstree/package.json b/npm/packs/jstree/package.json index fd8bddea83..32a3f486fc 100644 --- a/npm/packs/jstree/package.json +++ b/npm/packs/jstree/package.json @@ -1,11 +1,11 @@ { - "version": "3.0.4", + "version": "3.0.5", "name": "@abp/jstree", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/jquery": "~3.0.4", + "@abp/jquery": "~3.0.5", "jstree": "^3.3.9" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431" diff --git a/npm/packs/lodash/package.json b/npm/packs/lodash/package.json index 7014643df6..ad7e20f48e 100644 --- a/npm/packs/lodash/package.json +++ b/npm/packs/lodash/package.json @@ -1,11 +1,11 @@ { - "version": "3.0.4", + "version": "3.0.5", "name": "@abp/lodash", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/core": "~3.0.4", + "@abp/core": "~3.0.5", "lodash": "^4.17.15" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431" diff --git a/npm/packs/luxon/package.json b/npm/packs/luxon/package.json index 2ad8cafee7..57a6053319 100644 --- a/npm/packs/luxon/package.json +++ b/npm/packs/luxon/package.json @@ -1,5 +1,5 @@ { - "version": "3.0.4", + "version": "3.0.5", "name": "@abp/luxon", "publishConfig": { "access": "public" diff --git a/npm/packs/malihu-custom-scrollbar-plugin/package.json b/npm/packs/malihu-custom-scrollbar-plugin/package.json index 0a299b6b6b..b55ecc6e70 100644 --- a/npm/packs/malihu-custom-scrollbar-plugin/package.json +++ b/npm/packs/malihu-custom-scrollbar-plugin/package.json @@ -1,11 +1,11 @@ { - "version": "3.0.4", + "version": "3.0.5", "name": "@abp/malihu-custom-scrollbar-plugin", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/core": "~3.0.4", + "@abp/core": "~3.0.5", "malihu-custom-scrollbar-plugin": "^3.1.5" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431" diff --git a/npm/packs/markdown-it/package.json b/npm/packs/markdown-it/package.json index 46937fd395..a7f0b6ffe4 100644 --- a/npm/packs/markdown-it/package.json +++ b/npm/packs/markdown-it/package.json @@ -1,11 +1,11 @@ { - "version": "3.0.4", + "version": "3.0.5", "name": "@abp/markdown-it", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/core": "~3.0.4", + "@abp/core": "~3.0.5", "markdown-it": "^11.0.0" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431" diff --git a/npm/packs/owl.carousel/package.json b/npm/packs/owl.carousel/package.json index 395dbb4993..43e6158c89 100644 --- a/npm/packs/owl.carousel/package.json +++ b/npm/packs/owl.carousel/package.json @@ -1,11 +1,11 @@ { - "version": "3.0.4", + "version": "3.0.5", "name": "@abp/owl.carousel", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/core": "~3.0.4", + "@abp/core": "~3.0.5", "owl.carousel": "^2.3.4" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431" diff --git a/npm/packs/popper.js/package.json b/npm/packs/popper.js/package.json index 88e846b04b..a72938dde0 100644 --- a/npm/packs/popper.js/package.json +++ b/npm/packs/popper.js/package.json @@ -1,11 +1,11 @@ { - "version": "3.0.4", + "version": "3.0.5", "name": "@abp/popper.js", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/core": "~3.0.4", + "@abp/core": "~3.0.5", "popper.js": "^1.16.0" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431" diff --git a/npm/packs/prismjs/package.json b/npm/packs/prismjs/package.json index e9f07e79f0..50abdd0dd8 100644 --- a/npm/packs/prismjs/package.json +++ b/npm/packs/prismjs/package.json @@ -1,12 +1,12 @@ { - "version": "3.0.4", + "version": "3.0.5", "name": "@abp/prismjs", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/clipboard": "~3.0.4", - "@abp/core": "~3.0.4", + "@abp/clipboard": "~3.0.5", + "@abp/core": "~3.0.5", "prismjs": "^1.20.0" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431" diff --git a/npm/packs/select2/package.json b/npm/packs/select2/package.json index 26a0d670dc..c5962f82ba 100644 --- a/npm/packs/select2/package.json +++ b/npm/packs/select2/package.json @@ -1,11 +1,11 @@ { - "version": "3.0.4", + "version": "3.0.5", "name": "@abp/select2", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/core": "~3.0.4", + "@abp/core": "~3.0.5", "select2": "^4.0.13" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431" diff --git a/npm/packs/signalr/package.json b/npm/packs/signalr/package.json index 1a1b38f340..de52d4ffb7 100644 --- a/npm/packs/signalr/package.json +++ b/npm/packs/signalr/package.json @@ -1,11 +1,11 @@ { - "version": "3.0.4", + "version": "3.0.5", "name": "@abp/signalr", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/core": "~3.0.4", + "@abp/core": "~3.0.5", "@microsoft/signalr": "~3.1.5" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431" diff --git a/npm/packs/sweetalert/package.json b/npm/packs/sweetalert/package.json index 217a51da0a..f9c2242b4f 100644 --- a/npm/packs/sweetalert/package.json +++ b/npm/packs/sweetalert/package.json @@ -1,11 +1,11 @@ { - "version": "3.0.4", + "version": "3.0.5", "name": "@abp/sweetalert", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/core": "~3.0.4", + "@abp/core": "~3.0.5", "sweetalert": "^2.1.2" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431" diff --git a/npm/packs/timeago/package.json b/npm/packs/timeago/package.json index 062ca29477..24b105e01d 100644 --- a/npm/packs/timeago/package.json +++ b/npm/packs/timeago/package.json @@ -1,11 +1,11 @@ { - "version": "3.0.4", + "version": "3.0.5", "name": "@abp/timeago", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/jquery": "~3.0.4", + "@abp/jquery": "~3.0.5", "timeago": "^1.6.7" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431" diff --git a/npm/packs/toastr/package.json b/npm/packs/toastr/package.json index 68b1ccce2e..d723d028ab 100644 --- a/npm/packs/toastr/package.json +++ b/npm/packs/toastr/package.json @@ -1,11 +1,11 @@ { - "version": "3.0.4", + "version": "3.0.5", "name": "@abp/toastr", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/jquery": "~3.0.4", + "@abp/jquery": "~3.0.5", "toastr": "^2.1.4" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431" diff --git a/npm/packs/tui-editor/package.json b/npm/packs/tui-editor/package.json index 21e73780cd..c11f4e147d 100644 --- a/npm/packs/tui-editor/package.json +++ b/npm/packs/tui-editor/package.json @@ -1,14 +1,14 @@ { - "version": "3.0.4", + "version": "3.0.5", "name": "@abp/tui-editor", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/codemirror": "~3.0.4", - "@abp/highlight.js": "~3.0.4", - "@abp/jquery": "~3.0.4", - "@abp/markdown-it": "~3.0.4", + "@abp/codemirror": "~3.0.5", + "@abp/highlight.js": "~3.0.5", + "@abp/jquery": "~3.0.5", + "@abp/markdown-it": "~3.0.5", "tui-editor": "^1.4.10" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431" diff --git a/npm/packs/uppy/package.json b/npm/packs/uppy/package.json index bf20e7ff4f..1d305a4b97 100644 --- a/npm/packs/uppy/package.json +++ b/npm/packs/uppy/package.json @@ -1,11 +1,11 @@ { - "version": "3.0.4", + "version": "3.0.5", "name": "@abp/uppy", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/core": "~3.0.4", + "@abp/core": "~3.0.5", "uppy": "^1.16.1" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431" diff --git a/npm/packs/utils/package.json b/npm/packs/utils/package.json index a26fd4b3a1..56bc5fc2cb 100644 --- a/npm/packs/utils/package.json +++ b/npm/packs/utils/package.json @@ -1,6 +1,6 @@ { "name": "@abp/utils", - "version": "3.0.4", + "version": "3.0.5", "scripts": { "prepublish": "yarn install --ignore-scripts && node prepublish.js", "ng": "ng", diff --git a/npm/packs/virtual-file-explorer/package.json b/npm/packs/virtual-file-explorer/package.json index ca84fe0fb2..0399257896 100644 --- a/npm/packs/virtual-file-explorer/package.json +++ b/npm/packs/virtual-file-explorer/package.json @@ -1,12 +1,12 @@ { - "version": "3.0.4", + "version": "3.0.5", "name": "@abp/virtual-file-explorer", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/clipboard": "~3.0.4", - "@abp/prismjs": "~3.0.4" + "@abp/clipboard": "~3.0.5", + "@abp/prismjs": "~3.0.5" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431" } diff --git a/samples/MicroserviceDemo/applications/AuthServer.Host/package.json b/samples/MicroserviceDemo/applications/AuthServer.Host/package.json index 4703fa55e2..ca42c9b30d 100644 --- a/samples/MicroserviceDemo/applications/AuthServer.Host/package.json +++ b/samples/MicroserviceDemo/applications/AuthServer.Host/package.json @@ -3,6 +3,6 @@ "name": "msdemo-authserver-host", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.basic": "^3.0.4" + "@abp/aspnetcore.mvc.ui.theme.basic": "^3.0.5" } } \ No newline at end of file diff --git a/samples/MicroserviceDemo/applications/AuthServer.Host/yarn.lock b/samples/MicroserviceDemo/applications/AuthServer.Host/yarn.lock index d62d8487a6..5ae8f98f25 100644 --- a/samples/MicroserviceDemo/applications/AuthServer.Host/yarn.lock +++ b/samples/MicroserviceDemo/applications/AuthServer.Host/yarn.lock @@ -2,37 +2,37 @@ # yarn lockfile v1 -"@abp/aspnetcore.mvc.ui.theme.basic@^3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-3.0.4.tgz#c58e3e06ba78279875cf2b5f96d34b83ce09f6df" - integrity sha512-tKKqVRKpwN7P4Mn+he3bcz4Qbt8bkZ++wk6iOujd6HLTkBNa0uKyM4L6+iCn1Hi62S6HeK2Xytx+b+IYeIlsuw== - dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "~3.0.4" - -"@abp/aspnetcore.mvc.ui.theme.shared@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-3.0.4.tgz#50db612b6492d36c63dd9042000a9fb00fecec54" - integrity sha512-imd2T5XXkNvGQyXV/A9hA80qSeurKaUcW6HDkte8Y2fs4QfvkjgzWXi7neqF6F+HVbYYPg3rIBWC6QF1OXGn2w== - dependencies: - "@abp/aspnetcore.mvc.ui" "~3.0.4" - "@abp/bootstrap" "~3.0.4" - "@abp/bootstrap-datepicker" "~3.0.4" - "@abp/datatables.net-bs4" "~3.0.4" - "@abp/font-awesome" "~3.0.4" - "@abp/jquery-form" "~3.0.4" - "@abp/jquery-validation-unobtrusive" "~3.0.4" - "@abp/lodash" "~3.0.4" - "@abp/luxon" "~3.0.4" - "@abp/malihu-custom-scrollbar-plugin" "~3.0.4" - "@abp/select2" "~3.0.4" - "@abp/sweetalert" "~3.0.4" - "@abp/timeago" "~3.0.4" - "@abp/toastr" "~3.0.4" - -"@abp/aspnetcore.mvc.ui@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-3.0.4.tgz#4e4344d95a98a60c53037b351cb915d8ff7a7dcb" - integrity sha512-p7KI5CKkpD4EYzG4fCtygrtZhwMu7Z+IZFGbdqXelLbI5ACkbJyrn+N+9trPfS9papymeXY4p1E3v6xOH7rSHQ== +"@abp/aspnetcore.mvc.ui.theme.basic@^3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-3.0.5.tgz#c146f20226522f0305cc0fa31cfcf9d39be78901" + integrity sha512-ptNhD4xV2wSLW7vQ5KUgaRiH5Ov1OscZW2ZEoivnt3kqgtIC3DGw+SiE9vjFCvyY83fjRkIlW2PIfQxSySbteQ== + dependencies: + "@abp/aspnetcore.mvc.ui.theme.shared" "~3.0.5" + +"@abp/aspnetcore.mvc.ui.theme.shared@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-3.0.5.tgz#5b370902cf229963f9aa10dd64482d57299dde76" + integrity sha512-iobAH39xrCdnqdaABaiYZg4lqNSOwPkMCLnyc+ytxOMbu/YnNKahXPmRhgd8dR/l+iQY1+6T4SWfLdGswi3gAg== + dependencies: + "@abp/aspnetcore.mvc.ui" "~3.0.5" + "@abp/bootstrap" "~3.0.5" + "@abp/bootstrap-datepicker" "~3.0.5" + "@abp/datatables.net-bs4" "~3.0.5" + "@abp/font-awesome" "~3.0.5" + "@abp/jquery-form" "~3.0.5" + "@abp/jquery-validation-unobtrusive" "~3.0.5" + "@abp/lodash" "~3.0.5" + "@abp/luxon" "~3.0.5" + "@abp/malihu-custom-scrollbar-plugin" "~3.0.5" + "@abp/select2" "~3.0.5" + "@abp/sweetalert" "~3.0.5" + "@abp/timeago" "~3.0.5" + "@abp/toastr" "~3.0.5" + +"@abp/aspnetcore.mvc.ui@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-3.0.5.tgz#a050eaee328c56a3730f5abbf25035adf612d6f0" + integrity sha512-/EOgjXTzR+I1OK9KA7L3yzQ2RGSDW97+n3cQrSdLAUF+tnRvMJS0nytDlSJSRK2hb8/clFMaofZHCC81aUkYUg== dependencies: ansi-colors "^4.1.1" extend-object "^1.0.0" @@ -41,144 +41,144 @@ path "^0.12.7" rimraf "^3.0.2" -"@abp/bootstrap-datepicker@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-3.0.4.tgz#d21963f158a4d348a0acdc46209e67378aae8e55" - integrity sha512-25e9qm39dj9AijIchQIdLlBiBM5/fhASkEuLKNt6M8S/e3qwKLwbRhX90DKMFvOyKdxxcK1gX7tDuGHyG9A8mA== +"@abp/bootstrap-datepicker@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-3.0.5.tgz#3a7fd86dbcadc31c11be5b2b31c8cf8ac3035540" + integrity sha512-vIY1wT4RHoJAPhVK11Q5MS71iZbwsmM/0VTBvvs04mjRSSi6xhdyRYkA+l+P49fnOwhZNaaK19XwQdVVScDuhA== dependencies: bootstrap-datepicker "^1.9.0" -"@abp/bootstrap@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-3.0.4.tgz#3b0e2b74dc174a04ce669de1b140df833eee6031" - integrity sha512-DwxL1fGYOwChPwmMpwUxCKiIdzTfRf/YDkOLUiwI8eRrpABBeuE2sSHKfks6Rqh9Wqo/nlWXvfccgDRqweqhsA== +"@abp/bootstrap@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-3.0.5.tgz#91f2c8fe6a57fc5789ae8fe9c206b2c159e55880" + integrity sha512-LdydeJIbw5k1k7FkWaI1lTectZeTXmEIoccJtj9Qx4N9yGt40wGsjz9SOvUdJ0IKAgntIWNQP8ohWiBPgzT7Xg== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" bootstrap "^4.5.0" bootstrap-v4-rtl "4.4.1-2" -"@abp/core@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-3.0.4.tgz#281940525e280e9e3a1aa4cb4e8f64548ea026a3" - integrity sha512-ZPEH1fa5bf/f1ek9ZLQHx7u78iF6kRZ8Z2NBI36cNL13RyQbx485qJF+KXyqNlJoJAh0CAs0NsAJADU3utcDNA== +"@abp/core@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/core/-/core-3.0.5.tgz#9a7bd990d02edc8128a5be3233b6fbb5669b15b8" + integrity sha512-LdkSkZQfN4hugcGNxBkje0+eQomivwNFbnAkMFQbvCwYLwKB2yvk7GCemEetW1piqvyrUGz4jqhtunjoXps5JA== dependencies: - "@abp/utils" "^3.0.4" + "@abp/utils" "^3.0.5" -"@abp/datatables.net-bs4@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-3.0.4.tgz#e488336bd2c199146ea60464e0ba75aeb134957e" - integrity sha512-ID1XWKPxG9pv6mxBkku7JWvgXjTxJ1uShxmYv5kFYVuwOGMSvj8QVZInTHFcMdECopV56yjGPNOIFLeQj4Mw8Q== +"@abp/datatables.net-bs4@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-3.0.5.tgz#9b79935970d2d4074994240b5deb01dff5987c0a" + integrity sha512-jIWRBEG/NlhaE43i6Xzr18XJ5aTWA+WWslf7WgNOArG5slGBbH4lLLja4HswLP3NGdSmzIyHJR1p9XQ82nBkbQ== dependencies: - "@abp/datatables.net" "~3.0.4" + "@abp/datatables.net" "~3.0.5" datatables.net-bs4 "^1.10.21" -"@abp/datatables.net@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-3.0.4.tgz#7ef143b83143ad8d769be25296411a812a17b255" - integrity sha512-gdQwRuxO5fQWhG/DiUaf40DQ8dWIVGhOCyt6SZ8LQzq4uSaQqa0qrtTTTW2/aiee4MgJu2vJWYF5YCszIR/HhA== +"@abp/datatables.net@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-3.0.5.tgz#0a0a39e8fa54522bf8a09ce76ff3927207a79491" + integrity sha512-HClQ2tcZuWBAChf9oOJOtMP1zHv8jqloPEcw3iqbhS/tWZBw5VQ4TO+BVfZsqHDXZNnWSmR6/2xiKsK32nliew== dependencies: - "@abp/jquery" "~3.0.4" + "@abp/jquery" "~3.0.5" datatables.net "^1.10.21" -"@abp/font-awesome@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-3.0.4.tgz#98f83d0bf8b5a2a4d988cb07f5cceda2e1bc1a09" - integrity sha512-AKhKCUXx8vdHIgyXUfbSLitfYor5dJbo4qMRRGqIJVSj+cyMkpgYbGjqr24GGijgZxdmOGL+s1b9iCUbIPgLNQ== +"@abp/font-awesome@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-3.0.5.tgz#62d58c34f0abf268e30bdf788dfbd3f45b19b412" + integrity sha512-/+31Vtw1S9vvuNy/rN/Q6awkgUaYNNYXESgfvqI0pqIkvlPgigvS8E68mHqGzsxyRqdZisI6JGd94AF+vJD7sQ== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" "@fortawesome/fontawesome-free" "^5.13.0" -"@abp/jquery-form@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-3.0.4.tgz#022eebbfe58b55e328984c0f119884c9464bc767" - integrity sha512-xDkk4rY0AmXBJE4qztzr2hZz+OVucVNWeagOEgeQHXJSKU/T+0kj0a1RxEHpyI24xBvEXAbe8PbByTbu0QXYew== +"@abp/jquery-form@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-3.0.5.tgz#9d2ea9b2509448ee163a163298a7a09480865f78" + integrity sha512-RKgvQciaMml33NvzA28aYyfNI+WQHRfKLFWvOvqc8qO4C3BvyrnwepuzZcnI/9UsELKLSLoFrfk3rJHhxnTJhg== dependencies: - "@abp/jquery" "~3.0.4" + "@abp/jquery" "~3.0.5" jquery-form "^4.3.0" -"@abp/jquery-validation-unobtrusive@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-3.0.4.tgz#6cc942aadcdde33893e7a45c84aa022e033e4e8b" - integrity sha512-N9sza91HCyPvJo+d0RAfq4skae3TgAYg7KXhlwzRE2hqUQS+EICVARURWyxJW7s7Zu6+gxDTkXhBZRTW56deZA== +"@abp/jquery-validation-unobtrusive@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-3.0.5.tgz#b8912e1c4cfdd4fdff6ad4aa7ee8693b55a3be1f" + integrity sha512-kPifDA+1ErbeQBwn+BzwtWuTHXzBke/EMCmITuj59plM/60gZ1ZfVm8EzzTmKS7iLaVVeOqTKf0vEQTobNYffw== dependencies: - "@abp/jquery-validation" "~3.0.4" + "@abp/jquery-validation" "~3.0.5" jquery-validation-unobtrusive "^3.2.11" -"@abp/jquery-validation@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-3.0.4.tgz#3f96d1f83c75a7fc47e5e5e12c51dbc8da7582b1" - integrity sha512-2ljqas4YKU0PcwB0wQW2qhXejDHjW+N1XCxZDyCZ2wF9UxGlKBR8rFt76TJByXSotKE7n2hJRZaOh9ICZUow2g== +"@abp/jquery-validation@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-3.0.5.tgz#55e36b3c832a35447fac69af312dedf1dee22279" + integrity sha512-fdqxc5CJ6TpUAF8+NEsKCmXvvZiOPR5bzczcfvfovxLOjvHvdEO74XPGjsjlBNTdaKMhmNGZRK4JRLUz7fvTng== dependencies: - "@abp/jquery" "~3.0.4" + "@abp/jquery" "~3.0.5" jquery-validation "^1.19.2" -"@abp/jquery@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-3.0.4.tgz#5f236d95cfae7f65012cd8778fd74490b7542442" - integrity sha512-g8N8Te5vf+8djdksfZoZ3tXaqlBC4Ra39pAWU/XerlLl64u+XmAX1s6yKRfC2kS8lf292GgiFYuNOkb77J6k4A== +"@abp/jquery@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-3.0.5.tgz#2e43ac19a8df6e1e0220d6d4991d33a93d890754" + integrity sha512-2d2l+smWKAVP4/b6GSO+8rmJ7pFXiUewpBDwkHm5qgkK6n6UGqIcK9lIgiS2YQ6rmL6qdtuNhhqtC9GF2TF2kQ== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" jquery "~3.5.1" -"@abp/lodash@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-3.0.4.tgz#ee60bc99f98b59fd9fc5ff4bbcf914a13faf209d" - integrity sha512-jxvv74Sm/fUKDBMylK4Ne/8GKm7GuHAdcLFtkoJQptdO+RjZpKJ86ULT+X5vbKskZaTj2fEmOR6l4hmfnBULTA== +"@abp/lodash@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-3.0.5.tgz#d5d9f14095d76239bc0e6f9804c24d1f92ffcab4" + integrity sha512-+B2vxfPwxoIIb8Ac8eHi6OgAn0qbjmPZuun7/es0/ouYYTbEhvhTAD20X3PGZlHrIYeDyS2ansuXm8gJI+/BzA== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" lodash "^4.17.15" -"@abp/luxon@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-3.0.4.tgz#aa1bf6a93d6254433101e50a205b276759969414" - integrity sha512-gX9dQJt9C6M1wmCSUIBoNr8CAt0jkUZFQ7LKKO/BoADGM/XFvY5vDbhL7zcwbwitgCOzmucoCxs/6rIxSOVlrg== +"@abp/luxon@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-3.0.5.tgz#083042c939ea58bf719e35114a6c8efb07b68688" + integrity sha512-0UVHO2CO89t34O35OA3JzWGWLBpg+e1NQXSfVtK90nmg/QmzGkHVM9m7Su0jjLNBt3N5EA5OPOhriot3bCKItw== dependencies: luxon "^1.24.1" -"@abp/malihu-custom-scrollbar-plugin@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.0.4.tgz#c54824b98363f4190cc6a37fcd421c2bfdc1e201" - integrity sha512-6LdSGctOr4ACtdohdSlb19vrFNJ5C0hy1VdbBEafHOBspXckvRVx4uJl2KfHmAC+bMg9apoK/wcHjVNdBHThYQ== +"@abp/malihu-custom-scrollbar-plugin@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.0.5.tgz#f908289927a63fd76fb8f60b00a37747d9edbe39" + integrity sha512-3GoXA8VtGyZWKiqaPCipPXYLLM7h2Y5Oecq5c5YlMQyW2akv7uHiQQF2GZW/nVsFu3HBbGTOWpKRRmVk3PEO9Q== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" malihu-custom-scrollbar-plugin "^3.1.5" -"@abp/select2@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-3.0.4.tgz#49db0cfbc9b08f6ae4949b2cb8bdef92d7d308dd" - integrity sha512-zKEgkWBFdGU2KiAMUKhucHqBfzDy2KNSefyqxpOiUd1L3PEKu+9o23HZRWzDupYltop+SO1Jw33CNoVAkKm4+A== +"@abp/select2@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-3.0.5.tgz#79d7754713c64a6549da520dc6867ef3e3dd0350" + integrity sha512-VbeSHdAdDy8exrjplHMMhLVV4oG7Gq9zBb5M52f0sIkA4DkXFhksXHcHNoOCfhaKAXpenGA03Z9GJewZ3MTpMw== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" select2 "^4.0.13" -"@abp/sweetalert@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-3.0.4.tgz#f85d11c5aabc6ceb509af1b8fd8d75bc3c74bd27" - integrity sha512-hO0qXUWxeMy/lfy3sb+5HvOmIPst6UvYJJGy3ZQR6DKEdkOktBX9sEDb7m6ij6xAIHqWIx1xLveul0oGteOG0Q== +"@abp/sweetalert@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-3.0.5.tgz#e3b92d23cf3633983980b6255bf63c43d422ceab" + integrity sha512-OUt4ANgj14GESfRG7+UqdONS8daOu+8x2OZDWv98hriuX0uCVBjwB2J0jRI/n653C68Mi0yHixGONDv9OLy/lg== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" sweetalert "^2.1.2" -"@abp/timeago@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-3.0.4.tgz#82d90a04f703a7db9c0acedcd2f3cea684e7ae18" - integrity sha512-7SbbqScTKCix25xWy5oLT0slJqUQsW6YgJgI0N41C3AsByRBXZeh5Gcep033gprTPmpgNY8JOWcEcCXySnYvfA== +"@abp/timeago@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-3.0.5.tgz#b191a7c43f3dc77645fe27273f2f6619f7d4eb31" + integrity sha512-QhvAOU4C+Qxh/gFuCSGZtLU4KwVhdv/jtK8ovWyqbGvQMCCIimqa8BFKIz0H5XWIJhHwwWblkpjICWgjWh6uXw== dependencies: - "@abp/jquery" "~3.0.4" + "@abp/jquery" "~3.0.5" timeago "^1.6.7" -"@abp/toastr@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-3.0.4.tgz#884ab2343ddd59981c291c632e3b0630532f7e9c" - integrity sha512-NG0pVD8bdIXGpjPW9cozCzmyuAdnSLE4vDYLUReP1pZFp9B8SMJqpgPk9eFg0Y06aaHTVMKYBKRoq9xXS4w9Xg== +"@abp/toastr@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-3.0.5.tgz#fc83b678f5be3a22040d0421ad9db5b2eac9d4fc" + integrity sha512-qgi2DEu6FYpN/DYcOZrmXsAr1HqcIKMhBWeXgjfoYUIl/K5+OuUgbQ69D/jdc0jz8HU9a4Cw7Q8hhe4CkgssEw== dependencies: - "@abp/jquery" "~3.0.4" + "@abp/jquery" "~3.0.5" toastr "^2.1.4" -"@abp/utils@^3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-3.0.4.tgz#38068fa8f735e1889cf2f226128366825948814d" - integrity sha512-TnXRZIZcxv5+EctEPsZEi2cyRXbpl3A679wzQa6BACv+pM45cjGO1JR8P0VswKN4TVL0aQRMv26N6U/uie8sEQ== +"@abp/utils@^3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-3.0.5.tgz#66b3da953500e73ff1f23d1b41168cde8216ce49" + integrity sha512-X9V1xLIEazItaf93nFSA4p94WT6QK3yA4eIyvU7GyyEkkOQdaakNwPbRwy930sd+I+/oXnIqM1vDsJu9QDhgvg== dependencies: just-compare "^1.3.0" diff --git a/samples/MicroserviceDemo/applications/BackendAdminApp.Host/package.json b/samples/MicroserviceDemo/applications/BackendAdminApp.Host/package.json index 463c4d76ef..e8ec90a0dd 100644 --- a/samples/MicroserviceDemo/applications/BackendAdminApp.Host/package.json +++ b/samples/MicroserviceDemo/applications/BackendAdminApp.Host/package.json @@ -3,6 +3,6 @@ "name": "msdemo-backend-admin-app-host", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.basic": "^3.0.4" + "@abp/aspnetcore.mvc.ui.theme.basic": "^3.0.5" } } \ No newline at end of file diff --git a/samples/MicroserviceDemo/applications/BackendAdminApp.Host/yarn.lock b/samples/MicroserviceDemo/applications/BackendAdminApp.Host/yarn.lock index d62d8487a6..5ae8f98f25 100644 --- a/samples/MicroserviceDemo/applications/BackendAdminApp.Host/yarn.lock +++ b/samples/MicroserviceDemo/applications/BackendAdminApp.Host/yarn.lock @@ -2,37 +2,37 @@ # yarn lockfile v1 -"@abp/aspnetcore.mvc.ui.theme.basic@^3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-3.0.4.tgz#c58e3e06ba78279875cf2b5f96d34b83ce09f6df" - integrity sha512-tKKqVRKpwN7P4Mn+he3bcz4Qbt8bkZ++wk6iOujd6HLTkBNa0uKyM4L6+iCn1Hi62S6HeK2Xytx+b+IYeIlsuw== - dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "~3.0.4" - -"@abp/aspnetcore.mvc.ui.theme.shared@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-3.0.4.tgz#50db612b6492d36c63dd9042000a9fb00fecec54" - integrity sha512-imd2T5XXkNvGQyXV/A9hA80qSeurKaUcW6HDkte8Y2fs4QfvkjgzWXi7neqF6F+HVbYYPg3rIBWC6QF1OXGn2w== - dependencies: - "@abp/aspnetcore.mvc.ui" "~3.0.4" - "@abp/bootstrap" "~3.0.4" - "@abp/bootstrap-datepicker" "~3.0.4" - "@abp/datatables.net-bs4" "~3.0.4" - "@abp/font-awesome" "~3.0.4" - "@abp/jquery-form" "~3.0.4" - "@abp/jquery-validation-unobtrusive" "~3.0.4" - "@abp/lodash" "~3.0.4" - "@abp/luxon" "~3.0.4" - "@abp/malihu-custom-scrollbar-plugin" "~3.0.4" - "@abp/select2" "~3.0.4" - "@abp/sweetalert" "~3.0.4" - "@abp/timeago" "~3.0.4" - "@abp/toastr" "~3.0.4" - -"@abp/aspnetcore.mvc.ui@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-3.0.4.tgz#4e4344d95a98a60c53037b351cb915d8ff7a7dcb" - integrity sha512-p7KI5CKkpD4EYzG4fCtygrtZhwMu7Z+IZFGbdqXelLbI5ACkbJyrn+N+9trPfS9papymeXY4p1E3v6xOH7rSHQ== +"@abp/aspnetcore.mvc.ui.theme.basic@^3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-3.0.5.tgz#c146f20226522f0305cc0fa31cfcf9d39be78901" + integrity sha512-ptNhD4xV2wSLW7vQ5KUgaRiH5Ov1OscZW2ZEoivnt3kqgtIC3DGw+SiE9vjFCvyY83fjRkIlW2PIfQxSySbteQ== + dependencies: + "@abp/aspnetcore.mvc.ui.theme.shared" "~3.0.5" + +"@abp/aspnetcore.mvc.ui.theme.shared@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-3.0.5.tgz#5b370902cf229963f9aa10dd64482d57299dde76" + integrity sha512-iobAH39xrCdnqdaABaiYZg4lqNSOwPkMCLnyc+ytxOMbu/YnNKahXPmRhgd8dR/l+iQY1+6T4SWfLdGswi3gAg== + dependencies: + "@abp/aspnetcore.mvc.ui" "~3.0.5" + "@abp/bootstrap" "~3.0.5" + "@abp/bootstrap-datepicker" "~3.0.5" + "@abp/datatables.net-bs4" "~3.0.5" + "@abp/font-awesome" "~3.0.5" + "@abp/jquery-form" "~3.0.5" + "@abp/jquery-validation-unobtrusive" "~3.0.5" + "@abp/lodash" "~3.0.5" + "@abp/luxon" "~3.0.5" + "@abp/malihu-custom-scrollbar-plugin" "~3.0.5" + "@abp/select2" "~3.0.5" + "@abp/sweetalert" "~3.0.5" + "@abp/timeago" "~3.0.5" + "@abp/toastr" "~3.0.5" + +"@abp/aspnetcore.mvc.ui@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-3.0.5.tgz#a050eaee328c56a3730f5abbf25035adf612d6f0" + integrity sha512-/EOgjXTzR+I1OK9KA7L3yzQ2RGSDW97+n3cQrSdLAUF+tnRvMJS0nytDlSJSRK2hb8/clFMaofZHCC81aUkYUg== dependencies: ansi-colors "^4.1.1" extend-object "^1.0.0" @@ -41,144 +41,144 @@ path "^0.12.7" rimraf "^3.0.2" -"@abp/bootstrap-datepicker@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-3.0.4.tgz#d21963f158a4d348a0acdc46209e67378aae8e55" - integrity sha512-25e9qm39dj9AijIchQIdLlBiBM5/fhASkEuLKNt6M8S/e3qwKLwbRhX90DKMFvOyKdxxcK1gX7tDuGHyG9A8mA== +"@abp/bootstrap-datepicker@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-3.0.5.tgz#3a7fd86dbcadc31c11be5b2b31c8cf8ac3035540" + integrity sha512-vIY1wT4RHoJAPhVK11Q5MS71iZbwsmM/0VTBvvs04mjRSSi6xhdyRYkA+l+P49fnOwhZNaaK19XwQdVVScDuhA== dependencies: bootstrap-datepicker "^1.9.0" -"@abp/bootstrap@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-3.0.4.tgz#3b0e2b74dc174a04ce669de1b140df833eee6031" - integrity sha512-DwxL1fGYOwChPwmMpwUxCKiIdzTfRf/YDkOLUiwI8eRrpABBeuE2sSHKfks6Rqh9Wqo/nlWXvfccgDRqweqhsA== +"@abp/bootstrap@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-3.0.5.tgz#91f2c8fe6a57fc5789ae8fe9c206b2c159e55880" + integrity sha512-LdydeJIbw5k1k7FkWaI1lTectZeTXmEIoccJtj9Qx4N9yGt40wGsjz9SOvUdJ0IKAgntIWNQP8ohWiBPgzT7Xg== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" bootstrap "^4.5.0" bootstrap-v4-rtl "4.4.1-2" -"@abp/core@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-3.0.4.tgz#281940525e280e9e3a1aa4cb4e8f64548ea026a3" - integrity sha512-ZPEH1fa5bf/f1ek9ZLQHx7u78iF6kRZ8Z2NBI36cNL13RyQbx485qJF+KXyqNlJoJAh0CAs0NsAJADU3utcDNA== +"@abp/core@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/core/-/core-3.0.5.tgz#9a7bd990d02edc8128a5be3233b6fbb5669b15b8" + integrity sha512-LdkSkZQfN4hugcGNxBkje0+eQomivwNFbnAkMFQbvCwYLwKB2yvk7GCemEetW1piqvyrUGz4jqhtunjoXps5JA== dependencies: - "@abp/utils" "^3.0.4" + "@abp/utils" "^3.0.5" -"@abp/datatables.net-bs4@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-3.0.4.tgz#e488336bd2c199146ea60464e0ba75aeb134957e" - integrity sha512-ID1XWKPxG9pv6mxBkku7JWvgXjTxJ1uShxmYv5kFYVuwOGMSvj8QVZInTHFcMdECopV56yjGPNOIFLeQj4Mw8Q== +"@abp/datatables.net-bs4@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-3.0.5.tgz#9b79935970d2d4074994240b5deb01dff5987c0a" + integrity sha512-jIWRBEG/NlhaE43i6Xzr18XJ5aTWA+WWslf7WgNOArG5slGBbH4lLLja4HswLP3NGdSmzIyHJR1p9XQ82nBkbQ== dependencies: - "@abp/datatables.net" "~3.0.4" + "@abp/datatables.net" "~3.0.5" datatables.net-bs4 "^1.10.21" -"@abp/datatables.net@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-3.0.4.tgz#7ef143b83143ad8d769be25296411a812a17b255" - integrity sha512-gdQwRuxO5fQWhG/DiUaf40DQ8dWIVGhOCyt6SZ8LQzq4uSaQqa0qrtTTTW2/aiee4MgJu2vJWYF5YCszIR/HhA== +"@abp/datatables.net@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-3.0.5.tgz#0a0a39e8fa54522bf8a09ce76ff3927207a79491" + integrity sha512-HClQ2tcZuWBAChf9oOJOtMP1zHv8jqloPEcw3iqbhS/tWZBw5VQ4TO+BVfZsqHDXZNnWSmR6/2xiKsK32nliew== dependencies: - "@abp/jquery" "~3.0.4" + "@abp/jquery" "~3.0.5" datatables.net "^1.10.21" -"@abp/font-awesome@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-3.0.4.tgz#98f83d0bf8b5a2a4d988cb07f5cceda2e1bc1a09" - integrity sha512-AKhKCUXx8vdHIgyXUfbSLitfYor5dJbo4qMRRGqIJVSj+cyMkpgYbGjqr24GGijgZxdmOGL+s1b9iCUbIPgLNQ== +"@abp/font-awesome@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-3.0.5.tgz#62d58c34f0abf268e30bdf788dfbd3f45b19b412" + integrity sha512-/+31Vtw1S9vvuNy/rN/Q6awkgUaYNNYXESgfvqI0pqIkvlPgigvS8E68mHqGzsxyRqdZisI6JGd94AF+vJD7sQ== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" "@fortawesome/fontawesome-free" "^5.13.0" -"@abp/jquery-form@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-3.0.4.tgz#022eebbfe58b55e328984c0f119884c9464bc767" - integrity sha512-xDkk4rY0AmXBJE4qztzr2hZz+OVucVNWeagOEgeQHXJSKU/T+0kj0a1RxEHpyI24xBvEXAbe8PbByTbu0QXYew== +"@abp/jquery-form@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-3.0.5.tgz#9d2ea9b2509448ee163a163298a7a09480865f78" + integrity sha512-RKgvQciaMml33NvzA28aYyfNI+WQHRfKLFWvOvqc8qO4C3BvyrnwepuzZcnI/9UsELKLSLoFrfk3rJHhxnTJhg== dependencies: - "@abp/jquery" "~3.0.4" + "@abp/jquery" "~3.0.5" jquery-form "^4.3.0" -"@abp/jquery-validation-unobtrusive@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-3.0.4.tgz#6cc942aadcdde33893e7a45c84aa022e033e4e8b" - integrity sha512-N9sza91HCyPvJo+d0RAfq4skae3TgAYg7KXhlwzRE2hqUQS+EICVARURWyxJW7s7Zu6+gxDTkXhBZRTW56deZA== +"@abp/jquery-validation-unobtrusive@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-3.0.5.tgz#b8912e1c4cfdd4fdff6ad4aa7ee8693b55a3be1f" + integrity sha512-kPifDA+1ErbeQBwn+BzwtWuTHXzBke/EMCmITuj59plM/60gZ1ZfVm8EzzTmKS7iLaVVeOqTKf0vEQTobNYffw== dependencies: - "@abp/jquery-validation" "~3.0.4" + "@abp/jquery-validation" "~3.0.5" jquery-validation-unobtrusive "^3.2.11" -"@abp/jquery-validation@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-3.0.4.tgz#3f96d1f83c75a7fc47e5e5e12c51dbc8da7582b1" - integrity sha512-2ljqas4YKU0PcwB0wQW2qhXejDHjW+N1XCxZDyCZ2wF9UxGlKBR8rFt76TJByXSotKE7n2hJRZaOh9ICZUow2g== +"@abp/jquery-validation@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-3.0.5.tgz#55e36b3c832a35447fac69af312dedf1dee22279" + integrity sha512-fdqxc5CJ6TpUAF8+NEsKCmXvvZiOPR5bzczcfvfovxLOjvHvdEO74XPGjsjlBNTdaKMhmNGZRK4JRLUz7fvTng== dependencies: - "@abp/jquery" "~3.0.4" + "@abp/jquery" "~3.0.5" jquery-validation "^1.19.2" -"@abp/jquery@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-3.0.4.tgz#5f236d95cfae7f65012cd8778fd74490b7542442" - integrity sha512-g8N8Te5vf+8djdksfZoZ3tXaqlBC4Ra39pAWU/XerlLl64u+XmAX1s6yKRfC2kS8lf292GgiFYuNOkb77J6k4A== +"@abp/jquery@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-3.0.5.tgz#2e43ac19a8df6e1e0220d6d4991d33a93d890754" + integrity sha512-2d2l+smWKAVP4/b6GSO+8rmJ7pFXiUewpBDwkHm5qgkK6n6UGqIcK9lIgiS2YQ6rmL6qdtuNhhqtC9GF2TF2kQ== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" jquery "~3.5.1" -"@abp/lodash@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-3.0.4.tgz#ee60bc99f98b59fd9fc5ff4bbcf914a13faf209d" - integrity sha512-jxvv74Sm/fUKDBMylK4Ne/8GKm7GuHAdcLFtkoJQptdO+RjZpKJ86ULT+X5vbKskZaTj2fEmOR6l4hmfnBULTA== +"@abp/lodash@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-3.0.5.tgz#d5d9f14095d76239bc0e6f9804c24d1f92ffcab4" + integrity sha512-+B2vxfPwxoIIb8Ac8eHi6OgAn0qbjmPZuun7/es0/ouYYTbEhvhTAD20X3PGZlHrIYeDyS2ansuXm8gJI+/BzA== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" lodash "^4.17.15" -"@abp/luxon@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-3.0.4.tgz#aa1bf6a93d6254433101e50a205b276759969414" - integrity sha512-gX9dQJt9C6M1wmCSUIBoNr8CAt0jkUZFQ7LKKO/BoADGM/XFvY5vDbhL7zcwbwitgCOzmucoCxs/6rIxSOVlrg== +"@abp/luxon@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-3.0.5.tgz#083042c939ea58bf719e35114a6c8efb07b68688" + integrity sha512-0UVHO2CO89t34O35OA3JzWGWLBpg+e1NQXSfVtK90nmg/QmzGkHVM9m7Su0jjLNBt3N5EA5OPOhriot3bCKItw== dependencies: luxon "^1.24.1" -"@abp/malihu-custom-scrollbar-plugin@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.0.4.tgz#c54824b98363f4190cc6a37fcd421c2bfdc1e201" - integrity sha512-6LdSGctOr4ACtdohdSlb19vrFNJ5C0hy1VdbBEafHOBspXckvRVx4uJl2KfHmAC+bMg9apoK/wcHjVNdBHThYQ== +"@abp/malihu-custom-scrollbar-plugin@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.0.5.tgz#f908289927a63fd76fb8f60b00a37747d9edbe39" + integrity sha512-3GoXA8VtGyZWKiqaPCipPXYLLM7h2Y5Oecq5c5YlMQyW2akv7uHiQQF2GZW/nVsFu3HBbGTOWpKRRmVk3PEO9Q== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" malihu-custom-scrollbar-plugin "^3.1.5" -"@abp/select2@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-3.0.4.tgz#49db0cfbc9b08f6ae4949b2cb8bdef92d7d308dd" - integrity sha512-zKEgkWBFdGU2KiAMUKhucHqBfzDy2KNSefyqxpOiUd1L3PEKu+9o23HZRWzDupYltop+SO1Jw33CNoVAkKm4+A== +"@abp/select2@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-3.0.5.tgz#79d7754713c64a6549da520dc6867ef3e3dd0350" + integrity sha512-VbeSHdAdDy8exrjplHMMhLVV4oG7Gq9zBb5M52f0sIkA4DkXFhksXHcHNoOCfhaKAXpenGA03Z9GJewZ3MTpMw== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" select2 "^4.0.13" -"@abp/sweetalert@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-3.0.4.tgz#f85d11c5aabc6ceb509af1b8fd8d75bc3c74bd27" - integrity sha512-hO0qXUWxeMy/lfy3sb+5HvOmIPst6UvYJJGy3ZQR6DKEdkOktBX9sEDb7m6ij6xAIHqWIx1xLveul0oGteOG0Q== +"@abp/sweetalert@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-3.0.5.tgz#e3b92d23cf3633983980b6255bf63c43d422ceab" + integrity sha512-OUt4ANgj14GESfRG7+UqdONS8daOu+8x2OZDWv98hriuX0uCVBjwB2J0jRI/n653C68Mi0yHixGONDv9OLy/lg== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" sweetalert "^2.1.2" -"@abp/timeago@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-3.0.4.tgz#82d90a04f703a7db9c0acedcd2f3cea684e7ae18" - integrity sha512-7SbbqScTKCix25xWy5oLT0slJqUQsW6YgJgI0N41C3AsByRBXZeh5Gcep033gprTPmpgNY8JOWcEcCXySnYvfA== +"@abp/timeago@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-3.0.5.tgz#b191a7c43f3dc77645fe27273f2f6619f7d4eb31" + integrity sha512-QhvAOU4C+Qxh/gFuCSGZtLU4KwVhdv/jtK8ovWyqbGvQMCCIimqa8BFKIz0H5XWIJhHwwWblkpjICWgjWh6uXw== dependencies: - "@abp/jquery" "~3.0.4" + "@abp/jquery" "~3.0.5" timeago "^1.6.7" -"@abp/toastr@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-3.0.4.tgz#884ab2343ddd59981c291c632e3b0630532f7e9c" - integrity sha512-NG0pVD8bdIXGpjPW9cozCzmyuAdnSLE4vDYLUReP1pZFp9B8SMJqpgPk9eFg0Y06aaHTVMKYBKRoq9xXS4w9Xg== +"@abp/toastr@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-3.0.5.tgz#fc83b678f5be3a22040d0421ad9db5b2eac9d4fc" + integrity sha512-qgi2DEu6FYpN/DYcOZrmXsAr1HqcIKMhBWeXgjfoYUIl/K5+OuUgbQ69D/jdc0jz8HU9a4Cw7Q8hhe4CkgssEw== dependencies: - "@abp/jquery" "~3.0.4" + "@abp/jquery" "~3.0.5" toastr "^2.1.4" -"@abp/utils@^3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-3.0.4.tgz#38068fa8f735e1889cf2f226128366825948814d" - integrity sha512-TnXRZIZcxv5+EctEPsZEi2cyRXbpl3A679wzQa6BACv+pM45cjGO1JR8P0VswKN4TVL0aQRMv26N6U/uie8sEQ== +"@abp/utils@^3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-3.0.5.tgz#66b3da953500e73ff1f23d1b41168cde8216ce49" + integrity sha512-X9V1xLIEazItaf93nFSA4p94WT6QK3yA4eIyvU7GyyEkkOQdaakNwPbRwy930sd+I+/oXnIqM1vDsJu9QDhgvg== dependencies: just-compare "^1.3.0" diff --git a/samples/MicroserviceDemo/applications/PublicWebSite.Host/package.json b/samples/MicroserviceDemo/applications/PublicWebSite.Host/package.json index 99f89245c2..0c86649c83 100644 --- a/samples/MicroserviceDemo/applications/PublicWebSite.Host/package.json +++ b/samples/MicroserviceDemo/applications/PublicWebSite.Host/package.json @@ -3,7 +3,7 @@ "name": "msdemo-backend-admin-app-host", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.basic": "^3.0.4", - "@abp/blogging": "^3.0.4" + "@abp/aspnetcore.mvc.ui.theme.basic": "^3.0.5", + "@abp/blogging": "^3.0.5" } } \ No newline at end of file diff --git a/samples/MicroserviceDemo/applications/PublicWebSite.Host/yarn.lock b/samples/MicroserviceDemo/applications/PublicWebSite.Host/yarn.lock index 2b18fbb278..db2496a775 100644 --- a/samples/MicroserviceDemo/applications/PublicWebSite.Host/yarn.lock +++ b/samples/MicroserviceDemo/applications/PublicWebSite.Host/yarn.lock @@ -2,37 +2,37 @@ # yarn lockfile v1 -"@abp/aspnetcore.mvc.ui.theme.basic@^3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-3.0.4.tgz#c58e3e06ba78279875cf2b5f96d34b83ce09f6df" - integrity sha512-tKKqVRKpwN7P4Mn+he3bcz4Qbt8bkZ++wk6iOujd6HLTkBNa0uKyM4L6+iCn1Hi62S6HeK2Xytx+b+IYeIlsuw== - dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "~3.0.4" - -"@abp/aspnetcore.mvc.ui.theme.shared@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-3.0.4.tgz#50db612b6492d36c63dd9042000a9fb00fecec54" - integrity sha512-imd2T5XXkNvGQyXV/A9hA80qSeurKaUcW6HDkte8Y2fs4QfvkjgzWXi7neqF6F+HVbYYPg3rIBWC6QF1OXGn2w== - dependencies: - "@abp/aspnetcore.mvc.ui" "~3.0.4" - "@abp/bootstrap" "~3.0.4" - "@abp/bootstrap-datepicker" "~3.0.4" - "@abp/datatables.net-bs4" "~3.0.4" - "@abp/font-awesome" "~3.0.4" - "@abp/jquery-form" "~3.0.4" - "@abp/jquery-validation-unobtrusive" "~3.0.4" - "@abp/lodash" "~3.0.4" - "@abp/luxon" "~3.0.4" - "@abp/malihu-custom-scrollbar-plugin" "~3.0.4" - "@abp/select2" "~3.0.4" - "@abp/sweetalert" "~3.0.4" - "@abp/timeago" "~3.0.4" - "@abp/toastr" "~3.0.4" - -"@abp/aspnetcore.mvc.ui@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-3.0.4.tgz#4e4344d95a98a60c53037b351cb915d8ff7a7dcb" - integrity sha512-p7KI5CKkpD4EYzG4fCtygrtZhwMu7Z+IZFGbdqXelLbI5ACkbJyrn+N+9trPfS9papymeXY4p1E3v6xOH7rSHQ== +"@abp/aspnetcore.mvc.ui.theme.basic@^3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-3.0.5.tgz#c146f20226522f0305cc0fa31cfcf9d39be78901" + integrity sha512-ptNhD4xV2wSLW7vQ5KUgaRiH5Ov1OscZW2ZEoivnt3kqgtIC3DGw+SiE9vjFCvyY83fjRkIlW2PIfQxSySbteQ== + dependencies: + "@abp/aspnetcore.mvc.ui.theme.shared" "~3.0.5" + +"@abp/aspnetcore.mvc.ui.theme.shared@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-3.0.5.tgz#5b370902cf229963f9aa10dd64482d57299dde76" + integrity sha512-iobAH39xrCdnqdaABaiYZg4lqNSOwPkMCLnyc+ytxOMbu/YnNKahXPmRhgd8dR/l+iQY1+6T4SWfLdGswi3gAg== + dependencies: + "@abp/aspnetcore.mvc.ui" "~3.0.5" + "@abp/bootstrap" "~3.0.5" + "@abp/bootstrap-datepicker" "~3.0.5" + "@abp/datatables.net-bs4" "~3.0.5" + "@abp/font-awesome" "~3.0.5" + "@abp/jquery-form" "~3.0.5" + "@abp/jquery-validation-unobtrusive" "~3.0.5" + "@abp/lodash" "~3.0.5" + "@abp/luxon" "~3.0.5" + "@abp/malihu-custom-scrollbar-plugin" "~3.0.5" + "@abp/select2" "~3.0.5" + "@abp/sweetalert" "~3.0.5" + "@abp/timeago" "~3.0.5" + "@abp/toastr" "~3.0.5" + +"@abp/aspnetcore.mvc.ui@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-3.0.5.tgz#a050eaee328c56a3730f5abbf25035adf612d6f0" + integrity sha512-/EOgjXTzR+I1OK9KA7L3yzQ2RGSDW97+n3cQrSdLAUF+tnRvMJS0nytDlSJSRK2hb8/clFMaofZHCC81aUkYUg== dependencies: ansi-colors "^4.1.1" extend-object "^1.0.0" @@ -41,213 +41,213 @@ path "^0.12.7" rimraf "^3.0.2" -"@abp/blogging@^3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/blogging/-/blogging-3.0.4.tgz#d309b18a410d047346c39ab3063cd95429ca693a" - integrity sha512-HjPmNgFuAI1PPB4Rn8q+CYZq77kTqdRByIbYHvM9NsLyjb4CKruJxwHIFQUEs2oaB1V0/1CtfQWOcJ8r6ciGfA== +"@abp/blogging@^3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/blogging/-/blogging-3.0.5.tgz#07d476d9d7bb20b52ccd122c8cf7c7c2bd3c1aa4" + integrity sha512-3qBS3EfBRrcGzgo8xaJXIVNu/qkuhBLYixPur69nUa8sDAsYI725mVIOfznyYyTAxPXB2EDOf4WA+NKiEINrqQ== dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "~3.0.4" - "@abp/owl.carousel" "~3.0.4" - "@abp/prismjs" "~3.0.4" - "@abp/tui-editor" "~3.0.4" + "@abp/aspnetcore.mvc.ui.theme.shared" "~3.0.5" + "@abp/owl.carousel" "~3.0.5" + "@abp/prismjs" "~3.0.5" + "@abp/tui-editor" "~3.0.5" -"@abp/bootstrap-datepicker@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-3.0.4.tgz#d21963f158a4d348a0acdc46209e67378aae8e55" - integrity sha512-25e9qm39dj9AijIchQIdLlBiBM5/fhASkEuLKNt6M8S/e3qwKLwbRhX90DKMFvOyKdxxcK1gX7tDuGHyG9A8mA== +"@abp/bootstrap-datepicker@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-3.0.5.tgz#3a7fd86dbcadc31c11be5b2b31c8cf8ac3035540" + integrity sha512-vIY1wT4RHoJAPhVK11Q5MS71iZbwsmM/0VTBvvs04mjRSSi6xhdyRYkA+l+P49fnOwhZNaaK19XwQdVVScDuhA== dependencies: bootstrap-datepicker "^1.9.0" -"@abp/bootstrap@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-3.0.4.tgz#3b0e2b74dc174a04ce669de1b140df833eee6031" - integrity sha512-DwxL1fGYOwChPwmMpwUxCKiIdzTfRf/YDkOLUiwI8eRrpABBeuE2sSHKfks6Rqh9Wqo/nlWXvfccgDRqweqhsA== +"@abp/bootstrap@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-3.0.5.tgz#91f2c8fe6a57fc5789ae8fe9c206b2c159e55880" + integrity sha512-LdydeJIbw5k1k7FkWaI1lTectZeTXmEIoccJtj9Qx4N9yGt40wGsjz9SOvUdJ0IKAgntIWNQP8ohWiBPgzT7Xg== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" bootstrap "^4.5.0" bootstrap-v4-rtl "4.4.1-2" -"@abp/clipboard@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-3.0.4.tgz#17ff40e398de3c0ab5214e564d443ed52ac10630" - integrity sha512-vjjupRau7fgBxvQwaDrBHApP4Ce1x9XM7L64/c+A+oBny0SzuiSBGBYsjlFrJGmTHT/PhjoB1XQiBHrYYPXQfQ== +"@abp/clipboard@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-3.0.5.tgz#7ceadd21360db11c91582a532029bfe65d10a930" + integrity sha512-iq455C096L5D+b6IrWkMxA9mbpggBNZ1kWfCQ3rhIjo0qbOGrvdGB3uQ+BqRS9Ni9ku7vBb2COldouIC9KOp5A== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" clipboard "^2.0.6" -"@abp/codemirror@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/codemirror/-/codemirror-3.0.4.tgz#d223b9e44719844948025f1c47bd404923d9e40d" - integrity sha512-shv8bqnATrEg9K9P0m14eqlJCCSfSO57SCxYmF0DUH0wuykkWjFJ8gok2GijVZtA9FQDJbNbNXh2oSm4MCgRsA== +"@abp/codemirror@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/codemirror/-/codemirror-3.0.5.tgz#2d60ad50f7b50833b0032f3c2e8992a89f257aa9" + integrity sha512-RkbmRGmSCB2962rJdhp0NgJ+qEP4gG05wuSuCMsYJTU3U9IkhkqiJbzupUzAkHQTaCQwCOUeXoBLUkwCHUP2DA== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" codemirror "^5.54.0" -"@abp/core@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-3.0.4.tgz#281940525e280e9e3a1aa4cb4e8f64548ea026a3" - integrity sha512-ZPEH1fa5bf/f1ek9ZLQHx7u78iF6kRZ8Z2NBI36cNL13RyQbx485qJF+KXyqNlJoJAh0CAs0NsAJADU3utcDNA== +"@abp/core@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/core/-/core-3.0.5.tgz#9a7bd990d02edc8128a5be3233b6fbb5669b15b8" + integrity sha512-LdkSkZQfN4hugcGNxBkje0+eQomivwNFbnAkMFQbvCwYLwKB2yvk7GCemEetW1piqvyrUGz4jqhtunjoXps5JA== dependencies: - "@abp/utils" "^3.0.4" + "@abp/utils" "^3.0.5" -"@abp/datatables.net-bs4@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-3.0.4.tgz#e488336bd2c199146ea60464e0ba75aeb134957e" - integrity sha512-ID1XWKPxG9pv6mxBkku7JWvgXjTxJ1uShxmYv5kFYVuwOGMSvj8QVZInTHFcMdECopV56yjGPNOIFLeQj4Mw8Q== +"@abp/datatables.net-bs4@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-3.0.5.tgz#9b79935970d2d4074994240b5deb01dff5987c0a" + integrity sha512-jIWRBEG/NlhaE43i6Xzr18XJ5aTWA+WWslf7WgNOArG5slGBbH4lLLja4HswLP3NGdSmzIyHJR1p9XQ82nBkbQ== dependencies: - "@abp/datatables.net" "~3.0.4" + "@abp/datatables.net" "~3.0.5" datatables.net-bs4 "^1.10.21" -"@abp/datatables.net@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-3.0.4.tgz#7ef143b83143ad8d769be25296411a812a17b255" - integrity sha512-gdQwRuxO5fQWhG/DiUaf40DQ8dWIVGhOCyt6SZ8LQzq4uSaQqa0qrtTTTW2/aiee4MgJu2vJWYF5YCszIR/HhA== +"@abp/datatables.net@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-3.0.5.tgz#0a0a39e8fa54522bf8a09ce76ff3927207a79491" + integrity sha512-HClQ2tcZuWBAChf9oOJOtMP1zHv8jqloPEcw3iqbhS/tWZBw5VQ4TO+BVfZsqHDXZNnWSmR6/2xiKsK32nliew== dependencies: - "@abp/jquery" "~3.0.4" + "@abp/jquery" "~3.0.5" datatables.net "^1.10.21" -"@abp/font-awesome@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-3.0.4.tgz#98f83d0bf8b5a2a4d988cb07f5cceda2e1bc1a09" - integrity sha512-AKhKCUXx8vdHIgyXUfbSLitfYor5dJbo4qMRRGqIJVSj+cyMkpgYbGjqr24GGijgZxdmOGL+s1b9iCUbIPgLNQ== +"@abp/font-awesome@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-3.0.5.tgz#62d58c34f0abf268e30bdf788dfbd3f45b19b412" + integrity sha512-/+31Vtw1S9vvuNy/rN/Q6awkgUaYNNYXESgfvqI0pqIkvlPgigvS8E68mHqGzsxyRqdZisI6JGd94AF+vJD7sQ== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" "@fortawesome/fontawesome-free" "^5.13.0" -"@abp/highlight.js@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/highlight.js/-/highlight.js-3.0.4.tgz#2f4cb60b7b621fd73f3eb92f70c3d8611ce07c2b" - integrity sha512-7iTDFgBBHn3w5MlhRylkV5to0+8cl0akVspe358zvIy9bdBv+t8Xgc8IomxKqA5EfjBFhR+Q/g0+DfoWLpL7xw== +"@abp/highlight.js@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/highlight.js/-/highlight.js-3.0.5.tgz#f222b54958bd842840db5ad8b32d82f1cd209302" + integrity sha512-VT9UfukzbhMsWhUZNc8b792fY04lqkuJL98QprU59No1Rb7+XUa1k9FMbt2kl12Je3jltY3+UrDl+vrdasFxKg== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" -"@abp/jquery-form@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-3.0.4.tgz#022eebbfe58b55e328984c0f119884c9464bc767" - integrity sha512-xDkk4rY0AmXBJE4qztzr2hZz+OVucVNWeagOEgeQHXJSKU/T+0kj0a1RxEHpyI24xBvEXAbe8PbByTbu0QXYew== +"@abp/jquery-form@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-3.0.5.tgz#9d2ea9b2509448ee163a163298a7a09480865f78" + integrity sha512-RKgvQciaMml33NvzA28aYyfNI+WQHRfKLFWvOvqc8qO4C3BvyrnwepuzZcnI/9UsELKLSLoFrfk3rJHhxnTJhg== dependencies: - "@abp/jquery" "~3.0.4" + "@abp/jquery" "~3.0.5" jquery-form "^4.3.0" -"@abp/jquery-validation-unobtrusive@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-3.0.4.tgz#6cc942aadcdde33893e7a45c84aa022e033e4e8b" - integrity sha512-N9sza91HCyPvJo+d0RAfq4skae3TgAYg7KXhlwzRE2hqUQS+EICVARURWyxJW7s7Zu6+gxDTkXhBZRTW56deZA== +"@abp/jquery-validation-unobtrusive@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-3.0.5.tgz#b8912e1c4cfdd4fdff6ad4aa7ee8693b55a3be1f" + integrity sha512-kPifDA+1ErbeQBwn+BzwtWuTHXzBke/EMCmITuj59plM/60gZ1ZfVm8EzzTmKS7iLaVVeOqTKf0vEQTobNYffw== dependencies: - "@abp/jquery-validation" "~3.0.4" + "@abp/jquery-validation" "~3.0.5" jquery-validation-unobtrusive "^3.2.11" -"@abp/jquery-validation@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-3.0.4.tgz#3f96d1f83c75a7fc47e5e5e12c51dbc8da7582b1" - integrity sha512-2ljqas4YKU0PcwB0wQW2qhXejDHjW+N1XCxZDyCZ2wF9UxGlKBR8rFt76TJByXSotKE7n2hJRZaOh9ICZUow2g== +"@abp/jquery-validation@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-3.0.5.tgz#55e36b3c832a35447fac69af312dedf1dee22279" + integrity sha512-fdqxc5CJ6TpUAF8+NEsKCmXvvZiOPR5bzczcfvfovxLOjvHvdEO74XPGjsjlBNTdaKMhmNGZRK4JRLUz7fvTng== dependencies: - "@abp/jquery" "~3.0.4" + "@abp/jquery" "~3.0.5" jquery-validation "^1.19.2" -"@abp/jquery@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-3.0.4.tgz#5f236d95cfae7f65012cd8778fd74490b7542442" - integrity sha512-g8N8Te5vf+8djdksfZoZ3tXaqlBC4Ra39pAWU/XerlLl64u+XmAX1s6yKRfC2kS8lf292GgiFYuNOkb77J6k4A== +"@abp/jquery@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-3.0.5.tgz#2e43ac19a8df6e1e0220d6d4991d33a93d890754" + integrity sha512-2d2l+smWKAVP4/b6GSO+8rmJ7pFXiUewpBDwkHm5qgkK6n6UGqIcK9lIgiS2YQ6rmL6qdtuNhhqtC9GF2TF2kQ== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" jquery "~3.5.1" -"@abp/lodash@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-3.0.4.tgz#ee60bc99f98b59fd9fc5ff4bbcf914a13faf209d" - integrity sha512-jxvv74Sm/fUKDBMylK4Ne/8GKm7GuHAdcLFtkoJQptdO+RjZpKJ86ULT+X5vbKskZaTj2fEmOR6l4hmfnBULTA== +"@abp/lodash@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-3.0.5.tgz#d5d9f14095d76239bc0e6f9804c24d1f92ffcab4" + integrity sha512-+B2vxfPwxoIIb8Ac8eHi6OgAn0qbjmPZuun7/es0/ouYYTbEhvhTAD20X3PGZlHrIYeDyS2ansuXm8gJI+/BzA== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" lodash "^4.17.15" -"@abp/luxon@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-3.0.4.tgz#aa1bf6a93d6254433101e50a205b276759969414" - integrity sha512-gX9dQJt9C6M1wmCSUIBoNr8CAt0jkUZFQ7LKKO/BoADGM/XFvY5vDbhL7zcwbwitgCOzmucoCxs/6rIxSOVlrg== +"@abp/luxon@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-3.0.5.tgz#083042c939ea58bf719e35114a6c8efb07b68688" + integrity sha512-0UVHO2CO89t34O35OA3JzWGWLBpg+e1NQXSfVtK90nmg/QmzGkHVM9m7Su0jjLNBt3N5EA5OPOhriot3bCKItw== dependencies: luxon "^1.24.1" -"@abp/malihu-custom-scrollbar-plugin@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.0.4.tgz#c54824b98363f4190cc6a37fcd421c2bfdc1e201" - integrity sha512-6LdSGctOr4ACtdohdSlb19vrFNJ5C0hy1VdbBEafHOBspXckvRVx4uJl2KfHmAC+bMg9apoK/wcHjVNdBHThYQ== +"@abp/malihu-custom-scrollbar-plugin@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.0.5.tgz#f908289927a63fd76fb8f60b00a37747d9edbe39" + integrity sha512-3GoXA8VtGyZWKiqaPCipPXYLLM7h2Y5Oecq5c5YlMQyW2akv7uHiQQF2GZW/nVsFu3HBbGTOWpKRRmVk3PEO9Q== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" malihu-custom-scrollbar-plugin "^3.1.5" -"@abp/markdown-it@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/markdown-it/-/markdown-it-3.0.4.tgz#8be97cc1a48add764c76049c6303291252c56b12" - integrity sha512-94HjUbRQ+/RZoG0/h0nYA8Kk6IqJUtVzwM8/rUWGi45kwkSk6N/mCv537QD4hivHS0sLDx2KgEve9Ka8WnIKbQ== +"@abp/markdown-it@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/markdown-it/-/markdown-it-3.0.5.tgz#43c0daf0dd30de3d0109980aa5493db6f72108c1" + integrity sha512-HMRv5B29fQ5nPz4wFlfTsJ3dACotNLHZUuQbOt8SifRkt9Va0t20j+IwIGhSYVc93ttYHjB0IuMk6G10mdBA1A== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" markdown-it "^11.0.0" -"@abp/owl.carousel@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/owl.carousel/-/owl.carousel-3.0.4.tgz#18b4f93d06ad3b0f22f9fa4073b757f54e559c93" - integrity sha512-yZjlZ28JCuYSJPtnfoXssn1PdinbLbB4/Rixi43b2RbE0pI3U6ZnUOd0TAOwZyS7sO0OLdlGp2F/MKbln8u53A== +"@abp/owl.carousel@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/owl.carousel/-/owl.carousel-3.0.5.tgz#d575d201a9c4853aa8578e6d8da396de60d6c961" + integrity sha512-fBzNaJPRnFc1VV5MBpRAGr3yZtkcbRHOOKlq74bkg9kvnqNa8dLISPRxHsBCtX+bxndWI3OfmN9Uliiq39TgSA== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" owl.carousel "^2.3.4" -"@abp/prismjs@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-3.0.4.tgz#9cd8113b33dfd1b349b12740a2f7462f88bf3841" - integrity sha512-D+RNAhUhOCXnBNZVOq9EQg883eRbPKlIpFsxeMW065XOm5g7iO0eJACvyqGC8mt5reHmtxApnfiGNlhT1dK+Eg== +"@abp/prismjs@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-3.0.5.tgz#81a6ef656f3d7a76f365eb0bcbf2d0d3013d6e72" + integrity sha512-vdSSa1+tXS5+HWIgQyjDy4yQG7Q1YyuHQnFU6zlDJCQlE+20PL6lYgPnqR7DQ+Cd4lhRb3oxvloImYjwiwSQvA== dependencies: - "@abp/clipboard" "~3.0.4" - "@abp/core" "~3.0.4" + "@abp/clipboard" "~3.0.5" + "@abp/core" "~3.0.5" prismjs "^1.20.0" -"@abp/select2@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-3.0.4.tgz#49db0cfbc9b08f6ae4949b2cb8bdef92d7d308dd" - integrity sha512-zKEgkWBFdGU2KiAMUKhucHqBfzDy2KNSefyqxpOiUd1L3PEKu+9o23HZRWzDupYltop+SO1Jw33CNoVAkKm4+A== +"@abp/select2@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-3.0.5.tgz#79d7754713c64a6549da520dc6867ef3e3dd0350" + integrity sha512-VbeSHdAdDy8exrjplHMMhLVV4oG7Gq9zBb5M52f0sIkA4DkXFhksXHcHNoOCfhaKAXpenGA03Z9GJewZ3MTpMw== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" select2 "^4.0.13" -"@abp/sweetalert@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-3.0.4.tgz#f85d11c5aabc6ceb509af1b8fd8d75bc3c74bd27" - integrity sha512-hO0qXUWxeMy/lfy3sb+5HvOmIPst6UvYJJGy3ZQR6DKEdkOktBX9sEDb7m6ij6xAIHqWIx1xLveul0oGteOG0Q== +"@abp/sweetalert@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-3.0.5.tgz#e3b92d23cf3633983980b6255bf63c43d422ceab" + integrity sha512-OUt4ANgj14GESfRG7+UqdONS8daOu+8x2OZDWv98hriuX0uCVBjwB2J0jRI/n653C68Mi0yHixGONDv9OLy/lg== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" sweetalert "^2.1.2" -"@abp/timeago@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-3.0.4.tgz#82d90a04f703a7db9c0acedcd2f3cea684e7ae18" - integrity sha512-7SbbqScTKCix25xWy5oLT0slJqUQsW6YgJgI0N41C3AsByRBXZeh5Gcep033gprTPmpgNY8JOWcEcCXySnYvfA== +"@abp/timeago@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-3.0.5.tgz#b191a7c43f3dc77645fe27273f2f6619f7d4eb31" + integrity sha512-QhvAOU4C+Qxh/gFuCSGZtLU4KwVhdv/jtK8ovWyqbGvQMCCIimqa8BFKIz0H5XWIJhHwwWblkpjICWgjWh6uXw== dependencies: - "@abp/jquery" "~3.0.4" + "@abp/jquery" "~3.0.5" timeago "^1.6.7" -"@abp/toastr@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-3.0.4.tgz#884ab2343ddd59981c291c632e3b0630532f7e9c" - integrity sha512-NG0pVD8bdIXGpjPW9cozCzmyuAdnSLE4vDYLUReP1pZFp9B8SMJqpgPk9eFg0Y06aaHTVMKYBKRoq9xXS4w9Xg== +"@abp/toastr@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-3.0.5.tgz#fc83b678f5be3a22040d0421ad9db5b2eac9d4fc" + integrity sha512-qgi2DEu6FYpN/DYcOZrmXsAr1HqcIKMhBWeXgjfoYUIl/K5+OuUgbQ69D/jdc0jz8HU9a4Cw7Q8hhe4CkgssEw== dependencies: - "@abp/jquery" "~3.0.4" + "@abp/jquery" "~3.0.5" toastr "^2.1.4" -"@abp/tui-editor@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/tui-editor/-/tui-editor-3.0.4.tgz#fe44e7e28bd9d3902fe2e77b4e78eb2aa2959846" - integrity sha512-+H03yYEtPbX+THnzdsW1j+XXSYMrKl8oLPIrrl71QkUW7mif+c2s6YHauJ2mqJ1Uc/7fEL/i1/nBkqU3XjQXPw== +"@abp/tui-editor@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/tui-editor/-/tui-editor-3.0.5.tgz#9eee7cb555793a9c01a6e0ce10e77bb46577857c" + integrity sha512-xwaBhwnyvoIbEKWMSrTs2JHIOf3JK6tsABfcxhTRHXQfr2VONOEjbaLaAruNOuLJy3m/7rOsGWTeT8lMWwf3Fw== dependencies: - "@abp/codemirror" "~3.0.4" - "@abp/highlight.js" "~3.0.4" - "@abp/jquery" "~3.0.4" - "@abp/markdown-it" "~3.0.4" + "@abp/codemirror" "~3.0.5" + "@abp/highlight.js" "~3.0.5" + "@abp/jquery" "~3.0.5" + "@abp/markdown-it" "~3.0.5" tui-editor "^1.4.10" -"@abp/utils@^3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-3.0.4.tgz#38068fa8f735e1889cf2f226128366825948814d" - integrity sha512-TnXRZIZcxv5+EctEPsZEi2cyRXbpl3A679wzQa6BACv+pM45cjGO1JR8P0VswKN4TVL0aQRMv26N6U/uie8sEQ== +"@abp/utils@^3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-3.0.5.tgz#66b3da953500e73ff1f23d1b41168cde8216ce49" + integrity sha512-X9V1xLIEazItaf93nFSA4p94WT6QK3yA4eIyvU7GyyEkkOQdaakNwPbRwy930sd+I+/oXnIqM1vDsJu9QDhgvg== dependencies: just-compare "^1.3.0" diff --git a/templates/app/angular/package.json b/templates/app/angular/package.json index 406faca9bd..c40a748fb5 100644 --- a/templates/app/angular/package.json +++ b/templates/app/angular/package.json @@ -12,11 +12,11 @@ }, "private": true, "dependencies": { - "@abp/ng.account": "~3.0.4", - "@abp/ng.identity": "~3.0.4", - "@abp/ng.setting-management": "~3.0.4", - "@abp/ng.tenant-management": "~3.0.4", - "@abp/ng.theme.basic": "~3.0.4", + "@abp/ng.account": "~3.0.5", + "@abp/ng.identity": "~3.0.5", + "@abp/ng.setting-management": "~3.0.5", + "@abp/ng.tenant-management": "~3.0.5", + "@abp/ng.theme.basic": "~3.0.5", "@angular/animations": "~10.0.1", "@angular/common": "~10.0.1", "@angular/compiler": "~10.0.1", diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.HostWithIds/package.json b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.HostWithIds/package.json index 528a8910e5..5ffe5c0500 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.HostWithIds/package.json +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.HostWithIds/package.json @@ -3,6 +3,6 @@ "name": "my-app", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.basic": "^3.0.4" + "@abp/aspnetcore.mvc.ui.theme.basic": "^3.0.5" } } \ No newline at end of file diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.HostWithIds/yarn.lock b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.HostWithIds/yarn.lock index 845f2aaf18..7f4cc4007c 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.HostWithIds/yarn.lock +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.HostWithIds/yarn.lock @@ -2,37 +2,37 @@ # yarn lockfile v1 -"@abp/aspnetcore.mvc.ui.theme.basic@^3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-3.0.4.tgz#c58e3e06ba78279875cf2b5f96d34b83ce09f6df" - integrity sha512-tKKqVRKpwN7P4Mn+he3bcz4Qbt8bkZ++wk6iOujd6HLTkBNa0uKyM4L6+iCn1Hi62S6HeK2Xytx+b+IYeIlsuw== - dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "~3.0.4" - -"@abp/aspnetcore.mvc.ui.theme.shared@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-3.0.4.tgz#50db612b6492d36c63dd9042000a9fb00fecec54" - integrity sha512-imd2T5XXkNvGQyXV/A9hA80qSeurKaUcW6HDkte8Y2fs4QfvkjgzWXi7neqF6F+HVbYYPg3rIBWC6QF1OXGn2w== - dependencies: - "@abp/aspnetcore.mvc.ui" "~3.0.4" - "@abp/bootstrap" "~3.0.4" - "@abp/bootstrap-datepicker" "~3.0.4" - "@abp/datatables.net-bs4" "~3.0.4" - "@abp/font-awesome" "~3.0.4" - "@abp/jquery-form" "~3.0.4" - "@abp/jquery-validation-unobtrusive" "~3.0.4" - "@abp/lodash" "~3.0.4" - "@abp/luxon" "~3.0.4" - "@abp/malihu-custom-scrollbar-plugin" "~3.0.4" - "@abp/select2" "~3.0.4" - "@abp/sweetalert" "~3.0.4" - "@abp/timeago" "~3.0.4" - "@abp/toastr" "~3.0.4" - -"@abp/aspnetcore.mvc.ui@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-3.0.4.tgz#4e4344d95a98a60c53037b351cb915d8ff7a7dcb" - integrity sha512-p7KI5CKkpD4EYzG4fCtygrtZhwMu7Z+IZFGbdqXelLbI5ACkbJyrn+N+9trPfS9papymeXY4p1E3v6xOH7rSHQ== +"@abp/aspnetcore.mvc.ui.theme.basic@^3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-3.0.5.tgz#c146f20226522f0305cc0fa31cfcf9d39be78901" + integrity sha512-ptNhD4xV2wSLW7vQ5KUgaRiH5Ov1OscZW2ZEoivnt3kqgtIC3DGw+SiE9vjFCvyY83fjRkIlW2PIfQxSySbteQ== + dependencies: + "@abp/aspnetcore.mvc.ui.theme.shared" "~3.0.5" + +"@abp/aspnetcore.mvc.ui.theme.shared@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-3.0.5.tgz#5b370902cf229963f9aa10dd64482d57299dde76" + integrity sha512-iobAH39xrCdnqdaABaiYZg4lqNSOwPkMCLnyc+ytxOMbu/YnNKahXPmRhgd8dR/l+iQY1+6T4SWfLdGswi3gAg== + dependencies: + "@abp/aspnetcore.mvc.ui" "~3.0.5" + "@abp/bootstrap" "~3.0.5" + "@abp/bootstrap-datepicker" "~3.0.5" + "@abp/datatables.net-bs4" "~3.0.5" + "@abp/font-awesome" "~3.0.5" + "@abp/jquery-form" "~3.0.5" + "@abp/jquery-validation-unobtrusive" "~3.0.5" + "@abp/lodash" "~3.0.5" + "@abp/luxon" "~3.0.5" + "@abp/malihu-custom-scrollbar-plugin" "~3.0.5" + "@abp/select2" "~3.0.5" + "@abp/sweetalert" "~3.0.5" + "@abp/timeago" "~3.0.5" + "@abp/toastr" "~3.0.5" + +"@abp/aspnetcore.mvc.ui@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-3.0.5.tgz#a050eaee328c56a3730f5abbf25035adf612d6f0" + integrity sha512-/EOgjXTzR+I1OK9KA7L3yzQ2RGSDW97+n3cQrSdLAUF+tnRvMJS0nytDlSJSRK2hb8/clFMaofZHCC81aUkYUg== dependencies: ansi-colors "^4.1.1" extend-object "^1.0.0" @@ -41,144 +41,144 @@ path "^0.12.7" rimraf "^3.0.2" -"@abp/bootstrap-datepicker@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-3.0.4.tgz#d21963f158a4d348a0acdc46209e67378aae8e55" - integrity sha512-25e9qm39dj9AijIchQIdLlBiBM5/fhASkEuLKNt6M8S/e3qwKLwbRhX90DKMFvOyKdxxcK1gX7tDuGHyG9A8mA== +"@abp/bootstrap-datepicker@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-3.0.5.tgz#3a7fd86dbcadc31c11be5b2b31c8cf8ac3035540" + integrity sha512-vIY1wT4RHoJAPhVK11Q5MS71iZbwsmM/0VTBvvs04mjRSSi6xhdyRYkA+l+P49fnOwhZNaaK19XwQdVVScDuhA== dependencies: bootstrap-datepicker "^1.9.0" -"@abp/bootstrap@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-3.0.4.tgz#3b0e2b74dc174a04ce669de1b140df833eee6031" - integrity sha512-DwxL1fGYOwChPwmMpwUxCKiIdzTfRf/YDkOLUiwI8eRrpABBeuE2sSHKfks6Rqh9Wqo/nlWXvfccgDRqweqhsA== +"@abp/bootstrap@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-3.0.5.tgz#91f2c8fe6a57fc5789ae8fe9c206b2c159e55880" + integrity sha512-LdydeJIbw5k1k7FkWaI1lTectZeTXmEIoccJtj9Qx4N9yGt40wGsjz9SOvUdJ0IKAgntIWNQP8ohWiBPgzT7Xg== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" bootstrap "^4.5.0" bootstrap-v4-rtl "4.4.1-2" -"@abp/core@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-3.0.4.tgz#281940525e280e9e3a1aa4cb4e8f64548ea026a3" - integrity sha512-ZPEH1fa5bf/f1ek9ZLQHx7u78iF6kRZ8Z2NBI36cNL13RyQbx485qJF+KXyqNlJoJAh0CAs0NsAJADU3utcDNA== +"@abp/core@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/core/-/core-3.0.5.tgz#9a7bd990d02edc8128a5be3233b6fbb5669b15b8" + integrity sha512-LdkSkZQfN4hugcGNxBkje0+eQomivwNFbnAkMFQbvCwYLwKB2yvk7GCemEetW1piqvyrUGz4jqhtunjoXps5JA== dependencies: - "@abp/utils" "^3.0.4" + "@abp/utils" "^3.0.5" -"@abp/datatables.net-bs4@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-3.0.4.tgz#e488336bd2c199146ea60464e0ba75aeb134957e" - integrity sha512-ID1XWKPxG9pv6mxBkku7JWvgXjTxJ1uShxmYv5kFYVuwOGMSvj8QVZInTHFcMdECopV56yjGPNOIFLeQj4Mw8Q== +"@abp/datatables.net-bs4@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-3.0.5.tgz#9b79935970d2d4074994240b5deb01dff5987c0a" + integrity sha512-jIWRBEG/NlhaE43i6Xzr18XJ5aTWA+WWslf7WgNOArG5slGBbH4lLLja4HswLP3NGdSmzIyHJR1p9XQ82nBkbQ== dependencies: - "@abp/datatables.net" "~3.0.4" + "@abp/datatables.net" "~3.0.5" datatables.net-bs4 "^1.10.21" -"@abp/datatables.net@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-3.0.4.tgz#7ef143b83143ad8d769be25296411a812a17b255" - integrity sha512-gdQwRuxO5fQWhG/DiUaf40DQ8dWIVGhOCyt6SZ8LQzq4uSaQqa0qrtTTTW2/aiee4MgJu2vJWYF5YCszIR/HhA== +"@abp/datatables.net@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-3.0.5.tgz#0a0a39e8fa54522bf8a09ce76ff3927207a79491" + integrity sha512-HClQ2tcZuWBAChf9oOJOtMP1zHv8jqloPEcw3iqbhS/tWZBw5VQ4TO+BVfZsqHDXZNnWSmR6/2xiKsK32nliew== dependencies: - "@abp/jquery" "~3.0.4" + "@abp/jquery" "~3.0.5" datatables.net "^1.10.21" -"@abp/font-awesome@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-3.0.4.tgz#98f83d0bf8b5a2a4d988cb07f5cceda2e1bc1a09" - integrity sha512-AKhKCUXx8vdHIgyXUfbSLitfYor5dJbo4qMRRGqIJVSj+cyMkpgYbGjqr24GGijgZxdmOGL+s1b9iCUbIPgLNQ== +"@abp/font-awesome@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-3.0.5.tgz#62d58c34f0abf268e30bdf788dfbd3f45b19b412" + integrity sha512-/+31Vtw1S9vvuNy/rN/Q6awkgUaYNNYXESgfvqI0pqIkvlPgigvS8E68mHqGzsxyRqdZisI6JGd94AF+vJD7sQ== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" "@fortawesome/fontawesome-free" "^5.13.0" -"@abp/jquery-form@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-3.0.4.tgz#022eebbfe58b55e328984c0f119884c9464bc767" - integrity sha512-xDkk4rY0AmXBJE4qztzr2hZz+OVucVNWeagOEgeQHXJSKU/T+0kj0a1RxEHpyI24xBvEXAbe8PbByTbu0QXYew== +"@abp/jquery-form@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-3.0.5.tgz#9d2ea9b2509448ee163a163298a7a09480865f78" + integrity sha512-RKgvQciaMml33NvzA28aYyfNI+WQHRfKLFWvOvqc8qO4C3BvyrnwepuzZcnI/9UsELKLSLoFrfk3rJHhxnTJhg== dependencies: - "@abp/jquery" "~3.0.4" + "@abp/jquery" "~3.0.5" jquery-form "^4.3.0" -"@abp/jquery-validation-unobtrusive@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-3.0.4.tgz#6cc942aadcdde33893e7a45c84aa022e033e4e8b" - integrity sha512-N9sza91HCyPvJo+d0RAfq4skae3TgAYg7KXhlwzRE2hqUQS+EICVARURWyxJW7s7Zu6+gxDTkXhBZRTW56deZA== +"@abp/jquery-validation-unobtrusive@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-3.0.5.tgz#b8912e1c4cfdd4fdff6ad4aa7ee8693b55a3be1f" + integrity sha512-kPifDA+1ErbeQBwn+BzwtWuTHXzBke/EMCmITuj59plM/60gZ1ZfVm8EzzTmKS7iLaVVeOqTKf0vEQTobNYffw== dependencies: - "@abp/jquery-validation" "~3.0.4" + "@abp/jquery-validation" "~3.0.5" jquery-validation-unobtrusive "^3.2.11" -"@abp/jquery-validation@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-3.0.4.tgz#3f96d1f83c75a7fc47e5e5e12c51dbc8da7582b1" - integrity sha512-2ljqas4YKU0PcwB0wQW2qhXejDHjW+N1XCxZDyCZ2wF9UxGlKBR8rFt76TJByXSotKE7n2hJRZaOh9ICZUow2g== +"@abp/jquery-validation@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-3.0.5.tgz#55e36b3c832a35447fac69af312dedf1dee22279" + integrity sha512-fdqxc5CJ6TpUAF8+NEsKCmXvvZiOPR5bzczcfvfovxLOjvHvdEO74XPGjsjlBNTdaKMhmNGZRK4JRLUz7fvTng== dependencies: - "@abp/jquery" "~3.0.4" + "@abp/jquery" "~3.0.5" jquery-validation "^1.19.2" -"@abp/jquery@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-3.0.4.tgz#5f236d95cfae7f65012cd8778fd74490b7542442" - integrity sha512-g8N8Te5vf+8djdksfZoZ3tXaqlBC4Ra39pAWU/XerlLl64u+XmAX1s6yKRfC2kS8lf292GgiFYuNOkb77J6k4A== +"@abp/jquery@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-3.0.5.tgz#2e43ac19a8df6e1e0220d6d4991d33a93d890754" + integrity sha512-2d2l+smWKAVP4/b6GSO+8rmJ7pFXiUewpBDwkHm5qgkK6n6UGqIcK9lIgiS2YQ6rmL6qdtuNhhqtC9GF2TF2kQ== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" jquery "~3.5.1" -"@abp/lodash@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-3.0.4.tgz#ee60bc99f98b59fd9fc5ff4bbcf914a13faf209d" - integrity sha512-jxvv74Sm/fUKDBMylK4Ne/8GKm7GuHAdcLFtkoJQptdO+RjZpKJ86ULT+X5vbKskZaTj2fEmOR6l4hmfnBULTA== +"@abp/lodash@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-3.0.5.tgz#d5d9f14095d76239bc0e6f9804c24d1f92ffcab4" + integrity sha512-+B2vxfPwxoIIb8Ac8eHi6OgAn0qbjmPZuun7/es0/ouYYTbEhvhTAD20X3PGZlHrIYeDyS2ansuXm8gJI+/BzA== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" lodash "^4.17.15" -"@abp/luxon@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-3.0.4.tgz#aa1bf6a93d6254433101e50a205b276759969414" - integrity sha512-gX9dQJt9C6M1wmCSUIBoNr8CAt0jkUZFQ7LKKO/BoADGM/XFvY5vDbhL7zcwbwitgCOzmucoCxs/6rIxSOVlrg== +"@abp/luxon@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-3.0.5.tgz#083042c939ea58bf719e35114a6c8efb07b68688" + integrity sha512-0UVHO2CO89t34O35OA3JzWGWLBpg+e1NQXSfVtK90nmg/QmzGkHVM9m7Su0jjLNBt3N5EA5OPOhriot3bCKItw== dependencies: luxon "^1.24.1" -"@abp/malihu-custom-scrollbar-plugin@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.0.4.tgz#c54824b98363f4190cc6a37fcd421c2bfdc1e201" - integrity sha512-6LdSGctOr4ACtdohdSlb19vrFNJ5C0hy1VdbBEafHOBspXckvRVx4uJl2KfHmAC+bMg9apoK/wcHjVNdBHThYQ== +"@abp/malihu-custom-scrollbar-plugin@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.0.5.tgz#f908289927a63fd76fb8f60b00a37747d9edbe39" + integrity sha512-3GoXA8VtGyZWKiqaPCipPXYLLM7h2Y5Oecq5c5YlMQyW2akv7uHiQQF2GZW/nVsFu3HBbGTOWpKRRmVk3PEO9Q== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" malihu-custom-scrollbar-plugin "^3.1.5" -"@abp/select2@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-3.0.4.tgz#49db0cfbc9b08f6ae4949b2cb8bdef92d7d308dd" - integrity sha512-zKEgkWBFdGU2KiAMUKhucHqBfzDy2KNSefyqxpOiUd1L3PEKu+9o23HZRWzDupYltop+SO1Jw33CNoVAkKm4+A== +"@abp/select2@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-3.0.5.tgz#79d7754713c64a6549da520dc6867ef3e3dd0350" + integrity sha512-VbeSHdAdDy8exrjplHMMhLVV4oG7Gq9zBb5M52f0sIkA4DkXFhksXHcHNoOCfhaKAXpenGA03Z9GJewZ3MTpMw== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" select2 "^4.0.13" -"@abp/sweetalert@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-3.0.4.tgz#f85d11c5aabc6ceb509af1b8fd8d75bc3c74bd27" - integrity sha512-hO0qXUWxeMy/lfy3sb+5HvOmIPst6UvYJJGy3ZQR6DKEdkOktBX9sEDb7m6ij6xAIHqWIx1xLveul0oGteOG0Q== +"@abp/sweetalert@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-3.0.5.tgz#e3b92d23cf3633983980b6255bf63c43d422ceab" + integrity sha512-OUt4ANgj14GESfRG7+UqdONS8daOu+8x2OZDWv98hriuX0uCVBjwB2J0jRI/n653C68Mi0yHixGONDv9OLy/lg== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" sweetalert "^2.1.2" -"@abp/timeago@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-3.0.4.tgz#82d90a04f703a7db9c0acedcd2f3cea684e7ae18" - integrity sha512-7SbbqScTKCix25xWy5oLT0slJqUQsW6YgJgI0N41C3AsByRBXZeh5Gcep033gprTPmpgNY8JOWcEcCXySnYvfA== +"@abp/timeago@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-3.0.5.tgz#b191a7c43f3dc77645fe27273f2f6619f7d4eb31" + integrity sha512-QhvAOU4C+Qxh/gFuCSGZtLU4KwVhdv/jtK8ovWyqbGvQMCCIimqa8BFKIz0H5XWIJhHwwWblkpjICWgjWh6uXw== dependencies: - "@abp/jquery" "~3.0.4" + "@abp/jquery" "~3.0.5" timeago "^1.6.7" -"@abp/toastr@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-3.0.4.tgz#884ab2343ddd59981c291c632e3b0630532f7e9c" - integrity sha512-NG0pVD8bdIXGpjPW9cozCzmyuAdnSLE4vDYLUReP1pZFp9B8SMJqpgPk9eFg0Y06aaHTVMKYBKRoq9xXS4w9Xg== +"@abp/toastr@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-3.0.5.tgz#fc83b678f5be3a22040d0421ad9db5b2eac9d4fc" + integrity sha512-qgi2DEu6FYpN/DYcOZrmXsAr1HqcIKMhBWeXgjfoYUIl/K5+OuUgbQ69D/jdc0jz8HU9a4Cw7Q8hhe4CkgssEw== dependencies: - "@abp/jquery" "~3.0.4" + "@abp/jquery" "~3.0.5" toastr "^2.1.4" -"@abp/utils@^3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-3.0.4.tgz#38068fa8f735e1889cf2f226128366825948814d" - integrity sha512-TnXRZIZcxv5+EctEPsZEi2cyRXbpl3A679wzQa6BACv+pM45cjGO1JR8P0VswKN4TVL0aQRMv26N6U/uie8sEQ== +"@abp/utils@^3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-3.0.5.tgz#66b3da953500e73ff1f23d1b41168cde8216ce49" + integrity sha512-X9V1xLIEazItaf93nFSA4p94WT6QK3yA4eIyvU7GyyEkkOQdaakNwPbRwy930sd+I+/oXnIqM1vDsJu9QDhgvg== dependencies: just-compare "^1.3.0" diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.IdentityServer/package.json b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.IdentityServer/package.json index f311232e23..55812dc3ab 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.IdentityServer/package.json +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.IdentityServer/package.json @@ -3,6 +3,6 @@ "name": "my-app-identityserver", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.basic": "^3.0.4" + "@abp/aspnetcore.mvc.ui.theme.basic": "^3.0.5" } } \ No newline at end of file diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.IdentityServer/yarn.lock b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.IdentityServer/yarn.lock index 63a96d93c8..a583172e87 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.IdentityServer/yarn.lock +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.IdentityServer/yarn.lock @@ -2,37 +2,37 @@ # yarn lockfile v1 -"@abp/aspnetcore.mvc.ui.theme.basic@^3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-3.0.4.tgz#c58e3e06ba78279875cf2b5f96d34b83ce09f6df" - integrity sha512-tKKqVRKpwN7P4Mn+he3bcz4Qbt8bkZ++wk6iOujd6HLTkBNa0uKyM4L6+iCn1Hi62S6HeK2Xytx+b+IYeIlsuw== - dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "~3.0.4" - -"@abp/aspnetcore.mvc.ui.theme.shared@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-3.0.4.tgz#50db612b6492d36c63dd9042000a9fb00fecec54" - integrity sha512-imd2T5XXkNvGQyXV/A9hA80qSeurKaUcW6HDkte8Y2fs4QfvkjgzWXi7neqF6F+HVbYYPg3rIBWC6QF1OXGn2w== - dependencies: - "@abp/aspnetcore.mvc.ui" "~3.0.4" - "@abp/bootstrap" "~3.0.4" - "@abp/bootstrap-datepicker" "~3.0.4" - "@abp/datatables.net-bs4" "~3.0.4" - "@abp/font-awesome" "~3.0.4" - "@abp/jquery-form" "~3.0.4" - "@abp/jquery-validation-unobtrusive" "~3.0.4" - "@abp/lodash" "~3.0.4" - "@abp/luxon" "~3.0.4" - "@abp/malihu-custom-scrollbar-plugin" "~3.0.4" - "@abp/select2" "~3.0.4" - "@abp/sweetalert" "~3.0.4" - "@abp/timeago" "~3.0.4" - "@abp/toastr" "~3.0.4" - -"@abp/aspnetcore.mvc.ui@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-3.0.4.tgz#4e4344d95a98a60c53037b351cb915d8ff7a7dcb" - integrity sha512-p7KI5CKkpD4EYzG4fCtygrtZhwMu7Z+IZFGbdqXelLbI5ACkbJyrn+N+9trPfS9papymeXY4p1E3v6xOH7rSHQ== +"@abp/aspnetcore.mvc.ui.theme.basic@^3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-3.0.5.tgz#c146f20226522f0305cc0fa31cfcf9d39be78901" + integrity sha512-ptNhD4xV2wSLW7vQ5KUgaRiH5Ov1OscZW2ZEoivnt3kqgtIC3DGw+SiE9vjFCvyY83fjRkIlW2PIfQxSySbteQ== + dependencies: + "@abp/aspnetcore.mvc.ui.theme.shared" "~3.0.5" + +"@abp/aspnetcore.mvc.ui.theme.shared@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-3.0.5.tgz#5b370902cf229963f9aa10dd64482d57299dde76" + integrity sha512-iobAH39xrCdnqdaABaiYZg4lqNSOwPkMCLnyc+ytxOMbu/YnNKahXPmRhgd8dR/l+iQY1+6T4SWfLdGswi3gAg== + dependencies: + "@abp/aspnetcore.mvc.ui" "~3.0.5" + "@abp/bootstrap" "~3.0.5" + "@abp/bootstrap-datepicker" "~3.0.5" + "@abp/datatables.net-bs4" "~3.0.5" + "@abp/font-awesome" "~3.0.5" + "@abp/jquery-form" "~3.0.5" + "@abp/jquery-validation-unobtrusive" "~3.0.5" + "@abp/lodash" "~3.0.5" + "@abp/luxon" "~3.0.5" + "@abp/malihu-custom-scrollbar-plugin" "~3.0.5" + "@abp/select2" "~3.0.5" + "@abp/sweetalert" "~3.0.5" + "@abp/timeago" "~3.0.5" + "@abp/toastr" "~3.0.5" + +"@abp/aspnetcore.mvc.ui@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-3.0.5.tgz#a050eaee328c56a3730f5abbf25035adf612d6f0" + integrity sha512-/EOgjXTzR+I1OK9KA7L3yzQ2RGSDW97+n3cQrSdLAUF+tnRvMJS0nytDlSJSRK2hb8/clFMaofZHCC81aUkYUg== dependencies: ansi-colors "^4.1.1" extend-object "^1.0.0" @@ -41,144 +41,144 @@ path "^0.12.7" rimraf "^3.0.2" -"@abp/bootstrap-datepicker@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-3.0.4.tgz#d21963f158a4d348a0acdc46209e67378aae8e55" - integrity sha512-25e9qm39dj9AijIchQIdLlBiBM5/fhASkEuLKNt6M8S/e3qwKLwbRhX90DKMFvOyKdxxcK1gX7tDuGHyG9A8mA== +"@abp/bootstrap-datepicker@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-3.0.5.tgz#3a7fd86dbcadc31c11be5b2b31c8cf8ac3035540" + integrity sha512-vIY1wT4RHoJAPhVK11Q5MS71iZbwsmM/0VTBvvs04mjRSSi6xhdyRYkA+l+P49fnOwhZNaaK19XwQdVVScDuhA== dependencies: bootstrap-datepicker "^1.9.0" -"@abp/bootstrap@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-3.0.4.tgz#3b0e2b74dc174a04ce669de1b140df833eee6031" - integrity sha512-DwxL1fGYOwChPwmMpwUxCKiIdzTfRf/YDkOLUiwI8eRrpABBeuE2sSHKfks6Rqh9Wqo/nlWXvfccgDRqweqhsA== +"@abp/bootstrap@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-3.0.5.tgz#91f2c8fe6a57fc5789ae8fe9c206b2c159e55880" + integrity sha512-LdydeJIbw5k1k7FkWaI1lTectZeTXmEIoccJtj9Qx4N9yGt40wGsjz9SOvUdJ0IKAgntIWNQP8ohWiBPgzT7Xg== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" bootstrap "^4.5.0" bootstrap-v4-rtl "4.4.1-2" -"@abp/core@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-3.0.4.tgz#281940525e280e9e3a1aa4cb4e8f64548ea026a3" - integrity sha512-ZPEH1fa5bf/f1ek9ZLQHx7u78iF6kRZ8Z2NBI36cNL13RyQbx485qJF+KXyqNlJoJAh0CAs0NsAJADU3utcDNA== +"@abp/core@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/core/-/core-3.0.5.tgz#9a7bd990d02edc8128a5be3233b6fbb5669b15b8" + integrity sha512-LdkSkZQfN4hugcGNxBkje0+eQomivwNFbnAkMFQbvCwYLwKB2yvk7GCemEetW1piqvyrUGz4jqhtunjoXps5JA== dependencies: - "@abp/utils" "^3.0.4" + "@abp/utils" "^3.0.5" -"@abp/datatables.net-bs4@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-3.0.4.tgz#e488336bd2c199146ea60464e0ba75aeb134957e" - integrity sha512-ID1XWKPxG9pv6mxBkku7JWvgXjTxJ1uShxmYv5kFYVuwOGMSvj8QVZInTHFcMdECopV56yjGPNOIFLeQj4Mw8Q== +"@abp/datatables.net-bs4@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-3.0.5.tgz#9b79935970d2d4074994240b5deb01dff5987c0a" + integrity sha512-jIWRBEG/NlhaE43i6Xzr18XJ5aTWA+WWslf7WgNOArG5slGBbH4lLLja4HswLP3NGdSmzIyHJR1p9XQ82nBkbQ== dependencies: - "@abp/datatables.net" "~3.0.4" + "@abp/datatables.net" "~3.0.5" datatables.net-bs4 "^1.10.21" -"@abp/datatables.net@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-3.0.4.tgz#7ef143b83143ad8d769be25296411a812a17b255" - integrity sha512-gdQwRuxO5fQWhG/DiUaf40DQ8dWIVGhOCyt6SZ8LQzq4uSaQqa0qrtTTTW2/aiee4MgJu2vJWYF5YCszIR/HhA== +"@abp/datatables.net@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-3.0.5.tgz#0a0a39e8fa54522bf8a09ce76ff3927207a79491" + integrity sha512-HClQ2tcZuWBAChf9oOJOtMP1zHv8jqloPEcw3iqbhS/tWZBw5VQ4TO+BVfZsqHDXZNnWSmR6/2xiKsK32nliew== dependencies: - "@abp/jquery" "~3.0.4" + "@abp/jquery" "~3.0.5" datatables.net "^1.10.21" -"@abp/font-awesome@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-3.0.4.tgz#98f83d0bf8b5a2a4d988cb07f5cceda2e1bc1a09" - integrity sha512-AKhKCUXx8vdHIgyXUfbSLitfYor5dJbo4qMRRGqIJVSj+cyMkpgYbGjqr24GGijgZxdmOGL+s1b9iCUbIPgLNQ== +"@abp/font-awesome@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-3.0.5.tgz#62d58c34f0abf268e30bdf788dfbd3f45b19b412" + integrity sha512-/+31Vtw1S9vvuNy/rN/Q6awkgUaYNNYXESgfvqI0pqIkvlPgigvS8E68mHqGzsxyRqdZisI6JGd94AF+vJD7sQ== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" "@fortawesome/fontawesome-free" "^5.13.0" -"@abp/jquery-form@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-3.0.4.tgz#022eebbfe58b55e328984c0f119884c9464bc767" - integrity sha512-xDkk4rY0AmXBJE4qztzr2hZz+OVucVNWeagOEgeQHXJSKU/T+0kj0a1RxEHpyI24xBvEXAbe8PbByTbu0QXYew== +"@abp/jquery-form@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-3.0.5.tgz#9d2ea9b2509448ee163a163298a7a09480865f78" + integrity sha512-RKgvQciaMml33NvzA28aYyfNI+WQHRfKLFWvOvqc8qO4C3BvyrnwepuzZcnI/9UsELKLSLoFrfk3rJHhxnTJhg== dependencies: - "@abp/jquery" "~3.0.4" + "@abp/jquery" "~3.0.5" jquery-form "^4.3.0" -"@abp/jquery-validation-unobtrusive@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-3.0.4.tgz#6cc942aadcdde33893e7a45c84aa022e033e4e8b" - integrity sha512-N9sza91HCyPvJo+d0RAfq4skae3TgAYg7KXhlwzRE2hqUQS+EICVARURWyxJW7s7Zu6+gxDTkXhBZRTW56deZA== +"@abp/jquery-validation-unobtrusive@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-3.0.5.tgz#b8912e1c4cfdd4fdff6ad4aa7ee8693b55a3be1f" + integrity sha512-kPifDA+1ErbeQBwn+BzwtWuTHXzBke/EMCmITuj59plM/60gZ1ZfVm8EzzTmKS7iLaVVeOqTKf0vEQTobNYffw== dependencies: - "@abp/jquery-validation" "~3.0.4" + "@abp/jquery-validation" "~3.0.5" jquery-validation-unobtrusive "^3.2.11" -"@abp/jquery-validation@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-3.0.4.tgz#3f96d1f83c75a7fc47e5e5e12c51dbc8da7582b1" - integrity sha512-2ljqas4YKU0PcwB0wQW2qhXejDHjW+N1XCxZDyCZ2wF9UxGlKBR8rFt76TJByXSotKE7n2hJRZaOh9ICZUow2g== +"@abp/jquery-validation@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-3.0.5.tgz#55e36b3c832a35447fac69af312dedf1dee22279" + integrity sha512-fdqxc5CJ6TpUAF8+NEsKCmXvvZiOPR5bzczcfvfovxLOjvHvdEO74XPGjsjlBNTdaKMhmNGZRK4JRLUz7fvTng== dependencies: - "@abp/jquery" "~3.0.4" + "@abp/jquery" "~3.0.5" jquery-validation "^1.19.2" -"@abp/jquery@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-3.0.4.tgz#5f236d95cfae7f65012cd8778fd74490b7542442" - integrity sha512-g8N8Te5vf+8djdksfZoZ3tXaqlBC4Ra39pAWU/XerlLl64u+XmAX1s6yKRfC2kS8lf292GgiFYuNOkb77J6k4A== +"@abp/jquery@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-3.0.5.tgz#2e43ac19a8df6e1e0220d6d4991d33a93d890754" + integrity sha512-2d2l+smWKAVP4/b6GSO+8rmJ7pFXiUewpBDwkHm5qgkK6n6UGqIcK9lIgiS2YQ6rmL6qdtuNhhqtC9GF2TF2kQ== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" jquery "~3.5.1" -"@abp/lodash@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-3.0.4.tgz#ee60bc99f98b59fd9fc5ff4bbcf914a13faf209d" - integrity sha512-jxvv74Sm/fUKDBMylK4Ne/8GKm7GuHAdcLFtkoJQptdO+RjZpKJ86ULT+X5vbKskZaTj2fEmOR6l4hmfnBULTA== +"@abp/lodash@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-3.0.5.tgz#d5d9f14095d76239bc0e6f9804c24d1f92ffcab4" + integrity sha512-+B2vxfPwxoIIb8Ac8eHi6OgAn0qbjmPZuun7/es0/ouYYTbEhvhTAD20X3PGZlHrIYeDyS2ansuXm8gJI+/BzA== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" lodash "^4.17.15" -"@abp/luxon@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-3.0.4.tgz#aa1bf6a93d6254433101e50a205b276759969414" - integrity sha512-gX9dQJt9C6M1wmCSUIBoNr8CAt0jkUZFQ7LKKO/BoADGM/XFvY5vDbhL7zcwbwitgCOzmucoCxs/6rIxSOVlrg== +"@abp/luxon@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-3.0.5.tgz#083042c939ea58bf719e35114a6c8efb07b68688" + integrity sha512-0UVHO2CO89t34O35OA3JzWGWLBpg+e1NQXSfVtK90nmg/QmzGkHVM9m7Su0jjLNBt3N5EA5OPOhriot3bCKItw== dependencies: luxon "^1.24.1" -"@abp/malihu-custom-scrollbar-plugin@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.0.4.tgz#c54824b98363f4190cc6a37fcd421c2bfdc1e201" - integrity sha512-6LdSGctOr4ACtdohdSlb19vrFNJ5C0hy1VdbBEafHOBspXckvRVx4uJl2KfHmAC+bMg9apoK/wcHjVNdBHThYQ== +"@abp/malihu-custom-scrollbar-plugin@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.0.5.tgz#f908289927a63fd76fb8f60b00a37747d9edbe39" + integrity sha512-3GoXA8VtGyZWKiqaPCipPXYLLM7h2Y5Oecq5c5YlMQyW2akv7uHiQQF2GZW/nVsFu3HBbGTOWpKRRmVk3PEO9Q== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" malihu-custom-scrollbar-plugin "^3.1.5" -"@abp/select2@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-3.0.4.tgz#49db0cfbc9b08f6ae4949b2cb8bdef92d7d308dd" - integrity sha512-zKEgkWBFdGU2KiAMUKhucHqBfzDy2KNSefyqxpOiUd1L3PEKu+9o23HZRWzDupYltop+SO1Jw33CNoVAkKm4+A== +"@abp/select2@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-3.0.5.tgz#79d7754713c64a6549da520dc6867ef3e3dd0350" + integrity sha512-VbeSHdAdDy8exrjplHMMhLVV4oG7Gq9zBb5M52f0sIkA4DkXFhksXHcHNoOCfhaKAXpenGA03Z9GJewZ3MTpMw== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" select2 "^4.0.13" -"@abp/sweetalert@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-3.0.4.tgz#f85d11c5aabc6ceb509af1b8fd8d75bc3c74bd27" - integrity sha512-hO0qXUWxeMy/lfy3sb+5HvOmIPst6UvYJJGy3ZQR6DKEdkOktBX9sEDb7m6ij6xAIHqWIx1xLveul0oGteOG0Q== +"@abp/sweetalert@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-3.0.5.tgz#e3b92d23cf3633983980b6255bf63c43d422ceab" + integrity sha512-OUt4ANgj14GESfRG7+UqdONS8daOu+8x2OZDWv98hriuX0uCVBjwB2J0jRI/n653C68Mi0yHixGONDv9OLy/lg== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" sweetalert "^2.1.2" -"@abp/timeago@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-3.0.4.tgz#82d90a04f703a7db9c0acedcd2f3cea684e7ae18" - integrity sha512-7SbbqScTKCix25xWy5oLT0slJqUQsW6YgJgI0N41C3AsByRBXZeh5Gcep033gprTPmpgNY8JOWcEcCXySnYvfA== +"@abp/timeago@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-3.0.5.tgz#b191a7c43f3dc77645fe27273f2f6619f7d4eb31" + integrity sha512-QhvAOU4C+Qxh/gFuCSGZtLU4KwVhdv/jtK8ovWyqbGvQMCCIimqa8BFKIz0H5XWIJhHwwWblkpjICWgjWh6uXw== dependencies: - "@abp/jquery" "~3.0.4" + "@abp/jquery" "~3.0.5" timeago "^1.6.7" -"@abp/toastr@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-3.0.4.tgz#884ab2343ddd59981c291c632e3b0630532f7e9c" - integrity sha512-NG0pVD8bdIXGpjPW9cozCzmyuAdnSLE4vDYLUReP1pZFp9B8SMJqpgPk9eFg0Y06aaHTVMKYBKRoq9xXS4w9Xg== +"@abp/toastr@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-3.0.5.tgz#fc83b678f5be3a22040d0421ad9db5b2eac9d4fc" + integrity sha512-qgi2DEu6FYpN/DYcOZrmXsAr1HqcIKMhBWeXgjfoYUIl/K5+OuUgbQ69D/jdc0jz8HU9a4Cw7Q8hhe4CkgssEw== dependencies: - "@abp/jquery" "~3.0.4" + "@abp/jquery" "~3.0.5" toastr "^2.1.4" -"@abp/utils@^3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-3.0.4.tgz#38068fa8f735e1889cf2f226128366825948814d" - integrity sha512-TnXRZIZcxv5+EctEPsZEi2cyRXbpl3A679wzQa6BACv+pM45cjGO1JR8P0VswKN4TVL0aQRMv26N6U/uie8sEQ== +"@abp/utils@^3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-3.0.5.tgz#66b3da953500e73ff1f23d1b41168cde8216ce49" + integrity sha512-X9V1xLIEazItaf93nFSA4p94WT6QK3yA4eIyvU7GyyEkkOQdaakNwPbRwy930sd+I+/oXnIqM1vDsJu9QDhgvg== dependencies: just-compare "^1.3.0" diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/package.json b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/package.json index 528a8910e5..5ffe5c0500 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/package.json +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/package.json @@ -3,6 +3,6 @@ "name": "my-app", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.basic": "^3.0.4" + "@abp/aspnetcore.mvc.ui.theme.basic": "^3.0.5" } } \ No newline at end of file diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/yarn.lock b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/yarn.lock index 63a96d93c8..a583172e87 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/yarn.lock +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/yarn.lock @@ -2,37 +2,37 @@ # yarn lockfile v1 -"@abp/aspnetcore.mvc.ui.theme.basic@^3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-3.0.4.tgz#c58e3e06ba78279875cf2b5f96d34b83ce09f6df" - integrity sha512-tKKqVRKpwN7P4Mn+he3bcz4Qbt8bkZ++wk6iOujd6HLTkBNa0uKyM4L6+iCn1Hi62S6HeK2Xytx+b+IYeIlsuw== - dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "~3.0.4" - -"@abp/aspnetcore.mvc.ui.theme.shared@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-3.0.4.tgz#50db612b6492d36c63dd9042000a9fb00fecec54" - integrity sha512-imd2T5XXkNvGQyXV/A9hA80qSeurKaUcW6HDkte8Y2fs4QfvkjgzWXi7neqF6F+HVbYYPg3rIBWC6QF1OXGn2w== - dependencies: - "@abp/aspnetcore.mvc.ui" "~3.0.4" - "@abp/bootstrap" "~3.0.4" - "@abp/bootstrap-datepicker" "~3.0.4" - "@abp/datatables.net-bs4" "~3.0.4" - "@abp/font-awesome" "~3.0.4" - "@abp/jquery-form" "~3.0.4" - "@abp/jquery-validation-unobtrusive" "~3.0.4" - "@abp/lodash" "~3.0.4" - "@abp/luxon" "~3.0.4" - "@abp/malihu-custom-scrollbar-plugin" "~3.0.4" - "@abp/select2" "~3.0.4" - "@abp/sweetalert" "~3.0.4" - "@abp/timeago" "~3.0.4" - "@abp/toastr" "~3.0.4" - -"@abp/aspnetcore.mvc.ui@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-3.0.4.tgz#4e4344d95a98a60c53037b351cb915d8ff7a7dcb" - integrity sha512-p7KI5CKkpD4EYzG4fCtygrtZhwMu7Z+IZFGbdqXelLbI5ACkbJyrn+N+9trPfS9papymeXY4p1E3v6xOH7rSHQ== +"@abp/aspnetcore.mvc.ui.theme.basic@^3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-3.0.5.tgz#c146f20226522f0305cc0fa31cfcf9d39be78901" + integrity sha512-ptNhD4xV2wSLW7vQ5KUgaRiH5Ov1OscZW2ZEoivnt3kqgtIC3DGw+SiE9vjFCvyY83fjRkIlW2PIfQxSySbteQ== + dependencies: + "@abp/aspnetcore.mvc.ui.theme.shared" "~3.0.5" + +"@abp/aspnetcore.mvc.ui.theme.shared@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-3.0.5.tgz#5b370902cf229963f9aa10dd64482d57299dde76" + integrity sha512-iobAH39xrCdnqdaABaiYZg4lqNSOwPkMCLnyc+ytxOMbu/YnNKahXPmRhgd8dR/l+iQY1+6T4SWfLdGswi3gAg== + dependencies: + "@abp/aspnetcore.mvc.ui" "~3.0.5" + "@abp/bootstrap" "~3.0.5" + "@abp/bootstrap-datepicker" "~3.0.5" + "@abp/datatables.net-bs4" "~3.0.5" + "@abp/font-awesome" "~3.0.5" + "@abp/jquery-form" "~3.0.5" + "@abp/jquery-validation-unobtrusive" "~3.0.5" + "@abp/lodash" "~3.0.5" + "@abp/luxon" "~3.0.5" + "@abp/malihu-custom-scrollbar-plugin" "~3.0.5" + "@abp/select2" "~3.0.5" + "@abp/sweetalert" "~3.0.5" + "@abp/timeago" "~3.0.5" + "@abp/toastr" "~3.0.5" + +"@abp/aspnetcore.mvc.ui@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-3.0.5.tgz#a050eaee328c56a3730f5abbf25035adf612d6f0" + integrity sha512-/EOgjXTzR+I1OK9KA7L3yzQ2RGSDW97+n3cQrSdLAUF+tnRvMJS0nytDlSJSRK2hb8/clFMaofZHCC81aUkYUg== dependencies: ansi-colors "^4.1.1" extend-object "^1.0.0" @@ -41,144 +41,144 @@ path "^0.12.7" rimraf "^3.0.2" -"@abp/bootstrap-datepicker@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-3.0.4.tgz#d21963f158a4d348a0acdc46209e67378aae8e55" - integrity sha512-25e9qm39dj9AijIchQIdLlBiBM5/fhASkEuLKNt6M8S/e3qwKLwbRhX90DKMFvOyKdxxcK1gX7tDuGHyG9A8mA== +"@abp/bootstrap-datepicker@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-3.0.5.tgz#3a7fd86dbcadc31c11be5b2b31c8cf8ac3035540" + integrity sha512-vIY1wT4RHoJAPhVK11Q5MS71iZbwsmM/0VTBvvs04mjRSSi6xhdyRYkA+l+P49fnOwhZNaaK19XwQdVVScDuhA== dependencies: bootstrap-datepicker "^1.9.0" -"@abp/bootstrap@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-3.0.4.tgz#3b0e2b74dc174a04ce669de1b140df833eee6031" - integrity sha512-DwxL1fGYOwChPwmMpwUxCKiIdzTfRf/YDkOLUiwI8eRrpABBeuE2sSHKfks6Rqh9Wqo/nlWXvfccgDRqweqhsA== +"@abp/bootstrap@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-3.0.5.tgz#91f2c8fe6a57fc5789ae8fe9c206b2c159e55880" + integrity sha512-LdydeJIbw5k1k7FkWaI1lTectZeTXmEIoccJtj9Qx4N9yGt40wGsjz9SOvUdJ0IKAgntIWNQP8ohWiBPgzT7Xg== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" bootstrap "^4.5.0" bootstrap-v4-rtl "4.4.1-2" -"@abp/core@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-3.0.4.tgz#281940525e280e9e3a1aa4cb4e8f64548ea026a3" - integrity sha512-ZPEH1fa5bf/f1ek9ZLQHx7u78iF6kRZ8Z2NBI36cNL13RyQbx485qJF+KXyqNlJoJAh0CAs0NsAJADU3utcDNA== +"@abp/core@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/core/-/core-3.0.5.tgz#9a7bd990d02edc8128a5be3233b6fbb5669b15b8" + integrity sha512-LdkSkZQfN4hugcGNxBkje0+eQomivwNFbnAkMFQbvCwYLwKB2yvk7GCemEetW1piqvyrUGz4jqhtunjoXps5JA== dependencies: - "@abp/utils" "^3.0.4" + "@abp/utils" "^3.0.5" -"@abp/datatables.net-bs4@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-3.0.4.tgz#e488336bd2c199146ea60464e0ba75aeb134957e" - integrity sha512-ID1XWKPxG9pv6mxBkku7JWvgXjTxJ1uShxmYv5kFYVuwOGMSvj8QVZInTHFcMdECopV56yjGPNOIFLeQj4Mw8Q== +"@abp/datatables.net-bs4@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-3.0.5.tgz#9b79935970d2d4074994240b5deb01dff5987c0a" + integrity sha512-jIWRBEG/NlhaE43i6Xzr18XJ5aTWA+WWslf7WgNOArG5slGBbH4lLLja4HswLP3NGdSmzIyHJR1p9XQ82nBkbQ== dependencies: - "@abp/datatables.net" "~3.0.4" + "@abp/datatables.net" "~3.0.5" datatables.net-bs4 "^1.10.21" -"@abp/datatables.net@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-3.0.4.tgz#7ef143b83143ad8d769be25296411a812a17b255" - integrity sha512-gdQwRuxO5fQWhG/DiUaf40DQ8dWIVGhOCyt6SZ8LQzq4uSaQqa0qrtTTTW2/aiee4MgJu2vJWYF5YCszIR/HhA== +"@abp/datatables.net@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-3.0.5.tgz#0a0a39e8fa54522bf8a09ce76ff3927207a79491" + integrity sha512-HClQ2tcZuWBAChf9oOJOtMP1zHv8jqloPEcw3iqbhS/tWZBw5VQ4TO+BVfZsqHDXZNnWSmR6/2xiKsK32nliew== dependencies: - "@abp/jquery" "~3.0.4" + "@abp/jquery" "~3.0.5" datatables.net "^1.10.21" -"@abp/font-awesome@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-3.0.4.tgz#98f83d0bf8b5a2a4d988cb07f5cceda2e1bc1a09" - integrity sha512-AKhKCUXx8vdHIgyXUfbSLitfYor5dJbo4qMRRGqIJVSj+cyMkpgYbGjqr24GGijgZxdmOGL+s1b9iCUbIPgLNQ== +"@abp/font-awesome@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-3.0.5.tgz#62d58c34f0abf268e30bdf788dfbd3f45b19b412" + integrity sha512-/+31Vtw1S9vvuNy/rN/Q6awkgUaYNNYXESgfvqI0pqIkvlPgigvS8E68mHqGzsxyRqdZisI6JGd94AF+vJD7sQ== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" "@fortawesome/fontawesome-free" "^5.13.0" -"@abp/jquery-form@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-3.0.4.tgz#022eebbfe58b55e328984c0f119884c9464bc767" - integrity sha512-xDkk4rY0AmXBJE4qztzr2hZz+OVucVNWeagOEgeQHXJSKU/T+0kj0a1RxEHpyI24xBvEXAbe8PbByTbu0QXYew== +"@abp/jquery-form@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-3.0.5.tgz#9d2ea9b2509448ee163a163298a7a09480865f78" + integrity sha512-RKgvQciaMml33NvzA28aYyfNI+WQHRfKLFWvOvqc8qO4C3BvyrnwepuzZcnI/9UsELKLSLoFrfk3rJHhxnTJhg== dependencies: - "@abp/jquery" "~3.0.4" + "@abp/jquery" "~3.0.5" jquery-form "^4.3.0" -"@abp/jquery-validation-unobtrusive@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-3.0.4.tgz#6cc942aadcdde33893e7a45c84aa022e033e4e8b" - integrity sha512-N9sza91HCyPvJo+d0RAfq4skae3TgAYg7KXhlwzRE2hqUQS+EICVARURWyxJW7s7Zu6+gxDTkXhBZRTW56deZA== +"@abp/jquery-validation-unobtrusive@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-3.0.5.tgz#b8912e1c4cfdd4fdff6ad4aa7ee8693b55a3be1f" + integrity sha512-kPifDA+1ErbeQBwn+BzwtWuTHXzBke/EMCmITuj59plM/60gZ1ZfVm8EzzTmKS7iLaVVeOqTKf0vEQTobNYffw== dependencies: - "@abp/jquery-validation" "~3.0.4" + "@abp/jquery-validation" "~3.0.5" jquery-validation-unobtrusive "^3.2.11" -"@abp/jquery-validation@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-3.0.4.tgz#3f96d1f83c75a7fc47e5e5e12c51dbc8da7582b1" - integrity sha512-2ljqas4YKU0PcwB0wQW2qhXejDHjW+N1XCxZDyCZ2wF9UxGlKBR8rFt76TJByXSotKE7n2hJRZaOh9ICZUow2g== +"@abp/jquery-validation@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-3.0.5.tgz#55e36b3c832a35447fac69af312dedf1dee22279" + integrity sha512-fdqxc5CJ6TpUAF8+NEsKCmXvvZiOPR5bzczcfvfovxLOjvHvdEO74XPGjsjlBNTdaKMhmNGZRK4JRLUz7fvTng== dependencies: - "@abp/jquery" "~3.0.4" + "@abp/jquery" "~3.0.5" jquery-validation "^1.19.2" -"@abp/jquery@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-3.0.4.tgz#5f236d95cfae7f65012cd8778fd74490b7542442" - integrity sha512-g8N8Te5vf+8djdksfZoZ3tXaqlBC4Ra39pAWU/XerlLl64u+XmAX1s6yKRfC2kS8lf292GgiFYuNOkb77J6k4A== +"@abp/jquery@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-3.0.5.tgz#2e43ac19a8df6e1e0220d6d4991d33a93d890754" + integrity sha512-2d2l+smWKAVP4/b6GSO+8rmJ7pFXiUewpBDwkHm5qgkK6n6UGqIcK9lIgiS2YQ6rmL6qdtuNhhqtC9GF2TF2kQ== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" jquery "~3.5.1" -"@abp/lodash@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-3.0.4.tgz#ee60bc99f98b59fd9fc5ff4bbcf914a13faf209d" - integrity sha512-jxvv74Sm/fUKDBMylK4Ne/8GKm7GuHAdcLFtkoJQptdO+RjZpKJ86ULT+X5vbKskZaTj2fEmOR6l4hmfnBULTA== +"@abp/lodash@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-3.0.5.tgz#d5d9f14095d76239bc0e6f9804c24d1f92ffcab4" + integrity sha512-+B2vxfPwxoIIb8Ac8eHi6OgAn0qbjmPZuun7/es0/ouYYTbEhvhTAD20X3PGZlHrIYeDyS2ansuXm8gJI+/BzA== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" lodash "^4.17.15" -"@abp/luxon@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-3.0.4.tgz#aa1bf6a93d6254433101e50a205b276759969414" - integrity sha512-gX9dQJt9C6M1wmCSUIBoNr8CAt0jkUZFQ7LKKO/BoADGM/XFvY5vDbhL7zcwbwitgCOzmucoCxs/6rIxSOVlrg== +"@abp/luxon@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-3.0.5.tgz#083042c939ea58bf719e35114a6c8efb07b68688" + integrity sha512-0UVHO2CO89t34O35OA3JzWGWLBpg+e1NQXSfVtK90nmg/QmzGkHVM9m7Su0jjLNBt3N5EA5OPOhriot3bCKItw== dependencies: luxon "^1.24.1" -"@abp/malihu-custom-scrollbar-plugin@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.0.4.tgz#c54824b98363f4190cc6a37fcd421c2bfdc1e201" - integrity sha512-6LdSGctOr4ACtdohdSlb19vrFNJ5C0hy1VdbBEafHOBspXckvRVx4uJl2KfHmAC+bMg9apoK/wcHjVNdBHThYQ== +"@abp/malihu-custom-scrollbar-plugin@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.0.5.tgz#f908289927a63fd76fb8f60b00a37747d9edbe39" + integrity sha512-3GoXA8VtGyZWKiqaPCipPXYLLM7h2Y5Oecq5c5YlMQyW2akv7uHiQQF2GZW/nVsFu3HBbGTOWpKRRmVk3PEO9Q== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" malihu-custom-scrollbar-plugin "^3.1.5" -"@abp/select2@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-3.0.4.tgz#49db0cfbc9b08f6ae4949b2cb8bdef92d7d308dd" - integrity sha512-zKEgkWBFdGU2KiAMUKhucHqBfzDy2KNSefyqxpOiUd1L3PEKu+9o23HZRWzDupYltop+SO1Jw33CNoVAkKm4+A== +"@abp/select2@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-3.0.5.tgz#79d7754713c64a6549da520dc6867ef3e3dd0350" + integrity sha512-VbeSHdAdDy8exrjplHMMhLVV4oG7Gq9zBb5M52f0sIkA4DkXFhksXHcHNoOCfhaKAXpenGA03Z9GJewZ3MTpMw== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" select2 "^4.0.13" -"@abp/sweetalert@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-3.0.4.tgz#f85d11c5aabc6ceb509af1b8fd8d75bc3c74bd27" - integrity sha512-hO0qXUWxeMy/lfy3sb+5HvOmIPst6UvYJJGy3ZQR6DKEdkOktBX9sEDb7m6ij6xAIHqWIx1xLveul0oGteOG0Q== +"@abp/sweetalert@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-3.0.5.tgz#e3b92d23cf3633983980b6255bf63c43d422ceab" + integrity sha512-OUt4ANgj14GESfRG7+UqdONS8daOu+8x2OZDWv98hriuX0uCVBjwB2J0jRI/n653C68Mi0yHixGONDv9OLy/lg== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" sweetalert "^2.1.2" -"@abp/timeago@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-3.0.4.tgz#82d90a04f703a7db9c0acedcd2f3cea684e7ae18" - integrity sha512-7SbbqScTKCix25xWy5oLT0slJqUQsW6YgJgI0N41C3AsByRBXZeh5Gcep033gprTPmpgNY8JOWcEcCXySnYvfA== +"@abp/timeago@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-3.0.5.tgz#b191a7c43f3dc77645fe27273f2f6619f7d4eb31" + integrity sha512-QhvAOU4C+Qxh/gFuCSGZtLU4KwVhdv/jtK8ovWyqbGvQMCCIimqa8BFKIz0H5XWIJhHwwWblkpjICWgjWh6uXw== dependencies: - "@abp/jquery" "~3.0.4" + "@abp/jquery" "~3.0.5" timeago "^1.6.7" -"@abp/toastr@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-3.0.4.tgz#884ab2343ddd59981c291c632e3b0630532f7e9c" - integrity sha512-NG0pVD8bdIXGpjPW9cozCzmyuAdnSLE4vDYLUReP1pZFp9B8SMJqpgPk9eFg0Y06aaHTVMKYBKRoq9xXS4w9Xg== +"@abp/toastr@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-3.0.5.tgz#fc83b678f5be3a22040d0421ad9db5b2eac9d4fc" + integrity sha512-qgi2DEu6FYpN/DYcOZrmXsAr1HqcIKMhBWeXgjfoYUIl/K5+OuUgbQ69D/jdc0jz8HU9a4Cw7Q8hhe4CkgssEw== dependencies: - "@abp/jquery" "~3.0.4" + "@abp/jquery" "~3.0.5" toastr "^2.1.4" -"@abp/utils@^3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-3.0.4.tgz#38068fa8f735e1889cf2f226128366825948814d" - integrity sha512-TnXRZIZcxv5+EctEPsZEi2cyRXbpl3A679wzQa6BACv+pM45cjGO1JR8P0VswKN4TVL0aQRMv26N6U/uie8sEQ== +"@abp/utils@^3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-3.0.5.tgz#66b3da953500e73ff1f23d1b41168cde8216ce49" + integrity sha512-X9V1xLIEazItaf93nFSA4p94WT6QK3yA4eIyvU7GyyEkkOQdaakNwPbRwy930sd+I+/oXnIqM1vDsJu9QDhgvg== dependencies: just-compare "^1.3.0" diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web/package.json b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web/package.json index 528a8910e5..5ffe5c0500 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web/package.json +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web/package.json @@ -3,6 +3,6 @@ "name": "my-app", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.basic": "^3.0.4" + "@abp/aspnetcore.mvc.ui.theme.basic": "^3.0.5" } } \ No newline at end of file diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web/yarn.lock b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web/yarn.lock index 845f2aaf18..7f4cc4007c 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web/yarn.lock +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web/yarn.lock @@ -2,37 +2,37 @@ # yarn lockfile v1 -"@abp/aspnetcore.mvc.ui.theme.basic@^3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-3.0.4.tgz#c58e3e06ba78279875cf2b5f96d34b83ce09f6df" - integrity sha512-tKKqVRKpwN7P4Mn+he3bcz4Qbt8bkZ++wk6iOujd6HLTkBNa0uKyM4L6+iCn1Hi62S6HeK2Xytx+b+IYeIlsuw== - dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "~3.0.4" - -"@abp/aspnetcore.mvc.ui.theme.shared@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-3.0.4.tgz#50db612b6492d36c63dd9042000a9fb00fecec54" - integrity sha512-imd2T5XXkNvGQyXV/A9hA80qSeurKaUcW6HDkte8Y2fs4QfvkjgzWXi7neqF6F+HVbYYPg3rIBWC6QF1OXGn2w== - dependencies: - "@abp/aspnetcore.mvc.ui" "~3.0.4" - "@abp/bootstrap" "~3.0.4" - "@abp/bootstrap-datepicker" "~3.0.4" - "@abp/datatables.net-bs4" "~3.0.4" - "@abp/font-awesome" "~3.0.4" - "@abp/jquery-form" "~3.0.4" - "@abp/jquery-validation-unobtrusive" "~3.0.4" - "@abp/lodash" "~3.0.4" - "@abp/luxon" "~3.0.4" - "@abp/malihu-custom-scrollbar-plugin" "~3.0.4" - "@abp/select2" "~3.0.4" - "@abp/sweetalert" "~3.0.4" - "@abp/timeago" "~3.0.4" - "@abp/toastr" "~3.0.4" - -"@abp/aspnetcore.mvc.ui@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-3.0.4.tgz#4e4344d95a98a60c53037b351cb915d8ff7a7dcb" - integrity sha512-p7KI5CKkpD4EYzG4fCtygrtZhwMu7Z+IZFGbdqXelLbI5ACkbJyrn+N+9trPfS9papymeXY4p1E3v6xOH7rSHQ== +"@abp/aspnetcore.mvc.ui.theme.basic@^3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-3.0.5.tgz#c146f20226522f0305cc0fa31cfcf9d39be78901" + integrity sha512-ptNhD4xV2wSLW7vQ5KUgaRiH5Ov1OscZW2ZEoivnt3kqgtIC3DGw+SiE9vjFCvyY83fjRkIlW2PIfQxSySbteQ== + dependencies: + "@abp/aspnetcore.mvc.ui.theme.shared" "~3.0.5" + +"@abp/aspnetcore.mvc.ui.theme.shared@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-3.0.5.tgz#5b370902cf229963f9aa10dd64482d57299dde76" + integrity sha512-iobAH39xrCdnqdaABaiYZg4lqNSOwPkMCLnyc+ytxOMbu/YnNKahXPmRhgd8dR/l+iQY1+6T4SWfLdGswi3gAg== + dependencies: + "@abp/aspnetcore.mvc.ui" "~3.0.5" + "@abp/bootstrap" "~3.0.5" + "@abp/bootstrap-datepicker" "~3.0.5" + "@abp/datatables.net-bs4" "~3.0.5" + "@abp/font-awesome" "~3.0.5" + "@abp/jquery-form" "~3.0.5" + "@abp/jquery-validation-unobtrusive" "~3.0.5" + "@abp/lodash" "~3.0.5" + "@abp/luxon" "~3.0.5" + "@abp/malihu-custom-scrollbar-plugin" "~3.0.5" + "@abp/select2" "~3.0.5" + "@abp/sweetalert" "~3.0.5" + "@abp/timeago" "~3.0.5" + "@abp/toastr" "~3.0.5" + +"@abp/aspnetcore.mvc.ui@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-3.0.5.tgz#a050eaee328c56a3730f5abbf25035adf612d6f0" + integrity sha512-/EOgjXTzR+I1OK9KA7L3yzQ2RGSDW97+n3cQrSdLAUF+tnRvMJS0nytDlSJSRK2hb8/clFMaofZHCC81aUkYUg== dependencies: ansi-colors "^4.1.1" extend-object "^1.0.0" @@ -41,144 +41,144 @@ path "^0.12.7" rimraf "^3.0.2" -"@abp/bootstrap-datepicker@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-3.0.4.tgz#d21963f158a4d348a0acdc46209e67378aae8e55" - integrity sha512-25e9qm39dj9AijIchQIdLlBiBM5/fhASkEuLKNt6M8S/e3qwKLwbRhX90DKMFvOyKdxxcK1gX7tDuGHyG9A8mA== +"@abp/bootstrap-datepicker@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-3.0.5.tgz#3a7fd86dbcadc31c11be5b2b31c8cf8ac3035540" + integrity sha512-vIY1wT4RHoJAPhVK11Q5MS71iZbwsmM/0VTBvvs04mjRSSi6xhdyRYkA+l+P49fnOwhZNaaK19XwQdVVScDuhA== dependencies: bootstrap-datepicker "^1.9.0" -"@abp/bootstrap@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-3.0.4.tgz#3b0e2b74dc174a04ce669de1b140df833eee6031" - integrity sha512-DwxL1fGYOwChPwmMpwUxCKiIdzTfRf/YDkOLUiwI8eRrpABBeuE2sSHKfks6Rqh9Wqo/nlWXvfccgDRqweqhsA== +"@abp/bootstrap@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-3.0.5.tgz#91f2c8fe6a57fc5789ae8fe9c206b2c159e55880" + integrity sha512-LdydeJIbw5k1k7FkWaI1lTectZeTXmEIoccJtj9Qx4N9yGt40wGsjz9SOvUdJ0IKAgntIWNQP8ohWiBPgzT7Xg== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" bootstrap "^4.5.0" bootstrap-v4-rtl "4.4.1-2" -"@abp/core@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-3.0.4.tgz#281940525e280e9e3a1aa4cb4e8f64548ea026a3" - integrity sha512-ZPEH1fa5bf/f1ek9ZLQHx7u78iF6kRZ8Z2NBI36cNL13RyQbx485qJF+KXyqNlJoJAh0CAs0NsAJADU3utcDNA== +"@abp/core@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/core/-/core-3.0.5.tgz#9a7bd990d02edc8128a5be3233b6fbb5669b15b8" + integrity sha512-LdkSkZQfN4hugcGNxBkje0+eQomivwNFbnAkMFQbvCwYLwKB2yvk7GCemEetW1piqvyrUGz4jqhtunjoXps5JA== dependencies: - "@abp/utils" "^3.0.4" + "@abp/utils" "^3.0.5" -"@abp/datatables.net-bs4@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-3.0.4.tgz#e488336bd2c199146ea60464e0ba75aeb134957e" - integrity sha512-ID1XWKPxG9pv6mxBkku7JWvgXjTxJ1uShxmYv5kFYVuwOGMSvj8QVZInTHFcMdECopV56yjGPNOIFLeQj4Mw8Q== +"@abp/datatables.net-bs4@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-3.0.5.tgz#9b79935970d2d4074994240b5deb01dff5987c0a" + integrity sha512-jIWRBEG/NlhaE43i6Xzr18XJ5aTWA+WWslf7WgNOArG5slGBbH4lLLja4HswLP3NGdSmzIyHJR1p9XQ82nBkbQ== dependencies: - "@abp/datatables.net" "~3.0.4" + "@abp/datatables.net" "~3.0.5" datatables.net-bs4 "^1.10.21" -"@abp/datatables.net@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-3.0.4.tgz#7ef143b83143ad8d769be25296411a812a17b255" - integrity sha512-gdQwRuxO5fQWhG/DiUaf40DQ8dWIVGhOCyt6SZ8LQzq4uSaQqa0qrtTTTW2/aiee4MgJu2vJWYF5YCszIR/HhA== +"@abp/datatables.net@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-3.0.5.tgz#0a0a39e8fa54522bf8a09ce76ff3927207a79491" + integrity sha512-HClQ2tcZuWBAChf9oOJOtMP1zHv8jqloPEcw3iqbhS/tWZBw5VQ4TO+BVfZsqHDXZNnWSmR6/2xiKsK32nliew== dependencies: - "@abp/jquery" "~3.0.4" + "@abp/jquery" "~3.0.5" datatables.net "^1.10.21" -"@abp/font-awesome@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-3.0.4.tgz#98f83d0bf8b5a2a4d988cb07f5cceda2e1bc1a09" - integrity sha512-AKhKCUXx8vdHIgyXUfbSLitfYor5dJbo4qMRRGqIJVSj+cyMkpgYbGjqr24GGijgZxdmOGL+s1b9iCUbIPgLNQ== +"@abp/font-awesome@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-3.0.5.tgz#62d58c34f0abf268e30bdf788dfbd3f45b19b412" + integrity sha512-/+31Vtw1S9vvuNy/rN/Q6awkgUaYNNYXESgfvqI0pqIkvlPgigvS8E68mHqGzsxyRqdZisI6JGd94AF+vJD7sQ== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" "@fortawesome/fontawesome-free" "^5.13.0" -"@abp/jquery-form@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-3.0.4.tgz#022eebbfe58b55e328984c0f119884c9464bc767" - integrity sha512-xDkk4rY0AmXBJE4qztzr2hZz+OVucVNWeagOEgeQHXJSKU/T+0kj0a1RxEHpyI24xBvEXAbe8PbByTbu0QXYew== +"@abp/jquery-form@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-3.0.5.tgz#9d2ea9b2509448ee163a163298a7a09480865f78" + integrity sha512-RKgvQciaMml33NvzA28aYyfNI+WQHRfKLFWvOvqc8qO4C3BvyrnwepuzZcnI/9UsELKLSLoFrfk3rJHhxnTJhg== dependencies: - "@abp/jquery" "~3.0.4" + "@abp/jquery" "~3.0.5" jquery-form "^4.3.0" -"@abp/jquery-validation-unobtrusive@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-3.0.4.tgz#6cc942aadcdde33893e7a45c84aa022e033e4e8b" - integrity sha512-N9sza91HCyPvJo+d0RAfq4skae3TgAYg7KXhlwzRE2hqUQS+EICVARURWyxJW7s7Zu6+gxDTkXhBZRTW56deZA== +"@abp/jquery-validation-unobtrusive@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-3.0.5.tgz#b8912e1c4cfdd4fdff6ad4aa7ee8693b55a3be1f" + integrity sha512-kPifDA+1ErbeQBwn+BzwtWuTHXzBke/EMCmITuj59plM/60gZ1ZfVm8EzzTmKS7iLaVVeOqTKf0vEQTobNYffw== dependencies: - "@abp/jquery-validation" "~3.0.4" + "@abp/jquery-validation" "~3.0.5" jquery-validation-unobtrusive "^3.2.11" -"@abp/jquery-validation@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-3.0.4.tgz#3f96d1f83c75a7fc47e5e5e12c51dbc8da7582b1" - integrity sha512-2ljqas4YKU0PcwB0wQW2qhXejDHjW+N1XCxZDyCZ2wF9UxGlKBR8rFt76TJByXSotKE7n2hJRZaOh9ICZUow2g== +"@abp/jquery-validation@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-3.0.5.tgz#55e36b3c832a35447fac69af312dedf1dee22279" + integrity sha512-fdqxc5CJ6TpUAF8+NEsKCmXvvZiOPR5bzczcfvfovxLOjvHvdEO74XPGjsjlBNTdaKMhmNGZRK4JRLUz7fvTng== dependencies: - "@abp/jquery" "~3.0.4" + "@abp/jquery" "~3.0.5" jquery-validation "^1.19.2" -"@abp/jquery@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-3.0.4.tgz#5f236d95cfae7f65012cd8778fd74490b7542442" - integrity sha512-g8N8Te5vf+8djdksfZoZ3tXaqlBC4Ra39pAWU/XerlLl64u+XmAX1s6yKRfC2kS8lf292GgiFYuNOkb77J6k4A== +"@abp/jquery@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-3.0.5.tgz#2e43ac19a8df6e1e0220d6d4991d33a93d890754" + integrity sha512-2d2l+smWKAVP4/b6GSO+8rmJ7pFXiUewpBDwkHm5qgkK6n6UGqIcK9lIgiS2YQ6rmL6qdtuNhhqtC9GF2TF2kQ== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" jquery "~3.5.1" -"@abp/lodash@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-3.0.4.tgz#ee60bc99f98b59fd9fc5ff4bbcf914a13faf209d" - integrity sha512-jxvv74Sm/fUKDBMylK4Ne/8GKm7GuHAdcLFtkoJQptdO+RjZpKJ86ULT+X5vbKskZaTj2fEmOR6l4hmfnBULTA== +"@abp/lodash@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-3.0.5.tgz#d5d9f14095d76239bc0e6f9804c24d1f92ffcab4" + integrity sha512-+B2vxfPwxoIIb8Ac8eHi6OgAn0qbjmPZuun7/es0/ouYYTbEhvhTAD20X3PGZlHrIYeDyS2ansuXm8gJI+/BzA== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" lodash "^4.17.15" -"@abp/luxon@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-3.0.4.tgz#aa1bf6a93d6254433101e50a205b276759969414" - integrity sha512-gX9dQJt9C6M1wmCSUIBoNr8CAt0jkUZFQ7LKKO/BoADGM/XFvY5vDbhL7zcwbwitgCOzmucoCxs/6rIxSOVlrg== +"@abp/luxon@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-3.0.5.tgz#083042c939ea58bf719e35114a6c8efb07b68688" + integrity sha512-0UVHO2CO89t34O35OA3JzWGWLBpg+e1NQXSfVtK90nmg/QmzGkHVM9m7Su0jjLNBt3N5EA5OPOhriot3bCKItw== dependencies: luxon "^1.24.1" -"@abp/malihu-custom-scrollbar-plugin@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.0.4.tgz#c54824b98363f4190cc6a37fcd421c2bfdc1e201" - integrity sha512-6LdSGctOr4ACtdohdSlb19vrFNJ5C0hy1VdbBEafHOBspXckvRVx4uJl2KfHmAC+bMg9apoK/wcHjVNdBHThYQ== +"@abp/malihu-custom-scrollbar-plugin@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.0.5.tgz#f908289927a63fd76fb8f60b00a37747d9edbe39" + integrity sha512-3GoXA8VtGyZWKiqaPCipPXYLLM7h2Y5Oecq5c5YlMQyW2akv7uHiQQF2GZW/nVsFu3HBbGTOWpKRRmVk3PEO9Q== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" malihu-custom-scrollbar-plugin "^3.1.5" -"@abp/select2@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-3.0.4.tgz#49db0cfbc9b08f6ae4949b2cb8bdef92d7d308dd" - integrity sha512-zKEgkWBFdGU2KiAMUKhucHqBfzDy2KNSefyqxpOiUd1L3PEKu+9o23HZRWzDupYltop+SO1Jw33CNoVAkKm4+A== +"@abp/select2@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-3.0.5.tgz#79d7754713c64a6549da520dc6867ef3e3dd0350" + integrity sha512-VbeSHdAdDy8exrjplHMMhLVV4oG7Gq9zBb5M52f0sIkA4DkXFhksXHcHNoOCfhaKAXpenGA03Z9GJewZ3MTpMw== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" select2 "^4.0.13" -"@abp/sweetalert@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-3.0.4.tgz#f85d11c5aabc6ceb509af1b8fd8d75bc3c74bd27" - integrity sha512-hO0qXUWxeMy/lfy3sb+5HvOmIPst6UvYJJGy3ZQR6DKEdkOktBX9sEDb7m6ij6xAIHqWIx1xLveul0oGteOG0Q== +"@abp/sweetalert@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-3.0.5.tgz#e3b92d23cf3633983980b6255bf63c43d422ceab" + integrity sha512-OUt4ANgj14GESfRG7+UqdONS8daOu+8x2OZDWv98hriuX0uCVBjwB2J0jRI/n653C68Mi0yHixGONDv9OLy/lg== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" sweetalert "^2.1.2" -"@abp/timeago@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-3.0.4.tgz#82d90a04f703a7db9c0acedcd2f3cea684e7ae18" - integrity sha512-7SbbqScTKCix25xWy5oLT0slJqUQsW6YgJgI0N41C3AsByRBXZeh5Gcep033gprTPmpgNY8JOWcEcCXySnYvfA== +"@abp/timeago@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-3.0.5.tgz#b191a7c43f3dc77645fe27273f2f6619f7d4eb31" + integrity sha512-QhvAOU4C+Qxh/gFuCSGZtLU4KwVhdv/jtK8ovWyqbGvQMCCIimqa8BFKIz0H5XWIJhHwwWblkpjICWgjWh6uXw== dependencies: - "@abp/jquery" "~3.0.4" + "@abp/jquery" "~3.0.5" timeago "^1.6.7" -"@abp/toastr@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-3.0.4.tgz#884ab2343ddd59981c291c632e3b0630532f7e9c" - integrity sha512-NG0pVD8bdIXGpjPW9cozCzmyuAdnSLE4vDYLUReP1pZFp9B8SMJqpgPk9eFg0Y06aaHTVMKYBKRoq9xXS4w9Xg== +"@abp/toastr@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-3.0.5.tgz#fc83b678f5be3a22040d0421ad9db5b2eac9d4fc" + integrity sha512-qgi2DEu6FYpN/DYcOZrmXsAr1HqcIKMhBWeXgjfoYUIl/K5+OuUgbQ69D/jdc0jz8HU9a4Cw7Q8hhe4CkgssEw== dependencies: - "@abp/jquery" "~3.0.4" + "@abp/jquery" "~3.0.5" toastr "^2.1.4" -"@abp/utils@^3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-3.0.4.tgz#38068fa8f735e1889cf2f226128366825948814d" - integrity sha512-TnXRZIZcxv5+EctEPsZEi2cyRXbpl3A679wzQa6BACv+pM45cjGO1JR8P0VswKN4TVL0aQRMv26N6U/uie8sEQ== +"@abp/utils@^3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-3.0.5.tgz#66b3da953500e73ff1f23d1b41168cde8216ce49" + integrity sha512-X9V1xLIEazItaf93nFSA4p94WT6QK3yA4eIyvU7GyyEkkOQdaakNwPbRwy930sd+I+/oXnIqM1vDsJu9QDhgvg== dependencies: just-compare "^1.3.0" diff --git a/templates/module/angular/package.json b/templates/module/angular/package.json index 4dffaa91c8..15c0eccdfd 100644 --- a/templates/module/angular/package.json +++ b/templates/module/angular/package.json @@ -15,11 +15,11 @@ }, "private": true, "dependencies": { - "@abp/ng.account": "~3.0.4", - "@abp/ng.identity": "~3.0.4", - "@abp/ng.setting-management": "~3.0.4", - "@abp/ng.tenant-management": "~3.0.4", - "@abp/ng.theme.basic": "~3.0.4", + "@abp/ng.account": "~3.0.5", + "@abp/ng.identity": "~3.0.5", + "@abp/ng.setting-management": "~3.0.5", + "@abp/ng.tenant-management": "~3.0.5", + "@abp/ng.theme.basic": "~3.0.5", "@angular/animations": "~10.0.0", "@angular/common": "~10.0.0", "@angular/compiler": "~10.0.0", diff --git a/templates/module/angular/projects/my-project-name/package.json b/templates/module/angular/projects/my-project-name/package.json index b95eed9618..b2b574a659 100644 --- a/templates/module/angular/projects/my-project-name/package.json +++ b/templates/module/angular/projects/my-project-name/package.json @@ -4,8 +4,8 @@ "peerDependencies": { "@angular/common": "^9.1.11", "@angular/core": "^9.1.11", - "@abp/ng.core": ">=3.0.4", - "@abp/ng.theme.shared": ">=3.0.4" + "@abp/ng.core": ">=3.0.5", + "@abp/ng.theme.shared": ">=3.0.5" }, "dependencies": { "tslib": "^2.0.0" diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.IdentityServer/package.json b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.IdentityServer/package.json index f311232e23..55812dc3ab 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.IdentityServer/package.json +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.IdentityServer/package.json @@ -3,6 +3,6 @@ "name": "my-app-identityserver", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.basic": "^3.0.4" + "@abp/aspnetcore.mvc.ui.theme.basic": "^3.0.5" } } \ No newline at end of file diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.IdentityServer/yarn.lock b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.IdentityServer/yarn.lock index 63a96d93c8..a583172e87 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.IdentityServer/yarn.lock +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.IdentityServer/yarn.lock @@ -2,37 +2,37 @@ # yarn lockfile v1 -"@abp/aspnetcore.mvc.ui.theme.basic@^3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-3.0.4.tgz#c58e3e06ba78279875cf2b5f96d34b83ce09f6df" - integrity sha512-tKKqVRKpwN7P4Mn+he3bcz4Qbt8bkZ++wk6iOujd6HLTkBNa0uKyM4L6+iCn1Hi62S6HeK2Xytx+b+IYeIlsuw== - dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "~3.0.4" - -"@abp/aspnetcore.mvc.ui.theme.shared@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-3.0.4.tgz#50db612b6492d36c63dd9042000a9fb00fecec54" - integrity sha512-imd2T5XXkNvGQyXV/A9hA80qSeurKaUcW6HDkte8Y2fs4QfvkjgzWXi7neqF6F+HVbYYPg3rIBWC6QF1OXGn2w== - dependencies: - "@abp/aspnetcore.mvc.ui" "~3.0.4" - "@abp/bootstrap" "~3.0.4" - "@abp/bootstrap-datepicker" "~3.0.4" - "@abp/datatables.net-bs4" "~3.0.4" - "@abp/font-awesome" "~3.0.4" - "@abp/jquery-form" "~3.0.4" - "@abp/jquery-validation-unobtrusive" "~3.0.4" - "@abp/lodash" "~3.0.4" - "@abp/luxon" "~3.0.4" - "@abp/malihu-custom-scrollbar-plugin" "~3.0.4" - "@abp/select2" "~3.0.4" - "@abp/sweetalert" "~3.0.4" - "@abp/timeago" "~3.0.4" - "@abp/toastr" "~3.0.4" - -"@abp/aspnetcore.mvc.ui@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-3.0.4.tgz#4e4344d95a98a60c53037b351cb915d8ff7a7dcb" - integrity sha512-p7KI5CKkpD4EYzG4fCtygrtZhwMu7Z+IZFGbdqXelLbI5ACkbJyrn+N+9trPfS9papymeXY4p1E3v6xOH7rSHQ== +"@abp/aspnetcore.mvc.ui.theme.basic@^3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-3.0.5.tgz#c146f20226522f0305cc0fa31cfcf9d39be78901" + integrity sha512-ptNhD4xV2wSLW7vQ5KUgaRiH5Ov1OscZW2ZEoivnt3kqgtIC3DGw+SiE9vjFCvyY83fjRkIlW2PIfQxSySbteQ== + dependencies: + "@abp/aspnetcore.mvc.ui.theme.shared" "~3.0.5" + +"@abp/aspnetcore.mvc.ui.theme.shared@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-3.0.5.tgz#5b370902cf229963f9aa10dd64482d57299dde76" + integrity sha512-iobAH39xrCdnqdaABaiYZg4lqNSOwPkMCLnyc+ytxOMbu/YnNKahXPmRhgd8dR/l+iQY1+6T4SWfLdGswi3gAg== + dependencies: + "@abp/aspnetcore.mvc.ui" "~3.0.5" + "@abp/bootstrap" "~3.0.5" + "@abp/bootstrap-datepicker" "~3.0.5" + "@abp/datatables.net-bs4" "~3.0.5" + "@abp/font-awesome" "~3.0.5" + "@abp/jquery-form" "~3.0.5" + "@abp/jquery-validation-unobtrusive" "~3.0.5" + "@abp/lodash" "~3.0.5" + "@abp/luxon" "~3.0.5" + "@abp/malihu-custom-scrollbar-plugin" "~3.0.5" + "@abp/select2" "~3.0.5" + "@abp/sweetalert" "~3.0.5" + "@abp/timeago" "~3.0.5" + "@abp/toastr" "~3.0.5" + +"@abp/aspnetcore.mvc.ui@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-3.0.5.tgz#a050eaee328c56a3730f5abbf25035adf612d6f0" + integrity sha512-/EOgjXTzR+I1OK9KA7L3yzQ2RGSDW97+n3cQrSdLAUF+tnRvMJS0nytDlSJSRK2hb8/clFMaofZHCC81aUkYUg== dependencies: ansi-colors "^4.1.1" extend-object "^1.0.0" @@ -41,144 +41,144 @@ path "^0.12.7" rimraf "^3.0.2" -"@abp/bootstrap-datepicker@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-3.0.4.tgz#d21963f158a4d348a0acdc46209e67378aae8e55" - integrity sha512-25e9qm39dj9AijIchQIdLlBiBM5/fhASkEuLKNt6M8S/e3qwKLwbRhX90DKMFvOyKdxxcK1gX7tDuGHyG9A8mA== +"@abp/bootstrap-datepicker@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-3.0.5.tgz#3a7fd86dbcadc31c11be5b2b31c8cf8ac3035540" + integrity sha512-vIY1wT4RHoJAPhVK11Q5MS71iZbwsmM/0VTBvvs04mjRSSi6xhdyRYkA+l+P49fnOwhZNaaK19XwQdVVScDuhA== dependencies: bootstrap-datepicker "^1.9.0" -"@abp/bootstrap@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-3.0.4.tgz#3b0e2b74dc174a04ce669de1b140df833eee6031" - integrity sha512-DwxL1fGYOwChPwmMpwUxCKiIdzTfRf/YDkOLUiwI8eRrpABBeuE2sSHKfks6Rqh9Wqo/nlWXvfccgDRqweqhsA== +"@abp/bootstrap@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-3.0.5.tgz#91f2c8fe6a57fc5789ae8fe9c206b2c159e55880" + integrity sha512-LdydeJIbw5k1k7FkWaI1lTectZeTXmEIoccJtj9Qx4N9yGt40wGsjz9SOvUdJ0IKAgntIWNQP8ohWiBPgzT7Xg== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" bootstrap "^4.5.0" bootstrap-v4-rtl "4.4.1-2" -"@abp/core@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-3.0.4.tgz#281940525e280e9e3a1aa4cb4e8f64548ea026a3" - integrity sha512-ZPEH1fa5bf/f1ek9ZLQHx7u78iF6kRZ8Z2NBI36cNL13RyQbx485qJF+KXyqNlJoJAh0CAs0NsAJADU3utcDNA== +"@abp/core@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/core/-/core-3.0.5.tgz#9a7bd990d02edc8128a5be3233b6fbb5669b15b8" + integrity sha512-LdkSkZQfN4hugcGNxBkje0+eQomivwNFbnAkMFQbvCwYLwKB2yvk7GCemEetW1piqvyrUGz4jqhtunjoXps5JA== dependencies: - "@abp/utils" "^3.0.4" + "@abp/utils" "^3.0.5" -"@abp/datatables.net-bs4@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-3.0.4.tgz#e488336bd2c199146ea60464e0ba75aeb134957e" - integrity sha512-ID1XWKPxG9pv6mxBkku7JWvgXjTxJ1uShxmYv5kFYVuwOGMSvj8QVZInTHFcMdECopV56yjGPNOIFLeQj4Mw8Q== +"@abp/datatables.net-bs4@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-3.0.5.tgz#9b79935970d2d4074994240b5deb01dff5987c0a" + integrity sha512-jIWRBEG/NlhaE43i6Xzr18XJ5aTWA+WWslf7WgNOArG5slGBbH4lLLja4HswLP3NGdSmzIyHJR1p9XQ82nBkbQ== dependencies: - "@abp/datatables.net" "~3.0.4" + "@abp/datatables.net" "~3.0.5" datatables.net-bs4 "^1.10.21" -"@abp/datatables.net@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-3.0.4.tgz#7ef143b83143ad8d769be25296411a812a17b255" - integrity sha512-gdQwRuxO5fQWhG/DiUaf40DQ8dWIVGhOCyt6SZ8LQzq4uSaQqa0qrtTTTW2/aiee4MgJu2vJWYF5YCszIR/HhA== +"@abp/datatables.net@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-3.0.5.tgz#0a0a39e8fa54522bf8a09ce76ff3927207a79491" + integrity sha512-HClQ2tcZuWBAChf9oOJOtMP1zHv8jqloPEcw3iqbhS/tWZBw5VQ4TO+BVfZsqHDXZNnWSmR6/2xiKsK32nliew== dependencies: - "@abp/jquery" "~3.0.4" + "@abp/jquery" "~3.0.5" datatables.net "^1.10.21" -"@abp/font-awesome@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-3.0.4.tgz#98f83d0bf8b5a2a4d988cb07f5cceda2e1bc1a09" - integrity sha512-AKhKCUXx8vdHIgyXUfbSLitfYor5dJbo4qMRRGqIJVSj+cyMkpgYbGjqr24GGijgZxdmOGL+s1b9iCUbIPgLNQ== +"@abp/font-awesome@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-3.0.5.tgz#62d58c34f0abf268e30bdf788dfbd3f45b19b412" + integrity sha512-/+31Vtw1S9vvuNy/rN/Q6awkgUaYNNYXESgfvqI0pqIkvlPgigvS8E68mHqGzsxyRqdZisI6JGd94AF+vJD7sQ== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" "@fortawesome/fontawesome-free" "^5.13.0" -"@abp/jquery-form@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-3.0.4.tgz#022eebbfe58b55e328984c0f119884c9464bc767" - integrity sha512-xDkk4rY0AmXBJE4qztzr2hZz+OVucVNWeagOEgeQHXJSKU/T+0kj0a1RxEHpyI24xBvEXAbe8PbByTbu0QXYew== +"@abp/jquery-form@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-3.0.5.tgz#9d2ea9b2509448ee163a163298a7a09480865f78" + integrity sha512-RKgvQciaMml33NvzA28aYyfNI+WQHRfKLFWvOvqc8qO4C3BvyrnwepuzZcnI/9UsELKLSLoFrfk3rJHhxnTJhg== dependencies: - "@abp/jquery" "~3.0.4" + "@abp/jquery" "~3.0.5" jquery-form "^4.3.0" -"@abp/jquery-validation-unobtrusive@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-3.0.4.tgz#6cc942aadcdde33893e7a45c84aa022e033e4e8b" - integrity sha512-N9sza91HCyPvJo+d0RAfq4skae3TgAYg7KXhlwzRE2hqUQS+EICVARURWyxJW7s7Zu6+gxDTkXhBZRTW56deZA== +"@abp/jquery-validation-unobtrusive@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-3.0.5.tgz#b8912e1c4cfdd4fdff6ad4aa7ee8693b55a3be1f" + integrity sha512-kPifDA+1ErbeQBwn+BzwtWuTHXzBke/EMCmITuj59plM/60gZ1ZfVm8EzzTmKS7iLaVVeOqTKf0vEQTobNYffw== dependencies: - "@abp/jquery-validation" "~3.0.4" + "@abp/jquery-validation" "~3.0.5" jquery-validation-unobtrusive "^3.2.11" -"@abp/jquery-validation@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-3.0.4.tgz#3f96d1f83c75a7fc47e5e5e12c51dbc8da7582b1" - integrity sha512-2ljqas4YKU0PcwB0wQW2qhXejDHjW+N1XCxZDyCZ2wF9UxGlKBR8rFt76TJByXSotKE7n2hJRZaOh9ICZUow2g== +"@abp/jquery-validation@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-3.0.5.tgz#55e36b3c832a35447fac69af312dedf1dee22279" + integrity sha512-fdqxc5CJ6TpUAF8+NEsKCmXvvZiOPR5bzczcfvfovxLOjvHvdEO74XPGjsjlBNTdaKMhmNGZRK4JRLUz7fvTng== dependencies: - "@abp/jquery" "~3.0.4" + "@abp/jquery" "~3.0.5" jquery-validation "^1.19.2" -"@abp/jquery@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-3.0.4.tgz#5f236d95cfae7f65012cd8778fd74490b7542442" - integrity sha512-g8N8Te5vf+8djdksfZoZ3tXaqlBC4Ra39pAWU/XerlLl64u+XmAX1s6yKRfC2kS8lf292GgiFYuNOkb77J6k4A== +"@abp/jquery@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-3.0.5.tgz#2e43ac19a8df6e1e0220d6d4991d33a93d890754" + integrity sha512-2d2l+smWKAVP4/b6GSO+8rmJ7pFXiUewpBDwkHm5qgkK6n6UGqIcK9lIgiS2YQ6rmL6qdtuNhhqtC9GF2TF2kQ== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" jquery "~3.5.1" -"@abp/lodash@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-3.0.4.tgz#ee60bc99f98b59fd9fc5ff4bbcf914a13faf209d" - integrity sha512-jxvv74Sm/fUKDBMylK4Ne/8GKm7GuHAdcLFtkoJQptdO+RjZpKJ86ULT+X5vbKskZaTj2fEmOR6l4hmfnBULTA== +"@abp/lodash@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-3.0.5.tgz#d5d9f14095d76239bc0e6f9804c24d1f92ffcab4" + integrity sha512-+B2vxfPwxoIIb8Ac8eHi6OgAn0qbjmPZuun7/es0/ouYYTbEhvhTAD20X3PGZlHrIYeDyS2ansuXm8gJI+/BzA== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" lodash "^4.17.15" -"@abp/luxon@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-3.0.4.tgz#aa1bf6a93d6254433101e50a205b276759969414" - integrity sha512-gX9dQJt9C6M1wmCSUIBoNr8CAt0jkUZFQ7LKKO/BoADGM/XFvY5vDbhL7zcwbwitgCOzmucoCxs/6rIxSOVlrg== +"@abp/luxon@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-3.0.5.tgz#083042c939ea58bf719e35114a6c8efb07b68688" + integrity sha512-0UVHO2CO89t34O35OA3JzWGWLBpg+e1NQXSfVtK90nmg/QmzGkHVM9m7Su0jjLNBt3N5EA5OPOhriot3bCKItw== dependencies: luxon "^1.24.1" -"@abp/malihu-custom-scrollbar-plugin@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.0.4.tgz#c54824b98363f4190cc6a37fcd421c2bfdc1e201" - integrity sha512-6LdSGctOr4ACtdohdSlb19vrFNJ5C0hy1VdbBEafHOBspXckvRVx4uJl2KfHmAC+bMg9apoK/wcHjVNdBHThYQ== +"@abp/malihu-custom-scrollbar-plugin@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.0.5.tgz#f908289927a63fd76fb8f60b00a37747d9edbe39" + integrity sha512-3GoXA8VtGyZWKiqaPCipPXYLLM7h2Y5Oecq5c5YlMQyW2akv7uHiQQF2GZW/nVsFu3HBbGTOWpKRRmVk3PEO9Q== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" malihu-custom-scrollbar-plugin "^3.1.5" -"@abp/select2@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-3.0.4.tgz#49db0cfbc9b08f6ae4949b2cb8bdef92d7d308dd" - integrity sha512-zKEgkWBFdGU2KiAMUKhucHqBfzDy2KNSefyqxpOiUd1L3PEKu+9o23HZRWzDupYltop+SO1Jw33CNoVAkKm4+A== +"@abp/select2@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-3.0.5.tgz#79d7754713c64a6549da520dc6867ef3e3dd0350" + integrity sha512-VbeSHdAdDy8exrjplHMMhLVV4oG7Gq9zBb5M52f0sIkA4DkXFhksXHcHNoOCfhaKAXpenGA03Z9GJewZ3MTpMw== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" select2 "^4.0.13" -"@abp/sweetalert@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-3.0.4.tgz#f85d11c5aabc6ceb509af1b8fd8d75bc3c74bd27" - integrity sha512-hO0qXUWxeMy/lfy3sb+5HvOmIPst6UvYJJGy3ZQR6DKEdkOktBX9sEDb7m6ij6xAIHqWIx1xLveul0oGteOG0Q== +"@abp/sweetalert@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-3.0.5.tgz#e3b92d23cf3633983980b6255bf63c43d422ceab" + integrity sha512-OUt4ANgj14GESfRG7+UqdONS8daOu+8x2OZDWv98hriuX0uCVBjwB2J0jRI/n653C68Mi0yHixGONDv9OLy/lg== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" sweetalert "^2.1.2" -"@abp/timeago@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-3.0.4.tgz#82d90a04f703a7db9c0acedcd2f3cea684e7ae18" - integrity sha512-7SbbqScTKCix25xWy5oLT0slJqUQsW6YgJgI0N41C3AsByRBXZeh5Gcep033gprTPmpgNY8JOWcEcCXySnYvfA== +"@abp/timeago@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-3.0.5.tgz#b191a7c43f3dc77645fe27273f2f6619f7d4eb31" + integrity sha512-QhvAOU4C+Qxh/gFuCSGZtLU4KwVhdv/jtK8ovWyqbGvQMCCIimqa8BFKIz0H5XWIJhHwwWblkpjICWgjWh6uXw== dependencies: - "@abp/jquery" "~3.0.4" + "@abp/jquery" "~3.0.5" timeago "^1.6.7" -"@abp/toastr@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-3.0.4.tgz#884ab2343ddd59981c291c632e3b0630532f7e9c" - integrity sha512-NG0pVD8bdIXGpjPW9cozCzmyuAdnSLE4vDYLUReP1pZFp9B8SMJqpgPk9eFg0Y06aaHTVMKYBKRoq9xXS4w9Xg== +"@abp/toastr@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-3.0.5.tgz#fc83b678f5be3a22040d0421ad9db5b2eac9d4fc" + integrity sha512-qgi2DEu6FYpN/DYcOZrmXsAr1HqcIKMhBWeXgjfoYUIl/K5+OuUgbQ69D/jdc0jz8HU9a4Cw7Q8hhe4CkgssEw== dependencies: - "@abp/jquery" "~3.0.4" + "@abp/jquery" "~3.0.5" toastr "^2.1.4" -"@abp/utils@^3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-3.0.4.tgz#38068fa8f735e1889cf2f226128366825948814d" - integrity sha512-TnXRZIZcxv5+EctEPsZEi2cyRXbpl3A679wzQa6BACv+pM45cjGO1JR8P0VswKN4TVL0aQRMv26N6U/uie8sEQ== +"@abp/utils@^3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-3.0.5.tgz#66b3da953500e73ff1f23d1b41168cde8216ce49" + integrity sha512-X9V1xLIEazItaf93nFSA4p94WT6QK3yA4eIyvU7GyyEkkOQdaakNwPbRwy930sd+I+/oXnIqM1vDsJu9QDhgvg== dependencies: just-compare "^1.3.0" diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Host/package.json b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Host/package.json index 528a8910e5..5ffe5c0500 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Host/package.json +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Host/package.json @@ -3,6 +3,6 @@ "name": "my-app", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.basic": "^3.0.4" + "@abp/aspnetcore.mvc.ui.theme.basic": "^3.0.5" } } \ No newline at end of file diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Host/yarn.lock b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Host/yarn.lock index 63a96d93c8..a583172e87 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Host/yarn.lock +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Host/yarn.lock @@ -2,37 +2,37 @@ # yarn lockfile v1 -"@abp/aspnetcore.mvc.ui.theme.basic@^3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-3.0.4.tgz#c58e3e06ba78279875cf2b5f96d34b83ce09f6df" - integrity sha512-tKKqVRKpwN7P4Mn+he3bcz4Qbt8bkZ++wk6iOujd6HLTkBNa0uKyM4L6+iCn1Hi62S6HeK2Xytx+b+IYeIlsuw== - dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "~3.0.4" - -"@abp/aspnetcore.mvc.ui.theme.shared@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-3.0.4.tgz#50db612b6492d36c63dd9042000a9fb00fecec54" - integrity sha512-imd2T5XXkNvGQyXV/A9hA80qSeurKaUcW6HDkte8Y2fs4QfvkjgzWXi7neqF6F+HVbYYPg3rIBWC6QF1OXGn2w== - dependencies: - "@abp/aspnetcore.mvc.ui" "~3.0.4" - "@abp/bootstrap" "~3.0.4" - "@abp/bootstrap-datepicker" "~3.0.4" - "@abp/datatables.net-bs4" "~3.0.4" - "@abp/font-awesome" "~3.0.4" - "@abp/jquery-form" "~3.0.4" - "@abp/jquery-validation-unobtrusive" "~3.0.4" - "@abp/lodash" "~3.0.4" - "@abp/luxon" "~3.0.4" - "@abp/malihu-custom-scrollbar-plugin" "~3.0.4" - "@abp/select2" "~3.0.4" - "@abp/sweetalert" "~3.0.4" - "@abp/timeago" "~3.0.4" - "@abp/toastr" "~3.0.4" - -"@abp/aspnetcore.mvc.ui@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-3.0.4.tgz#4e4344d95a98a60c53037b351cb915d8ff7a7dcb" - integrity sha512-p7KI5CKkpD4EYzG4fCtygrtZhwMu7Z+IZFGbdqXelLbI5ACkbJyrn+N+9trPfS9papymeXY4p1E3v6xOH7rSHQ== +"@abp/aspnetcore.mvc.ui.theme.basic@^3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-3.0.5.tgz#c146f20226522f0305cc0fa31cfcf9d39be78901" + integrity sha512-ptNhD4xV2wSLW7vQ5KUgaRiH5Ov1OscZW2ZEoivnt3kqgtIC3DGw+SiE9vjFCvyY83fjRkIlW2PIfQxSySbteQ== + dependencies: + "@abp/aspnetcore.mvc.ui.theme.shared" "~3.0.5" + +"@abp/aspnetcore.mvc.ui.theme.shared@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-3.0.5.tgz#5b370902cf229963f9aa10dd64482d57299dde76" + integrity sha512-iobAH39xrCdnqdaABaiYZg4lqNSOwPkMCLnyc+ytxOMbu/YnNKahXPmRhgd8dR/l+iQY1+6T4SWfLdGswi3gAg== + dependencies: + "@abp/aspnetcore.mvc.ui" "~3.0.5" + "@abp/bootstrap" "~3.0.5" + "@abp/bootstrap-datepicker" "~3.0.5" + "@abp/datatables.net-bs4" "~3.0.5" + "@abp/font-awesome" "~3.0.5" + "@abp/jquery-form" "~3.0.5" + "@abp/jquery-validation-unobtrusive" "~3.0.5" + "@abp/lodash" "~3.0.5" + "@abp/luxon" "~3.0.5" + "@abp/malihu-custom-scrollbar-plugin" "~3.0.5" + "@abp/select2" "~3.0.5" + "@abp/sweetalert" "~3.0.5" + "@abp/timeago" "~3.0.5" + "@abp/toastr" "~3.0.5" + +"@abp/aspnetcore.mvc.ui@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-3.0.5.tgz#a050eaee328c56a3730f5abbf25035adf612d6f0" + integrity sha512-/EOgjXTzR+I1OK9KA7L3yzQ2RGSDW97+n3cQrSdLAUF+tnRvMJS0nytDlSJSRK2hb8/clFMaofZHCC81aUkYUg== dependencies: ansi-colors "^4.1.1" extend-object "^1.0.0" @@ -41,144 +41,144 @@ path "^0.12.7" rimraf "^3.0.2" -"@abp/bootstrap-datepicker@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-3.0.4.tgz#d21963f158a4d348a0acdc46209e67378aae8e55" - integrity sha512-25e9qm39dj9AijIchQIdLlBiBM5/fhASkEuLKNt6M8S/e3qwKLwbRhX90DKMFvOyKdxxcK1gX7tDuGHyG9A8mA== +"@abp/bootstrap-datepicker@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-3.0.5.tgz#3a7fd86dbcadc31c11be5b2b31c8cf8ac3035540" + integrity sha512-vIY1wT4RHoJAPhVK11Q5MS71iZbwsmM/0VTBvvs04mjRSSi6xhdyRYkA+l+P49fnOwhZNaaK19XwQdVVScDuhA== dependencies: bootstrap-datepicker "^1.9.0" -"@abp/bootstrap@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-3.0.4.tgz#3b0e2b74dc174a04ce669de1b140df833eee6031" - integrity sha512-DwxL1fGYOwChPwmMpwUxCKiIdzTfRf/YDkOLUiwI8eRrpABBeuE2sSHKfks6Rqh9Wqo/nlWXvfccgDRqweqhsA== +"@abp/bootstrap@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-3.0.5.tgz#91f2c8fe6a57fc5789ae8fe9c206b2c159e55880" + integrity sha512-LdydeJIbw5k1k7FkWaI1lTectZeTXmEIoccJtj9Qx4N9yGt40wGsjz9SOvUdJ0IKAgntIWNQP8ohWiBPgzT7Xg== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" bootstrap "^4.5.0" bootstrap-v4-rtl "4.4.1-2" -"@abp/core@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-3.0.4.tgz#281940525e280e9e3a1aa4cb4e8f64548ea026a3" - integrity sha512-ZPEH1fa5bf/f1ek9ZLQHx7u78iF6kRZ8Z2NBI36cNL13RyQbx485qJF+KXyqNlJoJAh0CAs0NsAJADU3utcDNA== +"@abp/core@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/core/-/core-3.0.5.tgz#9a7bd990d02edc8128a5be3233b6fbb5669b15b8" + integrity sha512-LdkSkZQfN4hugcGNxBkje0+eQomivwNFbnAkMFQbvCwYLwKB2yvk7GCemEetW1piqvyrUGz4jqhtunjoXps5JA== dependencies: - "@abp/utils" "^3.0.4" + "@abp/utils" "^3.0.5" -"@abp/datatables.net-bs4@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-3.0.4.tgz#e488336bd2c199146ea60464e0ba75aeb134957e" - integrity sha512-ID1XWKPxG9pv6mxBkku7JWvgXjTxJ1uShxmYv5kFYVuwOGMSvj8QVZInTHFcMdECopV56yjGPNOIFLeQj4Mw8Q== +"@abp/datatables.net-bs4@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-3.0.5.tgz#9b79935970d2d4074994240b5deb01dff5987c0a" + integrity sha512-jIWRBEG/NlhaE43i6Xzr18XJ5aTWA+WWslf7WgNOArG5slGBbH4lLLja4HswLP3NGdSmzIyHJR1p9XQ82nBkbQ== dependencies: - "@abp/datatables.net" "~3.0.4" + "@abp/datatables.net" "~3.0.5" datatables.net-bs4 "^1.10.21" -"@abp/datatables.net@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-3.0.4.tgz#7ef143b83143ad8d769be25296411a812a17b255" - integrity sha512-gdQwRuxO5fQWhG/DiUaf40DQ8dWIVGhOCyt6SZ8LQzq4uSaQqa0qrtTTTW2/aiee4MgJu2vJWYF5YCszIR/HhA== +"@abp/datatables.net@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-3.0.5.tgz#0a0a39e8fa54522bf8a09ce76ff3927207a79491" + integrity sha512-HClQ2tcZuWBAChf9oOJOtMP1zHv8jqloPEcw3iqbhS/tWZBw5VQ4TO+BVfZsqHDXZNnWSmR6/2xiKsK32nliew== dependencies: - "@abp/jquery" "~3.0.4" + "@abp/jquery" "~3.0.5" datatables.net "^1.10.21" -"@abp/font-awesome@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-3.0.4.tgz#98f83d0bf8b5a2a4d988cb07f5cceda2e1bc1a09" - integrity sha512-AKhKCUXx8vdHIgyXUfbSLitfYor5dJbo4qMRRGqIJVSj+cyMkpgYbGjqr24GGijgZxdmOGL+s1b9iCUbIPgLNQ== +"@abp/font-awesome@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-3.0.5.tgz#62d58c34f0abf268e30bdf788dfbd3f45b19b412" + integrity sha512-/+31Vtw1S9vvuNy/rN/Q6awkgUaYNNYXESgfvqI0pqIkvlPgigvS8E68mHqGzsxyRqdZisI6JGd94AF+vJD7sQ== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" "@fortawesome/fontawesome-free" "^5.13.0" -"@abp/jquery-form@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-3.0.4.tgz#022eebbfe58b55e328984c0f119884c9464bc767" - integrity sha512-xDkk4rY0AmXBJE4qztzr2hZz+OVucVNWeagOEgeQHXJSKU/T+0kj0a1RxEHpyI24xBvEXAbe8PbByTbu0QXYew== +"@abp/jquery-form@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-3.0.5.tgz#9d2ea9b2509448ee163a163298a7a09480865f78" + integrity sha512-RKgvQciaMml33NvzA28aYyfNI+WQHRfKLFWvOvqc8qO4C3BvyrnwepuzZcnI/9UsELKLSLoFrfk3rJHhxnTJhg== dependencies: - "@abp/jquery" "~3.0.4" + "@abp/jquery" "~3.0.5" jquery-form "^4.3.0" -"@abp/jquery-validation-unobtrusive@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-3.0.4.tgz#6cc942aadcdde33893e7a45c84aa022e033e4e8b" - integrity sha512-N9sza91HCyPvJo+d0RAfq4skae3TgAYg7KXhlwzRE2hqUQS+EICVARURWyxJW7s7Zu6+gxDTkXhBZRTW56deZA== +"@abp/jquery-validation-unobtrusive@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-3.0.5.tgz#b8912e1c4cfdd4fdff6ad4aa7ee8693b55a3be1f" + integrity sha512-kPifDA+1ErbeQBwn+BzwtWuTHXzBke/EMCmITuj59plM/60gZ1ZfVm8EzzTmKS7iLaVVeOqTKf0vEQTobNYffw== dependencies: - "@abp/jquery-validation" "~3.0.4" + "@abp/jquery-validation" "~3.0.5" jquery-validation-unobtrusive "^3.2.11" -"@abp/jquery-validation@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-3.0.4.tgz#3f96d1f83c75a7fc47e5e5e12c51dbc8da7582b1" - integrity sha512-2ljqas4YKU0PcwB0wQW2qhXejDHjW+N1XCxZDyCZ2wF9UxGlKBR8rFt76TJByXSotKE7n2hJRZaOh9ICZUow2g== +"@abp/jquery-validation@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-3.0.5.tgz#55e36b3c832a35447fac69af312dedf1dee22279" + integrity sha512-fdqxc5CJ6TpUAF8+NEsKCmXvvZiOPR5bzczcfvfovxLOjvHvdEO74XPGjsjlBNTdaKMhmNGZRK4JRLUz7fvTng== dependencies: - "@abp/jquery" "~3.0.4" + "@abp/jquery" "~3.0.5" jquery-validation "^1.19.2" -"@abp/jquery@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-3.0.4.tgz#5f236d95cfae7f65012cd8778fd74490b7542442" - integrity sha512-g8N8Te5vf+8djdksfZoZ3tXaqlBC4Ra39pAWU/XerlLl64u+XmAX1s6yKRfC2kS8lf292GgiFYuNOkb77J6k4A== +"@abp/jquery@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-3.0.5.tgz#2e43ac19a8df6e1e0220d6d4991d33a93d890754" + integrity sha512-2d2l+smWKAVP4/b6GSO+8rmJ7pFXiUewpBDwkHm5qgkK6n6UGqIcK9lIgiS2YQ6rmL6qdtuNhhqtC9GF2TF2kQ== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" jquery "~3.5.1" -"@abp/lodash@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-3.0.4.tgz#ee60bc99f98b59fd9fc5ff4bbcf914a13faf209d" - integrity sha512-jxvv74Sm/fUKDBMylK4Ne/8GKm7GuHAdcLFtkoJQptdO+RjZpKJ86ULT+X5vbKskZaTj2fEmOR6l4hmfnBULTA== +"@abp/lodash@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-3.0.5.tgz#d5d9f14095d76239bc0e6f9804c24d1f92ffcab4" + integrity sha512-+B2vxfPwxoIIb8Ac8eHi6OgAn0qbjmPZuun7/es0/ouYYTbEhvhTAD20X3PGZlHrIYeDyS2ansuXm8gJI+/BzA== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" lodash "^4.17.15" -"@abp/luxon@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-3.0.4.tgz#aa1bf6a93d6254433101e50a205b276759969414" - integrity sha512-gX9dQJt9C6M1wmCSUIBoNr8CAt0jkUZFQ7LKKO/BoADGM/XFvY5vDbhL7zcwbwitgCOzmucoCxs/6rIxSOVlrg== +"@abp/luxon@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-3.0.5.tgz#083042c939ea58bf719e35114a6c8efb07b68688" + integrity sha512-0UVHO2CO89t34O35OA3JzWGWLBpg+e1NQXSfVtK90nmg/QmzGkHVM9m7Su0jjLNBt3N5EA5OPOhriot3bCKItw== dependencies: luxon "^1.24.1" -"@abp/malihu-custom-scrollbar-plugin@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.0.4.tgz#c54824b98363f4190cc6a37fcd421c2bfdc1e201" - integrity sha512-6LdSGctOr4ACtdohdSlb19vrFNJ5C0hy1VdbBEafHOBspXckvRVx4uJl2KfHmAC+bMg9apoK/wcHjVNdBHThYQ== +"@abp/malihu-custom-scrollbar-plugin@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.0.5.tgz#f908289927a63fd76fb8f60b00a37747d9edbe39" + integrity sha512-3GoXA8VtGyZWKiqaPCipPXYLLM7h2Y5Oecq5c5YlMQyW2akv7uHiQQF2GZW/nVsFu3HBbGTOWpKRRmVk3PEO9Q== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" malihu-custom-scrollbar-plugin "^3.1.5" -"@abp/select2@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-3.0.4.tgz#49db0cfbc9b08f6ae4949b2cb8bdef92d7d308dd" - integrity sha512-zKEgkWBFdGU2KiAMUKhucHqBfzDy2KNSefyqxpOiUd1L3PEKu+9o23HZRWzDupYltop+SO1Jw33CNoVAkKm4+A== +"@abp/select2@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-3.0.5.tgz#79d7754713c64a6549da520dc6867ef3e3dd0350" + integrity sha512-VbeSHdAdDy8exrjplHMMhLVV4oG7Gq9zBb5M52f0sIkA4DkXFhksXHcHNoOCfhaKAXpenGA03Z9GJewZ3MTpMw== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" select2 "^4.0.13" -"@abp/sweetalert@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-3.0.4.tgz#f85d11c5aabc6ceb509af1b8fd8d75bc3c74bd27" - integrity sha512-hO0qXUWxeMy/lfy3sb+5HvOmIPst6UvYJJGy3ZQR6DKEdkOktBX9sEDb7m6ij6xAIHqWIx1xLveul0oGteOG0Q== +"@abp/sweetalert@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-3.0.5.tgz#e3b92d23cf3633983980b6255bf63c43d422ceab" + integrity sha512-OUt4ANgj14GESfRG7+UqdONS8daOu+8x2OZDWv98hriuX0uCVBjwB2J0jRI/n653C68Mi0yHixGONDv9OLy/lg== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" sweetalert "^2.1.2" -"@abp/timeago@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-3.0.4.tgz#82d90a04f703a7db9c0acedcd2f3cea684e7ae18" - integrity sha512-7SbbqScTKCix25xWy5oLT0slJqUQsW6YgJgI0N41C3AsByRBXZeh5Gcep033gprTPmpgNY8JOWcEcCXySnYvfA== +"@abp/timeago@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-3.0.5.tgz#b191a7c43f3dc77645fe27273f2f6619f7d4eb31" + integrity sha512-QhvAOU4C+Qxh/gFuCSGZtLU4KwVhdv/jtK8ovWyqbGvQMCCIimqa8BFKIz0H5XWIJhHwwWblkpjICWgjWh6uXw== dependencies: - "@abp/jquery" "~3.0.4" + "@abp/jquery" "~3.0.5" timeago "^1.6.7" -"@abp/toastr@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-3.0.4.tgz#884ab2343ddd59981c291c632e3b0630532f7e9c" - integrity sha512-NG0pVD8bdIXGpjPW9cozCzmyuAdnSLE4vDYLUReP1pZFp9B8SMJqpgPk9eFg0Y06aaHTVMKYBKRoq9xXS4w9Xg== +"@abp/toastr@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-3.0.5.tgz#fc83b678f5be3a22040d0421ad9db5b2eac9d4fc" + integrity sha512-qgi2DEu6FYpN/DYcOZrmXsAr1HqcIKMhBWeXgjfoYUIl/K5+OuUgbQ69D/jdc0jz8HU9a4Cw7Q8hhe4CkgssEw== dependencies: - "@abp/jquery" "~3.0.4" + "@abp/jquery" "~3.0.5" toastr "^2.1.4" -"@abp/utils@^3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-3.0.4.tgz#38068fa8f735e1889cf2f226128366825948814d" - integrity sha512-TnXRZIZcxv5+EctEPsZEi2cyRXbpl3A679wzQa6BACv+pM45cjGO1JR8P0VswKN4TVL0aQRMv26N6U/uie8sEQ== +"@abp/utils@^3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-3.0.5.tgz#66b3da953500e73ff1f23d1b41168cde8216ce49" + integrity sha512-X9V1xLIEazItaf93nFSA4p94WT6QK3yA4eIyvU7GyyEkkOQdaakNwPbRwy930sd+I+/oXnIqM1vDsJu9QDhgvg== dependencies: just-compare "^1.3.0" diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/package.json b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/package.json index 528a8910e5..5ffe5c0500 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/package.json +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/package.json @@ -3,6 +3,6 @@ "name": "my-app", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.basic": "^3.0.4" + "@abp/aspnetcore.mvc.ui.theme.basic": "^3.0.5" } } \ No newline at end of file diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/yarn.lock b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/yarn.lock index bab58d97f9..3261b074f0 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/yarn.lock +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/yarn.lock @@ -2,37 +2,37 @@ # yarn lockfile v1 -"@abp/aspnetcore.mvc.ui.theme.basic@^3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-3.0.4.tgz#c58e3e06ba78279875cf2b5f96d34b83ce09f6df" - integrity sha512-tKKqVRKpwN7P4Mn+he3bcz4Qbt8bkZ++wk6iOujd6HLTkBNa0uKyM4L6+iCn1Hi62S6HeK2Xytx+b+IYeIlsuw== - dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "~3.0.4" - -"@abp/aspnetcore.mvc.ui.theme.shared@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-3.0.4.tgz#50db612b6492d36c63dd9042000a9fb00fecec54" - integrity sha512-imd2T5XXkNvGQyXV/A9hA80qSeurKaUcW6HDkte8Y2fs4QfvkjgzWXi7neqF6F+HVbYYPg3rIBWC6QF1OXGn2w== - dependencies: - "@abp/aspnetcore.mvc.ui" "~3.0.4" - "@abp/bootstrap" "~3.0.4" - "@abp/bootstrap-datepicker" "~3.0.4" - "@abp/datatables.net-bs4" "~3.0.4" - "@abp/font-awesome" "~3.0.4" - "@abp/jquery-form" "~3.0.4" - "@abp/jquery-validation-unobtrusive" "~3.0.4" - "@abp/lodash" "~3.0.4" - "@abp/luxon" "~3.0.4" - "@abp/malihu-custom-scrollbar-plugin" "~3.0.4" - "@abp/select2" "~3.0.4" - "@abp/sweetalert" "~3.0.4" - "@abp/timeago" "~3.0.4" - "@abp/toastr" "~3.0.4" - -"@abp/aspnetcore.mvc.ui@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-3.0.4.tgz#4e4344d95a98a60c53037b351cb915d8ff7a7dcb" - integrity sha512-p7KI5CKkpD4EYzG4fCtygrtZhwMu7Z+IZFGbdqXelLbI5ACkbJyrn+N+9trPfS9papymeXY4p1E3v6xOH7rSHQ== +"@abp/aspnetcore.mvc.ui.theme.basic@^3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-3.0.5.tgz#c146f20226522f0305cc0fa31cfcf9d39be78901" + integrity sha512-ptNhD4xV2wSLW7vQ5KUgaRiH5Ov1OscZW2ZEoivnt3kqgtIC3DGw+SiE9vjFCvyY83fjRkIlW2PIfQxSySbteQ== + dependencies: + "@abp/aspnetcore.mvc.ui.theme.shared" "~3.0.5" + +"@abp/aspnetcore.mvc.ui.theme.shared@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-3.0.5.tgz#5b370902cf229963f9aa10dd64482d57299dde76" + integrity sha512-iobAH39xrCdnqdaABaiYZg4lqNSOwPkMCLnyc+ytxOMbu/YnNKahXPmRhgd8dR/l+iQY1+6T4SWfLdGswi3gAg== + dependencies: + "@abp/aspnetcore.mvc.ui" "~3.0.5" + "@abp/bootstrap" "~3.0.5" + "@abp/bootstrap-datepicker" "~3.0.5" + "@abp/datatables.net-bs4" "~3.0.5" + "@abp/font-awesome" "~3.0.5" + "@abp/jquery-form" "~3.0.5" + "@abp/jquery-validation-unobtrusive" "~3.0.5" + "@abp/lodash" "~3.0.5" + "@abp/luxon" "~3.0.5" + "@abp/malihu-custom-scrollbar-plugin" "~3.0.5" + "@abp/select2" "~3.0.5" + "@abp/sweetalert" "~3.0.5" + "@abp/timeago" "~3.0.5" + "@abp/toastr" "~3.0.5" + +"@abp/aspnetcore.mvc.ui@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-3.0.5.tgz#a050eaee328c56a3730f5abbf25035adf612d6f0" + integrity sha512-/EOgjXTzR+I1OK9KA7L3yzQ2RGSDW97+n3cQrSdLAUF+tnRvMJS0nytDlSJSRK2hb8/clFMaofZHCC81aUkYUg== dependencies: ansi-colors "^4.1.1" extend-object "^1.0.0" @@ -41,144 +41,144 @@ path "^0.12.7" rimraf "^3.0.2" -"@abp/bootstrap-datepicker@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-3.0.4.tgz#d21963f158a4d348a0acdc46209e67378aae8e55" - integrity sha512-25e9qm39dj9AijIchQIdLlBiBM5/fhASkEuLKNt6M8S/e3qwKLwbRhX90DKMFvOyKdxxcK1gX7tDuGHyG9A8mA== +"@abp/bootstrap-datepicker@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-3.0.5.tgz#3a7fd86dbcadc31c11be5b2b31c8cf8ac3035540" + integrity sha512-vIY1wT4RHoJAPhVK11Q5MS71iZbwsmM/0VTBvvs04mjRSSi6xhdyRYkA+l+P49fnOwhZNaaK19XwQdVVScDuhA== dependencies: bootstrap-datepicker "^1.9.0" -"@abp/bootstrap@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-3.0.4.tgz#3b0e2b74dc174a04ce669de1b140df833eee6031" - integrity sha512-DwxL1fGYOwChPwmMpwUxCKiIdzTfRf/YDkOLUiwI8eRrpABBeuE2sSHKfks6Rqh9Wqo/nlWXvfccgDRqweqhsA== +"@abp/bootstrap@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-3.0.5.tgz#91f2c8fe6a57fc5789ae8fe9c206b2c159e55880" + integrity sha512-LdydeJIbw5k1k7FkWaI1lTectZeTXmEIoccJtj9Qx4N9yGt40wGsjz9SOvUdJ0IKAgntIWNQP8ohWiBPgzT7Xg== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" bootstrap "^4.5.0" bootstrap-v4-rtl "4.4.1-2" -"@abp/core@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-3.0.4.tgz#281940525e280e9e3a1aa4cb4e8f64548ea026a3" - integrity sha512-ZPEH1fa5bf/f1ek9ZLQHx7u78iF6kRZ8Z2NBI36cNL13RyQbx485qJF+KXyqNlJoJAh0CAs0NsAJADU3utcDNA== +"@abp/core@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/core/-/core-3.0.5.tgz#9a7bd990d02edc8128a5be3233b6fbb5669b15b8" + integrity sha512-LdkSkZQfN4hugcGNxBkje0+eQomivwNFbnAkMFQbvCwYLwKB2yvk7GCemEetW1piqvyrUGz4jqhtunjoXps5JA== dependencies: - "@abp/utils" "^3.0.4" + "@abp/utils" "^3.0.5" -"@abp/datatables.net-bs4@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-3.0.4.tgz#e488336bd2c199146ea60464e0ba75aeb134957e" - integrity sha512-ID1XWKPxG9pv6mxBkku7JWvgXjTxJ1uShxmYv5kFYVuwOGMSvj8QVZInTHFcMdECopV56yjGPNOIFLeQj4Mw8Q== +"@abp/datatables.net-bs4@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-3.0.5.tgz#9b79935970d2d4074994240b5deb01dff5987c0a" + integrity sha512-jIWRBEG/NlhaE43i6Xzr18XJ5aTWA+WWslf7WgNOArG5slGBbH4lLLja4HswLP3NGdSmzIyHJR1p9XQ82nBkbQ== dependencies: - "@abp/datatables.net" "~3.0.4" + "@abp/datatables.net" "~3.0.5" datatables.net-bs4 "^1.10.21" -"@abp/datatables.net@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-3.0.4.tgz#7ef143b83143ad8d769be25296411a812a17b255" - integrity sha512-gdQwRuxO5fQWhG/DiUaf40DQ8dWIVGhOCyt6SZ8LQzq4uSaQqa0qrtTTTW2/aiee4MgJu2vJWYF5YCszIR/HhA== +"@abp/datatables.net@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-3.0.5.tgz#0a0a39e8fa54522bf8a09ce76ff3927207a79491" + integrity sha512-HClQ2tcZuWBAChf9oOJOtMP1zHv8jqloPEcw3iqbhS/tWZBw5VQ4TO+BVfZsqHDXZNnWSmR6/2xiKsK32nliew== dependencies: - "@abp/jquery" "~3.0.4" + "@abp/jquery" "~3.0.5" datatables.net "^1.10.21" -"@abp/font-awesome@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-3.0.4.tgz#98f83d0bf8b5a2a4d988cb07f5cceda2e1bc1a09" - integrity sha512-AKhKCUXx8vdHIgyXUfbSLitfYor5dJbo4qMRRGqIJVSj+cyMkpgYbGjqr24GGijgZxdmOGL+s1b9iCUbIPgLNQ== +"@abp/font-awesome@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-3.0.5.tgz#62d58c34f0abf268e30bdf788dfbd3f45b19b412" + integrity sha512-/+31Vtw1S9vvuNy/rN/Q6awkgUaYNNYXESgfvqI0pqIkvlPgigvS8E68mHqGzsxyRqdZisI6JGd94AF+vJD7sQ== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" "@fortawesome/fontawesome-free" "^5.13.0" -"@abp/jquery-form@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-3.0.4.tgz#022eebbfe58b55e328984c0f119884c9464bc767" - integrity sha512-xDkk4rY0AmXBJE4qztzr2hZz+OVucVNWeagOEgeQHXJSKU/T+0kj0a1RxEHpyI24xBvEXAbe8PbByTbu0QXYew== +"@abp/jquery-form@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-3.0.5.tgz#9d2ea9b2509448ee163a163298a7a09480865f78" + integrity sha512-RKgvQciaMml33NvzA28aYyfNI+WQHRfKLFWvOvqc8qO4C3BvyrnwepuzZcnI/9UsELKLSLoFrfk3rJHhxnTJhg== dependencies: - "@abp/jquery" "~3.0.4" + "@abp/jquery" "~3.0.5" jquery-form "^4.3.0" -"@abp/jquery-validation-unobtrusive@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-3.0.4.tgz#6cc942aadcdde33893e7a45c84aa022e033e4e8b" - integrity sha512-N9sza91HCyPvJo+d0RAfq4skae3TgAYg7KXhlwzRE2hqUQS+EICVARURWyxJW7s7Zu6+gxDTkXhBZRTW56deZA== +"@abp/jquery-validation-unobtrusive@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-3.0.5.tgz#b8912e1c4cfdd4fdff6ad4aa7ee8693b55a3be1f" + integrity sha512-kPifDA+1ErbeQBwn+BzwtWuTHXzBke/EMCmITuj59plM/60gZ1ZfVm8EzzTmKS7iLaVVeOqTKf0vEQTobNYffw== dependencies: - "@abp/jquery-validation" "~3.0.4" + "@abp/jquery-validation" "~3.0.5" jquery-validation-unobtrusive "^3.2.11" -"@abp/jquery-validation@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-3.0.4.tgz#3f96d1f83c75a7fc47e5e5e12c51dbc8da7582b1" - integrity sha512-2ljqas4YKU0PcwB0wQW2qhXejDHjW+N1XCxZDyCZ2wF9UxGlKBR8rFt76TJByXSotKE7n2hJRZaOh9ICZUow2g== +"@abp/jquery-validation@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-3.0.5.tgz#55e36b3c832a35447fac69af312dedf1dee22279" + integrity sha512-fdqxc5CJ6TpUAF8+NEsKCmXvvZiOPR5bzczcfvfovxLOjvHvdEO74XPGjsjlBNTdaKMhmNGZRK4JRLUz7fvTng== dependencies: - "@abp/jquery" "~3.0.4" + "@abp/jquery" "~3.0.5" jquery-validation "^1.19.2" -"@abp/jquery@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-3.0.4.tgz#5f236d95cfae7f65012cd8778fd74490b7542442" - integrity sha512-g8N8Te5vf+8djdksfZoZ3tXaqlBC4Ra39pAWU/XerlLl64u+XmAX1s6yKRfC2kS8lf292GgiFYuNOkb77J6k4A== +"@abp/jquery@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-3.0.5.tgz#2e43ac19a8df6e1e0220d6d4991d33a93d890754" + integrity sha512-2d2l+smWKAVP4/b6GSO+8rmJ7pFXiUewpBDwkHm5qgkK6n6UGqIcK9lIgiS2YQ6rmL6qdtuNhhqtC9GF2TF2kQ== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" jquery "~3.5.1" -"@abp/lodash@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-3.0.4.tgz#ee60bc99f98b59fd9fc5ff4bbcf914a13faf209d" - integrity sha512-jxvv74Sm/fUKDBMylK4Ne/8GKm7GuHAdcLFtkoJQptdO+RjZpKJ86ULT+X5vbKskZaTj2fEmOR6l4hmfnBULTA== +"@abp/lodash@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-3.0.5.tgz#d5d9f14095d76239bc0e6f9804c24d1f92ffcab4" + integrity sha512-+B2vxfPwxoIIb8Ac8eHi6OgAn0qbjmPZuun7/es0/ouYYTbEhvhTAD20X3PGZlHrIYeDyS2ansuXm8gJI+/BzA== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" lodash "^4.17.15" -"@abp/luxon@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-3.0.4.tgz#aa1bf6a93d6254433101e50a205b276759969414" - integrity sha512-gX9dQJt9C6M1wmCSUIBoNr8CAt0jkUZFQ7LKKO/BoADGM/XFvY5vDbhL7zcwbwitgCOzmucoCxs/6rIxSOVlrg== +"@abp/luxon@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-3.0.5.tgz#083042c939ea58bf719e35114a6c8efb07b68688" + integrity sha512-0UVHO2CO89t34O35OA3JzWGWLBpg+e1NQXSfVtK90nmg/QmzGkHVM9m7Su0jjLNBt3N5EA5OPOhriot3bCKItw== dependencies: luxon "^1.24.1" -"@abp/malihu-custom-scrollbar-plugin@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.0.4.tgz#c54824b98363f4190cc6a37fcd421c2bfdc1e201" - integrity sha512-6LdSGctOr4ACtdohdSlb19vrFNJ5C0hy1VdbBEafHOBspXckvRVx4uJl2KfHmAC+bMg9apoK/wcHjVNdBHThYQ== +"@abp/malihu-custom-scrollbar-plugin@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.0.5.tgz#f908289927a63fd76fb8f60b00a37747d9edbe39" + integrity sha512-3GoXA8VtGyZWKiqaPCipPXYLLM7h2Y5Oecq5c5YlMQyW2akv7uHiQQF2GZW/nVsFu3HBbGTOWpKRRmVk3PEO9Q== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" malihu-custom-scrollbar-plugin "^3.1.5" -"@abp/select2@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-3.0.4.tgz#49db0cfbc9b08f6ae4949b2cb8bdef92d7d308dd" - integrity sha512-zKEgkWBFdGU2KiAMUKhucHqBfzDy2KNSefyqxpOiUd1L3PEKu+9o23HZRWzDupYltop+SO1Jw33CNoVAkKm4+A== +"@abp/select2@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-3.0.5.tgz#79d7754713c64a6549da520dc6867ef3e3dd0350" + integrity sha512-VbeSHdAdDy8exrjplHMMhLVV4oG7Gq9zBb5M52f0sIkA4DkXFhksXHcHNoOCfhaKAXpenGA03Z9GJewZ3MTpMw== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" select2 "^4.0.13" -"@abp/sweetalert@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-3.0.4.tgz#f85d11c5aabc6ceb509af1b8fd8d75bc3c74bd27" - integrity sha512-hO0qXUWxeMy/lfy3sb+5HvOmIPst6UvYJJGy3ZQR6DKEdkOktBX9sEDb7m6ij6xAIHqWIx1xLveul0oGteOG0Q== +"@abp/sweetalert@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-3.0.5.tgz#e3b92d23cf3633983980b6255bf63c43d422ceab" + integrity sha512-OUt4ANgj14GESfRG7+UqdONS8daOu+8x2OZDWv98hriuX0uCVBjwB2J0jRI/n653C68Mi0yHixGONDv9OLy/lg== dependencies: - "@abp/core" "~3.0.4" + "@abp/core" "~3.0.5" sweetalert "^2.1.2" -"@abp/timeago@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-3.0.4.tgz#82d90a04f703a7db9c0acedcd2f3cea684e7ae18" - integrity sha512-7SbbqScTKCix25xWy5oLT0slJqUQsW6YgJgI0N41C3AsByRBXZeh5Gcep033gprTPmpgNY8JOWcEcCXySnYvfA== +"@abp/timeago@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-3.0.5.tgz#b191a7c43f3dc77645fe27273f2f6619f7d4eb31" + integrity sha512-QhvAOU4C+Qxh/gFuCSGZtLU4KwVhdv/jtK8ovWyqbGvQMCCIimqa8BFKIz0H5XWIJhHwwWblkpjICWgjWh6uXw== dependencies: - "@abp/jquery" "~3.0.4" + "@abp/jquery" "~3.0.5" timeago "^1.6.7" -"@abp/toastr@~3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-3.0.4.tgz#884ab2343ddd59981c291c632e3b0630532f7e9c" - integrity sha512-NG0pVD8bdIXGpjPW9cozCzmyuAdnSLE4vDYLUReP1pZFp9B8SMJqpgPk9eFg0Y06aaHTVMKYBKRoq9xXS4w9Xg== +"@abp/toastr@~3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-3.0.5.tgz#fc83b678f5be3a22040d0421ad9db5b2eac9d4fc" + integrity sha512-qgi2DEu6FYpN/DYcOZrmXsAr1HqcIKMhBWeXgjfoYUIl/K5+OuUgbQ69D/jdc0jz8HU9a4Cw7Q8hhe4CkgssEw== dependencies: - "@abp/jquery" "~3.0.4" + "@abp/jquery" "~3.0.5" toastr "^2.1.4" -"@abp/utils@^3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-3.0.4.tgz#38068fa8f735e1889cf2f226128366825948814d" - integrity sha512-TnXRZIZcxv5+EctEPsZEi2cyRXbpl3A679wzQa6BACv+pM45cjGO1JR8P0VswKN4TVL0aQRMv26N6U/uie8sEQ== +"@abp/utils@^3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-3.0.5.tgz#66b3da953500e73ff1f23d1b41168cde8216ce49" + integrity sha512-X9V1xLIEazItaf93nFSA4p94WT6QK3yA4eIyvU7GyyEkkOQdaakNwPbRwy930sd+I+/oXnIqM1vDsJu9QDhgvg== dependencies: just-compare "^1.3.0" From b1b8ba4bd688eec7e0596deefe4ee5d16493f7a0 Mon Sep 17 00:00:00 2001 From: liangshiwei Date: Thu, 30 Jul 2020 19:07:39 +0800 Subject: [PATCH 36/43] Update part-8 document --- docs/en/Tutorials/Part-8.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/docs/en/Tutorials/Part-8.md b/docs/en/Tutorials/Part-8.md index cf75994c14..af8cc78a31 100644 --- a/docs/en/Tutorials/Part-8.md +++ b/docs/en/Tutorials/Part-8.md @@ -489,6 +489,16 @@ namespace Acme.BookStore } ```` +{{if DB=="EF"}} + +You can now run the `.DbMigrator` console application to **migrate** the **database schema** and **seed** the initial data. + +{{else if DB=="Mongo"}} + +You can now run the `.DbMigrator` console application to **seed** the initial data. + +{{end}} + ## Testing the Author Application Service Finally, we can write some tests for the `IAuthorAppService`. Add a new class, named `AuthorAppService_Tests` in the `Authors` namespace (folder) of the `Acme.BookStore.Application.Tests` project: From 5f78f89a53548a62161c9c1180411678968a469a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Thu, 30 Jul 2020 17:21:17 +0300 Subject: [PATCH 37/43] #4927: Implement social/external logins for the account module. --- .../Account/Localization/Resources/en.json | 3 +- .../Pages/Account/Login.cshtml | 81 +++++----- .../Pages/Account/Login.cshtml.cs | 21 ++- .../Pages/Account/Register.cshtml | 37 +++-- .../Pages/Account/Register.cshtml.cs | 141 ++++++++++++++++-- 5 files changed, 212 insertions(+), 71 deletions(-) diff --git a/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/en.json b/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/en.json index f0dbdaadb6..2940fff63b 100644 --- a/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/en.json +++ b/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/en.json @@ -43,6 +43,7 @@ "Description:Abp.Account.EnableLocalLogin": "Indicates if the server will allow users to authenticate with a local account.", "LoggedOutTitle": "Signed Out", "LoggedOutText": "You have been signed out and you will be redirected soon.", - "ReturnToText": "Click here to redirect to {0}" + "ReturnToText": "Click here to redirect to {0}", + "OrLoginWith": "Or login with;" } } diff --git a/modules/account/src/Volo.Abp.Account.Web/Pages/Account/Login.cshtml b/modules/account/src/Volo.Abp.Account.Web/Pages/Account/Login.cshtml index 3bace4850b..41986c3856 100644 --- a/modules/account/src/Volo.Abp.Account.Web/Pages/Account/Login.cshtml +++ b/modules/account/src/Volo.Abp.Account.Web/Pages/Account/Login.cshtml @@ -6,34 +6,34 @@ @model Volo.Abp.Account.Web.Pages.Account.LoginModel @inject IHtmlLocalizer L @inject Volo.Abp.Settings.ISettingProvider SettingProvider -@if (Model.EnableLocalLogin) -{ -

-
-

@L["Login"]

- @if (await SettingProvider.IsTrueAsync(AccountSettingNames.IsSelfRegistrationEnabled)) - { - - @L["AreYouANewUser"] -
@L["Register"] - - } +
+
+

@L["Login"]

+ @if (await SettingProvider.IsTrueAsync(AccountSettingNames.IsSelfRegistrationEnabled)) + { + + @L["AreYouANewUser"] + @L["Register"] + + } + @if (Model.EnableLocalLogin) + {
- - + +
- +
- +
@@ -43,29 +43,30 @@ @L["Cancel"] }
-
-
-} + } -@if (Model.VisibleExternalProviders.Any()) -{ -
-

@L["UseAnotherServiceToLogIn"]

-
- - - @foreach (var provider in Model.VisibleExternalProviders) - { - - } -
-
-} + @if (Model.VisibleExternalProviders.Any()) + { +
+
@L["OrLoginWith"]
+
+ + + @foreach (var provider in Model.VisibleExternalProviders) + { + + } +
+
+ } + + @if (!Model.EnableLocalLogin && !Model.VisibleExternalProviders.Any()) + { +
+ @L["InvalidLoginRequest"] + @L["ThereAreNoLoginSchemesConfiguredForThisClient"] +
+ } -@if (!Model.EnableLocalLogin && !Model.VisibleExternalProviders.Any()) -{ -
- @L["InvalidLoginRequest"] - @L["ThereAreNoLoginSchemesConfiguredForThisClient"]
-} +
diff --git a/modules/account/src/Volo.Abp.Account.Web/Pages/Account/Login.cshtml.cs b/modules/account/src/Volo.Abp.Account.Web/Pages/Account/Login.cshtml.cs index 9d6c540ce5..ccd6e07a0f 100644 --- a/modules/account/src/Volo.Abp.Account.Web/Pages/Account/Login.cshtml.cs +++ b/modules/account/src/Volo.Abp.Account.Web/Pages/Account/Login.cshtml.cs @@ -214,13 +214,23 @@ namespace Volo.Abp.Account.Web.Pages.Account //TODO: Handle other cases for result! // Get the information about the user from the external login provider - var info = await SignInManager.GetExternalLoginInfoAsync(); - if (info == null) + var externalLoginInfo = await SignInManager.GetExternalLoginInfoAsync(); + if (externalLoginInfo == null) { throw new ApplicationException("Error loading external login information during confirmation."); } - var user = await CreateExternalUserAsync(info); + if (!IsEmailRetrievedFromExternalLogin(externalLoginInfo)) + { + return RedirectToPage("./Register", new + { + IsExternalLogin = true, + ExternalLoginAuthSchema = externalLoginInfo.LoginProvider, + ReturnUrl = returnUrl + }); + } + + var user = await CreateExternalUserAsync(externalLoginInfo); await SignInManager.SignInAsync(user, false); @@ -234,6 +244,11 @@ namespace Volo.Abp.Account.Web.Pages.Account return RedirectSafely(returnUrl, returnUrlHash); } + private static bool IsEmailRetrievedFromExternalLogin(ExternalLoginInfo externalLoginInfo) + { + return externalLoginInfo.Principal.FindFirstValue(AbpClaimTypes.Email) != null; + } + protected virtual async Task CreateExternalUserAsync(ExternalLoginInfo info) { var emailAddress = info.Principal.FindFirstValue(AbpClaimTypes.Email); diff --git a/modules/account/src/Volo.Abp.Account.Web/Pages/Account/Register.cshtml b/modules/account/src/Volo.Abp.Account.Web/Pages/Account/Register.cshtml index 204540e7e7..42779e864c 100644 --- a/modules/account/src/Volo.Abp.Account.Web/Pages/Account/Register.cshtml +++ b/modules/account/src/Volo.Abp.Account.Web/Pages/Account/Register.cshtml @@ -4,18 +4,27 @@ @model Volo.Abp.Account.Web.Pages.Account.RegisterModel @inject IHtmlLocalizer L -
-
-

@L["Register"]

- - @L["AlreadyRegistered"] - @L["Login"] - -
- - - - @L["Register"] - -
+
+
+

@L["Register"]

+ + @L["AlreadyRegistered"] + @L["Login"] + +
+ @if (!Model.IsExternalLogin) + { + + } + + + + @if (!Model.IsExternalLogin) + { + + } + + @L["Register"] +
+
diff --git a/modules/account/src/Volo.Abp.Account.Web/Pages/Account/Register.cshtml.cs b/modules/account/src/Volo.Abp.Account.Web/Pages/Account/Register.cshtml.cs index f6d626dd63..6baefc6745 100644 --- a/modules/account/src/Volo.Abp.Account.Web/Pages/Account/Register.cshtml.cs +++ b/modules/account/src/Volo.Abp.Account.Web/Pages/Account/Register.cshtml.cs @@ -1,14 +1,16 @@ +using System; using System.ComponentModel.DataAnnotations; using System.Linq; +using System.Security.Claims; +using System.Text; using System.Threading.Tasks; using Microsoft.AspNetCore.Identity; using Microsoft.AspNetCore.Mvc; +using Microsoft.Extensions.Logging; using Volo.Abp.Account.Settings; using Volo.Abp.Auditing; -using Volo.Abp.Application.Dtos; using Volo.Abp.Identity; using Volo.Abp.Settings; -using Volo.Abp.Uow; using Volo.Abp.Validation; using IdentityUser = Volo.Abp.Identity.IdentityUser; @@ -27,6 +29,12 @@ namespace Volo.Abp.Account.Web.Pages.Account [BindProperty] public PostInput Input { get; set; } + [BindProperty(SupportsGet = true)] + public bool IsExternalLogin { get; set; } + + [BindProperty(SupportsGet = true)] + public string ExternalLoginAuthSchema { get; set; } + public RegisterModel(IAccountAppService accountAppService) { AccountAppService = accountAppService; @@ -35,34 +43,141 @@ namespace Volo.Abp.Account.Web.Pages.Account public virtual async Task OnGetAsync() { await CheckSelfRegistrationAsync(); - + await TrySetEmailAsync(); return Page(); } - public virtual async Task OnPostAsync() + private async Task TrySetEmailAsync() { - ValidateModel(); + if (IsExternalLogin) + { + var externalLoginInfo = await SignInManager.GetExternalLoginInfoAsync(); + if (externalLoginInfo == null) + { + return; + } + + if (!externalLoginInfo.Principal.Identities.Any()) + { + return; + } + + var identity = externalLoginInfo.Principal.Identities.First(); + var emailClaim = identity.FindFirst(ClaimTypes.Email); + + if (emailClaim == null) + { + return; + } + + Input = new PostInput {EmailAddress = emailClaim.Value}; + } + } + public virtual async Task OnPostAsync() + { await CheckSelfRegistrationAsync(); - var registerDto = new RegisterDto + var registerDto = new RegisterDto() { - AppName = "MVC", - EmailAddress = Input.EmailAddress, - Password = Input.Password, - UserName = Input.UserName + AppName = "MVC" }; - var userDto = await AccountAppService.RegisterAsync(registerDto); - var user = await UserManager.GetByIdAsync(userDto.Id); + if (IsExternalLogin) + { + var externalLoginInfo = await SignInManager.GetExternalLoginInfoAsync(); + if (externalLoginInfo == null) + { + Logger.LogWarning("External login info is not available"); + return RedirectToPage("./Login"); + } + + registerDto.EmailAddress = Input.EmailAddress; + registerDto.UserName = Input.EmailAddress; + registerDto.Password = GeneratePassword(); + } + else + { + ValidateModel(); - await UserManager.SetEmailAsync(user, Input.EmailAddress); + registerDto.EmailAddress = Input.EmailAddress; + registerDto.Password = Input.Password; + registerDto.UserName = Input.UserName; + } + var userDto = await AccountAppService.RegisterAsync(registerDto); + var user = await UserManager.GetByIdAsync(userDto.Id); await SignInManager.SignInAsync(user, isPersistent: false); + if (IsExternalLogin) + { + await AddToUserLogins(user); + } + return Redirect(ReturnUrl ?? "~/"); //TODO: How to ensure safety? IdentityServer requires it however it should be checked somehow! } + protected virtual async Task AddToUserLogins(IdentityUser user) + { + var externalLoginInfo = await SignInManager.GetExternalLoginInfoAsync(); + + var userLoginAlreadyExists = user.Logins.Any(x => + x.TenantId == user.TenantId && + x.LoginProvider == externalLoginInfo.LoginProvider && + x.ProviderKey == externalLoginInfo.ProviderKey); + + if (!userLoginAlreadyExists) + { + user.AddLogin(new UserLoginInfo( + externalLoginInfo.LoginProvider, + externalLoginInfo.ProviderKey, + externalLoginInfo.ProviderDisplayName + ) + ); + } + } + + protected virtual string GeneratePassword() + { + var random = new Random(); + var options = UserManager.Options.Password; + int length = random.Next(options.RequiredLength, IdentityUserConsts.MaxPasswordLength - 1); + + bool nonAlphanumeric = options.RequireNonAlphanumeric; + bool digit = options.RequireDigit; + bool lowercase = options.RequireLowercase; + bool uppercase = options.RequireUppercase; + + StringBuilder password = new StringBuilder(); + + while (password.Length < length) + { + char c = (char)random.Next(32, 126); + + password.Append(c); + + if (char.IsDigit(c)) + digit = false; + else if (char.IsLower(c)) + lowercase = false; + else if (char.IsUpper(c)) + uppercase = false; + else if (!char.IsLetterOrDigit(c)) + nonAlphanumeric = false; + } + + if (nonAlphanumeric) + password.Append((char)random.Next(33, 48)); + if (digit) + password.Append((char)random.Next(48, 58)); + if (lowercase) + password.Append((char)random.Next(97, 123)); + if (uppercase) + password.Append((char)random.Next(65, 91)); + + return password.ToString(); + } + protected virtual async Task CheckSelfRegistrationAsync() { if (!await SettingProvider.IsTrueAsync(AccountSettingNames.IsSelfRegistrationEnabled) || From eb4c854d810fdee9513a7af7b99072ea2eb86a71 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Thu, 30 Jul 2020 17:57:22 +0300 Subject: [PATCH 38/43] Resolved #4927: Document social logins. --- .../Authentication/Social-External-Logins.md | 30 +++++++++++++++++++ docs/en/Startup-Templates/Application.md | 8 +++-- docs/en/docs-nav.json | 9 ++++++ 3 files changed, 45 insertions(+), 2 deletions(-) create mode 100644 docs/en/Authentication/Social-External-Logins.md diff --git a/docs/en/Authentication/Social-External-Logins.md b/docs/en/Authentication/Social-External-Logins.md new file mode 100644 index 0000000000..c48763a92a --- /dev/null +++ b/docs/en/Authentication/Social-External-Logins.md @@ -0,0 +1,30 @@ +# Social/External Logins + +## ASP.NET Core MVC / Razor Pages UI + +The [Account Module](../Modules/Account.md) has already configured to handle social or external logins out of the box. You can follow the ASP.NET Core documentation to add a social/external login provider to your application. + +### Example: Facebook Authentication + +Follow the [ASP.NET Core Facebook integration document](https://docs.microsoft.com/en-us/aspnet/core/security/authentication/social/facebook-logins) to support the Facebook login for your application. + +#### Add the NuGet Package + +Add the [Microsoft.AspNetCore.Authentication.Facebook](https://www.nuget.org/packages/Microsoft.AspNetCore.Authentication.Facebook) package to your project. Based on your architecture, this can be `.Web`, `.IdentityServer` (for tiered setup) or `.Host` project. + +#### Configure the Provider + +Use the `.AddFacebook(...)` extension method in the `ConfigureServices` method of your [module](../Module-Development-Basics.md), to configure the client: + +````csharp +context.Services.AddAuthentication() + .AddFacebook(facebook => + { + facebook.AppId = "..."; + facebook.AppSecret = "..."; + facebook.Scope.Add("email"); + facebook.Scope.Add("public_profile"); + }); +```` + +> It would be a better practice to use the `appsettings.json` or the ASP.NET Core User Secrets system to store your credentials, instead of a hard-coded value like that. Follow the [Microsoft's document](https://docs.microsoft.com/en-us/aspnet/core/security/authentication/social/facebook-logins) to learn the user secrets usage. \ No newline at end of file diff --git a/docs/en/Startup-Templates/Application.md b/docs/en/Startup-Templates/Application.md index af76bb14ff..7495b8f006 100644 --- a/docs/en/Startup-Templates/Application.md +++ b/docs/en/Startup-Templates/Application.md @@ -437,7 +437,11 @@ See the [Testing Overview](https://reactjs.org/docs/testing.html) document. * [Formik](https://github.com/jaredpalmer/formik) is used to build forms. * [Yup](https://github.com/jquense/yup) is used for form validations. +## Social / External Logins + +If you want to configure social/external logins for your application, please follow the [Social/External Logins](../Authentication/Social-External-Logins.md) document. + ## What's Next? -- [The getting started document](../Getting-Started-With-Startup-Templates.md) explains how to create a new application in a few minutes. -- [The application development tutorial](../Tutorials/Part-1) explains step by step application development. +- [The getting started document](../Getting-Started.md) explains how to create a new application in a few minutes. +- [The application development tutorial](../Tutorials/Part-1.md) explains step by step application development. diff --git a/docs/en/docs-nav.json b/docs/en/docs-nav.json index 09288e013b..b586f3aff4 100644 --- a/docs/en/docs-nav.json +++ b/docs/en/docs-nav.json @@ -107,6 +107,15 @@ "text": "CLI", "path": "CLI.md" }, + { + "text": "Authentication", + "items": [ + { + "text": "Social/External Logins", + "path": "Authentication/Social-External-Logins.md" + } + ] + }, { "text": "Fundamentals", "items": [ From 48ea38a21830b62110218b57cc6d30d16c40fbaf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Thu, 30 Jul 2020 18:31:02 +0300 Subject: [PATCH 39/43] Resolved #4929: Replace IEmailSender with NullEmailSender on DEBUG for the application template --- .../MyCompanyName.MyProjectName.Domain.csproj | 1 + .../MyProjectNameDomainModule.cs | 14 +++++++++++--- .../appsettings.json | 11 ----------- 3 files changed, 12 insertions(+), 14 deletions(-) diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Domain/MyCompanyName.MyProjectName.Domain.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Domain/MyCompanyName.MyProjectName.Domain.csproj index 5f7dc8c7b0..415647a729 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Domain/MyCompanyName.MyProjectName.Domain.csproj +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Domain/MyCompanyName.MyProjectName.Domain.csproj @@ -12,6 +12,7 @@ + diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Domain/MyProjectNameDomainModule.cs b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Domain/MyProjectNameDomainModule.cs index 84e7f88791..014594801f 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Domain/MyProjectNameDomainModule.cs +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Domain/MyProjectNameDomainModule.cs @@ -1,7 +1,10 @@ -using MyCompanyName.MyProjectName.MultiTenancy; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.DependencyInjection.Extensions; +using MyCompanyName.MyProjectName.MultiTenancy; using MyCompanyName.MyProjectName.ObjectExtending; using Volo.Abp.AuditLogging; using Volo.Abp.BackgroundJobs; +using Volo.Abp.Emailing; using Volo.Abp.FeatureManagement; using Volo.Abp.Identity; using Volo.Abp.IdentityServer; @@ -24,8 +27,9 @@ namespace MyCompanyName.MyProjectName typeof(AbpIdentityServerDomainModule), typeof(AbpPermissionManagementDomainIdentityServerModule), typeof(AbpSettingManagementDomainModule), - typeof(AbpTenantManagementDomainModule) - )] + typeof(AbpTenantManagementDomainModule), + typeof(AbpEmailingModule) + )] public class MyProjectNameDomainModule : AbpModule { public override void PreConfigureServices(ServiceConfigurationContext context) @@ -39,6 +43,10 @@ namespace MyCompanyName.MyProjectName { options.IsEnabled = MultiTenancyConsts.IsEnabled; }); + +#if DEBUG + context.Services.Replace(ServiceDescriptor.Singleton()); +#endif } } } diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/appsettings.json b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/appsettings.json index 18e3e01313..e9330b776e 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/appsettings.json +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/appsettings.json @@ -14,16 +14,5 @@ "Authority": "https://localhost:44301", "ClientId": "MyProjectName_Web", "ClientSecret": "1q2w3e*" - }, - "Settings": { - "Abp.Mailing.Smtp.Host": "127.0.0.1", - "Abp.Mailing.Smtp.Port": "25", - "Abp.Mailing.Smtp.UserName": "", - "Abp.Mailing.Smtp.Password": "", - "Abp.Mailing.Smtp.Domain": "", - "Abp.Mailing.Smtp.EnableSsl": "false", - "Abp.Mailing.Smtp.UseDefaultCredentials": "true", - "Abp.Mailing.DefaultFromAddress": "noreply@abp.io", - "Abp.Mailing.DefaultFromDisplayName": "ABP application" } } From dc8d01b276b9ce67736d72bd5ce08284a89943ff Mon Sep 17 00:00:00 2001 From: liangshiwei Date: Fri, 31 Jul 2020 23:09:44 +0800 Subject: [PATCH 40/43] Update Chinese document --- .../Authentication/Social-External-Logins.md | 30 + docs/zh-Hans/Startup-Templates/Application.md | 8 +- docs/zh-Hans/Tutorials/Part-1.md | 6 +- docs/zh-Hans/Tutorials/Part-2.md | 1302 +++++------------ docs/zh-Hans/docs-nav.json | 9 + 5 files changed, 415 insertions(+), 940 deletions(-) create mode 100644 docs/zh-Hans/Authentication/Social-External-Logins.md diff --git a/docs/zh-Hans/Authentication/Social-External-Logins.md b/docs/zh-Hans/Authentication/Social-External-Logins.md new file mode 100644 index 0000000000..3d599a962d --- /dev/null +++ b/docs/zh-Hans/Authentication/Social-External-Logins.md @@ -0,0 +1,30 @@ +# 社交/外部登录 + +## ASP.NET Core MVC / Razor Pages UI + +[帐户模块](../Modules/Account.md)已配置为开箱即用的处理社交或外部登录. 你可以按照ASP.NET Core文档向你的应用程序添加社交/外部登录提供程序. + +### 示例: Facebook 认证 + +按照[ASP.NET Core Facebook集成文档](https://docs.microsoft.com/zh-cn/aspnet/core/security/authentication/social/facebook-logins)向你应用程序添加Facebook登录. + +#### 添加NuGet包 + +添加[Microsoft.AspNetCore.Authentication.Facebook]包到你的项目. 基于你的架构,可能是 `.Web`,`.IdentityServer`(对于分层启动)或 `.Host` 项目. + +#### 配置提供程序 + +在你模块的 `ConfigureServices` 方法中使用 `.AddFacebook(...)` 扩展方法来配置客户端: + +````csharp +context.Services.AddAuthentication() + .AddFacebook(facebook => + { + facebook.AppId = "..."; + facebook.AppSecret = "..."; + facebook.Scope.Add("email"); + facebook.Scope.Add("public_profile"); + }); +```` + +> 最佳实践是使用 `appsettings.json` 或ASP.NET Core用户机密系统来存储你的凭据,而不是像这样硬编码值. 请参阅[微软](https://docs.microsoft.com/en-us/aspnet/core/security/authentication/social/facebook-logins)文档了解如何使用用户机密. \ No newline at end of file diff --git a/docs/zh-Hans/Startup-Templates/Application.md b/docs/zh-Hans/Startup-Templates/Application.md index 4e2c3f6700..44ea5adfaf 100644 --- a/docs/zh-Hans/Startup-Templates/Application.md +++ b/docs/zh-Hans/Startup-Templates/Application.md @@ -423,7 +423,11 @@ Screens 是通过在 `src/screens` 文件夹中创建将名称分开的文件夹 * [Formik](https://github.com/jaredpalmer/formik) 用于构建表单. * [Yup](https://github.com/jquense/yup) 用于表单验证. +## 社交/外部登录 + +如果你想要为你的应用程序配置社交/外部登录,请参阅[社交/外部登录](../Authentication/Social-External-Logins.md)文档. + ## 下一步是什么? -* 参阅[ASP.NET Core MVC 模板入门](../Getting-Started-AspNetCore-MVC-Template.md)创建此模板的新解决方案并运行它. -* 参阅[ASP.NET Core MVC 教程](../Tutorials/AspNetCore-Mvc/Part-I.md)学习使用此模板开发应用程序. +* [入门文档](../Getting-Started.md)介绍了如何在几分钟内创建新应用程序. +* [Web应用程序开发教程](../Tutorials/Part-1.md)逐步介绍了应用程序开发. diff --git a/docs/zh-Hans/Tutorials/Part-1.md b/docs/zh-Hans/Tutorials/Part-1.md index 78d2166f6b..101835559b 100644 --- a/docs/zh-Hans/Tutorials/Part-1.md +++ b/docs/zh-Hans/Tutorials/Part-1.md @@ -1,4 +1,4 @@ -## Web应用程序开发教程 - 第一章: 创建服务端 +# Web应用程序开发教程 - 第一章: 创建服务端 ````json //[doc-params] { @@ -23,7 +23,7 @@ else end }} -### 关于本教程 +## 关于本教程 在本系列教程中, 你将构建一个名为 `Acme.BookStore` 的用于管理书籍及其作者列表的基于ABP的应用程序. 它是使用以下技术开发的: @@ -43,7 +43,7 @@ end - [Part 9: 作者: 用户页面](Part-9.md) - [Part 10: 图书到作者的关系](Part-10.md) -### 下载源码 +## 下载源码 本教程根据你的**UI** 和 **Database**偏好有多个版,我们准备了两种可供下载的源码组合: diff --git a/docs/zh-Hans/Tutorials/Part-2.md b/docs/zh-Hans/Tutorials/Part-2.md index 751bd85ece..e591058037 100644 --- a/docs/zh-Hans/Tutorials/Part-2.md +++ b/docs/zh-Hans/Tutorials/Part-2.md @@ -1,8 +1,9 @@ -## ASP.NET Core {{UI_Value}} 教程 - 第二章 +# Web应用程序开发教程 - 第二章: 图书列表页面 ````json //[doc-params] { - "UI": ["MVC","NG"] + "UI": ["MVC","NG"], + "DB": ["EF","Mongo"] } ```` @@ -21,904 +22,476 @@ else end }} -### 关于本教程 +## 关于本教程 -这是ASP.NET Core{{UI_Value}}系列教程的第二章. 共有三章: +在本系列教程中, 你将构建一个名为 `Acme.BookStore` 的用于管理书籍及其作者列表的基于ABP的应用程序. 它是使用以下技术开发的: -- [Part-1: 创建项目和书籍列表页面](Part-1.md) -- **Part 2: 创建,编辑,删除书籍(本章)** -- [Part-3: 集成测试](Part-3.md) +* **{{DB_Text}}** 做为ORM提供程序. +* **{{UI_Value}}** 做为UI框架. -> 你也可以观看由ABP社区成员为本教程录制的[视频课程](https://amazingsolutions.teachable.com/p/lets-build-the-bookstore-application). +本教程分为以下部分: -{{if UI == "MVC"}} - -### 新增 Book 实体 +- [Part 1: 创建服务端](Part-1.md) +- **Part 2: 图书列表页面**(本章) +- [Part 3: 创建,更新和删除图书](Part-3.md) +- [Part 4: 集成测试](Part-4.md) +- [Part 5: 授权](Part-5.md) +- [Part 6: 作者: 领域层](Part-6.md) +- [Part 7: 作者: 数据库集成](Part-7.md) +- [Part 8: 作者: 应用服务层](Part-8.md) +- [Part 9: 作者: 用户页面](Part-9.md) +- [Part 10: 图书到作者的关系](Part-10.md) -通过本节, 你将会了解如何创建一个 modal form 来实现新增书籍的功能. 最终成果如下图所示: +## 下载源码 -![bookstore-create-dialog](./images/bookstore-create-dialog-2.png) +本教程根据你的**UI** 和 **Database**偏好有多个版,我们准备了两种可供下载的源码组合: -#### 新建 modal form +* [MVC (Razor Pages) UI 与 EF Core](https://github.com/abpframework/abp-samples/tree/master/BookStore-Mvc-EfCore) +* [Angular UI 与 MongoDB](https://github.com/abpframework/abp-samples/tree/master/BookStore-Angular-MongoDb) -在 `Acme.BookStore.Web` 项目的 `Pages/Books` 目录下新建一个 `CreateModal.cshtml` Razor页面: +{{if UI == "MVC"}} -![bookstore-add-create-dialog](./images/bookstore-add-create-dialog-v2.png) +## 动态JavaScript代理 -##### CreateModal.cshtml.cs +通常在 **JavaScript** 端通过AJAX调用HTTP API端点. 你可以使用 `$.ajax` 或其他工具来调用端点. 但是ABP提供了更好的方法. -打开 `CreateModal.cshtml.cs` 代码文件,用如下代码替换 `CreateModalModel` 类的实现: +ABP**动态**为所有API端点创建 **[JavaScript代理](../UI/AspNetCore/Dynamic-JavaScript-Proxies.md)**. 所以你可以像调用**Javascript本地方法**一样使用任何**端点**. -````C# -using System.Threading.Tasks; -using Microsoft.AspNetCore.Mvc; +### 在开发者控制台中进行测试 -namespace Acme.BookStore.Web.Pages.Books -{ - public class CreateModalModel : BookStorePageModel - { - [BindProperty] - public CreateUpdateBookDto Book { get; set; } +你可以在自己喜欢的浏览器的**开发者控制台**轻松的测试JavaScript代理. 运行应用程序,打开浏览器的**开发者人员工具**(*快捷键通常是F12*),切换到**控制台**选项卡,输入以下代码然后按回车: - private readonly IBookAppService _bookAppService; - - public CreateModalModel(IBookAppService bookAppService) - { - _bookAppService = bookAppService; - } - - public async Task OnPostAsync() - { - await _bookAppService.CreateAsync(Book); - return NoContent(); - } - } -} +````js +acme.bookStore.books.book.getList({}).done(function (result) { console.log(result); }); ```` -* 该类派生于 `BookStorePageModel` 而非默认的 `PageModel`. `BookStorePageModel` 继承了 `PageModel` 并且添加了一些可以被你的page model类使用的通用属性和方法. -* `Book` 属性上的 `[BindProperty]` 特性将post请求提交上来的数据绑定到该属性上. -* 该类通过构造函数注入了 `IBookAppService` 应用服务,并且在 `OnPostAsync` 处理程序中调用了服务的 `CreateAsync` 方法. +* `acme.bookStore.books` 是 `BookAppService` 的命令空间转换成[小驼峰](https://en.wikipedia.org/wiki/Camel_case)形式. +* `book` 是 `BookAppService` 的约定名称(删除`AppService`后缀并且转换为小驼峰). +* `getList` 是 `CrudAppService` 基类定义的 `GetListAsync` 方法的约定名称(删除`Async`后缀并且转换为小驼峰). +* `{}` 参数将空对象发送到 `GetListAsync` 方法,该方法通常需要一个类型为 `PagedAndSortedResultRequestDto` 的对象,该对象用于将分页和排序选项发送到服务器(所有属性都是可选的,具有默认值. 因此你可以发送一个空对象). +* `getList` 函数返回一个 `promise`. 你可以传递一个回调到 `then`(或`done`)函数来获取从服务器返回的结果. -##### CreateModal.cshtml +运行该代码会产生以下输出: -打开 `CreateModal.cshtml` 文件并粘贴如下代码: +![bookstore-javascript-proxy-console](images/bookstore-javascript-proxy-console.png) -````html -@page -@using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Modal -@model Acme.BookStore.Web.Pages.Books.CreateModalModel -@{ - Layout = null; -} - - - - - - - - - -```` +你可以看到服务端返回的 **图书列表**. 你也可以在开发者人员工具的 **网络** 选项卡查看客户端到服务端的通信: -* 这个 modal 使用 `abp-dynamic-form` Tag Helper 根据 `CreateBookViewModel` 类自动构建了表单. - * `abp-model` 指定了 `Book` 属性为模型对象. - * `data-ajaxForm` 设置了表单通过AJAX提交,而不是经典的页面回发. - * `abp-form-content` tag helper 作为表单控件渲染位置的占位符 (这是可选的,只有你在 `abp-dynamic-form` 中像本示例这样添加了其他内容才需要). +![bookstore-getlist-result-network](images/bookstore-getlist-result-network.png) -#### 添加 "New book" 按钮 +Let's **create a new book** using the `create` function: -打开 `Pages/Books/Index.cshtml` 并按如下代码修改 `abp-card-header` : +让我们使用 `create` 函数**创建一本书**: -````html - - - -

@L["Books"]

-
- - - -
-
+````js +acme.bookStore.books.book.create({ + name: 'Foundation', + type: 7, + publishDate: '1951-05-24', + price: 21.5 + }).then(function (result) { + console.log('successfully created the book with id: ' + result.id); + }); ```` -如下图所示,只是在表格 **右上方** 添加了 **New book** 按钮: +您应该在控制台中看到类似以下的消息: -![bookstore-new-book-button](./images/bookstore-new-book-button.png) +````text +successfully created the book with id: 439b0ea8-923e-8e1e-5d97-39f2c7ac4246 +```` -打开 `Pages/book/index.js` 在 `datatable` 配置代码后面添加如下代码: +检查数据库中的 `Books` 表你会看到新的一行. 你可以自己尝试使用 `get`, `update` 和 `delete` 函数. -````js -var createModal = new abp.ModalManager(abp.appPath + 'Books/CreateModal'); +我们将利用这些动态代理功能在接下来的章节来与服务器通信. -createModal.onResult(function () { - dataTable.ajax.reload(); -}); +{{end}} -$('#NewBookButton').click(function (e) { - e.preventDefault(); - createModal.open(); -}); -```` +## 本地化 -* `abp.ModalManager` 是一个在客户端打开和管理modal的辅助类.它基于Twitter Bootstrap的标准modal组件通过简化的API抽象隐藏了许多细节. +开始的UI开发之前,我们首先要准备本地化的文本(这是你通常在开发应用程序时需要做的). -现在,你可以 **运行程序** 通过新的 modal form 来创建书籍了. +本地化文本位于 `Acme.BookStore.Domain.Shared` 项目的 `Localization/BookStore` 文件夹下: -### 编辑更新已存在的 Book 实体 +![bookstore-localization-files](./images/bookstore-localization-files-v2.png) -在 `Acme.BookStore.Web` 项目的 `Pages/Books` 目录下新建一个名叫 `EditModal.cshtml` 的Razor页面: +打开 `en.json` (*英文翻译*)文件并更改内容,如下所示: -![bookstore-add-edit-dialog](./images/bookstore-add-edit-dialog.png) +````json +{ + "Culture": "en", + "Texts": { + "Menu:Home": "Home", + "Welcome": "Welcome", + "LongWelcomeMessage": "Welcome to the application. This is a startup project based on the ABP framework. For more information, visit abp.io.", + "Menu:BookStore": "Book Store", + "Menu:Books": "Books", + "Actions": "Actions", + "Close": "Close", + "Delete": "Delete", + "Edit": "Edit", + "PublishDate": "Publish date", + "NewBook": "New book", + "Name": "Name", + "Type": "Type", + "Price": "Price", + "CreationTime": "Creation time", + "AreYouSure": "Are you sure?", + "AreYouSureToDelete": "Are you sure you want to delete this item?", + "Enum:BookType:0": "Undefined", + "Enum:BookType:1": "Adventure", + "Enum:BookType:2": "Biography", + "Enum:BookType:3": "Dystopia", + "Enum:BookType:4": "Fantastic", + "Enum:BookType:5": "Horror", + "Enum:BookType:6": "Science", + "Enum:BookType:7": "Science fiction", + "Enum:BookType:8": "Poetry" + } +} +```` -#### EditModal.cshtml.cs +* 本地化关键字名称是任意的. 你可以设置任何名称. 对于特定的文本类型,我们更喜欢遵循一些约定: + * 为按钮项添加 `Menu:` 前缀. + * 使用 `Enum::` 命名约定来本地化枚举成员. 当您这样做时ABP可以在某些适当的情况下自动将枚举本地化. -展开 `EditModal.cshtml`,打开 `EditModal.cshtml.cs` 文件( `EditModalModel` 类) 并替换成以下代码: +如果未在本地化文件中定义文本,则文本将**回退**到本地化键(作为ASP.NET Core的标准行为). -````csharp -using System; -using System.Threading.Tasks; -using Microsoft.AspNetCore.Mvc; +> ABP本地化系统建立在[ASP.NET Core标准本地化](https://docs.microsoft.com/en-us/aspnet/core/fundamentals/localization)系统之上,并以多种方式进行了扩展. 有关详细信息请参见[本地化文档](../Localization.md). -namespace Acme.BookStore.Web.Pages.Books -{ - public class EditModalModel : BookStorePageModel - { - [HiddenInput] - [BindProperty(SupportsGet = true)] - public Guid Id { get; set; } +{{if UI == "MVC"}} - [BindProperty] - public CreateUpdateBookDto Book { get; set; } +## 创建图书页面 - private readonly IBookAppService _bookAppService; +是时候创建可见的和可用的东西了! 代替经典的MVC,我们将使用微软推荐的[Razor Pages UI](https://docs.microsoft.com/zh-cn/aspnet/core/tutorials/razor-pages/razor-pages-start). - public EditModalModel(IBookAppService bookAppService) - { - _bookAppService = bookAppService; - } +在 `Acme.BookStore.Web` 项目的 `Pages` 文件夹下创建一个名为新的 `Books` 的文件夹. 然后在文件夹右键选择 **添加 > Razor Page** 菜单. 输入名称 `Index`: - public async Task OnGetAsync() - { - var bookDto = await _bookAppService.GetAsync(Id); - Book = ObjectMapper.Map(bookDto); - } +![bookstore-add-index-page](./images/bookstore-add-index-page-v2.png) - public async Task OnPostAsync() - { - await _bookAppService.UpdateAsync(Id, Book); - return NoContent(); - } - } -} -```` +打开 `Index.cshtml` 并把内容修改成下面这样: -* `[HiddenInput]` 和 `[BindProperty]` 是标准的 ASP.NET Core MVC 特性.这里启用 `SupportsGet` 从Http请求的查询字符串中获取Id的值. -* 在 `OnGetAsync` 方法中,将 `BookAppService.GetAsync` 方法返回的 `BookDto` 映射成 `CreateUpdateBookDto` 并赋值给Book属性. -* `OnPostAsync` 方法直接使用 `BookAppService.UpdateAsync` 来更新实体. +````html +@page +@using Acme.BookStore.Web.Pages.Books +@model IndexModel -#### BookDto到CreateUpdateBookDto对象映射 +

Books

+```` -为了执行`BookDto`到`CreateUpdateBookDto`对象映射,请打开`Acme.BookStore.Web`项目中的`BookStoreWebAutoMapperProfile.cs`并更改它,如下所示: +`Index.cshtml.cs` 内容应该是: -````csharp -using AutoMapper; +```csharp +using Microsoft.AspNetCore.Mvc.RazorPages; -namespace Acme.BookStore.Web +namespace Acme.BookStore.Web.Pages.Books { - public class BookStoreWebAutoMapperProfile : Profile + public class IndexModel : PageModel { - public BookStoreWebAutoMapperProfile() + public void OnGet() { - CreateMap(); + } } } -```` - -* 刚刚添加了`CreateMap();`作为映射定义. +``` -#### EditModal.cshtml +### 将Book页面添加到主菜单 -将 `EditModal.cshtml` 页面内容替换成如下代码: +打开 `Menus` 文件夹中的 `BookStoreMenuContributor` 类,在 `ConfigureMainMenuAsync` 方法的底部添加如下代码: -````html -@page -@using Acme.BookStore.Web.Pages.Books -@using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Modal -@model EditModalModel -@{ - Layout = null; -} - - - - - - - - - - +````csharp +context.Menu.AddItem( + new ApplicationMenuItem( + "BooksStore", + l["Menu:BookStore"], + icon: "fa fa-book" + ).AddItem( + new ApplicationMenuItem( + "BooksStore.Books", + l["Menu:Books"], + url: "/Books" + ) + ) +); ```` -这个页面内容和 `CreateModal.cshtml` 非常相似,除了以下几点: +运行项目,使用用户名 `admin` 和密码 `1q2w3E*` 登录到应用程序. 看到新菜单项已添加到顶部栏: -* 它包含`id`属性的`abp-input`, 用于存储编辑书的 `id` (它是隐藏的Input) -* 此页面指定的post地址是`Books/EditModal`, 并用文本 *Update* 作为 modal 标题. +![bookstore-menu-items](./images/bookstore-new-menu-item.png) -#### 为表格添加 "操作(Actions)" 下拉菜单 - -我们将为表格每行添加下拉按钮 ("Actions") . 最终效果如下: - -![bookstore-book-table-actions](images/bookstore-book-table-actions.png) - -打开 `Pages/Books/Index.cshtml` 页面,并按下方所示修改表格部分的代码: - -````html - - - - @L["Actions"] - @L["Name"] - @L["Type"] - @L["PublishDate"] - @L["Price"] - @L["CreationTime"] - - - -```` +点击BookStore下的Books子菜单项就会跳转到空的图书页面. -* 只是为"Actions"增加了一个 `th` 标签. +### 图书列表 -打开 `Pages/book/index.js` 并用以下内容进行替换: +We will use the [Datatables.net](https://datatables.net/) jQuery library to show the book list. Datatables library completely work via AJAX, it is fast, popular and provides a good user experience. -````js -$(function () { +我们将使用[Datatables.net](https://datatables.net/)JQuery插件来显示页面上的表格列表. [Datatables](https://datatables.net/)可以完全通过AJAX工作,速度快,并提供良好的用户体验. - var l = abp.localization.getResource('BookStore'); +> Datatables插件在启动模板中配置,因此你可以直接在任何页面中使用它,无需在页面中引用样式和脚本文件. - var createModal = new abp.ModalManager(abp.appPath + 'Books/CreateModal'); - var editModal = new abp.ModalManager(abp.appPath + 'Books/EditModal'); - - var dataTable = $('#BooksTable').DataTable(abp.libs.datatables.normalizeConfiguration({ - processing: true, - serverSide: true, - paging: true, - searching: false, - autoWidth: false, - scrollCollapse: true, - order: [[1, "asc"]], - ajax: abp.libs.datatables.createAjax(acme.bookStore.book.getList), - columnDefs: [ - { - rowAction: { - items: - [ - { - text: l('Edit'), - action: function (data) { - editModal.open({ id: data.record.id }); - } - } - ] - } - }, - { data: "name" }, - { data: "type" }, - { data: "publishDate" }, - { data: "price" }, - { data: "creationTime" } - ] - })); - - createModal.onResult(function () { - dataTable.ajax.reload(); - }); +#### Index.cshtml - editModal.onResult(function () { - dataTable.ajax.reload(); - }); +将 `Pages/Book/Index.cshtml` 改成下面的样子: - $('#NewBookButton').click(function (e) { - e.preventDefault(); - createModal.open(); - }); -}); +````html +@page +@using Acme.BookStore.Localization +@using Acme.BookStore.Web.Pages.Books +@using Microsoft.Extensions.Localization +@model IndexModel +@inject IStringLocalizer L +@section scripts +{ + +} + + +

@L["Books"]

+
+ + + +
```` -* 通过 `abp.localization.getResource('BookStore')` 可以在客户端使用服务器端定义的相同的本地化语言文本. -* 添加了一个名为 `createModal` 的新的 `ModalManager` 来打开创建用的 modal 对话框. -* 添加了一个名为 `editModal` 的新的 `ModalManager` 来打开编辑用的 modal 对话框. -* 在 `columnDefs` 起始处新增一列用于显示 "Actions" 下拉按钮. -* "New Book"动作只需调用`createModal.open`来打开创建对话框. -* "Edit" 操作只是简单调用 `editModal.open` 来打开编辑对话框. +* `abp-script` [tag helper](https://docs.microsoft.com/en-us/aspnet/core/mvc/views/tag-helpers/intro)用于将外部的 **脚本** 添加到页面中.它比标准的`script`标签多了很多额外的功能.它可以处理 **最小化**和 **版本**.查看[捆绑 & 压缩文档](../UI/AspNetCore/Bundling-Minification.md)获取更多信息. +* `abp-card` 和 `abp-table` 是为Twitter Bootstrap的[card component](http://getbootstrap.com/docs/4.5/components/card/)封装的 **tag helpers**.ABP中有很多tag helpers,可以很方便的使用大多数[bootstrap](https://getbootstrap.com/)组件.你也可以使用原生的HTML标签代替tag helpers.使用tag helper可以通过智能提示和编译时类型检查减少HTML代码并防止错误.查看[tag helpers 文档](../UI/AspNetCore/Tag-Helpers/Index.md). -现在,你可以运行程序,通过编辑操作来更新任一个book实体. +#### Index.js -### 删除一个已有的Book实体 +在 `Pages/Books/` 文件夹中创建 `index.js`文件 -打开 `Pages/book/index.js` 文件,在 `rowAction` `items` 下新增一项: +![bookstore-index-js-file](./images/bookstore-index-js-file-v3.png) -````js -{ - text: l('Delete'), - confirmMessage: function (data) { - return l('BookDeletionConfirmationMessage', data.record.name); - }, - action: function (data) { - acme.bookStore.book - .delete(data.record.id) - .then(function() { - abp.notify.info(l('SuccessfullyDeleted')); - dataTable.ajax.reload(); - }); - } -} -```` - -* `confirmMessage` 用来在实际执行 `action` 之前向用户进行确认. -* 通过javascript代理方法 `acme.bookStore.book.delete` 执行一个AJAX请求来删除一个book实体. -* `abp.notify.info` 用来在执行删除操作后显示一个toastr通知信息. - -最终的 `index.js` 文件内容如下所示: +`index.js` 的内容如下: ````js $(function () { - var l = abp.localization.getResource('BookStore'); - var createModal = new abp.ModalManager(abp.appPath + 'Books/CreateModal'); - var editModal = new abp.ModalManager(abp.appPath + 'Books/EditModal'); - - var dataTable = $('#BooksTable').DataTable(abp.libs.datatables.normalizeConfiguration({ - processing: true, - serverSide: true, - paging: true, - searching: false, - autoWidth: false, - scrollCollapse: true, - order: [[1, "asc"]], - ajax: abp.libs.datatables.createAjax(acme.bookStore.book.getList), - columnDefs: [ - { - rowAction: { - items: - [ - { - text: l('Edit'), - action: function (data) { - editModal.open({ id: data.record.id }); - } - }, - { - text: l('Delete'), - confirmMessage: function (data) { - return l('BookDeletionConfirmationMessage', data.record.name); - }, - action: function (data) { - acme.bookStore.book - .delete(data.record.id) - .then(function() { - abp.notify.info(l('SuccessfullyDeleted')); - dataTable.ajax.reload(); - }); - } - } - ] + var dataTable = $('#BooksTable').DataTable( + abp.libs.datatables.normalizeConfiguration({ + serverSide: true, + paging: true, + order: [[1, "asc"]], + searching: false, + scrollX: true, + ajax: abp.libs.datatables.createAjax(acme.bookStore.books.book.getList), + columnDefs: [ + { + title: l('Name'), + data: "name" + }, + { + title: l('Type'), + data: "type", + render: function (data) { + return l('Enum:BookType:' + data); + } + }, + { + title: l('PublishDate'), + data: "publishDate", + render: function (data) { + return luxon + .DateTime + .fromISO(data, { + locale: abp.localization.currentCulture.name + }).toLocaleString(); + } + }, + { + title: l('Price'), + data: "price" + }, + { + title: l('CreationTime'), data: "creationTime", + render: function (data) { + return luxon + .DateTime + .fromISO(data, { + locale: abp.localization.currentCulture.name + }).toLocaleString(luxon.DateTime.DATETIME_SHORT); + } } - }, - { data: "name" }, - { data: "type" }, - { data: "publishDate" }, - { data: "price" }, - { data: "creationTime" } - ] - })); - - createModal.onResult(function () { - dataTable.ajax.reload(); - }); - - editModal.onResult(function () { - dataTable.ajax.reload(); - }); - - $('#NewBookButton').click(function (e) { - e.preventDefault(); - createModal.open(); - }); + ] + }) + ); }); ```` -打开`Acme.BookStore.Domain.Shared`项目中的`en.json`并添加以下行: - -````json -"BookDeletionConfirmationMessage": "Are you sure to delete the book {0}?", -"SuccessfullyDeleted": "Successfully deleted" -```` - -运行程序并尝试删除一个book实体. - -{{end}} - -{{if UI == "NG"}} - -### 新增 Book 实体 - -下面的章节中,你将学习到如何创建一个新的模态对话框来新增Book实体. - -#### 添加 modal 到 BookListComponent - - -Open `book-list.component.ts` file in `app\book\book-list` folder and replace the content as below: - -```js -import { ListService, PagedResultDto } from '@abp/ng.core'; -import { Component, OnInit } from '@angular/core'; -import { BookDto, BookType } from '../models'; -import { BookService } from '../services'; - -@Component({ - selector: 'app-book-list', - templateUrl: './book-list.component.html', - styleUrls: ['./book-list.component.scss'], - providers: [ListService], -}) -export class BookListComponent implements OnInit { - book = { items: [], totalCount: 0 } as PagedResultDto; - - booksType = BookType; - - isModalOpen = false; // <== added this line ==> - - constructor(public readonly list: ListService, private bookService: BookService) {} - - ngOnInit() { - const bookStreamCreator = (query) => this.bookService.getListByInput(query); - - this.list.hookToQuery(bookStreamCreator).subscribe((response) => { - this.book = response; - }); - } - - // added createBook method - createBook() { - this.isModalOpen = true; - } -} -``` - -* 我们定义了一个名为 `isModalOpen` 的变量和 `createBook` 方法. +* `abp.localization.getResource` 获取一个函数,该函数用于使用服务器端定义的相同JSON文件对文本进行本地化. 通过这种方式你可以与客户端共享本地化值. +* `abp.libs.datatables.normalizeConfiguration`是另一个辅助方法.不是必须的, 但是它通过为缺少的选项提供常规值来简化数据表配置. +* `abp.libs.datatables.createAjax`是帮助ABP的动态JavaScript API代理跟[Datatable](https://datatables.net/)的格式相适应的辅助方法. +* `acme.bookStore.books.book.getList` 是动态JavaScript代理函数(上面已经介绍过了) +* [luxon](https://moment.github.io/luxon/) 库也是该解决方案中预先配置的标准库,你可以轻松地执行日期/时间操作. -打开 `app\book\book-list` 文件夹内的 `book-list.component.html` 文件,使用以下内容替换它: +> 查看 [Datatable文档](https://datatables.net/manual/) 了解更多配置项. -```html -
-
-
-
-
{%{{{ '::Menu:Books' | abpLocalization }}}%}
-
- -
-
- -
-
-
-
-
- - - - - {%{{{ booksType[row.type] }}}%} - - - - - {%{{{ row.publishDate | date }}}%} - - - - - {%{{{ row.price | currency }}}%} - - - -
-
- - - - -

{%{{{ '::NewBook' | abpLocalization }}}%}

-
- - - - - - -
-``` +## 运行最终应用程序 -* 我们添加了 `abp-modal` 渲染模态框,允许用户创建新书. -* `abp-modal` 是显示模态框的预构建组件. 你也可以使用其它方法显示模态框,但 `abp-modal` 提供了一些附加的好处. -* 我们添加了 `New book` 按钮到 `AbpContentToolbar`. - -你可以打开浏览器,点击**New book**按钮看到模态框. - -![Empty modal for new book](./images/bookstore-empty-new-book-modal.png) - -#### 添加响应式表单 - -[响应式表单](https://angular.io/guide/reactive-forms) 提供一种模型驱动的方法来处理其值随时间变化的表单输入. - -打开 `app\book\book-list` 文件夹下的 `book-list.component.ts` 文件,使用以下内容替换它: - -```js -import { ListService, PagedResultDto } from '@abp/ng.core'; -import { Component, OnInit } from '@angular/core'; -import { BookDto, BookType } from '../models'; -import { BookService } from '../services'; -import { FormGroup, FormBuilder, Validators } from '@angular/forms'; // <== added this line ==> - -@Component({ - selector: 'app-book-list', - templateUrl: './book-list.component.html', - styleUrls: ['./book-list.component.scss'], - providers: [ListService], -}) -export class BookListComponent implements OnInit { - book = { items: [], totalCount: 0 } as PagedResultDto; +你可以运行应用程序!该部分的最终用户界面如下所示: - booksType = BookType; +![Book list](images/bookstore-book-list-3.png) - isModalOpen = false; +这是一个完全正常工作的服务端分页,排序和本地化的图书列表. - form: FormGroup; // <== added this line ==> +{{end}} - constructor( - public readonly list: ListService, - private bookService: BookService, - private fb: FormBuilder // <== injected FormBuilder ==> - ) {} +{{if UI == "NG"}} - ngOnInit() { - const bookStreamCreator = (query) => this.bookService.getListByInput(query); +## 安装NPM包 - this.list.hookToQuery(bookStreamCreator).subscribe((response) => { - this.book = response; - }); - } +>注意: 本教程基于ABP Framework v3.0.3+. 如果你的项目版本较旧,请升级您的解决方案. 如果要升级现有的v2.x项目,请参阅[迁移指南](../UI/Angular/Migration-Guide-v3.md). - createBook() { - this.buildForm(); // <== added this line ==> - this.isModalOpen = true; - } +在 `angular` 目录下打开命令行窗口,选择 `yarn` 命令安装NPM包: - // added buildForm method - buildForm() { - this.form = this.fb.group({ - name: ['', Validators.required], - type: [null, Validators.required], - publishDate: [null, Validators.required], - price: [null, Validators.required], - }); - } -} +```bash +yarn ``` -* 我们导入了 `FormGroup, FormBuilder and Validators`. -* 我们添加了 `form: FormGroup` 变量. -* 我们注入了 `fb: FormBuilder` 服务到构造函数. [FormBuilder](https://angular.io/api/forms/FormBuilder) 服务为生成控件提供了方便的方法. 它减少了构建复杂表单所需的样板文件的数量. -* 我们添加了 `buildForm` 方法到文件末尾, 在 `createBook` 方法调用 `buildForm()` 方法. 该方法创建一个响应式表单去创建新书. - * `FormBuilder` 内的 `fb.group` 方法创建一个 `FormGroup`. - * 添加了 `Validators.required` 静态方法用于验证表单元素. +## 创建图书页面 -#### 创建表单的DOM元素 +是时候创建可见和可用的东西了!开发ABP Angular前端应用程序时,需要使用一些工具: -打开 `app\book\book-list` 文件夹下的 `book-list.component.html` 文件,使用以下内容替换 ` `: +- [Ng Bootstrap](https://ng-bootstrap.github.io/#/home) 用做UI组件库. +- [ngx-datatable](https://swimlane.gitbook.io/ngx-datatable/) 用做 datatable 类库. -```html - -
-
- * - -
+### BookModule -
- * - -
- -
- * - -
+运行以下命令创建一个名为 `BookModule` 的新模块: -
- * - -
-
-
+```bash +yarn ng generate module book --module app --routing --route books ``` -- 模板创建了带有 `Name`, `Price`, `Type` 和 `Publish` 时间字段的表单. -- 我们在组件中使用了 [NgBootstrap datepicker](https://ng-bootstrap.github.io/#/components/datepicker/overview). +该命令应该产生以下的输出: + +````bash +> yarn ng generate module book --module app --routing --route books + +yarn run v1.19.1 +$ ng generate module book --module app --routing --route books +CREATE src/app/book/book-routing.module.ts (336 bytes) +CREATE src/app/book/book.module.ts (335 bytes) +CREATE src/app/book/book.component.html (19 bytes) +CREATE src/app/book/book.component.spec.ts (614 bytes) +CREATE src/app/book/book.component.ts (268 bytes) +CREATE src/app/book/book.component.scss (0 bytes) +UPDATE src/app/app-routing.module.ts (1289 bytes) +Done in 3.88s. +```` -#### Datepicker 要求 +### BookModule -打开 `app\book` 文件夹下的 `book.module.ts` 文件,使用以下内容替换它: +打开 `/src/app/book/book.module.ts` 并使用以下内容替换: -```js +````js import { NgModule } from '@angular/core'; -import { CommonModule } from '@angular/common'; - -import { BooksRoutingModule } from './book-routing.module'; -import { BooksComponent } from './book.component'; -import { BookListComponent } from './book-list/book-list.component'; import { SharedModule } from '../shared/shared.module'; -import { NgbDatepickerModule } from '@ng-bootstrap/ng-bootstrap'; //<== added this line ==> +import { BookRoutingModule } from './book-routing.module'; +import { BookComponent } from './book.component'; @NgModule({ - declarations: [BooksComponent, BookListComponent], + declarations: [BookComponent], imports: [ - CommonModule, - BooksRoutingModule, - SharedModule, - NgbDatepickerModule //<== added this line ==> + BookRoutingModule, + SharedModule ] }) -export class BooksModule { } -``` - -* 我们导入了 `NgbDatepickerModule` 来使用日期选择器. - -打开 `app\book\book-list` 文件夹下的 `book-list.component.ts` 文件,使用以下内容替换它: - -```js -import { ListService, PagedResultDto } from '@abp/ng.core'; -import { Component, OnInit } from '@angular/core'; -import { BookDto, BookType } from '../models'; -import { BookService } from '../services'; -import { FormGroup, FormBuilder, Validators } from '@angular/forms'; -import { NgbDateNativeAdapter, NgbDateAdapter } from '@ng-bootstrap/ng-bootstrap'; // <== added this line ==> - -@Component({ - selector: 'app-book-list', - templateUrl: './book-list.component.html', - styleUrls: ['./book-list.component.scss'], - providers: [ListService, { provide: NgbDateAdapter, useClass: NgbDateNativeAdapter }], // <== added a provide ==> -}) -export class BookListComponent implements OnInit { - book = { items: [], totalCount: 0 } as PagedResultDto; +export class BookModule { } - booksType = BookType; - - // <== added bookTypes array ==> - bookTypes = Object.keys(BookType).filter( - (bookType) => typeof this.booksType[bookType] === 'number' - ); +```` - isModalOpen = false; +* 添加了 `SharedModule`. `SharedModule` 导出了一些创建用户界面所需的通用模块. +* `SharedModule` 已经导出了 `CommonModule`,所以我们删除了 `CommonModule`. - form: FormGroup; +### 路由 - constructor( - public readonly list: ListService, - private bookService: BookService, - private fb: FormBuilder - ) {} +生成的代码将新的路由定义放在 `src/app/app-routing.module.ts` 文件中,如下所示: - ngOnInit() { - const bookStreamCreator = (query) => this.bookService.getListByInput(query); - - this.list.hookToQuery(bookStreamCreator).subscribe((response) => { - this.book = response; - }); - } +````js +const routes: Routes = [ + // other route definitions... + { path: 'books', loadChildren: () => import('./book/book.module').then(m => m.BookModule) }, +]; +```` - createBook() { - this.buildForm(); - this.isModalOpen = true; - } +现在打开 `src/app/route.provider.ts` 以下替换 `configureRoutes` 函数: - buildForm() { - this.form = this.fb.group({ - name: ['', Validators.required], - type: [null, Validators.required], - publishDate: [null, Validators.required], - price: [null, Validators.required], - }); - } +```js +function configureRoutes(routes: RoutesService) { + return () => { + routes.add([ + { + path: '/', + name: '::Menu:Home', + iconClass: 'fas fa-home', + order: 1, + layout: eLayoutType.application, + }, + { + path: '/book-store', + name: '::Menu:BookStore', + iconClass: 'fas fa-book', + order: 2, + layout: eLayoutType.application, + }, + { + path: '/books', + name: '::Menu:Books', + parentName: '::Menu:BookStore', + layout: eLayoutType.application, + }, + ]); + }; } ``` -* 我们导入了 ` NgbDateNativeAdapter, NgbDateAdapter` - -* 我们添加了一个新的 `NgbDateAdapter` 提供程序,它将Datepicker值转换为Date类型. 有关更多详细信息,请参见[datepicker adapters](https://ng-bootstrap.github.io/#/components/datepicker/overview). - -* 我们添加了 `bookTypes` 数组,以便能够在combobox值中使用它. `bookTypes` 包含 `BookType` 枚举的字段. 得到的数组如下所示: - - ```js - ['Adventure', 'Biography', 'Dystopia', 'Fantastic' ...] - ``` - - 在先前的表单模板中 用 `ngFor` 使用这个数组. - -现在你可以打开浏览器看到以下变化: - -![New book modal](./images/bookstore-new-book-form.png) - -#### 保存图书 - -打开 `app\book\book-list` 文件夹下的 `book-list.component.ts` 文件,使用以下内容替换它: - -```js -import { ListService, PagedResultDto } from '@abp/ng.core'; -import { Component, OnInit } from '@angular/core'; -import { BookDto, BookType } from '../models'; -import { BookService } from '../services'; -import { FormGroup, FormBuilder, Validators } from '@angular/forms'; -import { NgbDateNativeAdapter, NgbDateAdapter } from '@ng-bootstrap/ng-bootstrap'; - -@Component({ - selector: 'app-book-list', - templateUrl: './book-list.component.html', - styleUrls: ['./book-list.component.scss'], - providers: [ListService, { provide: NgbDateAdapter, useClass: NgbDateNativeAdapter }], -}) -export class BookListComponent implements OnInit { - book = { items: [], totalCount: 0 } as PagedResultDto; - - booksType = BookType; - - bookTypes = Object.keys(BookType).filter( - (bookType) => typeof this.booksType[bookType] === 'number' - ); - - isModalOpen = false; - - form: FormGroup; - - constructor( - public readonly list: ListService, - private bookService: BookService, - private fb: FormBuilder - ) {} - - ngOnInit() { - const bookStreamCreator = (query) => this.bookService.getListByInput(query); - - this.list.hookToQuery(bookStreamCreator).subscribe((response) => { - this.book = response; - }); - } - - createBook() { - this.buildForm(); - this.isModalOpen = true; - } +`RoutesService` 是ABP框架提供的用于配置主菜单和路由的服务. - buildForm() { - this.form = this.fb.group({ - name: ['', Validators.required], - type: [null, Validators.required], - publishDate: [null, Validators.required], - price: [null, Validators.required], - }); - } - - // <== added save ==> - save() { - if (this.form.invalid) { - return; - } - - this.bookService.createByInput(this.form.value).subscribe(() => { - this.isModalOpen = false; - this.form.reset(); - this.list.get(); - }); - } -} -``` +* `path` 路由的URL. +* `name` 菜单项的名称(参阅[本地化文档](../UI/Angular/Localization.md)了解更多). +* `iconClass` 菜单项的图标(你可以使用默认的[Font Awesome](https://fontawesome.com/)图标). +* `order` 菜单项的排序.我们定义了101,它显示在 "Administration" 项的后面. +* `layout` BooksModule路由的布局. 可以定义 `eLayoutType.application`, `eLayoutType.account` 或 `eLayoutType.empty`. -* 我们添加了 `save` 方法. +更多信息请参阅[RoutesService 文档](https://docs.abp.io/en/abp/latest/UI/Angular/Modifying-the-Menu.md#via-routesservice). -打开 `app\book\book-list` 文件夹下的 `book-list.component.html` 文件, 找到 `` 元素,使用下面元素替换它: +### 生成代理 -```html - - - - - - -``` +ABP CLI提供了 `generate-proxy` 命令为你的服务HTTP API生成客户端代理简化客户端使用服务的成本. 运行 `generate-proxy` 命令前你的host必须正在运行. 参阅 [CLI 文档](../CLI.md). -使用以下内容替换 `
` 标签: +在 `angular` 文件夹下运行以下命令: -```html - +```bash +abp generate-proxy ``` -* 我们添加了 `(ngSubmit)="save()"` 到 `` 元素,当按下enter时保存图书. -* 我们在模态框的底部添加了 `abp-button` 来保存图书. +生成的文件如下: -模态框最终看起来像这样: +![Generated files](./images/generated-proxies-2.png) -![Save button to the modal](./images/bookstore-new-book-form-v2.png) +### BookComponent -### 更新图书 - -打开 `app\book\book-list` 文件夹下的 `book-list.component.ts` 文件并且添加名为 `selectedBook` 的变量. +打开 `/src/app/book/book.component.ts` 用以下内容替换它: ```js import { ListService, PagedResultDto } from '@abp/ng.core'; import { Component, OnInit } from '@angular/core'; -import { BookDto, BookType } from '../models'; -import { BookService } from '../services'; -import { FormGroup, FormBuilder, Validators } from '@angular/forms'; -import { NgbDateNativeAdapter, NgbDateAdapter } from '@ng-bootstrap/ng-bootstrap'; +import { BookDto } from './models'; +import { BookService } from './services'; @Component({ - selector: 'app-book-list', - templateUrl: './book-list.component.html', - styleUrls: ['./book-list.component.scss'], - providers: [ListService, { provide: NgbDateAdapter, useClass: NgbDateNativeAdapter }], + selector: 'app-book', + templateUrl: './book.component.html', + styleUrls: ['./book.component.scss'], + providers: [ListService], }) -export class BookListComponent implements OnInit { +export class BookComponent implements OnInit { book = { items: [], totalCount: 0 } as PagedResultDto; - booksType = BookType; - - bookTypes = Object.keys(BookType).filter( - (bookType) => typeof this.booksType[bookType] === 'number' - ); - - isModalOpen = false; - - form: FormGroup; - - selectedBook = {} as BookDto; // <== declared selectedBook ==> - - constructor( - public readonly list: ListService, - private bookService: BookService, - private fb: FormBuilder - ) {} + constructor(public readonly list: ListService, private bookService: BookService) {} ngOnInit() { const bookStreamCreator = (query) => this.bookService.getListByInput(query); @@ -927,196 +500,55 @@ export class BookListComponent implements OnInit { this.book = response; }); } - - // <== this method is replaced ==> - createBook() { - this.selectedBook = {} as BookDto; // <== added ==> - this.buildForm(); - this.isModalOpen = true; - } - - // <== added editBook method ==> - editBook(id: string) { - this.bookService.getById(id).subscribe((book) => { - this.selectedBook = book; - this.buildForm(); - this.isModalOpen = true; - }); - } - - // <== this method is replaced ==> - buildForm() { - this.form = this.fb.group({ - name: [this.selectedBook.name || '', Validators.required], - type: [this.selectedBook.type || null, Validators.required], - publishDate: [ - this.selectedBook.publishDate ? new Date(this.selectedBook.publishDate) : null, - Validators.required, - ], - price: [this.selectedBook.price || null, Validators.required], - }); - } - - // <== this method is replaced ==> - save() { - if (this.form.invalid) { - return; - } - - // <== added request ==> - const request = this.selectedBook.id - ? this.bookService.updateByIdAndInput(this.form.value, this.selectedBook.id) - : this.bookService.createByInput(this.form.value); - - request.subscribe(() => { - this.isModalOpen = false; - this.form.reset(); - this.list.get(); - }); - } -} -``` - -* 我们声明了类型为 `BookDto` 的 `selectedBook` 变量. -* 我们添加了 `editBook` 方法, 根据给定图书 `Id` 设置 `selectedBook` 对象. -* 我们替换了 `buildForm` 方法使用 `selectedBook` 数据创建表单. -* 我们替换了 `createBook` 方法,设置 `selectedBook` 为空对象. -* 我们替换了 `save` 方法. - -#### 添加 "Actions" 下拉框到表格 - -打开 `app\book\book-list` 文件夹下的 `book-list.component.html` 文件,使用以下内容替换 `
` 标签: - -```html -
- - - - -
- -
- -
-
-
-
- - - - {%{{{ booksType[row.type] }}}%} - - - - - {%{{{ row.publishDate | date }}}%} - - - - - {%{{{ row.price | currency }}}%} - - -
-
-``` - -- 我们添加了 "Actions" 栏的 `th`. -- 我们为 "Actions" 栏添加了 `ngx-datatable-column`. -- 我们添加了带有 `ngbDropdownToggle` 的 `button`,在点击按钮时打开操作. -- 我们习惯于将[NgbDropdown](https://ng-bootstrap.github.io/#/components/dropdown/examples)用于操作的下拉菜单. - -UI最终看起来像这样: - -![Action buttons](./images/bookstore-actions-buttons.png) - -打开 `app\book\book-list` 文件夹下的 `book-list.component.html` 文件,使用以下内容替换 `` 标签: - -```html - -

{%{{{ (selectedBook.id ? 'AbpIdentity::Edit' : '::NewBook' ) | abpLocalization }}}%}

-
-``` - -* **Edit** 文本做为编辑记录操作的标题, **New Book** 做为添加记录操作的标题. - -### 删除图书 - -#### 删除确认弹层 - -打开 `app\book\book-list` 文件夹下的 `book-list.component.ts` 文件,注入 `ConfirmationService`. - -替换构造函数: - -```js -import { ConfirmationService } from '@abp/ng.theme.shared'; -//... - -constructor( - public readonly list: ListService, - private bookService: BookService, - private fb: FormBuilder, - private confirmation: ConfirmationService // <== added this line ==> -) {} -``` - -* We imported `ConfirmationService`. -* We injected `ConfirmationService` to the constructor. - -See the [Confirmation Popup documentation](https://docs.abp.io/en/abp/latest/UI/Angular/Confirmation-Service) - -In the `book-list.component.ts` add a delete method: - -```js -import { ConfirmationService, Confirmation } from '@abp/ng.theme.shared'; //<== imported Confirmation namespace ==> - -//... - -delete(id: string) { - this.confirmation.warn('::AreYouSureToDelete', 'AbpAccount::AreYouSure').subscribe((status) => { - if (status === Confirmation.Status.confirm) { - this.bookService.deleteById(id).subscribe(() => this.list.get()); - } - }); } ``` -`delete` 方法会显示一个确认弹层并订阅用户响应. 只在用户点击 `Yes` 按钮时调用 `BookService` 的 `deleteById` 方法. 确认弹层看起来如下: - -![bookstore-confirmation-popup](./images/bookstore-confirmation-popup.png) +* 我们注入了生成的 `BookService`. +* 我们实现了 [ListService](https://docs.abp.io/en/abp/latest/UI/Angular/List-Service),它是一个公用服务,提供了简单的分页,排序和搜索. -#### 添加删除按钮 - -打开 `app\book\book-list` 文件夹下的 `app\book\book-list` 文件,修改 `ngbDropdownMenu` 添加删除按钮: +打开 `/src/app/book/book.component.html` 用以下内容替换它: ```html -
- - +
+
+
+
+
+ {%{{{ '::Menu:Books' | abpLocalization }}}%} +
+
+
+
+
+
+ + + + + {%{{{ '::Enum:BookType:' + row.type | abpLocalization }}}%} + + + + + {%{{{ row.publishDate | date }}}%} + + + + + {%{{{ row.price | currency }}}%} + + + +
``` -最终操作下拉框UI看起来如下: +现在你可以在浏览器看到最终结果: -![bookstore-final-actions-dropdown](./images/bookstore-final-actions-dropdown.png) +![Book list final result](./images/bookstore-book-list.png) {{end}} -### 下一章 +## 下一章 -查看本教程的 [下一章](Part-3.md) . +查看本教程的[下一章](Part-3.md) . diff --git a/docs/zh-Hans/docs-nav.json b/docs/zh-Hans/docs-nav.json index a3ffaaea38..26a526dd10 100644 --- a/docs/zh-Hans/docs-nav.json +++ b/docs/zh-Hans/docs-nav.json @@ -80,6 +80,15 @@ "text": "CLI", "path": "CLI.md" }, + { + "text": "认证", + "items": [ + { + "text": "社交/外部登录", + "path": "Authentication/Social-External-Logins.md" + } + ] + }, { "text": "基础知识", "items": [ From 0d017b17219d82b53d403c2cebea344bb280a8b4 Mon Sep 17 00:00:00 2001 From: liangshiwei Date: Sun, 2 Aug 2020 21:26:37 +0800 Subject: [PATCH 41/43] Update the tutorials Chinese document --- docs/zh-Hans/Tutorials/Part-10.md | 1 + docs/zh-Hans/Tutorials/Part-2.md | 2 +- docs/zh-Hans/Tutorials/Part-3.md | 1233 ++++++++++++++++++++++++++--- docs/zh-Hans/Tutorials/Part-4.md | 255 ++++++ docs/zh-Hans/Tutorials/Part-5.md | 1 + docs/zh-Hans/Tutorials/Part-6.md | 1 + docs/zh-Hans/Tutorials/Part-7.md | 1 + docs/zh-Hans/Tutorials/Part-8.md | 1 + docs/zh-Hans/Tutorials/Part-9.md | 1 + 9 files changed, 1373 insertions(+), 123 deletions(-) create mode 100644 docs/zh-Hans/Tutorials/Part-10.md create mode 100644 docs/zh-Hans/Tutorials/Part-4.md create mode 100644 docs/zh-Hans/Tutorials/Part-5.md create mode 100644 docs/zh-Hans/Tutorials/Part-6.md create mode 100644 docs/zh-Hans/Tutorials/Part-7.md create mode 100644 docs/zh-Hans/Tutorials/Part-8.md create mode 100644 docs/zh-Hans/Tutorials/Part-9.md diff --git a/docs/zh-Hans/Tutorials/Part-10.md b/docs/zh-Hans/Tutorials/Part-10.md new file mode 100644 index 0000000000..602306c484 --- /dev/null +++ b/docs/zh-Hans/Tutorials/Part-10.md @@ -0,0 +1 @@ +TODO.. \ No newline at end of file diff --git a/docs/zh-Hans/Tutorials/Part-2.md b/docs/zh-Hans/Tutorials/Part-2.md index e591058037..decddfebff 100644 --- a/docs/zh-Hans/Tutorials/Part-2.md +++ b/docs/zh-Hans/Tutorials/Part-2.md @@ -551,4 +551,4 @@ export class BookComponent implements OnInit { ## 下一章 -查看本教程的[下一章](Part-3.md) . +查看本教程的[下一章](Part-3.md). diff --git a/docs/zh-Hans/Tutorials/Part-3.md b/docs/zh-Hans/Tutorials/Part-3.md index c9eb3bac78..7ad96a0465 100644 --- a/docs/zh-Hans/Tutorials/Part-3.md +++ b/docs/zh-Hans/Tutorials/Part-3.md @@ -1,198 +1,1187 @@ -## ASP.NET Core {{UI_Value}} 教程 - 第三章 +# Web应用程序开发教程 - 第三章: 创建,更新和删除图书 ````json //[doc-params] { - "UI": ["MVC","NG"] + "UI": ["MVC","NG"], + "DB": ["EF","Mongo"] } ```` - {{ if UI == "MVC" - DB="ef" - DB_Text="Entity Framework Core" UI_Text="mvc" else if UI == "NG" - DB="mongodb" - DB_Text="MongoDB" UI_Text="angular" -else - DB ="?" +else UI_Text="?" end +if DB == "EF" + DB_Text="Entity Framework Core" +else if DB == "Mongo" + DB_Text="MongoDB" +else + DB_Text="?" +end }} -### 关于本教程 +## 关于本教程 -这是ASP.NET Core{{UI_Value}}系列教程的第三章. 共有三章: +在本系列教程中, 你将构建一个名为 `Acme.BookStore` 的用于管理书籍及其作者列表的基于ABP的应用程序. 它是使用以下技术开发的: -- [Part-1: 创建项目和书籍列表页面](Part-1.md) -- [Part 2: 创建,编辑,删除书籍](Part-2.md) -- **Part-3: 集成测试(本章)** +* **{{DB_Text}}** 做为ORM提供程序. +* **{{UI_Value}}** 做为UI框架. -> 你也可以观看由ABP社区成员为本教程录制的[视频课程](https://amazingsolutions.teachable.com/p/lets-build-the-bookstore-application). +本教程分为以下部分: -### 解决方案中的测试项目 +- [Part 1: 创建服务端](Part-1.md) +- [Part 2: 图书列表页面](Part-2.md) +- **Part 3: 创建,更新和删除图书**(本章) +- [Part 4: 集成测试](Part-4.md) +- [Part 5: 授权](Part-5.md) +- [Part 6: 作者: 领域层](Part-6.md) +- [Part 7: 作者: 数据库集成](Part-7.md) +- [Part 8: 作者: 应用服务层](Part-8.md) +- [Part 9: 作者: 用户页面](Part-9.md) +- [Part 10: 图书到作者的关系](Part-10.md) -解决方案中有多个测试项目: +## 下载源码 -![bookstore-test-projects-v2](./images/bookstore-test-projects-{{UI_Text}}.png) +本教程根据你的**UI** 和 **Database**偏好有多个版,我们准备了两种可供下载的源码组合: -每个项目用于测试相关的应用程序项目.测试项目使用以下库进行测试: +* [MVC (Razor Pages) UI 与 EF Core](https://github.com/abpframework/abp-samples/tree/master/BookStore-Mvc-EfCore) +* [Angular UI 与 MongoDB](https://github.com/abpframework/abp-samples/tree/master/BookStore-Angular-MongoDb) -* [xunit](https://xunit.github.io/) 作为主测试框架. -* [Shoudly](http://shouldly.readthedocs.io/en/latest/) 作为断言库. -* [NSubstitute](http://nsubstitute.github.io/) 作为模拟库. +{{if UI == "MVC"}} -### 添加测试数据 +## 创建新书籍 -启动模板包含`Acme.BookStore.TestBase`项目中的`BookStoreTestDataSeedContributor`类,它创建一些数据来运行测试. -更改`BookStoreTestDataSeedContributor`类如下所示: +通过本节, 你将会了解如何创建一个 modal form 来实现新增书籍的功能. 最终成果如下图所示: -````csharp -using System; +![bookstore-create-dialog](./images/bookstore-create-dialog-2.png) + +### 创建 modal form + +在 `Acme.BookStore.Web` 项目的 `Pages/Books` 目录下新建一个 `CreateModal.cshtml` Razor页面: + +![bookstore-add-create-dialog](./images/bookstore-add-create-dialog-v2.png) + +#### CreateModal.cshtml.cs + +打开 `CreateModal.cshtml.cs` 代码文件,用如下代码替换 `CreateModalModel` 类的实现: + +````C# using System.Threading.Tasks; -using Volo.Abp.Data; -using Volo.Abp.DependencyInjection; -using Volo.Abp.Domain.Repositories; -using Volo.Abp.Guids; +using Acme.BookStore.Books; +using Microsoft.AspNetCore.Mvc; -namespace Acme.BookStore +namespace Acme.BookStore.Web.Pages.Books { - public class BookStoreTestDataSeedContributor - : IDataSeedContributor, ITransientDependency + public class CreateModalModel : BookStorePageModel { - private readonly IRepository _bookRepository; - private readonly IGuidGenerator _guidGenerator; + [BindProperty] + public CreateUpdateBookDto Book { get; set; } + + private readonly IBookAppService _bookAppService; + + public CreateModalModel(IBookAppService bookAppService) + { + _bookAppService = bookAppService; + } - public BookStoreTestDataSeedContributor( - IRepository bookRepository, - IGuidGenerator guidGenerator) + public void OnGet() { - _bookRepository = bookRepository; - _guidGenerator = guidGenerator; + Book = new CreateUpdateBookDto(); } - public async Task SeedAsync(DataSeedContext context) + public async Task OnPostAsync() { - await _bookRepository.InsertAsync( - new Book(id: _guidGenerator.Create(), - name: "Test book 1", - type: BookType.Fantastic, - publishDate: new DateTime(2015, 05, 24), - price: 21 - ) - ); - - await _bookRepository.InsertAsync( - new Book(id: _guidGenerator.Create(), - name: "Test book 2", - type: BookType.Science, - publishDate: new DateTime(2014, 02, 11), - price: 15 - ) - ); + await _bookAppService.CreateAsync(Book); + return NoContent(); } } } ```` -* 注入`IRepository`并在`SeedAsync`中使用它来创建两个书实体作为测试数据. -* 使用`IGuidGenerator`服务创建GUID. 虽然`Guid.NewGuid()`非常适合测试,但`IGuidGenerator`在使用真实数据库时还有其他特别重要的功能(参见[Guid生成文档](../Guid-Generation.md)了解更多信息). +* 该类派生于 `BookStorePageModel` 而非默认的 `PageModel`. `BookStorePageModel` 继承了 `PageModel` 并且添加了一些可以被你的page model类使用的通用属性和方法. +* `Book` 属性上的 `[BindProperty]` 特性将post请求提交上来的数据绑定到该属性上. +* 该类通过构造函数注入了 `IBookAppService` 应用服务,并且在 `OnPostAsync` 处理程序中调用了服务的 `CreateAsync` 方法. +* 它在 `OnGet` 方法中创建一个新的 `CreateUpdateBookDto` 对象。 ASP.NET Core不需要像这样创建一个新实例就可以正常工作. 但是它不会为你创建实例,并且如果你的类在类构造函数中具有一些默认值分配或代码执行,它们将无法工作. 对于这种情况,我们为某些 `CreateUpdateBookDto` 属性设置了默认值. + +#### CreateModal.cshtml + +打开 `CreateModal.cshtml` 文件并粘贴如下代码: + +````html +@page +@using Acme.BookStore.Localization +@using Acme.BookStore.Web.Pages.Books +@using Microsoft.Extensions.Localization +@using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Modal +@model CreateModalModel +@inject IStringLocalizer L +@{ + Layout = null; +} + + + + + + + + + +```` + +* 这个 modal 使用 `abp-dynamic-form` [tag Helper](../UI/AspNetCore/Tag-Helpers/Dynamic-Forms.md) 根据 `CreateBookViewModel` 类自动构建了表单. +* `abp-model` 指定了 `Book` 属性为模型对象. +* `data-ajaxForm` 设置了表单通过AJAX提交,而不是经典的页面回发. +* `abp-form-content` tag helper 作为表单控件渲染位置的占位符 (这是可选的,只有你在 `abp-dynamic-form` 中像本示例这样添加了其他内容才需要). + +> 提示: 就像在本示例中一样,`Layout` 应该为 `null`,因为当通过AJAX加载模态时,我们不希望包括所有布局. + +### 添加 "New book" 按钮 -### 测试 BookAppService +打开 `Pages/Books/Index.cshtml` 并按如下代码修改 `abp-card-header` : -在 `Acme.BookStore.Application.Tests` 项目中创建一个名叫 `BookAppService_Tests` 的测试类: +````html + + + + @L["Books"] + + + + + + +```` + +`Index.cshtml` 的内容最终如下所示: + +````html +@page +@using Acme.BookStore.Localization +@using Acme.BookStore.Web.Pages.Books +@using Microsoft.Extensions.Localization +@model IndexModel +@inject IStringLocalizer L +@section scripts +{ + +} + + + + + + @L["Books"] + + + + + + + + + + +```` + +如下图所示,只是在表格 **右上方** 添加了 **New book** 按钮: + +![bookstore-new-book-button](./images/bookstore-new-book-button-2.png) + +打开 `Pages/book/index.js` 在 `datatable` 配置代码后面添加如下代码: + +````js +var createModal = new abp.ModalManager(abp.appPath + 'Books/CreateModal'); + +createModal.onResult(function () { + dataTable.ajax.reload(); +}); + +$('#NewBookButton').click(function (e) { + e.preventDefault(); + createModal.open(); +}); +```` + +* `abp.ModalManager` 是一个在客户端打开和管理modal的辅助类.它基于Twitter Bootstrap的标准modal组件通过简化的API抽象隐藏了许多细节. +* `createModal.onResult(...)` 用于在创建书籍后刷新数据表格. +* `createModal.open();` 用于打开模态创建新书籍. + +`Index.js` 的内容最终如下所示: + +````js +$(function () { + var l = abp.localization.getResource('BookStore'); + + var dataTable = $('#BooksTable').DataTable( + abp.libs.datatables.normalizeConfiguration({ + serverSide: true, + paging: true, + order: [[1, "asc"]], + searching: false, + scrollX: true, + ajax: abp.libs.datatables.createAjax(acme.bookStore.books.book.getList), + columnDefs: [ + { + title: l('Name'), + data: "name" + }, + { + title: l('Type'), + data: "type", + render: function (data) { + return l('Enum:BookType:' + data); + } + }, + { + title: l('PublishDate'), + data: "publishDate", + render: function (data) { + return luxon + .DateTime + .fromISO(data, { + locale: abp.localization.currentCulture.name + }).toLocaleString(); + } + }, + { + title: l('Price'), + data: "price" + }, + { + title: l('CreationTime'), data: "creationTime", + render: function (data) { + return luxon + .DateTime + .fromISO(data, { + locale: abp.localization.currentCulture.name + }).toLocaleString(luxon.DateTime.DATETIME_SHORT); + } + } + ] + }) + ); + + var createModal = new abp.ModalManager(abp.appPath + 'Books/CreateModal'); + + createModal.onResult(function () { + dataTable.ajax.reload(); + }); + + $('#NewBookButton').click(function (e) { + e.preventDefault(); + createModal.open(); + }); +}); +```` + +现在,你可以 **运行程序** 通过新的 modal form 来创建书籍了. + +## 更新书籍 + +在 `Acme.BookStore.Web` 项目的 `Pages/Books` 目录下新建一个名叫 `EditModal.cshtml` 的Razor页面: + +![bookstore-add-edit-dialog](./images/bookstore-add-edit-dialog.png) + +### EditModal.cshtml.cs + +打开 `EditModal.cshtml.cs` 文件(`EditModalModel`类) 并替换成以下代码: ````csharp using System; -using System.Linq; using System.Threading.Tasks; -using Xunit; -using Shouldly; -using Volo.Abp.Application.Dtos; -using Volo.Abp.Validation; -using Microsoft.EntityFrameworkCore.Internal; +using Acme.BookStore.Books; +using Microsoft.AspNetCore.Mvc; -namespace Acme.BookStore +namespace Acme.BookStore.Web.Pages.Books { - public class BookAppService_Tests : BookStoreApplicationTestBase + public class EditModalModel : BookStorePageModel { + [HiddenInput] + [BindProperty(SupportsGet = true)] + public Guid Id { get; set; } + + [BindProperty] + public CreateUpdateBookDto Book { get; set; } + private readonly IBookAppService _bookAppService; - public BookAppService_Tests() + public EditModalModel(IBookAppService bookAppService) + { + _bookAppService = bookAppService; + } + + public async Task OnGetAsync() { - _bookAppService = GetRequiredService(); + var bookDto = await _bookAppService.GetAsync(Id); + Book = ObjectMapper.Map(bookDto); } - [Fact] - public async Task Should_Get_List_Of_Books() + public async Task OnPostAsync() { - //Act - var result = await _bookAppService.GetListAsync( - new PagedAndSortedResultRequestDto() - ); - - //Assert - result.TotalCount.ShouldBeGreaterThan(0); - result.Items.ShouldContain(b => b.Name == "Test book 1"); + await _bookAppService.UpdateAsync(Id, Book); + return NoContent(); } } } ```` -* 测试方法 `Should_Get_List_Of_Books` 直接使用 `BookAppService.GetListAsync` 方法来获取用户列表,并执行检查. +* `[HiddenInput]` 和 `[BindProperty]` 是标准的 ASP.NET Core MVC 特性.这里启用 `SupportsGet` 从Http请求的查询字符串中获取Id的值. +* 在 `OnGetAsync` 方法中,将 `BookAppService.GetAsync` 方法返回的 `BookDto` 映射成 `CreateUpdateBookDto` 并赋值给Book属性. +* `OnPostAsync` 方法直接使用 `BookAppService.UpdateAsync` 来更新实体. -新增测试方法,用以测试创建一个合法book实体的场景: +### BookDto 到 CreateUpdateBookDto 对象映射 -````C# -[Fact] -public async Task Should_Create_A_Valid_Book() +为了执行 `BookDto` 到 `CreateUpdateBookDto` 对象映射,请打开 `Acme.BookStore.Web` 项目中的 `BookStoreWebAutoMapperProfile.cs` 并更改它,如下所示: + +````csharp +using AutoMapper; + +namespace Acme.BookStore.Web { - //Act - var result = await _bookAppService.CreateAsync( - new CreateUpdateBookDto + public class BookStoreWebAutoMapperProfile : Profile + { + public BookStoreWebAutoMapperProfile() { - Name = "New test book 42", - Price = 10, - PublishDate = DateTime.Now, - Type = BookType.ScienceFiction + CreateMap(); } - ); + } +} +```` + +* 我们添加了 `CreateMap();` 作为映射定义. + +> 请注意,我们在Web层中进行映射定义是一种最佳实践,因为仅在该层中需要它. - //Assert - result.Id.ShouldNotBe(Guid.Empty); - result.Name.ShouldBe("New test book 42"); +### EditModal.cshtml + +将 `EditModal.cshtml` 页面内容替换成如下代码: + +````html +@page +@using Acme.BookStore.Localization +@using Acme.BookStore.Web.Pages.Books +@using Microsoft.Extensions.Localization +@using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Modal +@model EditModalModel +@inject IStringLocalizer L +@{ + Layout = null; } + + + + + + + + + + ```` -新增测试方法,用以测试创建一个非法book实体失败的场景: +这个页面内容和 `CreateModal.cshtml` 非常相似,除了以下几点: -````csharp -[Fact] -public async Task Should_Not_Create_A_Book_Without_Name() +* 它包含`id`属性的`abp-input`, 用于存储编辑书的 `id` (它是隐藏的Input) +* 此页面指定的post地址是`Books/EditModal`. + +### 为表格添加 "操作(Actions)" 下拉菜单 + +我们将为表格每行添加下拉按钮 ("Actions"): + +打开 `Pages/Books/Index.cshtml` 页面,并按下方所示修改表格部分的代码: + +````js +$(function () { + var l = abp.localization.getResource('BookStore'); + var createModal = new abp.ModalManager(abp.appPath + 'Books/CreateModal'); + var editModal = new abp.ModalManager(abp.appPath + 'Books/EditModal'); + + var dataTable = $('#BooksTable').DataTable( + abp.libs.datatables.normalizeConfiguration({ + serverSide: true, + paging: true, + order: [[1, "asc"]], + searching: false, + scrollX: true, + ajax: abp.libs.datatables.createAjax(acme.bookStore.books.book.getList), + columnDefs: [ + { + title: l('Actions'), + rowAction: { + items: + [ + { + text: l('Edit'), + action: function (data) { + editModal.open({ id: data.record.id }); + } + } + ] + } + }, + { + title: l('Name'), + data: "name" + }, + { + title: l('Type'), + data: "type", + render: function (data) { + return l('Enum:BookType:' + data); + } + }, + { + title: l('PublishDate'), + data: "publishDate", + render: function (data) { + return luxon + .DateTime + .fromISO(data, { + locale: abp.localization.currentCulture.name + }).toLocaleString(); + } + }, + { + title: l('Price'), + data: "price" + }, + { + title: l('CreationTime'), data: "creationTime", + render: function (data) { + return luxon + .DateTime + .fromISO(data, { + locale: abp.localization.currentCulture.name + }).toLocaleString(luxon.DateTime.DATETIME_SHORT); + } + } + ] + }) + ); + + createModal.onResult(function () { + dataTable.ajax.reload(); + }); + + editModal.onResult(function () { + dataTable.ajax.reload(); + }); + + $('#NewBookButton').click(function (e) { + e.preventDefault(); + createModal.open(); + }); +}); +```` + +* 增加了一个新的 `ModalManager` 名为 `editModal` 打开编辑模态框. +* 在 `columnDefs` 部分的开头添加了一个新列,用于"*Actions*"下拉按钮. +* "*Edit*" 动作简单地调用 `editModal.open()` 打开编辑模态框. +* `editModal.onResult(...)` 当你关闭编程模态框时进行回调刷新数据表格. + +你可以运行应用程序,并通过选择一本书的编辑操作编辑任何一本书. + +最终的UI看起来如下: + +![bookstore-books-table-actions](./images/bookstore-edit-button-2.png) + +## 删除书籍 + +打开 `Pages/book/index.js` 文件,在 `rowAction` `items` 下新增一项: + +````js { - var exception = await Assert.ThrowsAsync(async () => - { - await _bookAppService.CreateAsync( - new CreateUpdateBookDto - { - Name = "", - Price = 10, - PublishDate = DateTime.Now, - Type = BookType.ScienceFiction - } - ); - }); - - exception.ValidationErrors - .ShouldContain(err => err.MemberNames.Any(mem => mem == "Name")); + text: l('Delete'), + confirmMessage: function (data) { + return l('BookDeletionConfirmationMessage', data.record.name); + }, + action: function (data) { + acme.bookStore.books.book + .delete(data.record.id) + .then(function() { + abp.notify.info(l('SuccessfullyDeleted')); + dataTable.ajax.reload(); + }); + } } ```` -* 由于 `Name` 是空值, ABP 抛出一个 `AbpValidationException` 异常. +* `confirmMessage` 用来在实际执行 `action` 之前向用户进行确认. +* 通过javascript代理方法 `acme.bookStore.books.book.delete(...)` 执行一个AJAX请求来删除一个book实体. +* `abp.notify.info` 用来在执行删除操作后显示一个toastr通知信息. + +由于我们使用了两个新的本地化文本(`BookDeletionConfirmationMessage`和`SuccesslyDeleted`),因此你需要将它们添加到本地化文件(`Acme.BookStore.Domain.Shared`项目的`Localization/BookStore`文件夹下的`en.json`): + +````json +"BookDeletionConfirmationMessage": "Are you sure to delete the book '{0}'?", +"SuccessfullyDeleted": "Successfully deleted!" +```` + +`Index.js` 的内容最终如下所示: + +````js +$(function () { + var l = abp.localization.getResource('BookStore'); + var createModal = new abp.ModalManager(abp.appPath + 'Books/CreateModal'); + var editModal = new abp.ModalManager(abp.appPath + 'Books/EditModal'); + + var dataTable = $('#BooksTable').DataTable( + abp.libs.datatables.normalizeConfiguration({ + serverSide: true, + paging: true, + order: [[1, "asc"]], + searching: false, + scrollX: true, + ajax: abp.libs.datatables.createAjax(acme.bookStore.books.book.getList), + columnDefs: [ + { + title: l('Actions'), + rowAction: { + items: + [ + { + text: l('Edit'), + action: function (data) { + editModal.open({ id: data.record.id }); + } + }, + { + text: l('Delete'), + confirmMessage: function (data) { + return l( + 'BookDeletionConfirmationMessage', + data.record.name + ); + }, + action: function (data) { + acme.bookStore.books.book + .delete(data.record.id) + .then(function() { + abp.notify.info( + l('SuccessfullyDeleted') + ); + dataTable.ajax.reload(); + }); + } + } + ] + } + }, + { + title: l('Name'), + data: "name" + }, + { + title: l('Type'), + data: "type", + render: function (data) { + return l('Enum:BookType:' + data); + } + }, + { + title: l('PublishDate'), + data: "publishDate", + render: function (data) { + return luxon + .DateTime + .fromISO(data, { + locale: abp.localization.currentCulture.name + }).toLocaleString(); + } + }, + { + title: l('Price'), + data: "price" + }, + { + title: l('CreationTime'), data: "creationTime", + render: function (data) { + return luxon + .DateTime + .fromISO(data, { + locale: abp.localization.currentCulture.name + }).toLocaleString(luxon.DateTime.DATETIME_SHORT); + } + } + ] + }) + ); + + createModal.onResult(function () { + dataTable.ajax.reload(); + }); + + editModal.onResult(function () { + dataTable.ajax.reload(); + }); + + $('#NewBookButton').click(function (e) { + e.preventDefault(); + createModal.open(); + }); +}); +```` + +你可以运行程序并尝试删除一本书. + +{{end}} + +{{if UI == "NG"}} + +## 创建新书籍 + +下面的章节中,你将学习到如何创建一个新的模态对话框来新增书籍. + +### BookComponent + +打开 `/src/app/book/book.component.ts` 使用以下内容替换: + +```js +import { ListService, PagedResultDto } from '@abp/ng.core'; +import { Component, OnInit } from '@angular/core'; +import { BookDto } from './models'; +import { BookService } from './services'; + +@Component({ + selector: 'app-book', + templateUrl: './book.component.html', + styleUrls: ['./book.component.scss'], + providers: [ListService], +}) +export class BookComponent implements OnInit { + book = { items: [], totalCount: 0 } as PagedResultDto; + + isModalOpen = false; // add this line + + constructor(public readonly list: ListService, private bookService: BookService) {} + + ngOnInit() { + const bookStreamCreator = (query) => this.bookService.getListByInput(query); + + this.list.hookToQuery(bookStreamCreator).subscribe((response) => { + this.book = response; + }); + } + + // add new method + createBook() { + this.isModalOpen = true; + } +} +``` + +* 我们定义了一个名为 `isModalOpen` 的变量和 `createBook` 方法. + +打开 `/src/app/book/book.component.html` 做以下更改: + +```html +
+
+
+
+
{%{{{ '::Menu:Books' | abpLocalization }}}%}
+
+
+ + +
+ +
+ +
+
+
+
+ +
+
+ + + + +

{%{{{ '::NewBook' | abpLocalization }}}%}

+
+ + + + + + +
+``` + +* 添加了 `New book` 按钮到卡片头部. +* 添加了 `abp-modal` 渲染模态框,允许用户创建新书. `abp-modal` 是显示模态框的预构建组件. 你也可以使用其它方法显示模态框,但 `abp-modal` 提供了一些附加的好处. + +你可以打开浏览器,点击**New book**按钮看到模态框. + +![Empty modal for new book](./images/bookstore-empty-new-book-modal.png) + +### 添加响应式表单 + +[响应式表单](https://angular.io/guide/reactive-forms) 提供一种模型驱动的方法来处理其值随时间变化的表单输入. + +打开 `/src/app/book/book.component.ts` 使用以下内容替换: + +```js +import { ListService, PagedResultDto } from '@abp/ng.core'; +import { Component, OnInit } from '@angular/core'; +import { BookDto, BookType } from './models'; // add BookType +import { BookService } from './services'; +import { FormGroup, FormBuilder, Validators } from '@angular/forms'; // add this + +@Component({ + selector: 'app-book', + templateUrl: './book.component.html', + styleUrls: ['./book.component.scss'], + providers: [ListService], +}) +export class BookComponent implements OnInit { + book = { items: [], totalCount: 0 } as PagedResultDto; + + form: FormGroup; // add this line + + bookType = BookType; // add this line + + // add bookTypes as a list of BookType enum members + bookTypes = Object.keys(this.bookType).filter( + (key) => typeof this.bookType[key] === 'number' + ); + + isModalOpen = false; + + constructor( + public readonly list: ListService, + private bookService: BookService, + private fb: FormBuilder // inject FormBuilder + ) {} + + ngOnInit() { + const bookStreamCreator = (query) => this.bookService.getListByInput(query); + + this.list.hookToQuery(bookStreamCreator).subscribe((response) => { + this.book = response; + }); + } + + createBook() { + this.buildForm(); // add this line + this.isModalOpen = true; + } + + // add buildForm method + buildForm() { + this.form = this.fb.group({ + name: ['', Validators.required], + type: [null, Validators.required], + publishDate: [null, Validators.required], + price: [null, Validators.required], + }); + } + + // add save method + save() { + if (this.form.invalid) { + return; + } + + this.bookService.createByInput(this.form.value).subscribe(() => { + this.isModalOpen = false; + this.form.reset(); + this.list.get(); + }); + } +} +``` + +* 导入了 `FormGroup, FormBuilder and Validators`. +* 添加了 `form: FormGroup` 变量. +* 添加了 `bookType` 属性,你可以从模板中获取 `BookType` 枚举成员. +* 添加了 `bookTypes` 属性作为 `BookType` 枚举成员列表. 将在表单选项中使用. +* 我们注入了 `fb: FormBuilder` 服务到构造函数. [FormBuilder](https://angular.io/api/forms/FormBuilder) 服务为生成控件提供了方便的方法. 它减少了构建复杂表单所需的样板文件的数量. +* 我们添加了 `buildForm` 方法到文件末尾, 在 `createBook` 方法调用 `buildForm()` 方法. 该方法创建一个响应式表单去创建新书. +* 添加了`save` 方法. + +打开 `/src/app/book/book.component.html`,使用以下内容替换 ` `: + +```html + + +
+ * + +
+ +
+ * + +
+ +
+ * + +
+ +
+ * + +
+ +
+``` + +同时使用下面的代码部分替换 ` `: + +````html + + + + + + +```` + +### Datepicker + +我们在这个组件中使用了[NgBootstrap datepicker](https://ng-bootstrap.github.io/#/components/datepicker/overview). 因此需要添加与此组件相关的依赖项. + +打开 `/src/app/book/book.module.ts` 使用以下内容替换: + +```js +import { NgModule } from '@angular/core'; +import { SharedModule } from '../shared/shared.module'; +import { BookRoutingModule } from './book-routing.module'; +import { BookComponent } from './book.component'; +import { NgbDatepickerModule } from '@ng-bootstrap/ng-bootstrap'; // add this line + +@NgModule({ + declarations: [BookComponent], + imports: [ + BookRoutingModule, + SharedModule, + NgbDatepickerModule, // add this line + ] +}) +export class BookModule { } +``` + +* 我们导入了 `NgbDatepickerModule` 来使用日期选择器. + +打开 `/src/app/book/book.component.ts` 使用以内内容替换: + +```js +import { ListService, PagedResultDto } from '@abp/ng.core'; +import { Component, OnInit } from '@angular/core'; +import { BookDto, BookType } from './models'; +import { BookService } from './services'; +import { FormGroup, FormBuilder, Validators } from '@angular/forms'; + +// added this line +import { NgbDateNativeAdapter, NgbDateAdapter } from '@ng-bootstrap/ng-bootstrap'; + +@Component({ + selector: 'app-book', + templateUrl: './book.component.html', + styleUrls: ['./book.component.scss'], + providers: [ + ListService, + { provide: NgbDateAdapter, useClass: NgbDateNativeAdapter } // add this line + ], +}) +export class BookComponent implements OnInit { + book = { items: [], totalCount: 0 } as PagedResultDto; + + form: FormGroup; + + bookType = BookType; + + bookTypes = Object.keys(this.bookType).filter( + (key) => typeof this.bookType[key] === 'number' + ); + + isModalOpen = false; + + constructor( + public readonly list: ListService, + private bookService: BookService, + private fb: FormBuilder + ) {} + + ngOnInit() { + const bookStreamCreator = (query) => this.bookService.getListByInput(query); + + this.list.hookToQuery(bookStreamCreator).subscribe((response) => { + this.book = response; + }); + } + + createBook() { + this.buildForm(); + this.isModalOpen = true; + } + + buildForm() { + this.form = this.fb.group({ + name: ['', Validators.required], + type: [null, Validators.required], + publishDate: [null, Validators.required], + price: [null, Validators.required], + }); + } + + save() { + if (this.form.invalid) { + return; + } + + this.bookService.createByInput(this.form.value).subscribe(() => { + this.isModalOpen = false; + this.form.reset(); + this.list.get(); + }); + } +} +``` + +* 导入了 `NgbDateNativeAdapter` 和 `NgbDateAdapter`. +* 我们添加了一个新的 `NgbDateAdapter` 提供程序,它将Datepicker值转换为 `Date` 类型. 有关更多详细信息,请参见[datepicker adapters](https://ng-bootstrap.github.io/#/components/datepicker/overview). + +现在你可以打开浏览器看到以下变化: + +![Save button to the modal](./images/bookstore-new-book-form-v2.png) + +## 更新书籍 + +打开 `/src/app/book/book.component.ts` 使用以下内容替换: + +```js +import { ListService, PagedResultDto } from '@abp/ng.core'; +import { Component, OnInit } from '@angular/core'; +import { BookDto, BookType, CreateUpdateBookDto } from './models'; +import { BookService } from './services'; +import { FormGroup, FormBuilder, Validators } from '@angular/forms'; +import { NgbDateNativeAdapter, NgbDateAdapter } from '@ng-bootstrap/ng-bootstrap'; + +@Component({ + selector: 'app-book', + templateUrl: './book.component.html', + styleUrls: ['./book.component.scss'], + providers: [ListService, { provide: NgbDateAdapter, useClass: NgbDateNativeAdapter }], +}) +export class BookComponent implements OnInit { + book = { items: [], totalCount: 0 } as PagedResultDto; + + selectedBook = new BookDto(); // declare selectedBook + + form: FormGroup; + + bookType = BookType; + + bookTypes = Object.keys(this.bookType).filter( + (key) => typeof this.bookType[key] === 'number' + ); + + isModalOpen = false; + + constructor( + public readonly list: ListService, + private bookService: BookService, + private fb: FormBuilder + ) {} + + ngOnInit() { + const bookStreamCreator = (query) => this.bookService.getListByInput(query); + + this.list.hookToQuery(bookStreamCreator).subscribe((response) => { + this.book = response; + }); + } + + createBook() { + this.selectedBook = new BookDto(); // reset the selected book + this.buildForm(); + this.isModalOpen = true; + } + + // Add editBook method + editBook(id: string) { + this.bookService.getById(id).subscribe((book) => { + this.selectedBook = book; + this.buildForm(); + this.isModalOpen = true; + }); + } + + buildForm() { + this.form = this.fb.group({ + name: [this.selectedBook.name || '', Validators.required], + type: [this.selectedBook.type || null, Validators.required], + publishDate: [ + this.selectedBook.publishDate ? new Date(this.selectedBook.publishDate) : null, + Validators.required, + ], + price: [this.selectedBook.price || null, Validators.required], + }); + } + + // change the save method + save() { + if (this.form.invalid) { + return; + } + + const request = this.selectedBook.id + ? this.bookService.updateByIdAndInput(this.form.value, this.selectedBook.id) + : this.bookService.createByInput(this.form.value); + + request.subscribe(() => { + this.isModalOpen = false; + this.form.reset(); + this.list.get(); + }); + } +} +``` + +* 我们声明了类型为 `BookDto` 的 `selectedBook` 变量. +* 我们添加了 `editBook` 方法, 根据给定图书 `Id` 设置 `selectedBook` 对象. +* 我们替换了 `buildForm` 方法使用 `selectedBook` 数据创建表单. +* 我们替换了 `createBook` 方法,设置 `selectedBook` 为空对象. +* 我们替换了 `save` 方法. + +### 添加 "Actions" 下拉框到表格 + +打开 `/src/app/book/book.component.html` 在 `ngx-datatable` 第一列添加 `ngx-datatable-column` 定义: + +```html + + +
+ +
+ +
+
+
+
+``` + +在表格的第一列添加了一个 "Actions" 下拉菜单,如下图所示: + +![Action buttons](./images/bookstore-actions-buttons.png) + +同时如下所示更改 `ng-template #abpHeader` 部分: + +```html + +

{%{{{ (selectedBook.id ? '::Edit' : '::NewBook' ) | abpLocalization }}}%}

+
+``` + +模板将在标题中显示 **Edit** 文本用于编辑记录操作, **New Book** 用于添加新记录操作. + +## 删除书籍 + +打开 `/src/app/book/book.component.ts` 注入 `ConfirmationService`. + +所示替换构造函数: + +```js +// ... + +// add new imports +import { ConfirmationService, Confirmation } from '@abp/ng.theme.shared'; + +//change the constructor +constructor( + public readonly list: ListService, + private bookService: BookService, + private fb: FormBuilder, + private confirmation: ConfirmationService // inject the ConfirmationService +) {} + +// Add a delete method +delete(id: string) { + this.confirmation.warn('::AreYouSureToDelete', '::AreYouSure').subscribe((status) => { + if (status === Confirmation.Status.confirm) { + this.bookService.deleteById(id).subscribe(() => this.list.get()); + } + }); +} +``` + +* 我们注入了 `ConfirmationService`. +* 我们注入了 `ConfirmationService` 到构造函数. +* 添加了 `delete` 方法. + +> 参阅[确认弹层文档](../UI/Angular/Confirmation-Service)了解该服务的更多信息. + +### 添加删除按钮: + +打开 `/src/app/book/book.component.html` 修改 `ngbDropdownMenu` 添加删除按钮: + +```html +
+ + +
+``` + +最终操作下拉框UI看起来如下: + +![bookstore-final-actions-dropdown](./images/bookstore-final-actions-dropdown.png) + +点击 `delete` 动作调用 `delete` 方法,然后无法显示一个确认弹层如下图所示. + +![bookstore-confirmation-popup](./images/bookstore-confirmation-popup.png) -打开**测试资源管理器**(测试 -> Windows -> 测试资源管理器)并**执行**所有测试: +{{end}} -![bookstore-appservice-tests](./images/bookstore-appservice-tests.png) +## 下一章 -恭喜, 绿色图标表示测试已成功通过! +查看本教程的[下一章](Part-4.md). diff --git a/docs/zh-Hans/Tutorials/Part-4.md b/docs/zh-Hans/Tutorials/Part-4.md new file mode 100644 index 0000000000..151c7aab90 --- /dev/null +++ b/docs/zh-Hans/Tutorials/Part-4.md @@ -0,0 +1,255 @@ +# Web应用程序开发教程 - 第三章: 集成测试 +````json +//[doc-params] +{ + "UI": ["MVC","NG"], + "DB": ["EF","Mongo"] +} +```` +{{ +if UI == "MVC" + UI_Text="mvc" +else if UI == "NG" + UI_Text="angular" +else + UI_Text="?" +end +if DB == "EF" + DB_Text="Entity Framework Core" +else if DB == "Mongo" + DB_Text="MongoDB" +else + DB_Text="?" +end +}} + +## 关于本教程 + +在本系列教程中, 你将构建一个名为 `Acme.BookStore` 的用于管理书籍及其作者列表的基于ABP的应用程序. 它是使用以下技术开发的: + +* **{{DB_Text}}** 做为ORM提供程序. +* **{{UI_Value}}** 做为UI框架. + +本教程分为以下部分: + +- [Part 1: 创建服务端](Part-1.md) +- [Part 2: 图书列表页面](Part-2.md) +- [Part 3: 创建,更新和删除图书](Part-3.md) +- **Part 4: 集成测试**(本章) +- [Part 5: 授权](Part-5.md) +- [Part 6: 作者: 领域层](Part-6.md) +- [Part 7: 作者: 数据库集成](Part-7.md) +- [Part 8: 作者: 应用服务层](Part-8.md) +- [Part 9: 作者: 用户页面](Part-9.md) +- [Part 10: 图书到作者的关系](Part-10.md) + +## 下载源码 + +本教程根据你的**UI** 和 **Database**偏好有多个版,我们准备了两种可供下载的源码组合: + +* [MVC (Razor Pages) UI 与 EF Core](https://github.com/abpframework/abp-samples/tree/master/BookStore-Mvc-EfCore) +* [Angular UI 与 MongoDB](https://github.com/abpframework/abp-samples/tree/master/BookStore-Angular-MongoDb) + +## 解决方案中的测试项目 + +这一部分涵盖了 **服务器端** 测试. 解决方案中有多个测试项目: + +![bookstore-test-projects-v2](./images/bookstore-test-projects-{{UI_Text}}.png) + +每个项目用于测试相关的应用程序项目.测试项目使用以下库进行测试: + +* [xunit](https://xunit.github.io/) 作为主测试框架. +* [Shoudly](http://shouldly.readthedocs.io/en/latest/) 作为断言库. +* [NSubstitute](http://nsubstitute.github.io/) 作为模拟库. + +{{if DB=="EF"}} + +> 测试项目配置为使用 **SQLite内存** 作为数据库. 创建一个单独的数据库实例并使用数据种子系统进行初始化种子数据,为每个测试准备一个新的数据库. + +{{else if DB=="Mongo"}} + +> **[Mongo2Go](https://github.com/Mongo2Go/Mongo2Go)**库用于模拟MongoDB数据库. 创建一个单独的数据库实例并使用数据种子系统进行初始化种子数据,为每个测试准备一个新的数据库. + +{{end}} + +## 添加测试数据 + +如果你已经按照[第一部分](Part-1.md)中的描述创建了数据种子贡献者,则相同的数据也在测试中可用. 因此你可以跳过此部分. 如果你尚未创建种子贡献者,可以使用 `BookStoreTestDataSeedContributor` 来为要在以下测试中使用的相同数据提供种子. + +## 测试 BookAppService + +在 `Acme.BookStore.Application.Tests` 项目中创建一个名叫 `BookAppService_Tests` 的测试类: + +````csharp +using System.Threading.Tasks; +using Shouldly; +using Volo.Abp.Application.Dtos; +using Xunit; + +namespace Acme.BookStore.Books +{ {{if DB=="Mongo"}} + [Collection(BookStoreTestConsts.CollectionDefinitionName)]{{end}} + public class BookAppService_Tests : BookStoreApplicationTestBase + { + private readonly IBookAppService _bookAppService; + + public BookAppService_Tests() + { + _bookAppService = GetRequiredService(); + } + + [Fact] + public async Task Should_Get_List_Of_Books() + { + //Act + var result = await _bookAppService.GetListAsync( + new PagedAndSortedResultRequestDto() + ); + + //Assert + result.TotalCount.ShouldBeGreaterThan(0); + result.Items.ShouldContain(b => b.Name == "1984"); + } + } +} +```` + +* 测试方法 `Should_Get_List_Of_Books` 直接使用 `BookAppService.GetListAsync` 方法来获取用户列表,并执行检查. +* 我们可以安全地检查 "1984" 这本书的名称,因为我们知道这本书可以在数据库中找到,我们已将其添加到种子数据中. + +新增测试方法,用以测试创建一个**合法**book实体的场景: + +````csharp +[Fact] +public async Task Should_Create_A_Valid_Book() +{ + //Act + var result = await _bookAppService.CreateAsync( + new CreateUpdateBookDto + { + Name = "New test book 42", + Price = 10, + PublishDate = System.DateTime.Now, + Type = BookType.ScienceFiction + } + ); + + //Assert + result.Id.ShouldNotBe(Guid.Empty); + result.Name.ShouldBe("New test book 42"); +} +```` + +新增测试方法,用以测试创建一个非法book实体失败的场景: + +````csharp +[Fact] +public async Task Should_Not_Create_A_Book_Without_Name() +{ + var exception = await Assert.ThrowsAsync(async () => + { + await _bookAppService.CreateAsync( + new CreateUpdateBookDto + { + Name = "", + Price = 10, + PublishDate = DateTime.Now, + Type = BookType.ScienceFiction + } + ); + }); + + exception.ValidationErrors + .ShouldContain(err => err.MemberNames.Any(mem => mem == "Name")); +} +```` + +* 由于 `Name` 是空值, ABP 抛出一个 `AbpValidationException` 异常. + +最终的测试类如下所示: + +````csharp +using System; +using System.Linq; +using System.Threading.Tasks; +using Shouldly; +using Volo.Abp.Application.Dtos; +using Volo.Abp.Validation; +using Xunit; + +namespace Acme.BookStore.Books +{ {{if DB=="Mongo"}} + [Collection(BookStoreTestConsts.CollectionDefinitionName)]{{end}} + public class BookAppService_Tests : BookStoreApplicationTestBase + { + private readonly IBookAppService _bookAppService; + + public BookAppService_Tests() + { + _bookAppService = GetRequiredService(); + } + + [Fact] + public async Task Should_Get_List_Of_Books() + { + //Act + var result = await _bookAppService.GetListAsync( + new PagedAndSortedResultRequestDto() + ); + + //Assert + result.TotalCount.ShouldBeGreaterThan(0); + result.Items.ShouldContain(b => b.Name == "1984"); + } + + [Fact] + public async Task Should_Create_A_Valid_Book() + { + //Act + var result = await _bookAppService.CreateAsync( + new CreateUpdateBookDto + { + Name = "New test book 42", + Price = 10, + PublishDate = System.DateTime.Now, + Type = BookType.ScienceFiction + } + ); + + //Assert + result.Id.ShouldNotBe(Guid.Empty); + result.Name.ShouldBe("New test book 42"); + } + + [Fact] + public async Task Should_Not_Create_A_Book_Without_Name() + { + var exception = await Assert.ThrowsAsync(async () => + { + await _bookAppService.CreateAsync( + new CreateUpdateBookDto + { + Name = "", + Price = 10, + PublishDate = DateTime.Now, + Type = BookType.ScienceFiction + } + ); + }); + + exception.ValidationErrors + .ShouldContain(err => err.MemberNames.Any(mem => mem == "Name")); + } + } +} +```` + +打开**测试资源管理器**(测试 -> Windows -> 测试资源管理器)并**执行**所有测试: + +![bookstore-appservice-tests](./images/bookstore-appservice-tests.png) + +恭喜你, **绿色图标**表示测试已成功通过! + +## 下一章 + +查看本教程的[下一章](Part-5.md). \ No newline at end of file diff --git a/docs/zh-Hans/Tutorials/Part-5.md b/docs/zh-Hans/Tutorials/Part-5.md new file mode 100644 index 0000000000..602306c484 --- /dev/null +++ b/docs/zh-Hans/Tutorials/Part-5.md @@ -0,0 +1 @@ +TODO.. \ No newline at end of file diff --git a/docs/zh-Hans/Tutorials/Part-6.md b/docs/zh-Hans/Tutorials/Part-6.md new file mode 100644 index 0000000000..602306c484 --- /dev/null +++ b/docs/zh-Hans/Tutorials/Part-6.md @@ -0,0 +1 @@ +TODO.. \ No newline at end of file diff --git a/docs/zh-Hans/Tutorials/Part-7.md b/docs/zh-Hans/Tutorials/Part-7.md new file mode 100644 index 0000000000..602306c484 --- /dev/null +++ b/docs/zh-Hans/Tutorials/Part-7.md @@ -0,0 +1 @@ +TODO.. \ No newline at end of file diff --git a/docs/zh-Hans/Tutorials/Part-8.md b/docs/zh-Hans/Tutorials/Part-8.md new file mode 100644 index 0000000000..602306c484 --- /dev/null +++ b/docs/zh-Hans/Tutorials/Part-8.md @@ -0,0 +1 @@ +TODO.. \ No newline at end of file diff --git a/docs/zh-Hans/Tutorials/Part-9.md b/docs/zh-Hans/Tutorials/Part-9.md new file mode 100644 index 0000000000..602306c484 --- /dev/null +++ b/docs/zh-Hans/Tutorials/Part-9.md @@ -0,0 +1 @@ +TODO.. \ No newline at end of file From df4200932dbfeff740a2e2480721e9771d12fd89 Mon Sep 17 00:00:00 2001 From: maliming <6908465+maliming@users.noreply.github.com> Date: Mon, 3 Aug 2020 12:52:29 +0800 Subject: [PATCH 42/43] Handle multi-tenant in DatabaseBlobProvider. Resolve #4943 --- .../Abp/BlobStoring/BlobContainer_Tests.cs | 58 +++++++++++++++---- .../Database/DatabaseBlobProvider.cs | 12 ++-- .../EfCoreDatabaseBlobContainer_Tests.cs | 7 +++ .../MongoDbDatabaseBlobContainer_Tests.cs | 10 ++++ .../DatabaseBlobContainer_Tests.cs | 10 ++++ 5 files changed, 83 insertions(+), 14 deletions(-) create mode 100644 modules/blob-storing-database/test/Volo.Abp.BlobStoring.Database.EntityFrameworkCore.Tests/EntityFrameworkCore/EfCoreDatabaseBlobContainer_Tests.cs create mode 100644 modules/blob-storing-database/test/Volo.Abp.BlobStoring.Database.MongoDB.Tests/MongoDB/MongoDbDatabaseBlobContainer_Tests.cs create mode 100644 modules/blob-storing-database/test/Volo.Abp.BlobStoring.Database.TestBase/DatabaseBlobContainer_Tests.cs diff --git a/framework/test/Volo.Abp.BlobStoring.Tests/Volo/Abp/BlobStoring/BlobContainer_Tests.cs b/framework/test/Volo.Abp.BlobStoring.Tests/Volo/Abp/BlobStoring/BlobContainer_Tests.cs index 091c1b7c95..a965f2852b 100644 --- a/framework/test/Volo.Abp.BlobStoring.Tests/Volo/Abp/BlobStoring/BlobContainer_Tests.cs +++ b/framework/test/Volo.Abp.BlobStoring.Tests/Volo/Abp/BlobStoring/BlobContainer_Tests.cs @@ -3,7 +3,9 @@ using System.Linq; using System.Threading.Tasks; using Shouldly; using Volo.Abp.BlobStoring.TestObjects; +using Volo.Abp.Clients; using Volo.Abp.Modularity; +using Volo.Abp.MultiTenancy; using Volo.Abp.Testing; using Xunit; @@ -14,11 +16,14 @@ namespace Volo.Abp.BlobStoring { protected IBlobContainer Container { get; } + protected ICurrentTenant CurrentTenant { get; } + protected BlobContainer_Tests() { Container = GetRequiredService>(); + CurrentTenant = GetRequiredService(); } - + protected override void SetAbpApplicationCreationOptions(AbpApplicationCreationOptions options) { options.UseAutofac(); @@ -37,35 +42,68 @@ namespace Volo.Abp.BlobStoring result.SequenceEqual(testContent).ShouldBeTrue(); } + [Fact] + public async Task Should_Save_And_Get_Blobs_In_Different_Tenant() + { + var blobName = "test-blob-1"; + var testContent = "test content".GetBytes(); + + using (CurrentTenant.Change(Guid.NewGuid())) + { + await Container.SaveAsync(blobName, testContent); + (await Container.GetAllBytesAsync(blobName)).SequenceEqual(testContent).ShouldBeTrue(); + } + + using (CurrentTenant.Change(Guid.NewGuid())) + { + await Container.SaveAsync(blobName, testContent); + (await Container.GetAllBytesAsync(blobName)).SequenceEqual(testContent).ShouldBeTrue(); + + using (CurrentTenant.Change(null)) + { + // Could not found the requested BLOB... + await Assert.ThrowsAsync(async () => + await Container.GetAllBytesAsync(blobName) + ); + } + } + + using (CurrentTenant.Change(null)) + { + await Container.SaveAsync(blobName, testContent); + (await Container.GetAllBytesAsync(blobName)).SequenceEqual(testContent).ShouldBeTrue(); + } + } + [Fact] public async Task Should_Overwrite_Pre_Saved_Blob_If_Requested() { var blobName = "test-blob-1"; - + var testContent = "test content".GetBytes(); await Container.SaveAsync(blobName, testContent); - + var testContentOverwritten = "test content overwritten".GetBytes(); await Container.SaveAsync(blobName, testContentOverwritten, true); - + var result = await Container.GetAllBytesAsync(blobName); result.SequenceEqual(testContentOverwritten).ShouldBeTrue(); } - + [Fact] public async Task Should_Not_Allow_To_Overwrite_Pre_Saved_Blob_By_Default() { var blobName = "test-blob-1"; - + var testContent = "test content".GetBytes(); await Container.SaveAsync(blobName, testContent); - + var testContentOverwritten = "test content overwritten".GetBytes(); await Assert.ThrowsAsync(() => Container.SaveAsync(blobName, testContentOverwritten) ); } - + [Theory] [InlineData("test-blob-1")] [InlineData("test-blob-1.txt")] @@ -91,7 +129,7 @@ namespace Volo.Abp.BlobStoring await Container.DeleteAsync(blobName); (await Container.ExistsAsync(blobName)).ShouldBeFalse(); } - + [Theory] [InlineData("test-blob-1")] [InlineData("test-blob-1.txt")] @@ -102,4 +140,4 @@ namespace Volo.Abp.BlobStoring (await Container.ExistsAsync(blobName)).ShouldBeFalse(); } } -} \ No newline at end of file +} diff --git a/modules/blob-storing-database/src/Volo.Abp.BlobStoring.Database.Domain/Volo/Abp/BlobStoring/Database/DatabaseBlobProvider.cs b/modules/blob-storing-database/src/Volo.Abp.BlobStoring.Database.Domain/Volo/Abp/BlobStoring/Database/DatabaseBlobProvider.cs index fbccdb067e..7fec4592c6 100644 --- a/modules/blob-storing-database/src/Volo.Abp.BlobStoring.Database.Domain/Volo/Abp/BlobStoring/Database/DatabaseBlobProvider.cs +++ b/modules/blob-storing-database/src/Volo.Abp.BlobStoring.Database.Domain/Volo/Abp/BlobStoring/Database/DatabaseBlobProvider.cs @@ -3,6 +3,7 @@ using System.Threading; using System.Threading.Tasks; using Volo.Abp.DependencyInjection; using Volo.Abp.Guids; +using Volo.Abp.MultiTenancy; namespace Volo.Abp.BlobStoring.Database { @@ -11,15 +12,18 @@ namespace Volo.Abp.BlobStoring.Database protected IDatabaseBlobRepository DatabaseBlobRepository { get; } protected IDatabaseBlobContainerRepository DatabaseBlobContainerRepository { get; } protected IGuidGenerator GuidGenerator { get; } + protected ICurrentTenant CurrentTenant { get; } public DatabaseBlobProvider( IDatabaseBlobRepository databaseBlobRepository, IDatabaseBlobContainerRepository databaseBlobContainerRepository, - IGuidGenerator guidGenerator) + IGuidGenerator guidGenerator, + ICurrentTenant currentTenant) { DatabaseBlobRepository = databaseBlobRepository; DatabaseBlobContainerRepository = databaseBlobContainerRepository; GuidGenerator = guidGenerator; + CurrentTenant = currentTenant; } public override async Task SaveAsync(BlobProviderSaveArgs args) @@ -48,7 +52,7 @@ namespace Volo.Abp.BlobStoring.Database } else { - blob = new DatabaseBlob(GuidGenerator.Create(), container.Id, args.BlobName, content); + blob = new DatabaseBlob(GuidGenerator.Create(), container.Id, args.BlobName, content, CurrentTenant.Id); await DatabaseBlobRepository.InsertAsync(blob, autoSave: true); } } @@ -128,10 +132,10 @@ namespace Volo.Abp.BlobStoring.Database return container; } - container = new DatabaseBlobContainer(GuidGenerator.Create(), name); + container = new DatabaseBlobContainer(GuidGenerator.Create(), name, CurrentTenant.Id); await DatabaseBlobContainerRepository.InsertAsync(container, cancellationToken: cancellationToken); return container; } } -} \ No newline at end of file +} diff --git a/modules/blob-storing-database/test/Volo.Abp.BlobStoring.Database.EntityFrameworkCore.Tests/EntityFrameworkCore/EfCoreDatabaseBlobContainer_Tests.cs b/modules/blob-storing-database/test/Volo.Abp.BlobStoring.Database.EntityFrameworkCore.Tests/EntityFrameworkCore/EfCoreDatabaseBlobContainer_Tests.cs new file mode 100644 index 0000000000..094217f9e6 --- /dev/null +++ b/modules/blob-storing-database/test/Volo.Abp.BlobStoring.Database.EntityFrameworkCore.Tests/EntityFrameworkCore/EfCoreDatabaseBlobContainer_Tests.cs @@ -0,0 +1,7 @@ +namespace Volo.Abp.BlobStoring.Database.EntityFrameworkCore +{ + public class EfCoreDatabaseBlobContainer_Tests : DatabaseBlobContainer_Tests + { + + } +} diff --git a/modules/blob-storing-database/test/Volo.Abp.BlobStoring.Database.MongoDB.Tests/MongoDB/MongoDbDatabaseBlobContainer_Tests.cs b/modules/blob-storing-database/test/Volo.Abp.BlobStoring.Database.MongoDB.Tests/MongoDB/MongoDbDatabaseBlobContainer_Tests.cs new file mode 100644 index 0000000000..4d476d5e75 --- /dev/null +++ b/modules/blob-storing-database/test/Volo.Abp.BlobStoring.Database.MongoDB.Tests/MongoDB/MongoDbDatabaseBlobContainer_Tests.cs @@ -0,0 +1,10 @@ +using Xunit; + +namespace Volo.Abp.BlobStoring.Database.MongoDB +{ + [Collection(MongoTestCollection.Name)] + public class MongoDbDatabaseBlobContainer_Tests : DatabaseBlobContainer_Tests + { + + } +} diff --git a/modules/blob-storing-database/test/Volo.Abp.BlobStoring.Database.TestBase/DatabaseBlobContainer_Tests.cs b/modules/blob-storing-database/test/Volo.Abp.BlobStoring.Database.TestBase/DatabaseBlobContainer_Tests.cs new file mode 100644 index 0000000000..542bb82113 --- /dev/null +++ b/modules/blob-storing-database/test/Volo.Abp.BlobStoring.Database.TestBase/DatabaseBlobContainer_Tests.cs @@ -0,0 +1,10 @@ +using Volo.Abp.Modularity; + +namespace Volo.Abp.BlobStoring.Database +{ + public abstract class DatabaseBlobContainer_Tests : BlobContainer_Tests + where TStartupModule : IAbpModule + { + + } +} From e7e8f5a32a5fa951ba717804b0692a1678b4a627 Mon Sep 17 00:00:00 2001 From: liangshiwei Date: Mon, 3 Aug 2020 19:10:00 +0800 Subject: [PATCH 43/43] Update the background-workers-quartz document --- docs/en/Background-Workers-Quartz.md | 3 +++ docs/zh-Hans/Background-Workers-Quartz.md | 3 +++ 2 files changed, 6 insertions(+) diff --git a/docs/en/Background-Workers-Quartz.md b/docs/en/Background-Workers-Quartz.md index 9b419d6c27..e1d8287019 100644 --- a/docs/en/Background-Workers-Quartz.md +++ b/docs/en/Background-Workers-Quartz.md @@ -36,6 +36,9 @@ public class YourModule : AbpModule } ```` +> Quartz background worker integration provided `QuartzPeriodicBackgroundWorkerAdapter` to adapt `PeriodicBackgroundWorkerBase` and `AsyncPeriodicBackgroundWorkerBase` derived class. So, you can still fllow the [background workers document](Background-Workers.md) to define the background worker. +> `BackgroundJobWorker` checks todo jobs every 5 seconds, but quartz will not block when long time jobs are executing. So,after Added Quartz background worker integration, you also need to add [Quartz Background Jobs](Background-Jobs-Quartz.md) or [Hangfire Background Jobs](Background-Jobs-Hangfire.md) to avoid duplicate execution jobs. + ## Configuration See [Configuration](Background-Jobs-Quartz#Configuration). diff --git a/docs/zh-Hans/Background-Workers-Quartz.md b/docs/zh-Hans/Background-Workers-Quartz.md index 196d0e1d07..9c4a0721e4 100644 --- a/docs/zh-Hans/Background-Workers-Quartz.md +++ b/docs/zh-Hans/Background-Workers-Quartz.md @@ -36,6 +36,9 @@ public class YourModule : AbpModule } ```` +> Quartz后台工作者集成提供了 `QuartzPeriodicBackgroundWorkerAdapter` 来适配 `PeriodicBackgroundWorkerBase` 和 `AsyncPeriodicBackgroundWorkerBase` 派生类. 所以你依然可以按照[后台工作者文档](Background-Workers.md)来定义后台作业. +> `BackgroundJobWorker` 每5秒检查待执行作业,但是长时间的作业不会阻塞quartz. 所以安装Quartz后台工作者集成后,你同时需要安装[Quartz后台作业](Background-Jobs-Quartz.md)或[Hangfire后台作业](Background-Jobs-Hangfire.md)以避免重复执行作业. + ## 配置 参阅[配置](Background-Jobs-Quartz.md#配置).

%}!cF-hL^;;a52O$dISY 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 Vr(b}Jx?F+4V`Xk{_5^t<@qa1=d{O`a literal 0 HcmV?d00001 diff --git a/docs/zh-Hans/Tutorials/images/bookstore-author-permissions.png b/docs/zh-Hans/Tutorials/images/bookstore-author-permissions.png new file mode 100644 index 0000000000000000000000000000000000000000..a20093d2c4f4f6b0862c311eea44aa74195788ae GIT binary patch literal 77873 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 LR(`5vdE-9-d+J`m literal 0 HcmV?d00001 diff --git a/docs/zh-Hans/Tutorials/images/bookstore-added-author-to-book-list.png b/docs/zh-Hans/Tutorials/images/bookstore-added-author-to-book-list.png new file mode 100644 index 0000000000000000000000000000000000000000..f318ddfd31883d52f6d109a097fd0ec28f46e29f GIT binary patch literal 80015 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�-TR3MYaXI-JY!@5;8fH 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 literal 0 HcmV?d00001 diff --git a/docs/zh-Hans/Tutorials/images/bookstore-added-authors-to-modals.png b/docs/zh-Hans/Tutorials/images/bookstore-added-authors-to-modals.png new file mode 100644 index 0000000000000000000000000000000000000000..5fe40467947f97c2ae9048073a8d40cfc58a8ba0 GIT binary patch literal 37342 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 X|9OMH;ZsH8GaRNEXlEQa{p-I0_S=Aq literal 0 HcmV?d00001 diff --git a/docs/zh-Hans/Tutorials/images/bookstore-angular-service-proxy-author.png b/docs/zh-Hans/Tutorials/images/bookstore-angular-service-proxy-author.png new file mode 100644 index 0000000000000000000000000000000000000000..ac231ef7a8c0cad46859fa03fd0dc87ae6bf1c9a GIT binary patch literal 25528 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

W76u)C0Uq(eW#MId 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%0A|x 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%0DB4diPpnh7Tg|E|$rrh!1Im5<36#++7o|kKq-W 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